--- /srv/reproducible-results/rbuild-debian/r-b-build.p6ciQyTL/b1/sketch_0.3.7-12_armhf.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.p6ciQyTL/b2/sketch_0.3.7-12_armhf.changes ├── Files │ @@ -1,4 +1,4 @@ │ │ - 5698e6c38e0c55e5686d79a711d7f37f 194940 debug optional sketch-dbgsym_0.3.7-12_armhf.deb │ - 043f307b2f3af296804baae06f81ff3a 1175764 doc optional sketch-doc_0.3.7-12_all.deb │ - 6ebb1db5c2cd40ddcc0b08b01e86795f 51548 graphics optional sketch_0.3.7-12_armhf.deb │ + 0560664b45258ed204a8c886d7b2e2e2 194948 debug optional sketch-dbgsym_0.3.7-12_armhf.deb │ + 1b861b41d9aed7f99e8ec4ae79aeaec0 1175648 doc optional sketch-doc_0.3.7-12_all.deb │ + a05ef3a6cdaae881dfc58586124f6a8c 51544 graphics optional sketch_0.3.7-12_armhf.deb ├── sketch-doc_0.3.7-12_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2020-11-07 02:36:18.000000 debian-binary │ │ --rw-r--r-- 0 0 0 4300 2020-11-07 02:36:18.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 1171272 2020-11-07 02:36:18.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 4296 2020-11-07 02:36:18.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 1171160 2020-11-07 02:36:18.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -128,12 +128,12 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2431 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex220.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2846 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex230.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3579 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex240.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2116 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex250.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2032 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex260.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 66246 2012-02-25 02:28:13.000000 ./usr/share/doc/sketch-doc/sketch/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9205 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/transparent.png │ │ │ │ --rw-r--r-- 0 root (0) root (0) 718167 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 718075 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/doc-base/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 398 2020-11-07 02:36:18.000000 ./usr/share/doc-base/sketch-doc.sketch │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/info/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 40133 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 40134 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz │ │ │ ├── ./usr/share/doc/sketch-doc/sketch.pdf.gz │ │ │ │ ├── sketch.pdf │ │ │ │ │ ├── pdftotext {} - │ │ │ │ │ │┄ error from `pdftotext {} -`: │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ Syntax Error: ExtGState 'R7' is unknown │ │ │ │ │ │┄ [ truncated after 25 lines; 3 ignored ] │ │ │ │ │ │ @@ -1,17 +1,18 @@ │ │ │ │ │ │ Sketch │ │ │ │ │ │ Simple 3D sketching │ │ │ │ │ │ -Version 0.3 (build 7), Thursday, November 07, 2024 │ │ │ │ │ │ +Version 0.3 (build 7), Friday, November 08, 2024 │ │ │ │ │ │ │ │ │ │ │ │ Gene Ressler │ │ │ │ │ │ │ │ │ │ │ │ Copyright c 2005 to 2012 Eugene K. Ressler. │ │ │ │ │ │ -This manual is for sketch, version 0.3 (build 7), Thursday, November 07, 2024, a program that converts descriptions of simple three-dimensional scenes into line drawings. This │ │ │ │ │ │ -version generates PSTricks or PGF/TikZ code suitable for use with the TEX document │ │ │ │ │ │ -processing system. │ │ │ │ │ │ +This manual is for sketch, version 0.3 (build 7), Friday, November 08, 2024, a program that │ │ │ │ │ │ +converts descriptions of simple three-dimensional scenes into line drawings. This version │ │ │ │ │ │ +generates PSTricks or PGF/TikZ code suitable for use with the TEX document processing │ │ │ │ │ │ +system. │ │ │ │ │ │ Sketch is free software. You can redistribute it and/or modify it under the terms of the │ │ │ │ │ │ GNU General Public License as published by the Free Software Foundation; either version │ │ │ │ │ │ 3, or (at your option) any later version. │ │ │ │ │ │ Sketch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; │ │ │ │ │ │ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. │ │ │ │ │ │ You should have received a copy of the GNU General Public License along with sketch; │ │ │ │ │ │ see the file COPYING.txt. If not, see http://www.gnu.org/copyleft. │ │ │ ├── ./usr/share/info/sketch.info.gz │ │ │ │ ├── sketch.info │ │ │ │ │ @@ -5,9794 +5,9794 @@ │ │ │ │ │ 00000040: 7463 682e 7465 7869 2e0a 0a43 6f70 7972 tch.texi...Copyr │ │ │ │ │ 00000050: 6967 6874 20c2 a920 3230 3035 2074 6f20 ight .. 2005 to │ │ │ │ │ 00000060: 3230 3132 2045 7567 656e 6520 4b2e 2052 2012 Eugene K. R │ │ │ │ │ 00000070: 6573 736c 6572 2e0a 0a20 2020 5468 6973 essler... This │ │ │ │ │ 00000080: 206d 616e 7561 6c20 6973 2066 6f72 20e2 manual is for . │ │ │ │ │ 00000090: 8098 736b 6574 6368 e280 992c 2076 6572 ..sketch..., ver │ │ │ │ │ 000000a0: 7369 6f6e 2030 2e33 2028 6275 696c 6420 sion 0.3 (build │ │ │ │ │ -000000b0: 3729 2c20 5468 7572 7364 6179 2c0a 4e6f 7), Thursday,.No │ │ │ │ │ -000000c0: 7665 6d62 6572 2030 372c 2032 3032 342c vember 07, 2024, │ │ │ │ │ -000000d0: 2061 2070 726f 6772 616d 2074 6861 7420 a program that │ │ │ │ │ -000000e0: 636f 6e76 6572 7473 2064 6573 6372 6970 converts descrip │ │ │ │ │ -000000f0: 7469 6f6e 7320 6f66 2073 696d 706c 650a tions of simple. │ │ │ │ │ -00000100: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona │ │ │ │ │ -00000110: 6c20 7363 656e 6573 2069 6e74 6f20 6c69 l scenes into li │ │ │ │ │ -00000120: 6e65 2064 7261 7769 6e67 732e 2020 5468 ne drawings. Th │ │ │ │ │ -00000130: 6973 2076 6572 7369 6f6e 2067 656e 6572 is version gener │ │ │ │ │ -00000140: 6174 6573 0ae2 8098 5053 5472 6963 6b73 ates....PSTricks │ │ │ │ │ -00000150: e280 9920 6f72 20e2 8098 5047 462f 5469 ... or ...PGF/Ti │ │ │ │ │ -00000160: 6b5a e280 9920 636f 6465 2073 7569 7461 kZ... code suita │ │ │ │ │ -00000170: 626c 6520 666f 7220 7573 6520 7769 7468 ble for use with │ │ │ │ │ -00000180: 2074 6865 2054 6558 2064 6f63 756d 656e the TeX documen │ │ │ │ │ -00000190: 740a 7072 6f63 6573 7369 6e67 2073 7973 t.processing sys │ │ │ │ │ -000001a0: 7465 6d2e 0a0a 2020 20e2 8098 536b 6574 tem... ...Sket │ │ │ │ │ -000001b0: 6368 e280 9920 6973 2066 7265 6520 736f ch... is free so │ │ │ │ │ -000001c0: 6674 7761 7265 2e20 2059 6f75 2063 616e ftware. You can │ │ │ │ │ -000001d0: 2072 6564 6973 7472 6962 7574 6520 6974 redistribute it │ │ │ │ │ -000001e0: 2061 6e64 2f6f 7220 6d6f 6469 6679 2069 and/or modify i │ │ │ │ │ -000001f0: 740a 756e 6465 7220 7468 6520 7465 726d t.under the term │ │ │ │ │ -00000200: 7320 6f66 2074 6865 2047 4e55 2047 656e s of the GNU Gen │ │ │ │ │ -00000210: 6572 616c 2050 7562 6c69 6320 4c69 6365 eral Public Lice │ │ │ │ │ -00000220: 6e73 6520 6173 2070 7562 6c69 7368 6564 nse as published │ │ │ │ │ -00000230: 2062 7920 7468 650a 4672 6565 2053 6f66 by the.Free Sof │ │ │ │ │ -00000240: 7477 6172 6520 466f 756e 6461 7469 6f6e tware Foundation │ │ │ │ │ -00000250: 3b20 6569 7468 6572 2076 6572 7369 6f6e ; either version │ │ │ │ │ -00000260: 2033 2c20 6f72 2028 6174 2079 6f75 7220 3, or (at your │ │ │ │ │ -00000270: 6f70 7469 6f6e 2920 616e 790a 6c61 7465 option) any.late │ │ │ │ │ -00000280: 7220 7665 7273 696f 6e2e 0a0a 2020 2053 r version... S │ │ │ │ │ -00000290: 6b65 7463 6820 6973 2064 6973 7472 6962 ketch is distrib │ │ │ │ │ -000002a0: 7574 6564 2069 6e20 7468 6520 686f 7065 uted in the hope │ │ │ │ │ -000002b0: 2074 6861 7420 6974 2077 696c 6c20 6265 that it will be │ │ │ │ │ -000002c0: 2075 7365 6675 6c2c 2062 7574 2057 4954 useful, but WIT │ │ │ │ │ -000002d0: 484f 5554 0a41 4e59 2057 4152 5241 4e54 HOUT.ANY WARRANT │ │ │ │ │ -000002e0: 593b 2077 6974 686f 7574 2065 7665 6e20 Y; without even │ │ │ │ │ -000002f0: 7468 6520 696d 706c 6965 6420 7761 7272 the implied warr │ │ │ │ │ -00000300: 616e 7479 206f 6620 4d45 5243 4841 4e54 anty of MERCHANT │ │ │ │ │ -00000310: 4142 494c 4954 5920 6f72 0a46 4954 4e45 ABILITY or.FITNE │ │ │ │ │ -00000320: 5353 2046 4f52 2041 2050 4152 5449 4355 SS FOR A PARTICU │ │ │ │ │ -00000330: 4c41 5220 5055 5250 4f53 452e 2053 6565 LAR PURPOSE. See │ │ │ │ │ -00000340: 2074 6865 2047 4e55 2047 656e 6572 616c the GNU General │ │ │ │ │ -00000350: 2050 7562 6c69 6320 4c69 6365 6e73 6520 Public License │ │ │ │ │ -00000360: 666f 720a 6d6f 7265 2064 6574 6169 6c73 for.more details │ │ │ │ │ -00000370: 2e0a 0a20 2020 596f 7520 7368 6f75 6c64 ... You should │ │ │ │ │ -00000380: 2068 6176 6520 7265 6365 6976 6564 2061 have received a │ │ │ │ │ -00000390: 2063 6f70 7920 6f66 2074 6865 2047 4e55 copy of the GNU │ │ │ │ │ -000003a0: 2047 656e 6572 616c 2050 7562 6c69 6320 General Public │ │ │ │ │ -000003b0: 4c69 6365 6e73 650a 616c 6f6e 6720 7769 License.along wi │ │ │ │ │ -000003c0: 7468 20e2 8098 736b 6574 6368 e280 993b th ...sketch...; │ │ │ │ │ -000003d0: 2073 6565 2074 6865 2066 696c 6520 434f see the file CO │ │ │ │ │ -000003e0: 5059 494e 472e 7478 742e 2020 4966 206e PYING.txt. If n │ │ │ │ │ -000003f0: 6f74 2c20 7365 650a 6874 7470 3a2f 2f77 ot, see.http://w │ │ │ │ │ -00000400: 7777 2e67 6e75 2e6f 7267 2f63 6f70 796c ww.gnu.org/copyl │ │ │ │ │ -00000410: 6566 742e 0a0a 494e 464f 2d44 4952 2d53 eft...INFO-DIR-S │ │ │ │ │ -00000420: 4543 5449 4f4e 2054 6558 0a53 5441 5254 ECTION TeX.START │ │ │ │ │ -00000430: 2d49 4e46 4f2d 4449 522d 454e 5452 590a -INFO-DIR-ENTRY. │ │ │ │ │ -00000440: 2a20 536b 6574 6368 3a20 2873 6b65 7463 * Sketch: (sketc │ │ │ │ │ -00000450: 6829 2e20 2020 2020 2020 2020 2020 2020 h). │ │ │ │ │ -00000460: 5369 6d70 6c65 2033 4420 736b 6574 6368 Simple 3D sketch │ │ │ │ │ -00000470: 696e 6720 666f 7220 5465 580a 454e 442d ing for TeX.END- │ │ │ │ │ -00000480: 494e 464f 2d44 4952 2d45 4e54 5259 0a0a INFO-DIR-ENTRY.. │ │ │ │ │ -00000490: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -000004a0: 6e66 6f2c 2020 4e6f 6465 3a20 546f 702c nfo, Node: Top, │ │ │ │ │ -000004b0: 2020 4e65 7874 3a20 4162 6f75 7420 736b Next: About sk │ │ │ │ │ -000004c0: 6574 6368 2c20 2050 7265 763a 2028 6469 etch, Prev: (di │ │ │ │ │ -000004d0: 7229 2c20 2055 703a 2028 6469 7229 0a0a r), Up: (dir).. │ │ │ │ │ -000004e0: 536b 6574 6368 0a2a 2a2a 2a2a 2a0a 0a43 Sketch.******..C │ │ │ │ │ -000004f0: 6f70 7972 6967 6874 20c2 a920 3230 3035 opyright .. 2005 │ │ │ │ │ -00000500: 2074 6f20 3230 3132 2045 7567 656e 6520 to 2012 Eugene │ │ │ │ │ -00000510: 4b2e 2052 6573 736c 6572 2e0a 0a20 2020 K. Ressler... │ │ │ │ │ -00000520: 5468 6973 206d 616e 7561 6c20 6973 2066 This manual is f │ │ │ │ │ -00000530: 6f72 20e2 8098 736b 6574 6368 e280 992c or ...sketch..., │ │ │ │ │ -00000540: 2076 6572 7369 6f6e 2030 2e33 2028 6275 version 0.3 (bu │ │ │ │ │ -00000550: 696c 6420 3729 2c20 5468 7572 7364 6179 ild 7), Thursday │ │ │ │ │ -00000560: 2c0a 4e6f 7665 6d62 6572 2030 372c 2032 ,.November 07, 2 │ │ │ │ │ -00000570: 3032 342c 2061 2070 726f 6772 616d 2074 024, a program t │ │ │ │ │ -00000580: 6861 7420 636f 6e76 6572 7473 2064 6573 hat converts des │ │ │ │ │ -00000590: 6372 6970 7469 6f6e 7320 6f66 2073 696d criptions of sim │ │ │ │ │ -000005a0: 706c 650a 7468 7265 652d 6469 6d65 6e73 ple.three-dimens │ │ │ │ │ -000005b0: 696f 6e61 6c20 7363 656e 6573 2069 6e74 ional scenes int │ │ │ │ │ -000005c0: 6f20 6c69 6e65 2064 7261 7769 6e67 732e o line drawings. │ │ │ │ │ -000005d0: 2020 5468 6973 2076 6572 7369 6f6e 2067 This version g │ │ │ │ │ -000005e0: 656e 6572 6174 6573 0ae2 8098 5053 5472 enerates....PSTr │ │ │ │ │ -000005f0: 6963 6b73 e280 9920 6f72 20e2 8098 5047 icks... or ...PG │ │ │ │ │ -00000600: 462f 5469 6b5a e280 9920 636f 6465 2073 F/TikZ... code s │ │ │ │ │ -00000610: 7569 7461 626c 6520 666f 7220 7573 6520 uitable for use │ │ │ │ │ -00000620: 7769 7468 2074 6865 2054 6558 2064 6f63 with the TeX doc │ │ │ │ │ -00000630: 756d 656e 740a 7072 6f63 6573 7369 6e67 ument.processing │ │ │ │ │ -00000640: 2073 7973 7465 6d2e 0a0a 2020 20e2 8098 system... ... │ │ │ │ │ -00000650: 536b 6574 6368 e280 9920 6973 2066 7265 Sketch... is fre │ │ │ │ │ -00000660: 6520 736f 6674 7761 7265 2e20 2059 6f75 e software. You │ │ │ │ │ -00000670: 2063 616e 2072 6564 6973 7472 6962 7574 can redistribut │ │ │ │ │ -00000680: 6520 6974 2061 6e64 2f6f 7220 6d6f 6469 e it and/or modi │ │ │ │ │ -00000690: 6679 2069 740a 756e 6465 7220 7468 6520 fy it.under the │ │ │ │ │ -000006a0: 7465 726d 7320 6f66 2074 6865 2047 4e55 terms of the GNU │ │ │ │ │ -000006b0: 2047 656e 6572 616c 2050 7562 6c69 6320 General Public │ │ │ │ │ -000006c0: 4c69 6365 6e73 6520 6173 2070 7562 6c69 License as publi │ │ │ │ │ -000006d0: 7368 6564 2062 7920 7468 650a 4672 6565 shed by the.Free │ │ │ │ │ -000006e0: 2053 6f66 7477 6172 6520 466f 756e 6461 Software Founda │ │ │ │ │ -000006f0: 7469 6f6e 3b20 6569 7468 6572 2076 6572 tion; either ver │ │ │ │ │ -00000700: 7369 6f6e 2033 2c20 6f72 2028 6174 2079 sion 3, or (at y │ │ │ │ │ -00000710: 6f75 7220 6f70 7469 6f6e 2920 616e 790a our option) any. │ │ │ │ │ -00000720: 6c61 7465 7220 7665 7273 696f 6e2e 0a0a later version... │ │ │ │ │ -00000730: 2020 2053 6b65 7463 6820 6973 2064 6973 Sketch is dis │ │ │ │ │ -00000740: 7472 6962 7574 6564 2069 6e20 7468 6520 tributed in the │ │ │ │ │ -00000750: 686f 7065 2074 6861 7420 6974 2077 696c hope that it wil │ │ │ │ │ -00000760: 6c20 6265 2075 7365 6675 6c2c 2062 7574 l be useful, but │ │ │ │ │ -00000770: 2057 4954 484f 5554 0a41 4e59 2057 4152 WITHOUT.ANY WAR │ │ │ │ │ -00000780: 5241 4e54 593b 2077 6974 686f 7574 2065 RANTY; without e │ │ │ │ │ -00000790: 7665 6e20 7468 6520 696d 706c 6965 6420 ven the implied │ │ │ │ │ -000007a0: 7761 7272 616e 7479 206f 6620 4d45 5243 warranty of MERC │ │ │ │ │ -000007b0: 4841 4e54 4142 494c 4954 5920 6f72 0a46 HANTABILITY or.F │ │ │ │ │ -000007c0: 4954 4e45 5353 2046 4f52 2041 2050 4152 ITNESS FOR A PAR │ │ │ │ │ -000007d0: 5449 4355 4c41 5220 5055 5250 4f53 452e TICULAR PURPOSE. │ │ │ │ │ -000007e0: 2053 6565 2074 6865 2047 4e55 2047 656e See the GNU Gen │ │ │ │ │ -000007f0: 6572 616c 2050 7562 6c69 6320 4c69 6365 eral Public Lice │ │ │ │ │ -00000800: 6e73 6520 666f 720a 6d6f 7265 2064 6574 nse for.more det │ │ │ │ │ -00000810: 6169 6c73 2e0a 0a20 2020 596f 7520 7368 ails... You sh │ │ │ │ │ -00000820: 6f75 6c64 2068 6176 6520 7265 6365 6976 ould have receiv │ │ │ │ │ -00000830: 6564 2061 2063 6f70 7920 6f66 2074 6865 ed a copy of the │ │ │ │ │ -00000840: 2047 4e55 2047 656e 6572 616c 2050 7562 GNU General Pub │ │ │ │ │ -00000850: 6c69 6320 4c69 6365 6e73 650a 616c 6f6e lic License.alon │ │ │ │ │ -00000860: 6720 7769 7468 20e2 8098 736b 6574 6368 g with ...sketch │ │ │ │ │ -00000870: e280 993b 2073 6565 2074 6865 2066 696c ...; see the fil │ │ │ │ │ -00000880: 6520 434f 5059 494e 472e 7478 742e 2020 e COPYING.txt. │ │ │ │ │ -00000890: 4966 206e 6f74 2c20 7365 650a 6874 7470 If not, see.http │ │ │ │ │ -000008a0: 3a2f 2f77 7777 2e67 6e75 2e6f 7267 2f63 ://www.gnu.org/c │ │ │ │ │ -000008b0: 6f70 796c 6566 742e 0a0a 2a20 4d65 6e75 opyleft...* Menu │ │ │ │ │ -000008c0: 3a0a 0a2a 2041 626f 7574 2073 6b65 7463 :..* About sketc │ │ │ │ │ -000008d0: 683a 3a20 2020 2020 2020 2020 2020 2020 h:: │ │ │ │ │ -000008e0: 2020 2057 6879 2073 6b65 7463 6820 6578 Why sketch ex │ │ │ │ │ -000008f0: 6973 7473 2061 6e64 2077 6861 7420 6974 ists and what it │ │ │ │ │ -00000900: 2064 6f65 732e 0a2a 2049 6e74 726f 6475 does..* Introdu │ │ │ │ │ -00000910: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example │ │ │ │ │ -00000920: 3a3a 2020 2020 204d 6f73 7420 6665 6174 :: Most feat │ │ │ │ │ -00000930: 7572 6573 2073 686f 776e 2061 7320 776f ures shown as wo │ │ │ │ │ -00000940: 726b 696e 6720 636f 6465 2e0a 2a20 496e rking code..* In │ │ │ │ │ -00000950: 7075 7420 6c61 6e67 7561 6765 3a3a 2020 put language:: │ │ │ │ │ -00000960: 2020 2020 2020 2020 2020 2020 5379 6e74 Synt │ │ │ │ │ -00000970: 6178 2061 6e64 2073 656d 616e 7469 6373 ax and semantics │ │ │ │ │ -00000980: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ -00000990: 2063 6f6d 6d61 6e64 732e 0a2a 2042 7569 commands..* Bui │ │ │ │ │ -000009a0: 6c64 696e 6720 6120 6472 6177 696e 673a lding a drawing: │ │ │ │ │ -000009b0: 3a20 2020 2020 2020 2020 2048 6f77 2074 : How t │ │ │ │ │ -000009c0: 6f20 7573 6520 e280 9873 6b65 7463 68e2 o use ...sketch. │ │ │ │ │ -000009d0: 8099 2070 726f 6475 6374 6976 656c 792e .. productively. │ │ │ │ │ -000009e0: 0a2a 2043 6f6d 6d61 6e64 206c 696e 653a .* Command line: │ │ │ │ │ -000009f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00000a00: 204f 7074 696f 6e73 2061 6e64 2074 6865 Options and the │ │ │ │ │ -00000a10: 6972 2075 7361 6765 2e0a 2a20 496e 7374 ir usage..* Inst │ │ │ │ │ -00000a20: 616c 6c69 6e67 2073 6b65 7463 683a 3a20 alling sketch:: │ │ │ │ │ -00000a30: 2020 2020 2020 2020 2020 4275 696c 6469 Buildi │ │ │ │ │ -00000a40: 6e67 2061 6e64 2069 6e73 7461 6c6c 696e ng and installin │ │ │ │ │ -00000a50: 6720 6672 6f6d 2073 6f75 7263 6573 2e0a g from sources.. │ │ │ │ │ -00000a60: 2a20 496e 6465 7820 6f66 2073 796e 7461 * Index of synta │ │ │ │ │ -00000a70: 783a 3a0a 2a20 496e 6465 783a 3a0a 0a20 x::.* Index::.. │ │ │ │ │ -00000a80: 2d2d 2054 6865 2044 6574 6169 6c65 6420 -- The Detailed │ │ │ │ │ -00000a90: 4e6f 6465 204c 6973 7469 6e67 202d 2d0a Node Listing --. │ │ │ │ │ -00000aa0: 0a41 626f 7574 2073 6b65 7463 680a 0a2a .About sketch..* │ │ │ │ │ -00000ab0: 2052 6570 6f72 7469 6e67 2062 7567 733a Reporting bugs: │ │ │ │ │ -00000ac0: 3a20 2020 2020 2020 2020 2020 2020 204c : L │ │ │ │ │ -00000ad0: 6574 2075 7365 206b 6e6f 7720 7768 6174 et use know what │ │ │ │ │ -00000ae0: 2773 2077 726f 6e67 210a 2a20 436f 6e74 's wrong!.* Cont │ │ │ │ │ -00000af0: 7269 6275 7469 6f6e 733a 3a20 2020 2020 ributions:: │ │ │ │ │ -00000b00: 2020 2020 2020 2020 2020 486f 7720 796f How yo │ │ │ │ │ -00000b10: 7520 6361 6e20 6865 6c70 2e2e 2e2e 0a0a u can help...... │ │ │ │ │ -00000b20: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by │ │ │ │ │ -00000b30: 6578 616d 706c 650a 0a2a 2048 656c 6c6f example..* Hello │ │ │ │ │ -00000b40: 2077 6f72 6c64 3a3a 2020 2020 2020 2020 world:: │ │ │ │ │ -00000b50: 2020 2020 2020 2020 2053 696d 706c 6573 Simples │ │ │ │ │ -00000b60: 7420 706f 7373 6962 6c65 20e2 8098 736b t possible ...sk │ │ │ │ │ -00000b70: 6574 6368 e280 9920 7072 6f67 7261 6d2e etch... program. │ │ │ │ │ -00000b80: 0a2a 2044 7261 7769 6e67 206f 7074 696f .* Drawing optio │ │ │ │ │ -00000b90: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ -00000ba0: 2043 6f6e 7472 6f6c 6c69 6e67 206f 626a Controlling obj │ │ │ │ │ -00000bb0: 6563 7420 6170 7065 6172 616e 6365 2e0a ect appearance.. │ │ │ │ │ -00000bc0: 2a20 4472 6177 696e 6720 6120 736f 6c69 * Drawing a soli │ │ │ │ │ -00000bd0: 643a 3a20 2020 2020 2020 2020 2020 2020 d:: │ │ │ │ │ -00000be0: 4472 6177 696e 6720 616e 206f 626a 6563 Drawing an objec │ │ │ │ │ -00000bf0: 7420 7769 7468 2033 6420 6170 7065 6172 t with 3d appear │ │ │ │ │ -00000c00: 616e 6365 2e0a 2a20 5370 6563 6961 6c20 ance..* Special │ │ │ │ │ -00000c10: 6f62 6a65 6374 733a 3a20 2020 2020 2020 objects:: │ │ │ │ │ -00000c20: 2020 2020 2020 4c61 7969 6e67 2054 6558 Laying TeX │ │ │ │ │ -00000c30: 206f 7665 722c 2069 6e2c 206f 7220 756e over, in, or un │ │ │ │ │ -00000c40: 6465 7220 6472 6177 696e 6773 2e0a 2a20 der drawings..* │ │ │ │ │ -00000c50: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ -00000c60: 733a 3a20 2020 2020 2020 2020 2020 526f s:: Ro │ │ │ │ │ -00000c70: 7461 7465 2c20 7472 616e 736c 6174 652c tate, translate, │ │ │ │ │ -00000c80: 2073 6361 6c65 2c20 616e 6420 6f74 6865 scale, and othe │ │ │ │ │ -00000c90: 7273 2e0a 2a20 5265 7065 6174 6564 206f rs..* Repeated o │ │ │ │ │ -00000ca0: 626a 6563 7473 3a3a 2020 2020 2020 2020 bjects:: │ │ │ │ │ -00000cb0: 2020 2020 4d61 6b69 6e67 2074 7261 6e73 Making trans │ │ │ │ │ -00000cc0: 666f 726d 6564 2063 6f70 6965 732e 0a2a formed copies..* │ │ │ │ │ -00000cd0: 2053 7765 7074 206f 626a 6563 7473 3a3a Swept objects:: │ │ │ │ │ -00000ce0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00000cf0: 7765 6570 696e 6720 6f62 6a65 6374 7320 weeping objects │ │ │ │ │ -00000d00: 696e 2073 7061 6365 2074 6f20 6d61 6b65 in space to make │ │ │ │ │ -00000d10: 206e 6577 2073 6861 7065 732e 0a0a 5377 new shapes...Sw │ │ │ │ │ -00000d20: 6570 7420 6f62 6a65 6374 730a 0a2a 2050 ept objects..* P │ │ │ │ │ -00000d30: 6f69 6e74 2073 7765 6570 733a 3a20 2020 oint sweeps:: │ │ │ │ │ -00000d40: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00000d50: 7074 2070 6f69 6e74 7320 6d61 6b65 206c pt points make l │ │ │ │ │ -00000d60: 696e 6573 2061 6e64 2070 6f6c 7967 6f6e ines and polygon │ │ │ │ │ -00000d70: 732e 0a2a 2050 6f6c 796c 696e 6520 7377 s..* Polyline sw │ │ │ │ │ -00000d80: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: │ │ │ │ │ -00000d90: 2020 2053 7765 7074 206c 696e 6573 206d Swept lines m │ │ │ │ │ -00000da0: 616b 6520 7375 7266 6163 6573 2e0a 2a20 ake surfaces..* │ │ │ │ │ -00000db0: 4e65 7374 6564 2073 7765 6570 733a 3a20 Nested sweeps:: │ │ │ │ │ -00000dc0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -00000dd0: 6570 7420 7377 6565 7073 2061 7265 2075 ept sweeps are u │ │ │ │ │ -00000de0: 7365 6675 6c21 0a2a 2050 6f6c 7967 6f6e seful!.* Polygon │ │ │ │ │ -00000df0: 2073 7765 6570 733a 3a20 2020 2020 2020 sweeps:: │ │ │ │ │ -00000e00: 2020 2020 2020 2053 7765 7074 2070 6f6c Swept pol │ │ │ │ │ -00000e10: 7967 6f6e 7320 6d61 6b65 2073 6f6c 6964 ygons make solid │ │ │ │ │ -00000e20: 732e 2e2e 0a2a 2050 6f6c 796c 696e 6520 s....* Polyline │ │ │ │ │ -00000e30: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ -00000e40: 7572 653a 3a20 2061 6e64 2073 6f20 646f ure:: and so do │ │ │ │ │ -00000e50: 2063 6c6f 7365 6420 706f 6c79 6c69 6e65 closed polyline │ │ │ │ │ -00000e60: 2073 7765 6570 732e 0a2a 2041 6666 696e sweeps..* Affin │ │ │ │ │ -00000e70: 6520 6172 6974 686d 6574 6963 3a3a 2020 e arithmetic:: │ │ │ │ │ -00000e80: 2020 2020 2020 2020 2053 6b65 7463 6820 Sketch │ │ │ │ │ -00000e90: 7573 6566 756c 206d 6174 6820 6578 7072 useful math expr │ │ │ │ │ -00000ea0: 6573 7369 6f6e 2e0a 2a20 4d6f 7265 2074 ession..* More t │ │ │ │ │ -00000eb0: 6f20 6c65 6172 6e3a 3a20 2020 2020 2020 o learn:: │ │ │ │ │ -00000ec0: 2020 2020 2020 2020 4368 6563 6b20 6f75 Check ou │ │ │ │ │ -00000ed0: 7420 7468 6520 4d6f 6269 7573 2073 7472 t the Mobius str │ │ │ │ │ -00000ee0: 6970 210a 0a49 6e70 7574 206c 616e 6775 ip!..Input langu │ │ │ │ │ -00000ef0: 6167 650a 0a2a 204c 616e 6775 6167 6520 age..* Language │ │ │ │ │ -00000f00: 6261 7369 6373 3a3a 2020 2020 2020 2020 basics:: │ │ │ │ │ -00000f10: 2020 2020 2043 6173 652c 2073 7061 6365 Case, space │ │ │ │ │ -00000f20: 2c20 636f 6d6d 656e 7473 2c20 696e 636c , comments, incl │ │ │ │ │ -00000f30: 7564 6520 6669 6c65 732e 0a2a 2044 7261 ude files..* Dra │ │ │ │ │ -00000f40: 7761 626c 6573 3a3a 2020 2020 2020 2020 wables:: │ │ │ │ │ -00000f50: 2020 2020 2020 2020 2020 2054 6869 6e67 Thing │ │ │ │ │ -00000f60: 7320 7468 6174 2063 616e 2062 6520 6472 s that can be dr │ │ │ │ │ -00000f70: 6177 6e2e 0a2a 2044 6566 696e 6974 696f awn..* Definitio │ │ │ │ │ -00000f80: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ -00000f90: 2020 2020 2047 6976 696e 6720 7468 696e Giving thin │ │ │ │ │ -00000fa0: 6773 206e 616d 6573 2e0a 2a20 476c 6f62 gs names..* Glob │ │ │ │ │ -00000fb0: 616c 2065 6e76 6972 6f6e 6d65 6e74 3a3a al environment:: │ │ │ │ │ -00000fc0: 2020 2020 2020 2020 2020 4166 6665 6374 Affect │ │ │ │ │ -00000fd0: 2074 6865 2065 6e74 6972 6520 6472 6177 the entire draw │ │ │ │ │ -00000fe0: 696e 672e 0a0a 4261 7369 6373 0a0a 2a20 ing...Basics..* │ │ │ │ │ -00000ff0: 4964 656e 7469 6669 6572 733a 3a20 2020 Identifiers:: │ │ │ │ │ -00001000: 2020 2020 2020 2020 2020 2020 2020 4e61 Na │ │ │ │ │ -00001010: 6d65 7320 666f 7220 7468 696e 6773 2e0a mes for things.. │ │ │ │ │ -00001020: 2a20 4b65 7920 616e 6420 7265 7365 7276 * Key and reserv │ │ │ │ │ -00001030: 6564 2077 6f72 6473 3a3a 2020 2020 2020 ed words:: │ │ │ │ │ -00001040: 4e61 6d65 7320 796f 7520 7368 6f75 6c64 Names you should │ │ │ │ │ -00001050: 6e27 7420 7573 652e 0a2a 204c 6974 6572 n't use..* Liter │ │ │ │ │ -00001060: 616c 733a 3a20 2020 2020 2020 2020 2020 als:: │ │ │ │ │ -00001070: 2020 2020 2020 2020 2043 6f6e 7374 616e Constan │ │ │ │ │ -00001080: 7473 2061 6e64 2063 6f6e 7374 7275 6374 ts and construct │ │ │ │ │ -00001090: 6f72 732e 0a2a 2041 7269 7468 6d65 7469 ors..* Arithmeti │ │ │ │ │ -000010a0: 633a 3a20 2020 2020 2020 2020 2020 2020 c:: │ │ │ │ │ -000010b0: 2020 2020 2052 756c 6573 2066 6f72 2065 Rules for e │ │ │ │ │ -000010c0: 7870 7265 7373 696f 6e73 2e0a 2a20 4f70 xpressions..* Op │ │ │ │ │ -000010d0: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: │ │ │ │ │ -000010e0: 2020 2020 2020 2020 2020 2020 4d6f 6469 Modi │ │ │ │ │ -000010f0: 6679 696e 6720 6f62 6a65 6374 2061 7070 fying object app │ │ │ │ │ -00001100: 6561 7261 6e63 652e 0a0a 4c69 7465 7261 earance...Litera │ │ │ │ │ -00001110: 6c73 0a0a 2a20 5363 616c 6172 206c 6974 ls..* Scalar lit │ │ │ │ │ -00001120: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: │ │ │ │ │ -00001130: 2020 2020 4a75 7374 2074 6865 206e 756d Just the num │ │ │ │ │ -00001140: 6265 7273 2e0a 2a20 506f 696e 7420 616e bers..* Point an │ │ │ │ │ -00001150: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal │ │ │ │ │ -00001160: 733a 3a20 2020 3364 2071 7561 6e74 6974 s:: 3d quantit │ │ │ │ │ -00001170: 6965 732e 0a2a 2054 7261 6e73 666f 726d ies..* Transform │ │ │ │ │ -00001180: 206c 6974 6572 616c 733a 3a20 2020 2020 literals:: │ │ │ │ │ -00001190: 2020 2020 204d 6174 7269 7820 666f 726d Matrix form │ │ │ │ │ -000011a0: 2e0a 0a41 7269 7468 6d65 7469 6320 6578 ...Arithmetic ex │ │ │ │ │ -000011b0: 7072 6573 7369 6f6e 730a 0a2a 2054 776f pressions..* Two │ │ │ │ │ -000011c0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ -000011d0: 2920 666f 726d 733a 3a20 2041 206f 7020 ) forms:: A op │ │ │ │ │ -000011e0: 420a 2a20 556e 6172 7920 666f 726d 733a B.* Unary forms: │ │ │ │ │ -000011f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00001200: 2020 6f70 2041 2028 616e 6420 6f74 6865 op A (and othe │ │ │ │ │ -00001210: 7273 290a 0a4f 7074 696f 6e73 0a0a 2a20 rs)..Options..* │ │ │ │ │ -00001220: 5053 5472 6963 6b73 206f 7074 696f 6e73 PSTricks options │ │ │ │ │ -00001230: 3a3a 2020 2020 2020 2020 2020 2020 4f70 :: Op │ │ │ │ │ -00001240: 7469 6f6e 7320 696e 6865 7269 7465 6420 tions inherited │ │ │ │ │ -00001250: 6672 6f6d 20e2 8098 5053 5472 6963 6b73 from ...PSTricks │ │ │ │ │ -00001260: e280 992e 0a2a 2054 696b 5a2f 5047 4620 .....* TikZ/PGF │ │ │ │ │ -00001270: 6f70 7469 6f6e 733a 3a20 2020 2020 2020 options:: │ │ │ │ │ -00001280: 2020 2020 204f 7074 696f 6e73 2069 6e68 Options inh │ │ │ │ │ -00001290: 6572 6974 6564 2066 726f 6d20 e280 9854 erited from ...T │ │ │ │ │ -000012a0: 696b 5a2f 5047 46e2 8099 2e0a 2a20 446f ikZ/PGF.....* Do │ │ │ │ │ -000012b0: 7473 2069 6e20 5469 6b5a 2f50 4746 3a3a ts in TikZ/PGF:: │ │ │ │ │ -000012c0: 2020 2020 2020 2020 2020 2020 536b 6574 Sket │ │ │ │ │ -000012d0: 6368 2075 7365 7320 e280 9854 696b 5a2f ch uses ...TikZ/ │ │ │ │ │ -000012e0: 5047 46e2 8099 2063 6972 636c 6573 2066 PGF... circles f │ │ │ │ │ -000012f0: 6f72 2064 6f74 732e 0a2a 2054 696b 5a2f or dots..* TikZ/ │ │ │ │ │ -00001300: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ -00001310: 2073 7479 6c65 733a 3a20 2053 7570 706f styles:: Suppo │ │ │ │ │ -00001320: 7274 2066 6f72 20e2 8098 5469 6b5a 2f50 rt for ...TikZ/P │ │ │ │ │ -00001330: 4746 e280 9920 6e61 6d65 642c 2075 7365 GF... named, use │ │ │ │ │ -00001340: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles │ │ │ │ │ -00001350: 2e0a 2a20 5472 616e 7370 6172 656e 6379 ..* Transparency │ │ │ │ │ -00001360: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00001370: 2020 5365 652d 7468 726f 7567 6820 706f See-through po │ │ │ │ │ -00001380: 6c79 676f 6e73 2e0a 2a20 496e 7465 726e lygons..* Intern │ │ │ │ │ -00001390: 616c 206f 7074 696f 6e73 3a3a 2020 2020 al options:: │ │ │ │ │ -000013a0: 2020 2020 2020 2020 4f70 7469 6f6e 7320 Options │ │ │ │ │ -000013b0: 7573 6564 2062 7920 e280 9873 6b65 7463 used by ...sketc │ │ │ │ │ -000013c0: 68e2 8099 2e0a 0a50 6f69 6e74 206c 6973 h......Point lis │ │ │ │ │ -000013d0: 7473 0a0a 2a20 4472 6177 6162 6c65 733a ts..* Drawables: │ │ │ │ │ -000013e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000013f0: 2020 2020 5468 696e 6773 2074 6861 7420 Things that │ │ │ │ │ -00001400: 6172 6520 6472 6177 6e2e 0a2a 2044 6566 are drawn..* Def │ │ │ │ │ -00001410: 696e 6974 696f 6e73 3a3a 2020 2020 2020 initions:: │ │ │ │ │ -00001420: 2020 2020 2020 2020 2020 2054 6869 6e67 Thing │ │ │ │ │ -00001430: 7320 7769 7468 206e 616d 6573 2e0a 0a44 s with names...D │ │ │ │ │ -00001440: 7261 7761 626c 6573 0a0a 2a20 446f 7473 rawables..* Dots │ │ │ │ │ -00001450: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00001460: 2020 2020 2020 2020 2020 4472 6177 2064 Draw d │ │ │ │ │ -00001470: 6f74 732e 0a2a 204c 696e 6573 3a3a 2020 ots..* Lines:: │ │ │ │ │ +000000b0: 3729 2c20 4672 6964 6179 2c20 4e6f 7665 7), Friday, Nove │ │ │ │ │ +000000c0: 6d62 6572 0a30 382c 2032 3032 342c 2061 mber.08, 2024, a │ │ │ │ │ +000000d0: 2070 726f 6772 616d 2074 6861 7420 636f program that co │ │ │ │ │ +000000e0: 6e76 6572 7473 2064 6573 6372 6970 7469 nverts descripti │ │ │ │ │ +000000f0: 6f6e 7320 6f66 2073 696d 706c 650a 7468 ons of simple.th │ │ │ │ │ +00000100: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional │ │ │ │ │ +00000110: 7363 656e 6573 2069 6e74 6f20 6c69 6e65 scenes into line │ │ │ │ │ +00000120: 2064 7261 7769 6e67 732e 2020 5468 6973 drawings. This │ │ │ │ │ +00000130: 2076 6572 7369 6f6e 2067 656e 6572 6174 version generat │ │ │ │ │ +00000140: 6573 0ae2 8098 5053 5472 6963 6b73 e280 es....PSTricks.. │ │ │ │ │ +00000150: 9920 6f72 20e2 8098 5047 462f 5469 6b5a . or ...PGF/TikZ │ │ │ │ │ +00000160: e280 9920 636f 6465 2073 7569 7461 626c ... code suitabl │ │ │ │ │ +00000170: 6520 666f 7220 7573 6520 7769 7468 2074 e for use with t │ │ │ │ │ +00000180: 6865 2054 6558 2064 6f63 756d 656e 740a he TeX document. │ │ │ │ │ +00000190: 7072 6f63 6573 7369 6e67 2073 7973 7465 processing syste │ │ │ │ │ +000001a0: 6d2e 0a0a 2020 20e2 8098 536b 6574 6368 m... ...Sketch │ │ │ │ │ +000001b0: e280 9920 6973 2066 7265 6520 736f 6674 ... is free soft │ │ │ │ │ +000001c0: 7761 7265 2e20 2059 6f75 2063 616e 2072 ware. You can r │ │ │ │ │ +000001d0: 6564 6973 7472 6962 7574 6520 6974 2061 edistribute it a │ │ │ │ │ +000001e0: 6e64 2f6f 7220 6d6f 6469 6679 2069 740a nd/or modify it. │ │ │ │ │ +000001f0: 756e 6465 7220 7468 6520 7465 726d 7320 under the terms │ │ │ │ │ +00000200: 6f66 2074 6865 2047 4e55 2047 656e 6572 of the GNU Gener │ │ │ │ │ +00000210: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens │ │ │ │ │ +00000220: 6520 6173 2070 7562 6c69 7368 6564 2062 e as published b │ │ │ │ │ +00000230: 7920 7468 650a 4672 6565 2053 6f66 7477 y the.Free Softw │ │ │ │ │ +00000240: 6172 6520 466f 756e 6461 7469 6f6e 3b20 are Foundation; │ │ │ │ │ +00000250: 6569 7468 6572 2076 6572 7369 6f6e 2033 either version 3 │ │ │ │ │ +00000260: 2c20 6f72 2028 6174 2079 6f75 7220 6f70 , or (at your op │ │ │ │ │ +00000270: 7469 6f6e 2920 616e 790a 6c61 7465 7220 tion) any.later │ │ │ │ │ +00000280: 7665 7273 696f 6e2e 0a0a 2020 2053 6b65 version... Ske │ │ │ │ │ +00000290: 7463 6820 6973 2064 6973 7472 6962 7574 tch is distribut │ │ │ │ │ +000002a0: 6564 2069 6e20 7468 6520 686f 7065 2074 ed in the hope t │ │ │ │ │ +000002b0: 6861 7420 6974 2077 696c 6c20 6265 2075 hat it will be u │ │ │ │ │ +000002c0: 7365 6675 6c2c 2062 7574 2057 4954 484f seful, but WITHO │ │ │ │ │ +000002d0: 5554 0a41 4e59 2057 4152 5241 4e54 593b UT.ANY WARRANTY; │ │ │ │ │ +000002e0: 2077 6974 686f 7574 2065 7665 6e20 7468 without even th │ │ │ │ │ +000002f0: 6520 696d 706c 6965 6420 7761 7272 616e e implied warran │ │ │ │ │ +00000300: 7479 206f 6620 4d45 5243 4841 4e54 4142 ty of MERCHANTAB │ │ │ │ │ +00000310: 494c 4954 5920 6f72 0a46 4954 4e45 5353 ILITY or.FITNESS │ │ │ │ │ +00000320: 2046 4f52 2041 2050 4152 5449 4355 4c41 FOR A PARTICULA │ │ │ │ │ +00000330: 5220 5055 5250 4f53 452e 2053 6565 2074 R PURPOSE. See t │ │ │ │ │ +00000340: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P │ │ │ │ │ +00000350: 7562 6c69 6320 4c69 6365 6e73 6520 666f ublic License fo │ │ │ │ │ +00000360: 720a 6d6f 7265 2064 6574 6169 6c73 2e0a r.more details.. │ │ │ │ │ +00000370: 0a20 2020 596f 7520 7368 6f75 6c64 2068 . You should h │ │ │ │ │ +00000380: 6176 6520 7265 6365 6976 6564 2061 2063 ave received a c │ │ │ │ │ +00000390: 6f70 7920 6f66 2074 6865 2047 4e55 2047 opy of the GNU G │ │ │ │ │ +000003a0: 656e 6572 616c 2050 7562 6c69 6320 4c69 eneral Public Li │ │ │ │ │ +000003b0: 6365 6e73 650a 616c 6f6e 6720 7769 7468 cense.along with │ │ │ │ │ +000003c0: 20e2 8098 736b 6574 6368 e280 993b 2073 ...sketch...; s │ │ │ │ │ +000003d0: 6565 2074 6865 2066 696c 6520 434f 5059 ee the file COPY │ │ │ │ │ +000003e0: 494e 472e 7478 742e 2020 4966 206e 6f74 ING.txt. If not │ │ │ │ │ +000003f0: 2c20 7365 650a 6874 7470 3a2f 2f77 7777 , see.http://www │ │ │ │ │ +00000400: 2e67 6e75 2e6f 7267 2f63 6f70 796c 6566 .gnu.org/copylef │ │ │ │ │ +00000410: 742e 0a0a 494e 464f 2d44 4952 2d53 4543 t...INFO-DIR-SEC │ │ │ │ │ +00000420: 5449 4f4e 2054 6558 0a53 5441 5254 2d49 TION TeX.START-I │ │ │ │ │ +00000430: 4e46 4f2d 4449 522d 454e 5452 590a 2a20 NFO-DIR-ENTRY.* │ │ │ │ │ +00000440: 536b 6574 6368 3a20 2873 6b65 7463 6829 Sketch: (sketch) │ │ │ │ │ +00000450: 2e20 2020 2020 2020 2020 2020 2020 5369 . Si │ │ │ │ │ +00000460: 6d70 6c65 2033 4420 736b 6574 6368 696e mple 3D sketchin │ │ │ │ │ +00000470: 6720 666f 7220 5465 580a 454e 442d 494e g for TeX.END-IN │ │ │ │ │ +00000480: 464f 2d44 4952 2d45 4e54 5259 0a0a 1f0a FO-DIR-ENTRY.... │ │ │ │ │ +00000490: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +000004a0: 6f2c 2020 4e6f 6465 3a20 546f 702c 2020 o, Node: Top, │ │ │ │ │ +000004b0: 4e65 7874 3a20 4162 6f75 7420 736b 6574 Next: About sket │ │ │ │ │ +000004c0: 6368 2c20 2050 7265 763a 2028 6469 7229 ch, Prev: (dir) │ │ │ │ │ +000004d0: 2c20 2055 703a 2028 6469 7229 0a0a 536b , Up: (dir)..Sk │ │ │ │ │ +000004e0: 6574 6368 0a2a 2a2a 2a2a 2a0a 0a43 6f70 etch.******..Cop │ │ │ │ │ +000004f0: 7972 6967 6874 20c2 a920 3230 3035 2074 yright .. 2005 t │ │ │ │ │ +00000500: 6f20 3230 3132 2045 7567 656e 6520 4b2e o 2012 Eugene K. │ │ │ │ │ +00000510: 2052 6573 736c 6572 2e0a 0a20 2020 5468 Ressler... Th │ │ │ │ │ +00000520: 6973 206d 616e 7561 6c20 6973 2066 6f72 is manual is for │ │ │ │ │ +00000530: 20e2 8098 736b 6574 6368 e280 992c 2076 ...sketch..., v │ │ │ │ │ +00000540: 6572 7369 6f6e 2030 2e33 2028 6275 696c ersion 0.3 (buil │ │ │ │ │ +00000550: 6420 3729 2c20 4672 6964 6179 2c20 4e6f d 7), Friday, No │ │ │ │ │ +00000560: 7665 6d62 6572 0a30 382c 2032 3032 342c vember.08, 2024, │ │ │ │ │ +00000570: 2061 2070 726f 6772 616d 2074 6861 7420 a program that │ │ │ │ │ +00000580: 636f 6e76 6572 7473 2064 6573 6372 6970 converts descrip │ │ │ │ │ +00000590: 7469 6f6e 7320 6f66 2073 696d 706c 650a tions of simple. │ │ │ │ │ +000005a0: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona │ │ │ │ │ +000005b0: 6c20 7363 656e 6573 2069 6e74 6f20 6c69 l scenes into li │ │ │ │ │ +000005c0: 6e65 2064 7261 7769 6e67 732e 2020 5468 ne drawings. Th │ │ │ │ │ +000005d0: 6973 2076 6572 7369 6f6e 2067 656e 6572 is version gener │ │ │ │ │ +000005e0: 6174 6573 0ae2 8098 5053 5472 6963 6b73 ates....PSTricks │ │ │ │ │ +000005f0: e280 9920 6f72 20e2 8098 5047 462f 5469 ... or ...PGF/Ti │ │ │ │ │ +00000600: 6b5a e280 9920 636f 6465 2073 7569 7461 kZ... code suita │ │ │ │ │ +00000610: 626c 6520 666f 7220 7573 6520 7769 7468 ble for use with │ │ │ │ │ +00000620: 2074 6865 2054 6558 2064 6f63 756d 656e the TeX documen │ │ │ │ │ +00000630: 740a 7072 6f63 6573 7369 6e67 2073 7973 t.processing sys │ │ │ │ │ +00000640: 7465 6d2e 0a0a 2020 20e2 8098 536b 6574 tem... ...Sket │ │ │ │ │ +00000650: 6368 e280 9920 6973 2066 7265 6520 736f ch... is free so │ │ │ │ │ +00000660: 6674 7761 7265 2e20 2059 6f75 2063 616e ftware. You can │ │ │ │ │ +00000670: 2072 6564 6973 7472 6962 7574 6520 6974 redistribute it │ │ │ │ │ +00000680: 2061 6e64 2f6f 7220 6d6f 6469 6679 2069 and/or modify i │ │ │ │ │ +00000690: 740a 756e 6465 7220 7468 6520 7465 726d t.under the term │ │ │ │ │ +000006a0: 7320 6f66 2074 6865 2047 4e55 2047 656e s of the GNU Gen │ │ │ │ │ +000006b0: 6572 616c 2050 7562 6c69 6320 4c69 6365 eral Public Lice │ │ │ │ │ +000006c0: 6e73 6520 6173 2070 7562 6c69 7368 6564 nse as published │ │ │ │ │ +000006d0: 2062 7920 7468 650a 4672 6565 2053 6f66 by the.Free Sof │ │ │ │ │ +000006e0: 7477 6172 6520 466f 756e 6461 7469 6f6e tware Foundation │ │ │ │ │ +000006f0: 3b20 6569 7468 6572 2076 6572 7369 6f6e ; either version │ │ │ │ │ +00000700: 2033 2c20 6f72 2028 6174 2079 6f75 7220 3, or (at your │ │ │ │ │ +00000710: 6f70 7469 6f6e 2920 616e 790a 6c61 7465 option) any.late │ │ │ │ │ +00000720: 7220 7665 7273 696f 6e2e 0a0a 2020 2053 r version... S │ │ │ │ │ +00000730: 6b65 7463 6820 6973 2064 6973 7472 6962 ketch is distrib │ │ │ │ │ +00000740: 7574 6564 2069 6e20 7468 6520 686f 7065 uted in the hope │ │ │ │ │ +00000750: 2074 6861 7420 6974 2077 696c 6c20 6265 that it will be │ │ │ │ │ +00000760: 2075 7365 6675 6c2c 2062 7574 2057 4954 useful, but WIT │ │ │ │ │ +00000770: 484f 5554 0a41 4e59 2057 4152 5241 4e54 HOUT.ANY WARRANT │ │ │ │ │ +00000780: 593b 2077 6974 686f 7574 2065 7665 6e20 Y; without even │ │ │ │ │ +00000790: 7468 6520 696d 706c 6965 6420 7761 7272 the implied warr │ │ │ │ │ +000007a0: 616e 7479 206f 6620 4d45 5243 4841 4e54 anty of MERCHANT │ │ │ │ │ +000007b0: 4142 494c 4954 5920 6f72 0a46 4954 4e45 ABILITY or.FITNE │ │ │ │ │ +000007c0: 5353 2046 4f52 2041 2050 4152 5449 4355 SS FOR A PARTICU │ │ │ │ │ +000007d0: 4c41 5220 5055 5250 4f53 452e 2053 6565 LAR PURPOSE. See │ │ │ │ │ +000007e0: 2074 6865 2047 4e55 2047 656e 6572 616c the GNU General │ │ │ │ │ +000007f0: 2050 7562 6c69 6320 4c69 6365 6e73 6520 Public License │ │ │ │ │ +00000800: 666f 720a 6d6f 7265 2064 6574 6169 6c73 for.more details │ │ │ │ │ +00000810: 2e0a 0a20 2020 596f 7520 7368 6f75 6c64 ... You should │ │ │ │ │ +00000820: 2068 6176 6520 7265 6365 6976 6564 2061 have received a │ │ │ │ │ +00000830: 2063 6f70 7920 6f66 2074 6865 2047 4e55 copy of the GNU │ │ │ │ │ +00000840: 2047 656e 6572 616c 2050 7562 6c69 6320 General Public │ │ │ │ │ +00000850: 4c69 6365 6e73 650a 616c 6f6e 6720 7769 License.along wi │ │ │ │ │ +00000860: 7468 20e2 8098 736b 6574 6368 e280 993b th ...sketch...; │ │ │ │ │ +00000870: 2073 6565 2074 6865 2066 696c 6520 434f see the file CO │ │ │ │ │ +00000880: 5059 494e 472e 7478 742e 2020 4966 206e PYING.txt. If n │ │ │ │ │ +00000890: 6f74 2c20 7365 650a 6874 7470 3a2f 2f77 ot, see.http://w │ │ │ │ │ +000008a0: 7777 2e67 6e75 2e6f 7267 2f63 6f70 796c ww.gnu.org/copyl │ │ │ │ │ +000008b0: 6566 742e 0a0a 2a20 4d65 6e75 3a0a 0a2a eft...* Menu:..* │ │ │ │ │ +000008c0: 2041 626f 7574 2073 6b65 7463 683a 3a20 About sketch:: │ │ │ │ │ +000008d0: 2020 2020 2020 2020 2020 2020 2020 2057 W │ │ │ │ │ +000008e0: 6879 2073 6b65 7463 6820 6578 6973 7473 hy sketch exists │ │ │ │ │ +000008f0: 2061 6e64 2077 6861 7420 6974 2064 6f65 and what it doe │ │ │ │ │ +00000900: 732e 0a2a 2049 6e74 726f 6475 6374 696f s..* Introductio │ │ │ │ │ +00000910: 6e20 6279 2065 7861 6d70 6c65 3a3a 2020 n by example:: │ │ │ │ │ +00000920: 2020 204d 6f73 7420 6665 6174 7572 6573 Most features │ │ │ │ │ +00000930: 2073 686f 776e 2061 7320 776f 726b 696e shown as workin │ │ │ │ │ +00000940: 6720 636f 6465 2e0a 2a20 496e 7075 7420 g code..* Input │ │ │ │ │ +00000950: 6c61 6e67 7561 6765 3a3a 2020 2020 2020 language:: │ │ │ │ │ +00000960: 2020 2020 2020 2020 5379 6e74 6178 2061 Syntax a │ │ │ │ │ +00000970: 6e64 2073 656d 616e 7469 6373 206f 6620 nd semantics of │ │ │ │ │ +00000980: e280 9873 6b65 7463 68e2 8099 2063 6f6d ...sketch... com │ │ │ │ │ +00000990: 6d61 6e64 732e 0a2a 2042 7569 6c64 696e mands..* Buildin │ │ │ │ │ +000009a0: 6720 6120 6472 6177 696e 673a 3a20 2020 g a drawing:: │ │ │ │ │ +000009b0: 2020 2020 2020 2048 6f77 2074 6f20 7573 How to us │ │ │ │ │ +000009c0: 6520 e280 9873 6b65 7463 68e2 8099 2070 e ...sketch... p │ │ │ │ │ +000009d0: 726f 6475 6374 6976 656c 792e 0a2a 2043 roductively..* C │ │ │ │ │ +000009e0: 6f6d 6d61 6e64 206c 696e 653a 3a20 2020 ommand line:: │ │ │ │ │ +000009f0: 2020 2020 2020 2020 2020 2020 204f 7074 Opt │ │ │ │ │ +00000a00: 696f 6e73 2061 6e64 2074 6865 6972 2075 ions and their u │ │ │ │ │ +00000a10: 7361 6765 2e0a 2a20 496e 7374 616c 6c69 sage..* Installi │ │ │ │ │ +00000a20: 6e67 2073 6b65 7463 683a 3a20 2020 2020 ng sketch:: │ │ │ │ │ +00000a30: 2020 2020 2020 4275 696c 6469 6e67 2061 Building a │ │ │ │ │ +00000a40: 6e64 2069 6e73 7461 6c6c 696e 6720 6672 nd installing fr │ │ │ │ │ +00000a50: 6f6d 2073 6f75 7263 6573 2e0a 2a20 496e om sources..* In │ │ │ │ │ +00000a60: 6465 7820 6f66 2073 796e 7461 783a 3a0a dex of syntax::. │ │ │ │ │ +00000a70: 2a20 496e 6465 783a 3a0a 0a20 2d2d 2054 * Index::.. -- T │ │ │ │ │ +00000a80: 6865 2044 6574 6169 6c65 6420 4e6f 6465 he Detailed Node │ │ │ │ │ +00000a90: 204c 6973 7469 6e67 202d 2d0a 0a41 626f Listing --..Abo │ │ │ │ │ +00000aa0: 7574 2073 6b65 7463 680a 0a2a 2052 6570 ut sketch..* Rep │ │ │ │ │ +00000ab0: 6f72 7469 6e67 2062 7567 733a 3a20 2020 orting bugs:: │ │ │ │ │ +00000ac0: 2020 2020 2020 2020 2020 204c 6574 2075 Let u │ │ │ │ │ +00000ad0: 7365 206b 6e6f 7720 7768 6174 2773 2077 se know what's w │ │ │ │ │ +00000ae0: 726f 6e67 210a 2a20 436f 6e74 7269 6275 rong!.* Contribu │ │ │ │ │ +00000af0: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: │ │ │ │ │ +00000b00: 2020 2020 2020 486f 7720 796f 7520 6361 How you ca │ │ │ │ │ +00000b10: 6e20 6865 6c70 2e2e 2e2e 0a0a 496e 7472 n help......Intr │ │ │ │ │ +00000b20: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ +00000b30: 706c 650a 0a2a 2048 656c 6c6f 2077 6f72 ple..* Hello wor │ │ │ │ │ +00000b40: 6c64 3a3a 2020 2020 2020 2020 2020 2020 ld:: │ │ │ │ │ +00000b50: 2020 2020 2053 696d 706c 6573 7420 706f Simplest po │ │ │ │ │ +00000b60: 7373 6962 6c65 20e2 8098 736b 6574 6368 ssible ...sketch │ │ │ │ │ +00000b70: e280 9920 7072 6f67 7261 6d2e 0a2a 2044 ... program..* D │ │ │ │ │ +00000b80: 7261 7769 6e67 206f 7074 696f 6e73 3a3a rawing options:: │ │ │ │ │ +00000b90: 2020 2020 2020 2020 2020 2020 2043 6f6e Con │ │ │ │ │ +00000ba0: 7472 6f6c 6c69 6e67 206f 626a 6563 7420 trolling object │ │ │ │ │ +00000bb0: 6170 7065 6172 616e 6365 2e0a 2a20 4472 appearance..* Dr │ │ │ │ │ +00000bc0: 6177 696e 6720 6120 736f 6c69 643a 3a20 awing a solid:: │ │ │ │ │ +00000bd0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ +00000be0: 696e 6720 616e 206f 626a 6563 7420 7769 ing an object wi │ │ │ │ │ +00000bf0: 7468 2033 6420 6170 7065 6172 616e 6365 th 3d appearance │ │ │ │ │ +00000c00: 2e0a 2a20 5370 6563 6961 6c20 6f62 6a65 ..* Special obje │ │ │ │ │ +00000c10: 6374 733a 3a20 2020 2020 2020 2020 2020 cts:: │ │ │ │ │ +00000c20: 2020 4c61 7969 6e67 2054 6558 206f 7665 Laying TeX ove │ │ │ │ │ +00000c30: 722c 2069 6e2c 206f 7220 756e 6465 7220 r, in, or under │ │ │ │ │ +00000c40: 6472 6177 696e 6773 2e0a 2a20 4f62 6a65 drawings..* Obje │ │ │ │ │ +00000c50: 6374 2074 7261 6e73 666f 726d 733a 3a20 ct transforms:: │ │ │ │ │ +00000c60: 2020 2020 2020 2020 2020 526f 7461 7465 Rotate │ │ │ │ │ +00000c70: 2c20 7472 616e 736c 6174 652c 2073 6361 , translate, sca │ │ │ │ │ +00000c80: 6c65 2c20 616e 6420 6f74 6865 7273 2e0a le, and others.. │ │ │ │ │ +00000c90: 2a20 5265 7065 6174 6564 206f 626a 6563 * Repeated objec │ │ │ │ │ +00000ca0: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: │ │ │ │ │ +00000cb0: 4d61 6b69 6e67 2074 7261 6e73 666f 726d Making transform │ │ │ │ │ +00000cc0: 6564 2063 6f70 6965 732e 0a2a 2053 7765 ed copies..* Swe │ │ │ │ │ +00000cd0: 7074 206f 626a 6563 7473 3a3a 2020 2020 pt objects:: │ │ │ │ │ +00000ce0: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep │ │ │ │ │ +00000cf0: 696e 6720 6f62 6a65 6374 7320 696e 2073 ing objects in s │ │ │ │ │ +00000d00: 7061 6365 2074 6f20 6d61 6b65 206e 6577 pace to make new │ │ │ │ │ +00000d10: 2073 6861 7065 732e 0a0a 5377 6570 7420 shapes...Swept │ │ │ │ │ +00000d20: 6f62 6a65 6374 730a 0a2a 2050 6f69 6e74 objects..* Point │ │ │ │ │ +00000d30: 2073 7765 6570 733a 3a20 2020 2020 2020 sweeps:: │ │ │ │ │ +00000d40: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ +00000d50: 6f69 6e74 7320 6d61 6b65 206c 696e 6573 oints make lines │ │ │ │ │ +00000d60: 2061 6e64 2070 6f6c 7967 6f6e 732e 0a2a and polygons..* │ │ │ │ │ +00000d70: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ +00000d80: 3a3a 2020 2020 2020 2020 2020 2020 2053 :: S │ │ │ │ │ +00000d90: 7765 7074 206c 696e 6573 206d 616b 6520 wept lines make │ │ │ │ │ +00000da0: 7375 7266 6163 6573 2e0a 2a20 4e65 7374 surfaces..* Nest │ │ │ │ │ +00000db0: 6564 2073 7765 6570 733a 3a20 2020 2020 ed sweeps:: │ │ │ │ │ +00000dc0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +00000dd0: 7377 6565 7073 2061 7265 2075 7365 6675 sweeps are usefu │ │ │ │ │ +00000de0: 6c21 0a2a 2050 6f6c 7967 6f6e 2073 7765 l!.* Polygon swe │ │ │ │ │ +00000df0: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: │ │ │ │ │ +00000e00: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon │ │ │ │ │ +00000e10: 7320 6d61 6b65 2073 6f6c 6964 732e 2e2e s make solids... │ │ │ │ │ +00000e20: 0a2a 2050 6f6c 796c 696e 6520 7377 6565 .* Polyline swee │ │ │ │ │ +00000e30: 7073 2077 6974 6820 636c 6f73 7572 653a ps with closure: │ │ │ │ │ +00000e40: 3a20 2061 6e64 2073 6f20 646f 2063 6c6f : and so do clo │ │ │ │ │ +00000e50: 7365 6420 706f 6c79 6c69 6e65 2073 7765 sed polyline swe │ │ │ │ │ +00000e60: 6570 732e 0a2a 2041 6666 696e 6520 6172 eps..* Affine ar │ │ │ │ │ +00000e70: 6974 686d 6574 6963 3a3a 2020 2020 2020 ithmetic:: │ │ │ │ │ +00000e80: 2020 2020 2053 6b65 7463 6820 7573 6566 Sketch usef │ │ │ │ │ +00000e90: 756c 206d 6174 6820 6578 7072 6573 7369 ul math expressi │ │ │ │ │ +00000ea0: 6f6e 2e0a 2a20 4d6f 7265 2074 6f20 6c65 on..* More to le │ │ │ │ │ +00000eb0: 6172 6e3a 3a20 2020 2020 2020 2020 2020 arn:: │ │ │ │ │ +00000ec0: 2020 2020 4368 6563 6b20 6f75 7420 7468 Check out th │ │ │ │ │ +00000ed0: 6520 4d6f 6269 7573 2073 7472 6970 210a e Mobius strip!. │ │ │ │ │ +00000ee0: 0a49 6e70 7574 206c 616e 6775 6167 650a .Input language. │ │ │ │ │ +00000ef0: 0a2a 204c 616e 6775 6167 6520 6261 7369 .* Language basi │ │ │ │ │ +00000f00: 6373 3a3a 2020 2020 2020 2020 2020 2020 cs:: │ │ │ │ │ +00000f10: 2043 6173 652c 2073 7061 6365 2c20 636f Case, space, co │ │ │ │ │ +00000f20: 6d6d 656e 7473 2c20 696e 636c 7564 6520 mments, include │ │ │ │ │ +00000f30: 6669 6c65 732e 0a2a 2044 7261 7761 626c files..* Drawabl │ │ │ │ │ +00000f40: 6573 3a3a 2020 2020 2020 2020 2020 2020 es:: │ │ │ │ │ +00000f50: 2020 2020 2020 2054 6869 6e67 7320 7468 Things th │ │ │ │ │ +00000f60: 6174 2063 616e 2062 6520 6472 6177 6e2e at can be drawn. │ │ │ │ │ +00000f70: 0a2a 2044 6566 696e 6974 696f 6e73 3a3a .* Definitions:: │ │ │ │ │ +00000f80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00000f90: 2047 6976 696e 6720 7468 696e 6773 206e Giving things n │ │ │ │ │ +00000fa0: 616d 6573 2e0a 2a20 476c 6f62 616c 2065 ames..* Global e │ │ │ │ │ +00000fb0: 6e76 6972 6f6e 6d65 6e74 3a3a 2020 2020 nvironment:: │ │ │ │ │ +00000fc0: 2020 2020 2020 4166 6665 6374 2074 6865 Affect the │ │ │ │ │ +00000fd0: 2065 6e74 6972 6520 6472 6177 696e 672e entire drawing. │ │ │ │ │ +00000fe0: 0a0a 4261 7369 6373 0a0a 2a20 4964 656e ..Basics..* Iden │ │ │ │ │ +00000ff0: 7469 6669 6572 733a 3a20 2020 2020 2020 tifiers:: │ │ │ │ │ +00001000: 2020 2020 2020 2020 2020 4e61 6d65 7320 Names │ │ │ │ │ +00001010: 666f 7220 7468 696e 6773 2e0a 2a20 4b65 for things..* Ke │ │ │ │ │ +00001020: 7920 616e 6420 7265 7365 7276 6564 2077 y and reserved w │ │ │ │ │ +00001030: 6f72 6473 3a3a 2020 2020 2020 4e61 6d65 ords:: Name │ │ │ │ │ +00001040: 7320 796f 7520 7368 6f75 6c64 6e27 7420 s you shouldn't │ │ │ │ │ +00001050: 7573 652e 0a2a 204c 6974 6572 616c 733a use..* Literals: │ │ │ │ │ +00001060: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00001070: 2020 2020 2043 6f6e 7374 616e 7473 2061 Constants a │ │ │ │ │ +00001080: 6e64 2063 6f6e 7374 7275 6374 6f72 732e nd constructors. │ │ │ │ │ +00001090: 0a2a 2041 7269 7468 6d65 7469 633a 3a20 .* Arithmetic:: │ │ │ │ │ +000010a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000010b0: 2052 756c 6573 2066 6f72 2065 7870 7265 Rules for expre │ │ │ │ │ +000010c0: 7373 696f 6e73 2e0a 2a20 4f70 7469 6f6e ssions..* Option │ │ │ │ │ +000010d0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +000010e0: 2020 2020 2020 2020 4d6f 6469 6679 696e Modifyin │ │ │ │ │ +000010f0: 6720 6f62 6a65 6374 2061 7070 6561 7261 g object appeara │ │ │ │ │ +00001100: 6e63 652e 0a0a 4c69 7465 7261 6c73 0a0a nce...Literals.. │ │ │ │ │ +00001110: 2a20 5363 616c 6172 206c 6974 6572 616c * Scalar literal │ │ │ │ │ +00001120: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00001130: 4a75 7374 2074 6865 206e 756d 6265 7273 Just the numbers │ │ │ │ │ +00001140: 2e0a 2a20 506f 696e 7420 616e 6420 7665 ..* Point and ve │ │ │ │ │ +00001150: 6374 6f72 206c 6974 6572 616c 733a 3a20 ctor literals:: │ │ │ │ │ +00001160: 2020 3364 2071 7561 6e74 6974 6965 732e 3d quantities. │ │ │ │ │ +00001170: 0a2a 2054 7261 6e73 666f 726d 206c 6974 .* Transform lit │ │ │ │ │ +00001180: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: │ │ │ │ │ +00001190: 204d 6174 7269 7820 666f 726d 2e0a 0a41 Matrix form...A │ │ │ │ │ +000011a0: 7269 7468 6d65 7469 6320 6578 7072 6573 rithmetic expres │ │ │ │ │ +000011b0: 7369 6f6e 730a 0a2a 2054 776f 2d6f 7065 sions..* Two-ope │ │ │ │ │ +000011c0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ +000011d0: 726d 733a 3a20 2041 206f 7020 420a 2a20 rms:: A op B.* │ │ │ │ │ +000011e0: 556e 6172 7920 666f 726d 733a 3a20 2020 Unary forms:: │ │ │ │ │ +000011f0: 2020 2020 2020 2020 2020 2020 2020 6f70 op │ │ │ │ │ +00001200: 2041 2028 616e 6420 6f74 6865 7273 290a A (and others). │ │ │ │ │ +00001210: 0a4f 7074 696f 6e73 0a0a 2a20 5053 5472 .Options..* PSTr │ │ │ │ │ +00001220: 6963 6b73 206f 7074 696f 6e73 3a3a 2020 icks options:: │ │ │ │ │ +00001230: 2020 2020 2020 2020 2020 4f70 7469 6f6e Option │ │ │ │ │ +00001240: 7320 696e 6865 7269 7465 6420 6672 6f6d s inherited from │ │ │ │ │ +00001250: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks.... │ │ │ │ │ +00001260: 0a2a 2054 696b 5a2f 5047 4620 6f70 7469 .* TikZ/PGF opti │ │ │ │ │ +00001270: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: │ │ │ │ │ +00001280: 204f 7074 696f 6e73 2069 6e68 6572 6974 Options inherit │ │ │ │ │ +00001290: 6564 2066 726f 6d20 e280 9854 696b 5a2f ed from ...TikZ/ │ │ │ │ │ +000012a0: 5047 46e2 8099 2e0a 2a20 446f 7473 2069 PGF.....* Dots i │ │ │ │ │ +000012b0: 6e20 5469 6b5a 2f50 4746 3a3a 2020 2020 n TikZ/PGF:: │ │ │ │ │ +000012c0: 2020 2020 2020 2020 536b 6574 6368 2075 Sketch u │ │ │ │ │ +000012d0: 7365 7320 e280 9854 696b 5a2f 5047 46e2 ses ...TikZ/PGF. │ │ │ │ │ +000012e0: 8099 2063 6972 636c 6573 2066 6f72 2064 .. circles for d │ │ │ │ │ +000012f0: 6f74 732e 0a2a 2054 696b 5a2f 5047 4620 ots..* TikZ/PGF │ │ │ │ │ +00001300: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ +00001310: 6c65 733a 3a20 2053 7570 706f 7274 2066 les:: Support f │ │ │ │ │ +00001320: 6f72 20e2 8098 5469 6b5a 2f50 4746 e280 or ...TikZ/PGF.. │ │ │ │ │ +00001330: 9920 6e61 6d65 642c 2075 7365 722d 6465 . named, user-de │ │ │ │ │ +00001340: 6669 6e65 6420 7374 796c 6573 2e0a 2a20 fined styles..* │ │ │ │ │ +00001350: 5472 616e 7370 6172 656e 6379 3a3a 2020 Transparency:: │ │ │ │ │ +00001360: 2020 2020 2020 2020 2020 2020 2020 5365 Se │ │ │ │ │ +00001370: 652d 7468 726f 7567 6820 706f 6c79 676f e-through polygo │ │ │ │ │ +00001380: 6e73 2e0a 2a20 496e 7465 726e 616c 206f ns..* Internal o │ │ │ │ │ +00001390: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: │ │ │ │ │ +000013a0: 2020 2020 4f70 7469 6f6e 7320 7573 6564 Options used │ │ │ │ │ +000013b0: 2062 7920 e280 9873 6b65 7463 68e2 8099 by ...sketch... │ │ │ │ │ +000013c0: 2e0a 0a50 6f69 6e74 206c 6973 7473 0a0a ...Point lists.. │ │ │ │ │ +000013d0: 2a20 4472 6177 6162 6c65 733a 3a20 2020 * Drawables:: │ │ │ │ │ +000013e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000013f0: 5468 696e 6773 2074 6861 7420 6172 6520 Things that are │ │ │ │ │ +00001400: 6472 6177 6e2e 0a2a 2044 6566 696e 6974 drawn..* Definit │ │ │ │ │ +00001410: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ +00001420: 2020 2020 2020 2054 6869 6e67 7320 7769 Things wi │ │ │ │ │ +00001430: 7468 206e 616d 6573 2e0a 0a44 7261 7761 th names...Drawa │ │ │ │ │ +00001440: 626c 6573 0a0a 2a20 446f 7473 3a3a 2020 bles..* Dots:: │ │ │ │ │ +00001450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00001460: 2020 2020 2020 4472 6177 2064 6f74 732e Draw dots. │ │ │ │ │ +00001470: 0a2a 204c 696e 6573 3a3a 2020 2020 2020 .* Lines:: │ │ │ │ │ 00001480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001490: 2020 2020 2044 7261 7720 706f 6c79 6c69 Draw polyli │ │ │ │ │ -000014a0: 6e65 732e 0a2a 2043 7572 7665 733a 3a20 nes..* Curves:: │ │ │ │ │ +00001490: 2044 7261 7720 706f 6c79 6c69 6e65 732e Draw polylines. │ │ │ │ │ +000014a0: 0a2a 2043 7572 7665 733a 3a20 2020 2020 .* Curves:: │ │ │ │ │ 000014b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000014c0: 2020 2020 2044 7261 7720 6375 7276 6573 Draw curves │ │ │ │ │ -000014d0: 2e0a 2a20 506f 6c79 676f 6e73 3a3a 2020 ..* Polygons:: │ │ │ │ │ -000014e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000014f0: 2020 4472 6177 2070 6f6c 7967 6f6e 732e Draw polygons. │ │ │ │ │ -00001500: 0a2a 2053 7065 6369 616c 733a 3a20 2020 .* Specials:: │ │ │ │ │ -00001510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001520: 2045 6d62 6564 2072 6177 204c 6154 6558 Embed raw LaTeX │ │ │ │ │ -00001530: 2061 6e64 20e2 8098 5053 5472 6963 6b73 and ...PSTricks │ │ │ │ │ -00001540: e280 992e 0a2a 2053 7765 6570 733a 3a20 .....* Sweeps:: │ │ │ │ │ +000014c0: 2044 7261 7720 6375 7276 6573 2e0a 2a20 Draw curves..* │ │ │ │ │ +000014d0: 506f 6c79 676f 6e73 3a3a 2020 2020 2020 Polygons:: │ │ │ │ │ +000014e0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ +000014f0: 6177 2070 6f6c 7967 6f6e 732e 0a2a 2053 aw polygons..* S │ │ │ │ │ +00001500: 7065 6369 616c 733a 3a20 2020 2020 2020 pecials:: │ │ │ │ │ +00001510: 2020 2020 2020 2020 2020 2020 2045 6d62 Emb │ │ │ │ │ +00001520: 6564 2072 6177 204c 6154 6558 2061 6e64 ed raw LaTeX and │ │ │ │ │ +00001530: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks.... │ │ │ │ │ +00001540: 0a2a 2053 7765 6570 733a 3a20 2020 2020 .* Sweeps:: │ │ │ │ │ 00001550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001560: 2020 2020 2044 7261 7720 7377 6565 7073 Draw sweeps │ │ │ │ │ -00001570: 206f 6620 646f 7473 2061 6e64 2070 6f6c of dots and pol │ │ │ │ │ -00001580: 796c 696e 6573 2e0a 2a20 426c 6f63 6b73 ylines..* Blocks │ │ │ │ │ -00001590: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -000015a0: 2020 2020 2020 2020 4772 6f75 7020 6f74 Group ot │ │ │ │ │ -000015b0: 6865 7220 6472 6177 6162 6c65 732e 0a2a her drawables..* │ │ │ │ │ -000015c0: 2052 6570 6561 7473 3a3a 2020 2020 2020 Repeats:: │ │ │ │ │ -000015d0: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -000015e0: 7261 7720 7472 616e 7366 6f72 6d65 6420 raw transformed │ │ │ │ │ -000015f0: 636f 7069 6573 206f 6620 6f62 6a65 6374 copies of object │ │ │ │ │ -00001600: 732e 0a2a 2050 7574 733a 3a20 2020 2020 s..* Puts:: │ │ │ │ │ -00001610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001620: 2020 2044 7261 7720 6f6e 6520 6f62 6a65 Draw one obje │ │ │ │ │ -00001630: 6374 2074 7261 6e73 666f 726d 6564 2e0a ct transformed.. │ │ │ │ │ -00001640: 0a53 7765 6570 730a 0a2a 2053 7765 7074 .Sweeps..* Swept │ │ │ │ │ -00001650: 2070 6f69 6e74 733a 3a20 2020 2020 2020 points:: │ │ │ │ │ -00001660: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ -00001670: 6f69 6e74 7320 6d61 6b65 206c 696e 6573 oints make lines │ │ │ │ │ -00001680: 206f 7220 706f 6c79 676f 6e73 2e0a 2a20 or polygons..* │ │ │ │ │ -00001690: 5377 6570 7420 6c69 6e65 733a 3a20 2020 Swept lines:: │ │ │ │ │ -000016a0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -000016b0: 6570 7420 6c69 6e65 7320 6d61 6b65 206f ept lines make o │ │ │ │ │ -000016c0: 7065 6e20 6f72 2063 6c6f 7365 6420 7375 pen or closed su │ │ │ │ │ -000016d0: 7266 6163 6573 2e0a 2a20 5377 6570 7420 rfaces..* Swept │ │ │ │ │ -000016e0: 706f 6c79 676f 6e73 3a3a 2020 2020 2020 polygons:: │ │ │ │ │ -000016f0: 2020 2020 2020 2020 5377 6570 7420 706f Swept po │ │ │ │ │ -00001700: 6c79 676f 6e73 206d 616b 6520 636c 6f73 lygons make clos │ │ │ │ │ -00001710: 6564 2073 7572 6661 6365 732e 0a2a 2053 ed surfaces..* S │ │ │ │ │ -00001720: 7765 7074 2062 6c6f 636b 733a 3a20 2020 wept blocks:: │ │ │ │ │ -00001730: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00001740: 7074 2062 6c6f 636b 20e2 89a1 2062 6c6f pt block ... blo │ │ │ │ │ -00001750: 636b 206f 6620 7377 6565 7073 2e0a 2a20 ck of sweeps..* │ │ │ │ │ -00001760: 5377 6565 7020 6661 6365 2073 706c 6974 Sweep face split │ │ │ │ │ -00001770: 7469 6e67 3a3a 2020 2020 2020 2020 4669 ting:: Fi │ │ │ │ │ -00001780: 7869 6e67 2077 6172 7065 6420 6661 6365 xing warped face │ │ │ │ │ -00001790: 7320 7769 7468 2074 7269 616e 676c 6573 s with triangles │ │ │ │ │ -000017a0: 2e0a 0a44 6566 696e 6974 696f 6e73 0a0a ...Definitions.. │ │ │ │ │ -000017b0: 2a20 466f 726d 7320 6f66 2064 6566 696e * Forms of defin │ │ │ │ │ -000017c0: 6974 696f 6e73 3a3a 2020 2020 2020 2020 itions:: │ │ │ │ │ -000017d0: 4469 6666 6572 656e 7420 6465 6673 2066 Different defs f │ │ │ │ │ -000017e0: 6f72 2064 6966 6665 7265 6e74 2070 7572 or different pur │ │ │ │ │ -000017f0: 706f 7365 732e 0a2a 2046 6f72 6d73 206f poses..* Forms o │ │ │ │ │ -00001800: 6620 7265 6665 7265 6e63 6573 3a3a 2020 f references:: │ │ │ │ │ -00001810: 2020 2020 2020 2048 6f77 2072 6566 6572 How refer │ │ │ │ │ -00001820: 656e 6365 7320 6465 6e6f 7465 2074 7970 ences denote typ │ │ │ │ │ -00001830: 6573 2e0a 0a47 6c6f 6261 6c20 656e 7669 es...Global envi │ │ │ │ │ -00001840: 726f 6e6d 656e 740a 0a2a 2047 6c6f 6261 ronment..* Globa │ │ │ │ │ -00001850: 6c20 6f70 7469 6f6e 733a 3a20 2020 2020 l options:: │ │ │ │ │ -00001860: 2020 2020 2020 2020 2041 7474 7269 6275 Attribu │ │ │ │ │ -00001870: 7465 7320 6f66 2074 6865 2065 6e74 6972 tes of the entir │ │ │ │ │ -00001880: 6520 6472 6177 696e 672e 0a2a 2043 616d e drawing..* Cam │ │ │ │ │ -00001890: 6572 613a 3a20 2020 2020 2020 2020 2020 era:: │ │ │ │ │ -000018a0: 2020 2020 2020 2020 2020 2041 2066 696e A fin │ │ │ │ │ -000018b0: 616c 2063 616d 6572 6120 7472 616e 7366 al camera transf │ │ │ │ │ -000018c0: 6f72 6d61 7469 6f6e 206f 6620 7468 6520 ormation of the │ │ │ │ │ -000018d0: 7363 656e 652e 0a2a 2050 6963 7475 7265 scene..* Picture │ │ │ │ │ -000018e0: 2062 6f78 3a3a 2020 2020 2020 2020 2020 box:: │ │ │ │ │ -000018f0: 2020 2020 2020 2053 6574 7469 6e67 2074 Setting t │ │ │ │ │ -00001900: 6865 2062 6f75 6e64 696e 6720 626f 7820 he bounding box │ │ │ │ │ -00001910: 616e 6420 3264 2063 6c69 7070 696e 672e and 2d clipping. │ │ │ │ │ -00001920: 0a2a 2046 7261 6d65 3a3a 2020 2020 2020 .* Frame:: │ │ │ │ │ -00001930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001940: 2041 6464 696e 6720 6120 626f 7820 6172 Adding a box ar │ │ │ │ │ -00001950: 6f75 6e64 2074 6865 2064 7261 7769 6e67 ound the drawing │ │ │ │ │ -00001960: 2e0a 2a20 4c61 6e67 7561 6765 3a3a 2020 ..* Language:: │ │ │ │ │ -00001970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001980: 2020 5365 7474 696e 6720 7468 6520 6f75 Setting the ou │ │ │ │ │ -00001990: 7470 7574 206c 616e 6775 6167 652e 0a0a tput language... │ │ │ │ │ -000019a0: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi │ │ │ │ │ -000019b0: 6e67 0a0a 2a20 4f76 6572 7669 6577 3a3a ng..* Overview:: │ │ │ │ │ +00001560: 2044 7261 7720 7377 6565 7073 206f 6620 Draw sweeps of │ │ │ │ │ +00001570: 646f 7473 2061 6e64 2070 6f6c 796c 696e dots and polylin │ │ │ │ │ +00001580: 6573 2e0a 2a20 426c 6f63 6b73 3a3a 2020 es..* Blocks:: │ │ │ │ │ +00001590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000015a0: 2020 2020 4772 6f75 7020 6f74 6865 7220 Group other │ │ │ │ │ +000015b0: 6472 6177 6162 6c65 732e 0a2a 2052 6570 drawables..* Rep │ │ │ │ │ +000015c0: 6561 7473 3a3a 2020 2020 2020 2020 2020 eats:: │ │ │ │ │ +000015d0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +000015e0: 7472 616e 7366 6f72 6d65 6420 636f 7069 transformed copi │ │ │ │ │ +000015f0: 6573 206f 6620 6f62 6a65 6374 732e 0a2a es of objects..* │ │ │ │ │ +00001600: 2050 7574 733a 3a20 2020 2020 2020 2020 Puts:: │ │ │ │ │ +00001610: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ +00001620: 7261 7720 6f6e 6520 6f62 6a65 6374 2074 raw one object t │ │ │ │ │ +00001630: 7261 6e73 666f 726d 6564 2e0a 0a53 7765 ransformed...Swe │ │ │ │ │ +00001640: 6570 730a 0a2a 2053 7765 7074 2070 6f69 eps..* Swept poi │ │ │ │ │ +00001650: 6e74 733a 3a20 2020 2020 2020 2020 2020 nts:: │ │ │ │ │ +00001660: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point │ │ │ │ │ +00001670: 7320 6d61 6b65 206c 696e 6573 206f 7220 s make lines or │ │ │ │ │ +00001680: 706f 6c79 676f 6e73 2e0a 2a20 5377 6570 polygons..* Swep │ │ │ │ │ +00001690: 7420 6c69 6e65 733a 3a20 2020 2020 2020 t lines:: │ │ │ │ │ +000016a0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +000016b0: 6c69 6e65 7320 6d61 6b65 206f 7065 6e20 lines make open │ │ │ │ │ +000016c0: 6f72 2063 6c6f 7365 6420 7375 7266 6163 or closed surfac │ │ │ │ │ +000016d0: 6573 2e0a 2a20 5377 6570 7420 706f 6c79 es..* Swept poly │ │ │ │ │ +000016e0: 676f 6e73 3a3a 2020 2020 2020 2020 2020 gons:: │ │ │ │ │ +000016f0: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo │ │ │ │ │ +00001700: 6e73 206d 616b 6520 636c 6f73 6564 2073 ns make closed s │ │ │ │ │ +00001710: 7572 6661 6365 732e 0a2a 2053 7765 7074 urfaces..* Swept │ │ │ │ │ +00001720: 2062 6c6f 636b 733a 3a20 2020 2020 2020 blocks:: │ │ │ │ │ +00001730: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b │ │ │ │ │ +00001740: 6c6f 636b 20e2 89a1 2062 6c6f 636b 206f lock ... block o │ │ │ │ │ +00001750: 6620 7377 6565 7073 2e0a 2a20 5377 6565 f sweeps..* Swee │ │ │ │ │ +00001760: 7020 6661 6365 2073 706c 6974 7469 6e67 p face splitting │ │ │ │ │ +00001770: 3a3a 2020 2020 2020 2020 4669 7869 6e67 :: Fixing │ │ │ │ │ +00001780: 2077 6172 7065 6420 6661 6365 7320 7769 warped faces wi │ │ │ │ │ +00001790: 7468 2074 7269 616e 676c 6573 2e0a 0a44 th triangles...D │ │ │ │ │ +000017a0: 6566 696e 6974 696f 6e73 0a0a 2a20 466f efinitions..* Fo │ │ │ │ │ +000017b0: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio │ │ │ │ │ +000017c0: 6e73 3a3a 2020 2020 2020 2020 4469 6666 ns:: Diff │ │ │ │ │ +000017d0: 6572 656e 7420 6465 6673 2066 6f72 2064 erent defs for d │ │ │ │ │ +000017e0: 6966 6665 7265 6e74 2070 7572 706f 7365 ifferent purpose │ │ │ │ │ +000017f0: 732e 0a2a 2046 6f72 6d73 206f 6620 7265 s..* Forms of re │ │ │ │ │ +00001800: 6665 7265 6e63 6573 3a3a 2020 2020 2020 ferences:: │ │ │ │ │ +00001810: 2020 2048 6f77 2072 6566 6572 656e 6365 How reference │ │ │ │ │ +00001820: 7320 6465 6e6f 7465 2074 7970 6573 2e0a s denote types.. │ │ │ │ │ +00001830: 0a47 6c6f 6261 6c20 656e 7669 726f 6e6d .Global environm │ │ │ │ │ +00001840: 656e 740a 0a2a 2047 6c6f 6261 6c20 6f70 ent..* Global op │ │ │ │ │ +00001850: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: │ │ │ │ │ +00001860: 2020 2020 2041 7474 7269 6275 7465 7320 Attributes │ │ │ │ │ +00001870: 6f66 2074 6865 2065 6e74 6972 6520 6472 of the entire dr │ │ │ │ │ +00001880: 6177 696e 672e 0a2a 2043 616d 6572 613a awing..* Camera: │ │ │ │ │ +00001890: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000018a0: 2020 2020 2020 2041 2066 696e 616c 2063 A final c │ │ │ │ │ +000018b0: 616d 6572 6120 7472 616e 7366 6f72 6d61 amera transforma │ │ │ │ │ +000018c0: 7469 6f6e 206f 6620 7468 6520 7363 656e tion of the scen │ │ │ │ │ +000018d0: 652e 0a2a 2050 6963 7475 7265 2062 6f78 e..* Picture box │ │ │ │ │ +000018e0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +000018f0: 2020 2053 6574 7469 6e67 2074 6865 2062 Setting the b │ │ │ │ │ +00001900: 6f75 6e64 696e 6720 626f 7820 616e 6420 ounding box and │ │ │ │ │ +00001910: 3264 2063 6c69 7070 696e 672e 0a2a 2046 2d clipping..* F │ │ │ │ │ +00001920: 7261 6d65 3a3a 2020 2020 2020 2020 2020 rame:: │ │ │ │ │ +00001930: 2020 2020 2020 2020 2020 2020 2041 6464 Add │ │ │ │ │ +00001940: 696e 6720 6120 626f 7820 6172 6f75 6e64 ing a box around │ │ │ │ │ +00001950: 2074 6865 2064 7261 7769 6e67 2e0a 2a20 the drawing..* │ │ │ │ │ +00001960: 4c61 6e67 7561 6765 3a3a 2020 2020 2020 Language:: │ │ │ │ │ +00001970: 2020 2020 2020 2020 2020 2020 2020 5365 Se │ │ │ │ │ +00001980: 7474 696e 6720 7468 6520 6f75 7470 7574 tting the output │ │ │ │ │ +00001990: 206c 616e 6775 6167 652e 0a0a 4275 696c language...Buil │ │ │ │ │ +000019a0: 6469 6e67 2061 2064 7261 7769 6e67 0a0a ding a drawing.. │ │ │ │ │ +000019b0: 2a20 4f76 6572 7669 6577 3a3a 2020 2020 * Overview:: │ │ │ │ │ 000019c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000019d0: 2020 2020 4275 696c 6469 6e67 2061 2073 Building a s │ │ │ │ │ -000019e0: 7562 7374 616e 7469 616c 2064 7261 7769 ubstantial drawi │ │ │ │ │ -000019f0: 6e67 2e0a 2a20 4120 7465 6368 6e69 6361 ng..* A technica │ │ │ │ │ -00001a00: 6c20 6472 6177 696e 673a 3a20 2020 2020 l drawing:: │ │ │ │ │ -00001a10: 2020 2020 416e 2065 7861 6d70 6c65 2077 An example w │ │ │ │ │ -00001a20: 6974 6820 6669 6e65 2070 6c61 6365 6d65 ith fine placeme │ │ │ │ │ -00001a30: 6e74 2e0a 2a20 4120 6869 6572 6172 6368 nt..* A hierarch │ │ │ │ │ -00001a40: 6963 616c 206d 6f64 656c 3a3a 2020 2020 ical model:: │ │ │ │ │ -00001a50: 2020 2020 416e 2065 7861 6d70 6c65 2077 An example w │ │ │ │ │ -00001a60: 6974 6820 7377 6565 7073 2061 6e64 2070 ith sweeps and p │ │ │ │ │ -00001a70: 7574 732e 0a2a 2043 6176 6561 7473 3a3a uts..* Caveats:: │ │ │ │ │ +000019d0: 4275 696c 6469 6e67 2061 2073 7562 7374 Building a subst │ │ │ │ │ +000019e0: 616e 7469 616c 2064 7261 7769 6e67 2e0a antial drawing.. │ │ │ │ │ +000019f0: 2a20 4120 7465 6368 6e69 6361 6c20 6472 * A technical dr │ │ │ │ │ +00001a00: 6177 696e 673a 3a20 2020 2020 2020 2020 awing:: │ │ │ │ │ +00001a10: 416e 2065 7861 6d70 6c65 2077 6974 6820 An example with │ │ │ │ │ +00001a20: 6669 6e65 2070 6c61 6365 6d65 6e74 2e0a fine placement.. │ │ │ │ │ +00001a30: 2a20 4120 6869 6572 6172 6368 6963 616c * A hierarchical │ │ │ │ │ +00001a40: 206d 6f64 656c 3a3a 2020 2020 2020 2020 model:: │ │ │ │ │ +00001a50: 416e 2065 7861 6d70 6c65 2077 6974 6820 An example with │ │ │ │ │ +00001a60: 7377 6565 7073 2061 6e64 2070 7574 732e sweeps and puts. │ │ │ │ │ +00001a70: 0a2a 2043 6176 6561 7473 3a3a 2020 2020 .* Caveats:: │ │ │ │ │ 00001a80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001a90: 2020 2020 2057 6865 7265 2074 726f 7562 Where troub │ │ │ │ │ -00001aa0: 6c65 2063 616e 206f 6363 7572 2e0a 0a43 le can occur...C │ │ │ │ │ -00001ab0: 6176 6561 7473 0a0a 2a20 4c69 6d69 7473 aveats..* Limits │ │ │ │ │ -00001ac0: 206f 6e20 6572 726f 7220 6465 7465 6374 on error detect │ │ │ │ │ -00001ad0: 696f 6e3a 3a20 2020 5768 6174 2073 6b65 ion:: What ske │ │ │ │ │ -00001ae0: 7463 6820 646f 6573 6e27 7420 646f 2e0a tch doesn't do.. │ │ │ │ │ -00001af0: 2a20 436c 6970 7069 6e67 3a3a 2020 2020 * Clipping:: │ │ │ │ │ -00001b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001b10: 4e6f 2063 6c69 7070 696e 6720 6174 2070 No clipping at p │ │ │ │ │ -00001b20: 7265 7365 6e74 2e0a 2a20 4869 6464 656e resent..* Hidden │ │ │ │ │ -00001b30: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal │ │ │ │ │ -00001b40: 3a3a 2020 2020 2020 496d 7065 7266 6563 :: Imperfec │ │ │ │ │ -00001b50: 7469 6f6e 7320 746f 2066 6978 2e0a 0a48 tions to fix...H │ │ │ │ │ -00001b60: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re │ │ │ │ │ -00001b70: 6d6f 7661 6c20 616e 6420 706f 6c79 676f moval and polygo │ │ │ │ │ -00001b80: 6e20 7370 6c69 7474 696e 670a 0a2a 2053 n splitting..* S │ │ │ │ │ -00001b90: 7461 7469 7374 6963 733a 3a20 2020 2020 tatistics:: │ │ │ │ │ -00001ba0: 2020 2020 2020 2020 2020 2020 2050 6572 Per │ │ │ │ │ -00001bb0: 666f 726d 616e 6365 206e 756d 6265 7273 formance numbers │ │ │ │ │ -00001bc0: 206f 6e20 6465 7074 6820 736f 7274 2e0a on depth sort.. │ │ │ │ │ -00001bd0: 2a20 4275 6773 2061 6e64 2061 6e6f 6d61 * Bugs and anoma │ │ │ │ │ -00001be0: 6c69 6573 3a3a 2020 2020 2020 2020 2020 lies:: │ │ │ │ │ -00001bf0: 496d 7065 7266 6563 7469 6f6e 7320 696e Imperfections in │ │ │ │ │ -00001c00: 2074 6869 7320 696d 706c 656d 656e 7461 this implementa │ │ │ │ │ -00001c10: 7469 6f6e 2e0a 0a0a 1f0a 4669 6c65 3a20 tion......File: │ │ │ │ │ -00001c20: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00001c30: 6465 3a20 4162 6f75 7420 736b 6574 6368 de: About sketch │ │ │ │ │ -00001c40: 2c20 204e 6578 743a 2049 6e74 726f 6475 , Next: Introdu │ │ │ │ │ -00001c50: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example │ │ │ │ │ -00001c60: 2c20 2050 7265 763a 2054 6f70 2c20 2055 , Prev: Top, U │ │ │ │ │ -00001c70: 703a 2054 6f70 0a0a 3120 4162 6f75 7420 p: Top..1 About │ │ │ │ │ -00001c80: 736b 6574 6368 0a2a 2a2a 2a2a 2a2a 2a2a sketch.********* │ │ │ │ │ -00001c90: 2a2a 2a2a 2a0a 0a2a 204d 656e 753a 0a0a *****..* Menu:.. │ │ │ │ │ -00001ca0: 2a20 5265 706f 7274 696e 6720 6275 6773 * Reporting bugs │ │ │ │ │ -00001cb0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00001cc0: 4c65 7420 7573 6520 6b6e 6f77 2077 6861 Let use know wha │ │ │ │ │ -00001cd0: 7427 7320 7772 6f6e 6721 0a2a 2043 6f6e t's wrong!.* Con │ │ │ │ │ -00001ce0: 7472 6962 7574 696f 6e73 3a3a 2020 2020 tributions:: │ │ │ │ │ -00001cf0: 2020 2020 2020 2020 2020 2048 6f77 2079 How y │ │ │ │ │ -00001d00: 6f75 2063 616e 2068 656c 702e 2e2e 2e0a ou can help..... │ │ │ │ │ -00001d10: 0ae2 8098 536b 6574 6368 e280 9920 6973 ....Sketch... is │ │ │ │ │ -00001d20: 2061 2073 6d61 6c6c 2c20 7369 6d70 6c65 a small, simple │ │ │ │ │ -00001d30: 2073 7973 7465 6d20 666f 7220 7072 6f64 system for prod │ │ │ │ │ -00001d40: 7563 696e 6720 6c69 6e65 2064 7261 7769 ucing line drawi │ │ │ │ │ -00001d50: 6e67 7320 6f66 2074 776f 2d0a 6f72 2074 ngs of two-.or t │ │ │ │ │ -00001d60: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional │ │ │ │ │ -00001d70: 206f 626a 6563 7473 2061 6e64 2073 6365 objects and sce │ │ │ │ │ -00001d80: 6e65 732e 2020 4974 2062 6567 616e 2061 nes. It began a │ │ │ │ │ -00001d90: 7320 6120 7761 7920 746f 206d 616b 650a s a way to make. │ │ │ │ │ -00001da0: 696c 6c75 7374 7261 7469 6f6e 7320 666f illustrations fo │ │ │ │ │ -00001db0: 7220 6120 7465 7874 626f 6f6b 2061 6674 r a textbook aft │ │ │ │ │ -00001dc0: 6572 2077 6520 636f 756c 6420 6669 6e64 er we could find │ │ │ │ │ -00001dd0: 206e 6f20 7375 6974 6162 6c65 2074 6f6f no suitable too │ │ │ │ │ -00001de0: 6c20 666f 720a 7468 6973 2070 7572 706f l for.this purpo │ │ │ │ │ -00001df0: 7365 2e20 2045 7869 7374 696e 6720 7363 se. Existing sc │ │ │ │ │ -00001e00: 656e 6520 7072 6f63 6573 736f 7273 2065 ene processors e │ │ │ │ │ -00001e10: 6d70 6861 7369 7a65 6420 4755 4973 2061 mphasized GUIs a │ │ │ │ │ -00001e20: 6e64 2f6f 720a 7068 6f74 6f2d 7265 616c nd/or.photo-real │ │ │ │ │ -00001e30: 6973 6d2c 2062 6f74 6820 756e 2d75 7365 ism, both un-use │ │ │ │ │ -00001e40: 6675 6c20 746f 2075 732e 2020 5765 2077 ful to us. We w │ │ │ │ │ -00001e50: 616e 7465 6420 746f 2070 726f 6475 6365 anted to produce │ │ │ │ │ -00001e60: 2066 696e 656c 790a 7772 6f75 6768 742c finely.wrought, │ │ │ │ │ -00001e70: 206d 6174 6865 6d61 7469 6361 6c6c 792d mathematically- │ │ │ │ │ -00001e80: 6261 7365 6420 696c 6c75 7374 7261 7469 based illustrati │ │ │ │ │ -00001e90: 6f6e 7320 7769 7468 206e 6f20 6578 7472 ons with no extr │ │ │ │ │ -00001ea0: 616e 656f 7573 2064 6574 6169 6c2e 0a0a aneous detail... │ │ │ │ │ -00001eb0: 2020 20e2 8098 536b 6574 6368 e280 9920 ...Sketch... │ │ │ │ │ -00001ec0: 6163 6365 7074 7320 6120 7469 6e79 2073 accepts a tiny s │ │ │ │ │ -00001ed0: 6365 6e65 2064 6573 6372 6970 7469 6f6e cene description │ │ │ │ │ -00001ee0: 206c 616e 6775 6167 6520 616e 6420 6765 language and ge │ │ │ │ │ -00001ef0: 6e65 7261 7465 730a e280 9850 5354 7269 nerates....PSTri │ │ │ │ │ -00001f00: 636b 73e2 8099 206f 7220 e280 9854 696b cks... or ...Tik │ │ │ │ │ -00001f10: 5a2f 5047 46e2 8099 2063 6f64 6520 666f Z/PGF... code fo │ │ │ │ │ -00001f20: 7220 4c61 5465 582e 2020 5468 6520 e280 r LaTeX. The .. │ │ │ │ │ -00001f30: 9873 6b65 7463 68e2 8099 206c 616e 6775 .sketch... langu │ │ │ │ │ -00001f40: 6167 6520 6973 0a73 696d 696c 6172 2074 age is.similar t │ │ │ │ │ -00001f50: 6f20 e280 9850 5354 7269 636b 73e2 8099 o ...PSTricks... │ │ │ │ │ -00001f60: 2c20 6d61 6b69 6e67 2069 7420 6561 7379 , making it easy │ │ │ │ │ -00001f70: 2074 6f20 6c65 6172 6e20 666f 7220 6375 to learn for cu │ │ │ │ │ -00001f80: 7272 656e 7420 e280 9850 5354 7269 636b rrent ...PSTrick │ │ │ │ │ -00001f90: 73e2 8099 0a75 7365 7273 2e20 2053 6565 s....users. See │ │ │ │ │ -00001fa0: 2077 7777 2e70 7374 7269 636b 732e 6465 www.pstricks.de │ │ │ │ │ -00001fb0: 2066 6f72 2069 6e66 6f72 6d61 7469 6f6e for information │ │ │ │ │ -00001fc0: 206f 6e20 e280 9850 5354 7269 636b 73e2 on ...PSTricks. │ │ │ │ │ -00001fd0: 8099 2e20 20e2 8098 5469 6b5a 2f50 4746 ... ...TikZ/PGF │ │ │ │ │ -00001fe0: e280 990a 6973 2073 696d 696c 6172 2e20 ....is similar. │ │ │ │ │ -00001ff0: 2053 6565 2068 7474 703a 2f2f 736f 7572 See http://sour │ │ │ │ │ -00002000: 6365 666f 7267 652e 6e65 742f 7072 6f6a ceforge.net/proj │ │ │ │ │ -00002010: 6563 7473 2f70 6766 2e20 204f 6e65 2063 ects/pgf. One c │ │ │ │ │ -00002020: 616e 2065 6173 696c 790a 696e 636c 7564 an easily.includ │ │ │ │ │ -00002030: 6520 6172 6269 7472 6172 7920 e280 9850 e arbitrary ...P │ │ │ │ │ -00002040: 5354 7269 636b 73e2 8099 206f 7220 e280 STricks... or .. │ │ │ │ │ -00002050: 9854 696b 5a2f 5047 46e2 8099 2064 7261 .TikZ/PGF... dra │ │ │ │ │ -00002060: 7769 6e67 7320 616e 6420 7465 7874 206f wings and text o │ │ │ │ │ -00002070: 7665 722c 2069 6e2c 0a6f 7220 756e 6465 ver, in,.or unde │ │ │ │ │ -00002080: 7220 e280 9873 6b65 7463 68e2 8099 2064 r ...sketch... d │ │ │ │ │ -00002090: 7261 7769 6e67 732c 2070 726f 7669 6469 rawings, providi │ │ │ │ │ -000020a0: 6e67 2061 6363 6573 7320 746f 2074 6865 ng access to the │ │ │ │ │ -000020b0: 2066 756c 6c20 706f 7765 7220 6f66 204c full power of L │ │ │ │ │ -000020c0: 6154 6558 0a74 6578 7420 616e 6420 6d61 aTeX.text and ma │ │ │ │ │ -000020d0: 7468 656d 6174 6963 7320 666f 726d 6174 thematics format │ │ │ │ │ -000020e0: 7469 6e67 2069 6e20 6120 7468 7265 652d ting in a three- │ │ │ │ │ -000020f0: 6469 6d65 6e73 696f 6e61 6c20 7365 7474 dimensional sett │ │ │ │ │ -00002100: 696e 672e 0a0a 1f0a 4669 6c65 3a20 736b ing.....File: sk │ │ │ │ │ -00002110: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00002120: 3a20 5265 706f 7274 696e 6720 6275 6773 : Reporting bugs │ │ │ │ │ -00002130: 2c20 204e 6578 743a 2043 6f6e 7472 6962 , Next: Contrib │ │ │ │ │ -00002140: 7574 696f 6e73 2c20 2050 7265 763a 2041 utions, Prev: A │ │ │ │ │ -00002150: 626f 7574 2073 6b65 7463 682c 2020 5570 bout sketch, Up │ │ │ │ │ -00002160: 3a20 4162 6f75 7420 736b 6574 6368 0a0a : About sketch.. │ │ │ │ │ -00002170: 312e 3120 5265 706f 7274 696e 6720 6275 1.1 Reporting bu │ │ │ │ │ -00002180: 6773 2061 6e64 2072 6563 6f6d 6d65 6e64 gs and recommend │ │ │ │ │ -00002190: 696e 6720 696d 7072 6f76 656d 656e 7473 ing improvements │ │ │ │ │ -000021a0: 2e0a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ..============== │ │ │ │ │ +00001a90: 2057 6865 7265 2074 726f 7562 6c65 2063 Where trouble c │ │ │ │ │ +00001aa0: 616e 206f 6363 7572 2e0a 0a43 6176 6561 an occur...Cavea │ │ │ │ │ +00001ab0: 7473 0a0a 2a20 4c69 6d69 7473 206f 6e20 ts..* Limits on │ │ │ │ │ +00001ac0: 6572 726f 7220 6465 7465 6374 696f 6e3a error detection: │ │ │ │ │ +00001ad0: 3a20 2020 5768 6174 2073 6b65 7463 6820 : What sketch │ │ │ │ │ +00001ae0: 646f 6573 6e27 7420 646f 2e0a 2a20 436c doesn't do..* Cl │ │ │ │ │ +00001af0: 6970 7069 6e67 3a3a 2020 2020 2020 2020 ipping:: │ │ │ │ │ +00001b00: 2020 2020 2020 2020 2020 2020 4e6f 2063 No c │ │ │ │ │ +00001b10: 6c69 7070 696e 6720 6174 2070 7265 7365 lipping at prese │ │ │ │ │ +00001b20: 6e74 2e0a 2a20 4869 6464 656e 2073 7572 nt..* Hidden sur │ │ │ │ │ +00001b30: 6661 6365 2072 656d 6f76 616c 3a3a 2020 face removal:: │ │ │ │ │ +00001b40: 2020 2020 496d 7065 7266 6563 7469 6f6e Imperfection │ │ │ │ │ +00001b50: 7320 746f 2066 6978 2e0a 0a48 6964 6465 s to fix...Hidde │ │ │ │ │ +00001b60: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ +00001b70: 6c20 616e 6420 706f 6c79 676f 6e20 7370 l and polygon sp │ │ │ │ │ +00001b80: 6c69 7474 696e 670a 0a2a 2053 7461 7469 litting..* Stati │ │ │ │ │ +00001b90: 7374 6963 733a 3a20 2020 2020 2020 2020 stics:: │ │ │ │ │ +00001ba0: 2020 2020 2020 2020 2050 6572 666f 726d Perform │ │ │ │ │ +00001bb0: 616e 6365 206e 756d 6265 7273 206f 6e20 ance numbers on │ │ │ │ │ +00001bc0: 6465 7074 6820 736f 7274 2e0a 2a20 4275 depth sort..* Bu │ │ │ │ │ +00001bd0: 6773 2061 6e64 2061 6e6f 6d61 6c69 6573 gs and anomalies │ │ │ │ │ +00001be0: 3a3a 2020 2020 2020 2020 2020 496d 7065 :: Impe │ │ │ │ │ +00001bf0: 7266 6563 7469 6f6e 7320 696e 2074 6869 rfections in thi │ │ │ │ │ +00001c00: 7320 696d 706c 656d 656e 7461 7469 6f6e s implementation │ │ │ │ │ +00001c10: 2e0a 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket │ │ │ │ │ +00001c20: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00001c30: 4162 6f75 7420 736b 6574 6368 2c20 204e About sketch, N │ │ │ │ │ +00001c40: 6578 743a 2049 6e74 726f 6475 6374 696f ext: Introductio │ │ │ │ │ +00001c50: 6e20 6279 2065 7861 6d70 6c65 2c20 2050 n by example, P │ │ │ │ │ +00001c60: 7265 763a 2054 6f70 2c20 2055 703a 2054 rev: Top, Up: T │ │ │ │ │ +00001c70: 6f70 0a0a 3120 4162 6f75 7420 736b 6574 op..1 About sket │ │ │ │ │ +00001c80: 6368 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ch.************* │ │ │ │ │ +00001c90: 2a0a 0a2a 204d 656e 753a 0a0a 2a20 5265 *..* Menu:..* Re │ │ │ │ │ +00001ca0: 706f 7274 696e 6720 6275 6773 3a3a 2020 porting bugs:: │ │ │ │ │ +00001cb0: 2020 2020 2020 2020 2020 2020 4c65 7420 Let │ │ │ │ │ +00001cc0: 7573 6520 6b6e 6f77 2077 6861 7427 7320 use know what's │ │ │ │ │ +00001cd0: 7772 6f6e 6721 0a2a 2043 6f6e 7472 6962 wrong!.* Contrib │ │ │ │ │ +00001ce0: 7574 696f 6e73 3a3a 2020 2020 2020 2020 utions:: │ │ │ │ │ +00001cf0: 2020 2020 2020 2048 6f77 2079 6f75 2063 How you c │ │ │ │ │ +00001d00: 616e 2068 656c 702e 2e2e 2e0a 0ae2 8098 an help......... │ │ │ │ │ +00001d10: 536b 6574 6368 e280 9920 6973 2061 2073 Sketch... is a s │ │ │ │ │ +00001d20: 6d61 6c6c 2c20 7369 6d70 6c65 2073 7973 mall, simple sys │ │ │ │ │ +00001d30: 7465 6d20 666f 7220 7072 6f64 7563 696e tem for producin │ │ │ │ │ +00001d40: 6720 6c69 6e65 2064 7261 7769 6e67 7320 g line drawings │ │ │ │ │ +00001d50: 6f66 2074 776f 2d0a 6f72 2074 6872 6565 of two-.or three │ │ │ │ │ +00001d60: 2d64 696d 656e 7369 6f6e 616c 206f 626a -dimensional obj │ │ │ │ │ +00001d70: 6563 7473 2061 6e64 2073 6365 6e65 732e ects and scenes. │ │ │ │ │ +00001d80: 2020 4974 2062 6567 616e 2061 7320 6120 It began as a │ │ │ │ │ +00001d90: 7761 7920 746f 206d 616b 650a 696c 6c75 way to make.illu │ │ │ │ │ +00001da0: 7374 7261 7469 6f6e 7320 666f 7220 6120 strations for a │ │ │ │ │ +00001db0: 7465 7874 626f 6f6b 2061 6674 6572 2077 textbook after w │ │ │ │ │ +00001dc0: 6520 636f 756c 6420 6669 6e64 206e 6f20 e could find no │ │ │ │ │ +00001dd0: 7375 6974 6162 6c65 2074 6f6f 6c20 666f suitable tool fo │ │ │ │ │ +00001de0: 720a 7468 6973 2070 7572 706f 7365 2e20 r.this purpose. │ │ │ │ │ +00001df0: 2045 7869 7374 696e 6720 7363 656e 6520 Existing scene │ │ │ │ │ +00001e00: 7072 6f63 6573 736f 7273 2065 6d70 6861 processors empha │ │ │ │ │ +00001e10: 7369 7a65 6420 4755 4973 2061 6e64 2f6f sized GUIs and/o │ │ │ │ │ +00001e20: 720a 7068 6f74 6f2d 7265 616c 6973 6d2c r.photo-realism, │ │ │ │ │ +00001e30: 2062 6f74 6820 756e 2d75 7365 6675 6c20 both un-useful │ │ │ │ │ +00001e40: 746f 2075 732e 2020 5765 2077 616e 7465 to us. We wante │ │ │ │ │ +00001e50: 6420 746f 2070 726f 6475 6365 2066 696e d to produce fin │ │ │ │ │ +00001e60: 656c 790a 7772 6f75 6768 742c 206d 6174 ely.wrought, mat │ │ │ │ │ +00001e70: 6865 6d61 7469 6361 6c6c 792d 6261 7365 hematically-base │ │ │ │ │ +00001e80: 6420 696c 6c75 7374 7261 7469 6f6e 7320 d illustrations │ │ │ │ │ +00001e90: 7769 7468 206e 6f20 6578 7472 616e 656f with no extraneo │ │ │ │ │ +00001ea0: 7573 2064 6574 6169 6c2e 0a0a 2020 20e2 us detail... . │ │ │ │ │ +00001eb0: 8098 536b 6574 6368 e280 9920 6163 6365 ..Sketch... acce │ │ │ │ │ +00001ec0: 7074 7320 6120 7469 6e79 2073 6365 6e65 pts a tiny scene │ │ │ │ │ +00001ed0: 2064 6573 6372 6970 7469 6f6e 206c 616e description lan │ │ │ │ │ +00001ee0: 6775 6167 6520 616e 6420 6765 6e65 7261 guage and genera │ │ │ │ │ +00001ef0: 7465 730a e280 9850 5354 7269 636b 73e2 tes....PSTricks. │ │ │ │ │ +00001f00: 8099 206f 7220 e280 9854 696b 5a2f 5047 .. or ...TikZ/PG │ │ │ │ │ +00001f10: 46e2 8099 2063 6f64 6520 666f 7220 4c61 F... code for La │ │ │ │ │ +00001f20: 5465 582e 2020 5468 6520 e280 9873 6b65 TeX. The ...ske │ │ │ │ │ +00001f30: 7463 68e2 8099 206c 616e 6775 6167 6520 tch... language │ │ │ │ │ +00001f40: 6973 0a73 696d 696c 6172 2074 6f20 e280 is.similar to .. │ │ │ │ │ +00001f50: 9850 5354 7269 636b 73e2 8099 2c20 6d61 .PSTricks..., ma │ │ │ │ │ +00001f60: 6b69 6e67 2069 7420 6561 7379 2074 6f20 king it easy to │ │ │ │ │ +00001f70: 6c65 6172 6e20 666f 7220 6375 7272 656e learn for curren │ │ │ │ │ +00001f80: 7420 e280 9850 5354 7269 636b 73e2 8099 t ...PSTricks... │ │ │ │ │ +00001f90: 0a75 7365 7273 2e20 2053 6565 2077 7777 .users. See www │ │ │ │ │ +00001fa0: 2e70 7374 7269 636b 732e 6465 2066 6f72 .pstricks.de for │ │ │ │ │ +00001fb0: 2069 6e66 6f72 6d61 7469 6f6e 206f 6e20 information on │ │ │ │ │ +00001fc0: e280 9850 5354 7269 636b 73e2 8099 2e20 ...PSTricks.... │ │ │ │ │ +00001fd0: 20e2 8098 5469 6b5a 2f50 4746 e280 990a ...TikZ/PGF.... │ │ │ │ │ +00001fe0: 6973 2073 696d 696c 6172 2e20 2053 6565 is similar. See │ │ │ │ │ +00001ff0: 2068 7474 703a 2f2f 736f 7572 6365 666f http://sourcefo │ │ │ │ │ +00002000: 7267 652e 6e65 742f 7072 6f6a 6563 7473 rge.net/projects │ │ │ │ │ +00002010: 2f70 6766 2e20 204f 6e65 2063 616e 2065 /pgf. One can e │ │ │ │ │ +00002020: 6173 696c 790a 696e 636c 7564 6520 6172 asily.include ar │ │ │ │ │ +00002030: 6269 7472 6172 7920 e280 9850 5354 7269 bitrary ...PSTri │ │ │ │ │ +00002040: 636b 73e2 8099 206f 7220 e280 9854 696b cks... or ...Tik │ │ │ │ │ +00002050: 5a2f 5047 46e2 8099 2064 7261 7769 6e67 Z/PGF... drawing │ │ │ │ │ +00002060: 7320 616e 6420 7465 7874 206f 7665 722c s and text over, │ │ │ │ │ +00002070: 2069 6e2c 0a6f 7220 756e 6465 7220 e280 in,.or under .. │ │ │ │ │ +00002080: 9873 6b65 7463 68e2 8099 2064 7261 7769 .sketch... drawi │ │ │ │ │ +00002090: 6e67 732c 2070 726f 7669 6469 6e67 2061 ngs, providing a │ │ │ │ │ +000020a0: 6363 6573 7320 746f 2074 6865 2066 756c ccess to the ful │ │ │ │ │ +000020b0: 6c20 706f 7765 7220 6f66 204c 6154 6558 l power of LaTeX │ │ │ │ │ +000020c0: 0a74 6578 7420 616e 6420 6d61 7468 656d .text and mathem │ │ │ │ │ +000020d0: 6174 6963 7320 666f 726d 6174 7469 6e67 atics formatting │ │ │ │ │ +000020e0: 2069 6e20 6120 7468 7265 652d 6469 6d65 in a three-dime │ │ │ │ │ +000020f0: 6e73 696f 6e61 6c20 7365 7474 696e 672e nsional setting. │ │ │ │ │ +00002100: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +00002110: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re │ │ │ │ │ +00002120: 706f 7274 696e 6720 6275 6773 2c20 204e porting bugs, N │ │ │ │ │ +00002130: 6578 743a 2043 6f6e 7472 6962 7574 696f ext: Contributio │ │ │ │ │ +00002140: 6e73 2c20 2050 7265 763a 2041 626f 7574 ns, Prev: About │ │ │ │ │ +00002150: 2073 6b65 7463 682c 2020 5570 3a20 4162 sketch, Up: Ab │ │ │ │ │ +00002160: 6f75 7420 736b 6574 6368 0a0a 312e 3120 out sketch..1.1 │ │ │ │ │ +00002170: 5265 706f 7274 696e 6720 6275 6773 2061 Reporting bugs a │ │ │ │ │ +00002180: 6e64 2072 6563 6f6d 6d65 6e64 696e 6720 nd recommending │ │ │ │ │ +00002190: 696d 7072 6f76 656d 656e 7473 2e0a 3d3d improvements..== │ │ │ │ │ +000021a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ 000021b0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -000021c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -000021d0: 3d3d 3d0a 0a54 6865 2067 726f 7570 2068 ===..The group h │ │ │ │ │ -000021e0: 7474 703a 2f2f 6772 6f75 7073 2e67 6f6f ttp://groups.goo │ │ │ │ │ -000021f0: 676c 652e 636f 6d2f 6772 6f75 702f 736b gle.com/group/sk │ │ │ │ │ -00002200: 6574 6368 2d75 7365 7273 2069 7320 7468 etch-users is th │ │ │ │ │ -00002210: 6520 6265 7374 2070 6c61 6365 0a74 6f20 e best place.to │ │ │ │ │ -00002220: 7265 706f 7274 2062 7567 7320 616e 6420 report bugs and │ │ │ │ │ -00002230: 6d61 6b65 2069 6d70 726f 7665 6d65 6e74 make improvement │ │ │ │ │ -00002240: 732e 2020 4120 7365 636f 6e64 206d 6574 s. A second met │ │ │ │ │ -00002250: 686f 6420 7468 6174 2077 696c 6c0a 7072 hod that will.pr │ │ │ │ │ -00002260: 6f62 6162 6c79 2070 726f 6475 6365 2061 obably produce a │ │ │ │ │ -00002270: 2073 6c6f 7765 7220 7265 7370 6f6e 7365 slower response │ │ │ │ │ -00002280: 2069 7320 656d 6169 6c20 746f 2073 6b65 is email to ske │ │ │ │ │ -00002290: 7463 6840 6672 6f6e 7469 6572 6e65 742e tch@frontiernet. │ │ │ │ │ -000022a0: 6e65 742e 0a57 6520 7769 6c6c 2074 7279 net..We will try │ │ │ │ │ -000022b0: 2074 6f20 7265 7370 6f6e 642c 2062 7574 to respond, but │ │ │ │ │ -000022c0: 2063 616e 2774 2070 726f 6d69 7365 2e20 can't promise. │ │ │ │ │ -000022d0: 2049 6e20 616e 7920 6576 656e 742c 2064 In any event, d │ │ │ │ │ -000022e0: 6f6e 2774 2062 650a 6f66 6665 6e64 6564 on't be.offended │ │ │ │ │ -000022f0: 2069 6620 6120 7265 706c 7920 6973 206e if a reply is n │ │ │ │ │ -00002300: 6f74 2066 6f72 7468 636f 6d69 6e67 2e20 ot forthcoming. │ │ │ │ │ -00002310: 2057 6527 7265 206a 7573 7420 6275 7379 We're just busy │ │ │ │ │ -00002320: 2061 6e64 2077 696c 6c20 6765 7420 746f and will get to │ │ │ │ │ -00002330: 0a79 6f75 7220 7375 6767 6573 7469 6f6e .your suggestion │ │ │ │ │ -00002340: 2065 7665 6e74 7561 6c6c 792e 0a0a 2020 eventually... │ │ │ │ │ -00002350: 2046 6f72 2062 7567 732c 2061 7474 6163 For bugs, attac │ │ │ │ │ -00002360: 6820 6120 e280 9873 6b65 7463 68e2 8099 h a ...sketch... │ │ │ │ │ -00002370: 2069 6e70 7574 2066 696c 6520 7468 6174 input file that │ │ │ │ │ -00002380: 2063 6175 7365 7320 7468 6520 6261 6420 causes the bad │ │ │ │ │ -00002390: 6265 6861 7669 6f72 2e0a 456d 6265 6420 behavior..Embed │ │ │ │ │ -000023a0: 636f 6d6d 656e 7473 2074 6861 7420 6578 comments that ex │ │ │ │ │ -000023b0: 706c 6169 6e20 7768 6174 2074 6f20 6c6f plain what to lo │ │ │ │ │ -000023c0: 6f6b 2066 6f72 2069 6e20 7468 6520 6265 ok for in the be │ │ │ │ │ -000023d0: 6861 7669 6f72 206f 6620 e280 9873 6b65 havior of ...ske │ │ │ │ │ -000023e0: 7463 68e2 8099 0a6f 7220 6974 7320 6f75 tch....or its ou │ │ │ │ │ -000023f0: 7470 7574 2e0a 0a20 2020 4120 7265 636f tput... A reco │ │ │ │ │ -00002400: 6d6d 656e 6461 7469 6f6e 2066 6f72 2069 mmendation for i │ │ │ │ │ -00002410: 6d70 726f 7665 6d65 6e74 2066 726f 6d20 mprovement from │ │ │ │ │ -00002420: 6f6e 6520 756e 6b6e 6f77 6e20 7065 7273 one unknown pers │ │ │ │ │ -00002430: 6f6e 2063 6f75 6e74 7320 6173 0a6f 6e65 on counts as.one │ │ │ │ │ -00002440: 2076 6f74 652e 2020 5765 2075 7365 206f vote. We use o │ │ │ │ │ -00002450: 7665 7261 6c6c 2076 6f74 6520 7461 6c6c verall vote tall │ │ │ │ │ -00002460: 6965 7320 746f 2064 6563 6964 6520 7768 ies to decide wh │ │ │ │ │ -00002470: 6174 2074 6f20 646f 206e 6578 7420 6173 at to do next as │ │ │ │ │ -00002480: 0a72 6573 6f75 7263 6573 2070 6572 6d69 .resources permi │ │ │ │ │ -00002490: 742e 2020 5765 2072 6573 6572 7665 2074 t. We reserve t │ │ │ │ │ -000024a0: 6865 2072 6967 6874 2074 6f20 6173 7369 he right to assi │ │ │ │ │ -000024b0: 676e 2061 6e79 206e 756d 6265 7220 6f66 gn any number of │ │ │ │ │ -000024c0: 2076 6f74 6573 2074 6f0a 7375 6767 6573 votes to.sugges │ │ │ │ │ -000024d0: 7469 6f6e 7320 6672 6f6d 2070 656f 706c tions from peopl │ │ │ │ │ -000024e0: 6520 7768 6f20 6861 7665 2062 6565 6e20 e who have been │ │ │ │ │ -000024f0: 6865 6c70 6675 6c20 616e 6420 7375 7070 helpful and supp │ │ │ │ │ -00002500: 6f72 7469 7665 2069 6e20 7468 650a 7061 ortive in the.pa │ │ │ │ │ -00002510: 7374 2e0a 0a1f 0a46 696c 653a 2073 6b65 st.....File: ske │ │ │ │ │ -00002520: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -00002530: 2043 6f6e 7472 6962 7574 696f 6e73 2c20 Contributions, │ │ │ │ │ -00002540: 2050 7265 763a 2052 6570 6f72 7469 6e67 Prev: Reporting │ │ │ │ │ -00002550: 2062 7567 732c 2020 5570 3a20 4162 6f75 bugs, Up: Abou │ │ │ │ │ -00002560: 7420 736b 6574 6368 0a0a 312e 3220 436f t sketch..1.2 Co │ │ │ │ │ -00002570: 6e74 7269 6275 7469 6f6e 730a 3d3d 3d3d ntributions.==== │ │ │ │ │ -00002580: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a49 =============..I │ │ │ │ │ -00002590: 6620 796f 7520 696e 7465 6e64 2074 6f20 f you intend to │ │ │ │ │ -000025a0: 696d 706c 656d 656e 7420 616e 2065 6e68 implement an enh │ │ │ │ │ -000025b0: 616e 6365 6d65 6e74 206f 6620 796f 7572 ancement of your │ │ │ │ │ -000025c0: 206f 776e 2c20 7468 6174 2773 2074 6572 own, that's ter │ │ │ │ │ -000025d0: 7269 6669 6321 0a43 6f6e 7369 6465 7220 rific!.Consider │ │ │ │ │ -000025e0: 636f 6c6c 6162 6f72 6174 696e 6720 7769 collaborating wi │ │ │ │ │ -000025f0: 7468 2075 7320 6669 7273 7420 746f 2073 th us first to s │ │ │ │ │ -00002600: 6565 2069 6620 7765 2772 6520 616c 7265 ee if we're alre │ │ │ │ │ -00002610: 6164 7920 776f 726b 696e 6720 6f6e 0a79 ady working on.y │ │ │ │ │ -00002620: 6f75 7220 6964 6561 206f 7220 6966 2077 our idea or if w │ │ │ │ │ -00002630: 6520 6361 6e20 7573 6520 796f 7572 2077 e can use your w │ │ │ │ │ -00002640: 6f72 6b20 696e 2074 6865 206f 6666 6963 ork in the offic │ │ │ │ │ -00002650: 6961 6c20 7265 6c65 6173 652e 0a0a 0008 ial release..... │ │ │ │ │ -00002660: 5b69 6d61 6765 2073 7263 3d22 6578 3030 [image src="ex00 │ │ │ │ │ -00002670: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00002680: 6765 2065 7830 3030 206f 6d69 7474 6564 ge ex000 omitted │ │ │ │ │ -00002690: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -000026a0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -000026b0: 742e 2200 085d 0a0a 1f0a 4669 6c65 3a20 t."..]....File: │ │ │ │ │ -000026c0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -000026d0: 6465 3a20 496e 7472 6f64 7563 7469 6f6e de: Introduction │ │ │ │ │ -000026e0: 2062 7920 6578 616d 706c 652c 2020 4e65 by example, Ne │ │ │ │ │ -000026f0: 7874 3a20 496e 7075 7420 6c61 6e67 7561 xt: Input langua │ │ │ │ │ -00002700: 6765 2c20 2050 7265 763a 2041 626f 7574 ge, Prev: About │ │ │ │ │ -00002710: 2073 6b65 7463 682c 2020 5570 3a20 546f sketch, Up: To │ │ │ │ │ -00002720: 700a 0a32 2049 6e74 726f 6475 6374 696f p..2 Introductio │ │ │ │ │ -00002730: 6e20 6279 2065 7861 6d70 6c65 0a2a 2a2a n by example.*** │ │ │ │ │ +000021c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============. │ │ │ │ │ +000021d0: 0a54 6865 2067 726f 7570 2068 7474 703a .The group http: │ │ │ │ │ +000021e0: 2f2f 6772 6f75 7073 2e67 6f6f 676c 652e //groups.google. │ │ │ │ │ +000021f0: 636f 6d2f 6772 6f75 702f 736b 6574 6368 com/group/sketch │ │ │ │ │ +00002200: 2d75 7365 7273 2069 7320 7468 6520 6265 -users is the be │ │ │ │ │ +00002210: 7374 2070 6c61 6365 0a74 6f20 7265 706f st place.to repo │ │ │ │ │ +00002220: 7274 2062 7567 7320 616e 6420 6d61 6b65 rt bugs and make │ │ │ │ │ +00002230: 2069 6d70 726f 7665 6d65 6e74 732e 2020 improvements. │ │ │ │ │ +00002240: 4120 7365 636f 6e64 206d 6574 686f 6420 A second method │ │ │ │ │ +00002250: 7468 6174 2077 696c 6c0a 7072 6f62 6162 that will.probab │ │ │ │ │ +00002260: 6c79 2070 726f 6475 6365 2061 2073 6c6f ly produce a slo │ │ │ │ │ +00002270: 7765 7220 7265 7370 6f6e 7365 2069 7320 wer response is │ │ │ │ │ +00002280: 656d 6169 6c20 746f 2073 6b65 7463 6840 email to sketch@ │ │ │ │ │ +00002290: 6672 6f6e 7469 6572 6e65 742e 6e65 742e frontiernet.net. │ │ │ │ │ +000022a0: 0a57 6520 7769 6c6c 2074 7279 2074 6f20 .We will try to │ │ │ │ │ +000022b0: 7265 7370 6f6e 642c 2062 7574 2063 616e respond, but can │ │ │ │ │ +000022c0: 2774 2070 726f 6d69 7365 2e20 2049 6e20 't promise. In │ │ │ │ │ +000022d0: 616e 7920 6576 656e 742c 2064 6f6e 2774 any event, don't │ │ │ │ │ +000022e0: 2062 650a 6f66 6665 6e64 6564 2069 6620 be.offended if │ │ │ │ │ +000022f0: 6120 7265 706c 7920 6973 206e 6f74 2066 a reply is not f │ │ │ │ │ +00002300: 6f72 7468 636f 6d69 6e67 2e20 2057 6527 orthcoming. We' │ │ │ │ │ +00002310: 7265 206a 7573 7420 6275 7379 2061 6e64 re just busy and │ │ │ │ │ +00002320: 2077 696c 6c20 6765 7420 746f 0a79 6f75 will get to.you │ │ │ │ │ +00002330: 7220 7375 6767 6573 7469 6f6e 2065 7665 r suggestion eve │ │ │ │ │ +00002340: 6e74 7561 6c6c 792e 0a0a 2020 2046 6f72 ntually... For │ │ │ │ │ +00002350: 2062 7567 732c 2061 7474 6163 6820 6120 bugs, attach a │ │ │ │ │ +00002360: e280 9873 6b65 7463 68e2 8099 2069 6e70 ...sketch... inp │ │ │ │ │ +00002370: 7574 2066 696c 6520 7468 6174 2063 6175 ut file that cau │ │ │ │ │ +00002380: 7365 7320 7468 6520 6261 6420 6265 6861 ses the bad beha │ │ │ │ │ +00002390: 7669 6f72 2e0a 456d 6265 6420 636f 6d6d vior..Embed comm │ │ │ │ │ +000023a0: 656e 7473 2074 6861 7420 6578 706c 6169 ents that explai │ │ │ │ │ +000023b0: 6e20 7768 6174 2074 6f20 6c6f 6f6b 2066 n what to look f │ │ │ │ │ +000023c0: 6f72 2069 6e20 7468 6520 6265 6861 7669 or in the behavi │ │ │ │ │ +000023d0: 6f72 206f 6620 e280 9873 6b65 7463 68e2 or of ...sketch. │ │ │ │ │ +000023e0: 8099 0a6f 7220 6974 7320 6f75 7470 7574 ...or its output │ │ │ │ │ +000023f0: 2e0a 0a20 2020 4120 7265 636f 6d6d 656e ... A recommen │ │ │ │ │ +00002400: 6461 7469 6f6e 2066 6f72 2069 6d70 726f dation for impro │ │ │ │ │ +00002410: 7665 6d65 6e74 2066 726f 6d20 6f6e 6520 vement from one │ │ │ │ │ +00002420: 756e 6b6e 6f77 6e20 7065 7273 6f6e 2063 unknown person c │ │ │ │ │ +00002430: 6f75 6e74 7320 6173 0a6f 6e65 2076 6f74 ounts as.one vot │ │ │ │ │ +00002440: 652e 2020 5765 2075 7365 206f 7665 7261 e. We use overa │ │ │ │ │ +00002450: 6c6c 2076 6f74 6520 7461 6c6c 6965 7320 ll vote tallies │ │ │ │ │ +00002460: 746f 2064 6563 6964 6520 7768 6174 2074 to decide what t │ │ │ │ │ +00002470: 6f20 646f 206e 6578 7420 6173 0a72 6573 o do next as.res │ │ │ │ │ +00002480: 6f75 7263 6573 2070 6572 6d69 742e 2020 ources permit. │ │ │ │ │ +00002490: 5765 2072 6573 6572 7665 2074 6865 2072 We reserve the r │ │ │ │ │ +000024a0: 6967 6874 2074 6f20 6173 7369 676e 2061 ight to assign a │ │ │ │ │ +000024b0: 6e79 206e 756d 6265 7220 6f66 2076 6f74 ny number of vot │ │ │ │ │ +000024c0: 6573 2074 6f0a 7375 6767 6573 7469 6f6e es to.suggestion │ │ │ │ │ +000024d0: 7320 6672 6f6d 2070 656f 706c 6520 7768 s from people wh │ │ │ │ │ +000024e0: 6f20 6861 7665 2062 6565 6e20 6865 6c70 o have been help │ │ │ │ │ +000024f0: 6675 6c20 616e 6420 7375 7070 6f72 7469 ful and supporti │ │ │ │ │ +00002500: 7665 2069 6e20 7468 650a 7061 7374 2e0a ve in the.past.. │ │ │ │ │ +00002510: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +00002520: 696e 666f 2c20 204e 6f64 653a 2043 6f6e info, Node: Con │ │ │ │ │ +00002530: 7472 6962 7574 696f 6e73 2c20 2050 7265 tributions, Pre │ │ │ │ │ +00002540: 763a 2052 6570 6f72 7469 6e67 2062 7567 v: Reporting bug │ │ │ │ │ +00002550: 732c 2020 5570 3a20 4162 6f75 7420 736b s, Up: About sk │ │ │ │ │ +00002560: 6574 6368 0a0a 312e 3220 436f 6e74 7269 etch..1.2 Contri │ │ │ │ │ +00002570: 6275 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d butions.======== │ │ │ │ │ +00002580: 3d3d 3d3d 3d3d 3d3d 3d0a 0a49 6620 796f =========..If yo │ │ │ │ │ +00002590: 7520 696e 7465 6e64 2074 6f20 696d 706c u intend to impl │ │ │ │ │ +000025a0: 656d 656e 7420 616e 2065 6e68 616e 6365 ement an enhance │ │ │ │ │ +000025b0: 6d65 6e74 206f 6620 796f 7572 206f 776e ment of your own │ │ │ │ │ +000025c0: 2c20 7468 6174 2773 2074 6572 7269 6669 , that's terrifi │ │ │ │ │ +000025d0: 6321 0a43 6f6e 7369 6465 7220 636f 6c6c c!.Consider coll │ │ │ │ │ +000025e0: 6162 6f72 6174 696e 6720 7769 7468 2075 aborating with u │ │ │ │ │ +000025f0: 7320 6669 7273 7420 746f 2073 6565 2069 s first to see i │ │ │ │ │ +00002600: 6620 7765 2772 6520 616c 7265 6164 7920 f we're already │ │ │ │ │ +00002610: 776f 726b 696e 6720 6f6e 0a79 6f75 7220 working on.your │ │ │ │ │ +00002620: 6964 6561 206f 7220 6966 2077 6520 6361 idea or if we ca │ │ │ │ │ +00002630: 6e20 7573 6520 796f 7572 2077 6f72 6b20 n use your work │ │ │ │ │ +00002640: 696e 2074 6865 206f 6666 6963 6961 6c20 in the official │ │ │ │ │ +00002650: 7265 6c65 6173 652e 0a0a 0008 5b69 6d61 release.....[ima │ │ │ │ │ +00002660: 6765 2073 7263 3d22 6578 3030 302e 706e ge src="ex000.pn │ │ │ │ │ +00002670: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ +00002680: 7830 3030 206f 6d69 7474 6564 2069 6e20 x000 omitted in │ │ │ │ │ +00002690: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +000026a0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +000026b0: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket │ │ │ │ │ +000026c0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +000026d0: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by │ │ │ │ │ +000026e0: 6578 616d 706c 652c 2020 4e65 7874 3a20 example, Next: │ │ │ │ │ +000026f0: 496e 7075 7420 6c61 6e67 7561 6765 2c20 Input language, │ │ │ │ │ +00002700: 2050 7265 763a 2041 626f 7574 2073 6b65 Prev: About ske │ │ │ │ │ +00002710: 7463 682c 2020 5570 3a20 546f 700a 0a32 tch, Up: Top..2 │ │ │ │ │ +00002720: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by │ │ │ │ │ +00002730: 2065 7861 6d70 6c65 0a2a 2a2a 2a2a 2a2a example.******* │ │ │ │ │ 00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -00002750: 2a2a 2a2a 2a2a 0a0a 5468 6520 e280 9873 ******..The ...s │ │ │ │ │ -00002760: 6b65 7463 68e2 8099 2069 6e70 7574 206c ketch... input l │ │ │ │ │ -00002770: 616e 6775 6167 6520 7769 6c6c 2073 6565 anguage will see │ │ │ │ │ -00002780: 6d20 6661 6d69 6c69 6172 2074 6f20 7573 m familiar to us │ │ │ │ │ -00002790: 6572 7320 6f66 2074 6865 0ae2 8098 5053 ers of the....PS │ │ │ │ │ -000027a0: 5472 6963 6b73 e280 9920 7061 636b 6167 Tricks... packag │ │ │ │ │ -000027b0: 6520 666f 7220 4c61 5465 582e 2020 5468 e for LaTeX. Th │ │ │ │ │ -000027c0: 6520 666f 6c6c 6f77 696e 6720 7072 6f67 e following prog │ │ │ │ │ -000027d0: 7261 6d20 6472 6177 7320 6120 7472 6961 ram draws a tria │ │ │ │ │ -000027e0: 6e67 756c 6172 0a70 6f6c 7967 6f6e 2070 ngular.polygon p │ │ │ │ │ -000027f0: 6965 7263 6564 2062 7920 6120 6c69 6e65 ierced by a line │ │ │ │ │ -00002800: 2e0a 2020 706f 6c79 676f 6e28 302c 302c .. polygon(0,0, │ │ │ │ │ -00002810: 3129 2831 2c30 2c30 2928 302c 312c 3029 1)(1,0,0)(0,1,0) │ │ │ │ │ -00002820: 0a20 206c 696e 6528 2d31 2c2d 312c 2d31 . line(-1,-1,-1 │ │ │ │ │ -00002830: 2928 322c 322c 3229 0a54 6865 2063 6f6f )(2,2,2).The coo │ │ │ │ │ -00002840: 7264 696e 6174 6520 7379 7374 656d 2069 rdinate system i │ │ │ │ │ -00002850: 7320 6120 7374 616e 6461 7264 2072 6967 s a standard rig │ │ │ │ │ -00002860: 6874 2d68 616e 6465 6420 4361 7274 6573 ht-handed Cartes │ │ │ │ │ -00002870: 6961 6e20 6f6e 652e 0a0a 0008 5b69 6d61 ian one.....[ima │ │ │ │ │ -00002880: 6765 2073 7263 3d22 6578 3031 302e 706e ge src="ex010.pn │ │ │ │ │ -00002890: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -000028a0: 7830 3130 206f 6d69 7474 6564 2069 6e20 x010 omitted in │ │ │ │ │ -000028b0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -000028c0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -000028d0: 085d 0a0a 2a20 4d65 6e75 3a0a 0a2a 2048 .]..* Menu:..* H │ │ │ │ │ -000028e0: 656c 6c6f 2077 6f72 6c64 3a3a 2020 2020 ello world:: │ │ │ │ │ -000028f0: 2020 2020 2020 2020 2020 2020 2053 696d Sim │ │ │ │ │ -00002900: 706c 6573 7420 706f 7373 6962 6c65 20e2 plest possible . │ │ │ │ │ -00002910: 8098 736b 6574 6368 e280 9920 7072 6f67 ..sketch... prog │ │ │ │ │ -00002920: 7261 6d2e 0a2a 2044 7261 7769 6e67 206f ram..* Drawing o │ │ │ │ │ -00002930: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: │ │ │ │ │ -00002940: 2020 2020 2043 6f6e 7472 6f6c 6c69 6e67 Controlling │ │ │ │ │ -00002950: 206f 626a 6563 7420 6170 7065 6172 616e object appearan │ │ │ │ │ -00002960: 6365 2e0a 2a20 4472 6177 696e 6720 6120 ce..* Drawing a │ │ │ │ │ -00002970: 736f 6c69 643a 3a20 2020 2020 2020 2020 solid:: │ │ │ │ │ -00002980: 2020 2020 4472 6177 696e 6720 616e 206f Drawing an o │ │ │ │ │ -00002990: 626a 6563 7420 7769 7468 2033 6420 6170 bject with 3d ap │ │ │ │ │ -000029a0: 7065 6172 616e 6365 2e0a 2a20 5370 6563 pearance..* Spec │ │ │ │ │ -000029b0: 6961 6c20 6f62 6a65 6374 733a 3a20 2020 ial objects:: │ │ │ │ │ -000029c0: 2020 2020 2020 2020 2020 4c61 7969 6e67 Laying │ │ │ │ │ -000029d0: 2054 6558 206f 7665 722c 2069 6e2c 206f TeX over, in, o │ │ │ │ │ -000029e0: 7220 756e 6465 7220 6472 6177 696e 6773 r under drawings │ │ │ │ │ -000029f0: 2e0a 2a20 4f62 6a65 6374 2074 7261 6e73 ..* Object trans │ │ │ │ │ -00002a00: 666f 726d 733a 3a20 2020 2020 2020 2020 forms:: │ │ │ │ │ -00002a10: 2020 526f 7461 7465 2c20 7472 616e 736c Rotate, transl │ │ │ │ │ -00002a20: 6174 652c 2073 6361 6c65 2c20 616e 6420 ate, scale, and │ │ │ │ │ -00002a30: 6f74 6865 7273 2e0a 2a20 5265 7065 6174 others..* Repeat │ │ │ │ │ -00002a40: 6564 206f 626a 6563 7473 3a3a 2020 2020 ed objects:: │ │ │ │ │ -00002a50: 2020 2020 2020 2020 4d61 6b69 6e67 2074 Making t │ │ │ │ │ -00002a60: 7261 6e73 666f 726d 6564 2063 6f70 6965 ransformed copie │ │ │ │ │ -00002a70: 732e 0a2a 2053 7765 7074 206f 626a 6563 s..* Swept objec │ │ │ │ │ -00002a80: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: │ │ │ │ │ -00002a90: 2020 2053 7765 6570 696e 6720 6f62 6a65 Sweeping obje │ │ │ │ │ -00002aa0: 6374 7320 696e 2073 7061 6365 2074 6f20 cts in space to │ │ │ │ │ -00002ab0: 6d61 6b65 206e 6577 2073 6861 7065 732e make new shapes. │ │ │ │ │ -00002ac0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -00002ad0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4865 .info, Node: He │ │ │ │ │ -00002ae0: 6c6c 6f20 776f 726c 642c 2020 4e65 7874 llo world, Next │ │ │ │ │ -00002af0: 3a20 4472 6177 696e 6720 6f70 7469 6f6e : Drawing option │ │ │ │ │ -00002b00: 732c 2020 5072 6576 3a20 496e 7472 6f64 s, Prev: Introd │ │ │ │ │ -00002b10: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl │ │ │ │ │ -00002b20: 652c 2020 5570 3a20 496e 7472 6f64 7563 e, Up: Introduc │ │ │ │ │ -00002b30: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example. │ │ │ │ │ -00002b40: 0a32 2e31 2048 656c 6c6f 2077 6f72 6c64 .2.1 Hello world │ │ │ │ │ -00002b50: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .=============== │ │ │ │ │ -00002b60: 0a0a 5468 6520 e280 9873 6b65 7463 68e2 ..The ...sketch. │ │ │ │ │ -00002b70: 8099 2070 726f 6772 616d 2061 626f 7665 .. program above │ │ │ │ │ -00002b80: 2069 7320 6e65 6172 6c79 2074 6865 2073 is nearly the s │ │ │ │ │ -00002b90: 696d 706c 6573 7420 6f6e 6520 706f 7373 implest one poss │ │ │ │ │ -00002ba0: 6962 6c65 2c20 7468 650a 6571 7569 7661 ible, the.equiva │ │ │ │ │ -00002bb0: 6c65 6e74 206f 6620 6120 2268 656c 6c6f lent of a "hello │ │ │ │ │ -00002bc0: 2077 6f72 6c64 2220 7072 6f67 7261 6d20 world" program │ │ │ │ │ -00002bd0: 796f 7520 6d69 6768 7420 6669 6e64 2061 you might find a │ │ │ │ │ -00002be0: 7420 7468 6520 7374 6172 7420 6f66 2061 t the start of a │ │ │ │ │ -00002bf0: 0a70 726f 6772 616d 6d69 6e67 206c 616e .programming lan │ │ │ │ │ -00002c00: 6775 6167 6520 7465 7874 2e20 2049 6620 guage text. If │ │ │ │ │ -00002c10: 6974 2069 7320 7361 7665 6420 696e 2074 it is saved in t │ │ │ │ │ -00002c20: 6865 2066 696c 6520 e280 9873 696d 706c he file ...simpl │ │ │ │ │ -00002c30: 652e 736b e280 992c 2074 6865 6e0a 7468 e.sk..., then.th │ │ │ │ │ -00002c40: 6520 636f 6d6d 616e 640a 2020 736b 6574 e command. sket │ │ │ │ │ -00002c50: 6368 2073 696d 706c 652e 736b 202d 6f20 ch simple.sk -o │ │ │ │ │ -00002c60: 7369 6d70 6c65 2e74 6578 0a63 7265 6174 simple.tex.creat │ │ │ │ │ -00002c70: 6573 2061 2066 696c 6520 e280 9873 696d es a file ...sim │ │ │ │ │ -00002c80: 706c 652e 7465 78e2 8099 2063 6f6e 7461 ple.tex... conta │ │ │ │ │ -00002c90: 696e 696e 6720 e280 9850 5354 7269 636b ining ...PSTrick │ │ │ │ │ -00002ca0: 73e2 8099 2063 6f6d 6d61 6e64 7320 746f s... commands to │ │ │ │ │ -00002cb0: 2064 7261 7720 7468 6573 650a 6f62 6a65 draw these.obje │ │ │ │ │ -00002cc0: 6374 7320 6f6e 2070 6170 6572 2e20 2054 cts on paper. T │ │ │ │ │ -00002cd0: 6865 2063 6f6e 7465 6e74 7320 6f66 20e2 he contents of . │ │ │ │ │ -00002ce0: 8098 7369 6d70 6c65 2e74 6578 e280 9920 ..simple.tex... │ │ │ │ │ -00002cf0: 6c6f 6f6b 206c 696b 6520 7468 6973 2e0a look like this.. │ │ │ │ │ -00002d00: 2020 5c62 6567 696e 7b70 7370 6963 7475 \begin{pspictu │ │ │ │ │ -00002d10: 7265 7d28 2d31 2c2d 3129 2832 2c32 290a re}(-1,-1)(2,2). │ │ │ │ │ -00002d20: 2020 5c70 7374 5665 7262 7b31 2073 6574 \pstVerb{1 set │ │ │ │ │ -00002d30: 6c69 6e65 6a6f 696e 7d0a 2020 5c70 736c linejoin}. \psl │ │ │ │ │ -00002d40: 696e 6528 2d31 2c2d 3129 282e 3333 332c ine(-1,-1)(.333, │ │ │ │ │ -00002d50: 2e33 3333 290a 2020 5c70 7370 6f6c 7967 .333). \pspolyg │ │ │ │ │ -00002d60: 6f6e 5b66 696c 6c73 7479 6c65 3d73 6f6c on[fillstyle=sol │ │ │ │ │ -00002d70: 6964 2c66 696c 6c63 6f6c 6f72 3d77 6869 id,fillcolor=whi │ │ │ │ │ -00002d80: 7465 5d28 302c 3029 2831 2c30 2928 302c te](0,0)(1,0)(0, │ │ │ │ │ -00002d90: 3129 0a20 205c 7073 6c69 6e65 282e 3333 1). \psline(.33 │ │ │ │ │ -00002da0: 332c 2e33 3333 2928 322c 3229 0a20 205c 3,.333)(2,2). \ │ │ │ │ │ -00002db0: 656e 647b 7073 7069 6374 7572 657d 0a54 end{pspicture}.T │ │ │ │ │ -00002dc0: 6865 2068 6964 6465 6e20 7375 7266 6163 he hidden surfac │ │ │ │ │ -00002dd0: 6520 616c 676f 7269 7468 6d20 6f66 20e2 e algorithm of . │ │ │ │ │ -00002de0: 8098 736b 6574 6368 e280 9920 6861 7320 ..sketch... has │ │ │ │ │ -00002df0: 7370 6c69 7420 7468 6520 6c69 6e65 2069 split the line i │ │ │ │ │ -00002e00: 6e74 6f20 7477 6f0a 7069 6563 6573 2061 nto two.pieces a │ │ │ │ │ -00002e10: 6e64 206f 7264 6572 6564 2074 6865 2074 nd ordered the t │ │ │ │ │ -00002e20: 6872 6565 2072 6573 756c 7469 6e67 206f hree resulting o │ │ │ │ │ -00002e30: 626a 6563 7473 2073 6f20 7468 6174 2074 bjects so that t │ │ │ │ │ -00002e40: 6865 2063 6f72 7265 6374 0a70 6f72 7469 he correct.porti │ │ │ │ │ -00002e50: 6f6e 206f 6620 7468 6520 6c69 6e65 2069 on of the line i │ │ │ │ │ -00002e60: 7320 6869 6464 656e 2e0a 0a20 2020 4966 s hidden... If │ │ │ │ │ -00002e70: 2079 6f75 2776 6520 6e6f 7469 6365 6420 you've noticed │ │ │ │ │ -00002e80: 7468 6174 2074 6865 2070 726f 6a65 6374 that the project │ │ │ │ │ -00002e90: 696f 6e20 7765 2061 7265 2075 7369 6e67 ion we are using │ │ │ │ │ -00002ea0: 2073 6565 6d73 2065 7175 6976 616c 656e seems equivalen │ │ │ │ │ -00002eb0: 740a 746f 2065 7261 7369 6e67 2074 6865 t.to erasing the │ │ │ │ │ -00002ec0: 207a 2d63 6f6f 7264 696e 6174 6520 6f66 z-coordinate of │ │ │ │ │ -00002ed0: 2074 6865 2074 6872 6565 2d64 696d 656e the three-dimen │ │ │ │ │ -00002ee0: 7369 6f6e 616c 2069 6e70 7574 2070 6f69 sional input poi │ │ │ │ │ -00002ef0: 6e74 732c 2070 6174 0a79 6f75 7273 656c nts, pat.yoursel │ │ │ │ │ -00002f00: 6620 6f6e 2074 6865 2062 6163 6b2e 2020 f on the back. │ │ │ │ │ -00002f10: 596f 7520 6172 6520 636f 7272 6563 742e You are correct. │ │ │ │ │ -00002f20: 2020 5468 6973 2069 7320 6361 6c6c 6564 This is called │ │ │ │ │ -00002f30: 2061 20e2 809c 7061 7261 6c6c 656c 0a70 a ...parallel.p │ │ │ │ │ -00002f40: 726f 6a65 6374 696f 6ee2 809d 2e20 2054 rojection.... T │ │ │ │ │ -00002f50: 6865 207a 2d63 6f6f 7264 696e 6174 6520 he z-coordinate │ │ │ │ │ -00002f60: 6178 6973 2069 7320 706f 696e 7469 6e67 axis is pointing │ │ │ │ │ -00002f70: 2073 7472 6169 6768 7420 6f75 7420 6f66 straight out of │ │ │ │ │ -00002f80: 2074 6865 0a70 6170 6572 2061 7420 7573 the.paper at us │ │ │ │ │ -00002f90: 2c20 7768 696c 6520 7468 6520 782d 2061 , while the x- a │ │ │ │ │ -00002fa0: 6e64 2079 2d61 7865 7320 706f 696e 7420 nd y-axes point │ │ │ │ │ -00002fb0: 746f 2074 6865 2072 6967 6874 2061 6e64 to the right and │ │ │ │ │ -00002fc0: 2075 7020 6173 2075 7375 616c 2e0a 0a20 up as usual... │ │ │ │ │ -00002fd0: 2020 5468 6520 7265 7375 6c74 696e 6720 The resulting │ │ │ │ │ -00002fe0: 7069 6374 7572 6520 6669 6c65 2063 616e picture file can │ │ │ │ │ -00002ff0: 2062 6520 696e 636c 7564 6564 2069 6e20 be included in │ │ │ │ │ -00003000: 6120 4c61 5465 5820 646f 6375 6d65 6e74 a LaTeX document │ │ │ │ │ -00003010: 2077 6974 680a 5c69 6e70 7574 7b73 696d with.\input{sim │ │ │ │ │ -00003020: 706c 657d 2e20 2041 6c74 6572 6e61 7465 ple}. Alternate │ │ │ │ │ -00003030: 6c79 2c20 6164 6469 6e67 2074 6865 2063 ly, adding the c │ │ │ │ │ -00003040: 6f6d 6d61 6e64 206c 696e 6520 6f70 7469 ommand line opti │ │ │ │ │ -00003050: 6f6e 20e2 8098 2d54 e280 9928 3129 0a63 on ...-T...(1).c │ │ │ │ │ -00003060: 6175 7365 7320 7468 6520 e280 9870 7370 auses the ...psp │ │ │ │ │ -00003070: 6963 7475 7265 e280 9920 746f 2062 6520 icture... to be │ │ │ │ │ -00003080: 7772 6170 7065 6420 696e 2061 2073 686f wrapped in a sho │ │ │ │ │ -00003090: 7274 2062 7574 2063 6f6d 706c 6574 6520 rt but complete │ │ │ │ │ -000030a0: 646f 6375 6d65 6e74 2c0a 7265 6164 7920 document,.ready │ │ │ │ │ -000030b0: 746f 2072 756e 2074 686f 7567 6820 4c61 to run though La │ │ │ │ │ -000030c0: 5465 582e 2020 496e 2061 2066 696e 6973 TeX. In a finis │ │ │ │ │ -000030d0: 6865 642c 2074 7970 6573 6574 2064 6f63 hed, typeset doc │ │ │ │ │ -000030e0: 756d 656e 742c 2074 6865 2070 6963 7475 ument, the pictu │ │ │ │ │ -000030f0: 7265 0a6c 6f6f 6b73 206c 696b 6520 7468 re.looks like th │ │ │ │ │ -00003100: 6973 2e20 2028 5468 6520 6178 6573 2068 is. (The axes h │ │ │ │ │ -00003110: 6176 6520 6265 656e 2061 6464 6564 2069 ave been added i │ │ │ │ │ -00003120: 6e20 6c69 6768 7420 6772 6179 2e29 0a0a n light gray.).. │ │ │ │ │ -00003130: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ -00003140: 3032 302e 706e 6722 2074 6578 743d 2249 020.png" text="I │ │ │ │ │ -00003150: 6d61 6765 2065 7830 3230 206f 6d69 7474 mage ex020 omitt │ │ │ │ │ -00003160: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ -00003170: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ -00003180: 656e 742e 2200 085d 0a0a 4974 2069 7320 ent."..]..It is │ │ │ │ │ -00003190: 696d 706f 7274 616e 7420 746f 206b 6e6f important to kno │ │ │ │ │ -000031a0: 7720 7468 6174 206f 6e6c 7920 7468 6520 w that only the │ │ │ │ │ -000031b0: 226f 7574 7369 6465 2220 6f66 2061 2070 "outside" of a p │ │ │ │ │ -000031c0: 6f6c 7967 6f6e 2069 7320 6e6f 726d 616c olygon is normal │ │ │ │ │ -000031d0: 6c79 0a64 7261 776e 2e20 2054 6865 20e2 ly.drawn. The . │ │ │ │ │ -000031e0: 809c 6f75 7473 6964 65e2 809d 2069 7320 ..outside... is │ │ │ │ │ -000031f0: 7768 6572 6520 7468 6520 7665 7274 6963 where the vertic │ │ │ │ │ -00003200: 6573 2067 6976 656e 2069 6e20 7468 6520 es given in the │ │ │ │ │ -00003210: e280 9870 6f6c 7967 6f6e e280 990a 636f ...polygon....co │ │ │ │ │ -00003220: 6d6d 616e 6420 6170 7065 6172 2069 6e20 mmand appear in │ │ │ │ │ -00003230: 5f63 6f75 6e74 6572 2d63 6c6f 636b 7769 _counter-clockwi │ │ │ │ │ -00003240: 7365 5f20 6f72 6465 722e 2020 5468 7573 se_ order. Thus │ │ │ │ │ -00003250: 2c20 6966 2074 6865 2063 6f6d 6d61 6e64 , if the command │ │ │ │ │ -00003260: 2061 626f 7665 0a68 6164 2062 6565 6e0a above.had been. │ │ │ │ │ -00003270: 2020 706f 6c79 676f 6e28 302c 312c 3029 polygon(0,1,0) │ │ │ │ │ -00003280: 2831 2c30 2c30 2928 302c 302c 3129 0a74 (1,0,0)(0,0,1).t │ │ │ │ │ -00003290: 6865 2070 6f6c 7967 6f6e 2077 6f75 6c64 he polygon would │ │ │ │ │ -000032a0: 206e 6f74 2061 7070 6561 7220 696e 2074 not appear in t │ │ │ │ │ -000032b0: 6865 2070 6963 7475 7265 2061 7420 616c he picture at al │ │ │ │ │ -000032c0: 6c2e 2020 4974 2077 6f75 6c64 2068 6176 l. It would hav │ │ │ │ │ -000032d0: 6520 6265 656e 0ae2 809c 6375 6c6c 6564 e been....culled │ │ │ │ │ -000032e0: e280 9d20 6672 6f6d 2074 6865 2073 6365 ... from the sce │ │ │ │ │ -000032f0: 6e65 2e20 2054 6869 7320 6375 6c6c 696e ne. This cullin │ │ │ │ │ -00003300: 6720 6265 6861 7669 6f72 206d 6179 2073 g behavior may s │ │ │ │ │ -00003310: 6565 6d20 7374 7261 6e67 652c 2062 7574 eem strange, but │ │ │ │ │ -00003320: 0a73 7461 7920 7475 6e65 642e 0a0a 2020 .stay tuned... │ │ │ │ │ -00003330: 202d 2d2d 2d2d 2d2d 2d2d 2d20 466f 6f74 ---------- Foot │ │ │ │ │ -00003340: 6e6f 7465 7320 2d2d 2d2d 2d2d 2d2d 2d2d notes ---------- │ │ │ │ │ -00003350: 0a0a 2020 2028 3129 204f 7220 666f 7220 .. (1) Or for │ │ │ │ │ -00003360: 4575 726f 7065 616e 2075 7365 7273 206f European users o │ │ │ │ │ -00003370: 6620 4134 2073 697a 6520 7061 7065 722c f A4 size paper, │ │ │ │ │ -00003380: 20e2 8098 2d54 65e2 8099 2e0a 0a1f 0a46 ...-Te........F │ │ │ │ │ -00003390: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -000033a0: 2c20 204e 6f64 653a 2044 7261 7769 6e67 , Node: Drawing │ │ │ │ │ -000033b0: 206f 7074 696f 6e73 2c20 204e 6578 743a options, Next: │ │ │ │ │ -000033c0: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ -000033d0: 2c20 2050 7265 763a 2048 656c 6c6f 2077 , Prev: Hello w │ │ │ │ │ -000033e0: 6f72 6c64 2c20 2055 703a 2049 6e74 726f orld, Up: Intro │ │ │ │ │ -000033f0: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp │ │ │ │ │ -00003400: 6c65 0a0a 322e 3220 4f70 7469 6f6e 730a le..2.2 Options. │ │ │ │ │ -00003410: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4d 616e ===========..Man │ │ │ │ │ -00003420: 7920 e280 9850 5354 7269 636b 73e2 8099 y ...PSTricks... │ │ │ │ │ -00003430: 2061 6e64 20e2 8098 5469 6b5a 2f50 4746 and ...TikZ/PGF │ │ │ │ │ -00003440: e280 9920 6f70 7469 6f6e 7320 776f 726b ... options work │ │ │ │ │ -00003450: 206a 7573 7420 6669 6e65 2069 6e20 e280 just fine in .. │ │ │ │ │ -00003460: 9873 6b65 7463 68e2 8099 2e20 2049 660a .sketch.... If. │ │ │ │ │ -00003470: 6765 6e65 7261 7469 6e67 20e2 8098 5053 generating ...PS │ │ │ │ │ -00003480: 5472 6963 6b73 e280 992c 2074 6865 2063 Tricks..., the c │ │ │ │ │ -00003490: 6f64 650a 2020 706f 6c79 676f 6e5b 6669 ode. polygon[fi │ │ │ │ │ -000034a0: 6c6c 636f 6c6f 723d 6c69 6768 7467 7261 llcolor=lightgra │ │ │ │ │ -000034b0: 792c 6c69 6e65 7769 6474 683d 3370 745d y,linewidth=3pt] │ │ │ │ │ -000034c0: 2830 2c30 2c31 2928 312c 302c 3029 2830 (0,0,1)(1,0,0)(0 │ │ │ │ │ -000034d0: 2c31 2c30 290a 2020 6c69 6e65 5b6c 696e ,1,0). line[lin │ │ │ │ │ -000034e0: 6573 7479 6c65 3d64 6f74 7465 645d 282d estyle=dotted](- │ │ │ │ │ -000034f0: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2). │ │ │ │ │ -00003500: 7072 6f64 7563 6573 0a0a 0008 5b69 6d61 produces....[ima │ │ │ │ │ -00003510: 6765 2073 7263 3d22 6578 3033 302e 706e ge src="ex030.pn │ │ │ │ │ -00003520: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -00003530: 7830 3330 206f 6d69 7474 6564 2069 6e20 x030 omitted in │ │ │ │ │ -00003540: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -00003550: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -00003560: 085d 0a0a 2020 2054 6f20 7072 6f64 7563 .].. To produc │ │ │ │ │ -00003570: 6520 e280 9854 696b 5a2f 5047 46e2 8099 e ...TikZ/PGF... │ │ │ │ │ -00003580: 2c20 7468 6520 636f 7272 6573 706f 6e64 , the correspond │ │ │ │ │ -00003590: 696e 6720 636f 6465 2069 730a 2020 706f ing code is. po │ │ │ │ │ -000035a0: 6c79 676f 6e5b 6669 6c6c 3d6c 6967 6874 lygon[fill=light │ │ │ │ │ -000035b0: 6772 6179 2c6c 696e 6520 7769 6474 683d gray,line width= │ │ │ │ │ -000035c0: 3370 745d 2830 2c30 2c31 2928 312c 302c 3pt](0,0,1)(1,0, │ │ │ │ │ -000035d0: 3029 2830 2c31 2c30 290a 2020 6c69 6e65 0)(0,1,0). line │ │ │ │ │ -000035e0: 5b73 7479 6c65 3d64 6f74 7465 645d 282d [style=dotted](- │ │ │ │ │ -000035f0: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2). │ │ │ │ │ -00003600: 2020 676c 6f62 616c 207b 206c 616e 6775 global { langu │ │ │ │ │ -00003610: 6167 6520 7469 6b7a 207d 0a54 6865 2066 age tikz }.The f │ │ │ │ │ -00003620: 696e 616c 20e2 8098 676c 6f62 616c e280 inal ...global.. │ │ │ │ │ -00003630: 9920 696e 7374 7275 6374 7320 e280 9873 . instructs ...s │ │ │ │ │ -00003640: 6b65 7463 68e2 8099 2074 6f20 7072 6f64 ketch... to prod │ │ │ │ │ -00003650: 7563 6520 e280 9854 696b 5a2f 5047 46e2 uce ...TikZ/PGF. │ │ │ │ │ -00003660: 8099 2063 6f64 6520 6173 0a6f 7574 7075 .. code as.outpu │ │ │ │ │ -00003670: 7420 7261 7468 6572 2074 6861 6e20 7468 t rather than th │ │ │ │ │ -00003680: 6520 6465 6661 756c 742c 20e2 8098 5053 e default, ...PS │ │ │ │ │ -00003690: 5472 6963 6b73 e280 992e 2020 4e6f 7465 Tricks.... Note │ │ │ │ │ -000036a0: 2074 6861 7420 e280 9870 6f6c 7967 6f6e that ...polygon │ │ │ │ │ -000036b0: e280 9920 6669 6c6c 0a63 6f6c 6f72 2061 ... fill.color a │ │ │ │ │ -000036c0: 6e64 20e2 8098 6c69 6e65 e280 9920 7374 nd ...line... st │ │ │ │ │ -000036d0: 796c 6520 6f70 7469 6f6e 7320 626f 7468 yle options both │ │ │ │ │ -000036e0: 2063 6f6e 666f 726d 2074 6f20 e280 9854 conform to ...T │ │ │ │ │ -000036f0: 696b 5ae2 8099 2073 796e 7461 7820 7275 ikZ... syntax ru │ │ │ │ │ -00003700: 6c65 732e 2020 5468 650a 7265 7375 6c74 les. The.result │ │ │ │ │ -00003710: 696e 6720 e280 9854 696b 5a2f 5047 46e2 ing ...TikZ/PGF. │ │ │ │ │ -00003720: 8099 206f 7574 7075 7420 6973 0a20 205c .. output is. \ │ │ │ │ │ -00003730: 6265 6769 6e7b 7469 6b7a 7069 6374 7572 begin{tikzpictur │ │ │ │ │ -00003740: 657d 5b6a 6f69 6e3d 726f 756e 645d 0a20 e}[join=round]. │ │ │ │ │ -00003750: 205c 6472 6177 5b64 6f74 7465 645d 282d \draw[dotted](- │ │ │ │ │ -00003760: 312c 2d31 292d 2d28 2e33 3333 2c2e 3333 1,-1)--(.333,.33 │ │ │ │ │ -00003770: 3329 3b0a 2020 5c66 696c 6c64 7261 775b 3);. \filldraw[ │ │ │ │ │ -00003780: 6669 6c6c 3d6c 6967 6874 6772 6179 2c6c fill=lightgray,l │ │ │ │ │ -00003790: 696e 6520 7769 6474 683d 3370 745d 2830 ine width=3pt](0 │ │ │ │ │ -000037a0: 2c30 292d 2d28 312c 3029 2d2d 2830 2c31 ,0)--(1,0)--(0,1 │ │ │ │ │ -000037b0: 292d 2d63 7963 6c65 3b0a 2020 5c64 7261 )--cycle;. \dra │ │ │ │ │ -000037c0: 775b 646f 7474 6564 5d28 2e33 3333 2c2e w[dotted](.333,. │ │ │ │ │ -000037d0: 3333 3329 2d2d 2832 2c32 293b 0a20 205c 333)--(2,2);. \ │ │ │ │ │ -000037e0: 656e 647b 7469 6b7a 7069 6374 7572 657d end{tikzpicture} │ │ │ │ │ -000037f0: 0a54 6865 2072 656d 6169 6e69 6e67 2065 .The remaining e │ │ │ │ │ -00003800: 7861 6d70 6c65 7320 6f66 2074 6869 7320 xamples of this │ │ │ │ │ -00003810: 6d61 6e75 616c 2061 7265 2069 6e20 5053 manual are in PS │ │ │ │ │ -00003820: 5472 6963 6b73 2073 7479 6c65 2e0a 0a1f Tricks style.... │ │ │ │ │ -00003830: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -00003840: 666f 2c20 204e 6f64 653a 2044 7261 7769 fo, Node: Drawi │ │ │ │ │ -00003850: 6e67 2061 2073 6f6c 6964 2c20 204e 6578 ng a solid, Nex │ │ │ │ │ -00003860: 743a 2053 7065 6369 616c 206f 626a 6563 t: Special objec │ │ │ │ │ -00003870: 7473 2c20 2050 7265 763a 2044 7261 7769 ts, Prev: Drawi │ │ │ │ │ -00003880: 6e67 206f 7074 696f 6e73 2c20 2055 703a ng options, Up: │ │ │ │ │ -00003890: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by │ │ │ │ │ -000038a0: 2065 7861 6d70 6c65 0a0a 322e 3320 4472 example..2.3 Dr │ │ │ │ │ -000038b0: 6177 696e 6720 6120 736f 6c69 640a 3d3d awing a solid.== │ │ │ │ │ -000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -000038d0: 3d0a 0a4c 6574 2773 2074 7279 2073 6f6d =..Let's try som │ │ │ │ │ -000038e0: 6574 6869 6e67 206d 6f72 6520 6578 6369 ething more exci │ │ │ │ │ -000038f0: 7469 6e67 2e20 20e2 8098 536b 6574 6368 ting. ...Sketch │ │ │ │ │ -00003900: e280 9920 6861 7320 6e6f 206e 6f74 696f ... has no notio │ │ │ │ │ -00003910: 6e20 6f66 2061 2073 6f6c 6964 2c0a 6275 n of a solid,.bu │ │ │ │ │ -00003920: 7420 706f 6c79 676f 6e61 6c20 e280 9c66 t polygonal ...f │ │ │ │ │ -00003930: 6163 6573 e280 9d20 6361 6e20 6265 2075 aces... can be u │ │ │ │ │ -00003940: 7365 6420 746f 2072 6570 7265 7365 6e74 sed to represent │ │ │ │ │ -00003950: 2074 6865 2062 6f75 6e64 6172 7920 6f66 the boundary of │ │ │ │ │ -00003960: 2061 2073 6f6c 6964 2e0a 546f 2074 6865 a solid..To the │ │ │ │ │ -00003970: 2070 7265 7669 6f75 7320 6578 616d 706c previous exampl │ │ │ │ │ -00003980: 652c 206c 6574 2773 2061 6464 2074 6872 e, let's add thr │ │ │ │ │ -00003990: 6565 206d 6f72 6520 7472 6961 6e67 756c ee more triangul │ │ │ │ │ -000039a0: 6172 2070 6f6c 7967 6f6e 7320 746f 0a6d ar polygons to.m │ │ │ │ │ -000039b0: 616b 6520 7468 6520 6661 6365 7320 6f66 ake the faces of │ │ │ │ │ -000039c0: 2061 6e20 6972 7265 6775 6c61 7220 7465 an irregular te │ │ │ │ │ -000039d0: 7472 6168 6564 726f 6e2e 0a20 2025 2076 trahedron.. % v │ │ │ │ │ -000039e0: 6572 7469 6365 7320 6f66 2074 6865 2074 ertices of the t │ │ │ │ │ -000039f0: 6574 7261 6865 6472 6f6e 0a20 2064 6566 etrahedron. def │ │ │ │ │ -00003a00: 2070 3120 2830 2c30 2c31 2920 6465 6620 p1 (0,0,1) def │ │ │ │ │ -00003a10: 7032 2028 312c 302c 3029 0a20 2064 6566 p2 (1,0,0). def │ │ │ │ │ -00003a20: 2070 3320 2830 2c31 2c30 2920 6465 6620 p3 (0,1,0) def │ │ │ │ │ -00003a30: 7034 2028 2d2e 332c 2d2e 352c 2d2e 3829 p4 (-.3,-.5,-.8) │ │ │ │ │ -00003a40: 0a0a 2020 2520 6661 6365 7320 6f66 2074 .. % faces of t │ │ │ │ │ -00003a50: 6865 2074 6574 7261 6865 6472 6f6e 2e0a he tetrahedron.. │ │ │ │ │ -00003a60: 2020 706f 6c79 676f 6e28 7031 2928 7032 polygon(p1)(p2 │ │ │ │ │ -00003a70: 2928 7033 2920 2520 6f72 6967 696e 616c )(p3) % original │ │ │ │ │ -00003a80: 2066 726f 6e74 2070 6f6c 7967 6f6e 0a20 front polygon. │ │ │ │ │ -00003a90: 2070 6f6c 7967 6f6e 2870 3129 2870 3429 polygon(p1)(p4) │ │ │ │ │ -00003aa0: 2870 3229 2025 2062 6f74 746f 6d0a 2020 (p2) % bottom. │ │ │ │ │ -00003ab0: 706f 6c79 676f 6e28 7031 2928 7033 2928 polygon(p1)(p3)( │ │ │ │ │ -00003ac0: 7034 2920 2520 6c65 6674 0a20 2070 6f6c p4) % left. pol │ │ │ │ │ -00003ad0: 7967 6f6e 2870 3329 2870 3229 2870 3429 ygon(p3)(p2)(p4) │ │ │ │ │ -00003ae0: 2025 2072 6561 720a 0a20 2025 206c 696e % rear.. % lin │ │ │ │ │ -00003af0: 6520 746f 2070 6965 7263 6520 7468 6520 e to pierce the │ │ │ │ │ -00003b00: 7465 7472 6168 6564 726f 6e0a 2020 6c69 tetrahedron. li │ │ │ │ │ -00003b10: 6e65 5b6c 696e 6563 6f6c 6f72 3d72 6564 ne[linecolor=red │ │ │ │ │ -00003b20: 5d28 2d31 2c2d 312c 2d31 2928 322c 322c ](-1,-1,-1)(2,2, │ │ │ │ │ -00003b30: 3229 0a54 6869 7320 6578 616d 706c 6520 2).This example │ │ │ │ │ -00003b40: 7573 6573 20e2 809c 6465 6669 6e69 7469 uses ...definiti │ │ │ │ │ -00003b50: 6f6e 73e2 809d 2c20 7768 6963 6820 6265 ons..., which be │ │ │ │ │ -00003b60: 6769 6e20 7769 7468 20e2 8098 6465 66e2 gin with ...def. │ │ │ │ │ -00003b70: 8099 2e20 2054 6865 7365 20e2 809c 6465 ... These ...de │ │ │ │ │ -00003b80: 6669 6e65 e280 9d0a 6f72 2067 6976 6520 fine....or give │ │ │ │ │ -00003b90: 6e61 6d65 7320 746f 2070 6f69 6e74 732c names to points, │ │ │ │ │ -00003ba0: 2077 6869 6368 2061 7265 2074 6865 6e20 which are then │ │ │ │ │ -00003bb0: 6176 6169 6c61 626c 6520 6173 20e2 809c available as ... │ │ │ │ │ -00003bc0: 7265 6665 7265 6e63 6573 e280 9d20 6279 references... by │ │ │ │ │ -00003bd0: 0a65 6e63 6c6f 7369 6e67 2074 6865 206e .enclosing the n │ │ │ │ │ -00003be0: 616d 6573 2069 6e20 7061 7265 6e74 6865 ames in parenthe │ │ │ │ │ -00003bf0: 7365 732c 2065 2e67 2e20 2866 6f6f 292e ses, e.g. (foo). │ │ │ │ │ -00003c00: 2020 5468 6520 7061 7265 6e74 6865 7365 The parenthese │ │ │ │ │ -00003c10: 7320 6465 6e6f 7465 0a74 6861 7420 7468 s denote.that th │ │ │ │ │ -00003c20: 6520 6e61 6d65 7320 7265 6665 7220 746f e names refer to │ │ │ │ │ -00003c30: 2070 6f69 6e74 733b 2074 6865 7920 6172 points; they ar │ │ │ │ │ -00003c40: 6520 7265 7175 6972 6564 2e20 2054 6865 e required. The │ │ │ │ │ -00003c50: 7265 2063 616e 2062 6520 6e6f 0a77 6869 re can be no.whi │ │ │ │ │ -00003c60: 7465 2073 7061 6365 2062 6574 7765 656e te space between │ │ │ │ │ -00003c70: 2074 6865 6d20 616e 6420 7468 6520 6e61 them and the na │ │ │ │ │ -00003c80: 6d65 2e0a 0a20 2020 4173 2079 6f75 2063 me... As you c │ │ │ │ │ -00003c90: 616e 2073 6565 2c20 636f 6d6d 656e 7473 an see, comments │ │ │ │ │ -00003ca0: 2073 7461 7274 2077 6974 6820 2520 6173 start with % as │ │ │ │ │ -00003cb0: 2069 6e20 5465 5820 616e 6420 6578 7465 in TeX and exte │ │ │ │ │ -00003cc0: 6e64 2074 6f20 7468 6520 656e 640a 6f66 nd to the end.of │ │ │ │ │ -00003cd0: 2074 6865 206c 696e 6520 2874 686f 7567 the line (thoug │ │ │ │ │ -00003ce0: 6820 2320 7769 6c6c 2077 6f72 6b20 6173 h # will work as │ │ │ │ │ -00003cf0: 2077 656c 6c29 2e20 2057 6869 7465 2073 well). White s │ │ │ │ │ -00003d00: 7061 6365 2c20 696e 636c 7564 696e 670a pace, including. │ │ │ │ │ -00003d10: 7370 6163 6573 2c20 7461 6273 2061 6e64 spaces, tabs and │ │ │ │ │ -00003d20: 2062 6c61 6e6b 206c 696e 6573 2c20 6861 blank lines, ha │ │ │ │ │ -00003d30: 7320 6e6f 2065 6666 6563 7420 696e 2074 s no effect in t │ │ │ │ │ -00003d40: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... │ │ │ │ │ -00003d50: 6c61 6e67 7561 6765 2e0a 0a00 085b 696d language.....[im │ │ │ │ │ -00003d60: 6167 6520 7372 633d 2265 7830 3430 2e70 age src="ex040.p │ │ │ │ │ -00003d70: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng" text="Image │ │ │ │ │ -00003d80: 6578 3034 3020 6f6d 6974 7465 6420 696e ex040 omitted in │ │ │ │ │ -00003d90: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of │ │ │ │ │ -00003da0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document." │ │ │ │ │ -00003db0: 0008 5d0a 0a49 6620 7765 206c 6f6f 6b20 ..]..If we look │ │ │ │ │ -00003dc0: 696e 7369 6465 2074 6865 2054 6558 2066 inside the TeX f │ │ │ │ │ -00003dd0: 696c 6520 7072 6f64 7563 6564 2062 7920 ile produced by │ │ │ │ │ -00003de0: e280 9873 6b65 7463 68e2 8099 2c20 7468 ...sketch..., th │ │ │ │ │ -00003df0: 6572 6520 7769 6c6c 2062 6520 6f6e 6c79 ere will be only │ │ │ │ │ -00003e00: 0a74 6872 6565 2070 6f6c 7967 6f6e 732e .three polygons. │ │ │ │ │ -00003e10: 2020 5468 6520 666f 7572 7468 2068 6173 The fourth has │ │ │ │ │ -00003e20: 2062 6565 6e20 6375 6c6c 6564 2062 6563 been culled bec │ │ │ │ │ -00003e30: 6175 7365 2069 7420 6973 2061 2022 6261 ause it is a "ba │ │ │ │ │ -00003e40: 636b 2066 6163 6522 0a6f 6620 7468 6520 ck face".of the │ │ │ │ │ -00003e50: 7465 7472 6168 6564 726f 6e2c 2069 6e76 tetrahedron, inv │ │ │ │ │ -00003e60: 6973 6962 6c65 2074 6f20 6f75 7220 7669 isible to our vi │ │ │ │ │ -00003e70: 6577 2e20 2049 7420 6973 2075 6e6e 6563 ew. It is unnec │ │ │ │ │ -00003e80: 6573 7361 7279 2c20 616e 6420 736f 2069 essary, and so i │ │ │ │ │ -00003e90: 740a 6973 2072 656d 6f76 6564 2e0a 0a20 t.is removed... │ │ │ │ │ -00003ea0: 2020 496e 2073 6f6d 6520 6472 6177 696e In some drawin │ │ │ │ │ -00003eb0: 6773 2c20 706f 6c79 676f 6e73 2061 6374 gs, polygons act │ │ │ │ │ -00003ec0: 2061 7320 7a65 726f 2d74 6869 636b 6e65 as zero-thickne │ │ │ │ │ -00003ed0: 7373 2073 6f6c 6964 2073 7572 6661 6365 ss solid surface │ │ │ │ │ -00003ee0: 7320 7769 7468 0a62 6f74 6820 7369 6465 s with.both side │ │ │ │ │ -00003ef0: 7320 7669 7369 626c 6520 7261 7468 6572 s visible rather │ │ │ │ │ -00003f00: 2074 6861 6e20 6173 2074 6865 2066 6163 than as the fac │ │ │ │ │ -00003f10: 6573 206f 6620 736f 6c69 6420 6f62 6a65 es of solid obje │ │ │ │ │ -00003f20: 6374 732c 2077 6865 7265 2062 6163 6b0a cts, where back. │ │ │ │ │ -00003f30: 6661 6365 7320 6361 6e20 6265 2063 756c faces can be cul │ │ │ │ │ -00003f40: 6c65 642e 2020 466f 7220 7a65 726f 2d74 led. For zero-t │ │ │ │ │ -00003f50: 6869 636b 6e65 7373 2073 6f6c 6964 732c hickness solids, │ │ │ │ │ -00003f60: 2063 756c 6c69 6e67 2069 7320 6120 7072 culling is a pr │ │ │ │ │ -00003f70: 6f62 6c65 6d2e 0a4f 6e65 2073 6f6c 7574 oblem..One solut │ │ │ │ │ -00003f80: 696f 6e20 6973 2074 6f20 7573 6520 6120 ion is to use a │ │ │ │ │ -00003f90: 7061 6972 206f 6620 e280 9873 6b65 7463 pair of ...sketc │ │ │ │ │ -00003fa0: 68e2 8099 2070 6f6c 7967 6f6e 7320 666f h... polygons fo │ │ │ │ │ -00003fb0: 7220 6561 6368 0a7a 6572 6f2d 7468 6963 r each.zero-thic │ │ │ │ │ -00003fc0: 6b6e 6573 7320 6661 6365 2c20 6964 656e kness face, iden │ │ │ │ │ -00003fd0: 7469 6361 6c20 6578 6365 7074 2077 6974 tical except wit │ │ │ │ │ -00003fe0: 6820 6f70 706f 7369 7465 2076 6572 7465 h opposite verte │ │ │ │ │ -00003ff0: 7820 6f72 6465 7273 2e20 2054 6869 730a x orders. This. │ │ │ │ │ -00004000: 6973 2075 6e77 6965 6c64 7920 616e 6420 is unwieldy and │ │ │ │ │ -00004010: 6578 7065 6e73 6976 652e 2020 4120 6265 expensive. A be │ │ │ │ │ -00004020: 7474 6572 2077 6179 2069 7320 746f 2073 tter way is to s │ │ │ │ │ -00004030: 6574 2074 6865 20e2 8098 736b 6574 6368 et the ...sketch │ │ │ │ │ -00004040: e280 9920 696e 7465 726e 616c 0a6f 7074 ... internal.opt │ │ │ │ │ -00004050: 696f 6e20 e280 9863 756c 6ce2 8099 2074 ion ...cull... t │ │ │ │ │ -00004060: 6f20 e280 9866 616c 7365 e280 9920 696e o ...false... in │ │ │ │ │ -00004070: 2074 6865 2075 7375 616c 20e2 8098 5053 the usual ...PS │ │ │ │ │ -00004080: 5472 6963 6b73 e280 9920 6d61 6e6e 6572 Tricks... manner │ │ │ │ │ -00004090: 2e0a 2020 706f 6c79 676f 6e5b 6375 6c6c .. polygon[cull │ │ │ │ │ -000040a0: 3d66 616c 7365 5d28 7031 2928 7032 2928 =false](p1)(p2)( │ │ │ │ │ -000040b0: 7033 290a 5468 6520 666f 6c6c 6f77 696e p3).The followin │ │ │ │ │ -000040c0: 6720 7368 6f77 7320 7468 6520 7361 6d65 g shows the same │ │ │ │ │ -000040d0: 2068 656c 6978 2073 6861 7065 2064 7261 helix shape dra │ │ │ │ │ -000040e0: 776e 2066 6972 7374 2077 6974 6820 6375 wn first with cu │ │ │ │ │ -000040f0: 6c6c 3d74 7275 6520 2874 6865 0a64 6566 ll=true (the.def │ │ │ │ │ -00004100: 6175 6c74 2920 616e 6420 7468 656e 2063 ault) and then c │ │ │ │ │ -00004110: 756c 6c3d 6661 6c73 652e 0a0a 0008 5b69 ull=false.....[i │ │ │ │ │ -00004120: 6d61 6765 2073 7263 3d22 6578 3034 352e mage src="ex045. │ │ │ │ │ -00004130: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ -00004140: 2065 7830 3435 206f 6d69 7474 6564 2069 ex045 omitted i │ │ │ │ │ -00004150: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ -00004160: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ -00004170: 2200 085d 0a0a 5765 276c 6c20 736f 6f6e "..]..We'll soon │ │ │ │ │ -00004180: 2073 6565 2068 6f77 2074 6f20 7072 6f64 see how to prod │ │ │ │ │ -00004190: 7563 6520 7468 6573 6520 6865 6c69 7865 uce these helixe │ │ │ │ │ -000041a0: 7320 7769 7468 2061 2066 6577 206c 696e s with a few lin │ │ │ │ │ -000041b0: 6573 206f 6620 e280 9873 6b65 7463 68e2 es of ...sketch. │ │ │ │ │ -000041c0: 8099 0a6c 616e 6775 6167 6520 636f 6465 ...language code │ │ │ │ │ -000041d0: 2e0a 0a20 2020 4974 206d 6179 2062 6520 ... It may be │ │ │ │ │ -000041e0: 7465 6d70 7469 6e67 2074 6f20 7475 726e tempting to turn │ │ │ │ │ -000041f0: 2063 756c 6c69 6e67 206f 6666 2067 7261 culling off gra │ │ │ │ │ -00004200: 7475 6974 6f75 736c 7920 736f 2074 6861 tuitously so tha │ │ │ │ │ -00004210: 7420 7665 7274 6578 0a6f 7264 6572 2063 t vertex.order c │ │ │ │ │ -00004220: 616e 2062 6520 6967 6e6f 7265 642e 2020 an be ignored. │ │ │ │ │ -00004230: 5468 6973 2069 7320 6e6f 7420 6120 676f This is not a go │ │ │ │ │ -00004240: 6f64 2069 6465 6120 6265 6361 7573 6520 od idea because │ │ │ │ │ -00004250: 6f75 7470 7574 2066 696c 6520 7369 7a65 output file size │ │ │ │ │ -00004260: 0a61 6e64 2054 6558 2061 6e64 2050 6f73 .and TeX and Pos │ │ │ │ │ -00004270: 7473 6372 6970 7420 7072 6f63 6573 7369 tscript processi │ │ │ │ │ -00004280: 6e67 2074 696d 6520 626f 7468 2064 6570 ng time both dep │ │ │ │ │ -00004290: 656e 6420 6f6e 2074 6865 206e 756d 6265 end on the numbe │ │ │ │ │ -000042a0: 7220 6f66 0a6f 7574 7075 7420 706f 6c79 r of.output poly │ │ │ │ │ -000042b0: 676f 6e73 2e20 2043 756c 6c69 6e67 2075 gons. Culling u │ │ │ │ │ -000042c0: 7375 616c 6c79 2069 6d70 726f 7665 7320 sually improves │ │ │ │ │ -000042d0: 7065 7266 6f72 6d61 6e63 6520 6279 2061 performance by a │ │ │ │ │ -000042e0: 2066 6163 746f 7220 6f66 0a74 776f 2e20 factor of.two. │ │ │ │ │ -000042f0: 204f 6e20 7468 6520 6f74 6865 7220 6861 On the other ha │ │ │ │ │ -00004300: 6e64 2c20 676c 6f62 616c 6c79 2073 6574 nd, globally set │ │ │ │ │ -00004310: 7469 6e67 20e2 8098 6375 6c6c 3d66 616c ting ...cull=fal │ │ │ │ │ -00004320: 7365 e280 9920 6973 2072 6561 736f 6e61 se... is reasona │ │ │ │ │ -00004330: 626c 650a 7768 696c 6520 6465 6275 6767 ble.while debugg │ │ │ │ │ -00004340: 696e 672e 2020 5365 6520 2a6e 6f74 6520 ing. See *note │ │ │ │ │ -00004350: 476c 6f62 616c 206f 7074 696f 6e73 3a3a Global options:: │ │ │ │ │ -00004360: 2061 6e64 202a 6e6f 7465 204c 696d 6974 and *note Limit │ │ │ │ │ -00004370: 7320 6f6e 2065 7272 6f72 0a64 6574 6563 s on error.detec │ │ │ │ │ -00004380: 7469 6f6e 3a3a 2e0a 0a1f 0a46 696c 653a tion::.....File: │ │ │ │ │ -00004390: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -000043a0: 6f64 653a 2053 7065 6369 616c 206f 626a ode: Special obj │ │ │ │ │ -000043b0: 6563 7473 2c20 204e 6578 743a 204f 626a ects, Next: Obj │ │ │ │ │ -000043c0: 6563 7420 7472 616e 7366 6f72 6d73 2c20 ect transforms, │ │ │ │ │ -000043d0: 2050 7265 763a 2044 7261 7769 6e67 2061 Prev: Drawing a │ │ │ │ │ -000043e0: 2073 6f6c 6964 2c20 2055 703a 2049 6e74 solid, Up: Int │ │ │ │ │ -000043f0: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa │ │ │ │ │ -00004400: 6d70 6c65 0a0a 322e 3420 5370 6563 6961 mple..2.4 Specia │ │ │ │ │ -00004410: 6c20 6f62 6a65 6374 730a 3d3d 3d3d 3d3d l objects.====== │ │ │ │ │ -00004420: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 =============..W │ │ │ │ │ -00004430: 6520 6361 6e20 6164 6420 6c61 6265 6c73 e can add labels │ │ │ │ │ -00004440: 2074 6f20 6120 6472 6177 696e 6720 6279 to a drawing by │ │ │ │ │ -00004450: 2075 7369 6e67 2073 7065 6369 616c 206f using special o │ │ │ │ │ -00004460: 626a 6563 7473 2c20 7768 6963 6820 7072 bjects, which pr │ │ │ │ │ -00004470: 6f76 6964 6520 610a 7761 7920 746f 2065 ovide a.way to e │ │ │ │ │ -00004480: 6d62 6564 2072 6177 204c 6154 6558 2061 mbed raw LaTeX a │ │ │ │ │ -00004490: 6e64 20e2 8098 5053 5472 6963 6b73 e280 nd ...PSTricks.. │ │ │ │ │ -000044a0: 9920 636f 6465 2e20 2041 6464 696e 6720 . code. Adding │ │ │ │ │ -000044b0: 7468 6973 2074 6f20 7468 650a 7465 7472 this to the.tetr │ │ │ │ │ -000044c0: 6168 6564 726f 6e20 646f 6573 2074 6865 ahedron does the │ │ │ │ │ -000044d0: 2074 7269 636b 2e0a 2020 7370 6563 6961 trick.. specia │ │ │ │ │ -000044e0: 6c20 7c5c 666f 6f74 6e6f 7465 7369 7a65 l |\footnotesize │ │ │ │ │ -000044f0: 0a20 2020 2020 2020 2020 2020 5c75 7075 . \upu │ │ │ │ │ -00004500: 747b 3270 747d 5b75 725d 2331 7b24 5031 t{2pt}[ur]#1{$P1 │ │ │ │ │ -00004510: 247d 0a20 2020 2020 2020 2020 2020 5c75 $}. \u │ │ │ │ │ -00004520: 7075 745b 725d 2332 7b24 5032 247d 0a20 put[r]#2{$P2$}. │ │ │ │ │ -00004530: 2020 2020 2020 2020 2020 5c75 7075 745b \uput[ │ │ │ │ │ -00004540: 755d 2333 7b24 5033 247d 0a20 2020 2020 u]#3{$P3$}. │ │ │ │ │ -00004550: 2020 2020 2020 5c75 7075 745b 645d 2334 \uput[d]#4 │ │ │ │ │ -00004560: 7b24 5034 247d 7c0a 2020 2020 2870 3129 {$P4$}|. (p1) │ │ │ │ │ -00004570: 2870 3229 2870 3329 2870 3429 0a48 6572 (p2)(p3)(p4).Her │ │ │ │ │ -00004580: 6520 6973 2074 6865 2072 6573 756c 742e e is the result. │ │ │ │ │ -00004590: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -000045a0: 6578 3034 322e 706e 6722 2074 6578 743d ex042.png" text= │ │ │ │ │ -000045b0: 2249 6d61 6765 2065 7830 3432 206f 6d69 "Image ex042 omi │ │ │ │ │ -000045c0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -000045d0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -000045e0: 756d 656e 742e 2200 085d 0a0a 2020 2054 ument."..].. T │ │ │ │ │ -000045f0: 6865 7265 2061 7265 2073 6576 6572 616c here are several │ │ │ │ │ -00004600: 2064 6574 6169 6c73 2074 6f20 6e6f 7465 details to note │ │ │ │ │ -00004610: 2068 6572 652e 2020 4669 7273 742c 2074 here. First, t │ │ │ │ │ -00004620: 6865 2071 756f 7469 6e67 0a63 6f6e 7665 he quoting.conve │ │ │ │ │ -00004630: 6e74 696f 6e20 666f 7220 7468 6520 7261 ntion for the ra │ │ │ │ │ -00004640: 7720 636f 6465 2069 7320 7369 6d69 6c61 w code is simila │ │ │ │ │ -00004650: 7220 746f 2074 6865 204c 6154 6558 205c r to the LaTeX \ │ │ │ │ │ -00004660: 7665 7262 2063 6f6d 6d61 6e64 2e20 2054 verb command. T │ │ │ │ │ -00004670: 6865 0a66 6972 7374 206e 6f6e 2d77 6869 he.first non-whi │ │ │ │ │ -00004680: 7465 2073 7061 6365 2063 6861 7261 6374 te space charact │ │ │ │ │ -00004690: 6572 2066 6f6c 6c6f 7769 6e67 2073 7065 er following spe │ │ │ │ │ -000046a0: 6369 616c 2069 7320 756e 6465 7273 746f cial is understo │ │ │ │ │ -000046b0: 6f64 2074 6f20 6265 0a74 6865 2071 756f od to be.the quo │ │ │ │ │ -000046c0: 7465 2063 6861 7261 6374 6572 2c20 696e te character, in │ │ │ │ │ -000046d0: 2074 6869 7320 6361 7365 20e2 8098 7ce2 this case ...|. │ │ │ │ │ -000046e0: 8099 2e20 2054 6865 2072 6177 2074 6578 ... The raw tex │ │ │ │ │ -000046f0: 7420 636f 6e74 696e 7565 7320 756e 7469 t continues unti │ │ │ │ │ -00004700: 6c0a 7468 6973 2063 6861 7261 6374 6572 l.this character │ │ │ │ │ -00004710: 2072 6563 7572 732e 0a0a 2020 2053 6563 recurs... Sec │ │ │ │ │ -00004720: 6f6e 642c 2074 6865 2061 7267 756d 656e ond, the argumen │ │ │ │ │ -00004730: 7420 7265 6665 7265 6e63 6573 2023 312c t references #1, │ │ │ │ │ -00004740: 2023 322c 2023 332c 2061 6e64 2023 3420 #2, #3, and #4 │ │ │ │ │ -00004750: 7265 6665 7220 746f 2070 6f69 6e74 2c0a refer to point,. │ │ │ │ │ -00004760: 7665 6374 6f72 2c20 6f72 2073 6361 6c61 vector, or scala │ │ │ │ │ -00004770: 7220 7661 6c75 6573 2069 6e20 7468 6520 r values in the │ │ │ │ │ -00004780: 6c69 7374 2074 6861 7420 666f 6c6c 6f77 list that follow │ │ │ │ │ -00004790: 2e20 2054 6869 7320 6973 2073 696d 696c . This is simil │ │ │ │ │ -000047a0: 6172 2074 6f0a 5465 5820 6d61 6372 6f20 ar to.TeX macro │ │ │ │ │ -000047b0: 7379 6e74 6178 2e20 2054 6865 2074 7261 syntax. The tra │ │ │ │ │ -000047c0: 6e73 666f 726d 6564 2061 6e64 2074 776f nsformed and two │ │ │ │ │ -000047d0: 2d64 696d 656e 7369 6f6e 616c 2070 726f -dimensional pro │ │ │ │ │ -000047e0: 6a65 6374 696f 6e73 206f 660a 7468 6573 jections of.thes │ │ │ │ │ -000047f0: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio │ │ │ │ │ -00004800: 6e61 6c20 706f 696e 7473 2061 7265 2073 nal points are s │ │ │ │ │ -00004810: 7562 7374 6974 7574 6564 2069 6e20 7468 ubstituted in th │ │ │ │ │ -00004820: 6520 6669 6e61 6c20 6f75 7470 7574 2e20 e final output. │ │ │ │ │ -00004830: 2041 6e0a 6172 6775 6d65 6e74 2072 6566 An.argument ref │ │ │ │ │ -00004840: 6572 656e 6365 206f 6620 7468 6520 666f erence of the fo │ │ │ │ │ -00004850: 726d 2023 312d 3220 6973 2072 6570 6c61 rm #1-2 is repla │ │ │ │ │ -00004860: 6365 6420 7769 7468 2074 6865 2061 6e67 ced with the ang │ │ │ │ │ -00004870: 6c65 2069 6e0a 6465 6772 6565 7320 6f66 le in.degrees of │ │ │ │ │ -00004880: 2074 6865 2074 776f 2d64 696d 656e 7369 the two-dimensi │ │ │ │ │ -00004890: 6f6e 616c 2076 6563 746f 7220 7468 6174 onal vector that │ │ │ │ │ -000048a0: 2063 6f6e 6e65 6374 7320 7468 6520 7072 connects the pr │ │ │ │ │ -000048b0: 6f6a 6563 7469 6f6e 7320 6f66 0a74 6865 ojections of.the │ │ │ │ │ -000048c0: 2074 776f 2072 6573 7065 6374 6976 6520 two respective │ │ │ │ │ -000048d0: 6172 6775 6d65 6e74 2070 6f69 6e74 732c argument points, │ │ │ │ │ -000048e0: 2068 6572 6520 2331 2061 6e64 2023 322e here #1 and #2. │ │ │ │ │ -000048f0: 2020 5468 6520 7375 6273 7469 7475 7465 The substitute │ │ │ │ │ -00004900: 640a 616e 676c 6520 6973 2065 6e63 6c6f d.angle is enclo │ │ │ │ │ -00004910: 7365 6420 696e 2063 7572 6c79 2062 7261 sed in curly bra │ │ │ │ │ -00004920: 6365 7320 e280 987b 207d e280 992e 2020 ces ...{ }.... │ │ │ │ │ -00004930: 5768 656e 20e2 8098 5469 6b5a 2f50 4746 When ...TikZ/PGF │ │ │ │ │ -00004940: e280 9920 6f75 7470 7574 2069 730a 6265 ... output is.be │ │ │ │ │ -00004950: 696e 6720 6765 6e65 7261 7465 642c 2074 ing generated, t │ │ │ │ │ -00004960: 6865 2061 6e67 6c65 2069 7320 726f 756e he angle is roun │ │ │ │ │ -00004970: 6465 6420 746f 2074 6865 206e 6561 7265 ded to the neare │ │ │ │ │ -00004980: 7374 2064 6567 7265 6520 6265 6361 7573 st degree becaus │ │ │ │ │ -00004990: 650a 6e6f 6e2d 696e 7465 6765 7220 616e e.non-integer an │ │ │ │ │ -000049a0: 676c 6573 2061 7265 206e 6f74 2061 6c6c gles are not all │ │ │ │ │ -000049b0: 6f77 6564 2062 7920 e280 9854 696b 5a2f owed by ...TikZ/ │ │ │ │ │ -000049c0: 5047 46e2 8099 2070 7269 6d69 7469 7665 PGF... primitive │ │ │ │ │ -000049d0: 732e 0a0a 2020 2041 7320 6f66 2056 6572 s... As of Ver │ │ │ │ │ -000049e0: 7369 6f6e 2030 2e33 206f 6620 e280 9873 sion 0.3 of ...s │ │ │ │ │ -000049f0: 6b65 7463 68e2 8099 2c20 7370 6563 6961 ketch..., specia │ │ │ │ │ -00004a00: 6c20 6172 6775 6d65 6e74 7320 6d61 7920 l arguments may │ │ │ │ │ -00004a10: 6265 2073 6361 6c61 7273 206f 720a 7665 be scalars or.ve │ │ │ │ │ -00004a20: 6374 6f72 7320 696e 2061 6464 6974 696f ctors in additio │ │ │ │ │ -00004a30: 6e20 746f 2070 6f69 6e74 732e 2020 5265 n to points. Re │ │ │ │ │ -00004a40: 6665 7265 6e63 6573 2074 6f20 7363 616c ferences to scal │ │ │ │ │ -00004a50: 6172 2061 7267 756d 656e 7473 2061 7265 ar arguments are │ │ │ │ │ -00004a60: 0a6d 6572 656c 7920 7265 706c 6163 6564 .merely replaced │ │ │ │ │ -00004a70: 2077 6974 6820 6120 6e75 6d62 6572 2066 with a number f │ │ │ │ │ -00004a80: 6f72 6d61 7474 6564 206a 7573 7420 6173 ormatted just as │ │ │ │ │ -00004a90: 2061 6e79 2070 6f69 6e74 2063 6f6f 7264 any point coord │ │ │ │ │ -00004aa0: 696e 6174 652e 0a52 6566 6572 656e 6365 inate..Reference │ │ │ │ │ -00004ab0: 7320 746f 2076 6563 746f 7273 2062 6563 s to vectors bec │ │ │ │ │ -00004ac0: 6f6d 6520 7477 6f2d 6469 6d65 6e73 696f ome two-dimensio │ │ │ │ │ -00004ad0: 6e61 6c20 706f 696e 7473 2e20 2054 6865 nal points. The │ │ │ │ │ -00004ae0: 2074 6963 6b20 6f70 6572 6174 6f72 0a74 tick operator.t │ │ │ │ │ -00004af0: 6861 7420 7365 6c65 6374 7320 696e 6469 hat selects indi │ │ │ │ │ -00004b00: 7669 6475 616c 2063 6f6d 706f 6e65 6e74 vidual component │ │ │ │ │ -00004b10: 7320 6f66 2070 6f69 6e74 7320 616e 6420 s of points and │ │ │ │ │ -00004b20: 7665 6374 6f72 7320 656c 7365 7768 6572 vectors elsewher │ │ │ │ │ -00004b30: 6520 696e 0ae2 8098 736b 6574 6368 e280 e in....sketch.. │ │ │ │ │ -00004b40: 9920 2873 6565 2066 6f72 2065 7861 6d70 . (see for examp │ │ │ │ │ -00004b50: 6c65 202a 6e6f 7465 2041 6666 696e 6520 le *note Affine │ │ │ │ │ -00004b60: 6172 6974 686d 6574 6963 3a3a 2920 6361 arithmetic::) ca │ │ │ │ │ -00004b70: 6e20 616c 736f 2062 6520 6170 706c 6965 n also be applie │ │ │ │ │ -00004b80: 640a 746f 2070 6f69 6e74 2061 6e64 2076 d.to point and v │ │ │ │ │ -00004b90: 6563 746f 7220 6172 6775 6d65 6e74 2072 ector argument r │ │ │ │ │ -00004ba0: 6566 6572 656e 6365 732e 2020 416c 6c20 eferences. All │ │ │ │ │ -00004bb0: 7468 7265 6520 6469 6d65 6e73 696f 6e73 three dimensions │ │ │ │ │ -00004bc0: 206f 6620 610a 7472 616e 7366 6f72 6d65 of a.transforme │ │ │ │ │ -00004bd0: 6420 706f 696e 7420 6f72 2076 6563 746f d point or vecto │ │ │ │ │ -00004be0: 7220 6361 6e20 616c 736f 2062 6520 7375 r can also be su │ │ │ │ │ -00004bf0: 6273 7469 7475 6564 2077 6974 6820 e280 bstitued with .. │ │ │ │ │ -00004c00: 9827 33e2 8099 2e20 2053 6565 202a 6e6f .'3.... See *no │ │ │ │ │ -00004c10: 7465 0a53 7065 6369 616c 733a 3a20 666f te.Specials:: fo │ │ │ │ │ -00004c20: 7220 6465 7461 696c 732e 0a0a 2020 2042 r details... B │ │ │ │ │ -00004c30: 7920 6465 6661 756c 742c 20e2 8098 7370 y default, ...sp │ │ │ │ │ -00004c40: 6563 6961 6ce2 8099 206f 626a 6563 7473 ecial... objects │ │ │ │ │ -00004c50: 2061 7265 2070 7269 6e74 6564 206c 6173 are printed las │ │ │ │ │ -00004c60: 742c 206f 7665 726c 6179 696e 6720 616c t, overlaying al │ │ │ │ │ -00004c70: 6c20 6f74 6865 720a 6f62 6a65 6374 7320 l other.objects │ │ │ │ │ -00004c80: 696e 2074 6865 2073 6365 6e65 2e20 2049 in the scene. I │ │ │ │ │ -00004c90: 6620 796f 7520 7370 6563 6966 7920 7468 f you specify th │ │ │ │ │ -00004ca0: 6520 696e 7465 726e 616c 206f 7074 696f e internal optio │ │ │ │ │ -00004cb0: 6e20 e280 986c 6179 3d69 6ee2 8099 2c20 n ...lay=in..., │ │ │ │ │ -00004cc0: 7468 650a 6869 6464 656e 2073 7572 6661 the.hidden surfa │ │ │ │ │ -00004cd0: 6365 2061 6c67 6f72 6974 686d 2063 6f6e ce algorithm con │ │ │ │ │ -00004ce0: 7369 6465 7273 2074 6865 2065 6e74 6972 siders the entir │ │ │ │ │ -00004cf0: 6520 7370 6563 6961 6c20 6f62 6a65 6374 e special object │ │ │ │ │ -00004d00: 2074 6f20 6265 2074 6865 0a66 6972 7374 to be the.first │ │ │ │ │ -00004d10: 2070 6f69 6e74 2028 2331 2920 696e 2074 point (#1) in t │ │ │ │ │ -00004d20: 6865 2061 7267 756d 656e 7420 6c69 7374 he argument list │ │ │ │ │ -00004d30: 2e20 2049 6620 7468 6174 2070 6f69 6e74 . If that point │ │ │ │ │ -00004d40: 2069 7320 6265 6869 6e64 2028 6f66 0a73 is behind (of.s │ │ │ │ │ -00004d50: 6d61 6c6c 6572 207a 2d63 6f6d 706f 6e65 maller z-compone │ │ │ │ │ -00004d60: 6e74 2074 6861 6e29 2061 6e79 2064 7261 nt than) any dra │ │ │ │ │ -00004d70: 7761 626c 652c 2074 6865 6e20 7468 6520 wable, then the │ │ │ │ │ -00004d80: 656e 7469 7265 2073 7065 6369 616c 206f entire special o │ │ │ │ │ -00004d90: 626a 6563 740a 6973 2064 7261 776e 2062 bject.is drawn b │ │ │ │ │ -00004da0: 6566 6f72 6520 7468 6174 2064 7261 7761 efore that drawa │ │ │ │ │ -00004db0: 626c 652c 2073 6f20 7468 6520 6472 6177 ble, so the draw │ │ │ │ │ -00004dc0: 6162 6c65 206f 6273 6375 7265 7320 7061 able obscures pa │ │ │ │ │ -00004dd0: 7274 7320 6f66 2074 6865 0a73 7065 6369 rts of the.speci │ │ │ │ │ -00004de0: 616c 206f 626a 6563 7420 7468 6174 206f al object that o │ │ │ │ │ -00004df0: 7665 726c 6170 7320 6974 2e20 2049 6e20 verlaps it. In │ │ │ │ │ -00004e00: 6f75 7220 6578 616d 706c 652c 2070 3120 our example, p1 │ │ │ │ │ -00004e10: 6973 2074 6865 2066 726f 6e74 2d6d 6f73 is the front-mos │ │ │ │ │ -00004e20: 740a 706f 696e 7420 696e 2074 6865 2073 t.point in the s │ │ │ │ │ -00004e30: 6365 6e65 2028 6861 7320 7468 6520 6c61 cene (has the la │ │ │ │ │ -00004e40: 7267 6573 7420 7a2d 636f 6d70 6f6e 656e rgest z-componen │ │ │ │ │ -00004e50: 7429 2c20 736f 2061 6464 696e 6720 e280 t), so adding .. │ │ │ │ │ -00004e60: 986c 6179 3d69 6ee2 8099 2068 6173 0a6e .lay=in... has.n │ │ │ │ │ -00004e70: 6f20 6566 6665 6374 2e0a 0a20 2020 5769 o effect... Wi │ │ │ │ │ -00004e80: 7468 206f 7074 696f 6e20 e280 986c 6179 th option ...lay │ │ │ │ │ -00004e90: 3d75 6e64 6572 e280 992c 2061 2073 7065 =under..., a spe │ │ │ │ │ -00004ea0: 6369 616c 2069 7320 6472 6177 6e20 5f62 cial is drawn _b │ │ │ │ │ -00004eb0: 6566 6f72 655f 2c20 6865 6e63 6520 6170 efore_, hence ap │ │ │ │ │ -00004ec0: 7065 6172 730a 5f75 6e64 6572 5f20 616e pears._under_ an │ │ │ │ │ -00004ed0: 7920 6f66 2074 6865 206f 626a 6563 7473 y of the objects │ │ │ │ │ -00004ee0: 2068 616e 646c 6564 2062 7920 7468 6520 handled by the │ │ │ │ │ -00004ef0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ -00004f00: 6c67 6f72 6974 686d 2e0a 5468 6973 2069 lgorithm..This i │ │ │ │ │ -00004f10: 7320 686f 7720 7468 6520 6c69 6768 7420 s how the light │ │ │ │ │ -00004f20: 6772 6179 2061 7865 7320 7765 7265 2061 gray axes were a │ │ │ │ │ -00004f30: 6464 6564 2074 6f20 7468 6520 2268 656c dded to the "hel │ │ │ │ │ -00004f40: 6c6f 2077 6f72 6c64 2220 6578 616d 706c lo world" exampl │ │ │ │ │ -00004f50: 650a 2a6e 6f74 6520 4865 6c6c 6f20 776f e.*note Hello wo │ │ │ │ │ -00004f60: 726c 643a 3a2e 0a0a 2020 2053 7065 6369 rld::... Speci │ │ │ │ │ -00004f70: 616c 206f 626a 6563 7473 2061 7265 2070 al objects are p │ │ │ │ │ -00004f80: 6f77 6572 6675 6c2c 2077 6974 6820 6d61 owerful, with ma │ │ │ │ │ -00004f90: 6e79 2070 6f73 7369 626c 6520 7573 6573 ny possible uses │ │ │ │ │ -00004fa0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -00004fb0: 682e 696e 666f 2c20 204e 6f64 653a 204f h.info, Node: O │ │ │ │ │ -00004fc0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ -00004fd0: 2c20 204e 6578 743a 2052 6570 6561 7465 , Next: Repeate │ │ │ │ │ -00004fe0: 6420 6f62 6a65 6374 732c 2020 5072 6576 d objects, Prev │ │ │ │ │ -00004ff0: 3a20 5370 6563 6961 6c20 6f62 6a65 6374 : Special object │ │ │ │ │ -00005000: 732c 2020 5570 3a20 496e 7472 6f64 7563 s, Up: Introduc │ │ │ │ │ -00005010: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example. │ │ │ │ │ -00005020: 0a32 2e35 2054 7261 6e73 666f 726d 730a .2.5 Transforms. │ │ │ │ │ -00005030: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============.. │ │ │ │ │ -00005040: 4e6f 7720 6c65 7427 7320 6164 6420 6120 Now let's add a │ │ │ │ │ -00005050: 7365 636f 6e64 2063 6f70 7920 6f66 2074 second copy of t │ │ │ │ │ -00005060: 6865 2070 6965 7263 6564 2074 6574 7261 he pierced tetra │ │ │ │ │ -00005070: 6865 6472 6f6e 2e20 2057 6527 6c6c 2072 hedron. We'll r │ │ │ │ │ -00005080: 6f74 6174 650a 7468 6520 636f 7079 2039 otate.the copy 9 │ │ │ │ │ -00005090: 3020 6465 6772 6565 7320 6162 6f75 7420 0 degrees about │ │ │ │ │ -000050a0: 7468 6520 782d 6178 6973 2077 6974 6820 the x-axis with │ │ │ │ │ -000050b0: 7468 6520 6f72 6967 696e 2061 7320 e280 the origin as .. │ │ │ │ │ -000050c0: 9c63 656e 7465 7220 6f66 0a72 6f74 6174 .center of.rotat │ │ │ │ │ -000050d0: 696f 6ee2 809d 2073 6f20 7765 2063 616e ion... so we can │ │ │ │ │ -000050e0: 2073 6565 2074 6865 2062 6163 6b2c 2074 see the back, t │ │ │ │ │ -000050f0: 6865 6e20 7472 616e 736c 6174 6520 6974 hen translate it │ │ │ │ │ -00005100: 2074 6f20 7468 6520 7269 6768 742d 2d69 to the right--i │ │ │ │ │ -00005110: 6e20 7468 650a 706f 7369 7469 7665 2078 n the.positive x │ │ │ │ │ -00005120: 2d64 6972 6563 7469 6f6e 2d2d 736f 2069 -direction--so i │ │ │ │ │ -00005130: 7420 646f 6573 6e27 7420 636f 6c6c 6964 t doesn't collid │ │ │ │ │ -00005140: 6520 7769 7468 2074 6865 206f 7269 6769 e with the origi │ │ │ │ │ -00005150: 6e61 6c2e 2020 546f 2068 656c 700a 7573 nal. To help.us │ │ │ │ │ -00005160: 2073 6565 2077 6861 7427 7320 676f 696e see what's goin │ │ │ │ │ -00005170: 6720 6f6e 2c20 6d61 6b65 2074 6865 2062 g on, make the b │ │ │ │ │ -00005180: 6163 6b20 7369 6465 2067 7261 792e 0a20 ack side gray.. │ │ │ │ │ -00005190: 2064 6566 2070 6965 7263 6564 5f74 6574 def pierced_tet │ │ │ │ │ -000051a0: 7261 6865 6472 6f6e 207b 0a20 2020 2064 rahedron {. d │ │ │ │ │ -000051b0: 6566 2070 3120 2830 2c30 2c31 2920 6465 ef p1 (0,0,1) de │ │ │ │ │ -000051c0: 6620 7032 2028 312c 302c 3029 0a20 2020 f p2 (1,0,0). │ │ │ │ │ -000051d0: 2064 6566 2070 3320 2830 2c31 2c30 2920 def p3 (0,1,0) │ │ │ │ │ -000051e0: 6465 6620 7034 2028 2d2e 332c 2d2e 352c def p4 (-.3,-.5, │ │ │ │ │ -000051f0: 2d2e 3829 0a20 2020 2070 6f6c 7967 6f6e -.8). polygon │ │ │ │ │ -00005200: 2870 3129 2870 3229 2870 3329 2020 2020 (p1)(p2)(p3) │ │ │ │ │ -00005210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00005220: 2020 2520 6f72 6967 696e 616c 0a20 2020 % original. │ │ │ │ │ -00005230: 2070 6f6c 7967 6f6e 2870 3129 2870 3429 polygon(p1)(p4) │ │ │ │ │ -00005240: 2870 3229 2020 2020 2020 2020 2020 2020 (p2) │ │ │ │ │ -00005250: 2020 2020 2020 2020 2020 2520 626f 7474 % bott │ │ │ │ │ -00005260: 6f6d 0a20 2020 2070 6f6c 7967 6f6e 2870 om. polygon(p │ │ │ │ │ -00005270: 3129 2870 3329 2870 3429 2020 2020 2020 1)(p3)(p4) │ │ │ │ │ -00005280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00005290: 2520 6c65 6674 0a20 2020 2070 6f6c 7967 % left. polyg │ │ │ │ │ -000052a0: 6f6e 5b66 696c 6c63 6f6c 6f72 3d6c 6967 on[fillcolor=lig │ │ │ │ │ -000052b0: 6874 6772 6179 5d28 7033 2928 7032 2928 htgray](p3)(p2)( │ │ │ │ │ -000052c0: 7034 2920 2520 7265 6172 0a20 2020 206c p4) % rear. l │ │ │ │ │ -000052d0: 696e 655b 6c69 6e65 636f 6c6f 723d 7265 ine[linecolor=re │ │ │ │ │ -000052e0: 645d 282d 312c 2d31 2c2d 3129 2832 2c32 d](-1,-1,-1)(2,2 │ │ │ │ │ -000052f0: 2c32 290a 2020 7d0a 2020 7b70 6965 7263 ,2). }. {pierc │ │ │ │ │ -00005300: 6564 5f74 6574 7261 6865 6472 6f6e 7d20 ed_tetrahedron} │ │ │ │ │ -00005310: 2025 2074 6574 7261 6865 6472 6f6e 2069 % tetrahedron i │ │ │ │ │ -00005320: 6e20 6f72 6967 696e 616c 2070 6f73 6974 n original posit │ │ │ │ │ -00005330: 696f 6e0a 2020 7075 7420 7b20 726f 7461 ion. put { rota │ │ │ │ │ -00005340: 7465 2839 302c 2028 302c 302c 3029 2c20 te(90, (0,0,0), │ │ │ │ │ -00005350: 5b31 2c30 2c30 5d29 2025 2063 6f70 7920 [1,0,0]) % copy │ │ │ │ │ -00005360: 696e 206e 6577 2070 6f73 6974 696f 6e0a in new position. │ │ │ │ │ -00005370: 2020 2020 2020 2020 7468 656e 2074 7261 then tra │ │ │ │ │ -00005380: 6e73 6c61 7465 285b 322e 352c 302c 305d nslate([2.5,0,0] │ │ │ │ │ -00005390: 2920 7d20 7b70 6965 7263 6564 5f74 6574 ) } {pierced_tet │ │ │ │ │ -000053a0: 7261 6865 6472 6f6e 7d0a 4865 7265 2074 rahedron}.Here t │ │ │ │ │ -000053b0: 6865 2065 6e74 6972 6520 636f 6465 206f he entire code o │ │ │ │ │ -000053c0: 6620 7468 6520 7072 6576 696f 7573 2065 f the previous e │ │ │ │ │ -000053d0: 7861 6d70 6c65 2068 6173 2062 6565 6e20 xample has been │ │ │ │ │ -000053e0: 7772 6170 7065 6420 696e 2061 0a64 6566 wrapped in a.def │ │ │ │ │ -000053f0: 696e 6974 696f 6e20 6279 2066 6f72 6d69 inition by formi │ │ │ │ │ -00005400: 6e67 2061 20e2 809c 626c 6f63 6be2 809d ng a ...block... │ │ │ │ │ -00005410: 2077 6974 6820 6272 6163 6573 2028 6120 with braces (a │ │ │ │ │ -00005420: 7369 6e67 6c65 2069 7465 6d20 776f 756c single item woul │ │ │ │ │ -00005430: 6420 6e6f 740a 6e65 6564 2074 6865 6d29 d not.need them) │ │ │ │ │ -00005440: 2e20 2054 6865 2070 6f69 6e74 2064 6566 . The point def │ │ │ │ │ -00005450: 696e 6974 696f 6e73 206e 6573 7465 6420 initions nested │ │ │ │ │ -00005460: 696e 7369 6465 2074 6865 2062 7261 6365 inside the brace │ │ │ │ │ -00005470: 7320 6172 650a e280 9c6c 6578 6963 616c s are....lexical │ │ │ │ │ -00005480: 6c79 2073 636f 7065 64e2 809d 2e20 2054 ly scoped.... T │ │ │ │ │ -00005490: 6865 6972 206d 6561 6e69 6e67 2065 7874 heir meaning ext │ │ │ │ │ -000054a0: 656e 6473 206f 6e6c 7920 746f 2074 6865 ends only to the │ │ │ │ │ -000054b0: 2065 6e64 206f 6620 7468 6520 626c 6f63 end of the bloc │ │ │ │ │ -000054c0: 6b2e 0a54 6865 206f 7574 6572 2064 6566 k..The outer def │ │ │ │ │ -000054d0: 2069 7320 6361 6c6c 6564 2061 20e2 809c is called a ... │ │ │ │ │ -000054e0: 6472 6177 6162 6c65 e280 9d20 6465 6669 drawable... defi │ │ │ │ │ -000054f0: 6e69 7469 6f6e 2062 6563 6175 7365 2069 nition because i │ │ │ │ │ -00005500: 7420 6465 7363 7269 6265 730a 736f 6d65 t describes.some │ │ │ │ │ -00005510: 7468 696e 6720 7468 6174 2063 616e 2062 thing that can b │ │ │ │ │ -00005520: 6520 6472 6177 6e2e 0a0a 2020 2041 2064 e drawn... A d │ │ │ │ │ -00005530: 7261 7761 626c 6520 6465 6669 6e69 7469 rawable definiti │ │ │ │ │ -00005540: 6f6e 2062 7920 6974 7365 6c66 2063 6175 on by itself cau │ │ │ │ │ -00005550: 7365 7320 6e6f 7468 696e 6720 746f 2068 ses nothing to h │ │ │ │ │ -00005560: 6170 7065 6e20 756e 7469 6c20 6974 730a appen until its. │ │ │ │ │ -00005570: 6e61 6d65 2069 7320 7265 6665 7265 6e63 name is referenc │ │ │ │ │ -00005580: 6564 2e20 2044 7261 7761 626c 6520 7265 ed. Drawable re │ │ │ │ │ -00005590: 6665 7265 6e63 6573 206d 7573 7420 6265 ferences must be │ │ │ │ │ -000055a0: 2065 6e63 6c6f 7365 6420 696e 2063 7572 enclosed in cur │ │ │ │ │ -000055b0: 6c79 0a62 7261 6365 732c 2065 2e67 2e20 ly.braces, e.g. │ │ │ │ │ -000055c0: 7b66 6f6f 7d2c 2077 6974 6820 6e6f 2069 {foo}, with no i │ │ │ │ │ -000055d0: 6e74 6572 7665 6e69 6e67 2077 6869 7465 ntervening white │ │ │ │ │ -000055e0: 2073 7061 6365 2e20 2049 6e20 7468 6520 space. In the │ │ │ │ │ -000055f0: 636f 6465 2061 626f 7665 2c0a 7468 6520 code above,.the │ │ │ │ │ -00005600: 6669 7273 7420 7265 6665 7265 6e63 6520 first reference │ │ │ │ │ -00005610: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe │ │ │ │ │ -00005620: 6472 6f6e 7d20 6973 2061 2070 6c61 696e dron} is a plain │ │ │ │ │ -00005630: 206f 6e65 2e20 2049 7473 2065 6666 6563 one. Its effec │ │ │ │ │ -00005640: 7420 6973 0a6d 6572 656c 7920 746f 2064 t is.merely to d │ │ │ │ │ -00005650: 7570 6c69 6361 7465 2074 6865 2065 6172 uplicate the ear │ │ │ │ │ -00005660: 6c69 6572 2064 7261 7769 6e67 2e20 2041 lier drawing. A │ │ │ │ │ -00005670: 6c6d 6f73 7420 616e 7920 7365 7269 6573 lmost any series │ │ │ │ │ -00005680: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ -00005690: 0a63 6f6d 6d61 6e64 7320 7374 7566 6620 .commands stuff │ │ │ │ │ -000056a0: 6d61 7920 6265 2072 6570 6c61 6365 6420 may be replaced │ │ │ │ │ -000056b0: 7769 7468 2064 6566 2066 6f6f 207b 2073 with def foo { s │ │ │ │ │ -000056c0: 7475 6666 207d 207b 666f 6f7d 2077 6974 tuff } {foo} wit │ │ │ │ │ -000056d0: 686f 7574 0a63 6861 6e67 696e 6720 6974 hout.changing it │ │ │ │ │ -000056e0: 7320 6d65 616e 696e 672e 0a0a 2020 2054 s meaning... T │ │ │ │ │ -000056f0: 6865 2070 7574 2063 6f6d 6d61 6e64 2073 he put command s │ │ │ │ │ -00005700: 7570 706c 6965 7320 6120 7365 636f 6e64 upplies a second │ │ │ │ │ -00005710: 2072 6566 6572 656e 6365 2c20 7468 6973 reference, this │ │ │ │ │ -00005720: 2074 696d 6520 7769 7468 2061 0ae2 809c time with a.... │ │ │ │ │ -00005730: 7472 616e 7366 6f72 6de2 809d 2061 7070 transform... app │ │ │ │ │ -00005740: 6c69 6564 2066 6972 7374 2e20 2054 6865 lied first. The │ │ │ │ │ -00005750: 2072 6f74 6174 6520 7472 616e 7366 6f72 rotate transfor │ │ │ │ │ -00005760: 6d20 7475 726e 7320 7468 6520 7465 7472 m turns the tetr │ │ │ │ │ -00005770: 6168 6564 726f 6e0a 3930 2064 6567 7265 ahedron.90 degre │ │ │ │ │ -00005780: 6573 2061 626f 7574 2074 6865 206f 7269 es about the ori │ │ │ │ │ -00005790: 6769 6e2e 2020 5468 6520 6178 6973 206f gin. The axis o │ │ │ │ │ -000057a0: 6620 726f 7461 7469 6f6e 2069 7320 7468 f rotation is th │ │ │ │ │ -000057b0: 6520 7665 6374 6f72 0a5b 312c 302c 305d e vector.[1,0,0] │ │ │ │ │ -000057c0: 2e20 2042 7920 7468 6520 e280 9c72 6967 . By the ...rig │ │ │ │ │ -000057d0: 6874 2068 616e 6420 7275 6c65 e280 9d2c ht hand rule..., │ │ │ │ │ -000057e0: 2074 6869 7320 6361 7573 6573 2074 6865 this causes the │ │ │ │ │ -000057f0: 2074 6f70 206f 6620 7468 650a 7465 7472 top of the.tetr │ │ │ │ │ -00005800: 6168 6564 726f 6e20 746f 2072 6f74 6174 ahedron to rotat │ │ │ │ │ -00005810: 6520 746f 7761 7264 2074 6865 2076 6965 e toward the vie │ │ │ │ │ -00005820: 7765 7220 616e 6420 7468 6520 626f 7474 wer and the bott │ │ │ │ │ -00005830: 6f6d 2061 7761 792e 2020 5468 6520 7275 om away. The ru │ │ │ │ │ -00005840: 6c65 0a72 6563 6569 7665 7320 6974 7320 le.receives its │ │ │ │ │ -00005850: 6e61 6d65 2066 726f 6d20 7468 6520 666f name from the fo │ │ │ │ │ -00005860: 6c6c 6f77 696e 6720 6465 6669 6e69 7469 llowing definiti │ │ │ │ │ -00005870: 6f6e 3a0a 2020 2020 202a 5269 6768 7420 on:. *Right │ │ │ │ │ -00005880: 6861 6e64 2072 756c 652e 2a20 2049 6620 hand rule.* If │ │ │ │ │ -00005890: 7468 6520 7269 6768 7420 6861 6e64 2069 the right hand i │ │ │ │ │ -000058a0: 7320 7772 6170 7065 6420 6172 6f75 6e64 s wrapped around │ │ │ │ │ -000058b0: 2061 6e79 2061 7869 730a 2020 2020 2077 any axis. w │ │ │ │ │ -000058c0: 6974 6820 7468 6520 7468 756d 6220 706f ith the thumb po │ │ │ │ │ -000058d0: 696e 7469 6e67 2069 6e20 7468 6520 6178 inting in the ax │ │ │ │ │ -000058e0: 6973 2064 6972 6563 7469 6f6e 2c20 7468 is direction, th │ │ │ │ │ -000058f0: 656e 2074 6865 2066 696e 6765 7273 0a20 en the fingers. │ │ │ │ │ -00005900: 2020 2020 6375 726c 2069 6e20 7468 6520 curl in the │ │ │ │ │ -00005910: 6469 7265 6374 696f 6e20 6f66 2070 6f73 direction of pos │ │ │ │ │ -00005920: 6974 6976 6520 726f 7461 7469 6f6e 2061 itive rotation a │ │ │ │ │ -00005930: 626f 7574 2074 6861 7420 6178 6973 2e0a bout that axis.. │ │ │ │ │ -00005940: 2020 2054 6865 2074 7261 6e73 6c61 7465 The translate │ │ │ │ │ -00005950: 2074 7261 6e73 666f 726d 206d 6f76 6573 transform moves │ │ │ │ │ -00005960: 2074 6865 2070 7972 616d 6964 206c 6174 the pyramid lat │ │ │ │ │ -00005970: 6572 616c 6c79 2074 6f20 7468 6520 7269 erally to the ri │ │ │ │ │ -00005980: 6768 7420 6279 0a61 6464 696e 6720 7468 ght by.adding th │ │ │ │ │ -00005990: 6520 7665 6374 6f72 205b 322e 352c 302c e vector [2.5,0, │ │ │ │ │ -000059a0: 305d 2074 6f20 6561 6368 2076 6572 7465 0] to each verte │ │ │ │ │ -000059b0: 7820 636f 6f72 6469 6e61 7465 2e20 2054 x coordinate. T │ │ │ │ │ -000059c0: 6865 2072 6573 756c 7420 6973 0a73 686f he result is.sho │ │ │ │ │ -000059d0: 776e 2068 6572 652e 0a0a 0008 5b69 6d61 wn here.....[ima │ │ │ │ │ -000059e0: 6765 2073 7263 3d22 6578 3035 302e 706e ge src="ex050.pn │ │ │ │ │ -000059f0: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -00005a00: 7830 3530 206f 6d69 7474 6564 2069 6e20 x050 omitted in │ │ │ │ │ -00005a10: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -00005a20: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -00005a30: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket │ │ │ │ │ -00005a40: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -00005a50: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects │ │ │ │ │ -00005a60: 2c20 204e 6578 743a 2053 7765 7074 206f , Next: Swept o │ │ │ │ │ -00005a70: 626a 6563 7473 2c20 2050 7265 763a 204f bjects, Prev: O │ │ │ │ │ -00005a80: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ -00005a90: 2c20 2055 703a 2049 6e74 726f 6475 6374 , Up: Introduct │ │ │ │ │ -00005aa0: 696f 6e20 6279 2065 7861 6d70 6c65 0a0a ion by example.. │ │ │ │ │ -00005ab0: 322e 3620 5265 7065 6174 6564 206f 626a 2.6 Repeated obj │ │ │ │ │ -00005ac0: 6563 7473 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ects.=========== │ │ │ │ │ -00005ad0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 6f20 6472 =========..To dr │ │ │ │ │ -00005ae0: 6177 2073 6576 656e 2069 6e73 7461 6e63 aw seven instanc │ │ │ │ │ -00005af0: 6573 206f 6620 7468 6520 7465 7472 6168 es of the tetrah │ │ │ │ │ -00005b00: 6564 726f 6e2c 2065 6163 6820 6469 6666 edron, each diff │ │ │ │ │ -00005b10: 6572 696e 6720 6672 6f6d 2074 6865 206c ering from the l │ │ │ │ │ -00005b20: 6173 740a 6279 2074 6865 2073 616d 6520 ast.by the same │ │ │ │ │ -00005b30: 7472 616e 7366 6f72 6d2c 2072 6570 6c61 transform, repla │ │ │ │ │ -00005b40: 6365 2074 6865 206c 6173 7420 7477 6f20 ce the last two │ │ │ │ │ -00005b50: 636f 6d6d 616e 6473 206f 6620 7468 6520 commands of the │ │ │ │ │ -00005b60: 7072 6576 696f 7573 0a65 7861 6d70 6c65 previous.example │ │ │ │ │ -00005b70: 2077 6974 680a 2020 7265 7065 6174 207b with. repeat { │ │ │ │ │ -00005b80: 2037 2c20 726f 7461 7465 2831 352c 2028 7, rotate(15, ( │ │ │ │ │ -00005b90: 302c 302c 3029 2c20 5b31 2c30 2c30 5d29 0,0,0), [1,0,0]) │ │ │ │ │ -00005ba0: 2025 2063 6f70 7920 696e 206e 6577 2070 % copy in new p │ │ │ │ │ -00005bb0: 6f73 6974 696f 6e0a 2020 2020 2020 2020 osition. │ │ │ │ │ -00005bc0: 2020 2020 2020 7468 656e 2074 7261 6e73 then trans │ │ │ │ │ -00005bd0: 6c61 7465 285b 322c 302c 305d 2920 7d20 late([2,0,0]) } │ │ │ │ │ -00005be0: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe │ │ │ │ │ -00005bf0: 6472 6f6e 7d0a 416e 6420 7468 6520 7265 dron}.And the re │ │ │ │ │ -00005c00: 7375 6c74 2e2e 2e0a 0a00 085b 696d 6167 sult.......[imag │ │ │ │ │ -00005c10: 6520 7372 633d 2265 7830 3630 2e70 6e67 e src="ex060.png │ │ │ │ │ -00005c20: 2220 7465 7874 3d22 496d 6167 6520 6578 " text="Image ex │ │ │ │ │ -00005c30: 3036 3020 6f6d 6974 7465 6420 696e 2074 060 omitted in t │ │ │ │ │ -00005c40: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t │ │ │ │ │ -00005c50: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.".. │ │ │ │ │ -00005c60: 5d0a 0a1f 0a46 696c 653a 2073 6b65 7463 ]....File: sketc │ │ │ │ │ -00005c70: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S │ │ │ │ │ -00005c80: 7765 7074 206f 626a 6563 7473 2c20 2050 wept objects, P │ │ │ │ │ -00005c90: 7265 763a 2052 6570 6561 7465 6420 6f62 rev: Repeated ob │ │ │ │ │ -00005ca0: 6a65 6374 732c 2020 5570 3a20 496e 7472 jects, Up: Intr │ │ │ │ │ -00005cb0: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ -00005cc0: 706c 650a 0a32 2e37 2053 7765 7074 206f ple..2.7 Swept o │ │ │ │ │ -00005cd0: 626a 6563 7473 0a3d 3d3d 3d3d 3d3d 3d3d bjects.========= │ │ │ │ │ -00005ce0: 3d3d 3d3d 3d3d 3d3d 0a0a 4d61 6e79 2066 ========..Many f │ │ │ │ │ -00005cf0: 616d 696c 6961 7220 7368 6170 6573 2063 amiliar shapes c │ │ │ │ │ -00005d00: 616e 2062 6520 6765 6e65 7261 7465 6420 an be generated │ │ │ │ │ -00005d10: 6279 2073 7765 6570 696e 6720 7369 6d70 by sweeping simp │ │ │ │ │ -00005d20: 6c65 7220 6f6e 6573 2074 6872 6f75 6768 ler ones through │ │ │ │ │ -00005d30: 0a73 7061 6365 2061 6e64 2063 6f6e 7369 .space and consi │ │ │ │ │ -00005d40: 6465 7269 6e67 2074 6865 2072 6573 756c dering the resul │ │ │ │ │ -00005d50: 7469 6e67 2070 6174 682c 2073 7572 6661 ting path, surfa │ │ │ │ │ -00005d60: 6365 2c20 6f72 2076 6f6c 756d 652e 2020 ce, or volume. │ │ │ │ │ -00005d70: e280 9853 6b65 7463 68e2 8099 0a69 6d70 ...Sketch....imp │ │ │ │ │ -00005d80: 6c65 6d65 6e74 7320 7468 6973 2069 6465 lements this ide │ │ │ │ │ -00005d90: 6120 696e 2074 6865 2073 7765 6570 2063 a in the sweep c │ │ │ │ │ -00005da0: 6f6d 6d61 6e64 2e0a 2020 6465 6620 6e5f ommand.. def n_ │ │ │ │ │ -00005db0: 7365 6773 2038 0a20 2073 7765 6570 207b segs 8. sweep { │ │ │ │ │ -00005dc0: 206e 5f73 6567 732c 2072 6f74 6174 6528 n_segs, rotate( │ │ │ │ │ -00005dd0: 3138 3020 2f20 6e5f 7365 6773 2c20 2830 180 / n_segs, (0 │ │ │ │ │ -00005de0: 2c30 2c30 292c 205b 302c 302c 315d 2920 ,0,0), [0,0,1]) │ │ │ │ │ -00005df0: 7d20 2831 2c30 2c30 290a 5468 6973 2063 } (1,0,0).This c │ │ │ │ │ -00005e00: 6f64 6520 7377 6565 7073 2074 6865 2070 ode sweeps the p │ │ │ │ │ -00005e10: 6f69 6e74 2028 312c 302c 3029 2065 6967 oint (1,0,0) eig │ │ │ │ │ -00005e20: 6874 2074 696d 6573 2062 7920 726f 7461 ht times by rota │ │ │ │ │ -00005e30: 7469 6e67 2069 7420 3138 302f 3820 3d0a ting it 180/8 =. │ │ │ │ │ -00005e40: 3232 2e35 2064 6567 7265 6573 2065 6163 22.5 degrees eac │ │ │ │ │ -00005e50: 6820 7469 6d65 2061 6e64 2063 6f6e 6e65 h time and conne │ │ │ │ │ -00005e60: 6374 696e 6720 7468 6520 7265 7375 6c74 cting the result │ │ │ │ │ -00005e70: 696e 6720 706f 696e 7473 2077 6974 6820 ing points with │ │ │ │ │ -00005e80: 6c69 6e65 0a73 6567 6d65 6e74 732e 2020 line.segments. │ │ │ │ │ -00005e90: 5468 6520 6465 6620 7573 6564 2068 6572 The def used her │ │ │ │ │ -00005ea0: 6520 6973 2061 20e2 809c 7363 616c 6172 e is a ...scalar │ │ │ │ │ -00005eb0: e280 9d20 6465 6669 6e69 7469 6f6e 2e20 ... definition. │ │ │ │ │ -00005ec0: 2052 6566 6572 656e 6365 7320 746f 0a73 References to.s │ │ │ │ │ -00005ed0: 6361 6c61 7273 2068 6176 6520 6e6f 2065 calars have no e │ │ │ │ │ -00005ee0: 6e63 6c6f 7369 6e67 2062 7261 636b 6574 nclosing bracket │ │ │ │ │ -00005ef0: 7320 6174 2061 6c6c 2e0a 0a2a 204d 656e s at all...* Men │ │ │ │ │ -00005f00: 753a 0a0a 2a20 506f 696e 7420 7377 6565 u:..* Point swee │ │ │ │ │ -00005f10: 7073 3a3a 2020 2020 2020 2020 2020 2020 ps:: │ │ │ │ │ -00005f20: 2020 2020 5377 6570 7420 706f 696e 7473 Swept points │ │ │ │ │ -00005f30: 206d 616b 6520 6c69 6e65 7320 616e 6420 make lines and │ │ │ │ │ -00005f40: 706f 6c79 676f 6e73 2e0a 2a20 506f 6c79 polygons..* Poly │ │ │ │ │ -00005f50: 6c69 6e65 2073 7765 6570 733a 3a20 2020 line sweeps:: │ │ │ │ │ -00005f60: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -00005f70: 6c69 6e65 7320 6d61 6b65 2073 7572 6661 lines make surfa │ │ │ │ │ -00005f80: 6365 732e 0a2a 204e 6573 7465 6420 7377 ces..* Nested sw │ │ │ │ │ -00005f90: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: │ │ │ │ │ -00005fa0: 2020 2020 2053 7765 7074 2073 7765 6570 Swept sweep │ │ │ │ │ -00005fb0: 7320 6172 6520 7573 6566 756c 210a 2a20 s are useful!.* │ │ │ │ │ -00005fc0: 506f 6c79 676f 6e20 7377 6565 7073 3a3a Polygon sweeps:: │ │ │ │ │ -00005fd0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -00005fe0: 6570 7420 706f 6c79 676f 6e73 206d 616b ept polygons mak │ │ │ │ │ -00005ff0: 6520 736f 6c69 6473 2e2e 2e0a 2a20 506f e solids....* Po │ │ │ │ │ -00006000: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ -00006010: 7468 2063 6c6f 7375 7265 3a3a 2020 616e th closure:: an │ │ │ │ │ -00006020: 6420 736f 2064 6f20 636c 6f73 6564 2070 d so do closed p │ │ │ │ │ -00006030: 6f6c 796c 696e 6520 7377 6565 7073 2e0a olyline sweeps.. │ │ │ │ │ -00006040: 2a20 4166 6669 6e65 2061 7269 7468 6d65 * Affine arithme │ │ │ │ │ -00006050: 7469 633a 3a20 2020 2020 2020 2020 2020 tic:: │ │ │ │ │ -00006060: 536b 6574 6368 2075 7365 6675 6c20 6d61 Sketch useful ma │ │ │ │ │ -00006070: 7468 2065 7870 7265 7373 696f 6e2e 0a2a th expression..* │ │ │ │ │ -00006080: 204d 6f72 6520 746f 206c 6561 726e 3a3a More to learn:: │ │ │ │ │ -00006090: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ -000060a0: 6865 636b 206f 7574 2074 6865 204d 6f62 heck out the Mob │ │ │ │ │ -000060b0: 6975 7320 7374 7269 7021 0a0a 1f0a 4669 ius strip!....Fi │ │ │ │ │ -000060c0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -000060d0: 2020 4e6f 6465 3a20 506f 696e 7420 7377 Node: Point sw │ │ │ │ │ -000060e0: 6565 7073 2c20 204e 6578 743a 2050 6f6c eeps, Next: Pol │ │ │ │ │ -000060f0: 796c 696e 6520 7377 6565 7073 2c20 2050 yline sweeps, P │ │ │ │ │ -00006100: 7265 763a 2053 7765 7074 206f 626a 6563 rev: Swept objec │ │ │ │ │ -00006110: 7473 2c20 2055 703a 2053 7765 7074 206f ts, Up: Swept o │ │ │ │ │ -00006120: 626a 6563 7473 0a0a 322e 372e 3120 506f bjects..2.7.1 Po │ │ │ │ │ -00006130: 696e 7420 7377 6565 7073 0a2d 2d2d 2d2d int sweeps.----- │ │ │ │ │ -00006140: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 -------------..S │ │ │ │ │ -00006150: 7765 6570 696e 6720 6120 706f 696e 7420 weeping a point │ │ │ │ │ -00006160: 6d61 6b65 7320 6120 6f6e 652d 6469 6d65 makes a one-dime │ │ │ │ │ -00006170: 6e73 696f 6e61 6c20 7061 7468 2c20 7768 nsional path, wh │ │ │ │ │ -00006180: 6963 6820 6973 2061 2070 6f6c 796c 696e ich is a polylin │ │ │ │ │ -00006190: 652e 0a53 696e 6365 2077 6520 6861 7665 e..Since we have │ │ │ │ │ -000061a0: 2073 7765 7074 2077 6974 6820 6120 726f swept with a ro │ │ │ │ │ -000061b0: 7461 7469 6f6e 2c20 7468 6520 7265 7375 tation, the resu │ │ │ │ │ -000061c0: 6c74 2069 7320 6120 6369 7263 756c 6172 lt is a circular │ │ │ │ │ -000061d0: 2061 7263 2e20 2048 6572 650a 6973 2077 arc. Here.is w │ │ │ │ │ -000061e0: 6861 7420 6974 206c 6f6f 6b73 206c 696b hat it looks lik │ │ │ │ │ -000061f0: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src │ │ │ │ │ -00006200: 3d22 6578 3037 302e 706e 6722 2074 6578 ="ex070.png" tex │ │ │ │ │ -00006210: 743d 2249 6d61 6765 2065 7830 3730 206f t="Image ex070 o │ │ │ │ │ -00006220: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ -00006230: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ -00006240: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument."..].. │ │ │ │ │ -00006250: 2054 6869 7320 6973 2074 6865 2066 6972 This is the fir │ │ │ │ │ -00006260: 7374 2065 7861 6d70 6c65 2077 6520 6861 st example we ha │ │ │ │ │ -00006270: 7665 2073 6565 6e20 6f66 20e2 8098 736b ve seen of ...sk │ │ │ │ │ -00006280: 6574 6368 e280 9920 6172 6974 686d 6574 etch... arithmet │ │ │ │ │ -00006290: 6963 2e20 2054 6865 0a65 7870 7265 7373 ic. The.express │ │ │ │ │ -000062a0: 696f 6e20 3138 3020 2f20 6e5f 7365 6773 ion 180 / n_segs │ │ │ │ │ -000062b0: 2063 6175 7365 7320 7468 6520 6569 6768 causes the eigh │ │ │ │ │ -000062c0: 7420 726f 7461 7469 6f6e 7320 746f 2061 t rotations to a │ │ │ │ │ -000062d0: 6464 2074 6f20 3138 302e 2020 4966 0a79 dd to 180. If.y │ │ │ │ │ -000062e0: 6f75 2772 6520 7061 7969 6e67 2061 7474 ou're paying att │ │ │ │ │ -000062f0: 656e 7469 6f6e 2c20 796f 7527 6c6c 2068 ention, you'll h │ │ │ │ │ -00006300: 6176 6520 616c 7265 6164 7920 6e6f 7465 ave already note │ │ │ │ │ -00006310: 6420 7468 6174 2074 6865 7265 2061 7265 d that there are │ │ │ │ │ -00006320: 205f 6e69 6e65 5f0a 706f 696e 7473 2c20 _nine_.points, │ │ │ │ │ -00006330: 7072 6f64 7563 696e 6720 6569 6768 7420 producing eight │ │ │ │ │ -00006340: 6c69 6e65 2073 6567 6d65 6e74 732e 0a0a line segments... │ │ │ │ │ -00006350: 2020 2059 6f75 2063 616e 2063 6175 7365 You can cause │ │ │ │ │ -00006360: 2074 6865 2073 7765 7074 2070 6f69 6e74 the swept point │ │ │ │ │ -00006370: 2074 6f20 6765 6e65 7261 7465 2061 2073 to generate a s │ │ │ │ │ -00006380: 696e 676c 6520 706f 6c79 676f 6e20 7261 ingle polygon ra │ │ │ │ │ -00006390: 7468 6572 0a74 6861 6e20 6120 706f 6c79 ther.than a poly │ │ │ │ │ -000063a0: 6c69 6e65 2062 7920 7573 696e 6720 7468 line by using th │ │ │ │ │ -000063b0: 6520 e280 9c63 6c6f 7375 7265 2074 6167 e ...closure tag │ │ │ │ │ -000063c0: e280 9d20 3c3e 2061 6674 6572 2074 6865 ... <> after the │ │ │ │ │ -000063d0: 206e 756d 6265 7220 6f66 2073 7765 7074 number of swept │ │ │ │ │ -000063e0: 0a6f 626a 6563 7473 2e20 2043 6f64 6520 .objects. Code │ │ │ │ │ -000063f0: 616e 6420 7265 7375 6c74 2066 6f6c 6c6f and result follo │ │ │ │ │ -00006400: 770a 2020 6465 6620 6e5f 7365 6773 2038 w. def n_segs 8 │ │ │ │ │ -00006410: 0a20 2073 7765 6570 207b 206e 5f73 6567 . sweep { n_seg │ │ │ │ │ -00006420: 733c 3e2c 2072 6f74 6174 6528 3138 3020 s<>, rotate(180 │ │ │ │ │ -00006430: 2f20 6e5f 7365 6773 2c20 2830 2c30 2c30 / n_segs, (0,0,0 │ │ │ │ │ -00006440: 292c 205b 302c 302c 315d 2920 7d20 2831 ), [0,0,1]) } (1 │ │ │ │ │ -00006450: 2c30 2c30 290a 0008 5b69 6d61 6765 2073 ,0,0)...[image s │ │ │ │ │ -00006460: 7263 3d22 6578 3038 302e 706e 6722 2074 rc="ex080.png" t │ │ │ │ │ -00006470: 6578 743d 2249 6d61 6765 2065 7830 3830 ext="Image ex080 │ │ │ │ │ -00006480: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ -00006490: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ -000064a0: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ -000064b0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -000064c0: 6e66 6f2c 2020 4e6f 6465 3a20 506f 6c79 nfo, Node: Poly │ │ │ │ │ -000064d0: 6c69 6e65 2073 7765 6570 732c 2020 4e65 line sweeps, Ne │ │ │ │ │ -000064e0: 7874 3a20 4e65 7374 6564 2073 7765 6570 xt: Nested sweep │ │ │ │ │ -000064f0: 732c 2020 5072 6576 3a20 506f 696e 7420 s, Prev: Point │ │ │ │ │ -00006500: 7377 6565 7073 2c20 2055 703a 2053 7765 sweeps, Up: Swe │ │ │ │ │ -00006510: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7. │ │ │ │ │ -00006520: 3220 506f 6c79 6c69 6e65 2073 7765 6570 2 Polyline sweep │ │ │ │ │ -00006530: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.-------------- │ │ │ │ │ -00006540: 2d2d 2d2d 2d2d 2d0a 0a53 7765 6570 696e -------..Sweepin │ │ │ │ │ -00006550: 6720 6120 706f 6c79 6c69 6e65 2070 726f g a polyline pro │ │ │ │ │ -00006560: 6475 6365 7320 6120 7375 7266 6163 6520 duces a surface │ │ │ │ │ -00006570: 636f 6d70 6f73 6564 206f 6620 6d61 6e79 composed of many │ │ │ │ │ -00006580: 2066 6163 6573 2e20 2054 6865 0a75 6e62 faces. The.unb │ │ │ │ │ -00006590: 726f 6b65 6e20 6865 6c69 7820 696e 2074 roken helix in t │ │ │ │ │ -000065a0: 6865 2065 7861 6d70 6c65 202a 6e6f 7465 he example *note │ │ │ │ │ -000065b0: 2048 656c 6978 2077 6974 6820 6375 6c6c Helix with cull │ │ │ │ │ -000065c0: 2073 6574 2066 616c 7365 2074 6865 6e0a set false then. │ │ │ │ │ -000065d0: 7472 7565 3a3a 2069 7320 7072 6f64 7563 true:: is produc │ │ │ │ │ -000065e0: 6564 2062 7920 7468 6973 2063 6f64 6520 ed by this code │ │ │ │ │ -000065f0: 2870 6c75 7320 6120 7375 7272 6f75 6e64 (plus a surround │ │ │ │ │ -00006600: 696e 6720 7075 7420 726f 7461 7469 6f6e ing put rotation │ │ │ │ │ -00006610: 2074 6f20 6d61 6b65 0a61 6e20 696e 7465 to make.an inte │ │ │ │ │ -00006620: 7265 7374 696e 6720 7669 6577 3b20 7468 resting view; th │ │ │ │ │ -00006630: 6973 2068 6173 2062 6565 6e20 6f6d 6974 is has been omit │ │ │ │ │ -00006640: 7465 6429 2e0a 2020 6465 6620 4b20 5b30 ted).. def K [0 │ │ │ │ │ -00006650: 2c30 2c31 5d0a 2020 7377 6565 705b 6375 ,0,1]. sweep[cu │ │ │ │ │ -00006660: 6c6c 3d66 616c 7365 5d20 7b0a 2020 2020 ll=false] {. │ │ │ │ │ -00006670: 3630 2c20 0a20 2020 2072 6f74 6174 6528 60, . rotate( │ │ │ │ │ -00006680: 3130 2c20 2830 2c30 2c30 292c 205b 4b5d 10, (0,0,0), [K] │ │ │ │ │ -00006690: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate │ │ │ │ │ -000066a0: 2831 2f36 202a 205b 4b5d 2920 0a20 207d (1/6 * [K]) . } │ │ │ │ │ -000066b0: 206c 696e 655b 6c69 6e65 7769 6474 683d line[linewidth= │ │ │ │ │ -000066c0: 3270 745d 282d 312c 3029 2831 2c30 290a 2pt](-1,0)(1,0). │ │ │ │ │ -000066d0: 4167 6169 6e2c 2036 3020 7365 676d 656e Again, 60 segmen │ │ │ │ │ -000066e0: 7473 206f 6620 7468 6520 6865 6c69 7820 ts of the helix │ │ │ │ │ -000066f0: 6172 6520 7072 6f64 7563 6564 2062 7920 are produced by │ │ │ │ │ -00006700: 636f 6e6e 6563 7469 6e67 2036 3120 696e connecting 61 in │ │ │ │ │ -00006710: 7374 616e 6365 730a 6f66 2074 6865 2073 stances.of the s │ │ │ │ │ -00006720: 7765 7074 206c 696e 652e 2020 4f70 7469 wept line. Opti │ │ │ │ │ -00006730: 6f6e 7320 6170 706c 6965 6420 746f 2074 ons applied to t │ │ │ │ │ -00006740: 6865 2073 7765 6570 2c20 6865 7265 2063 he sweep, here c │ │ │ │ │ -00006750: 756c 6c3d 6661 6c73 652c 2061 7265 0a74 ull=false, are.t │ │ │ │ │ -00006760: 7265 6174 6564 2061 7320 6f70 7469 6f6e reated as option │ │ │ │ │ -00006770: 7320 666f 7220 7468 6520 6765 6e65 7261 s for the genera │ │ │ │ │ -00006780: 7465 6420 706f 6c79 676f 6e20 6f72 2070 ted polygon or p │ │ │ │ │ -00006790: 6f6c 796c 696e 652e 2020 4f70 7469 6f6e olyline. Option │ │ │ │ │ -000067a0: 7320 6f66 0a74 6865 2073 7765 7074 206c s of.the swept l │ │ │ │ │ -000067b0: 696e 6520 6974 7365 6c66 2c20 6865 7265 ine itself, here │ │ │ │ │ -000067c0: 206c 696e 6577 6964 7468 3d32 7074 2c20 linewidth=2pt, │ │ │ │ │ -000067d0: 6172 6520 6967 6e6f 7265 642c 2074 686f are ignored, tho │ │ │ │ │ -000067e0: 7567 6820 7769 7468 2061 0a77 6172 6e69 ugh with a.warni │ │ │ │ │ -000067f0: 6e67 2e20 2054 6869 7320 6465 6620 6973 ng. This def is │ │ │ │ │ -00006800: 2061 20e2 809c 7665 6374 6f72 e280 9d20 a ...vector... │ │ │ │ │ -00006810: 6465 6669 6e69 7469 6f6e 2c20 7768 6963 definition, whic │ │ │ │ │ -00006820: 6820 6d75 7374 2062 6520 7265 6665 7265 h must be refere │ │ │ │ │ -00006830: 6e63 6564 0a77 6974 6820 7371 7561 7265 nced.with square │ │ │ │ │ -00006840: 2062 7261 636b 6574 732c 2065 2e67 2e20 brackets, e.g. │ │ │ │ │ -00006850: 5b66 6f6f 5d2e 0a0a 1f0a 4669 6c65 3a20 [foo].....File: │ │ │ │ │ -00006860: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00006870: 6465 3a20 4e65 7374 6564 2073 7765 6570 de: Nested sweep │ │ │ │ │ -00006880: 732c 2020 4e65 7874 3a20 506f 6c79 676f s, Next: Polygo │ │ │ │ │ -00006890: 6e20 7377 6565 7073 2c20 2050 7265 763a n sweeps, Prev: │ │ │ │ │ -000068a0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ -000068b0: 2c20 2055 703a 2053 7765 7074 206f 626a , Up: Swept obj │ │ │ │ │ -000068c0: 6563 7473 0a0a 322e 372e 3320 4e65 7374 ects..2.7.3 Nest │ │ │ │ │ -000068d0: 6564 2073 7765 6570 730a 2d2d 2d2d 2d2d ed sweeps.------ │ │ │ │ │ -000068e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a57 -------------..W │ │ │ │ │ -000068f0: 6865 6e20 7468 6520 6365 6e74 6572 2070 hen the center p │ │ │ │ │ -00006900: 6f69 6e74 206f 6620 726f 7461 7469 6f6e oint of rotation │ │ │ │ │ -00006910: 2069 7320 6f6d 6974 7465 642c 2074 6865 is omitted, the │ │ │ │ │ -00006920: 206f 7269 6769 6e20 6973 2061 7373 756d origin is assum │ │ │ │ │ -00006930: 6564 2e0a 5768 656e 2061 2070 6f69 6e74 ed..When a point │ │ │ │ │ -00006940: 2068 6173 206f 6e6c 7920 7477 6f20 636f has only two co │ │ │ │ │ -00006950: 6f72 6469 6e61 7465 732c 2074 6865 7920 ordinates, they │ │ │ │ │ -00006960: 6172 6520 7461 6b65 6e20 6173 2078 2061 are taken as x a │ │ │ │ │ -00006970: 6e64 2079 2c20 7769 7468 0a7a 3d30 2061 nd y, with.z=0 a │ │ │ │ │ -00006980: 7373 756d 6564 2e20 2041 2074 6f72 6f69 ssumed. A toroi │ │ │ │ │ -00006990: 6420 6973 2074 6865 7265 666f 7265 206f d is therefore o │ │ │ │ │ -000069a0: 6274 6169 6e65 6420 7769 7468 2074 6869 btained with thi │ │ │ │ │ -000069b0: 7320 636f 6465 2e0a 2020 6465 6620 6e5f s code.. def n_ │ │ │ │ │ -000069c0: 746f 726f 6964 5f73 6567 7320 3230 2020 toroid_segs 20 │ │ │ │ │ -000069d0: 2064 6566 206e 5f63 6972 636c 655f 7365 def n_circle_se │ │ │ │ │ -000069e0: 6773 2031 360a 2020 6465 6620 725f 6d69 gs 16. def r_mi │ │ │ │ │ -000069f0: 6e6f 7220 3120 2020 2020 2020 2020 2064 nor 1 d │ │ │ │ │ -00006a00: 6566 2072 5f6d 616a 6f72 2031 2e35 0a20 ef r_major 1.5. │ │ │ │ │ -00006a10: 2073 7765 6570 207b 206e 5f74 6f72 6f69 sweep { n_toroi │ │ │ │ │ -00006a20: 645f 7365 6773 2c20 726f 7461 7465 2833 d_segs, rotate(3 │ │ │ │ │ -00006a30: 3630 202f 206e 5f74 6f72 6f69 645f 7365 60 / n_toroid_se │ │ │ │ │ -00006a40: 6773 2c20 5b30 2c31 2c30 5d29 207d 0a20 gs, [0,1,0]) }. │ │ │ │ │ -00006a50: 2020 2073 7765 6570 207b 206e 5f63 6972 sweep { n_cir │ │ │ │ │ -00006a60: 636c 655f 7365 6773 2c20 726f 7461 7465 cle_segs, rotate │ │ │ │ │ -00006a70: 2833 3630 202f 206e 5f63 6972 636c 655f (360 / n_circle_ │ │ │ │ │ -00006a80: 7365 6773 2c20 2872 5f6d 616a 6f72 2c30 segs, (r_major,0 │ │ │ │ │ -00006a90: 2c30 2929 207d 200a 2020 2020 2020 2872 ,0)) } . (r │ │ │ │ │ -00006aa0: 5f6d 616a 6f72 202b 2072 5f6d 696e 6f72 _major + r_minor │ │ │ │ │ -00006ab0: 2c20 3029 0a20 2020 466f 7220 696e 7475 , 0). For intu │ │ │ │ │ -00006ac0: 6974 696f 6e2c 2074 6865 2069 6465 6120 ition, the idea │ │ │ │ │ -00006ad0: 6f66 2074 6865 2063 6f64 6520 6973 2074 of the code is t │ │ │ │ │ -00006ae0: 6f20 736b 6574 6368 2061 2063 6972 636c o sketch a circl │ │ │ │ │ -00006af0: 6520 746f 2074 6865 0a72 6967 6874 206f e to the.right o │ │ │ │ │ -00006b00: 6620 7468 6520 6f72 6967 696e 2069 6e20 f the origin in │ │ │ │ │ -00006b10: 7468 6520 7879 2d70 6c61 6e65 2c20 7468 the xy-plane, th │ │ │ │ │ -00006b20: 656e 2072 6f74 6174 6520 7468 6174 2063 en rotate that c │ │ │ │ │ -00006b30: 6972 636c 6520 226f 7574 206f 6620 7468 ircle "out of th │ │ │ │ │ -00006b40: 650a 706c 616e 6522 2061 626f 7574 2074 e.plane" about t │ │ │ │ │ -00006b50: 6865 2079 2d61 7869 7320 746f 206d 616b he y-axis to mak │ │ │ │ │ -00006b60: 6520 7468 6520 6669 6e61 6c20 6669 6775 e the final figu │ │ │ │ │ -00006b70: 7265 2e20 2054 6869 7320 7072 6f64 7563 re. This produc │ │ │ │ │ -00006b80: 6573 2074 6865 0a66 6f6c 6c6f 7769 6e67 es the.following │ │ │ │ │ -00006b90: 2e20 2028 4120 7669 6577 2072 6f74 6174 . (A view rotat │ │ │ │ │ -00006ba0: 696f 6e20 616e 6420 736f 6d65 2061 7865 ion and some axe │ │ │ │ │ -00006bb0: 7320 6861 7665 2062 6565 6e20 6164 6465 s have been adde │ │ │ │ │ -00006bc0: 642e 290a 0a00 085b 696d 6167 6520 7372 d.)....[image sr │ │ │ │ │ -00006bd0: 633d 2265 7830 3930 2e70 6e67 2220 7465 c="ex090.png" te │ │ │ │ │ -00006be0: 7874 3d22 496d 6167 6520 6578 3039 3020 xt="Image ex090 │ │ │ │ │ -00006bf0: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text │ │ │ │ │ -00006c00: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this │ │ │ │ │ -00006c10: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a20 document."..].. │ │ │ │ │ -00006c20: 2020 5468 6973 2065 7861 6d70 6c65 2061 This example a │ │ │ │ │ -00006c30: 6c73 6f20 7368 6f77 7320 7468 6174 2074 lso shows that t │ │ │ │ │ -00006c40: 6865 2073 7765 7074 206f 626a 6563 7420 he swept object │ │ │ │ │ -00006c50: 6d61 7920 6974 7365 6c66 2062 6520 616e may itself be an │ │ │ │ │ -00006c60: 6f74 6865 720a e280 9873 7765 6570 e280 other....sweep.. │ │ │ │ │ -00006c70: 992e 2020 496e 2066 6163 742c 2069 7420 .. In fact, it │ │ │ │ │ -00006c80: 6d61 7920 6265 205f 616e 795f 20e2 8098 may be _any_ ... │ │ │ │ │ -00006c90: 736b 6574 6368 e280 9920 6578 7072 6573 sketch... expres │ │ │ │ │ -00006ca0: 7369 6f6e 2074 6861 7420 7265 7375 6c74 sion that result │ │ │ │ │ -00006cb0: 7320 696e 2061 0a6c 6973 7420 6f66 206f s in a.list of o │ │ │ │ │ -00006cc0: 6e65 206f 7220 6d6f 7265 2070 6f69 6e74 ne or more point │ │ │ │ │ -00006cd0: 7320 6f72 2c20 616c 7465 726e 6174 656c s or, alternatel │ │ │ │ │ -00006ce0: 792c 2061 206c 6973 7420 6f66 206f 6e65 y, a list of one │ │ │ │ │ -00006cf0: 206f 7220 6d6f 7265 0a70 6f6c 796c 696e or more.polylin │ │ │ │ │ -00006d00: 6573 2061 6e64 2070 6f6c 7967 6f6e 732e es and polygons. │ │ │ │ │ -00006d10: 2020 5468 6520 6c61 7474 6572 206b 696e The latter kin │ │ │ │ │ -00006d20: 6420 6f66 206c 6973 7420 6361 6e20 6265 d of list can be │ │ │ │ │ -00006d30: 2063 7265 6174 6564 2077 6974 6820 610a created with a. │ │ │ │ │ -00006d40: 7b20 7d2d 656e 636c 6f73 6564 2062 6c6f { }-enclosed blo │ │ │ │ │ -00006d50: 636b 2c20 7065 7268 6170 7320 666f 6c6c ck, perhaps foll │ │ │ │ │ -00006d60: 6f77 696e 6720 6120 7075 7420 6f72 2072 owing a put or r │ │ │ │ │ -00006d70: 6570 6561 742e 0a0a 1f0a 4669 6c65 3a20 epeat.....File: │ │ │ │ │ -00006d80: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00006d90: 6465 3a20 506f 6c79 676f 6e20 7377 6565 de: Polygon swee │ │ │ │ │ -00006da0: 7073 2c20 204e 6578 743a 2050 6f6c 796c ps, Next: Polyl │ │ │ │ │ -00006db0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with │ │ │ │ │ -00006dc0: 636c 6f73 7572 652c 2020 5072 6576 3a20 closure, Prev: │ │ │ │ │ -00006dd0: 4e65 7374 6564 2073 7765 6570 732c 2020 Nested sweeps, │ │ │ │ │ -00006de0: 5570 3a20 5377 6570 7420 6f62 6a65 6374 Up: Swept object │ │ │ │ │ -00006df0: 730a 0a32 2e37 2e34 2050 6f6c 7967 6f6e s..2.7.4 Polygon │ │ │ │ │ -00006e00: 2073 7765 6570 730a 2d2d 2d2d 2d2d 2d2d sweeps.-------- │ │ │ │ │ -00006e10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5377 ------------..Sw │ │ │ │ │ -00006e20: 6565 7069 6e67 2061 2070 6f6c 7967 6f6e eeping a polygon │ │ │ │ │ -00006e30: 2063 7265 6174 6573 2061 2063 6c6f 7365 creates a close │ │ │ │ │ -00006e40: 6420 7375 7266 6163 6520 7769 7468 2070 d surface with p │ │ │ │ │ -00006e50: 6f6c 7967 6f6e 7320 6174 2074 6865 2065 olygons at the e │ │ │ │ │ -00006e60: 6e64 732c 0a77 6869 6368 2061 7265 206a nds,.which are j │ │ │ │ │ -00006e70: 7573 7420 636f 7069 6573 206f 6620 7468 ust copies of th │ │ │ │ │ -00006e80: 6520 6f72 6967 696e 616c 2c20 6170 7072 e original, appr │ │ │ │ │ -00006e90: 6f70 7269 6174 656c 7920 706f 7369 7469 opriately positi │ │ │ │ │ -00006ea0: 6f6e 6564 2e20 202a 4e6f 7465 0a53 6f6c oned. *Note.Sol │ │ │ │ │ -00006eb0: 6964 2063 6f69 6c20 6578 616d 706c 653a id coil example: │ │ │ │ │ -00006ec0: 3a2e 2020 4f70 7469 6f6e 7320 6f6e 2074 :. Options on t │ │ │ │ │ -00006ed0: 6865 2073 7765 7074 2070 6f6c 7967 6f6e he swept polygon │ │ │ │ │ -00006ee0: 2c20 6966 2074 6865 7920 6578 6973 742c , if they exist, │ │ │ │ │ -00006ef0: 2061 7265 0a61 7070 6c69 6564 2074 6f20 are.applied to │ │ │ │ │ -00006f00: 7468 6520 656e 6473 2e20 204f 7468 6572 the ends. Other │ │ │ │ │ -00006f10: 7769 7365 2074 6865 2073 7765 6570 206f wise the sweep o │ │ │ │ │ -00006f20: 7074 696f 6e73 2061 7265 2075 7365 6420 ptions are used │ │ │ │ │ -00006f30: 7468 726f 7567 686f 7574 2e0a 0a1f 0a46 throughout.....F │ │ │ │ │ -00006f40: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00006f50: 2c20 204e 6f64 653a 2050 6f6c 796c 696e , Node: Polylin │ │ │ │ │ -00006f60: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl │ │ │ │ │ -00006f70: 6f73 7572 652c 2020 4e65 7874 3a20 4166 osure, Next: Af │ │ │ │ │ -00006f80: 6669 6e65 2061 7269 7468 6d65 7469 632c fine arithmetic, │ │ │ │ │ -00006f90: 2020 5072 6576 3a20 506f 6c79 676f 6e20 Prev: Polygon │ │ │ │ │ -00006fa0: 7377 6565 7073 2c20 2055 703a 2053 7765 sweeps, Up: Swe │ │ │ │ │ -00006fb0: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7. │ │ │ │ │ -00006fc0: 3520 506f 6c79 6c69 6e65 2073 7765 6570 5 Polyline sweep │ │ │ │ │ -00006fd0: 7320 7769 7468 2063 6c6f 7375 7265 0a2d s with closure.- │ │ │ │ │ +00002750: 2a2a 0a0a 5468 6520 e280 9873 6b65 7463 **..The ...sketc │ │ │ │ │ +00002760: 68e2 8099 2069 6e70 7574 206c 616e 6775 h... input langu │ │ │ │ │ +00002770: 6167 6520 7769 6c6c 2073 6565 6d20 6661 age will seem fa │ │ │ │ │ +00002780: 6d69 6c69 6172 2074 6f20 7573 6572 7320 miliar to users │ │ │ │ │ +00002790: 6f66 2074 6865 0ae2 8098 5053 5472 6963 of the....PSTric │ │ │ │ │ +000027a0: 6b73 e280 9920 7061 636b 6167 6520 666f ks... package fo │ │ │ │ │ +000027b0: 7220 4c61 5465 582e 2020 5468 6520 666f r LaTeX. The fo │ │ │ │ │ +000027c0: 6c6c 6f77 696e 6720 7072 6f67 7261 6d20 llowing program │ │ │ │ │ +000027d0: 6472 6177 7320 6120 7472 6961 6e67 756c draws a triangul │ │ │ │ │ +000027e0: 6172 0a70 6f6c 7967 6f6e 2070 6965 7263 ar.polygon pierc │ │ │ │ │ +000027f0: 6564 2062 7920 6120 6c69 6e65 2e0a 2020 ed by a line.. │ │ │ │ │ +00002800: 706f 6c79 676f 6e28 302c 302c 3129 2831 polygon(0,0,1)(1 │ │ │ │ │ +00002810: 2c30 2c30 2928 302c 312c 3029 0a20 206c ,0,0)(0,1,0). l │ │ │ │ │ +00002820: 696e 6528 2d31 2c2d 312c 2d31 2928 322c ine(-1,-1,-1)(2, │ │ │ │ │ +00002830: 322c 3229 0a54 6865 2063 6f6f 7264 696e 2,2).The coordin │ │ │ │ │ +00002840: 6174 6520 7379 7374 656d 2069 7320 6120 ate system is a │ │ │ │ │ +00002850: 7374 616e 6461 7264 2072 6967 6874 2d68 standard right-h │ │ │ │ │ +00002860: 616e 6465 6420 4361 7274 6573 6961 6e20 anded Cartesian │ │ │ │ │ +00002870: 6f6e 652e 0a0a 0008 5b69 6d61 6765 2073 one.....[image s │ │ │ │ │ +00002880: 7263 3d22 6578 3031 302e 706e 6722 2074 rc="ex010.png" t │ │ │ │ │ +00002890: 6578 743d 2249 6d61 6765 2065 7830 3130 ext="Image ex010 │ │ │ │ │ +000028a0: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +000028b0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +000028c0: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +000028d0: 2a20 4d65 6e75 3a0a 0a2a 2048 656c 6c6f * Menu:..* Hello │ │ │ │ │ +000028e0: 2077 6f72 6c64 3a3a 2020 2020 2020 2020 world:: │ │ │ │ │ +000028f0: 2020 2020 2020 2020 2053 696d 706c 6573 Simples │ │ │ │ │ +00002900: 7420 706f 7373 6962 6c65 20e2 8098 736b t possible ...sk │ │ │ │ │ +00002910: 6574 6368 e280 9920 7072 6f67 7261 6d2e etch... program. │ │ │ │ │ +00002920: 0a2a 2044 7261 7769 6e67 206f 7074 696f .* Drawing optio │ │ │ │ │ +00002930: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ +00002940: 2043 6f6e 7472 6f6c 6c69 6e67 206f 626a Controlling obj │ │ │ │ │ +00002950: 6563 7420 6170 7065 6172 616e 6365 2e0a ect appearance.. │ │ │ │ │ +00002960: 2a20 4472 6177 696e 6720 6120 736f 6c69 * Drawing a soli │ │ │ │ │ +00002970: 643a 3a20 2020 2020 2020 2020 2020 2020 d:: │ │ │ │ │ +00002980: 4472 6177 696e 6720 616e 206f 626a 6563 Drawing an objec │ │ │ │ │ +00002990: 7420 7769 7468 2033 6420 6170 7065 6172 t with 3d appear │ │ │ │ │ +000029a0: 616e 6365 2e0a 2a20 5370 6563 6961 6c20 ance..* Special │ │ │ │ │ +000029b0: 6f62 6a65 6374 733a 3a20 2020 2020 2020 objects:: │ │ │ │ │ +000029c0: 2020 2020 2020 4c61 7969 6e67 2054 6558 Laying TeX │ │ │ │ │ +000029d0: 206f 7665 722c 2069 6e2c 206f 7220 756e over, in, or un │ │ │ │ │ +000029e0: 6465 7220 6472 6177 696e 6773 2e0a 2a20 der drawings..* │ │ │ │ │ +000029f0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ +00002a00: 733a 3a20 2020 2020 2020 2020 2020 526f s:: Ro │ │ │ │ │ +00002a10: 7461 7465 2c20 7472 616e 736c 6174 652c tate, translate, │ │ │ │ │ +00002a20: 2073 6361 6c65 2c20 616e 6420 6f74 6865 scale, and othe │ │ │ │ │ +00002a30: 7273 2e0a 2a20 5265 7065 6174 6564 206f rs..* Repeated o │ │ │ │ │ +00002a40: 626a 6563 7473 3a3a 2020 2020 2020 2020 bjects:: │ │ │ │ │ +00002a50: 2020 2020 4d61 6b69 6e67 2074 7261 6e73 Making trans │ │ │ │ │ +00002a60: 666f 726d 6564 2063 6f70 6965 732e 0a2a formed copies..* │ │ │ │ │ +00002a70: 2053 7765 7074 206f 626a 6563 7473 3a3a Swept objects:: │ │ │ │ │ +00002a80: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00002a90: 7765 6570 696e 6720 6f62 6a65 6374 7320 weeping objects │ │ │ │ │ +00002aa0: 696e 2073 7061 6365 2074 6f20 6d61 6b65 in space to make │ │ │ │ │ +00002ab0: 206e 6577 2073 6861 7065 732e 0a0a 1f0a new shapes..... │ │ │ │ │ +00002ac0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00002ad0: 6f2c 2020 4e6f 6465 3a20 4865 6c6c 6f20 o, Node: Hello │ │ │ │ │ +00002ae0: 776f 726c 642c 2020 4e65 7874 3a20 4472 world, Next: Dr │ │ │ │ │ +00002af0: 6177 696e 6720 6f70 7469 6f6e 732c 2020 awing options, │ │ │ │ │ +00002b00: 5072 6576 3a20 496e 7472 6f64 7563 7469 Prev: Introducti │ │ │ │ │ +00002b10: 6f6e 2062 7920 6578 616d 706c 652c 2020 on by example, │ │ │ │ │ +00002b20: 5570 3a20 496e 7472 6f64 7563 7469 6f6e Up: Introduction │ │ │ │ │ +00002b30: 2062 7920 6578 616d 706c 650a 0a32 2e31 by example..2.1 │ │ │ │ │ +00002b40: 2048 656c 6c6f 2077 6f72 6c64 0a3d 3d3d Hello world.=== │ │ │ │ │ +00002b50: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5468 ============..Th │ │ │ │ │ +00002b60: 6520 e280 9873 6b65 7463 68e2 8099 2070 e ...sketch... p │ │ │ │ │ +00002b70: 726f 6772 616d 2061 626f 7665 2069 7320 rogram above is │ │ │ │ │ +00002b80: 6e65 6172 6c79 2074 6865 2073 696d 706c nearly the simpl │ │ │ │ │ +00002b90: 6573 7420 6f6e 6520 706f 7373 6962 6c65 est one possible │ │ │ │ │ +00002ba0: 2c20 7468 650a 6571 7569 7661 6c65 6e74 , the.equivalent │ │ │ │ │ +00002bb0: 206f 6620 6120 2268 656c 6c6f 2077 6f72 of a "hello wor │ │ │ │ │ +00002bc0: 6c64 2220 7072 6f67 7261 6d20 796f 7520 ld" program you │ │ │ │ │ +00002bd0: 6d69 6768 7420 6669 6e64 2061 7420 7468 might find at th │ │ │ │ │ +00002be0: 6520 7374 6172 7420 6f66 2061 0a70 726f e start of a.pro │ │ │ │ │ +00002bf0: 6772 616d 6d69 6e67 206c 616e 6775 6167 gramming languag │ │ │ │ │ +00002c00: 6520 7465 7874 2e20 2049 6620 6974 2069 e text. If it i │ │ │ │ │ +00002c10: 7320 7361 7665 6420 696e 2074 6865 2066 s saved in the f │ │ │ │ │ +00002c20: 696c 6520 e280 9873 696d 706c 652e 736b ile ...simple.sk │ │ │ │ │ +00002c30: e280 992c 2074 6865 6e0a 7468 6520 636f ..., then.the co │ │ │ │ │ +00002c40: 6d6d 616e 640a 2020 736b 6574 6368 2073 mmand. sketch s │ │ │ │ │ +00002c50: 696d 706c 652e 736b 202d 6f20 7369 6d70 imple.sk -o simp │ │ │ │ │ +00002c60: 6c65 2e74 6578 0a63 7265 6174 6573 2061 le.tex.creates a │ │ │ │ │ +00002c70: 2066 696c 6520 e280 9873 696d 706c 652e file ...simple. │ │ │ │ │ +00002c80: 7465 78e2 8099 2063 6f6e 7461 696e 696e tex... containin │ │ │ │ │ +00002c90: 6720 e280 9850 5354 7269 636b 73e2 8099 g ...PSTricks... │ │ │ │ │ +00002ca0: 2063 6f6d 6d61 6e64 7320 746f 2064 7261 commands to dra │ │ │ │ │ +00002cb0: 7720 7468 6573 650a 6f62 6a65 6374 7320 w these.objects │ │ │ │ │ +00002cc0: 6f6e 2070 6170 6572 2e20 2054 6865 2063 on paper. The c │ │ │ │ │ +00002cd0: 6f6e 7465 6e74 7320 6f66 20e2 8098 7369 ontents of ...si │ │ │ │ │ +00002ce0: 6d70 6c65 2e74 6578 e280 9920 6c6f 6f6b mple.tex... look │ │ │ │ │ +00002cf0: 206c 696b 6520 7468 6973 2e0a 2020 5c62 like this.. \b │ │ │ │ │ +00002d00: 6567 696e 7b70 7370 6963 7475 7265 7d28 egin{pspicture}( │ │ │ │ │ +00002d10: 2d31 2c2d 3129 2832 2c32 290a 2020 5c70 -1,-1)(2,2). \p │ │ │ │ │ +00002d20: 7374 5665 7262 7b31 2073 6574 6c69 6e65 stVerb{1 setline │ │ │ │ │ +00002d30: 6a6f 696e 7d0a 2020 5c70 736c 696e 6528 join}. \psline( │ │ │ │ │ +00002d40: 2d31 2c2d 3129 282e 3333 332c 2e33 3333 -1,-1)(.333,.333 │ │ │ │ │ +00002d50: 290a 2020 5c70 7370 6f6c 7967 6f6e 5b66 ). \pspolygon[f │ │ │ │ │ +00002d60: 696c 6c73 7479 6c65 3d73 6f6c 6964 2c66 illstyle=solid,f │ │ │ │ │ +00002d70: 696c 6c63 6f6c 6f72 3d77 6869 7465 5d28 illcolor=white]( │ │ │ │ │ +00002d80: 302c 3029 2831 2c30 2928 302c 3129 0a20 0,0)(1,0)(0,1). │ │ │ │ │ +00002d90: 205c 7073 6c69 6e65 282e 3333 332c 2e33 \psline(.333,.3 │ │ │ │ │ +00002da0: 3333 2928 322c 3229 0a20 205c 656e 647b 33)(2,2). \end{ │ │ │ │ │ +00002db0: 7073 7069 6374 7572 657d 0a54 6865 2068 pspicture}.The h │ │ │ │ │ +00002dc0: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al │ │ │ │ │ +00002dd0: 676f 7269 7468 6d20 6f66 20e2 8098 736b gorithm of ...sk │ │ │ │ │ +00002de0: 6574 6368 e280 9920 6861 7320 7370 6c69 etch... has spli │ │ │ │ │ +00002df0: 7420 7468 6520 6c69 6e65 2069 6e74 6f20 t the line into │ │ │ │ │ +00002e00: 7477 6f0a 7069 6563 6573 2061 6e64 206f two.pieces and o │ │ │ │ │ +00002e10: 7264 6572 6564 2074 6865 2074 6872 6565 rdered the three │ │ │ │ │ +00002e20: 2072 6573 756c 7469 6e67 206f 626a 6563 resulting objec │ │ │ │ │ +00002e30: 7473 2073 6f20 7468 6174 2074 6865 2063 ts so that the c │ │ │ │ │ +00002e40: 6f72 7265 6374 0a70 6f72 7469 6f6e 206f orrect.portion o │ │ │ │ │ +00002e50: 6620 7468 6520 6c69 6e65 2069 7320 6869 f the line is hi │ │ │ │ │ +00002e60: 6464 656e 2e0a 0a20 2020 4966 2079 6f75 dden... If you │ │ │ │ │ +00002e70: 2776 6520 6e6f 7469 6365 6420 7468 6174 've noticed that │ │ │ │ │ +00002e80: 2074 6865 2070 726f 6a65 6374 696f 6e20 the projection │ │ │ │ │ +00002e90: 7765 2061 7265 2075 7369 6e67 2073 6565 we are using see │ │ │ │ │ +00002ea0: 6d73 2065 7175 6976 616c 656e 740a 746f ms equivalent.to │ │ │ │ │ +00002eb0: 2065 7261 7369 6e67 2074 6865 207a 2d63 erasing the z-c │ │ │ │ │ +00002ec0: 6f6f 7264 696e 6174 6520 6f66 2074 6865 oordinate of the │ │ │ │ │ +00002ed0: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension │ │ │ │ │ +00002ee0: 616c 2069 6e70 7574 2070 6f69 6e74 732c al input points, │ │ │ │ │ +00002ef0: 2070 6174 0a79 6f75 7273 656c 6620 6f6e pat.yourself on │ │ │ │ │ +00002f00: 2074 6865 2062 6163 6b2e 2020 596f 7520 the back. You │ │ │ │ │ +00002f10: 6172 6520 636f 7272 6563 742e 2020 5468 are correct. Th │ │ │ │ │ +00002f20: 6973 2069 7320 6361 6c6c 6564 2061 20e2 is is called a . │ │ │ │ │ +00002f30: 809c 7061 7261 6c6c 656c 0a70 726f 6a65 ..parallel.proje │ │ │ │ │ +00002f40: 6374 696f 6ee2 809d 2e20 2054 6865 207a ction.... The z │ │ │ │ │ +00002f50: 2d63 6f6f 7264 696e 6174 6520 6178 6973 -coordinate axis │ │ │ │ │ +00002f60: 2069 7320 706f 696e 7469 6e67 2073 7472 is pointing str │ │ │ │ │ +00002f70: 6169 6768 7420 6f75 7420 6f66 2074 6865 aight out of the │ │ │ │ │ +00002f80: 0a70 6170 6572 2061 7420 7573 2c20 7768 .paper at us, wh │ │ │ │ │ +00002f90: 696c 6520 7468 6520 782d 2061 6e64 2079 ile the x- and y │ │ │ │ │ +00002fa0: 2d61 7865 7320 706f 696e 7420 746f 2074 -axes point to t │ │ │ │ │ +00002fb0: 6865 2072 6967 6874 2061 6e64 2075 7020 he right and up │ │ │ │ │ +00002fc0: 6173 2075 7375 616c 2e0a 0a20 2020 5468 as usual... Th │ │ │ │ │ +00002fd0: 6520 7265 7375 6c74 696e 6720 7069 6374 e resulting pict │ │ │ │ │ +00002fe0: 7572 6520 6669 6c65 2063 616e 2062 6520 ure file can be │ │ │ │ │ +00002ff0: 696e 636c 7564 6564 2069 6e20 6120 4c61 included in a La │ │ │ │ │ +00003000: 5465 5820 646f 6375 6d65 6e74 2077 6974 TeX document wit │ │ │ │ │ +00003010: 680a 5c69 6e70 7574 7b73 696d 706c 657d h.\input{simple} │ │ │ │ │ +00003020: 2e20 2041 6c74 6572 6e61 7465 6c79 2c20 . Alternately, │ │ │ │ │ +00003030: 6164 6469 6e67 2074 6865 2063 6f6d 6d61 adding the comma │ │ │ │ │ +00003040: 6e64 206c 696e 6520 6f70 7469 6f6e 20e2 nd line option . │ │ │ │ │ +00003050: 8098 2d54 e280 9928 3129 0a63 6175 7365 ..-T...(1).cause │ │ │ │ │ +00003060: 7320 7468 6520 e280 9870 7370 6963 7475 s the ...pspictu │ │ │ │ │ +00003070: 7265 e280 9920 746f 2062 6520 7772 6170 re... to be wrap │ │ │ │ │ +00003080: 7065 6420 696e 2061 2073 686f 7274 2062 ped in a short b │ │ │ │ │ +00003090: 7574 2063 6f6d 706c 6574 6520 646f 6375 ut complete docu │ │ │ │ │ +000030a0: 6d65 6e74 2c0a 7265 6164 7920 746f 2072 ment,.ready to r │ │ │ │ │ +000030b0: 756e 2074 686f 7567 6820 4c61 5465 582e un though LaTeX. │ │ │ │ │ +000030c0: 2020 496e 2061 2066 696e 6973 6865 642c In a finished, │ │ │ │ │ +000030d0: 2074 7970 6573 6574 2064 6f63 756d 656e typeset documen │ │ │ │ │ +000030e0: 742c 2074 6865 2070 6963 7475 7265 0a6c t, the picture.l │ │ │ │ │ +000030f0: 6f6f 6b73 206c 696b 6520 7468 6973 2e20 ooks like this. │ │ │ │ │ +00003100: 2028 5468 6520 6178 6573 2068 6176 6520 (The axes have │ │ │ │ │ +00003110: 6265 656e 2061 6464 6564 2069 6e20 6c69 been added in li │ │ │ │ │ +00003120: 6768 7420 6772 6179 2e29 0a0a 0008 5b69 ght gray.)....[i │ │ │ │ │ +00003130: 6d61 6765 2073 7263 3d22 6578 3032 302e mage src="ex020. │ │ │ │ │ +00003140: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00003150: 2065 7830 3230 206f 6d69 7474 6564 2069 ex020 omitted i │ │ │ │ │ +00003160: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00003170: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +00003180: 2200 085d 0a0a 4974 2069 7320 696d 706f "..]..It is impo │ │ │ │ │ +00003190: 7274 616e 7420 746f 206b 6e6f 7720 7468 rtant to know th │ │ │ │ │ +000031a0: 6174 206f 6e6c 7920 7468 6520 226f 7574 at only the "out │ │ │ │ │ +000031b0: 7369 6465 2220 6f66 2061 2070 6f6c 7967 side" of a polyg │ │ │ │ │ +000031c0: 6f6e 2069 7320 6e6f 726d 616c 6c79 0a64 on is normally.d │ │ │ │ │ +000031d0: 7261 776e 2e20 2054 6865 20e2 809c 6f75 rawn. The ...ou │ │ │ │ │ +000031e0: 7473 6964 65e2 809d 2069 7320 7768 6572 tside... is wher │ │ │ │ │ +000031f0: 6520 7468 6520 7665 7274 6963 6573 2067 e the vertices g │ │ │ │ │ +00003200: 6976 656e 2069 6e20 7468 6520 e280 9870 iven in the ...p │ │ │ │ │ +00003210: 6f6c 7967 6f6e e280 990a 636f 6d6d 616e olygon....comman │ │ │ │ │ +00003220: 6420 6170 7065 6172 2069 6e20 5f63 6f75 d appear in _cou │ │ │ │ │ +00003230: 6e74 6572 2d63 6c6f 636b 7769 7365 5f20 nter-clockwise_ │ │ │ │ │ +00003240: 6f72 6465 722e 2020 5468 7573 2c20 6966 order. Thus, if │ │ │ │ │ +00003250: 2074 6865 2063 6f6d 6d61 6e64 2061 626f the command abo │ │ │ │ │ +00003260: 7665 0a68 6164 2062 6565 6e0a 2020 706f ve.had been. po │ │ │ │ │ +00003270: 6c79 676f 6e28 302c 312c 3029 2831 2c30 lygon(0,1,0)(1,0 │ │ │ │ │ +00003280: 2c30 2928 302c 302c 3129 0a74 6865 2070 ,0)(0,0,1).the p │ │ │ │ │ +00003290: 6f6c 7967 6f6e 2077 6f75 6c64 206e 6f74 olygon would not │ │ │ │ │ +000032a0: 2061 7070 6561 7220 696e 2074 6865 2070 appear in the p │ │ │ │ │ +000032b0: 6963 7475 7265 2061 7420 616c 6c2e 2020 icture at all. │ │ │ │ │ +000032c0: 4974 2077 6f75 6c64 2068 6176 6520 6265 It would have be │ │ │ │ │ +000032d0: 656e 0ae2 809c 6375 6c6c 6564 e280 9d20 en....culled... │ │ │ │ │ +000032e0: 6672 6f6d 2074 6865 2073 6365 6e65 2e20 from the scene. │ │ │ │ │ +000032f0: 2054 6869 7320 6375 6c6c 696e 6720 6265 This culling be │ │ │ │ │ +00003300: 6861 7669 6f72 206d 6179 2073 6565 6d20 havior may seem │ │ │ │ │ +00003310: 7374 7261 6e67 652c 2062 7574 0a73 7461 strange, but.sta │ │ │ │ │ +00003320: 7920 7475 6e65 642e 0a0a 2020 202d 2d2d y tuned... --- │ │ │ │ │ +00003330: 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 ------- Footnote │ │ │ │ │ +00003340: 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 s ----------.. │ │ │ │ │ +00003350: 2028 3129 204f 7220 666f 7220 4575 726f (1) Or for Euro │ │ │ │ │ +00003360: 7065 616e 2075 7365 7273 206f 6620 4134 pean users of A4 │ │ │ │ │ +00003370: 2073 697a 6520 7061 7065 722c 20e2 8098 size paper, ... │ │ │ │ │ +00003380: 2d54 65e2 8099 2e0a 0a1f 0a46 696c 653a -Te........File: │ │ │ │ │ +00003390: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +000033a0: 6f64 653a 2044 7261 7769 6e67 206f 7074 ode: Drawing opt │ │ │ │ │ +000033b0: 696f 6e73 2c20 204e 6578 743a 2044 7261 ions, Next: Dra │ │ │ │ │ +000033c0: 7769 6e67 2061 2073 6f6c 6964 2c20 2050 wing a solid, P │ │ │ │ │ +000033d0: 7265 763a 2048 656c 6c6f 2077 6f72 6c64 rev: Hello world │ │ │ │ │ +000033e0: 2c20 2055 703a 2049 6e74 726f 6475 6374 , Up: Introduct │ │ │ │ │ +000033f0: 696f 6e20 6279 2065 7861 6d70 6c65 0a0a ion by example.. │ │ │ │ │ +00003400: 322e 3220 4f70 7469 6f6e 730a 3d3d 3d3d 2.2 Options.==== │ │ │ │ │ +00003410: 3d3d 3d3d 3d3d 3d0a 0a4d 616e 7920 e280 =======..Many .. │ │ │ │ │ +00003420: 9850 5354 7269 636b 73e2 8099 2061 6e64 .PSTricks... and │ │ │ │ │ +00003430: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... │ │ │ │ │ +00003440: 6f70 7469 6f6e 7320 776f 726b 206a 7573 options work jus │ │ │ │ │ +00003450: 7420 6669 6e65 2069 6e20 e280 9873 6b65 t fine in ...ske │ │ │ │ │ +00003460: 7463 68e2 8099 2e20 2049 660a 6765 6e65 tch.... If.gene │ │ │ │ │ +00003470: 7261 7469 6e67 20e2 8098 5053 5472 6963 rating ...PSTric │ │ │ │ │ +00003480: 6b73 e280 992c 2074 6865 2063 6f64 650a ks..., the code. │ │ │ │ │ +00003490: 2020 706f 6c79 676f 6e5b 6669 6c6c 636f polygon[fillco │ │ │ │ │ +000034a0: 6c6f 723d 6c69 6768 7467 7261 792c 6c69 lor=lightgray,li │ │ │ │ │ +000034b0: 6e65 7769 6474 683d 3370 745d 2830 2c30 newidth=3pt](0,0 │ │ │ │ │ +000034c0: 2c31 2928 312c 302c 3029 2830 2c31 2c30 ,1)(1,0,0)(0,1,0 │ │ │ │ │ +000034d0: 290a 2020 6c69 6e65 5b6c 696e 6573 7479 ). line[linesty │ │ │ │ │ +000034e0: 6c65 3d64 6f74 7465 645d 282d 312c 2d31 le=dotted](-1,-1 │ │ │ │ │ +000034f0: 2c2d 3129 2832 2c32 2c32 290a 7072 6f64 ,-1)(2,2,2).prod │ │ │ │ │ +00003500: 7563 6573 0a0a 0008 5b69 6d61 6765 2073 uces....[image s │ │ │ │ │ +00003510: 7263 3d22 6578 3033 302e 706e 6722 2074 rc="ex030.png" t │ │ │ │ │ +00003520: 6578 743d 2249 6d61 6765 2065 7830 3330 ext="Image ex030 │ │ │ │ │ +00003530: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00003540: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00003550: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00003560: 2020 2054 6f20 7072 6f64 7563 6520 e280 To produce .. │ │ │ │ │ +00003570: 9854 696b 5a2f 5047 46e2 8099 2c20 7468 .TikZ/PGF..., th │ │ │ │ │ +00003580: 6520 636f 7272 6573 706f 6e64 696e 6720 e corresponding │ │ │ │ │ +00003590: 636f 6465 2069 730a 2020 706f 6c79 676f code is. polygo │ │ │ │ │ +000035a0: 6e5b 6669 6c6c 3d6c 6967 6874 6772 6179 n[fill=lightgray │ │ │ │ │ +000035b0: 2c6c 696e 6520 7769 6474 683d 3370 745d ,line width=3pt] │ │ │ │ │ +000035c0: 2830 2c30 2c31 2928 312c 302c 3029 2830 (0,0,1)(1,0,0)(0 │ │ │ │ │ +000035d0: 2c31 2c30 290a 2020 6c69 6e65 5b73 7479 ,1,0). line[sty │ │ │ │ │ +000035e0: 6c65 3d64 6f74 7465 645d 282d 312c 2d31 le=dotted](-1,-1 │ │ │ │ │ +000035f0: 2c2d 3129 2832 2c32 2c32 290a 2020 676c ,-1)(2,2,2). gl │ │ │ │ │ +00003600: 6f62 616c 207b 206c 616e 6775 6167 6520 obal { language │ │ │ │ │ +00003610: 7469 6b7a 207d 0a54 6865 2066 696e 616c tikz }.The final │ │ │ │ │ +00003620: 20e2 8098 676c 6f62 616c e280 9920 696e ...global... in │ │ │ │ │ +00003630: 7374 7275 6374 7320 e280 9873 6b65 7463 structs ...sketc │ │ │ │ │ +00003640: 68e2 8099 2074 6f20 7072 6f64 7563 6520 h... to produce │ │ │ │ │ +00003650: e280 9854 696b 5a2f 5047 46e2 8099 2063 ...TikZ/PGF... c │ │ │ │ │ +00003660: 6f64 6520 6173 0a6f 7574 7075 7420 7261 ode as.output ra │ │ │ │ │ +00003670: 7468 6572 2074 6861 6e20 7468 6520 6465 ther than the de │ │ │ │ │ +00003680: 6661 756c 742c 20e2 8098 5053 5472 6963 fault, ...PSTric │ │ │ │ │ +00003690: 6b73 e280 992e 2020 4e6f 7465 2074 6861 ks.... Note tha │ │ │ │ │ +000036a0: 7420 e280 9870 6f6c 7967 6f6e e280 9920 t ...polygon... │ │ │ │ │ +000036b0: 6669 6c6c 0a63 6f6c 6f72 2061 6e64 20e2 fill.color and . │ │ │ │ │ +000036c0: 8098 6c69 6e65 e280 9920 7374 796c 6520 ..line... style │ │ │ │ │ +000036d0: 6f70 7469 6f6e 7320 626f 7468 2063 6f6e options both con │ │ │ │ │ +000036e0: 666f 726d 2074 6f20 e280 9854 696b 5ae2 form to ...TikZ. │ │ │ │ │ +000036f0: 8099 2073 796e 7461 7820 7275 6c65 732e .. syntax rules. │ │ │ │ │ +00003700: 2020 5468 650a 7265 7375 6c74 696e 6720 The.resulting │ │ │ │ │ +00003710: e280 9854 696b 5a2f 5047 46e2 8099 206f ...TikZ/PGF... o │ │ │ │ │ +00003720: 7574 7075 7420 6973 0a20 205c 6265 6769 utput is. \begi │ │ │ │ │ +00003730: 6e7b 7469 6b7a 7069 6374 7572 657d 5b6a n{tikzpicture}[j │ │ │ │ │ +00003740: 6f69 6e3d 726f 756e 645d 0a20 205c 6472 oin=round]. \dr │ │ │ │ │ +00003750: 6177 5b64 6f74 7465 645d 282d 312c 2d31 aw[dotted](-1,-1 │ │ │ │ │ +00003760: 292d 2d28 2e33 3333 2c2e 3333 3329 3b0a )--(.333,.333);. │ │ │ │ │ +00003770: 2020 5c66 696c 6c64 7261 775b 6669 6c6c \filldraw[fill │ │ │ │ │ +00003780: 3d6c 6967 6874 6772 6179 2c6c 696e 6520 =lightgray,line │ │ │ │ │ +00003790: 7769 6474 683d 3370 745d 2830 2c30 292d width=3pt](0,0)- │ │ │ │ │ +000037a0: 2d28 312c 3029 2d2d 2830 2c31 292d 2d63 -(1,0)--(0,1)--c │ │ │ │ │ +000037b0: 7963 6c65 3b0a 2020 5c64 7261 775b 646f ycle;. \draw[do │ │ │ │ │ +000037c0: 7474 6564 5d28 2e33 3333 2c2e 3333 3329 tted](.333,.333) │ │ │ │ │ +000037d0: 2d2d 2832 2c32 293b 0a20 205c 656e 647b --(2,2);. \end{ │ │ │ │ │ +000037e0: 7469 6b7a 7069 6374 7572 657d 0a54 6865 tikzpicture}.The │ │ │ │ │ +000037f0: 2072 656d 6169 6e69 6e67 2065 7861 6d70 remaining examp │ │ │ │ │ +00003800: 6c65 7320 6f66 2074 6869 7320 6d61 6e75 les of this manu │ │ │ │ │ +00003810: 616c 2061 7265 2069 6e20 5053 5472 6963 al are in PSTric │ │ │ │ │ +00003820: 6b73 2073 7479 6c65 2e0a 0a1f 0a46 696c ks style.....Fil │ │ │ │ │ +00003830: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +00003840: 204e 6f64 653a 2044 7261 7769 6e67 2061 Node: Drawing a │ │ │ │ │ +00003850: 2073 6f6c 6964 2c20 204e 6578 743a 2053 solid, Next: S │ │ │ │ │ +00003860: 7065 6369 616c 206f 626a 6563 7473 2c20 pecial objects, │ │ │ │ │ +00003870: 2050 7265 763a 2044 7261 7769 6e67 206f Prev: Drawing o │ │ │ │ │ +00003880: 7074 696f 6e73 2c20 2055 703a 2049 6e74 ptions, Up: Int │ │ │ │ │ +00003890: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa │ │ │ │ │ +000038a0: 6d70 6c65 0a0a 322e 3320 4472 6177 696e mple..2.3 Drawin │ │ │ │ │ +000038b0: 6720 6120 736f 6c69 640a 3d3d 3d3d 3d3d g a solid.====== │ │ │ │ │ +000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4c =============..L │ │ │ │ │ +000038d0: 6574 2773 2074 7279 2073 6f6d 6574 6869 et's try somethi │ │ │ │ │ +000038e0: 6e67 206d 6f72 6520 6578 6369 7469 6e67 ng more exciting │ │ │ │ │ +000038f0: 2e20 20e2 8098 536b 6574 6368 e280 9920 . ...Sketch... │ │ │ │ │ +00003900: 6861 7320 6e6f 206e 6f74 696f 6e20 6f66 has no notion of │ │ │ │ │ +00003910: 2061 2073 6f6c 6964 2c0a 6275 7420 706f a solid,.but po │ │ │ │ │ +00003920: 6c79 676f 6e61 6c20 e280 9c66 6163 6573 lygonal ...faces │ │ │ │ │ +00003930: e280 9d20 6361 6e20 6265 2075 7365 6420 ... can be used │ │ │ │ │ +00003940: 746f 2072 6570 7265 7365 6e74 2074 6865 to represent the │ │ │ │ │ +00003950: 2062 6f75 6e64 6172 7920 6f66 2061 2073 boundary of a s │ │ │ │ │ +00003960: 6f6c 6964 2e0a 546f 2074 6865 2070 7265 olid..To the pre │ │ │ │ │ +00003970: 7669 6f75 7320 6578 616d 706c 652c 206c vious example, l │ │ │ │ │ +00003980: 6574 2773 2061 6464 2074 6872 6565 206d et's add three m │ │ │ │ │ +00003990: 6f72 6520 7472 6961 6e67 756c 6172 2070 ore triangular p │ │ │ │ │ +000039a0: 6f6c 7967 6f6e 7320 746f 0a6d 616b 6520 olygons to.make │ │ │ │ │ +000039b0: 7468 6520 6661 6365 7320 6f66 2061 6e20 the faces of an │ │ │ │ │ +000039c0: 6972 7265 6775 6c61 7220 7465 7472 6168 irregular tetrah │ │ │ │ │ +000039d0: 6564 726f 6e2e 0a20 2025 2076 6572 7469 edron.. % verti │ │ │ │ │ +000039e0: 6365 7320 6f66 2074 6865 2074 6574 7261 ces of the tetra │ │ │ │ │ +000039f0: 6865 6472 6f6e 0a20 2064 6566 2070 3120 hedron. def p1 │ │ │ │ │ +00003a00: 2830 2c30 2c31 2920 6465 6620 7032 2028 (0,0,1) def p2 ( │ │ │ │ │ +00003a10: 312c 302c 3029 0a20 2064 6566 2070 3320 1,0,0). def p3 │ │ │ │ │ +00003a20: 2830 2c31 2c30 2920 6465 6620 7034 2028 (0,1,0) def p4 ( │ │ │ │ │ +00003a30: 2d2e 332c 2d2e 352c 2d2e 3829 0a0a 2020 -.3,-.5,-.8).. │ │ │ │ │ +00003a40: 2520 6661 6365 7320 6f66 2074 6865 2074 % faces of the t │ │ │ │ │ +00003a50: 6574 7261 6865 6472 6f6e 2e0a 2020 706f etrahedron.. po │ │ │ │ │ +00003a60: 6c79 676f 6e28 7031 2928 7032 2928 7033 lygon(p1)(p2)(p3 │ │ │ │ │ +00003a70: 2920 2520 6f72 6967 696e 616c 2066 726f ) % original fro │ │ │ │ │ +00003a80: 6e74 2070 6f6c 7967 6f6e 0a20 2070 6f6c nt polygon. pol │ │ │ │ │ +00003a90: 7967 6f6e 2870 3129 2870 3429 2870 3229 ygon(p1)(p4)(p2) │ │ │ │ │ +00003aa0: 2025 2062 6f74 746f 6d0a 2020 706f 6c79 % bottom. poly │ │ │ │ │ +00003ab0: 676f 6e28 7031 2928 7033 2928 7034 2920 gon(p1)(p3)(p4) │ │ │ │ │ +00003ac0: 2520 6c65 6674 0a20 2070 6f6c 7967 6f6e % left. polygon │ │ │ │ │ +00003ad0: 2870 3329 2870 3229 2870 3429 2025 2072 (p3)(p2)(p4) % r │ │ │ │ │ +00003ae0: 6561 720a 0a20 2025 206c 696e 6520 746f ear.. % line to │ │ │ │ │ +00003af0: 2070 6965 7263 6520 7468 6520 7465 7472 pierce the tetr │ │ │ │ │ +00003b00: 6168 6564 726f 6e0a 2020 6c69 6e65 5b6c ahedron. line[l │ │ │ │ │ +00003b10: 696e 6563 6f6c 6f72 3d72 6564 5d28 2d31 inecolor=red](-1 │ │ │ │ │ +00003b20: 2c2d 312c 2d31 2928 322c 322c 3229 0a54 ,-1,-1)(2,2,2).T │ │ │ │ │ +00003b30: 6869 7320 6578 616d 706c 6520 7573 6573 his example uses │ │ │ │ │ +00003b40: 20e2 809c 6465 6669 6e69 7469 6f6e 73e2 ...definitions. │ │ │ │ │ +00003b50: 809d 2c20 7768 6963 6820 6265 6769 6e20 .., which begin │ │ │ │ │ +00003b60: 7769 7468 20e2 8098 6465 66e2 8099 2e20 with ...def.... │ │ │ │ │ +00003b70: 2054 6865 7365 20e2 809c 6465 6669 6e65 These ...define │ │ │ │ │ +00003b80: e280 9d0a 6f72 2067 6976 6520 6e61 6d65 ....or give name │ │ │ │ │ +00003b90: 7320 746f 2070 6f69 6e74 732c 2077 6869 s to points, whi │ │ │ │ │ +00003ba0: 6368 2061 7265 2074 6865 6e20 6176 6169 ch are then avai │ │ │ │ │ +00003bb0: 6c61 626c 6520 6173 20e2 809c 7265 6665 lable as ...refe │ │ │ │ │ +00003bc0: 7265 6e63 6573 e280 9d20 6279 0a65 6e63 rences... by.enc │ │ │ │ │ +00003bd0: 6c6f 7369 6e67 2074 6865 206e 616d 6573 losing the names │ │ │ │ │ +00003be0: 2069 6e20 7061 7265 6e74 6865 7365 732c in parentheses, │ │ │ │ │ +00003bf0: 2065 2e67 2e20 2866 6f6f 292e 2020 5468 e.g. (foo). Th │ │ │ │ │ +00003c00: 6520 7061 7265 6e74 6865 7365 7320 6465 e parentheses de │ │ │ │ │ +00003c10: 6e6f 7465 0a74 6861 7420 7468 6520 6e61 note.that the na │ │ │ │ │ +00003c20: 6d65 7320 7265 6665 7220 746f 2070 6f69 mes refer to poi │ │ │ │ │ +00003c30: 6e74 733b 2074 6865 7920 6172 6520 7265 nts; they are re │ │ │ │ │ +00003c40: 7175 6972 6564 2e20 2054 6865 7265 2063 quired. There c │ │ │ │ │ +00003c50: 616e 2062 6520 6e6f 0a77 6869 7465 2073 an be no.white s │ │ │ │ │ +00003c60: 7061 6365 2062 6574 7765 656e 2074 6865 pace between the │ │ │ │ │ +00003c70: 6d20 616e 6420 7468 6520 6e61 6d65 2e0a m and the name.. │ │ │ │ │ +00003c80: 0a20 2020 4173 2079 6f75 2063 616e 2073 . As you can s │ │ │ │ │ +00003c90: 6565 2c20 636f 6d6d 656e 7473 2073 7461 ee, comments sta │ │ │ │ │ +00003ca0: 7274 2077 6974 6820 2520 6173 2069 6e20 rt with % as in │ │ │ │ │ +00003cb0: 5465 5820 616e 6420 6578 7465 6e64 2074 TeX and extend t │ │ │ │ │ +00003cc0: 6f20 7468 6520 656e 640a 6f66 2074 6865 o the end.of the │ │ │ │ │ +00003cd0: 206c 696e 6520 2874 686f 7567 6820 2320 line (though # │ │ │ │ │ +00003ce0: 7769 6c6c 2077 6f72 6b20 6173 2077 656c will work as wel │ │ │ │ │ +00003cf0: 6c29 2e20 2057 6869 7465 2073 7061 6365 l). White space │ │ │ │ │ +00003d00: 2c20 696e 636c 7564 696e 670a 7370 6163 , including.spac │ │ │ │ │ +00003d10: 6573 2c20 7461 6273 2061 6e64 2062 6c61 es, tabs and bla │ │ │ │ │ +00003d20: 6e6b 206c 696e 6573 2c20 6861 7320 6e6f nk lines, has no │ │ │ │ │ +00003d30: 2065 6666 6563 7420 696e 2074 6865 20e2 effect in the . │ │ │ │ │ +00003d40: 8098 736b 6574 6368 e280 9920 6c61 6e67 ..sketch... lang │ │ │ │ │ +00003d50: 7561 6765 2e0a 0a00 085b 696d 6167 6520 uage.....[image │ │ │ │ │ +00003d60: 7372 633d 2265 7830 3430 2e70 6e67 2220 src="ex040.png" │ │ │ │ │ +00003d70: 7465 7874 3d22 496d 6167 6520 6578 3034 text="Image ex04 │ │ │ │ │ +00003d80: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex │ │ │ │ │ +00003d90: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi │ │ │ │ │ +00003da0: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document."..]. │ │ │ │ │ +00003db0: 0a49 6620 7765 206c 6f6f 6b20 696e 7369 .If we look insi │ │ │ │ │ +00003dc0: 6465 2074 6865 2054 6558 2066 696c 6520 de the TeX file │ │ │ │ │ +00003dd0: 7072 6f64 7563 6564 2062 7920 e280 9873 produced by ...s │ │ │ │ │ +00003de0: 6b65 7463 68e2 8099 2c20 7468 6572 6520 ketch..., there │ │ │ │ │ +00003df0: 7769 6c6c 2062 6520 6f6e 6c79 0a74 6872 will be only.thr │ │ │ │ │ +00003e00: 6565 2070 6f6c 7967 6f6e 732e 2020 5468 ee polygons. Th │ │ │ │ │ +00003e10: 6520 666f 7572 7468 2068 6173 2062 6565 e fourth has bee │ │ │ │ │ +00003e20: 6e20 6375 6c6c 6564 2062 6563 6175 7365 n culled because │ │ │ │ │ +00003e30: 2069 7420 6973 2061 2022 6261 636b 2066 it is a "back f │ │ │ │ │ +00003e40: 6163 6522 0a6f 6620 7468 6520 7465 7472 ace".of the tetr │ │ │ │ │ +00003e50: 6168 6564 726f 6e2c 2069 6e76 6973 6962 ahedron, invisib │ │ │ │ │ +00003e60: 6c65 2074 6f20 6f75 7220 7669 6577 2e20 le to our view. │ │ │ │ │ +00003e70: 2049 7420 6973 2075 6e6e 6563 6573 7361 It is unnecessa │ │ │ │ │ +00003e80: 7279 2c20 616e 6420 736f 2069 740a 6973 ry, and so it.is │ │ │ │ │ +00003e90: 2072 656d 6f76 6564 2e0a 0a20 2020 496e removed... In │ │ │ │ │ +00003ea0: 2073 6f6d 6520 6472 6177 696e 6773 2c20 some drawings, │ │ │ │ │ +00003eb0: 706f 6c79 676f 6e73 2061 6374 2061 7320 polygons act as │ │ │ │ │ +00003ec0: 7a65 726f 2d74 6869 636b 6e65 7373 2073 zero-thickness s │ │ │ │ │ +00003ed0: 6f6c 6964 2073 7572 6661 6365 7320 7769 olid surfaces wi │ │ │ │ │ +00003ee0: 7468 0a62 6f74 6820 7369 6465 7320 7669 th.both sides vi │ │ │ │ │ +00003ef0: 7369 626c 6520 7261 7468 6572 2074 6861 sible rather tha │ │ │ │ │ +00003f00: 6e20 6173 2074 6865 2066 6163 6573 206f n as the faces o │ │ │ │ │ +00003f10: 6620 736f 6c69 6420 6f62 6a65 6374 732c f solid objects, │ │ │ │ │ +00003f20: 2077 6865 7265 2062 6163 6b0a 6661 6365 where back.face │ │ │ │ │ +00003f30: 7320 6361 6e20 6265 2063 756c 6c65 642e s can be culled. │ │ │ │ │ +00003f40: 2020 466f 7220 7a65 726f 2d74 6869 636b For zero-thick │ │ │ │ │ +00003f50: 6e65 7373 2073 6f6c 6964 732c 2063 756c ness solids, cul │ │ │ │ │ +00003f60: 6c69 6e67 2069 7320 6120 7072 6f62 6c65 ling is a proble │ │ │ │ │ +00003f70: 6d2e 0a4f 6e65 2073 6f6c 7574 696f 6e20 m..One solution │ │ │ │ │ +00003f80: 6973 2074 6f20 7573 6520 6120 7061 6972 is to use a pair │ │ │ │ │ +00003f90: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ +00003fa0: 2070 6f6c 7967 6f6e 7320 666f 7220 6561 polygons for ea │ │ │ │ │ +00003fb0: 6368 0a7a 6572 6f2d 7468 6963 6b6e 6573 ch.zero-thicknes │ │ │ │ │ +00003fc0: 7320 6661 6365 2c20 6964 656e 7469 6361 s face, identica │ │ │ │ │ +00003fd0: 6c20 6578 6365 7074 2077 6974 6820 6f70 l except with op │ │ │ │ │ +00003fe0: 706f 7369 7465 2076 6572 7465 7820 6f72 posite vertex or │ │ │ │ │ +00003ff0: 6465 7273 2e20 2054 6869 730a 6973 2075 ders. This.is u │ │ │ │ │ +00004000: 6e77 6965 6c64 7920 616e 6420 6578 7065 nwieldy and expe │ │ │ │ │ +00004010: 6e73 6976 652e 2020 4120 6265 7474 6572 nsive. A better │ │ │ │ │ +00004020: 2077 6179 2069 7320 746f 2073 6574 2074 way is to set t │ │ │ │ │ +00004030: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... │ │ │ │ │ +00004040: 696e 7465 726e 616c 0a6f 7074 696f 6e20 internal.option │ │ │ │ │ +00004050: e280 9863 756c 6ce2 8099 2074 6f20 e280 ...cull... to .. │ │ │ │ │ +00004060: 9866 616c 7365 e280 9920 696e 2074 6865 .false... in the │ │ │ │ │ +00004070: 2075 7375 616c 20e2 8098 5053 5472 6963 usual ...PSTric │ │ │ │ │ +00004080: 6b73 e280 9920 6d61 6e6e 6572 2e0a 2020 ks... manner.. │ │ │ │ │ +00004090: 706f 6c79 676f 6e5b 6375 6c6c 3d66 616c polygon[cull=fal │ │ │ │ │ +000040a0: 7365 5d28 7031 2928 7032 2928 7033 290a se](p1)(p2)(p3). │ │ │ │ │ +000040b0: 5468 6520 666f 6c6c 6f77 696e 6720 7368 The following sh │ │ │ │ │ +000040c0: 6f77 7320 7468 6520 7361 6d65 2068 656c ows the same hel │ │ │ │ │ +000040d0: 6978 2073 6861 7065 2064 7261 776e 2066 ix shape drawn f │ │ │ │ │ +000040e0: 6972 7374 2077 6974 6820 6375 6c6c 3d74 irst with cull=t │ │ │ │ │ +000040f0: 7275 6520 2874 6865 0a64 6566 6175 6c74 rue (the.default │ │ │ │ │ +00004100: 2920 616e 6420 7468 656e 2063 756c 6c3d ) and then cull= │ │ │ │ │ +00004110: 6661 6c73 652e 0a0a 0008 5b69 6d61 6765 false.....[image │ │ │ │ │ +00004120: 2073 7263 3d22 6578 3034 352e 706e 6722 src="ex045.png" │ │ │ │ │ +00004130: 2074 6578 743d 2249 6d61 6765 2065 7830 text="Image ex0 │ │ │ │ │ +00004140: 3435 206f 6d69 7474 6564 2069 6e20 7465 45 omitted in te │ │ │ │ │ +00004150: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ +00004160: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ +00004170: 0a0a 5765 276c 6c20 736f 6f6e 2073 6565 ..We'll soon see │ │ │ │ │ +00004180: 2068 6f77 2074 6f20 7072 6f64 7563 6520 how to produce │ │ │ │ │ +00004190: 7468 6573 6520 6865 6c69 7865 7320 7769 these helixes wi │ │ │ │ │ +000041a0: 7468 2061 2066 6577 206c 696e 6573 206f th a few lines o │ │ │ │ │ +000041b0: 6620 e280 9873 6b65 7463 68e2 8099 0a6c f ...sketch....l │ │ │ │ │ +000041c0: 616e 6775 6167 6520 636f 6465 2e0a 0a20 anguage code... │ │ │ │ │ +000041d0: 2020 4974 206d 6179 2062 6520 7465 6d70 It may be temp │ │ │ │ │ +000041e0: 7469 6e67 2074 6f20 7475 726e 2063 756c ting to turn cul │ │ │ │ │ +000041f0: 6c69 6e67 206f 6666 2067 7261 7475 6974 ling off gratuit │ │ │ │ │ +00004200: 6f75 736c 7920 736f 2074 6861 7420 7665 ously so that ve │ │ │ │ │ +00004210: 7274 6578 0a6f 7264 6572 2063 616e 2062 rtex.order can b │ │ │ │ │ +00004220: 6520 6967 6e6f 7265 642e 2020 5468 6973 e ignored. This │ │ │ │ │ +00004230: 2069 7320 6e6f 7420 6120 676f 6f64 2069 is not a good i │ │ │ │ │ +00004240: 6465 6120 6265 6361 7573 6520 6f75 7470 dea because outp │ │ │ │ │ +00004250: 7574 2066 696c 6520 7369 7a65 0a61 6e64 ut file size.and │ │ │ │ │ +00004260: 2054 6558 2061 6e64 2050 6f73 7473 6372 TeX and Postscr │ │ │ │ │ +00004270: 6970 7420 7072 6f63 6573 7369 6e67 2074 ipt processing t │ │ │ │ │ +00004280: 696d 6520 626f 7468 2064 6570 656e 6420 ime both depend │ │ │ │ │ +00004290: 6f6e 2074 6865 206e 756d 6265 7220 6f66 on the number of │ │ │ │ │ +000042a0: 0a6f 7574 7075 7420 706f 6c79 676f 6e73 .output polygons │ │ │ │ │ +000042b0: 2e20 2043 756c 6c69 6e67 2075 7375 616c . Culling usual │ │ │ │ │ +000042c0: 6c79 2069 6d70 726f 7665 7320 7065 7266 ly improves perf │ │ │ │ │ +000042d0: 6f72 6d61 6e63 6520 6279 2061 2066 6163 ormance by a fac │ │ │ │ │ +000042e0: 746f 7220 6f66 0a74 776f 2e20 204f 6e20 tor of.two. On │ │ │ │ │ +000042f0: 7468 6520 6f74 6865 7220 6861 6e64 2c20 the other hand, │ │ │ │ │ +00004300: 676c 6f62 616c 6c79 2073 6574 7469 6e67 globally setting │ │ │ │ │ +00004310: 20e2 8098 6375 6c6c 3d66 616c 7365 e280 ...cull=false.. │ │ │ │ │ +00004320: 9920 6973 2072 6561 736f 6e61 626c 650a . is reasonable. │ │ │ │ │ +00004330: 7768 696c 6520 6465 6275 6767 696e 672e while debugging. │ │ │ │ │ +00004340: 2020 5365 6520 2a6e 6f74 6520 476c 6f62 See *note Glob │ │ │ │ │ +00004350: 616c 206f 7074 696f 6e73 3a3a 2061 6e64 al options:: and │ │ │ │ │ +00004360: 202a 6e6f 7465 204c 696d 6974 7320 6f6e *note Limits on │ │ │ │ │ +00004370: 2065 7272 6f72 0a64 6574 6563 7469 6f6e error.detection │ │ │ │ │ +00004380: 3a3a 2e0a 0a1f 0a46 696c 653a 2073 6b65 ::.....File: ske │ │ │ │ │ +00004390: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +000043a0: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ +000043b0: 2c20 204e 6578 743a 204f 626a 6563 7420 , Next: Object │ │ │ │ │ +000043c0: 7472 616e 7366 6f72 6d73 2c20 2050 7265 transforms, Pre │ │ │ │ │ +000043d0: 763a 2044 7261 7769 6e67 2061 2073 6f6c v: Drawing a sol │ │ │ │ │ +000043e0: 6964 2c20 2055 703a 2049 6e74 726f 6475 id, Up: Introdu │ │ │ │ │ +000043f0: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example │ │ │ │ │ +00004400: 0a0a 322e 3420 5370 6563 6961 6c20 6f62 ..2.4 Special ob │ │ │ │ │ +00004410: 6a65 6374 730a 3d3d 3d3d 3d3d 3d3d 3d3d jects.========== │ │ │ │ │ +00004420: 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 6520 6361 =========..We ca │ │ │ │ │ +00004430: 6e20 6164 6420 6c61 6265 6c73 2074 6f20 n add labels to │ │ │ │ │ +00004440: 6120 6472 6177 696e 6720 6279 2075 7369 a drawing by usi │ │ │ │ │ +00004450: 6e67 2073 7065 6369 616c 206f 626a 6563 ng special objec │ │ │ │ │ +00004460: 7473 2c20 7768 6963 6820 7072 6f76 6964 ts, which provid │ │ │ │ │ +00004470: 6520 610a 7761 7920 746f 2065 6d62 6564 e a.way to embed │ │ │ │ │ +00004480: 2072 6177 204c 6154 6558 2061 6e64 20e2 raw LaTeX and . │ │ │ │ │ +00004490: 8098 5053 5472 6963 6b73 e280 9920 636f ..PSTricks... co │ │ │ │ │ +000044a0: 6465 2e20 2041 6464 696e 6720 7468 6973 de. Adding this │ │ │ │ │ +000044b0: 2074 6f20 7468 650a 7465 7472 6168 6564 to the.tetrahed │ │ │ │ │ +000044c0: 726f 6e20 646f 6573 2074 6865 2074 7269 ron does the tri │ │ │ │ │ +000044d0: 636b 2e0a 2020 7370 6563 6961 6c20 7c5c ck.. special |\ │ │ │ │ │ +000044e0: 666f 6f74 6e6f 7465 7369 7a65 0a20 2020 footnotesize. │ │ │ │ │ +000044f0: 2020 2020 2020 2020 5c75 7075 747b 3270 \uput{2p │ │ │ │ │ +00004500: 747d 5b75 725d 2331 7b24 5031 247d 0a20 t}[ur]#1{$P1$}. │ │ │ │ │ +00004510: 2020 2020 2020 2020 2020 5c75 7075 745b \uput[ │ │ │ │ │ +00004520: 725d 2332 7b24 5032 247d 0a20 2020 2020 r]#2{$P2$}. │ │ │ │ │ +00004530: 2020 2020 2020 5c75 7075 745b 755d 2333 \uput[u]#3 │ │ │ │ │ +00004540: 7b24 5033 247d 0a20 2020 2020 2020 2020 {$P3$}. │ │ │ │ │ +00004550: 2020 5c75 7075 745b 645d 2334 7b24 5034 \uput[d]#4{$P4 │ │ │ │ │ +00004560: 247d 7c0a 2020 2020 2870 3129 2870 3229 $}|. (p1)(p2) │ │ │ │ │ +00004570: 2870 3329 2870 3429 0a48 6572 6520 6973 (p3)(p4).Here is │ │ │ │ │ +00004580: 2074 6865 2072 6573 756c 742e 0a0a 0008 the result..... │ │ │ │ │ +00004590: 5b69 6d61 6765 2073 7263 3d22 6578 3034 [image src="ex04 │ │ │ │ │ +000045a0: 322e 706e 6722 2074 6578 743d 2249 6d61 2.png" text="Ima │ │ │ │ │ +000045b0: 6765 2065 7830 3432 206f 6d69 7474 6564 ge ex042 omitted │ │ │ │ │ +000045c0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ +000045d0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ +000045e0: 742e 2200 085d 0a0a 2020 2054 6865 7265 t."..].. There │ │ │ │ │ +000045f0: 2061 7265 2073 6576 6572 616c 2064 6574 are several det │ │ │ │ │ +00004600: 6169 6c73 2074 6f20 6e6f 7465 2068 6572 ails to note her │ │ │ │ │ +00004610: 652e 2020 4669 7273 742c 2074 6865 2071 e. First, the q │ │ │ │ │ +00004620: 756f 7469 6e67 0a63 6f6e 7665 6e74 696f uoting.conventio │ │ │ │ │ +00004630: 6e20 666f 7220 7468 6520 7261 7720 636f n for the raw co │ │ │ │ │ +00004640: 6465 2069 7320 7369 6d69 6c61 7220 746f de is similar to │ │ │ │ │ +00004650: 2074 6865 204c 6154 6558 205c 7665 7262 the LaTeX \verb │ │ │ │ │ +00004660: 2063 6f6d 6d61 6e64 2e20 2054 6865 0a66 command. The.f │ │ │ │ │ +00004670: 6972 7374 206e 6f6e 2d77 6869 7465 2073 irst non-white s │ │ │ │ │ +00004680: 7061 6365 2063 6861 7261 6374 6572 2066 pace character f │ │ │ │ │ +00004690: 6f6c 6c6f 7769 6e67 2073 7065 6369 616c ollowing special │ │ │ │ │ +000046a0: 2069 7320 756e 6465 7273 746f 6f64 2074 is understood t │ │ │ │ │ +000046b0: 6f20 6265 0a74 6865 2071 756f 7465 2063 o be.the quote c │ │ │ │ │ +000046c0: 6861 7261 6374 6572 2c20 696e 2074 6869 haracter, in thi │ │ │ │ │ +000046d0: 7320 6361 7365 20e2 8098 7ce2 8099 2e20 s case ...|.... │ │ │ │ │ +000046e0: 2054 6865 2072 6177 2074 6578 7420 636f The raw text co │ │ │ │ │ +000046f0: 6e74 696e 7565 7320 756e 7469 6c0a 7468 ntinues until.th │ │ │ │ │ +00004700: 6973 2063 6861 7261 6374 6572 2072 6563 is character rec │ │ │ │ │ +00004710: 7572 732e 0a0a 2020 2053 6563 6f6e 642c urs... Second, │ │ │ │ │ +00004720: 2074 6865 2061 7267 756d 656e 7420 7265 the argument re │ │ │ │ │ +00004730: 6665 7265 6e63 6573 2023 312c 2023 322c ferences #1, #2, │ │ │ │ │ +00004740: 2023 332c 2061 6e64 2023 3420 7265 6665 #3, and #4 refe │ │ │ │ │ +00004750: 7220 746f 2070 6f69 6e74 2c0a 7665 6374 r to point,.vect │ │ │ │ │ +00004760: 6f72 2c20 6f72 2073 6361 6c61 7220 7661 or, or scalar va │ │ │ │ │ +00004770: 6c75 6573 2069 6e20 7468 6520 6c69 7374 lues in the list │ │ │ │ │ +00004780: 2074 6861 7420 666f 6c6c 6f77 2e20 2054 that follow. T │ │ │ │ │ +00004790: 6869 7320 6973 2073 696d 696c 6172 2074 his is similar t │ │ │ │ │ +000047a0: 6f0a 5465 5820 6d61 6372 6f20 7379 6e74 o.TeX macro synt │ │ │ │ │ +000047b0: 6178 2e20 2054 6865 2074 7261 6e73 666f ax. The transfo │ │ │ │ │ +000047c0: 726d 6564 2061 6e64 2074 776f 2d64 696d rmed and two-dim │ │ │ │ │ +000047d0: 656e 7369 6f6e 616c 2070 726f 6a65 6374 ensional project │ │ │ │ │ +000047e0: 696f 6e73 206f 660a 7468 6573 6520 7468 ions of.these th │ │ │ │ │ +000047f0: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional │ │ │ │ │ +00004800: 706f 696e 7473 2061 7265 2073 7562 7374 points are subst │ │ │ │ │ +00004810: 6974 7574 6564 2069 6e20 7468 6520 6669 ituted in the fi │ │ │ │ │ +00004820: 6e61 6c20 6f75 7470 7574 2e20 2041 6e0a nal output. An. │ │ │ │ │ +00004830: 6172 6775 6d65 6e74 2072 6566 6572 656e argument referen │ │ │ │ │ +00004840: 6365 206f 6620 7468 6520 666f 726d 2023 ce of the form # │ │ │ │ │ +00004850: 312d 3220 6973 2072 6570 6c61 6365 6420 1-2 is replaced │ │ │ │ │ +00004860: 7769 7468 2074 6865 2061 6e67 6c65 2069 with the angle i │ │ │ │ │ +00004870: 6e0a 6465 6772 6565 7320 6f66 2074 6865 n.degrees of the │ │ │ │ │ +00004880: 2074 776f 2d64 696d 656e 7369 6f6e 616c two-dimensional │ │ │ │ │ +00004890: 2076 6563 746f 7220 7468 6174 2063 6f6e vector that con │ │ │ │ │ +000048a0: 6e65 6374 7320 7468 6520 7072 6f6a 6563 nects the projec │ │ │ │ │ +000048b0: 7469 6f6e 7320 6f66 0a74 6865 2074 776f tions of.the two │ │ │ │ │ +000048c0: 2072 6573 7065 6374 6976 6520 6172 6775 respective argu │ │ │ │ │ +000048d0: 6d65 6e74 2070 6f69 6e74 732c 2068 6572 ment points, her │ │ │ │ │ +000048e0: 6520 2331 2061 6e64 2023 322e 2020 5468 e #1 and #2. Th │ │ │ │ │ +000048f0: 6520 7375 6273 7469 7475 7465 640a 616e e substituted.an │ │ │ │ │ +00004900: 676c 6520 6973 2065 6e63 6c6f 7365 6420 gle is enclosed │ │ │ │ │ +00004910: 696e 2063 7572 6c79 2062 7261 6365 7320 in curly braces │ │ │ │ │ +00004920: e280 987b 207d e280 992e 2020 5768 656e ...{ }.... When │ │ │ │ │ +00004930: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... │ │ │ │ │ +00004940: 6f75 7470 7574 2069 730a 6265 696e 6720 output is.being │ │ │ │ │ +00004950: 6765 6e65 7261 7465 642c 2074 6865 2061 generated, the a │ │ │ │ │ +00004960: 6e67 6c65 2069 7320 726f 756e 6465 6420 ngle is rounded │ │ │ │ │ +00004970: 746f 2074 6865 206e 6561 7265 7374 2064 to the nearest d │ │ │ │ │ +00004980: 6567 7265 6520 6265 6361 7573 650a 6e6f egree because.no │ │ │ │ │ +00004990: 6e2d 696e 7465 6765 7220 616e 676c 6573 n-integer angles │ │ │ │ │ +000049a0: 2061 7265 206e 6f74 2061 6c6c 6f77 6564 are not allowed │ │ │ │ │ +000049b0: 2062 7920 e280 9854 696b 5a2f 5047 46e2 by ...TikZ/PGF. │ │ │ │ │ +000049c0: 8099 2070 7269 6d69 7469 7665 732e 0a0a .. primitives... │ │ │ │ │ +000049d0: 2020 2041 7320 6f66 2056 6572 7369 6f6e As of Version │ │ │ │ │ +000049e0: 2030 2e33 206f 6620 e280 9873 6b65 7463 0.3 of ...sketc │ │ │ │ │ +000049f0: 68e2 8099 2c20 7370 6563 6961 6c20 6172 h..., special ar │ │ │ │ │ +00004a00: 6775 6d65 6e74 7320 6d61 7920 6265 2073 guments may be s │ │ │ │ │ +00004a10: 6361 6c61 7273 206f 720a 7665 6374 6f72 calars or.vector │ │ │ │ │ +00004a20: 7320 696e 2061 6464 6974 696f 6e20 746f s in addition to │ │ │ │ │ +00004a30: 2070 6f69 6e74 732e 2020 5265 6665 7265 points. Refere │ │ │ │ │ +00004a40: 6e63 6573 2074 6f20 7363 616c 6172 2061 nces to scalar a │ │ │ │ │ +00004a50: 7267 756d 656e 7473 2061 7265 0a6d 6572 rguments are.mer │ │ │ │ │ +00004a60: 656c 7920 7265 706c 6163 6564 2077 6974 ely replaced wit │ │ │ │ │ +00004a70: 6820 6120 6e75 6d62 6572 2066 6f72 6d61 h a number forma │ │ │ │ │ +00004a80: 7474 6564 206a 7573 7420 6173 2061 6e79 tted just as any │ │ │ │ │ +00004a90: 2070 6f69 6e74 2063 6f6f 7264 696e 6174 point coordinat │ │ │ │ │ +00004aa0: 652e 0a52 6566 6572 656e 6365 7320 746f e..References to │ │ │ │ │ +00004ab0: 2076 6563 746f 7273 2062 6563 6f6d 6520 vectors become │ │ │ │ │ +00004ac0: 7477 6f2d 6469 6d65 6e73 696f 6e61 6c20 two-dimensional │ │ │ │ │ +00004ad0: 706f 696e 7473 2e20 2054 6865 2074 6963 points. The tic │ │ │ │ │ +00004ae0: 6b20 6f70 6572 6174 6f72 0a74 6861 7420 k operator.that │ │ │ │ │ +00004af0: 7365 6c65 6374 7320 696e 6469 7669 6475 selects individu │ │ │ │ │ +00004b00: 616c 2063 6f6d 706f 6e65 6e74 7320 6f66 al components of │ │ │ │ │ +00004b10: 2070 6f69 6e74 7320 616e 6420 7665 6374 points and vect │ │ │ │ │ +00004b20: 6f72 7320 656c 7365 7768 6572 6520 696e ors elsewhere in │ │ │ │ │ +00004b30: 0ae2 8098 736b 6574 6368 e280 9920 2873 ....sketch... (s │ │ │ │ │ +00004b40: 6565 2066 6f72 2065 7861 6d70 6c65 202a ee for example * │ │ │ │ │ +00004b50: 6e6f 7465 2041 6666 696e 6520 6172 6974 note Affine arit │ │ │ │ │ +00004b60: 686d 6574 6963 3a3a 2920 6361 6e20 616c hmetic::) can al │ │ │ │ │ +00004b70: 736f 2062 6520 6170 706c 6965 640a 746f so be applied.to │ │ │ │ │ +00004b80: 2070 6f69 6e74 2061 6e64 2076 6563 746f point and vecto │ │ │ │ │ +00004b90: 7220 6172 6775 6d65 6e74 2072 6566 6572 r argument refer │ │ │ │ │ +00004ba0: 656e 6365 732e 2020 416c 6c20 7468 7265 ences. All thre │ │ │ │ │ +00004bb0: 6520 6469 6d65 6e73 696f 6e73 206f 6620 e dimensions of │ │ │ │ │ +00004bc0: 610a 7472 616e 7366 6f72 6d65 6420 706f a.transformed po │ │ │ │ │ +00004bd0: 696e 7420 6f72 2076 6563 746f 7220 6361 int or vector ca │ │ │ │ │ +00004be0: 6e20 616c 736f 2062 6520 7375 6273 7469 n also be substi │ │ │ │ │ +00004bf0: 7475 6564 2077 6974 6820 e280 9827 33e2 tued with ...'3. │ │ │ │ │ +00004c00: 8099 2e20 2053 6565 202a 6e6f 7465 0a53 ... See *note.S │ │ │ │ │ +00004c10: 7065 6369 616c 733a 3a20 666f 7220 6465 pecials:: for de │ │ │ │ │ +00004c20: 7461 696c 732e 0a0a 2020 2042 7920 6465 tails... By de │ │ │ │ │ +00004c30: 6661 756c 742c 20e2 8098 7370 6563 6961 fault, ...specia │ │ │ │ │ +00004c40: 6ce2 8099 206f 626a 6563 7473 2061 7265 l... objects are │ │ │ │ │ +00004c50: 2070 7269 6e74 6564 206c 6173 742c 206f printed last, o │ │ │ │ │ +00004c60: 7665 726c 6179 696e 6720 616c 6c20 6f74 verlaying all ot │ │ │ │ │ +00004c70: 6865 720a 6f62 6a65 6374 7320 696e 2074 her.objects in t │ │ │ │ │ +00004c80: 6865 2073 6365 6e65 2e20 2049 6620 796f he scene. If yo │ │ │ │ │ +00004c90: 7520 7370 6563 6966 7920 7468 6520 696e u specify the in │ │ │ │ │ +00004ca0: 7465 726e 616c 206f 7074 696f 6e20 e280 ternal option .. │ │ │ │ │ +00004cb0: 986c 6179 3d69 6ee2 8099 2c20 7468 650a .lay=in..., the. │ │ │ │ │ +00004cc0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ +00004cd0: 6c67 6f72 6974 686d 2063 6f6e 7369 6465 lgorithm conside │ │ │ │ │ +00004ce0: 7273 2074 6865 2065 6e74 6972 6520 7370 rs the entire sp │ │ │ │ │ +00004cf0: 6563 6961 6c20 6f62 6a65 6374 2074 6f20 ecial object to │ │ │ │ │ +00004d00: 6265 2074 6865 0a66 6972 7374 2070 6f69 be the.first poi │ │ │ │ │ +00004d10: 6e74 2028 2331 2920 696e 2074 6865 2061 nt (#1) in the a │ │ │ │ │ +00004d20: 7267 756d 656e 7420 6c69 7374 2e20 2049 rgument list. I │ │ │ │ │ +00004d30: 6620 7468 6174 2070 6f69 6e74 2069 7320 f that point is │ │ │ │ │ +00004d40: 6265 6869 6e64 2028 6f66 0a73 6d61 6c6c behind (of.small │ │ │ │ │ +00004d50: 6572 207a 2d63 6f6d 706f 6e65 6e74 2074 er z-component t │ │ │ │ │ +00004d60: 6861 6e29 2061 6e79 2064 7261 7761 626c han) any drawabl │ │ │ │ │ +00004d70: 652c 2074 6865 6e20 7468 6520 656e 7469 e, then the enti │ │ │ │ │ +00004d80: 7265 2073 7065 6369 616c 206f 626a 6563 re special objec │ │ │ │ │ +00004d90: 740a 6973 2064 7261 776e 2062 6566 6f72 t.is drawn befor │ │ │ │ │ +00004da0: 6520 7468 6174 2064 7261 7761 626c 652c e that drawable, │ │ │ │ │ +00004db0: 2073 6f20 7468 6520 6472 6177 6162 6c65 so the drawable │ │ │ │ │ +00004dc0: 206f 6273 6375 7265 7320 7061 7274 7320 obscures parts │ │ │ │ │ +00004dd0: 6f66 2074 6865 0a73 7065 6369 616c 206f of the.special o │ │ │ │ │ +00004de0: 626a 6563 7420 7468 6174 206f 7665 726c bject that overl │ │ │ │ │ +00004df0: 6170 7320 6974 2e20 2049 6e20 6f75 7220 aps it. In our │ │ │ │ │ +00004e00: 6578 616d 706c 652c 2070 3120 6973 2074 example, p1 is t │ │ │ │ │ +00004e10: 6865 2066 726f 6e74 2d6d 6f73 740a 706f he front-most.po │ │ │ │ │ +00004e20: 696e 7420 696e 2074 6865 2073 6365 6e65 int in the scene │ │ │ │ │ +00004e30: 2028 6861 7320 7468 6520 6c61 7267 6573 (has the larges │ │ │ │ │ +00004e40: 7420 7a2d 636f 6d70 6f6e 656e 7429 2c20 t z-component), │ │ │ │ │ +00004e50: 736f 2061 6464 696e 6720 e280 986c 6179 so adding ...lay │ │ │ │ │ +00004e60: 3d69 6ee2 8099 2068 6173 0a6e 6f20 6566 =in... has.no ef │ │ │ │ │ +00004e70: 6665 6374 2e0a 0a20 2020 5769 7468 206f fect... With o │ │ │ │ │ +00004e80: 7074 696f 6e20 e280 986c 6179 3d75 6e64 ption ...lay=und │ │ │ │ │ +00004e90: 6572 e280 992c 2061 2073 7065 6369 616c er..., a special │ │ │ │ │ +00004ea0: 2069 7320 6472 6177 6e20 5f62 6566 6f72 is drawn _befor │ │ │ │ │ +00004eb0: 655f 2c20 6865 6e63 6520 6170 7065 6172 e_, hence appear │ │ │ │ │ +00004ec0: 730a 5f75 6e64 6572 5f20 616e 7920 6f66 s._under_ any of │ │ │ │ │ +00004ed0: 2074 6865 206f 626a 6563 7473 2068 616e the objects han │ │ │ │ │ +00004ee0: 646c 6564 2062 7920 7468 6520 6869 6464 dled by the hidd │ │ │ │ │ +00004ef0: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor │ │ │ │ │ +00004f00: 6974 686d 2e0a 5468 6973 2069 7320 686f ithm..This is ho │ │ │ │ │ +00004f10: 7720 7468 6520 6c69 6768 7420 6772 6179 w the light gray │ │ │ │ │ +00004f20: 2061 7865 7320 7765 7265 2061 6464 6564 axes were added │ │ │ │ │ +00004f30: 2074 6f20 7468 6520 2268 656c 6c6f 2077 to the "hello w │ │ │ │ │ +00004f40: 6f72 6c64 2220 6578 616d 706c 650a 2a6e orld" example.*n │ │ │ │ │ +00004f50: 6f74 6520 4865 6c6c 6f20 776f 726c 643a ote Hello world: │ │ │ │ │ +00004f60: 3a2e 0a0a 2020 2053 7065 6369 616c 206f :... Special o │ │ │ │ │ +00004f70: 626a 6563 7473 2061 7265 2070 6f77 6572 bjects are power │ │ │ │ │ +00004f80: 6675 6c2c 2077 6974 6820 6d61 6e79 2070 ful, with many p │ │ │ │ │ +00004f90: 6f73 7369 626c 6520 7573 6573 2e0a 0a1f ossible uses.... │ │ │ │ │ +00004fa0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00004fb0: 666f 2c20 204e 6f64 653a 204f 626a 6563 fo, Node: Objec │ │ │ │ │ +00004fc0: 7420 7472 616e 7366 6f72 6d73 2c20 204e t transforms, N │ │ │ │ │ +00004fd0: 6578 743a 2052 6570 6561 7465 6420 6f62 ext: Repeated ob │ │ │ │ │ +00004fe0: 6a65 6374 732c 2020 5072 6576 3a20 5370 jects, Prev: Sp │ │ │ │ │ +00004ff0: 6563 6961 6c20 6f62 6a65 6374 732c 2020 ecial objects, │ │ │ │ │ +00005000: 5570 3a20 496e 7472 6f64 7563 7469 6f6e Up: Introduction │ │ │ │ │ +00005010: 2062 7920 6578 616d 706c 650a 0a32 2e35 by example..2.5 │ │ │ │ │ +00005020: 2054 7261 6e73 666f 726d 730a 3d3d 3d3d Transforms.==== │ │ │ │ │ +00005030: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4e6f 7720 ==========..Now │ │ │ │ │ +00005040: 6c65 7427 7320 6164 6420 6120 7365 636f let's add a seco │ │ │ │ │ +00005050: 6e64 2063 6f70 7920 6f66 2074 6865 2070 nd copy of the p │ │ │ │ │ +00005060: 6965 7263 6564 2074 6574 7261 6865 6472 ierced tetrahedr │ │ │ │ │ +00005070: 6f6e 2e20 2057 6527 6c6c 2072 6f74 6174 on. We'll rotat │ │ │ │ │ +00005080: 650a 7468 6520 636f 7079 2039 3020 6465 e.the copy 90 de │ │ │ │ │ +00005090: 6772 6565 7320 6162 6f75 7420 7468 6520 grees about the │ │ │ │ │ +000050a0: 782d 6178 6973 2077 6974 6820 7468 6520 x-axis with the │ │ │ │ │ +000050b0: 6f72 6967 696e 2061 7320 e280 9c63 656e origin as ...cen │ │ │ │ │ +000050c0: 7465 7220 6f66 0a72 6f74 6174 696f 6ee2 ter of.rotation. │ │ │ │ │ +000050d0: 809d 2073 6f20 7765 2063 616e 2073 6565 .. so we can see │ │ │ │ │ +000050e0: 2074 6865 2062 6163 6b2c 2074 6865 6e20 the back, then │ │ │ │ │ +000050f0: 7472 616e 736c 6174 6520 6974 2074 6f20 translate it to │ │ │ │ │ +00005100: 7468 6520 7269 6768 742d 2d69 6e20 7468 the right--in th │ │ │ │ │ +00005110: 650a 706f 7369 7469 7665 2078 2d64 6972 e.positive x-dir │ │ │ │ │ +00005120: 6563 7469 6f6e 2d2d 736f 2069 7420 646f ection--so it do │ │ │ │ │ +00005130: 6573 6e27 7420 636f 6c6c 6964 6520 7769 esn't collide wi │ │ │ │ │ +00005140: 7468 2074 6865 206f 7269 6769 6e61 6c2e th the original. │ │ │ │ │ +00005150: 2020 546f 2068 656c 700a 7573 2073 6565 To help.us see │ │ │ │ │ +00005160: 2077 6861 7427 7320 676f 696e 6720 6f6e what's going on │ │ │ │ │ +00005170: 2c20 6d61 6b65 2074 6865 2062 6163 6b20 , make the back │ │ │ │ │ +00005180: 7369 6465 2067 7261 792e 0a20 2064 6566 side gray.. def │ │ │ │ │ +00005190: 2070 6965 7263 6564 5f74 6574 7261 6865 pierced_tetrahe │ │ │ │ │ +000051a0: 6472 6f6e 207b 0a20 2020 2064 6566 2070 dron {. def p │ │ │ │ │ +000051b0: 3120 2830 2c30 2c31 2920 6465 6620 7032 1 (0,0,1) def p2 │ │ │ │ │ +000051c0: 2028 312c 302c 3029 0a20 2020 2064 6566 (1,0,0). def │ │ │ │ │ +000051d0: 2070 3320 2830 2c31 2c30 2920 6465 6620 p3 (0,1,0) def │ │ │ │ │ +000051e0: 7034 2028 2d2e 332c 2d2e 352c 2d2e 3829 p4 (-.3,-.5,-.8) │ │ │ │ │ +000051f0: 0a20 2020 2070 6f6c 7967 6f6e 2870 3129 . polygon(p1) │ │ │ │ │ +00005200: 2870 3229 2870 3329 2020 2020 2020 2020 (p2)(p3) │ │ │ │ │ +00005210: 2020 2020 2020 2020 2020 2020 2020 2520 % │ │ │ │ │ +00005220: 6f72 6967 696e 616c 0a20 2020 2070 6f6c original. pol │ │ │ │ │ +00005230: 7967 6f6e 2870 3129 2870 3429 2870 3229 ygon(p1)(p4)(p2) │ │ │ │ │ +00005240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00005250: 2020 2020 2020 2520 626f 7474 6f6d 0a20 % bottom. │ │ │ │ │ +00005260: 2020 2070 6f6c 7967 6f6e 2870 3129 2870 polygon(p1)(p │ │ │ │ │ +00005270: 3329 2870 3429 2020 2020 2020 2020 2020 3)(p4) │ │ │ │ │ +00005280: 2020 2020 2020 2020 2020 2020 2520 6c65 % le │ │ │ │ │ +00005290: 6674 0a20 2020 2070 6f6c 7967 6f6e 5b66 ft. polygon[f │ │ │ │ │ +000052a0: 696c 6c63 6f6c 6f72 3d6c 6967 6874 6772 illcolor=lightgr │ │ │ │ │ +000052b0: 6179 5d28 7033 2928 7032 2928 7034 2920 ay](p3)(p2)(p4) │ │ │ │ │ +000052c0: 2520 7265 6172 0a20 2020 206c 696e 655b % rear. line[ │ │ │ │ │ +000052d0: 6c69 6e65 636f 6c6f 723d 7265 645d 282d linecolor=red](- │ │ │ │ │ +000052e0: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2). │ │ │ │ │ +000052f0: 2020 7d0a 2020 7b70 6965 7263 6564 5f74 }. {pierced_t │ │ │ │ │ +00005300: 6574 7261 6865 6472 6f6e 7d20 2025 2074 etrahedron} % t │ │ │ │ │ +00005310: 6574 7261 6865 6472 6f6e 2069 6e20 6f72 etrahedron in or │ │ │ │ │ +00005320: 6967 696e 616c 2070 6f73 6974 696f 6e0a iginal position. │ │ │ │ │ +00005330: 2020 7075 7420 7b20 726f 7461 7465 2839 put { rotate(9 │ │ │ │ │ +00005340: 302c 2028 302c 302c 3029 2c20 5b31 2c30 0, (0,0,0), [1,0 │ │ │ │ │ +00005350: 2c30 5d29 2025 2063 6f70 7920 696e 206e ,0]) % copy in n │ │ │ │ │ +00005360: 6577 2070 6f73 6974 696f 6e0a 2020 2020 ew position. │ │ │ │ │ +00005370: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla │ │ │ │ │ +00005380: 7465 285b 322e 352c 302c 305d 2920 7d20 te([2.5,0,0]) } │ │ │ │ │ +00005390: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe │ │ │ │ │ +000053a0: 6472 6f6e 7d0a 4865 7265 2074 6865 2065 dron}.Here the e │ │ │ │ │ +000053b0: 6e74 6972 6520 636f 6465 206f 6620 7468 ntire code of th │ │ │ │ │ +000053c0: 6520 7072 6576 696f 7573 2065 7861 6d70 e previous examp │ │ │ │ │ +000053d0: 6c65 2068 6173 2062 6565 6e20 7772 6170 le has been wrap │ │ │ │ │ +000053e0: 7065 6420 696e 2061 0a64 6566 696e 6974 ped in a.definit │ │ │ │ │ +000053f0: 696f 6e20 6279 2066 6f72 6d69 6e67 2061 ion by forming a │ │ │ │ │ +00005400: 20e2 809c 626c 6f63 6be2 809d 2077 6974 ...block... wit │ │ │ │ │ +00005410: 6820 6272 6163 6573 2028 6120 7369 6e67 h braces (a sing │ │ │ │ │ +00005420: 6c65 2069 7465 6d20 776f 756c 6420 6e6f le item would no │ │ │ │ │ +00005430: 740a 6e65 6564 2074 6865 6d29 2e20 2054 t.need them). T │ │ │ │ │ +00005440: 6865 2070 6f69 6e74 2064 6566 696e 6974 he point definit │ │ │ │ │ +00005450: 696f 6e73 206e 6573 7465 6420 696e 7369 ions nested insi │ │ │ │ │ +00005460: 6465 2074 6865 2062 7261 6365 7320 6172 de the braces ar │ │ │ │ │ +00005470: 650a e280 9c6c 6578 6963 616c 6c79 2073 e....lexically s │ │ │ │ │ +00005480: 636f 7065 64e2 809d 2e20 2054 6865 6972 coped.... Their │ │ │ │ │ +00005490: 206d 6561 6e69 6e67 2065 7874 656e 6473 meaning extends │ │ │ │ │ +000054a0: 206f 6e6c 7920 746f 2074 6865 2065 6e64 only to the end │ │ │ │ │ +000054b0: 206f 6620 7468 6520 626c 6f63 6b2e 0a54 of the block..T │ │ │ │ │ +000054c0: 6865 206f 7574 6572 2064 6566 2069 7320 he outer def is │ │ │ │ │ +000054d0: 6361 6c6c 6564 2061 20e2 809c 6472 6177 called a ...draw │ │ │ │ │ +000054e0: 6162 6c65 e280 9d20 6465 6669 6e69 7469 able... definiti │ │ │ │ │ +000054f0: 6f6e 2062 6563 6175 7365 2069 7420 6465 on because it de │ │ │ │ │ +00005500: 7363 7269 6265 730a 736f 6d65 7468 696e scribes.somethin │ │ │ │ │ +00005510: 6720 7468 6174 2063 616e 2062 6520 6472 g that can be dr │ │ │ │ │ +00005520: 6177 6e2e 0a0a 2020 2041 2064 7261 7761 awn... A drawa │ │ │ │ │ +00005530: 626c 6520 6465 6669 6e69 7469 6f6e 2062 ble definition b │ │ │ │ │ +00005540: 7920 6974 7365 6c66 2063 6175 7365 7320 y itself causes │ │ │ │ │ +00005550: 6e6f 7468 696e 6720 746f 2068 6170 7065 nothing to happe │ │ │ │ │ +00005560: 6e20 756e 7469 6c20 6974 730a 6e61 6d65 n until its.name │ │ │ │ │ +00005570: 2069 7320 7265 6665 7265 6e63 6564 2e20 is referenced. │ │ │ │ │ +00005580: 2044 7261 7761 626c 6520 7265 6665 7265 Drawable refere │ │ │ │ │ +00005590: 6e63 6573 206d 7573 7420 6265 2065 6e63 nces must be enc │ │ │ │ │ +000055a0: 6c6f 7365 6420 696e 2063 7572 6c79 0a62 losed in curly.b │ │ │ │ │ +000055b0: 7261 6365 732c 2065 2e67 2e20 7b66 6f6f races, e.g. {foo │ │ │ │ │ +000055c0: 7d2c 2077 6974 6820 6e6f 2069 6e74 6572 }, with no inter │ │ │ │ │ +000055d0: 7665 6e69 6e67 2077 6869 7465 2073 7061 vening white spa │ │ │ │ │ +000055e0: 6365 2e20 2049 6e20 7468 6520 636f 6465 ce. In the code │ │ │ │ │ +000055f0: 2061 626f 7665 2c0a 7468 6520 6669 7273 above,.the firs │ │ │ │ │ +00005600: 7420 7265 6665 7265 6e63 6520 7b70 6965 t reference {pie │ │ │ │ │ +00005610: 7263 6564 5f74 6574 7261 6865 6472 6f6e rced_tetrahedron │ │ │ │ │ +00005620: 7d20 6973 2061 2070 6c61 696e 206f 6e65 } is a plain one │ │ │ │ │ +00005630: 2e20 2049 7473 2065 6666 6563 7420 6973 . Its effect is │ │ │ │ │ +00005640: 0a6d 6572 656c 7920 746f 2064 7570 6c69 .merely to dupli │ │ │ │ │ +00005650: 6361 7465 2074 6865 2065 6172 6c69 6572 cate the earlier │ │ │ │ │ +00005660: 2064 7261 7769 6e67 2e20 2041 6c6d 6f73 drawing. Almos │ │ │ │ │ +00005670: 7420 616e 7920 7365 7269 6573 206f 6620 t any series of │ │ │ │ │ +00005680: e280 9873 6b65 7463 68e2 8099 0a63 6f6d ...sketch....com │ │ │ │ │ +00005690: 6d61 6e64 7320 7374 7566 6620 6d61 7920 mands stuff may │ │ │ │ │ +000056a0: 6265 2072 6570 6c61 6365 6420 7769 7468 be replaced with │ │ │ │ │ +000056b0: 2064 6566 2066 6f6f 207b 2073 7475 6666 def foo { stuff │ │ │ │ │ +000056c0: 207d 207b 666f 6f7d 2077 6974 686f 7574 } {foo} without │ │ │ │ │ +000056d0: 0a63 6861 6e67 696e 6720 6974 7320 6d65 .changing its me │ │ │ │ │ +000056e0: 616e 696e 672e 0a0a 2020 2054 6865 2070 aning... The p │ │ │ │ │ +000056f0: 7574 2063 6f6d 6d61 6e64 2073 7570 706c ut command suppl │ │ │ │ │ +00005700: 6965 7320 6120 7365 636f 6e64 2072 6566 ies a second ref │ │ │ │ │ +00005710: 6572 656e 6365 2c20 7468 6973 2074 696d erence, this tim │ │ │ │ │ +00005720: 6520 7769 7468 2061 0ae2 809c 7472 616e e with a....tran │ │ │ │ │ +00005730: 7366 6f72 6de2 809d 2061 7070 6c69 6564 sform... applied │ │ │ │ │ +00005740: 2066 6972 7374 2e20 2054 6865 2072 6f74 first. The rot │ │ │ │ │ +00005750: 6174 6520 7472 616e 7366 6f72 6d20 7475 ate transform tu │ │ │ │ │ +00005760: 726e 7320 7468 6520 7465 7472 6168 6564 rns the tetrahed │ │ │ │ │ +00005770: 726f 6e0a 3930 2064 6567 7265 6573 2061 ron.90 degrees a │ │ │ │ │ +00005780: 626f 7574 2074 6865 206f 7269 6769 6e2e bout the origin. │ │ │ │ │ +00005790: 2020 5468 6520 6178 6973 206f 6620 726f The axis of ro │ │ │ │ │ +000057a0: 7461 7469 6f6e 2069 7320 7468 6520 7665 tation is the ve │ │ │ │ │ +000057b0: 6374 6f72 0a5b 312c 302c 305d 2e20 2042 ctor.[1,0,0]. B │ │ │ │ │ +000057c0: 7920 7468 6520 e280 9c72 6967 6874 2068 y the ...right h │ │ │ │ │ +000057d0: 616e 6420 7275 6c65 e280 9d2c 2074 6869 and rule..., thi │ │ │ │ │ +000057e0: 7320 6361 7573 6573 2074 6865 2074 6f70 s causes the top │ │ │ │ │ +000057f0: 206f 6620 7468 650a 7465 7472 6168 6564 of the.tetrahed │ │ │ │ │ +00005800: 726f 6e20 746f 2072 6f74 6174 6520 746f ron to rotate to │ │ │ │ │ +00005810: 7761 7264 2074 6865 2076 6965 7765 7220 ward the viewer │ │ │ │ │ +00005820: 616e 6420 7468 6520 626f 7474 6f6d 2061 and the bottom a │ │ │ │ │ +00005830: 7761 792e 2020 5468 6520 7275 6c65 0a72 way. The rule.r │ │ │ │ │ +00005840: 6563 6569 7665 7320 6974 7320 6e61 6d65 eceives its name │ │ │ │ │ +00005850: 2066 726f 6d20 7468 6520 666f 6c6c 6f77 from the follow │ │ │ │ │ +00005860: 696e 6720 6465 6669 6e69 7469 6f6e 3a0a ing definition:. │ │ │ │ │ +00005870: 2020 2020 202a 5269 6768 7420 6861 6e64 *Right hand │ │ │ │ │ +00005880: 2072 756c 652e 2a20 2049 6620 7468 6520 rule.* If the │ │ │ │ │ +00005890: 7269 6768 7420 6861 6e64 2069 7320 7772 right hand is wr │ │ │ │ │ +000058a0: 6170 7065 6420 6172 6f75 6e64 2061 6e79 apped around any │ │ │ │ │ +000058b0: 2061 7869 730a 2020 2020 2077 6974 6820 axis. with │ │ │ │ │ +000058c0: 7468 6520 7468 756d 6220 706f 696e 7469 the thumb pointi │ │ │ │ │ +000058d0: 6e67 2069 6e20 7468 6520 6178 6973 2064 ng in the axis d │ │ │ │ │ +000058e0: 6972 6563 7469 6f6e 2c20 7468 656e 2074 irection, then t │ │ │ │ │ +000058f0: 6865 2066 696e 6765 7273 0a20 2020 2020 he fingers. │ │ │ │ │ +00005900: 6375 726c 2069 6e20 7468 6520 6469 7265 curl in the dire │ │ │ │ │ +00005910: 6374 696f 6e20 6f66 2070 6f73 6974 6976 ction of positiv │ │ │ │ │ +00005920: 6520 726f 7461 7469 6f6e 2061 626f 7574 e rotation about │ │ │ │ │ +00005930: 2074 6861 7420 6178 6973 2e0a 2020 2054 that axis.. T │ │ │ │ │ +00005940: 6865 2074 7261 6e73 6c61 7465 2074 7261 he translate tra │ │ │ │ │ +00005950: 6e73 666f 726d 206d 6f76 6573 2074 6865 nsform moves the │ │ │ │ │ +00005960: 2070 7972 616d 6964 206c 6174 6572 616c pyramid lateral │ │ │ │ │ +00005970: 6c79 2074 6f20 7468 6520 7269 6768 7420 ly to the right │ │ │ │ │ +00005980: 6279 0a61 6464 696e 6720 7468 6520 7665 by.adding the ve │ │ │ │ │ +00005990: 6374 6f72 205b 322e 352c 302c 305d 2074 ctor [2.5,0,0] t │ │ │ │ │ +000059a0: 6f20 6561 6368 2076 6572 7465 7820 636f o each vertex co │ │ │ │ │ +000059b0: 6f72 6469 6e61 7465 2e20 2054 6865 2072 ordinate. The r │ │ │ │ │ +000059c0: 6573 756c 7420 6973 0a73 686f 776e 2068 esult is.shown h │ │ │ │ │ +000059d0: 6572 652e 0a0a 0008 5b69 6d61 6765 2073 ere.....[image s │ │ │ │ │ +000059e0: 7263 3d22 6578 3035 302e 706e 6722 2074 rc="ex050.png" t │ │ │ │ │ +000059f0: 6578 743d 2249 6d61 6765 2065 7830 3530 ext="Image ex050 │ │ │ │ │ +00005a00: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00005a10: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00005a20: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00005a30: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00005a40: 6e66 6f2c 2020 4e6f 6465 3a20 5265 7065 nfo, Node: Repe │ │ │ │ │ +00005a50: 6174 6564 206f 626a 6563 7473 2c20 204e ated objects, N │ │ │ │ │ +00005a60: 6578 743a 2053 7765 7074 206f 626a 6563 ext: Swept objec │ │ │ │ │ +00005a70: 7473 2c20 2050 7265 763a 204f 626a 6563 ts, Prev: Objec │ │ │ │ │ +00005a80: 7420 7472 616e 7366 6f72 6d73 2c20 2055 t transforms, U │ │ │ │ │ +00005a90: 703a 2049 6e74 726f 6475 6374 696f 6e20 p: Introduction │ │ │ │ │ +00005aa0: 6279 2065 7861 6d70 6c65 0a0a 322e 3620 by example..2.6 │ │ │ │ │ +00005ab0: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects │ │ │ │ │ +00005ac0: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .=============== │ │ │ │ │ +00005ad0: 3d3d 3d3d 3d0a 0a54 6f20 6472 6177 2073 =====..To draw s │ │ │ │ │ +00005ae0: 6576 656e 2069 6e73 7461 6e63 6573 206f even instances o │ │ │ │ │ +00005af0: 6620 7468 6520 7465 7472 6168 6564 726f f the tetrahedro │ │ │ │ │ +00005b00: 6e2c 2065 6163 6820 6469 6666 6572 696e n, each differin │ │ │ │ │ +00005b10: 6720 6672 6f6d 2074 6865 206c 6173 740a g from the last. │ │ │ │ │ +00005b20: 6279 2074 6865 2073 616d 6520 7472 616e by the same tran │ │ │ │ │ +00005b30: 7366 6f72 6d2c 2072 6570 6c61 6365 2074 sform, replace t │ │ │ │ │ +00005b40: 6865 206c 6173 7420 7477 6f20 636f 6d6d he last two comm │ │ │ │ │ +00005b50: 616e 6473 206f 6620 7468 6520 7072 6576 ands of the prev │ │ │ │ │ +00005b60: 696f 7573 0a65 7861 6d70 6c65 2077 6974 ious.example wit │ │ │ │ │ +00005b70: 680a 2020 7265 7065 6174 207b 2037 2c20 h. repeat { 7, │ │ │ │ │ +00005b80: 726f 7461 7465 2831 352c 2028 302c 302c rotate(15, (0,0, │ │ │ │ │ +00005b90: 3029 2c20 5b31 2c30 2c30 5d29 2025 2063 0), [1,0,0]) % c │ │ │ │ │ +00005ba0: 6f70 7920 696e 206e 6577 2070 6f73 6974 opy in new posit │ │ │ │ │ +00005bb0: 696f 6e0a 2020 2020 2020 2020 2020 2020 ion. │ │ │ │ │ +00005bc0: 2020 7468 656e 2074 7261 6e73 6c61 7465 then translate │ │ │ │ │ +00005bd0: 285b 322c 302c 305d 2920 7d20 7b70 6965 ([2,0,0]) } {pie │ │ │ │ │ +00005be0: 7263 6564 5f74 6574 7261 6865 6472 6f6e rced_tetrahedron │ │ │ │ │ +00005bf0: 7d0a 416e 6420 7468 6520 7265 7375 6c74 }.And the result │ │ │ │ │ +00005c00: 2e2e 2e0a 0a00 085b 696d 6167 6520 7372 .......[image sr │ │ │ │ │ +00005c10: 633d 2265 7830 3630 2e70 6e67 2220 7465 c="ex060.png" te │ │ │ │ │ +00005c20: 7874 3d22 496d 6167 6520 6578 3036 3020 xt="Image ex060 │ │ │ │ │ +00005c30: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text │ │ │ │ │ +00005c40: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this │ │ │ │ │ +00005c50: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a1f document."..]... │ │ │ │ │ +00005c60: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00005c70: 666f 2c20 204e 6f64 653a 2053 7765 7074 fo, Node: Swept │ │ │ │ │ +00005c80: 206f 626a 6563 7473 2c20 2050 7265 763a objects, Prev: │ │ │ │ │ +00005c90: 2052 6570 6561 7465 6420 6f62 6a65 6374 Repeated object │ │ │ │ │ +00005ca0: 732c 2020 5570 3a20 496e 7472 6f64 7563 s, Up: Introduc │ │ │ │ │ +00005cb0: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example. │ │ │ │ │ +00005cc0: 0a32 2e37 2053 7765 7074 206f 626a 6563 .2.7 Swept objec │ │ │ │ │ +00005cd0: 7473 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ts.============= │ │ │ │ │ +00005ce0: 3d3d 3d3d 0a0a 4d61 6e79 2066 616d 696c ====..Many famil │ │ │ │ │ +00005cf0: 6961 7220 7368 6170 6573 2063 616e 2062 iar shapes can b │ │ │ │ │ +00005d00: 6520 6765 6e65 7261 7465 6420 6279 2073 e generated by s │ │ │ │ │ +00005d10: 7765 6570 696e 6720 7369 6d70 6c65 7220 weeping simpler │ │ │ │ │ +00005d20: 6f6e 6573 2074 6872 6f75 6768 0a73 7061 ones through.spa │ │ │ │ │ +00005d30: 6365 2061 6e64 2063 6f6e 7369 6465 7269 ce and consideri │ │ │ │ │ +00005d40: 6e67 2074 6865 2072 6573 756c 7469 6e67 ng the resulting │ │ │ │ │ +00005d50: 2070 6174 682c 2073 7572 6661 6365 2c20 path, surface, │ │ │ │ │ +00005d60: 6f72 2076 6f6c 756d 652e 2020 e280 9853 or volume. ...S │ │ │ │ │ +00005d70: 6b65 7463 68e2 8099 0a69 6d70 6c65 6d65 ketch....impleme │ │ │ │ │ +00005d80: 6e74 7320 7468 6973 2069 6465 6120 696e nts this idea in │ │ │ │ │ +00005d90: 2074 6865 2073 7765 6570 2063 6f6d 6d61 the sweep comma │ │ │ │ │ +00005da0: 6e64 2e0a 2020 6465 6620 6e5f 7365 6773 nd.. def n_segs │ │ │ │ │ +00005db0: 2038 0a20 2073 7765 6570 207b 206e 5f73 8. sweep { n_s │ │ │ │ │ +00005dc0: 6567 732c 2072 6f74 6174 6528 3138 3020 egs, rotate(180 │ │ │ │ │ +00005dd0: 2f20 6e5f 7365 6773 2c20 2830 2c30 2c30 / n_segs, (0,0,0 │ │ │ │ │ +00005de0: 292c 205b 302c 302c 315d 2920 7d20 2831 ), [0,0,1]) } (1 │ │ │ │ │ +00005df0: 2c30 2c30 290a 5468 6973 2063 6f64 6520 ,0,0).This code │ │ │ │ │ +00005e00: 7377 6565 7073 2074 6865 2070 6f69 6e74 sweeps the point │ │ │ │ │ +00005e10: 2028 312c 302c 3029 2065 6967 6874 2074 (1,0,0) eight t │ │ │ │ │ +00005e20: 696d 6573 2062 7920 726f 7461 7469 6e67 imes by rotating │ │ │ │ │ +00005e30: 2069 7420 3138 302f 3820 3d0a 3232 2e35 it 180/8 =.22.5 │ │ │ │ │ +00005e40: 2064 6567 7265 6573 2065 6163 6820 7469 degrees each ti │ │ │ │ │ +00005e50: 6d65 2061 6e64 2063 6f6e 6e65 6374 696e me and connectin │ │ │ │ │ +00005e60: 6720 7468 6520 7265 7375 6c74 696e 6720 g the resulting │ │ │ │ │ +00005e70: 706f 696e 7473 2077 6974 6820 6c69 6e65 points with line │ │ │ │ │ +00005e80: 0a73 6567 6d65 6e74 732e 2020 5468 6520 .segments. The │ │ │ │ │ +00005e90: 6465 6620 7573 6564 2068 6572 6520 6973 def used here is │ │ │ │ │ +00005ea0: 2061 20e2 809c 7363 616c 6172 e280 9d20 a ...scalar... │ │ │ │ │ +00005eb0: 6465 6669 6e69 7469 6f6e 2e20 2052 6566 definition. Ref │ │ │ │ │ +00005ec0: 6572 656e 6365 7320 746f 0a73 6361 6c61 erences to.scala │ │ │ │ │ +00005ed0: 7273 2068 6176 6520 6e6f 2065 6e63 6c6f rs have no enclo │ │ │ │ │ +00005ee0: 7369 6e67 2062 7261 636b 6574 7320 6174 sing brackets at │ │ │ │ │ +00005ef0: 2061 6c6c 2e0a 0a2a 204d 656e 753a 0a0a all...* Menu:.. │ │ │ │ │ +00005f00: 2a20 506f 696e 7420 7377 6565 7073 3a3a * Point sweeps:: │ │ │ │ │ +00005f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00005f20: 5377 6570 7420 706f 696e 7473 206d 616b Swept points mak │ │ │ │ │ +00005f30: 6520 6c69 6e65 7320 616e 6420 706f 6c79 e lines and poly │ │ │ │ │ +00005f40: 676f 6e73 2e0a 2a20 506f 6c79 6c69 6e65 gons..* Polyline │ │ │ │ │ +00005f50: 2073 7765 6570 733a 3a20 2020 2020 2020 sweeps:: │ │ │ │ │ +00005f60: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line │ │ │ │ │ +00005f70: 7320 6d61 6b65 2073 7572 6661 6365 732e s make surfaces. │ │ │ │ │ +00005f80: 0a2a 204e 6573 7465 6420 7377 6565 7073 .* Nested sweeps │ │ │ │ │ +00005f90: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00005fa0: 2053 7765 7074 2073 7765 6570 7320 6172 Swept sweeps ar │ │ │ │ │ +00005fb0: 6520 7573 6566 756c 210a 2a20 506f 6c79 e useful!.* Poly │ │ │ │ │ +00005fc0: 676f 6e20 7377 6565 7073 3a3a 2020 2020 gon sweeps:: │ │ │ │ │ +00005fd0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +00005fe0: 706f 6c79 676f 6e73 206d 616b 6520 736f polygons make so │ │ │ │ │ +00005ff0: 6c69 6473 2e2e 2e0a 2a20 506f 6c79 6c69 lids....* Polyli │ │ │ │ │ +00006000: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ +00006010: 6c6f 7375 7265 3a3a 2020 616e 6420 736f losure:: and so │ │ │ │ │ +00006020: 2064 6f20 636c 6f73 6564 2070 6f6c 796c do closed polyl │ │ │ │ │ +00006030: 696e 6520 7377 6565 7073 2e0a 2a20 4166 ine sweeps..* Af │ │ │ │ │ +00006040: 6669 6e65 2061 7269 7468 6d65 7469 633a fine arithmetic: │ │ │ │ │ +00006050: 3a20 2020 2020 2020 2020 2020 536b 6574 : Sket │ │ │ │ │ +00006060: 6368 2075 7365 6675 6c20 6d61 7468 2065 ch useful math e │ │ │ │ │ +00006070: 7870 7265 7373 696f 6e2e 0a2a 204d 6f72 xpression..* Mor │ │ │ │ │ +00006080: 6520 746f 206c 6561 726e 3a3a 2020 2020 e to learn:: │ │ │ │ │ +00006090: 2020 2020 2020 2020 2020 2043 6865 636b Check │ │ │ │ │ +000060a0: 206f 7574 2074 6865 204d 6f62 6975 7320 out the Mobius │ │ │ │ │ +000060b0: 7374 7269 7021 0a0a 1f0a 4669 6c65 3a20 strip!....File: │ │ │ │ │ +000060c0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +000060d0: 6465 3a20 506f 696e 7420 7377 6565 7073 de: Point sweeps │ │ │ │ │ +000060e0: 2c20 204e 6578 743a 2050 6f6c 796c 696e , Next: Polylin │ │ │ │ │ +000060f0: 6520 7377 6565 7073 2c20 2050 7265 763a e sweeps, Prev: │ │ │ │ │ +00006100: 2053 7765 7074 206f 626a 6563 7473 2c20 Swept objects, │ │ │ │ │ +00006110: 2055 703a 2053 7765 7074 206f 626a 6563 Up: Swept objec │ │ │ │ │ +00006120: 7473 0a0a 322e 372e 3120 506f 696e 7420 ts..2.7.1 Point │ │ │ │ │ +00006130: 7377 6565 7073 0a2d 2d2d 2d2d 2d2d 2d2d sweeps.--------- │ │ │ │ │ +00006140: 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 7765 6570 ---------..Sweep │ │ │ │ │ +00006150: 696e 6720 6120 706f 696e 7420 6d61 6b65 ing a point make │ │ │ │ │ +00006160: 7320 6120 6f6e 652d 6469 6d65 6e73 696f s a one-dimensio │ │ │ │ │ +00006170: 6e61 6c20 7061 7468 2c20 7768 6963 6820 nal path, which │ │ │ │ │ +00006180: 6973 2061 2070 6f6c 796c 696e 652e 0a53 is a polyline..S │ │ │ │ │ +00006190: 696e 6365 2077 6520 6861 7665 2073 7765 ince we have swe │ │ │ │ │ +000061a0: 7074 2077 6974 6820 6120 726f 7461 7469 pt with a rotati │ │ │ │ │ +000061b0: 6f6e 2c20 7468 6520 7265 7375 6c74 2069 on, the result i │ │ │ │ │ +000061c0: 7320 6120 6369 7263 756c 6172 2061 7263 s a circular arc │ │ │ │ │ +000061d0: 2e20 2048 6572 650a 6973 2077 6861 7420 . Here.is what │ │ │ │ │ +000061e0: 6974 206c 6f6f 6b73 206c 696b 652e 0a0a it looks like... │ │ │ │ │ +000061f0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00006200: 3037 302e 706e 6722 2074 6578 743d 2249 070.png" text="I │ │ │ │ │ +00006210: 6d61 6765 2065 7830 3730 206f 6d69 7474 mage ex070 omitt │ │ │ │ │ +00006220: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00006230: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00006240: 656e 742e 2200 085d 0a0a 2020 2054 6869 ent."..].. Thi │ │ │ │ │ +00006250: 7320 6973 2074 6865 2066 6972 7374 2065 s is the first e │ │ │ │ │ +00006260: 7861 6d70 6c65 2077 6520 6861 7665 2073 xample we have s │ │ │ │ │ +00006270: 6565 6e20 6f66 20e2 8098 736b 6574 6368 een of ...sketch │ │ │ │ │ +00006280: e280 9920 6172 6974 686d 6574 6963 2e20 ... arithmetic. │ │ │ │ │ +00006290: 2054 6865 0a65 7870 7265 7373 696f 6e20 The.expression │ │ │ │ │ +000062a0: 3138 3020 2f20 6e5f 7365 6773 2063 6175 180 / n_segs cau │ │ │ │ │ +000062b0: 7365 7320 7468 6520 6569 6768 7420 726f ses the eight ro │ │ │ │ │ +000062c0: 7461 7469 6f6e 7320 746f 2061 6464 2074 tations to add t │ │ │ │ │ +000062d0: 6f20 3138 302e 2020 4966 0a79 6f75 2772 o 180. If.you'r │ │ │ │ │ +000062e0: 6520 7061 7969 6e67 2061 7474 656e 7469 e paying attenti │ │ │ │ │ +000062f0: 6f6e 2c20 796f 7527 6c6c 2068 6176 6520 on, you'll have │ │ │ │ │ +00006300: 616c 7265 6164 7920 6e6f 7465 6420 7468 already noted th │ │ │ │ │ +00006310: 6174 2074 6865 7265 2061 7265 205f 6e69 at there are _ni │ │ │ │ │ +00006320: 6e65 5f0a 706f 696e 7473 2c20 7072 6f64 ne_.points, prod │ │ │ │ │ +00006330: 7563 696e 6720 6569 6768 7420 6c69 6e65 ucing eight line │ │ │ │ │ +00006340: 2073 6567 6d65 6e74 732e 0a0a 2020 2059 segments... Y │ │ │ │ │ +00006350: 6f75 2063 616e 2063 6175 7365 2074 6865 ou can cause the │ │ │ │ │ +00006360: 2073 7765 7074 2070 6f69 6e74 2074 6f20 swept point to │ │ │ │ │ +00006370: 6765 6e65 7261 7465 2061 2073 696e 676c generate a singl │ │ │ │ │ +00006380: 6520 706f 6c79 676f 6e20 7261 7468 6572 e polygon rather │ │ │ │ │ +00006390: 0a74 6861 6e20 6120 706f 6c79 6c69 6e65 .than a polyline │ │ │ │ │ +000063a0: 2062 7920 7573 696e 6720 7468 6520 e280 by using the .. │ │ │ │ │ +000063b0: 9c63 6c6f 7375 7265 2074 6167 e280 9d20 .closure tag... │ │ │ │ │ +000063c0: 3c3e 2061 6674 6572 2074 6865 206e 756d <> after the num │ │ │ │ │ +000063d0: 6265 7220 6f66 2073 7765 7074 0a6f 626a ber of swept.obj │ │ │ │ │ +000063e0: 6563 7473 2e20 2043 6f64 6520 616e 6420 ects. Code and │ │ │ │ │ +000063f0: 7265 7375 6c74 2066 6f6c 6c6f 770a 2020 result follow. │ │ │ │ │ +00006400: 6465 6620 6e5f 7365 6773 2038 0a20 2073 def n_segs 8. s │ │ │ │ │ +00006410: 7765 6570 207b 206e 5f73 6567 733c 3e2c weep { n_segs<>, │ │ │ │ │ +00006420: 2072 6f74 6174 6528 3138 3020 2f20 6e5f rotate(180 / n_ │ │ │ │ │ +00006430: 7365 6773 2c20 2830 2c30 2c30 292c 205b segs, (0,0,0), [ │ │ │ │ │ +00006440: 302c 302c 315d 2920 7d20 2831 2c30 2c30 0,0,1]) } (1,0,0 │ │ │ │ │ +00006450: 290a 0008 5b69 6d61 6765 2073 7263 3d22 )...[image src=" │ │ │ │ │ +00006460: 6578 3038 302e 706e 6722 2074 6578 743d ex080.png" text= │ │ │ │ │ +00006470: 2249 6d61 6765 2065 7830 3830 206f 6d69 "Image ex080 omi │ │ │ │ │ +00006480: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ +00006490: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ +000064a0: 756d 656e 742e 2200 085d 0a0a 1f0a 4669 ument."..]....Fi │ │ │ │ │ +000064b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +000064c0: 2020 4e6f 6465 3a20 506f 6c79 6c69 6e65 Node: Polyline │ │ │ │ │ +000064d0: 2073 7765 6570 732c 2020 4e65 7874 3a20 sweeps, Next: │ │ │ │ │ +000064e0: 4e65 7374 6564 2073 7765 6570 732c 2020 Nested sweeps, │ │ │ │ │ +000064f0: 5072 6576 3a20 506f 696e 7420 7377 6565 Prev: Point swee │ │ │ │ │ +00006500: 7073 2c20 2055 703a 2053 7765 7074 206f ps, Up: Swept o │ │ │ │ │ +00006510: 626a 6563 7473 0a0a 322e 372e 3220 506f bjects..2.7.2 Po │ │ │ │ │ +00006520: 6c79 6c69 6e65 2073 7765 6570 730a 2d2d lyline sweeps.-- │ │ │ │ │ +00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00006540: 2d2d 2d0a 0a53 7765 6570 696e 6720 6120 ---..Sweeping a │ │ │ │ │ +00006550: 706f 6c79 6c69 6e65 2070 726f 6475 6365 polyline produce │ │ │ │ │ +00006560: 7320 6120 7375 7266 6163 6520 636f 6d70 s a surface comp │ │ │ │ │ +00006570: 6f73 6564 206f 6620 6d61 6e79 2066 6163 osed of many fac │ │ │ │ │ +00006580: 6573 2e20 2054 6865 0a75 6e62 726f 6b65 es. The.unbroke │ │ │ │ │ +00006590: 6e20 6865 6c69 7820 696e 2074 6865 2065 n helix in the e │ │ │ │ │ +000065a0: 7861 6d70 6c65 202a 6e6f 7465 2048 656c xample *note Hel │ │ │ │ │ +000065b0: 6978 2077 6974 6820 6375 6c6c 2073 6574 ix with cull set │ │ │ │ │ +000065c0: 2066 616c 7365 2074 6865 6e0a 7472 7565 false then.true │ │ │ │ │ +000065d0: 3a3a 2069 7320 7072 6f64 7563 6564 2062 :: is produced b │ │ │ │ │ +000065e0: 7920 7468 6973 2063 6f64 6520 2870 6c75 y this code (plu │ │ │ │ │ +000065f0: 7320 6120 7375 7272 6f75 6e64 696e 6720 s a surrounding │ │ │ │ │ +00006600: 7075 7420 726f 7461 7469 6f6e 2074 6f20 put rotation to │ │ │ │ │ +00006610: 6d61 6b65 0a61 6e20 696e 7465 7265 7374 make.an interest │ │ │ │ │ +00006620: 696e 6720 7669 6577 3b20 7468 6973 2068 ing view; this h │ │ │ │ │ +00006630: 6173 2062 6565 6e20 6f6d 6974 7465 6429 as been omitted) │ │ │ │ │ +00006640: 2e0a 2020 6465 6620 4b20 5b30 2c30 2c31 .. def K [0,0,1 │ │ │ │ │ +00006650: 5d0a 2020 7377 6565 705b 6375 6c6c 3d66 ]. sweep[cull=f │ │ │ │ │ +00006660: 616c 7365 5d20 7b0a 2020 2020 3630 2c20 alse] {. 60, │ │ │ │ │ +00006670: 0a20 2020 2072 6f74 6174 6528 3130 2c20 . rotate(10, │ │ │ │ │ +00006680: 2830 2c30 2c30 292c 205b 4b5d 2920 7468 (0,0,0), [K]) th │ │ │ │ │ +00006690: 656e 2074 7261 6e73 6c61 7465 2831 2f36 en translate(1/6 │ │ │ │ │ +000066a0: 202a 205b 4b5d 2920 0a20 207d 206c 696e * [K]) . } lin │ │ │ │ │ +000066b0: 655b 6c69 6e65 7769 6474 683d 3270 745d e[linewidth=2pt] │ │ │ │ │ +000066c0: 282d 312c 3029 2831 2c30 290a 4167 6169 (-1,0)(1,0).Agai │ │ │ │ │ +000066d0: 6e2c 2036 3020 7365 676d 656e 7473 206f n, 60 segments o │ │ │ │ │ +000066e0: 6620 7468 6520 6865 6c69 7820 6172 6520 f the helix are │ │ │ │ │ +000066f0: 7072 6f64 7563 6564 2062 7920 636f 6e6e produced by conn │ │ │ │ │ +00006700: 6563 7469 6e67 2036 3120 696e 7374 616e ecting 61 instan │ │ │ │ │ +00006710: 6365 730a 6f66 2074 6865 2073 7765 7074 ces.of the swept │ │ │ │ │ +00006720: 206c 696e 652e 2020 4f70 7469 6f6e 7320 line. Options │ │ │ │ │ +00006730: 6170 706c 6965 6420 746f 2074 6865 2073 applied to the s │ │ │ │ │ +00006740: 7765 6570 2c20 6865 7265 2063 756c 6c3d weep, here cull= │ │ │ │ │ +00006750: 6661 6c73 652c 2061 7265 0a74 7265 6174 false, are.treat │ │ │ │ │ +00006760: 6564 2061 7320 6f70 7469 6f6e 7320 666f ed as options fo │ │ │ │ │ +00006770: 7220 7468 6520 6765 6e65 7261 7465 6420 r the generated │ │ │ │ │ +00006780: 706f 6c79 676f 6e20 6f72 2070 6f6c 796c polygon or polyl │ │ │ │ │ +00006790: 696e 652e 2020 4f70 7469 6f6e 7320 6f66 ine. Options of │ │ │ │ │ +000067a0: 0a74 6865 2073 7765 7074 206c 696e 6520 .the swept line │ │ │ │ │ +000067b0: 6974 7365 6c66 2c20 6865 7265 206c 696e itself, here lin │ │ │ │ │ +000067c0: 6577 6964 7468 3d32 7074 2c20 6172 6520 ewidth=2pt, are │ │ │ │ │ +000067d0: 6967 6e6f 7265 642c 2074 686f 7567 6820 ignored, though │ │ │ │ │ +000067e0: 7769 7468 2061 0a77 6172 6e69 6e67 2e20 with a.warning. │ │ │ │ │ +000067f0: 2054 6869 7320 6465 6620 6973 2061 20e2 This def is a . │ │ │ │ │ +00006800: 809c 7665 6374 6f72 e280 9d20 6465 6669 ..vector... defi │ │ │ │ │ +00006810: 6e69 7469 6f6e 2c20 7768 6963 6820 6d75 nition, which mu │ │ │ │ │ +00006820: 7374 2062 6520 7265 6665 7265 6e63 6564 st be referenced │ │ │ │ │ +00006830: 0a77 6974 6820 7371 7561 7265 2062 7261 .with square bra │ │ │ │ │ +00006840: 636b 6574 732c 2065 2e67 2e20 5b66 6f6f ckets, e.g. [foo │ │ │ │ │ +00006850: 5d2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ].....File: sket │ │ │ │ │ +00006860: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00006870: 4e65 7374 6564 2073 7765 6570 732c 2020 Nested sweeps, │ │ │ │ │ +00006880: 4e65 7874 3a20 506f 6c79 676f 6e20 7377 Next: Polygon sw │ │ │ │ │ +00006890: 6565 7073 2c20 2050 7265 763a 2050 6f6c eeps, Prev: Pol │ │ │ │ │ +000068a0: 796c 696e 6520 7377 6565 7073 2c20 2055 yline sweeps, U │ │ │ │ │ +000068b0: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects │ │ │ │ │ +000068c0: 0a0a 322e 372e 3320 4e65 7374 6564 2073 ..2.7.3 Nested s │ │ │ │ │ +000068d0: 7765 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d weeps.---------- │ │ │ │ │ +000068e0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a57 6865 6e20 ---------..When │ │ │ │ │ +000068f0: 7468 6520 6365 6e74 6572 2070 6f69 6e74 the center point │ │ │ │ │ +00006900: 206f 6620 726f 7461 7469 6f6e 2069 7320 of rotation is │ │ │ │ │ +00006910: 6f6d 6974 7465 642c 2074 6865 206f 7269 omitted, the ori │ │ │ │ │ +00006920: 6769 6e20 6973 2061 7373 756d 6564 2e0a gin is assumed.. │ │ │ │ │ +00006930: 5768 656e 2061 2070 6f69 6e74 2068 6173 When a point has │ │ │ │ │ +00006940: 206f 6e6c 7920 7477 6f20 636f 6f72 6469 only two coordi │ │ │ │ │ +00006950: 6e61 7465 732c 2074 6865 7920 6172 6520 nates, they are │ │ │ │ │ +00006960: 7461 6b65 6e20 6173 2078 2061 6e64 2079 taken as x and y │ │ │ │ │ +00006970: 2c20 7769 7468 0a7a 3d30 2061 7373 756d , with.z=0 assum │ │ │ │ │ +00006980: 6564 2e20 2041 2074 6f72 6f69 6420 6973 ed. A toroid is │ │ │ │ │ +00006990: 2074 6865 7265 666f 7265 206f 6274 6169 therefore obtai │ │ │ │ │ +000069a0: 6e65 6420 7769 7468 2074 6869 7320 636f ned with this co │ │ │ │ │ +000069b0: 6465 2e0a 2020 6465 6620 6e5f 746f 726f de.. def n_toro │ │ │ │ │ +000069c0: 6964 5f73 6567 7320 3230 2020 2064 6566 id_segs 20 def │ │ │ │ │ +000069d0: 206e 5f63 6972 636c 655f 7365 6773 2031 n_circle_segs 1 │ │ │ │ │ +000069e0: 360a 2020 6465 6620 725f 6d69 6e6f 7220 6. def r_minor │ │ │ │ │ +000069f0: 3120 2020 2020 2020 2020 2064 6566 2072 1 def r │ │ │ │ │ +00006a00: 5f6d 616a 6f72 2031 2e35 0a20 2073 7765 _major 1.5. swe │ │ │ │ │ +00006a10: 6570 207b 206e 5f74 6f72 6f69 645f 7365 ep { n_toroid_se │ │ │ │ │ +00006a20: 6773 2c20 726f 7461 7465 2833 3630 202f gs, rotate(360 / │ │ │ │ │ +00006a30: 206e 5f74 6f72 6f69 645f 7365 6773 2c20 n_toroid_segs, │ │ │ │ │ +00006a40: 5b30 2c31 2c30 5d29 207d 0a20 2020 2073 [0,1,0]) }. s │ │ │ │ │ +00006a50: 7765 6570 207b 206e 5f63 6972 636c 655f weep { n_circle_ │ │ │ │ │ +00006a60: 7365 6773 2c20 726f 7461 7465 2833 3630 segs, rotate(360 │ │ │ │ │ +00006a70: 202f 206e 5f63 6972 636c 655f 7365 6773 / n_circle_segs │ │ │ │ │ +00006a80: 2c20 2872 5f6d 616a 6f72 2c30 2c30 2929 , (r_major,0,0)) │ │ │ │ │ +00006a90: 207d 200a 2020 2020 2020 2872 5f6d 616a } . (r_maj │ │ │ │ │ +00006aa0: 6f72 202b 2072 5f6d 696e 6f72 2c20 3029 or + r_minor, 0) │ │ │ │ │ +00006ab0: 0a20 2020 466f 7220 696e 7475 6974 696f . For intuitio │ │ │ │ │ +00006ac0: 6e2c 2074 6865 2069 6465 6120 6f66 2074 n, the idea of t │ │ │ │ │ +00006ad0: 6865 2063 6f64 6520 6973 2074 6f20 736b he code is to sk │ │ │ │ │ +00006ae0: 6574 6368 2061 2063 6972 636c 6520 746f etch a circle to │ │ │ │ │ +00006af0: 2074 6865 0a72 6967 6874 206f 6620 7468 the.right of th │ │ │ │ │ +00006b00: 6520 6f72 6967 696e 2069 6e20 7468 6520 e origin in the │ │ │ │ │ +00006b10: 7879 2d70 6c61 6e65 2c20 7468 656e 2072 xy-plane, then r │ │ │ │ │ +00006b20: 6f74 6174 6520 7468 6174 2063 6972 636c otate that circl │ │ │ │ │ +00006b30: 6520 226f 7574 206f 6620 7468 650a 706c e "out of the.pl │ │ │ │ │ +00006b40: 616e 6522 2061 626f 7574 2074 6865 2079 ane" about the y │ │ │ │ │ +00006b50: 2d61 7869 7320 746f 206d 616b 6520 7468 -axis to make th │ │ │ │ │ +00006b60: 6520 6669 6e61 6c20 6669 6775 7265 2e20 e final figure. │ │ │ │ │ +00006b70: 2054 6869 7320 7072 6f64 7563 6573 2074 This produces t │ │ │ │ │ +00006b80: 6865 0a66 6f6c 6c6f 7769 6e67 2e20 2028 he.following. ( │ │ │ │ │ +00006b90: 4120 7669 6577 2072 6f74 6174 696f 6e20 A view rotation │ │ │ │ │ +00006ba0: 616e 6420 736f 6d65 2061 7865 7320 6861 and some axes ha │ │ │ │ │ +00006bb0: 7665 2062 6565 6e20 6164 6465 642e 290a ve been added.). │ │ │ │ │ +00006bc0: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src="e │ │ │ │ │ +00006bd0: 7830 3930 2e70 6e67 2220 7465 7874 3d22 x090.png" text=" │ │ │ │ │ +00006be0: 496d 6167 6520 6578 3039 3020 6f6d 6974 Image ex090 omit │ │ │ │ │ +00006bf0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers │ │ │ │ │ +00006c00: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu │ │ │ │ │ +00006c10: 6d65 6e74 2e22 0008 5d0a 0a20 2020 5468 ment."..].. Th │ │ │ │ │ +00006c20: 6973 2065 7861 6d70 6c65 2061 6c73 6f20 is example also │ │ │ │ │ +00006c30: 7368 6f77 7320 7468 6174 2074 6865 2073 shows that the s │ │ │ │ │ +00006c40: 7765 7074 206f 626a 6563 7420 6d61 7920 wept object may │ │ │ │ │ +00006c50: 6974 7365 6c66 2062 6520 616e 6f74 6865 itself be anothe │ │ │ │ │ +00006c60: 720a e280 9873 7765 6570 e280 992e 2020 r....sweep.... │ │ │ │ │ +00006c70: 496e 2066 6163 742c 2069 7420 6d61 7920 In fact, it may │ │ │ │ │ +00006c80: 6265 205f 616e 795f 20e2 8098 736b 6574 be _any_ ...sket │ │ │ │ │ +00006c90: 6368 e280 9920 6578 7072 6573 7369 6f6e ch... expression │ │ │ │ │ +00006ca0: 2074 6861 7420 7265 7375 6c74 7320 696e that results in │ │ │ │ │ +00006cb0: 2061 0a6c 6973 7420 6f66 206f 6e65 206f a.list of one o │ │ │ │ │ +00006cc0: 7220 6d6f 7265 2070 6f69 6e74 7320 6f72 r more points or │ │ │ │ │ +00006cd0: 2c20 616c 7465 726e 6174 656c 792c 2061 , alternately, a │ │ │ │ │ +00006ce0: 206c 6973 7420 6f66 206f 6e65 206f 7220 list of one or │ │ │ │ │ +00006cf0: 6d6f 7265 0a70 6f6c 796c 696e 6573 2061 more.polylines a │ │ │ │ │ +00006d00: 6e64 2070 6f6c 7967 6f6e 732e 2020 5468 nd polygons. Th │ │ │ │ │ +00006d10: 6520 6c61 7474 6572 206b 696e 6420 6f66 e latter kind of │ │ │ │ │ +00006d20: 206c 6973 7420 6361 6e20 6265 2063 7265 list can be cre │ │ │ │ │ +00006d30: 6174 6564 2077 6974 6820 610a 7b20 7d2d ated with a.{ }- │ │ │ │ │ +00006d40: 656e 636c 6f73 6564 2062 6c6f 636b 2c20 enclosed block, │ │ │ │ │ +00006d50: 7065 7268 6170 7320 666f 6c6c 6f77 696e perhaps followin │ │ │ │ │ +00006d60: 6720 6120 7075 7420 6f72 2072 6570 6561 g a put or repea │ │ │ │ │ +00006d70: 742e 0a0a 1f0a 4669 6c65 3a20 736b 6574 t.....File: sket │ │ │ │ │ +00006d80: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00006d90: 506f 6c79 676f 6e20 7377 6565 7073 2c20 Polygon sweeps, │ │ │ │ │ +00006da0: 204e 6578 743a 2050 6f6c 796c 696e 6520 Next: Polyline │ │ │ │ │ +00006db0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ +00006dc0: 7572 652c 2020 5072 6576 3a20 4e65 7374 ure, Prev: Nest │ │ │ │ │ +00006dd0: 6564 2073 7765 6570 732c 2020 5570 3a20 ed sweeps, Up: │ │ │ │ │ +00006de0: 5377 6570 7420 6f62 6a65 6374 730a 0a32 Swept objects..2 │ │ │ │ │ +00006df0: 2e37 2e34 2050 6f6c 7967 6f6e 2073 7765 .7.4 Polygon swe │ │ │ │ │ +00006e00: 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d eps.------------ │ │ │ │ │ +00006e10: 2d2d 2d2d 2d2d 2d2d 0a0a 5377 6565 7069 --------..Sweepi │ │ │ │ │ +00006e20: 6e67 2061 2070 6f6c 7967 6f6e 2063 7265 ng a polygon cre │ │ │ │ │ +00006e30: 6174 6573 2061 2063 6c6f 7365 6420 7375 ates a closed su │ │ │ │ │ +00006e40: 7266 6163 6520 7769 7468 2070 6f6c 7967 rface with polyg │ │ │ │ │ +00006e50: 6f6e 7320 6174 2074 6865 2065 6e64 732c ons at the ends, │ │ │ │ │ +00006e60: 0a77 6869 6368 2061 7265 206a 7573 7420 .which are just │ │ │ │ │ +00006e70: 636f 7069 6573 206f 6620 7468 6520 6f72 copies of the or │ │ │ │ │ +00006e80: 6967 696e 616c 2c20 6170 7072 6f70 7269 iginal, appropri │ │ │ │ │ +00006e90: 6174 656c 7920 706f 7369 7469 6f6e 6564 ately positioned │ │ │ │ │ +00006ea0: 2e20 202a 4e6f 7465 0a53 6f6c 6964 2063 . *Note.Solid c │ │ │ │ │ +00006eb0: 6f69 6c20 6578 616d 706c 653a 3a2e 2020 oil example::. │ │ │ │ │ +00006ec0: 4f70 7469 6f6e 7320 6f6e 2074 6865 2073 Options on the s │ │ │ │ │ +00006ed0: 7765 7074 2070 6f6c 7967 6f6e 2c20 6966 wept polygon, if │ │ │ │ │ +00006ee0: 2074 6865 7920 6578 6973 742c 2061 7265 they exist, are │ │ │ │ │ +00006ef0: 0a61 7070 6c69 6564 2074 6f20 7468 6520 .applied to the │ │ │ │ │ +00006f00: 656e 6473 2e20 204f 7468 6572 7769 7365 ends. Otherwise │ │ │ │ │ +00006f10: 2074 6865 2073 7765 6570 206f 7074 696f the sweep optio │ │ │ │ │ +00006f20: 6e73 2061 7265 2075 7365 6420 7468 726f ns are used thro │ │ │ │ │ +00006f30: 7567 686f 7574 2e0a 0a1f 0a46 696c 653a ughout.....File: │ │ │ │ │ +00006f40: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00006f50: 6f64 653a 2050 6f6c 796c 696e 6520 7377 ode: Polyline sw │ │ │ │ │ +00006f60: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur │ │ │ │ │ +00006f70: 652c 2020 4e65 7874 3a20 4166 6669 6e65 e, Next: Affine │ │ │ │ │ +00006f80: 2061 7269 7468 6d65 7469 632c 2020 5072 arithmetic, Pr │ │ │ │ │ +00006f90: 6576 3a20 506f 6c79 676f 6e20 7377 6565 ev: Polygon swee │ │ │ │ │ +00006fa0: 7073 2c20 2055 703a 2053 7765 7074 206f ps, Up: Swept o │ │ │ │ │ +00006fb0: 626a 6563 7473 0a0a 322e 372e 3520 506f bjects..2.7.5 Po │ │ │ │ │ +00006fc0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ +00006fd0: 7468 2063 6c6f 7375 7265 0a2d 2d2d 2d2d th closure.----- │ │ │ │ │ 00006fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00007000: 2d0a 0a41 2070 6f6c 796c 696e 6520 7377 -..A polyline sw │ │ │ │ │ -00007010: 6565 7020 7769 7468 2061 2063 6c6f 7375 eep with a closu │ │ │ │ │ -00007020: 7265 2074 6167 2063 7265 6174 6573 2061 re tag creates a │ │ │ │ │ -00007030: 6e6f 7468 6572 206b 696e 6420 6f66 2063 nother kind of c │ │ │ │ │ -00007040: 6c6f 7365 640a 7375 7266 6163 652e 2020 losed.surface. │ │ │ │ │ -00007050: 4669 7273 742c 2074 6865 2070 6f6c 796c First, the polyl │ │ │ │ │ -00007060: 696e 6520 7365 676d 656e 7473 2061 7265 ine segments are │ │ │ │ │ -00007070: 2063 6f6e 6e65 6374 6564 2062 7920 6661 connected by fa │ │ │ │ │ -00007080: 6365 732c 206a 7573 7420 6173 0a77 6974 ces, just as.wit │ │ │ │ │ -00007090: 686f 7574 2074 6865 2063 6c6f 7375 7265 hout the closure │ │ │ │ │ -000070a0: 2074 6167 2e20 2054 6865 6e2c 2065 6163 tag. Then, eac │ │ │ │ │ -000070b0: 6820 7365 7420 6f66 2065 6e64 2070 6f69 h set of end poi │ │ │ │ │ -000070c0: 6e74 7320 6973 206a 6f69 6e65 6420 746f nts is joined to │ │ │ │ │ -000070d0: 206d 616b 650a 6120 706f 6c79 676f 6e2c make.a polygon, │ │ │ │ │ -000070e0: 206f 6e65 2066 6f72 2065 6163 6820 656e one for each en │ │ │ │ │ -000070f0: 642e 2020 4120 636f 6465 2066 6f72 2073 d. A code for s │ │ │ │ │ -00007100: 6576 6572 616c 2076 6965 7773 206f 6620 everal views of │ │ │ │ │ -00007110: 6120 6379 6c69 6e64 7269 6361 6c0a 7072 a cylindrical.pr │ │ │ │ │ -00007120: 6973 6d20 666f 6c6c 6f77 732e 0a20 2064 ism follows.. d │ │ │ │ │ -00007130: 6566 206e 5f63 796c 5f73 6567 7320 3230 ef n_cyl_segs 20 │ │ │ │ │ -00007140: 2020 6465 6620 6e5f 7669 6577 7320 3520 def n_views 5 │ │ │ │ │ -00007150: 2064 6566 2049 205b 312c 302c 305d 0a20 def I [1,0,0]. │ │ │ │ │ -00007160: 2064 6566 2065 6e64 6f70 7473 205b 6669 def endopts [fi │ │ │ │ │ -00007170: 6c6c 636f 6c6f 723d 6c69 6768 7467 7261 llcolor=lightgra │ │ │ │ │ -00007180: 795d 0a20 2072 6570 6561 7420 7b20 6e5f y]. repeat { n_ │ │ │ │ │ -00007190: 7669 6577 732c 2072 6f74 6174 6528 3138 views, rotate(18 │ │ │ │ │ -000071a0: 302f 6e5f 7669 6577 732c 205b 495d 2920 0/n_views, [I]) │ │ │ │ │ -000071b0: 7468 656e 2074 7261 6e73 6c61 7465 285b then translate([ │ │ │ │ │ -000071c0: 495d 202a 2032 2e31 2920 7d20 0a20 2020 I] * 2.1) } . │ │ │ │ │ -000071d0: 2073 7765 6570 5b65 6e64 6f70 7473 5d7b sweep[endopts]{ │ │ │ │ │ -000071e0: 206e 5f63 796c 5f73 6567 733c 3e2c 2072 n_cyl_segs<>, r │ │ │ │ │ -000071f0: 6f74 6174 6528 3336 302f 6e5f 6379 6c5f otate(360/n_cyl_ │ │ │ │ │ -00007200: 7365 6773 2c20 5b30 2c31 2c30 5d29 207d segs, [0,1,0]) } │ │ │ │ │ -00007210: 200a 2020 2020 2020 6c69 6e65 5b66 696c . line[fil │ │ │ │ │ -00007220: 6c63 6f6c 6f72 3d77 6869 7465 5d28 312c lcolor=white](1, │ │ │ │ │ -00007230: 2d31 2928 312c 3129 0a49 7420 7072 6f64 -1)(1,1).It prod │ │ │ │ │ -00007240: 7563 6573 2074 6869 7320 6472 6177 696e uces this drawin │ │ │ │ │ -00007250: 672e 0a0a 0008 5b69 6d61 6765 2073 7263 g.....[image src │ │ │ │ │ -00007260: 3d22 6578 3131 302e 706e 6722 2074 6578 ="ex110.png" tex │ │ │ │ │ -00007270: 743d 2249 6d61 6765 2065 7831 3130 206f t="Image ex110 o │ │ │ │ │ -00007280: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ -00007290: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ -000072a0: 6f63 756d 656e 742e 2200 085d 0a0a 5468 ocument."..]..Th │ │ │ │ │ -000072b0: 6520 6f70 7469 6f6e 7320 6f66 2074 6865 e options of the │ │ │ │ │ -000072c0: 2073 7765 7074 206c 696e 652c 2069 6620 swept line, if │ │ │ │ │ -000072d0: 616e 792c 2061 7265 2061 7070 6c69 6564 any, are applied │ │ │ │ │ -000072e0: 2074 6f20 7468 6520 6661 6365 7320 7072 to the faces pr │ │ │ │ │ -000072f0: 6f64 7563 6564 0a62 7920 7377 6565 7069 oduced.by sweepi │ │ │ │ │ -00007300: 6e67 2074 6865 206c 696e 652c 2062 7574 ng the line, but │ │ │ │ │ -00007310: 206e 6f74 2074 6865 2065 6e64 2070 6f6c not the end pol │ │ │ │ │ -00007320: 7967 6f6e 732e 2020 4f74 6865 7277 6973 ygons. Otherwis │ │ │ │ │ -00007330: 652c 2074 6865 2073 7765 6570 0a6f 7074 e, the sweep.opt │ │ │ │ │ -00007340: 696f 6e73 2061 7265 2061 7070 6c69 6564 ions are applied │ │ │ │ │ -00007350: 2074 6872 6f75 6768 6f75 742e 2020 5468 throughout. Th │ │ │ │ │ -00007360: 6520 6465 6620 696e 2074 6869 7320 6578 e def in this ex │ │ │ │ │ -00007370: 616d 706c 6520 6973 2061 6e20 e280 9c6f ample is an ...o │ │ │ │ │ -00007380: 7074 696f 6ee2 809d 0a64 6566 696e 6974 ption....definit │ │ │ │ │ -00007390: 696f 6e2e 2020 5265 6665 7265 6e63 6573 ion. References │ │ │ │ │ -000073a0: 2074 6f20 6f70 7469 6f6e 7320 6d75 7374 to options must │ │ │ │ │ -000073b0: 2062 6520 656e 636c 6f73 6564 2069 6e20 be enclosed in │ │ │ │ │ -000073c0: 7371 7561 7265 2062 7261 636b 6574 732c square brackets, │ │ │ │ │ -000073d0: 0a65 2e67 2e20 2020 5b66 6f6f 5d2e 2020 .e.g. [foo]. │ │ │ │ │ -000073e0: 596f 7520 6361 6e20 636f 6e63 6174 656e You can concaten │ │ │ │ │ -000073f0: 6174 6520 7365 7665 7261 6c20 7365 7473 ate several sets │ │ │ │ │ -00007400: 206f 6620 6f70 7469 6f6e 7320 7769 7468 of options with │ │ │ │ │ -00007410: 2061 2073 696e 676c 650a 7265 6665 7265 a single.refere │ │ │ │ │ -00007420: 6e63 652c 2065 2e67 2e20 2020 5b63 6f6c nce, e.g. [col │ │ │ │ │ -00007430: 6f72 2c20 7369 7a65 2c20 7374 796c 655d or, size, style] │ │ │ │ │ -00007440: 2020 776f 756c 6420 6361 7573 6520 7468 would cause th │ │ │ │ │ -00007450: 6520 6f70 7469 6f6e 0a64 6566 696e 6974 e option.definit │ │ │ │ │ -00007460: 696f 6e73 2066 6f72 20e2 8098 636f 6c6f ions for ...colo │ │ │ │ │ -00007470: 72e2 8099 2c20 e280 9873 697a 65e2 8099 r..., ...size... │ │ │ │ │ -00007480: 2c20 616e 6420 e280 9873 7479 6c65 e280 , and ...style.. │ │ │ │ │ -00007490: 9920 746f 2061 7070 6561 7220 696e 2073 . to appear in s │ │ │ │ │ -000074a0: 6571 7565 6e63 6520 696e 0a74 6865 206f equence in.the o │ │ │ │ │ -000074b0: 7574 7075 7420 6372 6561 7465 6420 6279 utput created by │ │ │ │ │ -000074c0: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch.. │ │ │ │ │ -000074d0: 9920 636f 6d6d 616e 6420 636f 6e74 6169 . command contai │ │ │ │ │ -000074e0: 6e69 6e67 2074 6865 2072 6566 6572 656e ning the referen │ │ │ │ │ -000074f0: 6365 2e0a 4861 7070 696c 792c 2074 6865 ce..Happily, the │ │ │ │ │ -00007500: 2073 796e 7461 7820 6f66 20e2 8098 736b syntax of ...sk │ │ │ │ │ -00007510: 6574 6368 e280 9920 6973 2073 7563 6820 etch... is such │ │ │ │ │ -00007520: 7468 6174 206f 7074 696f 6e73 2072 6566 that options ref │ │ │ │ │ -00007530: 6572 656e 6365 7320 6361 6e0a 6e65 7665 erences can.neve │ │ │ │ │ -00007540: 7220 6265 2063 6f6e 6675 7365 6420 7769 r be confused wi │ │ │ │ │ -00007550: 7468 2076 6563 746f 7220 7265 6665 7265 th vector refere │ │ │ │ │ -00007560: 6e63 6573 2e20 2057 6869 6c65 206e 6f74 nces. While not │ │ │ │ │ -00007570: 2061 7070 6172 656e 7420 696e 2074 6869 apparent in thi │ │ │ │ │ -00007580: 730a 6578 616d 706c 652c 206f 7074 696f s.example, optio │ │ │ │ │ -00007590: 6e73 2072 6566 6572 656e 6365 7320 6172 ns references ar │ │ │ │ │ -000075a0: 6520 7573 6566 756c 2077 6865 6e20 6465 e useful when de │ │ │ │ │ -000075b0: 6669 6e69 6e67 206d 616e 7920 6f62 6a65 fining many obje │ │ │ │ │ -000075c0: 6374 7320 7769 7468 2061 0a73 696d 696c cts with a.simil │ │ │ │ │ -000075d0: 6172 2061 7070 6561 7261 6e63 652e 0a0a ar appearance... │ │ │ │ │ -000075e0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -000075f0: 6e66 6f2c 2020 4e6f 6465 3a20 4166 6669 nfo, Node: Affi │ │ │ │ │ -00007600: 6e65 2061 7269 7468 6d65 7469 632c 2020 ne arithmetic, │ │ │ │ │ -00007610: 4e65 7874 3a20 4d6f 7265 2074 6f20 6c65 Next: More to le │ │ │ │ │ -00007620: 6172 6e2c 2020 5072 6576 3a20 506f 6c79 arn, Prev: Poly │ │ │ │ │ -00007630: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ -00007640: 2063 6c6f 7375 7265 2c20 2055 703a 2053 closure, Up: S │ │ │ │ │ -00007650: 7765 7074 206f 626a 6563 7473 0a0a 322e wept objects..2. │ │ │ │ │ -00007660: 372e 3620 4166 6669 6e65 2061 7269 7468 7.6 Affine arith │ │ │ │ │ -00007670: 6d65 7469 630a 2d2d 2d2d 2d2d 2d2d 2d2d metic.---------- │ │ │ │ │ -00007680: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a54 -------------..T │ │ │ │ │ -00007690: 6865 2061 7269 7468 6d65 7469 6320 5b49 he arithmetic [I │ │ │ │ │ -000076a0: 5d20 2a20 322e 3120 6162 6f76 6520 6869 ] * 2.1 above hi │ │ │ │ │ -000076b0: 6e74 7320 6174 2061 206c 6172 6765 7220 nts at a larger │ │ │ │ │ -000076c0: 7472 7574 682e 2020 e280 9853 6b65 7463 truth. ...Sketc │ │ │ │ │ -000076d0: 68e2 8099 0a6f 7065 7261 746f 7273 2077 h....operators w │ │ │ │ │ -000076e0: 6f72 6b20 6f6e 2073 6361 6c61 7273 2c20 ork on scalars, │ │ │ │ │ -000076f0: 7665 6374 6f72 732c 2070 6f69 6e74 732c vectors, points, │ │ │ │ │ -00007700: 2061 6e64 2074 7261 6e73 666f 726d 7320 and transforms │ │ │ │ │ -00007710: 6163 636f 7264 696e 6720 746f 0a74 6865 according to.the │ │ │ │ │ -00007720: 2067 656e 6572 616c 2072 756c 6573 206f general rules o │ │ │ │ │ -00007730: 6620 e280 9c61 6666 696e 6520 616c 6765 f ...affine alge │ │ │ │ │ -00007740: 6272 61e2 809d 2e20 2054 6869 7320 6361 bra.... This ca │ │ │ │ │ -00007750: 6e20 6265 2068 656c 7066 756c 2066 6f72 n be helpful for │ │ │ │ │ -00007760: 2073 6574 7469 6e67 0a75 7020 6469 6167 setting.up diag │ │ │ │ │ -00007770: 7261 6d73 2077 6974 6820 636f 6d70 7574 rams with comput │ │ │ │ │ -00007780: 6564 2067 656f 6d65 7472 792e 2020 466f ed geometry. Fo │ │ │ │ │ -00007790: 7220 6578 616d 706c 652c 2069 6620 796f r example, if yo │ │ │ │ │ -000077a0: 7520 6861 7665 2074 7269 616e 676c 650a u have triangle. │ │ │ │ │ -000077b0: 7665 7274 6963 6573 2028 7031 2920 7468 vertices (p1) th │ │ │ │ │ -000077c0: 726f 7567 6820 2870 3329 2061 6e64 206e rough (p3) and n │ │ │ │ │ -000077d0: 6565 6420 746f 2064 7261 7720 6120 756e eed to draw a un │ │ │ │ │ -000077e0: 6974 206e 6f72 6d61 6c20 7665 6374 6f72 it normal vector │ │ │ │ │ -000077f0: 0a70 6f69 6e74 696e 6720 6f75 7420 6f66 .pointing out of │ │ │ │ │ -00007800: 2074 6865 2063 656e 7465 7220 6f66 2074 the center of t │ │ │ │ │ -00007810: 6865 2074 7269 616e 676c 652c 2074 6869 he triangle, thi │ │ │ │ │ -00007820: 7320 636f 6465 2064 6f65 7320 7468 6520 s code does the │ │ │ │ │ -00007830: 7472 6963 6b2e 0a20 2064 6566 2070 3120 trick.. def p1 │ │ │ │ │ -00007840: 2831 2c30 2c30 2920 2064 6566 2070 3220 (1,0,0) def p2 │ │ │ │ │ -00007850: 2830 2c30 2e35 2c30 2920 2064 6566 2070 (0,0.5,0) def p │ │ │ │ │ -00007860: 3320 282d 302e 352c 2d31 2c32 290a 2020 3 (-0.5,-1,2). │ │ │ │ │ -00007870: 6465 6620 4f20 2830 2c30 2c30 290a 2020 def O (0,0,0). │ │ │ │ │ -00007880: 6465 6620 4e20 756e 6974 2820 2828 7033 def N unit( ((p3 │ │ │ │ │ -00007890: 2920 2d20 2870 3229 2920 2a20 2828 7031 ) - (p2)) * ((p1 │ │ │ │ │ -000078a0: 2920 2d20 2870 3229 2920 290a 2020 6465 ) - (p2)) ). de │ │ │ │ │ -000078b0: 6620 6e31 2028 2870 3129 2d28 4f29 202b f n1 ((p1)-(O) + │ │ │ │ │ -000078c0: 2028 7032 292d 284f 2920 2b20 2870 3329 (p2)-(O) + (p3) │ │ │ │ │ -000078d0: 2d28 4f29 2920 2f20 3320 2b20 284f 290a -(O)) / 3 + (O). │ │ │ │ │ -000078e0: 2020 6465 6620 6e32 2028 6e31 292b 5b4e def n2 (n1)+[N │ │ │ │ │ -000078f0: 5d0a 2020 706f 6c79 676f 6e28 7031 2928 ]. polygon(p1)( │ │ │ │ │ -00007900: 7032 2928 7033 290a 2020 6c69 6e65 5b61 p2)(p3). line[a │ │ │ │ │ -00007910: 7272 6f77 733d 2a2d 3e5d 286e 3129 286e rrows=*->](n1)(n │ │ │ │ │ -00007920: 3229 0a54 6865 2066 6972 7374 206c 696e 2).The first lin │ │ │ │ │ -00007930: 6520 636f 6d70 7574 6573 2074 6865 2063 e computes the c │ │ │ │ │ -00007940: 726f 7373 2070 726f 6475 6374 206f 6620 ross product of │ │ │ │ │ -00007950: 7477 6f20 6564 6765 2076 6563 746f 7273 two edge vectors │ │ │ │ │ -00007960: 206f 6620 7468 650a 7472 6961 6e67 6c65 of the.triangle │ │ │ │ │ -00007970: 2061 6e64 2073 6361 6c65 7320 6974 2074 and scales it t │ │ │ │ │ -00007980: 6f20 756e 6974 206c 656e 6774 682e 2020 o unit length. │ │ │ │ │ -00007990: 5468 6520 7365 636f 6e64 2063 6f6d 7075 The second compu │ │ │ │ │ -000079a0: 7465 7320 7468 6520 6176 6572 6167 650a tes the average. │ │ │ │ │ -000079b0: 6f66 2074 6865 2076 6572 7469 6365 732e of the vertices. │ │ │ │ │ -000079c0: 2020 4e6f 7465 2074 6861 7420 7375 6274 Note that subt │ │ │ │ │ -000079d0: 7261 6374 696f 6e20 616e 6420 6164 6469 raction and addi │ │ │ │ │ -000079e0: 7469 6f6e 206f 6620 7468 6520 6f72 6967 tion of the orig │ │ │ │ │ -000079f0: 696e 0a65 6666 6563 7469 7665 6c79 2063 in.effectively c │ │ │ │ │ -00007a00: 6f6e 7665 7274 2076 6563 746f 7273 2074 onvert vectors t │ │ │ │ │ -00007a10: 6f20 706f 696e 7473 2061 6e64 205f 7669 o points and _vi │ │ │ │ │ -00007a20: 6365 2076 6572 7361 5f2e 2020 5468 6520 ce versa_. The │ │ │ │ │ -00007a30: 6c69 6e65 0a63 6f6d 6d61 6e64 2064 7261 line.command dra │ │ │ │ │ -00007a40: 7773 2074 6865 206e 6f72 6d61 6c20 6174 ws the normal at │ │ │ │ │ -00007a50: 2074 6865 2063 6f72 7265 6374 2073 706f the correct spo │ │ │ │ │ -00007a60: 742e 0a0a 0008 5b69 6d61 6765 2073 7263 t.....[image src │ │ │ │ │ -00007a70: 3d22 6578 3130 302e 706e 6722 2074 6578 ="ex100.png" tex │ │ │ │ │ -00007a80: 743d 2249 6d61 6765 2065 7831 3030 206f t="Image ex100 o │ │ │ │ │ -00007a90: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ -00007aa0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ -00007ab0: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument."..].. │ │ │ │ │ -00007ac0: 2054 776f 2063 6176 6561 7473 2072 6567 Two caveats reg │ │ │ │ │ -00007ad0: 6172 6469 6e67 2074 6869 7320 6578 616d arding this exam │ │ │ │ │ -00007ae0: 706c 6520 7265 6d61 696e 2e20 2046 6972 ple remain. Fir │ │ │ │ │ -00007af0: 7374 2c20 7468 6520 6f6e 6c79 2077 6179 st, the only way │ │ │ │ │ -00007b00: 2074 6f0a 7573 6520 e280 9850 5354 7269 to.use ...PSTri │ │ │ │ │ -00007b10: 636b 73e2 8099 2d73 7479 6c65 2061 7272 cks...-style arr │ │ │ │ │ -00007b20: 6f77 7320 6973 2077 6974 6820 6172 726f ows is with arro │ │ │ │ │ -00007b30: 7773 3d2e 2020 5468 6520 616c 7465 726e ws=. The altern │ │ │ │ │ -00007b40: 6174 6976 6520 7379 6e74 6178 2066 6f72 ative syntax for │ │ │ │ │ -00007b50: 0ae2 8098 5053 5472 6963 6b73 e280 9920 ....PSTricks... │ │ │ │ │ -00007b60: 6172 726f 7773 2069 7320 6e6f 7420 616c arrows is not al │ │ │ │ │ -00007b70: 6c6f 7765 6420 696e 2073 6b65 7463 682e lowed in sketch. │ │ │ │ │ -00007b80: 2020 5365 636f 6e64 2c20 796f 7520 6d69 Second, you mi │ │ │ │ │ -00007b90: 6768 7420 6c69 6b65 2074 6f0a 656c 696d ght like to.elim │ │ │ │ │ -00007ba0: 696e 6174 6520 7468 6520 7468 6972 6420 inate the third │ │ │ │ │ -00007bb0: 6465 6620 616e 6420 7772 6974 6520 696e def and write in │ │ │ │ │ -00007bc0: 7374 6561 6420 7468 6520 666f 6c6c 6f77 stead the follow │ │ │ │ │ -00007bd0: 696e 672e 0a20 206c 696e 655b 6172 726f ing.. line[arro │ │ │ │ │ -00007be0: 7773 3d2a 2d3e 5d28 6e31 2920 286e 3129 ws=*->](n1) (n1) │ │ │ │ │ -00007bf0: 2b5b 4e5d 0a54 6869 7320 6973 206e 6f74 +[N].This is not │ │ │ │ │ -00007c00: 2061 6c6c 6f77 6564 2e20 2054 6865 2070 allowed. The p │ │ │ │ │ -00007c10: 6f69 6e74 206c 6973 7473 2069 6e20 6472 oint lists in dr │ │ │ │ │ -00007c20: 6177 6162 6c65 7320 6d61 7920 636f 6e73 awables may cons │ │ │ │ │ -00007c30: 6973 7420 6f6e 6c79 206f 660a 6578 706c ist only of.expl │ │ │ │ │ -00007c40: 6963 6974 2070 6f69 6e74 7320 6f72 2070 icit points or p │ │ │ │ │ -00007c50: 6f69 6e74 2072 6566 6572 656e 6365 732e oint references. │ │ │ │ │ -00007c60: 2020 596f 7520 6d61 792c 2068 6f77 6576 You may, howev │ │ │ │ │ -00007c70: 6572 2c20 7573 6520 6172 6974 686d 6574 er, use arithmet │ │ │ │ │ -00007c80: 6963 0a74 6f20 6361 6c63 756c 6174 6520 ic.to calculate │ │ │ │ │ -00007c90: 706f 696e 7420 636f 6d70 6f6e 656e 7473 point components │ │ │ │ │ -00007ca0: 2e20 2054 6865 2066 6f6c 6c6f 7769 6e67 . The following │ │ │ │ │ -00007cb0: 2077 6f72 6b73 2c20 7468 6f75 6768 2069 works, though i │ │ │ │ │ -00007cc0: 7427 7320 610a 6c69 7474 6c65 2063 756d t's a.little cum │ │ │ │ │ -00007cd0: 6265 7273 6f6d 652e 0a20 206c 696e 655b bersome.. line[ │ │ │ │ │ -00007ce0: 6172 726f 7773 3d2a 2d3e 5d28 6e31 2928 arrows=*->](n1)( │ │ │ │ │ -00007cf0: 286e 3129 2778 2b28 4e29 2778 2c20 286e (n1)'x+(N)'x, (n │ │ │ │ │ -00007d00: 3129 2779 2b28 4e29 2779 2c20 286e 3129 1)'y+(N)'y, (n1) │ │ │ │ │ -00007d10: 277a 2b28 4e29 277a 290a 4f62 7669 6f75 'z+(N)'z).Obviou │ │ │ │ │ -00007d20: 736c 792c 2074 6865 20e2 809c 7469 636b sly, the ...tick │ │ │ │ │ -00007d30: 206f 7065 7261 746f 72e2 809d 20e2 8098 operator... ... │ │ │ │ │ -00007d40: 2778 e280 9920 6578 7472 6163 7473 2063 'x... extracts c │ │ │ │ │ -00007d50: 6f6d 706f 6e65 6e74 7320 6f66 2070 6f69 omponents of poi │ │ │ │ │ -00007d60: 6e74 7320 616e 640a 7665 6374 6f72 732e nts and.vectors. │ │ │ │ │ -00007d70: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -00007d80: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4d6f .info, Node: Mo │ │ │ │ │ -00007d90: 7265 2074 6f20 6c65 6172 6e2c 2020 5072 re to learn, Pr │ │ │ │ │ -00007da0: 6576 3a20 4166 6669 6e65 2061 7269 7468 ev: Affine arith │ │ │ │ │ -00007db0: 6d65 7469 632c 2020 5570 3a20 5377 6570 metic, Up: Swep │ │ │ │ │ -00007dc0: 7420 6f62 6a65 6374 730a 0a32 2e37 2e37 t objects..2.7.7 │ │ │ │ │ -00007dd0: 204d 6f72 6520 746f 206c 6561 726e 0a2d More to learn.- │ │ │ │ │ -00007de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00007df0: 2d2d 0a0a 5468 6973 2069 7320 6e6f 7420 --..This is not │ │ │ │ │ -00007e00: 7468 6520 656e 6420 6f66 2074 6865 2073 the end of the s │ │ │ │ │ -00007e10: 746f 7279 206f 6e20 7377 6565 7073 2120 tory on sweeps! │ │ │ │ │ -00007e20: 2057 6520 696e 7669 7465 2074 6865 2072 We invite the r │ │ │ │ │ -00007e30: 6561 6465 7220 696e 746f 0a74 6865 206d eader into.the m │ │ │ │ │ -00007e40: 6169 6e20 626f 6479 206f 6620 7468 6973 ain body of this │ │ │ │ │ -00007e50: 2064 6f63 756d 656e 7461 7469 6f6e 202a documentation * │ │ │ │ │ -00007e60: 6e6f 7465 2053 7765 6570 733a 3a20 746f note Sweeps:: to │ │ │ │ │ -00007e70: 206c 6561 726e 206d 6f72 652e 0a0a 0008 learn more..... │ │ │ │ │ -00007e80: 5b69 6d61 6765 2073 7263 3d22 6578 3132 [image src="ex12 │ │ │ │ │ -00007e90: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00007ea0: 6765 2065 7831 3230 206f 6d69 7474 6564 ge ex120 omitted │ │ │ │ │ -00007eb0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00007ec0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00007ed0: 742e 2200 085d 0a0a 5768 6f20 6b6e 6f77 t."..]..Who know │ │ │ │ │ -00007ee0: 7320 7768 6572 6520 796f 7527 6c6c 2066 s where you'll f │ │ │ │ │ -00007ef0: 696e 6973 683f 0a0a 1f0a 4669 6c65 3a20 inish?....File: │ │ │ │ │ -00007f00: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00007f10: 6465 3a20 496e 7075 7420 6c61 6e67 7561 de: Input langua │ │ │ │ │ -00007f20: 6765 2c20 204e 6578 743a 2042 7569 6c64 ge, Next: Build │ │ │ │ │ -00007f30: 696e 6720 6120 6472 6177 696e 672c 2020 ing a drawing, │ │ │ │ │ -00007f40: 5072 6576 3a20 496e 7472 6f64 7563 7469 Prev: Introducti │ │ │ │ │ -00007f50: 6f6e 2062 7920 6578 616d 706c 652c 2020 on by example, │ │ │ │ │ -00007f60: 5570 3a20 546f 700a 0a33 2049 6e70 7574 Up: Top..3 Input │ │ │ │ │ -00007f70: 206c 616e 6775 6167 650a 2a2a 2a2a 2a2a language.****** │ │ │ │ │ -00007f80: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6973 **********..This │ │ │ │ │ -00007f90: 2063 6861 7074 6572 2064 6573 6372 6962 chapter describ │ │ │ │ │ -00007fa0: 6573 2074 6865 20e2 8098 736b 6574 6368 es the ...sketch │ │ │ │ │ -00007fb0: e280 9920 696e 7075 7420 6c61 6e67 7561 ... input langua │ │ │ │ │ -00007fc0: 6765 2069 6e20 6465 7461 696c 2e0a 0a2a ge in detail...* │ │ │ │ │ -00007fd0: 204d 656e 753a 0a0a 2a20 4c61 6e67 7561 Menu:..* Langua │ │ │ │ │ -00007fe0: 6765 2062 6173 6963 733a 3a20 2020 2020 ge basics:: │ │ │ │ │ -00007ff0: 2020 2020 2020 2020 4361 7365 2c20 7370 Case, sp │ │ │ │ │ -00008000: 6163 652c 2063 6f6d 6d65 6e74 732c 2069 ace, comments, i │ │ │ │ │ -00008010: 6e63 6c75 6465 2066 696c 6573 2e0a 2a20 nclude files..* │ │ │ │ │ -00008020: 4472 6177 6162 6c65 733a 3a20 2020 2020 Drawables:: │ │ │ │ │ -00008030: 2020 2020 2020 2020 2020 2020 2020 5468 Th │ │ │ │ │ -00008040: 696e 6773 2074 6861 7420 6361 6e20 6265 ings that can be │ │ │ │ │ -00008050: 2064 7261 776e 2e0a 2a20 4465 6669 6e69 drawn..* Defini │ │ │ │ │ -00008060: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: │ │ │ │ │ -00008070: 2020 2020 2020 2020 4769 7669 6e67 2074 Giving t │ │ │ │ │ -00008080: 6869 6e67 7320 6e61 6d65 732e 0a2a 2047 hings names..* G │ │ │ │ │ -00008090: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ -000080a0: 743a 3a20 2020 2020 2020 2020 2041 6666 t:: Aff │ │ │ │ │ -000080b0: 6563 7420 7468 6520 656e 7469 7265 2064 ect the entire d │ │ │ │ │ -000080c0: 7261 7769 6e67 2e0a 0a1f 0a46 696c 653a rawing.....File: │ │ │ │ │ -000080d0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -000080e0: 6f64 653a 204c 616e 6775 6167 6520 6261 ode: Language ba │ │ │ │ │ -000080f0: 7369 6373 2c20 204e 6578 743a 2044 7261 sics, Next: Dra │ │ │ │ │ -00008100: 7761 626c 6573 2c20 2050 7265 763a 2049 wables, Prev: I │ │ │ │ │ -00008110: 6e70 7574 206c 616e 6775 6167 652c 2020 nput language, │ │ │ │ │ -00008120: 5570 3a20 496e 7075 7420 6c61 6e67 7561 Up: Input langua │ │ │ │ │ -00008130: 6765 0a0a 332e 3120 4261 7369 6373 0a3d ge..3.1 Basics.= │ │ │ │ │ -00008140: 3d3d 3d3d 3d3d 3d3d 3d0a 0ae2 8098 536b =========.....Sk │ │ │ │ │ -00008150: 6574 6368 e280 9920 696e 7075 7420 6973 etch... input is │ │ │ │ │ -00008160: 2070 6c61 696e 2041 5343 4949 2074 6578 plain ASCII tex │ │ │ │ │ -00008170: 742c 2075 7375 616c 6c79 2073 746f 7265 t, usually store │ │ │ │ │ -00008180: 6420 696e 2061 6e20 696e 7075 7420 6669 d in an input fi │ │ │ │ │ -00008190: 6c65 2e20 2049 740a 6465 7363 7269 6265 le. It.describe │ │ │ │ │ -000081a0: 7320 6120 e280 9c73 6365 6e65 e280 9d2c s a ...scene..., │ │ │ │ │ -000081b0: 2073 6f20 7468 6520 736b 6574 6368 206c so the sketch l │ │ │ │ │ -000081c0: 616e 6775 6167 6520 6973 2061 20e2 809c anguage is a ... │ │ │ │ │ -000081d0: 7363 656e 6520 6465 7363 7269 7074 696f scene descriptio │ │ │ │ │ -000081e0: 6e0a 6c61 6e67 7561 6765 e280 9d2e 2020 n.language.... │ │ │ │ │ -000081f0: e280 9853 6b65 7463 68e2 8099 2069 6e70 ...Sketch... inp │ │ │ │ │ -00008200: 7574 2069 7320 616c 736f 20e2 809c 6465 ut is also ...de │ │ │ │ │ -00008210: 636c 6172 6174 6976 65e2 809d 2e20 2049 clarative.... I │ │ │ │ │ -00008220: 7420 6d65 7265 6c79 2064 6563 6c61 7265 t merely declare │ │ │ │ │ -00008230: 730a 7768 6174 2074 6865 2073 6365 6e65 s.what the scene │ │ │ │ │ -00008240: 206f 7567 6874 2074 6f20 6c6f 6f6b 206c ought to look l │ │ │ │ │ -00008250: 696b 6520 7768 656e 2064 7261 7769 6e67 ike when drawing │ │ │ │ │ -00008260: 2069 7320 636f 6d70 6c65 7465 2061 6e64 is complete and │ │ │ │ │ -00008270: 2073 6179 7320 7665 7279 0a6c 6974 746c says very.littl │ │ │ │ │ -00008280: 6520 6162 6f75 7420 686f 7720 e280 9873 e about how ...s │ │ │ │ │ -00008290: 6b65 7463 68e2 8099 2073 686f 756c 6420 ketch... should │ │ │ │ │ -000082a0: 646f 2069 7473 2077 6f72 6b2e 2020 e280 do its work. .. │ │ │ │ │ -000082b0: 9853 6b65 7463 68e2 8099 2063 6f6d 6d61 .Sketch... comma │ │ │ │ │ -000082c0: 6e64 7320 6172 6520 6e6f 740a 6578 6563 nds are not.exec │ │ │ │ │ -000082d0: 7574 6564 2073 6571 7565 6e74 6961 6c6c uted sequentiall │ │ │ │ │ -000082e0: 7920 6173 2069 6e20 7468 6520 7573 7561 y as in the usua │ │ │ │ │ -000082f0: 6c20 7072 6f67 7261 6d6d 696e 6720 6c61 l programming la │ │ │ │ │ -00008300: 6e67 7561 6765 2e20 2054 6865 7920 6d65 nguage. They me │ │ │ │ │ -00008310: 7265 6c79 0a63 6f6e 7472 6962 7574 6520 rely.contribute │ │ │ │ │ -00008320: 746f 2074 6861 7420 6465 636c 6172 6174 to that declarat │ │ │ │ │ -00008330: 696f 6e2e 0a0a 2020 2041 2066 6577 2073 ion... A few s │ │ │ │ │ -00008340: 796e 7461 6374 6963 2064 6574 6169 6c73 yntactic details │ │ │ │ │ -00008350: 2061 7265 2069 6d70 6f72 7461 6e74 2e20 are important. │ │ │ │ │ -00008360: 2043 6173 6520 6973 2073 6967 6e69 6669 Case is signifi │ │ │ │ │ -00008370: 6361 6e74 2069 6e20 7468 650a e280 9873 cant in the....s │ │ │ │ │ -00008380: 6b65 7463 68e2 8099 206c 616e 6775 6167 ketch... languag │ │ │ │ │ -00008390: 652e 2020 5769 7468 2061 2066 6577 2065 e. With a few e │ │ │ │ │ -000083a0: 7863 6570 7469 6f6e 732c 2077 6869 7465 xceptions, white │ │ │ │ │ -000083b0: 2073 7061 6365 2069 7320 6e6f 742e 2020 space is not. │ │ │ │ │ -000083c0: 5468 6973 0a69 6e63 6c75 6465 7320 6c69 This.includes li │ │ │ │ │ -000083d0: 6e65 2062 7265 616b 732e 2020 436f 6d6d ne breaks. Comm │ │ │ │ │ -000083e0: 656e 7473 2062 6567 696e 2077 6974 6820 ents begin with │ │ │ │ │ -000083f0: e280 9825 e280 9920 6f72 20e2 8098 23e2 ...%... or ...#. │ │ │ │ │ -00008400: 8099 2061 6e64 2065 7874 656e 6420 746f .. and extend to │ │ │ │ │ -00008410: 2074 6865 0a65 6e64 206f 6620 7468 6520 the.end of the │ │ │ │ │ -00008420: 6c69 6e65 2e20 2059 6f75 2063 616e 2064 line. You can d │ │ │ │ │ -00008430: 6973 6162 6c65 2061 2063 6875 6e6b 206f isable a chunk o │ │ │ │ │ -00008440: 6620 7379 6e74 6163 7469 6361 6c6c 7920 f syntactically │ │ │ │ │ -00008450: 636f 7272 6563 740a e280 9873 6b65 7463 correct....sketc │ │ │ │ │ -00008460: 68e2 8099 2063 6f64 6520 6279 2065 6e63 h... code by enc │ │ │ │ │ -00008470: 6c6f 7369 6e67 2069 7420 696e 2061 20e2 losing it in a . │ │ │ │ │ -00008480: 8098 6465 66e2 8099 2e20 2054 6865 7265 ..def.... There │ │ │ │ │ -00008490: 2069 7320 6120 7369 6d70 6c65 2022 696e is a simple "in │ │ │ │ │ -000084a0: 636c 7564 650a 6669 6c65 2220 6d65 6368 clude.file" mech │ │ │ │ │ -000084b0: 616e 6973 6d2e 2020 5468 6520 636f 6d6d anism. The comm │ │ │ │ │ -000084c0: 616e 640a 2020 696e 7075 747b 6f74 6865 and. input{othe │ │ │ │ │ -000084d0: 7266 696c 652e 736b 7d0a 6361 7573 6573 rfile.sk}.causes │ │ │ │ │ -000084e0: 2074 6865 2063 6f6e 7465 6e74 7320 6f66 the contents of │ │ │ │ │ -000084f0: 20e2 8098 6f74 6865 7266 696c 652e 736b ...otherfile.sk │ │ │ │ │ -00008500: e280 9920 746f 2062 6520 696e 7365 7274 ... to be insert │ │ │ │ │ -00008510: 6564 2061 7320 7468 6f75 6768 2074 6865 ed as though the │ │ │ │ │ -00008520: 7920 7765 7265 0a70 6172 7420 6f66 2074 y were.part of t │ │ │ │ │ -00008530: 6865 2063 7572 7265 6e74 2066 696c 652e he current file. │ │ │ │ │ -00008540: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2049 6465 ..* Menu:..* Ide │ │ │ │ │ -00008550: 6e74 6966 6965 7273 3a3a 2020 2020 2020 ntifiers:: │ │ │ │ │ -00008560: 2020 2020 2020 2020 2020 204e 616d 6573 Names │ │ │ │ │ -00008570: 2066 6f72 2074 6869 6e67 732e 0a2a 204b for things..* K │ │ │ │ │ -00008580: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved │ │ │ │ │ -00008590: 776f 7264 733a 3a20 2020 2020 204e 616d words:: Nam │ │ │ │ │ -000085a0: 6573 2079 6f75 2073 686f 756c 646e 2774 es you shouldn't │ │ │ │ │ -000085b0: 2075 7365 2e0a 2a20 4c69 7465 7261 6c73 use..* Literals │ │ │ │ │ -000085c0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -000085d0: 2020 2020 2020 436f 6e73 7461 6e74 7320 Constants │ │ │ │ │ -000085e0: 616e 6420 636f 6e73 7472 7563 746f 7273 and constructors │ │ │ │ │ -000085f0: 2e0a 2a20 4172 6974 686d 6574 6963 3a3a ..* Arithmetic:: │ │ │ │ │ -00008600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00008610: 2020 5275 6c65 7320 666f 7220 6578 7072 Rules for expr │ │ │ │ │ -00008620: 6573 7369 6f6e 732e 0a2a 204f 7074 696f essions..* Optio │ │ │ │ │ -00008630: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ -00008640: 2020 2020 2020 2020 204d 6f64 6966 7969 Modifyi │ │ │ │ │ -00008650: 6e67 206f 626a 6563 7420 6170 7065 6172 ng object appear │ │ │ │ │ -00008660: 616e 6365 2e0a 0a1f 0a46 696c 653a 2073 ance.....File: s │ │ │ │ │ -00008670: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -00008680: 653a 2049 6465 6e74 6966 6965 7273 2c20 e: Identifiers, │ │ │ │ │ -00008690: 204e 6578 743a 204b 6579 2061 6e64 2072 Next: Key and r │ │ │ │ │ -000086a0: 6573 6572 7665 6420 776f 7264 732c 2020 eserved words, │ │ │ │ │ -000086b0: 5072 6576 3a20 4c61 6e67 7561 6765 2062 Prev: Language b │ │ │ │ │ -000086c0: 6173 6963 732c 2020 5570 3a20 4c61 6e67 asics, Up: Lang │ │ │ │ │ -000086d0: 7561 6765 2062 6173 6963 730a 0a33 2e31 uage basics..3.1 │ │ │ │ │ -000086e0: 2e31 2049 6465 6e74 6966 6965 7273 0a2d .1 Identifiers.- │ │ │ │ │ -000086f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00008700: 0a0a 4964 656e 7469 6669 6572 7320 696e ..Identifiers in │ │ │ │ │ -00008710: 20e2 8098 736b 6574 6368 e280 9920 6172 ...sketch... ar │ │ │ │ │ -00008720: 6520 7265 6665 7265 6e63 6573 2074 6f20 e references to │ │ │ │ │ -00008730: 6561 726c 6965 722d 6465 6669 6e65 6420 earlier-defined │ │ │ │ │ -00008740: 6f70 7469 6f6e 732c 0a73 6361 6c61 7273 options,.scalars │ │ │ │ │ -00008750: 2c20 706f 696e 7473 2c20 7665 6374 6f72 , points, vector │ │ │ │ │ -00008760: 732c 2074 7261 6e73 666f 726d 732c 2064 s, transforms, d │ │ │ │ │ -00008770: 7261 7761 626c 6573 2c20 616e 6420 7461 rawables, and ta │ │ │ │ │ -00008780: 6773 2e20 2044 6566 696e 6974 696f 6e73 gs. Definitions │ │ │ │ │ -00008790: 0a61 7265 2065 7870 6c61 696e 6564 2069 .are explained i │ │ │ │ │ -000087a0: 6e20 2a6e 6f74 6520 4465 6669 6e69 7469 n *note Definiti │ │ │ │ │ -000087b0: 6f6e 733a 3a2e 0a0a 2020 2041 6e20 6964 ons::... An id │ │ │ │ │ -000087c0: 656e 7469 6669 6572 2063 6f6e 7369 7374 entifier consist │ │ │ │ │ -000087d0: 7320 6f66 2061 206c 6561 6469 6e67 206c s of a leading l │ │ │ │ │ -000087e0: 6574 7465 7220 666f 6c6c 6f77 6564 2062 etter followed b │ │ │ │ │ -000087f0: 7920 6c65 7474 6572 732c 0a6e 756d 6265 y letters,.numbe │ │ │ │ │ -00008800: 7273 2061 6e64 2075 6e64 6572 7363 6f72 rs and underscor │ │ │ │ │ -00008810: 6573 2e20 2054 6865 206c 6173 7420 6368 es. The last ch │ │ │ │ │ -00008820: 6172 6163 7465 7220 6d61 7920 5f6e 6f74 aracter may _not │ │ │ │ │ -00008830: 5f20 6265 2061 6e20 756e 6465 7273 636f _ be an undersco │ │ │ │ │ -00008840: 7265 2e0a 4b65 7977 6f72 6473 2063 616e re..Keywords can │ │ │ │ │ -00008850: 6e6f 7420 6265 2075 7365 6420 6173 2069 not be used as i │ │ │ │ │ -00008860: 6465 6e74 6966 6965 7273 2c20 616e 6420 dentifiers, and │ │ │ │ │ -00008870: 7265 7365 7276 6564 2077 6f72 6473 206f reserved words o │ │ │ │ │ -00008880: 7567 6874 2074 6f20 6265 0a61 766f 6964 ught to be.avoid │ │ │ │ │ -00008890: 6564 2e20 202a 4e6f 7465 204b 6579 2061 ed. *Note Key a │ │ │ │ │ -000088a0: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word │ │ │ │ │ -000088b0: 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 736b s::.....File: sk │ │ │ │ │ -000088c0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -000088d0: 3a20 4b65 7920 616e 6420 7265 7365 7276 : Key and reserv │ │ │ │ │ -000088e0: 6564 2077 6f72 6473 2c20 204e 6578 743a ed words, Next: │ │ │ │ │ -000088f0: 204c 6974 6572 616c 732c 2020 5072 6576 Literals, Prev │ │ │ │ │ -00008900: 3a20 4964 656e 7469 6669 6572 732c 2020 : Identifiers, │ │ │ │ │ -00008910: 5570 3a20 4c61 6e67 7561 6765 2062 6173 Up: Language bas │ │ │ │ │ -00008920: 6963 730a 0a33 2e31 2e32 204b 6579 2061 ics..3.1.2 Key a │ │ │ │ │ -00008930: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word │ │ │ │ │ -00008940: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.-------------- │ │ │ │ │ -00008950: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ -00008960: 5468 6520 6b65 7977 6f72 6473 206f 6620 The keywords of │ │ │ │ │ -00008970: e280 9873 6b65 7463 68e2 8099 2061 7265 ...sketch... are │ │ │ │ │ -00008980: 20e2 8098 7069 6374 7572 6562 6f78 e280 ...picturebox.. │ │ │ │ │ -00008990: 9920 e280 9863 7572 7665 e280 9920 e280 . ...curve... .. │ │ │ │ │ -000089a0: 9864 6566 e280 9920 e280 9864 6f74 73e2 .def... ...dots. │ │ │ │ │ -000089b0: 8099 20e2 8098 6672 616d 65e2 8099 0ae2 .. ...frame..... │ │ │ │ │ -000089c0: 8098 676c 6f62 616c e280 9920 e280 9869 ..global... ...i │ │ │ │ │ -000089d0: 6e70 7574 e280 9920 e280 986c 696e 65e2 nput... ...line. │ │ │ │ │ -000089e0: 8099 20e2 8098 706f 6c79 676f 6ee2 8099 .. ...polygon... │ │ │ │ │ -000089f0: 20e2 8098 7075 74e2 8099 20e2 8098 7265 ...put... ...re │ │ │ │ │ -00008a00: 7065 6174 e280 9920 e280 9873 6574 e280 peat... ...set.. │ │ │ │ │ -00008a10: 9920 e280 9873 7765 6570 e280 9920 616e . ...sweep... an │ │ │ │ │ -00008a20: 640a e280 9874 6865 6ee2 8099 2e20 2054 d....then.... T │ │ │ │ │ -00008a30: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... │ │ │ │ │ -00008a40: 7061 7273 6572 2077 696c 6c20 6e6f 7465 parser will note │ │ │ │ │ -00008a50: 2061 2073 796e 7461 7820 6572 726f 7220 a syntax error │ │ │ │ │ -00008a60: 6966 2061 6e79 206f 6620 7468 6573 650a if any of these. │ │ │ │ │ -00008a70: 6172 6520 7573 6564 2069 6e20 706c 6163 are used in plac │ │ │ │ │ -00008a80: 6520 6f66 2061 2070 726f 7065 7220 6964 e of a proper id │ │ │ │ │ -00008a90: 656e 7469 6669 6572 2e0a 0a20 2020 496e entifier... In │ │ │ │ │ -00008aa0: 2061 6464 6974 696f 6e2c 2074 6865 7265 addition, there │ │ │ │ │ -00008ab0: 2061 7265 2072 6573 6572 7665 6420 776f are reserved wo │ │ │ │ │ -00008ac0: 7264 7320 7468 6174 2063 616e 2063 7572 rds that can cur │ │ │ │ │ -00008ad0: 7265 6e74 6c79 2062 6520 6465 6669 6e65 rently be define │ │ │ │ │ -00008ae0: 640a 6279 2074 6865 2075 7365 722c 2062 d.by the user, b │ │ │ │ │ -00008af0: 7574 2077 6974 6820 7468 6520 7269 736b ut with the risk │ │ │ │ │ -00008b00: 2074 6861 7420 6675 7475 7265 2076 6572 that future ver │ │ │ │ │ -00008b10: 7369 6f6e 7320 6f66 20e2 8098 736b 6574 sions of ...sket │ │ │ │ │ -00008b20: 6368 e280 9920 7769 6c6c 0a72 656a 6563 ch... will.rejec │ │ │ │ │ -00008b30: 7420 7468 6f73 6520 6465 6669 6e69 7469 t those definiti │ │ │ │ │ -00008b40: 6f6e 732e 2020 5468 6520 7265 7365 7276 ons. The reserv │ │ │ │ │ -00008b50: 6564 2077 6f72 6473 2061 7265 20e2 8098 ed words are ... │ │ │ │ │ -00008b60: 6163 6f73 e280 9920 e280 9861 7369 6ee2 acos... ...asin. │ │ │ │ │ -00008b70: 8099 20e2 8098 6174 616e 32e2 8099 0ae2 .. ...atan2..... │ │ │ │ │ -00008b80: 8098 636f 73e2 8099 20e2 8098 696e 7665 ..cos... ...inve │ │ │ │ │ -00008b90: 7273 65e2 8099 20e2 8098 7065 7273 7065 rse... ...perspe │ │ │ │ │ -00008ba0: 6374 6976 65e2 8099 20e2 8098 7072 6f6a ctive... ...proj │ │ │ │ │ -00008bb0: 6563 74e2 8099 20e2 8098 726f 7461 7465 ect... ...rotate │ │ │ │ │ -00008bc0: e280 9920 e280 9873 6361 6c65 e280 9920 ... ...scale... │ │ │ │ │ -00008bd0: e280 9873 696e e280 9920 e280 9873 7065 ...sin... ...spe │ │ │ │ │ -00008be0: 6369 616c e280 990a e280 9873 7172 74e2 cial.......sqrt. │ │ │ │ │ -00008bf0: 8099 20e2 8098 7472 616e 736c 6174 65e2 .. ...translate. │ │ │ │ │ -00008c00: 8099 20e2 8098 756e 6974 e280 9920 616e .. ...unit... an │ │ │ │ │ -00008c10: 6420 e280 9876 6965 77e2 8099 2e0a 0a1f d ...view....... │ │ │ │ │ -00008c20: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -00008c30: 666f 2c20 204e 6f64 653a 204c 6974 6572 fo, Node: Liter │ │ │ │ │ -00008c40: 616c 732c 2020 4e65 7874 3a20 4172 6974 als, Next: Arit │ │ │ │ │ -00008c50: 686d 6574 6963 2c20 2050 7265 763a 204b hmetic, Prev: K │ │ │ │ │ -00008c60: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved │ │ │ │ │ -00008c70: 776f 7264 732c 2020 5570 3a20 4c61 6e67 words, Up: Lang │ │ │ │ │ -00008c80: 7561 6765 2062 6173 6963 730a 0a33 2e31 uage basics..3.1 │ │ │ │ │ -00008c90: 2e33 204c 6974 6572 616c 730a 2d2d 2d2d .3 Literals.---- │ │ │ │ │ -00008ca0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4c69 7465 ----------..Lite │ │ │ │ │ -00008cb0: 7261 6c73 2069 6e20 e280 9873 6b65 7463 rals in ...sketc │ │ │ │ │ -00008cc0: 68e2 8099 2069 6e63 6c75 6465 2073 6361 h... include sca │ │ │ │ │ -00008cd0: 6c61 7273 2c20 706f 696e 7473 2c20 7665 lars, points, ve │ │ │ │ │ -00008ce0: 6374 6f72 732c 2061 6e64 2074 7261 6e73 ctors, and trans │ │ │ │ │ -00008cf0: 666f 726d 732e 0a4c 6974 6572 616c 732c forms..Literals, │ │ │ │ │ -00008d00: 2061 6c6f 6e67 2077 6974 6820 6465 6669 along with defi │ │ │ │ │ -00008d10: 6e65 6420 6f62 6a65 6374 2072 6566 6572 ned object refer │ │ │ │ │ -00008d20: 656e 6365 732c 2061 7265 2075 7365 6420 ences, are used │ │ │ │ │ -00008d30: 696e 2061 7269 7468 6d65 7469 630a 6578 in arithmetic.ex │ │ │ │ │ -00008d40: 7072 6573 7369 6f6e 732e 2020 2a4e 6f74 pressions. *Not │ │ │ │ │ -00008d50: 6520 4172 6974 686d 6574 6963 3a3a 2e0a e Arithmetic::.. │ │ │ │ │ -00008d60: 0a2a 204d 656e 753a 0a0a 2a20 5363 616c .* Menu:..* Scal │ │ │ │ │ -00008d70: 6172 206c 6974 6572 616c 733a 3a20 2020 ar literals:: │ │ │ │ │ -00008d80: 2020 2020 2020 2020 2020 4a75 7374 2074 Just t │ │ │ │ │ -00008d90: 6865 206e 756d 6265 7273 2e0a 2a20 506f he numbers..* Po │ │ │ │ │ -00008da0: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l │ │ │ │ │ -00008db0: 6974 6572 616c 733a 3a20 2020 3364 2071 iterals:: 3d q │ │ │ │ │ -00008dc0: 7561 6e74 6974 6965 732e 0a2a 2054 7261 uantities..* Tra │ │ │ │ │ -00008dd0: 6e73 666f 726d 206c 6974 6572 616c 733a nsform literals: │ │ │ │ │ -00008de0: 3a20 2020 2020 2020 2020 204d 6174 7269 : Matri │ │ │ │ │ -00008df0: 7820 666f 726d 2e0a 0a1f 0a46 696c 653a x form.....File: │ │ │ │ │ -00008e00: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -00008e10: 6f64 653a 2053 6361 6c61 7220 6c69 7465 ode: Scalar lite │ │ │ │ │ -00008e20: 7261 6c73 2c20 204e 6578 743a 2050 6f69 rals, Next: Poi │ │ │ │ │ -00008e30: 6e74 2061 6e64 2076 6563 746f 7220 6c69 nt and vector li │ │ │ │ │ -00008e40: 7465 7261 6c73 2c20 2050 7265 763a 204c terals, Prev: L │ │ │ │ │ -00008e50: 6974 6572 616c 732c 2020 5570 3a20 4c69 iterals, Up: Li │ │ │ │ │ -00008e60: 7465 7261 6c73 0a0a 332e 312e 332e 3120 terals..3.1.3.1 │ │ │ │ │ -00008e70: 5363 616c 6172 206c 6974 6572 616c 730a Scalar literals. │ │ │ │ │ +00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 -------------..A │ │ │ │ │ +00007000: 2070 6f6c 796c 696e 6520 7377 6565 7020 polyline sweep │ │ │ │ │ +00007010: 7769 7468 2061 2063 6c6f 7375 7265 2074 with a closure t │ │ │ │ │ +00007020: 6167 2063 7265 6174 6573 2061 6e6f 7468 ag creates anoth │ │ │ │ │ +00007030: 6572 206b 696e 6420 6f66 2063 6c6f 7365 er kind of close │ │ │ │ │ +00007040: 640a 7375 7266 6163 652e 2020 4669 7273 d.surface. Firs │ │ │ │ │ +00007050: 742c 2074 6865 2070 6f6c 796c 696e 6520 t, the polyline │ │ │ │ │ +00007060: 7365 676d 656e 7473 2061 7265 2063 6f6e segments are con │ │ │ │ │ +00007070: 6e65 6374 6564 2062 7920 6661 6365 732c nected by faces, │ │ │ │ │ +00007080: 206a 7573 7420 6173 0a77 6974 686f 7574 just as.without │ │ │ │ │ +00007090: 2074 6865 2063 6c6f 7375 7265 2074 6167 the closure tag │ │ │ │ │ +000070a0: 2e20 2054 6865 6e2c 2065 6163 6820 7365 . Then, each se │ │ │ │ │ +000070b0: 7420 6f66 2065 6e64 2070 6f69 6e74 7320 t of end points │ │ │ │ │ +000070c0: 6973 206a 6f69 6e65 6420 746f 206d 616b is joined to mak │ │ │ │ │ +000070d0: 650a 6120 706f 6c79 676f 6e2c 206f 6e65 e.a polygon, one │ │ │ │ │ +000070e0: 2066 6f72 2065 6163 6820 656e 642e 2020 for each end. │ │ │ │ │ +000070f0: 4120 636f 6465 2066 6f72 2073 6576 6572 A code for sever │ │ │ │ │ +00007100: 616c 2076 6965 7773 206f 6620 6120 6379 al views of a cy │ │ │ │ │ +00007110: 6c69 6e64 7269 6361 6c0a 7072 6973 6d20 lindrical.prism │ │ │ │ │ +00007120: 666f 6c6c 6f77 732e 0a20 2064 6566 206e follows.. def n │ │ │ │ │ +00007130: 5f63 796c 5f73 6567 7320 3230 2020 6465 _cyl_segs 20 de │ │ │ │ │ +00007140: 6620 6e5f 7669 6577 7320 3520 2064 6566 f n_views 5 def │ │ │ │ │ +00007150: 2049 205b 312c 302c 305d 0a20 2064 6566 I [1,0,0]. def │ │ │ │ │ +00007160: 2065 6e64 6f70 7473 205b 6669 6c6c 636f endopts [fillco │ │ │ │ │ +00007170: 6c6f 723d 6c69 6768 7467 7261 795d 0a20 lor=lightgray]. │ │ │ │ │ +00007180: 2072 6570 6561 7420 7b20 6e5f 7669 6577 repeat { n_view │ │ │ │ │ +00007190: 732c 2072 6f74 6174 6528 3138 302f 6e5f s, rotate(180/n_ │ │ │ │ │ +000071a0: 7669 6577 732c 205b 495d 2920 7468 656e views, [I]) then │ │ │ │ │ +000071b0: 2074 7261 6e73 6c61 7465 285b 495d 202a translate([I] * │ │ │ │ │ +000071c0: 2032 2e31 2920 7d20 0a20 2020 2073 7765 2.1) } . swe │ │ │ │ │ +000071d0: 6570 5b65 6e64 6f70 7473 5d7b 206e 5f63 ep[endopts]{ n_c │ │ │ │ │ +000071e0: 796c 5f73 6567 733c 3e2c 2072 6f74 6174 yl_segs<>, rotat │ │ │ │ │ +000071f0: 6528 3336 302f 6e5f 6379 6c5f 7365 6773 e(360/n_cyl_segs │ │ │ │ │ +00007200: 2c20 5b30 2c31 2c30 5d29 207d 200a 2020 , [0,1,0]) } . │ │ │ │ │ +00007210: 2020 2020 6c69 6e65 5b66 696c 6c63 6f6c line[fillcol │ │ │ │ │ +00007220: 6f72 3d77 6869 7465 5d28 312c 2d31 2928 or=white](1,-1)( │ │ │ │ │ +00007230: 312c 3129 0a49 7420 7072 6f64 7563 6573 1,1).It produces │ │ │ │ │ +00007240: 2074 6869 7320 6472 6177 696e 672e 0a0a this drawing... │ │ │ │ │ +00007250: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00007260: 3131 302e 706e 6722 2074 6578 743d 2249 110.png" text="I │ │ │ │ │ +00007270: 6d61 6765 2065 7831 3130 206f 6d69 7474 mage ex110 omitt │ │ │ │ │ +00007280: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00007290: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +000072a0: 656e 742e 2200 085d 0a0a 5468 6520 6f70 ent."..]..The op │ │ │ │ │ +000072b0: 7469 6f6e 7320 6f66 2074 6865 2073 7765 tions of the swe │ │ │ │ │ +000072c0: 7074 206c 696e 652c 2069 6620 616e 792c pt line, if any, │ │ │ │ │ +000072d0: 2061 7265 2061 7070 6c69 6564 2074 6f20 are applied to │ │ │ │ │ +000072e0: 7468 6520 6661 6365 7320 7072 6f64 7563 the faces produc │ │ │ │ │ +000072f0: 6564 0a62 7920 7377 6565 7069 6e67 2074 ed.by sweeping t │ │ │ │ │ +00007300: 6865 206c 696e 652c 2062 7574 206e 6f74 he line, but not │ │ │ │ │ +00007310: 2074 6865 2065 6e64 2070 6f6c 7967 6f6e the end polygon │ │ │ │ │ +00007320: 732e 2020 4f74 6865 7277 6973 652c 2074 s. Otherwise, t │ │ │ │ │ +00007330: 6865 2073 7765 6570 0a6f 7074 696f 6e73 he sweep.options │ │ │ │ │ +00007340: 2061 7265 2061 7070 6c69 6564 2074 6872 are applied thr │ │ │ │ │ +00007350: 6f75 6768 6f75 742e 2020 5468 6520 6465 oughout. The de │ │ │ │ │ +00007360: 6620 696e 2074 6869 7320 6578 616d 706c f in this exampl │ │ │ │ │ +00007370: 6520 6973 2061 6e20 e280 9c6f 7074 696f e is an ...optio │ │ │ │ │ +00007380: 6ee2 809d 0a64 6566 696e 6974 696f 6e2e n....definition. │ │ │ │ │ +00007390: 2020 5265 6665 7265 6e63 6573 2074 6f20 References to │ │ │ │ │ +000073a0: 6f70 7469 6f6e 7320 6d75 7374 2062 6520 options must be │ │ │ │ │ +000073b0: 656e 636c 6f73 6564 2069 6e20 7371 7561 enclosed in squa │ │ │ │ │ +000073c0: 7265 2062 7261 636b 6574 732c 0a65 2e67 re brackets,.e.g │ │ │ │ │ +000073d0: 2e20 2020 5b66 6f6f 5d2e 2020 596f 7520 . [foo]. You │ │ │ │ │ +000073e0: 6361 6e20 636f 6e63 6174 656e 6174 6520 can concatenate │ │ │ │ │ +000073f0: 7365 7665 7261 6c20 7365 7473 206f 6620 several sets of │ │ │ │ │ +00007400: 6f70 7469 6f6e 7320 7769 7468 2061 2073 options with a s │ │ │ │ │ +00007410: 696e 676c 650a 7265 6665 7265 6e63 652c ingle.reference, │ │ │ │ │ +00007420: 2065 2e67 2e20 2020 5b63 6f6c 6f72 2c20 e.g. [color, │ │ │ │ │ +00007430: 7369 7a65 2c20 7374 796c 655d 2020 776f size, style] wo │ │ │ │ │ +00007440: 756c 6420 6361 7573 6520 7468 6520 6f70 uld cause the op │ │ │ │ │ +00007450: 7469 6f6e 0a64 6566 696e 6974 696f 6e73 tion.definitions │ │ │ │ │ +00007460: 2066 6f72 20e2 8098 636f 6c6f 72e2 8099 for ...color... │ │ │ │ │ +00007470: 2c20 e280 9873 697a 65e2 8099 2c20 616e , ...size..., an │ │ │ │ │ +00007480: 6420 e280 9873 7479 6c65 e280 9920 746f d ...style... to │ │ │ │ │ +00007490: 2061 7070 6561 7220 696e 2073 6571 7565 appear in seque │ │ │ │ │ +000074a0: 6e63 6520 696e 0a74 6865 206f 7574 7075 nce in.the outpu │ │ │ │ │ +000074b0: 7420 6372 6561 7465 6420 6279 2074 6865 t created by the │ │ │ │ │ +000074c0: 20e2 8098 736b 6574 6368 e280 9920 636f ...sketch... co │ │ │ │ │ +000074d0: 6d6d 616e 6420 636f 6e74 6169 6e69 6e67 mmand containing │ │ │ │ │ +000074e0: 2074 6865 2072 6566 6572 656e 6365 2e0a the reference.. │ │ │ │ │ +000074f0: 4861 7070 696c 792c 2074 6865 2073 796e Happily, the syn │ │ │ │ │ +00007500: 7461 7820 6f66 20e2 8098 736b 6574 6368 tax of ...sketch │ │ │ │ │ +00007510: e280 9920 6973 2073 7563 6820 7468 6174 ... is such that │ │ │ │ │ +00007520: 206f 7074 696f 6e73 2072 6566 6572 656e options referen │ │ │ │ │ +00007530: 6365 7320 6361 6e0a 6e65 7665 7220 6265 ces can.never be │ │ │ │ │ +00007540: 2063 6f6e 6675 7365 6420 7769 7468 2076 confused with v │ │ │ │ │ +00007550: 6563 746f 7220 7265 6665 7265 6e63 6573 ector references │ │ │ │ │ +00007560: 2e20 2057 6869 6c65 206e 6f74 2061 7070 . While not app │ │ │ │ │ +00007570: 6172 656e 7420 696e 2074 6869 730a 6578 arent in this.ex │ │ │ │ │ +00007580: 616d 706c 652c 206f 7074 696f 6e73 2072 ample, options r │ │ │ │ │ +00007590: 6566 6572 656e 6365 7320 6172 6520 7573 eferences are us │ │ │ │ │ +000075a0: 6566 756c 2077 6865 6e20 6465 6669 6e69 eful when defini │ │ │ │ │ +000075b0: 6e67 206d 616e 7920 6f62 6a65 6374 7320 ng many objects │ │ │ │ │ +000075c0: 7769 7468 2061 0a73 696d 696c 6172 2061 with a.similar a │ │ │ │ │ +000075d0: 7070 6561 7261 6e63 652e 0a0a 1f0a 4669 ppearance.....Fi │ │ │ │ │ +000075e0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +000075f0: 2020 4e6f 6465 3a20 4166 6669 6e65 2061 Node: Affine a │ │ │ │ │ +00007600: 7269 7468 6d65 7469 632c 2020 4e65 7874 rithmetic, Next │ │ │ │ │ +00007610: 3a20 4d6f 7265 2074 6f20 6c65 6172 6e2c : More to learn, │ │ │ │ │ +00007620: 2020 5072 6576 3a20 506f 6c79 6c69 6e65 Prev: Polyline │ │ │ │ │ +00007630: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ +00007640: 7375 7265 2c20 2055 703a 2053 7765 7074 sure, Up: Swept │ │ │ │ │ +00007650: 206f 626a 6563 7473 0a0a 322e 372e 3620 objects..2.7.6 │ │ │ │ │ +00007660: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ +00007670: 630a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d c.-------------- │ │ │ │ │ +00007680: 2d2d 2d2d 2d2d 2d2d 2d0a 0a54 6865 2061 ---------..The a │ │ │ │ │ +00007690: 7269 7468 6d65 7469 6320 5b49 5d20 2a20 rithmetic [I] * │ │ │ │ │ +000076a0: 322e 3120 6162 6f76 6520 6869 6e74 7320 2.1 above hints │ │ │ │ │ +000076b0: 6174 2061 206c 6172 6765 7220 7472 7574 at a larger trut │ │ │ │ │ +000076c0: 682e 2020 e280 9853 6b65 7463 68e2 8099 h. ...Sketch... │ │ │ │ │ +000076d0: 0a6f 7065 7261 746f 7273 2077 6f72 6b20 .operators work │ │ │ │ │ +000076e0: 6f6e 2073 6361 6c61 7273 2c20 7665 6374 on scalars, vect │ │ │ │ │ +000076f0: 6f72 732c 2070 6f69 6e74 732c 2061 6e64 ors, points, and │ │ │ │ │ +00007700: 2074 7261 6e73 666f 726d 7320 6163 636f transforms acco │ │ │ │ │ +00007710: 7264 696e 6720 746f 0a74 6865 2067 656e rding to.the gen │ │ │ │ │ +00007720: 6572 616c 2072 756c 6573 206f 6620 e280 eral rules of .. │ │ │ │ │ +00007730: 9c61 6666 696e 6520 616c 6765 6272 61e2 .affine algebra. │ │ │ │ │ +00007740: 809d 2e20 2054 6869 7320 6361 6e20 6265 ... This can be │ │ │ │ │ +00007750: 2068 656c 7066 756c 2066 6f72 2073 6574 helpful for set │ │ │ │ │ +00007760: 7469 6e67 0a75 7020 6469 6167 7261 6d73 ting.up diagrams │ │ │ │ │ +00007770: 2077 6974 6820 636f 6d70 7574 6564 2067 with computed g │ │ │ │ │ +00007780: 656f 6d65 7472 792e 2020 466f 7220 6578 eometry. For ex │ │ │ │ │ +00007790: 616d 706c 652c 2069 6620 796f 7520 6861 ample, if you ha │ │ │ │ │ +000077a0: 7665 2074 7269 616e 676c 650a 7665 7274 ve triangle.vert │ │ │ │ │ +000077b0: 6963 6573 2028 7031 2920 7468 726f 7567 ices (p1) throug │ │ │ │ │ +000077c0: 6820 2870 3329 2061 6e64 206e 6565 6420 h (p3) and need │ │ │ │ │ +000077d0: 746f 2064 7261 7720 6120 756e 6974 206e to draw a unit n │ │ │ │ │ +000077e0: 6f72 6d61 6c20 7665 6374 6f72 0a70 6f69 ormal vector.poi │ │ │ │ │ +000077f0: 6e74 696e 6720 6f75 7420 6f66 2074 6865 nting out of the │ │ │ │ │ +00007800: 2063 656e 7465 7220 6f66 2074 6865 2074 center of the t │ │ │ │ │ +00007810: 7269 616e 676c 652c 2074 6869 7320 636f riangle, this co │ │ │ │ │ +00007820: 6465 2064 6f65 7320 7468 6520 7472 6963 de does the tric │ │ │ │ │ +00007830: 6b2e 0a20 2064 6566 2070 3120 2831 2c30 k.. def p1 (1,0 │ │ │ │ │ +00007840: 2c30 2920 2064 6566 2070 3220 2830 2c30 ,0) def p2 (0,0 │ │ │ │ │ +00007850: 2e35 2c30 2920 2064 6566 2070 3320 282d .5,0) def p3 (- │ │ │ │ │ +00007860: 302e 352c 2d31 2c32 290a 2020 6465 6620 0.5,-1,2). def │ │ │ │ │ +00007870: 4f20 2830 2c30 2c30 290a 2020 6465 6620 O (0,0,0). def │ │ │ │ │ +00007880: 4e20 756e 6974 2820 2828 7033 2920 2d20 N unit( ((p3) - │ │ │ │ │ +00007890: 2870 3229 2920 2a20 2828 7031 2920 2d20 (p2)) * ((p1) - │ │ │ │ │ +000078a0: 2870 3229 2920 290a 2020 6465 6620 6e31 (p2)) ). def n1 │ │ │ │ │ +000078b0: 2028 2870 3129 2d28 4f29 202b 2028 7032 ((p1)-(O) + (p2 │ │ │ │ │ +000078c0: 292d 284f 2920 2b20 2870 3329 2d28 4f29 )-(O) + (p3)-(O) │ │ │ │ │ +000078d0: 2920 2f20 3320 2b20 284f 290a 2020 6465 ) / 3 + (O). de │ │ │ │ │ +000078e0: 6620 6e32 2028 6e31 292b 5b4e 5d0a 2020 f n2 (n1)+[N]. │ │ │ │ │ +000078f0: 706f 6c79 676f 6e28 7031 2928 7032 2928 polygon(p1)(p2)( │ │ │ │ │ +00007900: 7033 290a 2020 6c69 6e65 5b61 7272 6f77 p3). line[arrow │ │ │ │ │ +00007910: 733d 2a2d 3e5d 286e 3129 286e 3229 0a54 s=*->](n1)(n2).T │ │ │ │ │ +00007920: 6865 2066 6972 7374 206c 696e 6520 636f he first line co │ │ │ │ │ +00007930: 6d70 7574 6573 2074 6865 2063 726f 7373 mputes the cross │ │ │ │ │ +00007940: 2070 726f 6475 6374 206f 6620 7477 6f20 product of two │ │ │ │ │ +00007950: 6564 6765 2076 6563 746f 7273 206f 6620 edge vectors of │ │ │ │ │ +00007960: 7468 650a 7472 6961 6e67 6c65 2061 6e64 the.triangle and │ │ │ │ │ +00007970: 2073 6361 6c65 7320 6974 2074 6f20 756e scales it to un │ │ │ │ │ +00007980: 6974 206c 656e 6774 682e 2020 5468 6520 it length. The │ │ │ │ │ +00007990: 7365 636f 6e64 2063 6f6d 7075 7465 7320 second computes │ │ │ │ │ +000079a0: 7468 6520 6176 6572 6167 650a 6f66 2074 the average.of t │ │ │ │ │ +000079b0: 6865 2076 6572 7469 6365 732e 2020 4e6f he vertices. No │ │ │ │ │ +000079c0: 7465 2074 6861 7420 7375 6274 7261 6374 te that subtract │ │ │ │ │ +000079d0: 696f 6e20 616e 6420 6164 6469 7469 6f6e ion and addition │ │ │ │ │ +000079e0: 206f 6620 7468 6520 6f72 6967 696e 0a65 of the origin.e │ │ │ │ │ +000079f0: 6666 6563 7469 7665 6c79 2063 6f6e 7665 ffectively conve │ │ │ │ │ +00007a00: 7274 2076 6563 746f 7273 2074 6f20 706f rt vectors to po │ │ │ │ │ +00007a10: 696e 7473 2061 6e64 205f 7669 6365 2076 ints and _vice v │ │ │ │ │ +00007a20: 6572 7361 5f2e 2020 5468 6520 6c69 6e65 ersa_. The line │ │ │ │ │ +00007a30: 0a63 6f6d 6d61 6e64 2064 7261 7773 2074 .command draws t │ │ │ │ │ +00007a40: 6865 206e 6f72 6d61 6c20 6174 2074 6865 he normal at the │ │ │ │ │ +00007a50: 2063 6f72 7265 6374 2073 706f 742e 0a0a correct spot... │ │ │ │ │ +00007a60: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00007a70: 3130 302e 706e 6722 2074 6578 743d 2249 100.png" text="I │ │ │ │ │ +00007a80: 6d61 6765 2065 7831 3030 206f 6d69 7474 mage ex100 omitt │ │ │ │ │ +00007a90: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00007aa0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00007ab0: 656e 742e 2200 085d 0a0a 2020 2054 776f ent."..].. Two │ │ │ │ │ +00007ac0: 2063 6176 6561 7473 2072 6567 6172 6469 caveats regardi │ │ │ │ │ +00007ad0: 6e67 2074 6869 7320 6578 616d 706c 6520 ng this example │ │ │ │ │ +00007ae0: 7265 6d61 696e 2e20 2046 6972 7374 2c20 remain. First, │ │ │ │ │ +00007af0: 7468 6520 6f6e 6c79 2077 6179 2074 6f0a the only way to. │ │ │ │ │ +00007b00: 7573 6520 e280 9850 5354 7269 636b 73e2 use ...PSTricks. │ │ │ │ │ +00007b10: 8099 2d73 7479 6c65 2061 7272 6f77 7320 ..-style arrows │ │ │ │ │ +00007b20: 6973 2077 6974 6820 6172 726f 7773 3d2e is with arrows=. │ │ │ │ │ +00007b30: 2020 5468 6520 616c 7465 726e 6174 6976 The alternativ │ │ │ │ │ +00007b40: 6520 7379 6e74 6178 2066 6f72 0ae2 8098 e syntax for.... │ │ │ │ │ +00007b50: 5053 5472 6963 6b73 e280 9920 6172 726f PSTricks... arro │ │ │ │ │ +00007b60: 7773 2069 7320 6e6f 7420 616c 6c6f 7765 ws is not allowe │ │ │ │ │ +00007b70: 6420 696e 2073 6b65 7463 682e 2020 5365 d in sketch. Se │ │ │ │ │ +00007b80: 636f 6e64 2c20 796f 7520 6d69 6768 7420 cond, you might │ │ │ │ │ +00007b90: 6c69 6b65 2074 6f0a 656c 696d 696e 6174 like to.eliminat │ │ │ │ │ +00007ba0: 6520 7468 6520 7468 6972 6420 6465 6620 e the third def │ │ │ │ │ +00007bb0: 616e 6420 7772 6974 6520 696e 7374 6561 and write instea │ │ │ │ │ +00007bc0: 6420 7468 6520 666f 6c6c 6f77 696e 672e d the following. │ │ │ │ │ +00007bd0: 0a20 206c 696e 655b 6172 726f 7773 3d2a . line[arrows=* │ │ │ │ │ +00007be0: 2d3e 5d28 6e31 2920 286e 3129 2b5b 4e5d ->](n1) (n1)+[N] │ │ │ │ │ +00007bf0: 0a54 6869 7320 6973 206e 6f74 2061 6c6c .This is not all │ │ │ │ │ +00007c00: 6f77 6564 2e20 2054 6865 2070 6f69 6e74 owed. The point │ │ │ │ │ +00007c10: 206c 6973 7473 2069 6e20 6472 6177 6162 lists in drawab │ │ │ │ │ +00007c20: 6c65 7320 6d61 7920 636f 6e73 6973 7420 les may consist │ │ │ │ │ +00007c30: 6f6e 6c79 206f 660a 6578 706c 6963 6974 only of.explicit │ │ │ │ │ +00007c40: 2070 6f69 6e74 7320 6f72 2070 6f69 6e74 points or point │ │ │ │ │ +00007c50: 2072 6566 6572 656e 6365 732e 2020 596f references. Yo │ │ │ │ │ +00007c60: 7520 6d61 792c 2068 6f77 6576 6572 2c20 u may, however, │ │ │ │ │ +00007c70: 7573 6520 6172 6974 686d 6574 6963 0a74 use arithmetic.t │ │ │ │ │ +00007c80: 6f20 6361 6c63 756c 6174 6520 706f 696e o calculate poin │ │ │ │ │ +00007c90: 7420 636f 6d70 6f6e 656e 7473 2e20 2054 t components. T │ │ │ │ │ +00007ca0: 6865 2066 6f6c 6c6f 7769 6e67 2077 6f72 he following wor │ │ │ │ │ +00007cb0: 6b73 2c20 7468 6f75 6768 2069 7427 7320 ks, though it's │ │ │ │ │ +00007cc0: 610a 6c69 7474 6c65 2063 756d 6265 7273 a.little cumbers │ │ │ │ │ +00007cd0: 6f6d 652e 0a20 206c 696e 655b 6172 726f ome.. line[arro │ │ │ │ │ +00007ce0: 7773 3d2a 2d3e 5d28 6e31 2928 286e 3129 ws=*->](n1)((n1) │ │ │ │ │ +00007cf0: 2778 2b28 4e29 2778 2c20 286e 3129 2779 'x+(N)'x, (n1)'y │ │ │ │ │ +00007d00: 2b28 4e29 2779 2c20 286e 3129 277a 2b28 +(N)'y, (n1)'z+( │ │ │ │ │ +00007d10: 4e29 277a 290a 4f62 7669 6f75 736c 792c N)'z).Obviously, │ │ │ │ │ +00007d20: 2074 6865 20e2 809c 7469 636b 206f 7065 the ...tick ope │ │ │ │ │ +00007d30: 7261 746f 72e2 809d 20e2 8098 2778 e280 rator... ...'x.. │ │ │ │ │ +00007d40: 9920 6578 7472 6163 7473 2063 6f6d 706f . extracts compo │ │ │ │ │ +00007d50: 6e65 6e74 7320 6f66 2070 6f69 6e74 7320 nents of points │ │ │ │ │ +00007d60: 616e 640a 7665 6374 6f72 732e 0a0a 1f0a and.vectors..... │ │ │ │ │ +00007d70: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00007d80: 6f2c 2020 4e6f 6465 3a20 4d6f 7265 2074 o, Node: More t │ │ │ │ │ +00007d90: 6f20 6c65 6172 6e2c 2020 5072 6576 3a20 o learn, Prev: │ │ │ │ │ +00007da0: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ +00007db0: 632c 2020 5570 3a20 5377 6570 7420 6f62 c, Up: Swept ob │ │ │ │ │ +00007dc0: 6a65 6374 730a 0a32 2e37 2e37 204d 6f72 jects..2.7.7 Mor │ │ │ │ │ +00007dd0: 6520 746f 206c 6561 726e 0a2d 2d2d 2d2d e to learn.----- │ │ │ │ │ +00007de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ +00007df0: 5468 6973 2069 7320 6e6f 7420 7468 6520 This is not the │ │ │ │ │ +00007e00: 656e 6420 6f66 2074 6865 2073 746f 7279 end of the story │ │ │ │ │ +00007e10: 206f 6e20 7377 6565 7073 2120 2057 6520 on sweeps! We │ │ │ │ │ +00007e20: 696e 7669 7465 2074 6865 2072 6561 6465 invite the reade │ │ │ │ │ +00007e30: 7220 696e 746f 0a74 6865 206d 6169 6e20 r into.the main │ │ │ │ │ +00007e40: 626f 6479 206f 6620 7468 6973 2064 6f63 body of this doc │ │ │ │ │ +00007e50: 756d 656e 7461 7469 6f6e 202a 6e6f 7465 umentation *note │ │ │ │ │ +00007e60: 2053 7765 6570 733a 3a20 746f 206c 6561 Sweeps:: to lea │ │ │ │ │ +00007e70: 726e 206d 6f72 652e 0a0a 0008 5b69 6d61 rn more.....[ima │ │ │ │ │ +00007e80: 6765 2073 7263 3d22 6578 3132 302e 706e ge src="ex120.pn │ │ │ │ │ +00007e90: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ +00007ea0: 7831 3230 206f 6d69 7474 6564 2069 6e20 x120 omitted in │ │ │ │ │ +00007eb0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +00007ec0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +00007ed0: 085d 0a0a 5768 6f20 6b6e 6f77 7320 7768 .]..Who knows wh │ │ │ │ │ +00007ee0: 6572 6520 796f 7527 6c6c 2066 696e 6973 ere you'll finis │ │ │ │ │ +00007ef0: 683f 0a0a 1f0a 4669 6c65 3a20 736b 6574 h?....File: sket │ │ │ │ │ +00007f00: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00007f10: 496e 7075 7420 6c61 6e67 7561 6765 2c20 Input language, │ │ │ │ │ +00007f20: 204e 6578 743a 2042 7569 6c64 696e 6720 Next: Building │ │ │ │ │ +00007f30: 6120 6472 6177 696e 672c 2020 5072 6576 a drawing, Prev │ │ │ │ │ +00007f40: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b │ │ │ │ │ +00007f50: 7920 6578 616d 706c 652c 2020 5570 3a20 y example, Up: │ │ │ │ │ +00007f60: 546f 700a 0a33 2049 6e70 7574 206c 616e Top..3 Input lan │ │ │ │ │ +00007f70: 6775 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a guage.********** │ │ │ │ │ +00007f80: 2a2a 2a2a 2a2a 0a0a 5468 6973 2063 6861 ******..This cha │ │ │ │ │ +00007f90: 7074 6572 2064 6573 6372 6962 6573 2074 pter describes t │ │ │ │ │ +00007fa0: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... │ │ │ │ │ +00007fb0: 696e 7075 7420 6c61 6e67 7561 6765 2069 input language i │ │ │ │ │ +00007fc0: 6e20 6465 7461 696c 2e0a 0a2a 204d 656e n detail...* Men │ │ │ │ │ +00007fd0: 753a 0a0a 2a20 4c61 6e67 7561 6765 2062 u:..* Language b │ │ │ │ │ +00007fe0: 6173 6963 733a 3a20 2020 2020 2020 2020 asics:: │ │ │ │ │ +00007ff0: 2020 2020 4361 7365 2c20 7370 6163 652c Case, space, │ │ │ │ │ +00008000: 2063 6f6d 6d65 6e74 732c 2069 6e63 6c75 comments, inclu │ │ │ │ │ +00008010: 6465 2066 696c 6573 2e0a 2a20 4472 6177 de files..* Draw │ │ │ │ │ +00008020: 6162 6c65 733a 3a20 2020 2020 2020 2020 ables:: │ │ │ │ │ +00008030: 2020 2020 2020 2020 2020 5468 696e 6773 Things │ │ │ │ │ +00008040: 2074 6861 7420 6361 6e20 6265 2064 7261 that can be dra │ │ │ │ │ +00008050: 776e 2e0a 2a20 4465 6669 6e69 7469 6f6e wn..* Definition │ │ │ │ │ +00008060: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00008070: 2020 2020 4769 7669 6e67 2074 6869 6e67 Giving thing │ │ │ │ │ +00008080: 7320 6e61 6d65 732e 0a2a 2047 6c6f 6261 s names..* Globa │ │ │ │ │ +00008090: 6c20 656e 7669 726f 6e6d 656e 743a 3a20 l environment:: │ │ │ │ │ +000080a0: 2020 2020 2020 2020 2041 6666 6563 7420 Affect │ │ │ │ │ +000080b0: 7468 6520 656e 7469 7265 2064 7261 7769 the entire drawi │ │ │ │ │ +000080c0: 6e67 2e0a 0a1f 0a46 696c 653a 2073 6b65 ng.....File: ske │ │ │ │ │ +000080d0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +000080e0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics │ │ │ │ │ +000080f0: 2c20 204e 6578 743a 2044 7261 7761 626c , Next: Drawabl │ │ │ │ │ +00008100: 6573 2c20 2050 7265 763a 2049 6e70 7574 es, Prev: Input │ │ │ │ │ +00008110: 206c 616e 6775 6167 652c 2020 5570 3a20 language, Up: │ │ │ │ │ +00008120: 496e 7075 7420 6c61 6e67 7561 6765 0a0a Input language.. │ │ │ │ │ +00008130: 332e 3120 4261 7369 6373 0a3d 3d3d 3d3d 3.1 Basics.===== │ │ │ │ │ +00008140: 3d3d 3d3d 3d0a 0ae2 8098 536b 6574 6368 =====.....Sketch │ │ │ │ │ +00008150: e280 9920 696e 7075 7420 6973 2070 6c61 ... input is pla │ │ │ │ │ +00008160: 696e 2041 5343 4949 2074 6578 742c 2075 in ASCII text, u │ │ │ │ │ +00008170: 7375 616c 6c79 2073 746f 7265 6420 696e sually stored in │ │ │ │ │ +00008180: 2061 6e20 696e 7075 7420 6669 6c65 2e20 an input file. │ │ │ │ │ +00008190: 2049 740a 6465 7363 7269 6265 7320 6120 It.describes a │ │ │ │ │ +000081a0: e280 9c73 6365 6e65 e280 9d2c 2073 6f20 ...scene..., so │ │ │ │ │ +000081b0: 7468 6520 736b 6574 6368 206c 616e 6775 the sketch langu │ │ │ │ │ +000081c0: 6167 6520 6973 2061 20e2 809c 7363 656e age is a ...scen │ │ │ │ │ +000081d0: 6520 6465 7363 7269 7074 696f 6e0a 6c61 e description.la │ │ │ │ │ +000081e0: 6e67 7561 6765 e280 9d2e 2020 e280 9853 nguage.... ...S │ │ │ │ │ +000081f0: 6b65 7463 68e2 8099 2069 6e70 7574 2069 ketch... input i │ │ │ │ │ +00008200: 7320 616c 736f 20e2 809c 6465 636c 6172 s also ...declar │ │ │ │ │ +00008210: 6174 6976 65e2 809d 2e20 2049 7420 6d65 ative.... It me │ │ │ │ │ +00008220: 7265 6c79 2064 6563 6c61 7265 730a 7768 rely declares.wh │ │ │ │ │ +00008230: 6174 2074 6865 2073 6365 6e65 206f 7567 at the scene oug │ │ │ │ │ +00008240: 6874 2074 6f20 6c6f 6f6b 206c 696b 6520 ht to look like │ │ │ │ │ +00008250: 7768 656e 2064 7261 7769 6e67 2069 7320 when drawing is │ │ │ │ │ +00008260: 636f 6d70 6c65 7465 2061 6e64 2073 6179 complete and say │ │ │ │ │ +00008270: 7320 7665 7279 0a6c 6974 746c 6520 6162 s very.little ab │ │ │ │ │ +00008280: 6f75 7420 686f 7720 e280 9873 6b65 7463 out how ...sketc │ │ │ │ │ +00008290: 68e2 8099 2073 686f 756c 6420 646f 2069 h... should do i │ │ │ │ │ +000082a0: 7473 2077 6f72 6b2e 2020 e280 9853 6b65 ts work. ...Ske │ │ │ │ │ +000082b0: 7463 68e2 8099 2063 6f6d 6d61 6e64 7320 tch... commands │ │ │ │ │ +000082c0: 6172 6520 6e6f 740a 6578 6563 7574 6564 are not.executed │ │ │ │ │ +000082d0: 2073 6571 7565 6e74 6961 6c6c 7920 6173 sequentially as │ │ │ │ │ +000082e0: 2069 6e20 7468 6520 7573 7561 6c20 7072 in the usual pr │ │ │ │ │ +000082f0: 6f67 7261 6d6d 696e 6720 6c61 6e67 7561 ogramming langua │ │ │ │ │ +00008300: 6765 2e20 2054 6865 7920 6d65 7265 6c79 ge. They merely │ │ │ │ │ +00008310: 0a63 6f6e 7472 6962 7574 6520 746f 2074 .contribute to t │ │ │ │ │ +00008320: 6861 7420 6465 636c 6172 6174 696f 6e2e hat declaration. │ │ │ │ │ +00008330: 0a0a 2020 2041 2066 6577 2073 796e 7461 .. A few synta │ │ │ │ │ +00008340: 6374 6963 2064 6574 6169 6c73 2061 7265 ctic details are │ │ │ │ │ +00008350: 2069 6d70 6f72 7461 6e74 2e20 2043 6173 important. Cas │ │ │ │ │ +00008360: 6520 6973 2073 6967 6e69 6669 6361 6e74 e is significant │ │ │ │ │ +00008370: 2069 6e20 7468 650a e280 9873 6b65 7463 in the....sketc │ │ │ │ │ +00008380: 68e2 8099 206c 616e 6775 6167 652e 2020 h... language. │ │ │ │ │ +00008390: 5769 7468 2061 2066 6577 2065 7863 6570 With a few excep │ │ │ │ │ +000083a0: 7469 6f6e 732c 2077 6869 7465 2073 7061 tions, white spa │ │ │ │ │ +000083b0: 6365 2069 7320 6e6f 742e 2020 5468 6973 ce is not. This │ │ │ │ │ +000083c0: 0a69 6e63 6c75 6465 7320 6c69 6e65 2062 .includes line b │ │ │ │ │ +000083d0: 7265 616b 732e 2020 436f 6d6d 656e 7473 reaks. Comments │ │ │ │ │ +000083e0: 2062 6567 696e 2077 6974 6820 e280 9825 begin with ...% │ │ │ │ │ +000083f0: e280 9920 6f72 20e2 8098 23e2 8099 2061 ... or ...#... a │ │ │ │ │ +00008400: 6e64 2065 7874 656e 6420 746f 2074 6865 nd extend to the │ │ │ │ │ +00008410: 0a65 6e64 206f 6620 7468 6520 6c69 6e65 .end of the line │ │ │ │ │ +00008420: 2e20 2059 6f75 2063 616e 2064 6973 6162 . You can disab │ │ │ │ │ +00008430: 6c65 2061 2063 6875 6e6b 206f 6620 7379 le a chunk of sy │ │ │ │ │ +00008440: 6e74 6163 7469 6361 6c6c 7920 636f 7272 ntactically corr │ │ │ │ │ +00008450: 6563 740a e280 9873 6b65 7463 68e2 8099 ect....sketch... │ │ │ │ │ +00008460: 2063 6f64 6520 6279 2065 6e63 6c6f 7369 code by enclosi │ │ │ │ │ +00008470: 6e67 2069 7420 696e 2061 20e2 8098 6465 ng it in a ...de │ │ │ │ │ +00008480: 66e2 8099 2e20 2054 6865 7265 2069 7320 f.... There is │ │ │ │ │ +00008490: 6120 7369 6d70 6c65 2022 696e 636c 7564 a simple "includ │ │ │ │ │ +000084a0: 650a 6669 6c65 2220 6d65 6368 616e 6973 e.file" mechanis │ │ │ │ │ +000084b0: 6d2e 2020 5468 6520 636f 6d6d 616e 640a m. The command. │ │ │ │ │ +000084c0: 2020 696e 7075 747b 6f74 6865 7266 696c input{otherfil │ │ │ │ │ +000084d0: 652e 736b 7d0a 6361 7573 6573 2074 6865 e.sk}.causes the │ │ │ │ │ +000084e0: 2063 6f6e 7465 6e74 7320 6f66 20e2 8098 contents of ... │ │ │ │ │ +000084f0: 6f74 6865 7266 696c 652e 736b e280 9920 otherfile.sk... │ │ │ │ │ +00008500: 746f 2062 6520 696e 7365 7274 6564 2061 to be inserted a │ │ │ │ │ +00008510: 7320 7468 6f75 6768 2074 6865 7920 7765 s though they we │ │ │ │ │ +00008520: 7265 0a70 6172 7420 6f66 2074 6865 2063 re.part of the c │ │ │ │ │ +00008530: 7572 7265 6e74 2066 696c 652e 0a0a 2a20 urrent file...* │ │ │ │ │ +00008540: 4d65 6e75 3a0a 0a2a 2049 6465 6e74 6966 Menu:..* Identif │ │ │ │ │ +00008550: 6965 7273 3a3a 2020 2020 2020 2020 2020 iers:: │ │ │ │ │ +00008560: 2020 2020 2020 204e 616d 6573 2066 6f72 Names for │ │ │ │ │ +00008570: 2074 6869 6e67 732e 0a2a 204b 6579 2061 things..* Key a │ │ │ │ │ +00008580: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word │ │ │ │ │ +00008590: 733a 3a20 2020 2020 204e 616d 6573 2079 s:: Names y │ │ │ │ │ +000085a0: 6f75 2073 686f 756c 646e 2774 2075 7365 ou shouldn't use │ │ │ │ │ +000085b0: 2e0a 2a20 4c69 7465 7261 6c73 3a3a 2020 ..* Literals:: │ │ │ │ │ +000085c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000085d0: 2020 436f 6e73 7461 6e74 7320 616e 6420 Constants and │ │ │ │ │ +000085e0: 636f 6e73 7472 7563 746f 7273 2e0a 2a20 constructors..* │ │ │ │ │ +000085f0: 4172 6974 686d 6574 6963 3a3a 2020 2020 Arithmetic:: │ │ │ │ │ +00008600: 2020 2020 2020 2020 2020 2020 2020 5275 Ru │ │ │ │ │ +00008610: 6c65 7320 666f 7220 6578 7072 6573 7369 les for expressi │ │ │ │ │ +00008620: 6f6e 732e 0a2a 204f 7074 696f 6e73 3a3a ons..* Options:: │ │ │ │ │ +00008630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00008640: 2020 2020 204d 6f64 6966 7969 6e67 206f Modifying o │ │ │ │ │ +00008650: 626a 6563 7420 6170 7065 6172 616e 6365 bject appearance │ │ │ │ │ +00008660: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +00008670: 682e 696e 666f 2c20 204e 6f64 653a 2049 h.info, Node: I │ │ │ │ │ +00008680: 6465 6e74 6966 6965 7273 2c20 204e 6578 dentifiers, Nex │ │ │ │ │ +00008690: 743a 204b 6579 2061 6e64 2072 6573 6572 t: Key and reser │ │ │ │ │ +000086a0: 7665 6420 776f 7264 732c 2020 5072 6576 ved words, Prev │ │ │ │ │ +000086b0: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic │ │ │ │ │ +000086c0: 732c 2020 5570 3a20 4c61 6e67 7561 6765 s, Up: Language │ │ │ │ │ +000086d0: 2062 6173 6963 730a 0a33 2e31 2e31 2049 basics..3.1.1 I │ │ │ │ │ +000086e0: 6465 6e74 6966 6965 7273 0a2d 2d2d 2d2d dentifiers.----- │ │ │ │ │ +000086f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4964 ------------..Id │ │ │ │ │ +00008700: 656e 7469 6669 6572 7320 696e 20e2 8098 entifiers in ... │ │ │ │ │ +00008710: 736b 6574 6368 e280 9920 6172 6520 7265 sketch... are re │ │ │ │ │ +00008720: 6665 7265 6e63 6573 2074 6f20 6561 726c ferences to earl │ │ │ │ │ +00008730: 6965 722d 6465 6669 6e65 6420 6f70 7469 ier-defined opti │ │ │ │ │ +00008740: 6f6e 732c 0a73 6361 6c61 7273 2c20 706f ons,.scalars, po │ │ │ │ │ +00008750: 696e 7473 2c20 7665 6374 6f72 732c 2074 ints, vectors, t │ │ │ │ │ +00008760: 7261 6e73 666f 726d 732c 2064 7261 7761 ransforms, drawa │ │ │ │ │ +00008770: 626c 6573 2c20 616e 6420 7461 6773 2e20 bles, and tags. │ │ │ │ │ +00008780: 2044 6566 696e 6974 696f 6e73 0a61 7265 Definitions.are │ │ │ │ │ +00008790: 2065 7870 6c61 696e 6564 2069 6e20 2a6e explained in *n │ │ │ │ │ +000087a0: 6f74 6520 4465 6669 6e69 7469 6f6e 733a ote Definitions: │ │ │ │ │ +000087b0: 3a2e 0a0a 2020 2041 6e20 6964 656e 7469 :... An identi │ │ │ │ │ +000087c0: 6669 6572 2063 6f6e 7369 7374 7320 6f66 fier consists of │ │ │ │ │ +000087d0: 2061 206c 6561 6469 6e67 206c 6574 7465 a leading lette │ │ │ │ │ +000087e0: 7220 666f 6c6c 6f77 6564 2062 7920 6c65 r followed by le │ │ │ │ │ +000087f0: 7474 6572 732c 0a6e 756d 6265 7273 2061 tters,.numbers a │ │ │ │ │ +00008800: 6e64 2075 6e64 6572 7363 6f72 6573 2e20 nd underscores. │ │ │ │ │ +00008810: 2054 6865 206c 6173 7420 6368 6172 6163 The last charac │ │ │ │ │ +00008820: 7465 7220 6d61 7920 5f6e 6f74 5f20 6265 ter may _not_ be │ │ │ │ │ +00008830: 2061 6e20 756e 6465 7273 636f 7265 2e0a an underscore.. │ │ │ │ │ +00008840: 4b65 7977 6f72 6473 2063 616e 6e6f 7420 Keywords cannot │ │ │ │ │ +00008850: 6265 2075 7365 6420 6173 2069 6465 6e74 be used as ident │ │ │ │ │ +00008860: 6966 6965 7273 2c20 616e 6420 7265 7365 ifiers, and rese │ │ │ │ │ +00008870: 7276 6564 2077 6f72 6473 206f 7567 6874 rved words ought │ │ │ │ │ +00008880: 2074 6f20 6265 0a61 766f 6964 6564 2e20 to be.avoided. │ │ │ │ │ +00008890: 202a 4e6f 7465 204b 6579 2061 6e64 2072 *Note Key and r │ │ │ │ │ +000088a0: 6573 6572 7665 6420 776f 7264 733a 3a2e eserved words::. │ │ │ │ │ +000088b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +000088c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4b65 .info, Node: Ke │ │ │ │ │ +000088d0: 7920 616e 6420 7265 7365 7276 6564 2077 y and reserved w │ │ │ │ │ +000088e0: 6f72 6473 2c20 204e 6578 743a 204c 6974 ords, Next: Lit │ │ │ │ │ +000088f0: 6572 616c 732c 2020 5072 6576 3a20 4964 erals, Prev: Id │ │ │ │ │ +00008900: 656e 7469 6669 6572 732c 2020 5570 3a20 entifiers, Up: │ │ │ │ │ +00008910: 4c61 6e67 7561 6765 2062 6173 6963 730a Language basics. │ │ │ │ │ +00008920: 0a33 2e31 2e32 204b 6579 2061 6e64 2072 .3.1.2 Key and r │ │ │ │ │ +00008930: 6573 6572 7665 6420 776f 7264 730a 2d2d eserved words.-- │ │ │ │ │ +00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00008950: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6520 ----------..The │ │ │ │ │ +00008960: 6b65 7977 6f72 6473 206f 6620 e280 9873 keywords of ...s │ │ │ │ │ +00008970: 6b65 7463 68e2 8099 2061 7265 20e2 8098 ketch... are ... │ │ │ │ │ +00008980: 7069 6374 7572 6562 6f78 e280 9920 e280 picturebox... .. │ │ │ │ │ +00008990: 9863 7572 7665 e280 9920 e280 9864 6566 .curve... ...def │ │ │ │ │ +000089a0: e280 9920 e280 9864 6f74 73e2 8099 20e2 ... ...dots... . │ │ │ │ │ +000089b0: 8098 6672 616d 65e2 8099 0ae2 8098 676c ..frame.......gl │ │ │ │ │ +000089c0: 6f62 616c e280 9920 e280 9869 6e70 7574 obal... ...input │ │ │ │ │ +000089d0: e280 9920 e280 986c 696e 65e2 8099 20e2 ... ...line... . │ │ │ │ │ +000089e0: 8098 706f 6c79 676f 6ee2 8099 20e2 8098 ..polygon... ... │ │ │ │ │ +000089f0: 7075 74e2 8099 20e2 8098 7265 7065 6174 put... ...repeat │ │ │ │ │ +00008a00: e280 9920 e280 9873 6574 e280 9920 e280 ... ...set... .. │ │ │ │ │ +00008a10: 9873 7765 6570 e280 9920 616e 640a e280 .sweep... and... │ │ │ │ │ +00008a20: 9874 6865 6ee2 8099 2e20 2054 6865 20e2 .then.... The . │ │ │ │ │ +00008a30: 8098 736b 6574 6368 e280 9920 7061 7273 ..sketch... pars │ │ │ │ │ +00008a40: 6572 2077 696c 6c20 6e6f 7465 2061 2073 er will note a s │ │ │ │ │ +00008a50: 796e 7461 7820 6572 726f 7220 6966 2061 yntax error if a │ │ │ │ │ +00008a60: 6e79 206f 6620 7468 6573 650a 6172 6520 ny of these.are │ │ │ │ │ +00008a70: 7573 6564 2069 6e20 706c 6163 6520 6f66 used in place of │ │ │ │ │ +00008a80: 2061 2070 726f 7065 7220 6964 656e 7469 a proper identi │ │ │ │ │ +00008a90: 6669 6572 2e0a 0a20 2020 496e 2061 6464 fier... In add │ │ │ │ │ +00008aa0: 6974 696f 6e2c 2074 6865 7265 2061 7265 ition, there are │ │ │ │ │ +00008ab0: 2072 6573 6572 7665 6420 776f 7264 7320 reserved words │ │ │ │ │ +00008ac0: 7468 6174 2063 616e 2063 7572 7265 6e74 that can current │ │ │ │ │ +00008ad0: 6c79 2062 6520 6465 6669 6e65 640a 6279 ly be defined.by │ │ │ │ │ +00008ae0: 2074 6865 2075 7365 722c 2062 7574 2077 the user, but w │ │ │ │ │ +00008af0: 6974 6820 7468 6520 7269 736b 2074 6861 ith the risk tha │ │ │ │ │ +00008b00: 7420 6675 7475 7265 2076 6572 7369 6f6e t future version │ │ │ │ │ +00008b10: 7320 6f66 20e2 8098 736b 6574 6368 e280 s of ...sketch.. │ │ │ │ │ +00008b20: 9920 7769 6c6c 0a72 656a 6563 7420 7468 . will.reject th │ │ │ │ │ +00008b30: 6f73 6520 6465 6669 6e69 7469 6f6e 732e ose definitions. │ │ │ │ │ +00008b40: 2020 5468 6520 7265 7365 7276 6564 2077 The reserved w │ │ │ │ │ +00008b50: 6f72 6473 2061 7265 20e2 8098 6163 6f73 ords are ...acos │ │ │ │ │ +00008b60: e280 9920 e280 9861 7369 6ee2 8099 20e2 ... ...asin... . │ │ │ │ │ +00008b70: 8098 6174 616e 32e2 8099 0ae2 8098 636f ..atan2.......co │ │ │ │ │ +00008b80: 73e2 8099 20e2 8098 696e 7665 7273 65e2 s... ...inverse. │ │ │ │ │ +00008b90: 8099 20e2 8098 7065 7273 7065 6374 6976 .. ...perspectiv │ │ │ │ │ +00008ba0: 65e2 8099 20e2 8098 7072 6f6a 6563 74e2 e... ...project. │ │ │ │ │ +00008bb0: 8099 20e2 8098 726f 7461 7465 e280 9920 .. ...rotate... │ │ │ │ │ +00008bc0: e280 9873 6361 6c65 e280 9920 e280 9873 ...scale... ...s │ │ │ │ │ +00008bd0: 696e e280 9920 e280 9873 7065 6369 616c in... ...special │ │ │ │ │ +00008be0: e280 990a e280 9873 7172 74e2 8099 20e2 .......sqrt... . │ │ │ │ │ +00008bf0: 8098 7472 616e 736c 6174 65e2 8099 20e2 ..translate... . │ │ │ │ │ +00008c00: 8098 756e 6974 e280 9920 616e 6420 e280 ..unit... and .. │ │ │ │ │ +00008c10: 9876 6965 77e2 8099 2e0a 0a1f 0a46 696c .view........Fil │ │ │ │ │ +00008c20: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +00008c30: 204e 6f64 653a 204c 6974 6572 616c 732c Node: Literals, │ │ │ │ │ +00008c40: 2020 4e65 7874 3a20 4172 6974 686d 6574 Next: Arithmet │ │ │ │ │ +00008c50: 6963 2c20 2050 7265 763a 204b 6579 2061 ic, Prev: Key a │ │ │ │ │ +00008c60: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word │ │ │ │ │ +00008c70: 732c 2020 5570 3a20 4c61 6e67 7561 6765 s, Up: Language │ │ │ │ │ +00008c80: 2062 6173 6963 730a 0a33 2e31 2e33 204c basics..3.1.3 L │ │ │ │ │ +00008c90: 6974 6572 616c 730a 2d2d 2d2d 2d2d 2d2d iterals.-------- │ │ │ │ │ +00008ca0: 2d2d 2d2d 2d2d 0a0a 4c69 7465 7261 6c73 ------..Literals │ │ │ │ │ +00008cb0: 2069 6e20 e280 9873 6b65 7463 68e2 8099 in ...sketch... │ │ │ │ │ +00008cc0: 2069 6e63 6c75 6465 2073 6361 6c61 7273 include scalars │ │ │ │ │ +00008cd0: 2c20 706f 696e 7473 2c20 7665 6374 6f72 , points, vector │ │ │ │ │ +00008ce0: 732c 2061 6e64 2074 7261 6e73 666f 726d s, and transform │ │ │ │ │ +00008cf0: 732e 0a4c 6974 6572 616c 732c 2061 6c6f s..Literals, alo │ │ │ │ │ +00008d00: 6e67 2077 6974 6820 6465 6669 6e65 6420 ng with defined │ │ │ │ │ +00008d10: 6f62 6a65 6374 2072 6566 6572 656e 6365 object reference │ │ │ │ │ +00008d20: 732c 2061 7265 2075 7365 6420 696e 2061 s, are used in a │ │ │ │ │ +00008d30: 7269 7468 6d65 7469 630a 6578 7072 6573 rithmetic.expres │ │ │ │ │ +00008d40: 7369 6f6e 732e 2020 2a4e 6f74 6520 4172 sions. *Note Ar │ │ │ │ │ +00008d50: 6974 686d 6574 6963 3a3a 2e0a 0a2a 204d ithmetic::...* M │ │ │ │ │ +00008d60: 656e 753a 0a0a 2a20 5363 616c 6172 206c enu:..* Scalar l │ │ │ │ │ +00008d70: 6974 6572 616c 733a 3a20 2020 2020 2020 iterals:: │ │ │ │ │ +00008d80: 2020 2020 2020 4a75 7374 2074 6865 206e Just the n │ │ │ │ │ +00008d90: 756d 6265 7273 2e0a 2a20 506f 696e 7420 umbers..* Point │ │ │ │ │ +00008da0: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter │ │ │ │ │ +00008db0: 616c 733a 3a20 2020 3364 2071 7561 6e74 als:: 3d quant │ │ │ │ │ +00008dc0: 6974 6965 732e 0a2a 2054 7261 6e73 666f ities..* Transfo │ │ │ │ │ +00008dd0: 726d 206c 6974 6572 616c 733a 3a20 2020 rm literals:: │ │ │ │ │ +00008de0: 2020 2020 2020 204d 6174 7269 7820 666f Matrix fo │ │ │ │ │ +00008df0: 726d 2e0a 0a1f 0a46 696c 653a 2073 6b65 rm.....File: ske │ │ │ │ │ +00008e00: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00008e10: 2053 6361 6c61 7220 6c69 7465 7261 6c73 Scalar literals │ │ │ │ │ +00008e20: 2c20 204e 6578 743a 2050 6f69 6e74 2061 , Next: Point a │ │ │ │ │ +00008e30: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera │ │ │ │ │ +00008e40: 6c73 2c20 2050 7265 763a 204c 6974 6572 ls, Prev: Liter │ │ │ │ │ +00008e50: 616c 732c 2020 5570 3a20 4c69 7465 7261 als, Up: Litera │ │ │ │ │ +00008e60: 6c73 0a0a 332e 312e 332e 3120 5363 616c ls..3.1.3.1 Scal │ │ │ │ │ +00008e70: 6172 206c 6974 6572 616c 730a 2e2e 2e2e ar literals..... │ │ │ │ │ 00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00008e90: 2e2e 2e2e 2e2e 2e0a 0a53 6361 6c61 7220 .........Scalar │ │ │ │ │ -00008ea0: 6c69 7465 7261 6c73 2061 7265 2070 6f73 literals are pos │ │ │ │ │ -00008eb0: 6974 6976 6520 666c 6f61 7469 6e67 2070 itive floating p │ │ │ │ │ -00008ec0: 6f69 6e74 206e 756d 6265 7273 2077 6974 oint numbers wit │ │ │ │ │ -00008ed0: 6820 7379 6e74 6178 0a61 6363 6f72 6469 h syntax.accordi │ │ │ │ │ -00008ee0: 6e67 2074 6f20 4320 636f 6e76 656e 7469 ng to C conventi │ │ │ │ │ -00008ef0: 6f6e 732e 2020 5468 6520 666f 6c6c 6f77 ons. The follow │ │ │ │ │ -00008f00: 696e 6720 6172 6520 736f 6d65 2065 7861 ing are some exa │ │ │ │ │ -00008f10: 6d70 6c65 732e 0a20 2020 2020 3020 3130 mples.. 0 10 │ │ │ │ │ -00008f20: 3034 202e 3030 3120 382e 3331 3433 2033 04 .001 8.3143 3 │ │ │ │ │ -00008f30: 2e20 312e 3630 452d 3139 2036 2e30 3265 . 1.60E-19 6.02e │ │ │ │ │ -00008f40: 2b32 330a 5363 616c 6172 206c 6974 6572 +23.Scalar liter │ │ │ │ │ -00008f50: 616c 7320 6d61 7920 6e6f 7420 636f 6e74 als may not cont │ │ │ │ │ -00008f60: 6169 6e20 656d 6265 6464 6564 2073 7061 ain embedded spa │ │ │ │ │ -00008f70: 6365 732e 0a0a 1f0a 4669 6c65 3a20 736b ces.....File: sk │ │ │ │ │ -00008f80: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00008f90: 3a20 506f 696e 7420 616e 6420 7665 6374 : Point and vect │ │ │ │ │ -00008fa0: 6f72 206c 6974 6572 616c 732c 2020 4e65 or literals, Ne │ │ │ │ │ -00008fb0: 7874 3a20 5472 616e 7366 6f72 6d20 6c69 xt: Transform li │ │ │ │ │ -00008fc0: 7465 7261 6c73 2c20 2050 7265 763a 2053 terals, Prev: S │ │ │ │ │ -00008fd0: 6361 6c61 7220 6c69 7465 7261 6c73 2c20 calar literals, │ │ │ │ │ -00008fe0: 2055 703a 204c 6974 6572 616c 730a 0a33 Up: Literals..3 │ │ │ │ │ -00008ff0: 2e31 2e33 2e32 2050 6f69 6e74 2061 6e64 .1.3.2 Point and │ │ │ │ │ -00009000: 2076 6563 746f 7220 6c69 7465 7261 6c73 vector literals │ │ │ │ │ -00009010: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00009020: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00009030: 2e2e 0a0a 506f 696e 7473 2061 6e64 2076 ....Points and v │ │ │ │ │ -00009040: 6563 746f 7220 6c69 7465 7261 6c73 2068 ector literals h │ │ │ │ │ -00009050: 6176 6520 7468 6573 6520 666f 726d 7320 ave these forms │ │ │ │ │ -00009060: 7265 7370 6563 7469 7665 6c79 2e0a 2020 respectively.. │ │ │ │ │ -00009070: 2020 2028 582c 592c 5a29 2020 5b58 2c59 (X,Y,Z) [X,Y │ │ │ │ │ -00009080: 2c5a 5d0a 4561 6368 206f 6620 7468 6520 ,Z].Each of the │ │ │ │ │ -00009090: 636f 6d70 6f6e 656e 7473 2069 7320 6974 components is it │ │ │ │ │ -000090a0: 7365 6c66 2061 2073 6361 6c61 7220 6578 self a scalar ex │ │ │ │ │ -000090b0: 7072 6573 7369 6f6e 2e20 2054 6865 207a pression. The z │ │ │ │ │ -000090c0: 2d63 6f6d 706f 6e65 6e74 730a 6172 6520 -components.are │ │ │ │ │ -000090d0: 6f70 7469 6f6e 616c 2061 6e64 2064 6566 optional and def │ │ │ │ │ -000090e0: 6175 6c74 2074 6f20 7a65 726f 2e0a 0a1f ault to zero.... │ │ │ │ │ -000090f0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -00009100: 666f 2c20 204e 6f64 653a 2054 7261 6e73 fo, Node: Trans │ │ │ │ │ -00009110: 666f 726d 206c 6974 6572 616c 732c 2020 form literals, │ │ │ │ │ -00009120: 5072 6576 3a20 506f 696e 7420 616e 6420 Prev: Point and │ │ │ │ │ -00009130: 7665 6374 6f72 206c 6974 6572 616c 732c vector literals, │ │ │ │ │ -00009140: 2020 5570 3a20 4c69 7465 7261 6c73 0a0a Up: Literals.. │ │ │ │ │ -00009150: 332e 312e 332e 3320 5472 616e 7366 6f72 3.1.3.3 Transfor │ │ │ │ │ -00009160: 6d20 6c69 7465 7261 6c73 0a2e 2e2e 2e2e m literals...... │ │ │ │ │ +00008e90: 2e2e 2e0a 0a53 6361 6c61 7220 6c69 7465 .....Scalar lite │ │ │ │ │ +00008ea0: 7261 6c73 2061 7265 2070 6f73 6974 6976 rals are positiv │ │ │ │ │ +00008eb0: 6520 666c 6f61 7469 6e67 2070 6f69 6e74 e floating point │ │ │ │ │ +00008ec0: 206e 756d 6265 7273 2077 6974 6820 7379 numbers with sy │ │ │ │ │ +00008ed0: 6e74 6178 0a61 6363 6f72 6469 6e67 2074 ntax.according t │ │ │ │ │ +00008ee0: 6f20 4320 636f 6e76 656e 7469 6f6e 732e o C conventions. │ │ │ │ │ +00008ef0: 2020 5468 6520 666f 6c6c 6f77 696e 6720 The following │ │ │ │ │ +00008f00: 6172 6520 736f 6d65 2065 7861 6d70 6c65 are some example │ │ │ │ │ +00008f10: 732e 0a20 2020 2020 3020 3130 3034 202e s.. 0 1004 . │ │ │ │ │ +00008f20: 3030 3120 382e 3331 3433 2033 2e20 312e 001 8.3143 3. 1. │ │ │ │ │ +00008f30: 3630 452d 3139 2036 2e30 3265 2b32 330a 60E-19 6.02e+23. │ │ │ │ │ +00008f40: 5363 616c 6172 206c 6974 6572 616c 7320 Scalar literals │ │ │ │ │ +00008f50: 6d61 7920 6e6f 7420 636f 6e74 6169 6e20 may not contain │ │ │ │ │ +00008f60: 656d 6265 6464 6564 2073 7061 6365 732e embedded spaces. │ │ │ │ │ +00008f70: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +00008f80: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po │ │ │ │ │ +00008f90: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l │ │ │ │ │ +00008fa0: 6974 6572 616c 732c 2020 4e65 7874 3a20 iterals, Next: │ │ │ │ │ +00008fb0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +00008fc0: 6c73 2c20 2050 7265 763a 2053 6361 6c61 ls, Prev: Scala │ │ │ │ │ +00008fd0: 7220 6c69 7465 7261 6c73 2c20 2055 703a r literals, Up: │ │ │ │ │ +00008fe0: 204c 6974 6572 616c 730a 0a33 2e31 2e33 Literals..3.1.3 │ │ │ │ │ +00008ff0: 2e32 2050 6f69 6e74 2061 6e64 2076 6563 .2 Point and vec │ │ │ │ │ +00009000: 746f 7220 6c69 7465 7261 6c73 0a2e 2e2e tor literals.... │ │ │ │ │ +00009010: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +00009020: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ +00009030: 506f 696e 7473 2061 6e64 2076 6563 746f Points and vecto │ │ │ │ │ +00009040: 7220 6c69 7465 7261 6c73 2068 6176 6520 r literals have │ │ │ │ │ +00009050: 7468 6573 6520 666f 726d 7320 7265 7370 these forms resp │ │ │ │ │ +00009060: 6563 7469 7665 6c79 2e0a 2020 2020 2028 ectively.. ( │ │ │ │ │ +00009070: 582c 592c 5a29 2020 5b58 2c59 2c5a 5d0a X,Y,Z) [X,Y,Z]. │ │ │ │ │ +00009080: 4561 6368 206f 6620 7468 6520 636f 6d70 Each of the comp │ │ │ │ │ +00009090: 6f6e 656e 7473 2069 7320 6974 7365 6c66 onents is itself │ │ │ │ │ +000090a0: 2061 2073 6361 6c61 7220 6578 7072 6573 a scalar expres │ │ │ │ │ +000090b0: 7369 6f6e 2e20 2054 6865 207a 2d63 6f6d sion. The z-com │ │ │ │ │ +000090c0: 706f 6e65 6e74 730a 6172 6520 6f70 7469 ponents.are opti │ │ │ │ │ +000090d0: 6f6e 616c 2061 6e64 2064 6566 6175 6c74 onal and default │ │ │ │ │ +000090e0: 2074 6f20 7a65 726f 2e0a 0a1f 0a46 696c to zero.....Fil │ │ │ │ │ +000090f0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +00009100: 204e 6f64 653a 2054 7261 6e73 666f 726d Node: Transform │ │ │ │ │ +00009110: 206c 6974 6572 616c 732c 2020 5072 6576 literals, Prev │ │ │ │ │ +00009120: 3a20 506f 696e 7420 616e 6420 7665 6374 : Point and vect │ │ │ │ │ +00009130: 6f72 206c 6974 6572 616c 732c 2020 5570 or literals, Up │ │ │ │ │ +00009140: 3a20 4c69 7465 7261 6c73 0a0a 332e 312e : Literals..3.1. │ │ │ │ │ +00009150: 332e 3320 5472 616e 7366 6f72 6d20 6c69 3.3 Transform li │ │ │ │ │ +00009160: 7465 7261 6c73 0a2e 2e2e 2e2e 2e2e 2e2e terals.......... │ │ │ │ │ 00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00009180: 2e2e 2e2e 2e0a 0a4d 6f73 7420 7472 616e .......Most tran │ │ │ │ │ -00009190: 7366 6f72 6d20 6c69 7465 7261 6c73 2061 sform literals a │ │ │ │ │ -000091a0: 7265 2066 6f72 6d65 6420 6279 20e2 809c re formed by ... │ │ │ │ │ -000091b0: 636f 6e73 7472 7563 746f 7273 e280 9d2e constructors.... │ │ │ │ │ -000091c0: 2020 5468 6573 6520 6172 650a 7375 6d6d These are.summ │ │ │ │ │ -000091d0: 6172 697a 6564 2069 6e20 7468 6520 666f arized in the fo │ │ │ │ │ -000091e0: 6c6c 6f77 696e 6720 7461 626c 652e 0a43 llowing table..C │ │ │ │ │ -000091f0: 6f6e 7374 7275 6374 6f72 2020 2020 2020 onstructor │ │ │ │ │ -00009200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009210: 2020 2050 6172 616d 2074 7970 6573 2020 Param types │ │ │ │ │ -00009220: 2020 2020 2020 2020 2044 6573 6372 6970 Descrip │ │ │ │ │ -00009230: 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d tion.----------- │ │ │ │ │ +00009180: 2e0a 0a4d 6f73 7420 7472 616e 7366 6f72 ...Most transfor │ │ │ │ │ +00009190: 6d20 6c69 7465 7261 6c73 2061 7265 2066 m literals are f │ │ │ │ │ +000091a0: 6f72 6d65 6420 6279 20e2 809c 636f 6e73 ormed by ...cons │ │ │ │ │ +000091b0: 7472 7563 746f 7273 e280 9d2e 2020 5468 tructors.... Th │ │ │ │ │ +000091c0: 6573 6520 6172 650a 7375 6d6d 6172 697a ese are.summariz │ │ │ │ │ +000091d0: 6564 2069 6e20 7468 6520 666f 6c6c 6f77 ed in the follow │ │ │ │ │ +000091e0: 696e 6720 7461 626c 652e 0a43 6f6e 7374 ing table..Const │ │ │ │ │ +000091f0: 7275 6374 6f72 2020 2020 2020 2020 2020 ructor │ │ │ │ │ +00009200: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ +00009210: 6172 616d 2074 7970 6573 2020 2020 2020 aram types │ │ │ │ │ +00009220: 2020 2020 2044 6573 6372 6970 7469 6f6e Description │ │ │ │ │ +00009230: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ 00009240: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009250: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009260: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009270: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009280: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00009290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -000092a0: 0ae2 8098 726f 7461 7465 2841 2c50 2c58 ....rotate(A,P,X │ │ │ │ │ -000092b0: 29e2 8099 2020 2020 2020 2020 2020 2020 )... │ │ │ │ │ -000092c0: 2020 2020 2020 2020 2073 6361 6c61 722c scalar, │ │ │ │ │ -000092d0: 706f 696e 742c 7665 6374 6f72 2020 2052 point,vector R │ │ │ │ │ -000092e0: 6f74 6174 6520 e280 9841 e280 9920 6465 otate ...A... de │ │ │ │ │ -000092f0: 6772 6565 7320 6162 6f75 7420 706f 696e grees about poin │ │ │ │ │ -00009300: 7420 e280 9850 e280 9920 7769 7468 2061 t ...P... with a │ │ │ │ │ -00009310: 7869 730a 2020 2020 2020 2020 2020 2020 xis. │ │ │ │ │ +00009290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0ae2 8098 ------------.... │ │ │ │ │ +000092a0: 726f 7461 7465 2841 2c50 2c58 29e2 8099 rotate(A,P,X)... │ │ │ │ │ +000092b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000092c0: 2020 2020 2073 6361 6c61 722c 706f 696e scalar,poin │ │ │ │ │ +000092d0: 742c 7665 6374 6f72 2020 2052 6f74 6174 t,vector Rotat │ │ │ │ │ +000092e0: 6520 e280 9841 e280 9920 6465 6772 6565 e ...A... degree │ │ │ │ │ +000092f0: 7320 6162 6f75 7420 706f 696e 7420 e280 s about point .. │ │ │ │ │ +00009300: 9850 e280 9920 7769 7468 2061 7869 730a .P... with axis. │ │ │ │ │ +00009310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009340: 2020 2020 2020 2020 2020 2020 2020 e280 .. │ │ │ │ │ -00009350: 9858 e280 9920 6163 636f 7264 696e 6720 .X... according │ │ │ │ │ -00009360: 746f 2074 6865 2072 6967 6874 2068 616e to the right han │ │ │ │ │ -00009370: 6420 7275 6c65 2e0a 2020 2020 2020 2020 d rule.. │ │ │ │ │ +00009340: 2020 2020 2020 2020 2020 e280 9858 e280 ...X.. │ │ │ │ │ +00009350: 9920 6163 636f 7264 696e 6720 746f 2074 . according to t │ │ │ │ │ +00009360: 6865 2072 6967 6874 2068 616e 6420 7275 he right hand ru │ │ │ │ │ +00009370: 6c65 2e0a 2020 2020 2020 2020 2020 2020 le.. │ │ │ │ │ 00009380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000093a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000093b0: 2020 2a4e 6f74 6520 5269 6768 7420 6861 *Note Right ha │ │ │ │ │ -000093c0: 6e64 2072 756c 653a 3a2e 2020 e280 9850 nd rule::. ...P │ │ │ │ │ -000093d0: e280 9920 616e 6420 e280 9858 e280 9920 ... and ...X... │ │ │ │ │ -000093e0: 6172 6520 626f 7468 0a20 2020 2020 2020 are both. │ │ │ │ │ +000093a0: 2020 2020 2020 2020 2020 2020 2020 2a4e *N │ │ │ │ │ +000093b0: 6f74 6520 5269 6768 7420 6861 6e64 2072 ote Right hand r │ │ │ │ │ +000093c0: 756c 653a 3a2e 2020 e280 9850 e280 9920 ule::. ...P... │ │ │ │ │ +000093d0: 616e 6420 e280 9858 e280 9920 6172 6520 and ...X... are │ │ │ │ │ +000093e0: 626f 7468 0a20 2020 2020 2020 2020 2020 both. │ │ │ │ │ 000093f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009420: 2020 206f 7074 696f 6e61 6c20 616e 6420 optional and │ │ │ │ │ -00009430: 6465 6661 756c 7420 746f 2074 6865 206f default to the o │ │ │ │ │ -00009440: 7269 6769 6e20 616e 6420 7468 650a 2020 rigin and the. │ │ │ │ │ +00009410: 2020 2020 2020 2020 2020 2020 2020 206f o │ │ │ │ │ +00009420: 7074 696f 6e61 6c20 616e 6420 6465 6661 ptional and defa │ │ │ │ │ +00009430: 756c 7420 746f 2074 6865 206f 7269 6769 ult to the origi │ │ │ │ │ +00009440: 6e20 616e 6420 7468 650a 2020 2020 2020 n and the. │ │ │ │ │ 00009450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009480: 2020 2020 2020 2020 7a2d 6178 6973 2072 z-axis r │ │ │ │ │ -00009490: 6573 7065 6374 6976 656c 792e 0ae2 8098 espectively..... │ │ │ │ │ -000094a0: 7472 616e 736c 6174 6528 5829 e280 9920 translate(X)... │ │ │ │ │ +00009480: 2020 2020 7a2d 6178 6973 2072 6573 7065 z-axis respe │ │ │ │ │ +00009490: 6374 6976 656c 792e 0ae2 8098 7472 616e ctively.....tran │ │ │ │ │ +000094a0: 736c 6174 6528 5829 e280 9920 2020 2020 slate(X)... │ │ │ │ │ 000094b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000094c0: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ -000094d0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -000094e0: 6c61 7465 2062 7920 e280 9858 e280 992e late by ...X.... │ │ │ │ │ -000094f0: 0ae2 8098 7363 616c 6528 5329 e280 9920 ....scale(S)... │ │ │ │ │ +000094c0: 2076 6563 746f 7220 2020 2020 2020 2020 vector │ │ │ │ │ +000094d0: 2020 2020 2020 2054 7261 6e73 6c61 7465 Translate │ │ │ │ │ +000094e0: 2062 7920 e280 9858 e280 992e 0ae2 8098 by ...X........ │ │ │ │ │ +000094f0: 7363 616c 6528 5329 e280 9920 2020 2020 scale(S)... │ │ │ │ │ 00009500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009510: 2020 2020 2020 2020 2073 6361 6c61 7220 scalar │ │ │ │ │ -00009520: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00009530: 6361 6c65 2075 6e69 666f 726d 6c79 2062 cale uniformly b │ │ │ │ │ -00009540: 7920 6661 6374 6f72 20e2 8098 53e2 8099 y factor ...S... │ │ │ │ │ -00009550: 2e0a e280 9873 6361 6c65 2856 29e2 8099 .....scale(V)... │ │ │ │ │ +00009510: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ +00009520: 2020 2020 2020 2020 2020 2053 6361 6c65 Scale │ │ │ │ │ +00009530: 2075 6e69 666f 726d 6c79 2062 7920 6661 uniformly by fa │ │ │ │ │ +00009540: 6374 6f72 20e2 8098 53e2 8099 2e0a e280 ctor ...S....... │ │ │ │ │ +00009550: 9873 6361 6c65 2856 29e2 8099 2020 2020 .scale(V)... │ │ │ │ │ 00009560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009570: 2020 2020 2020 2020 2020 7665 6374 6f72 vector │ │ │ │ │ -00009580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009590: 5363 616c 6520 616c 6f6e 6720 6561 6368 Scale along each │ │ │ │ │ -000095a0: 2061 7869 7320 6279 2063 6f6d 706f 6e65 axis by compone │ │ │ │ │ -000095b0: 6e74 7320 6f66 20e2 8098 56e2 8099 2e0a nts of ...V..... │ │ │ │ │ -000095c0: e280 9870 726f 6a65 6374 2829 e280 9920 ...project()... │ │ │ │ │ +00009570: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ +00009580: 2020 2020 2020 2020 2020 2020 5363 616c Scal │ │ │ │ │ +00009590: 6520 616c 6f6e 6720 6561 6368 2061 7869 e along each axi │ │ │ │ │ +000095a0: 7320 6279 2063 6f6d 706f 6e65 6e74 7320 s by components │ │ │ │ │ +000095b0: 6f66 20e2 8098 56e2 8099 2e0a e280 9870 of ...V........p │ │ │ │ │ +000095c0: 726f 6a65 6374 2829 e280 9920 2020 2020 roject()... │ │ │ │ │ 000095d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000095e0: 2020 2020 2020 2020 2d2d 2020 2020 2020 -- │ │ │ │ │ -000095f0: 2020 2020 2020 2020 2020 2020 2020 5361 Sa │ │ │ │ │ -00009600: 6d65 2061 7320 e280 9873 6361 6c65 285b me as ...scale([ │ │ │ │ │ -00009610: 312c 312c 305d 29e2 8099 2e0a e280 9870 1,1,0])........p │ │ │ │ │ -00009620: 726f 6a65 6374 2853 29e2 8099 2020 2020 roject(S)... │ │ │ │ │ +000095e0: 2020 2020 2d2d 2020 2020 2020 2020 2020 -- │ │ │ │ │ +000095f0: 2020 2020 2020 2020 2020 5361 6d65 2061 Same a │ │ │ │ │ +00009600: 7320 e280 9873 6361 6c65 285b 312c 312c s ...scale([1,1, │ │ │ │ │ +00009610: 305d 29e2 8099 2e0a e280 9870 726f 6a65 0])........proje │ │ │ │ │ +00009620: 6374 2853 29e2 8099 2020 2020 2020 2020 ct(S)... │ │ │ │ │ 00009630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009640: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ -00009650: 2020 2020 2020 2020 2020 5065 7273 7065 Perspe │ │ │ │ │ -00009660: 6374 6976 6520 7072 6f6a 6563 7469 6f6e ctive projection │ │ │ │ │ -00009670: 2077 6974 6820 7669 6577 2063 656e 7465 with view cente │ │ │ │ │ -00009680: 7220 6174 0a20 2020 2020 2020 2020 2020 r at. │ │ │ │ │ +00009640: 7363 616c 6172 2020 2020 2020 2020 2020 scalar │ │ │ │ │ +00009650: 2020 2020 2020 5065 7273 7065 6374 6976 Perspectiv │ │ │ │ │ +00009660: 6520 7072 6f6a 6563 7469 6f6e 2077 6974 e projection wit │ │ │ │ │ +00009670: 6820 7669 6577 2063 656e 7465 7220 6174 h view center at │ │ │ │ │ +00009680: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 00009690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000096a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000096b0: 2020 2020 2020 2020 2020 2020 2020 206f o │ │ │ │ │ -000096c0: 7269 6769 6e20 616e 6420 7072 6f6a 6563 rigin and projec │ │ │ │ │ -000096d0: 7469 6f6e 2070 6c61 6e65 207a 3d2d e280 tion plane z=-.. │ │ │ │ │ -000096e0: 9853 e280 992e 0ae2 8098 7065 7273 7065 .S........perspe │ │ │ │ │ -000096f0: 6374 6976 6528 5329 e280 9920 2020 2020 ctive(S)... │ │ │ │ │ -00009700: 2020 2020 2020 2020 2020 2020 2020 2073 s │ │ │ │ │ -00009710: 6361 6c61 7220 2020 2020 2020 2020 2020 calar │ │ │ │ │ -00009720: 2020 2020 2050 6572 7370 6563 7469 7665 Perspective │ │ │ │ │ -00009730: 205f 7472 616e 7366 6f72 6d5f 2069 6465 _transform_ ide │ │ │ │ │ -00009740: 6e74 6963 616c 2074 6f0a 2020 2020 2020 ntical to. │ │ │ │ │ +000096b0: 2020 2020 2020 2020 2020 206f 7269 6769 origi │ │ │ │ │ +000096c0: 6e20 616e 6420 7072 6f6a 6563 7469 6f6e n and projection │ │ │ │ │ +000096d0: 2070 6c61 6e65 207a 3d2d e280 9853 e280 plane z=-...S.. │ │ │ │ │ +000096e0: 992e 0ae2 8098 7065 7273 7065 6374 6976 ......perspectiv │ │ │ │ │ +000096f0: 6528 5329 e280 9920 2020 2020 2020 2020 e(S)... │ │ │ │ │ +00009700: 2020 2020 2020 2020 2020 2073 6361 6c61 scala │ │ │ │ │ +00009710: 7220 2020 2020 2020 2020 2020 2020 2020 r │ │ │ │ │ +00009720: 2050 6572 7370 6563 7469 7665 205f 7472 Perspective _tr │ │ │ │ │ +00009730: 616e 7366 6f72 6d5f 2069 6465 6e74 6963 ansform_ identic │ │ │ │ │ +00009740: 616c 2074 6f0a 2020 2020 2020 2020 2020 al to. │ │ │ │ │ 00009750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009780: 2020 2020 e280 9870 726f 6a65 6374 2853 ...project(S │ │ │ │ │ -00009790: 29e2 8099 2065 7863 6570 7420 7468 6174 )... except that │ │ │ │ │ -000097a0: 2074 6865 207a 2d63 6f6f 7264 696e 6174 the z-coordinat │ │ │ │ │ -000097b0: 6520 6f66 0a20 2020 2020 2020 2020 2020 e of. │ │ │ │ │ +00009780: e280 9870 726f 6a65 6374 2853 29e2 8099 ...project(S)... │ │ │ │ │ +00009790: 2065 7863 6570 7420 7468 6174 2074 6865 except that the │ │ │ │ │ +000097a0: 207a 2d63 6f6f 7264 696e 6174 6520 6f66 z-coordinate of │ │ │ │ │ +000097b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 000097c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000097d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000097e0: 2020 2020 2020 2020 2020 2020 2020 2074 t │ │ │ │ │ -000097f0: 6865 2074 7261 6e73 666f 726d 6564 2072 he transformed r │ │ │ │ │ -00009800: 6573 756c 7420 6973 20e2 809c 7073 6575 esult is ...pseu │ │ │ │ │ -00009810: 646f 6465 7074 68e2 809d 2c0a 2020 2020 dodepth...,. │ │ │ │ │ +000097e0: 2020 2020 2020 2020 2020 2074 6865 2074 the t │ │ │ │ │ +000097f0: 7261 6e73 666f 726d 6564 2072 6573 756c ransformed resul │ │ │ │ │ +00009800: 7420 6973 20e2 809c 7073 6575 646f 6465 t is ...pseudode │ │ │ │ │ +00009810: 7074 68e2 809d 2c0a 2020 2020 2020 2020 pth...,. │ │ │ │ │ 00009820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009850: 2020 2020 2020 7573 6162 6c65 2062 7920 usable by │ │ │ │ │ -00009860: 7468 6520 6869 6464 656e 2073 7572 6661 the hidden surfa │ │ │ │ │ -00009870: 6365 2061 6c67 6f72 6974 686d 2e0a e280 ce algorithm.... │ │ │ │ │ -00009880: 9876 6965 7728 452c 442c 5529 e280 9920 .view(E,D,U)... │ │ │ │ │ +00009850: 2020 7573 6162 6c65 2062 7920 7468 6520 usable by the │ │ │ │ │ +00009860: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ +00009870: 6c67 6f72 6974 686d 2e0a e280 9876 6965 lgorithm.....vie │ │ │ │ │ +00009880: 7728 452c 442c 5529 e280 9920 2020 2020 w(E,D,U)... │ │ │ │ │ 00009890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000098a0: 2020 2020 2020 706f 696e 742c 7665 6374 point,vect │ │ │ │ │ -000098b0: 6f72 2c76 6563 746f 7220 2020 5669 6577 or,vector View │ │ │ │ │ -000098c0: 2074 7261 6e73 666f 726d 2073 696d 696c transform simil │ │ │ │ │ -000098d0: 6172 2074 6f20 7468 6174 206f 6620 e280 ar to that of .. │ │ │ │ │ -000098e0: 984f 7065 6e47 4ce2 8099 2773 2e0a 2020 .OpenGL...'s.. │ │ │ │ │ +000098a0: 2020 706f 696e 742c 7665 6374 6f72 2c76 point,vector,v │ │ │ │ │ +000098b0: 6563 746f 7220 2020 5669 6577 2074 7261 ector View tra │ │ │ │ │ +000098c0: 6e73 666f 726d 2073 696d 696c 6172 2074 nsform similar t │ │ │ │ │ +000098d0: 6f20 7468 6174 206f 6620 e280 984f 7065 o that of ...Ope │ │ │ │ │ +000098e0: 6e47 4ce2 8099 2773 2e0a 2020 2020 2020 nGL...'s.. │ │ │ │ │ 000098f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009920: 2020 2020 2020 2020 5468 6520 5f65 7965 The _eye │ │ │ │ │ -00009930: 2070 6f69 6e74 5f20 e280 9845 e280 9920 point_ ...E... │ │ │ │ │ -00009940: 6973 2074 7261 6e73 6c61 7465 6420 746f is translated to │ │ │ │ │ -00009950: 2074 6865 0a20 2020 2020 2020 2020 2020 the. │ │ │ │ │ +00009920: 2020 2020 5468 6520 5f65 7965 2070 6f69 The _eye poi │ │ │ │ │ +00009930: 6e74 5f20 e280 9845 e280 9920 6973 2074 nt_ ...E... is t │ │ │ │ │ +00009940: 7261 6e73 6c61 7465 6420 746f 2074 6865 ranslated to the │ │ │ │ │ +00009950: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 00009960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009980: 2020 2020 2020 2020 2020 2020 2020 206f o │ │ │ │ │ -00009990: 7269 6769 6e20 7768 696c 6520 6120 726f rigin while a ro │ │ │ │ │ -000099a0: 7461 7469 6f6e 2069 7320 616c 736f 2061 tation is also a │ │ │ │ │ -000099b0: 7070 6c69 6564 2074 6861 740a 2020 2020 pplied that. │ │ │ │ │ +00009980: 2020 2020 2020 2020 2020 206f 7269 6769 origi │ │ │ │ │ +00009990: 6e20 7768 696c 6520 6120 726f 7461 7469 n while a rotati │ │ │ │ │ +000099a0: 6f6e 2069 7320 616c 736f 2061 7070 6c69 on is also appli │ │ │ │ │ +000099b0: 6564 2074 6861 740a 2020 2020 2020 2020 ed that. │ │ │ │ │ 000099c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000099d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000099e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000099f0: 2020 2020 2020 6d61 6b65 7320 7468 6520 makes the │ │ │ │ │ -00009a00: 5f76 6965 7720 6469 7265 6374 696f 6e20 _view direction │ │ │ │ │ -00009a10: 7665 6374 6f72 5f20 e280 9844 e280 9920 vector_ ...D... │ │ │ │ │ -00009a20: 616e 6420 7468 650a 2020 2020 2020 2020 and the. │ │ │ │ │ +000099f0: 2020 6d61 6b65 7320 7468 6520 5f76 6965 makes the _vie │ │ │ │ │ +00009a00: 7720 6469 7265 6374 696f 6e20 7665 6374 w direction vect │ │ │ │ │ +00009a10: 6f72 5f20 e280 9844 e280 9920 616e 6420 or_ ...D... and │ │ │ │ │ +00009a20: 7468 650a 2020 2020 2020 2020 2020 2020 the. │ │ │ │ │ 00009a30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009a60: 2020 5f76 6965 7720 2275 7022 2076 6563 _view "up" vec │ │ │ │ │ -00009a70: 746f 725f 20e2 8098 55e2 8099 2070 6f69 tor_ ...U... poi │ │ │ │ │ -00009a80: 6e74 2069 6e20 7468 6520 6e65 6761 7469 nt in the negati │ │ │ │ │ -00009a90: 7665 0a20 2020 2020 2020 2020 2020 2020 ve. │ │ │ │ │ +00009a50: 2020 2020 2020 2020 2020 2020 2020 5f76 _v │ │ │ │ │ +00009a60: 6965 7720 2275 7022 2076 6563 746f 725f iew "up" vector_ │ │ │ │ │ +00009a70: 20e2 8098 55e2 8099 2070 6f69 6e74 2069 ...U... point i │ │ │ │ │ +00009a80: 6e20 7468 6520 6e65 6761 7469 7665 0a20 n the negative. │ │ │ │ │ +00009a90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009ab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009ac0: 2020 2020 2020 2020 2020 2020 207a 2d20 z- │ │ │ │ │ -00009ad0: 616e 6420 7468 6520 792d 6469 7265 6374 and the y-direct │ │ │ │ │ -00009ae0: 696f 6e73 2072 6573 7065 6374 6976 656c ions respectivel │ │ │ │ │ -00009af0: 792e 2020 4966 20e2 8098 55e2 8099 0a20 y. If ...U.... │ │ │ │ │ +00009ac0: 2020 2020 2020 2020 207a 2d20 616e 6420 z- and │ │ │ │ │ +00009ad0: 7468 6520 792d 6469 7265 6374 696f 6e73 the y-directions │ │ │ │ │ +00009ae0: 2072 6573 7065 6374 6976 656c 792e 2020 respectively. │ │ │ │ │ +00009af0: 4966 20e2 8098 55e2 8099 0a20 2020 2020 If ...U.... │ │ │ │ │ 00009b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009b10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009b20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009b30: 2020 2020 2020 2020 2069 7320 6f6d 6974 is omit │ │ │ │ │ -00009b40: 7465 642c 2069 7420 6465 6661 756c 7473 ted, it defaults │ │ │ │ │ -00009b50: 2074 6f20 5b30 2c31 2c30 5d2e 2020 5768 to [0,1,0]. Wh │ │ │ │ │ -00009b60: 656e 20e2 8098 55e2 8099 0a20 2020 2020 en ...U.... │ │ │ │ │ +00009b30: 2020 2020 2069 7320 6f6d 6974 7465 642c is omitted, │ │ │ │ │ +00009b40: 2069 7420 6465 6661 756c 7473 2074 6f20 it defaults to │ │ │ │ │ +00009b50: 5b30 2c31 2c30 5d2e 2020 5768 656e 20e2 [0,1,0]. When . │ │ │ │ │ +00009b60: 8098 55e2 8099 0a20 2020 2020 2020 2020 ..U.... │ │ │ │ │ 00009b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009b80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009b90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009ba0: 2020 2020 2069 7320 6f6d 6974 7465 642c is omitted, │ │ │ │ │ -00009bb0: 20e2 8098 44e2 8099 206d 6179 2062 6520 ...D... may be │ │ │ │ │ -00009bc0: 616c 736f 3b20 6974 2064 6566 6175 6c74 also; it default │ │ │ │ │ -00009bd0: 7320 746f 0a20 2020 2020 2020 2020 2020 s to. │ │ │ │ │ +00009ba0: 2069 7320 6f6d 6974 7465 642c 20e2 8098 is omitted, ... │ │ │ │ │ +00009bb0: 44e2 8099 206d 6179 2062 6520 616c 736f D... may be also │ │ │ │ │ +00009bc0: 3b20 6974 2064 6566 6175 6c74 7320 746f ; it defaults to │ │ │ │ │ +00009bd0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 00009be0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009c00: 2020 2020 2020 2020 2020 2020 2020 20e2 . │ │ │ │ │ -00009c10: 8098 2830 2c30 2c30 292d 2845 29e2 8099 ..(0,0,0)-(E)... │ │ │ │ │ -00009c20: 2c20 6120 7665 6374 6f72 2070 6f69 6e74 , a vector point │ │ │ │ │ -00009c30: 696e 6720 6672 6f6d 2074 6865 2065 7965 ing from the eye │ │ │ │ │ -00009c40: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00009c00: 2020 2020 2020 2020 2020 20e2 8098 2830 ...(0 │ │ │ │ │ +00009c10: 2c30 2c30 292d 2845 29e2 8099 2c20 6120 ,0,0)-(E)..., a │ │ │ │ │ +00009c20: 7665 6374 6f72 2070 6f69 6e74 696e 6720 vector pointing │ │ │ │ │ +00009c30: 6672 6f6d 2074 6865 2065 7965 0a20 2020 from the eye. │ │ │ │ │ +00009c40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009c70: 2020 2020 2020 2020 2020 2074 6f77 6172 towar │ │ │ │ │ -00009c80: 6420 7468 6520 6f72 6967 696e 2e0a e280 d the origin.... │ │ │ │ │ -00009c90: 9876 6965 7728 452c 4c2c 5529 e280 9920 .view(E,L,U)... │ │ │ │ │ +00009c70: 2020 2020 2020 2074 6f77 6172 6420 7468 toward th │ │ │ │ │ +00009c80: 6520 6f72 6967 696e 2e0a e280 9876 6965 e origin.....vie │ │ │ │ │ +00009c90: 7728 452c 4c2c 5529 e280 9920 2020 2020 w(E,L,U)... │ │ │ │ │ 00009ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009cb0: 2020 2020 2020 706f 696e 742c 706f 696e point,poin │ │ │ │ │ -00009cc0: 742c 7665 6374 6f72 2020 2020 416e 2061 t,vector An a │ │ │ │ │ -00009cd0: 6c74 6572 6e61 7465 2066 6f72 6d20 6f66 lternate form of │ │ │ │ │ -00009ce0: 20e2 8098 7669 6577 2845 2c44 2c55 29e2 ...view(E,D,U). │ │ │ │ │ -00009cf0: 8099 2061 626f 7665 2077 6865 7265 0a20 .. above where. │ │ │ │ │ +00009cb0: 2020 706f 696e 742c 706f 696e 742c 7665 point,point,ve │ │ │ │ │ +00009cc0: 6374 6f72 2020 2020 416e 2061 6c74 6572 ctor An alter │ │ │ │ │ +00009cd0: 6e61 7465 2066 6f72 6d20 6f66 20e2 8098 nate form of ... │ │ │ │ │ +00009ce0: 7669 6577 2845 2c44 2c55 29e2 8099 2061 view(E,D,U)... a │ │ │ │ │ +00009cf0: 626f 7665 2077 6865 7265 0a20 2020 2020 bove where. │ │ │ │ │ 00009d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009d30: 2020 2020 2020 2020 2074 6865 2076 6965 the vie │ │ │ │ │ -00009d40: 7720 6469 7265 6374 696f 6e20 7061 7261 w direction para │ │ │ │ │ -00009d50: 6d65 7465 7220 e280 9844 e280 9920 6973 meter ...D... is │ │ │ │ │ -00009d60: 2072 6570 6c61 6365 640a 2020 2020 2020 replaced. │ │ │ │ │ +00009d30: 2020 2020 2074 6865 2076 6965 7720 6469 the view di │ │ │ │ │ +00009d40: 7265 6374 696f 6e20 7061 7261 6d65 7465 rection paramete │ │ │ │ │ +00009d50: 7220 e280 9844 e280 9920 6973 2072 6570 r ...D... is rep │ │ │ │ │ +00009d60: 6c61 6365 640a 2020 2020 2020 2020 2020 laced. │ │ │ │ │ 00009d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009d80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009d90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009da0: 2020 2020 7769 7468 2061 2022 6c6f 6f6b with a "look │ │ │ │ │ -00009db0: 2061 7422 2070 6f69 6e74 20e2 8098 4ce2 at" point ...L. │ │ │ │ │ -00009dc0: 8099 2c20 692e 652e 2c20 6120 706f 696e .., i.e., a poin │ │ │ │ │ -00009dd0: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ │ │ +00009da0: 7769 7468 2061 2022 6c6f 6f6b 2061 7422 with a "look at" │ │ │ │ │ +00009db0: 2070 6f69 6e74 20e2 8098 4ce2 8099 2c20 point ...L..., │ │ │ │ │ +00009dc0: 692e 652e 2c20 6120 706f 696e 740a 2020 i.e., a point. │ │ │ │ │ +00009dd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009e00: 2020 2020 2020 2020 2020 2020 7768 6572 wher │ │ │ │ │ -00009e10: 6520 7468 6520 7669 6577 6572 2069 7320 e the viewer is │ │ │ │ │ -00009e20: 666f 6375 7369 6e67 2068 6572 2061 7474 focusing her att │ │ │ │ │ -00009e30: 656e 7469 6f6e 2e0a 2020 2020 2020 2020 ention.. │ │ │ │ │ +00009e00: 2020 2020 2020 2020 7768 6572 6520 7468 where th │ │ │ │ │ +00009e10: 6520 7669 6577 6572 2069 7320 666f 6375 e viewer is focu │ │ │ │ │ +00009e20: 7369 6e67 2068 6572 2061 7474 656e 7469 sing her attenti │ │ │ │ │ +00009e30: 6f6e 2e0a 2020 2020 2020 2020 2020 2020 on.. │ │ │ │ │ 00009e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009e70: 2020 5468 6973 2066 6f72 6d20 6f66 2076 This form of v │ │ │ │ │ -00009e80: 6965 7720 6973 2065 7175 6976 616c 656e iew is equivalen │ │ │ │ │ -00009e90: 7420 746f 20e2 8098 7669 6577 2845 2c0a t to ...view(E,. │ │ │ │ │ +00009e60: 2020 2020 2020 2020 2020 2020 2020 5468 Th │ │ │ │ │ +00009e70: 6973 2066 6f72 6d20 6f66 2076 6965 7720 is form of view │ │ │ │ │ +00009e80: 6973 2065 7175 6976 616c 656e 7420 746f is equivalent to │ │ │ │ │ +00009e90: 20e2 8098 7669 6577 2845 2c0a 2020 2020 ...view(E,. │ │ │ │ │ 00009ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009ec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009ed0: 2020 2020 2020 2020 2020 284c 292d 2845 (L)-(E │ │ │ │ │ -00009ee0: 292c 2055 29e2 8099 2c20 7768 6572 6520 ), U)..., where │ │ │ │ │ -00009ef0: e280 9828 4c29 2d28 4529 e280 9920 6973 ...(L)-(E)... is │ │ │ │ │ -00009f00: 2061 2064 6972 6563 7469 6f6e 0a20 2020 a direction. │ │ │ │ │ +00009ed0: 2020 2020 2020 284c 292d 2845 292c 2055 (L)-(E), U │ │ │ │ │ +00009ee0: 29e2 8099 2c20 7768 6572 6520 e280 9828 )..., where ...( │ │ │ │ │ +00009ef0: 4c29 2d28 4529 e280 9920 6973 2061 2064 L)-(E)... is a d │ │ │ │ │ +00009f00: 6972 6563 7469 6f6e 0a20 2020 2020 2020 irection. │ │ │ │ │ 00009f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009f30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009f40: 2020 2020 2020 2076 6563 746f 722e 2020 vector. │ │ │ │ │ -00009f50: e280 9855 e280 9920 6973 206f 7074 696f ...U... is optio │ │ │ │ │ -00009f60: 6e61 6c20 616e 6420 6465 6661 756c 7473 nal and defaults │ │ │ │ │ -00009f70: 2074 6f0a 2020 2020 2020 2020 2020 2020 to. │ │ │ │ │ +00009f40: 2020 2076 6563 746f 722e 2020 e280 9855 vector. ...U │ │ │ │ │ +00009f50: e280 9920 6973 206f 7074 696f 6e61 6c20 ... is optional │ │ │ │ │ +00009f60: 616e 6420 6465 6661 756c 7473 2074 6f0a and defaults to. │ │ │ │ │ +00009f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009f80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009f90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009fa0: 2020 2020 2020 2020 2020 2020 2020 5b30 [0 │ │ │ │ │ -00009fb0: 2c31 2c30 5d2e 0ae2 8098 5b5b 615f 7b31 ,1,0].....[[a_{1 │ │ │ │ │ -00009fc0: 317d 2c61 5f7b 3132 7d2c 615f 7b31 337d 1},a_{12},a_{13} │ │ │ │ │ -00009fd0: 2c61 5f7b 3134 7d5d e280 9920 2020 2031 ,a_{14}]... 1 │ │ │ │ │ -00009fe0: 3620 7363 616c 6172 7320 2020 2020 2020 6 scalars │ │ │ │ │ -00009ff0: 2020 2020 2044 6972 6563 7420 7472 616e Direct tran │ │ │ │ │ -0000a000: 7366 6f72 6d20 6d61 7472 6978 2064 6566 sform matrix def │ │ │ │ │ -0000a010: 696e 6974 696f 6e2e 2020 4561 6368 206f inition. Each o │ │ │ │ │ -0000a020: 660a e280 9820 5b61 5f7b 3231 7d2c 615f f.... [a_{21},a_ │ │ │ │ │ -0000a030: 7b32 327d 2c61 5f7b 3233 7d2c 615f 7b32 {22},a_{23},a_{2 │ │ │ │ │ -0000a040: 347d 5de2 8099 2020 2020 2020 2020 2020 4}]... │ │ │ │ │ -0000a050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000a060: 7468 6520 615f 7b69 6a7d 2069 7320 6120 the a_{ij} is a │ │ │ │ │ -0000a070: 7363 616c 6172 2065 7870 7265 7373 696f scalar expressio │ │ │ │ │ -0000a080: 6e2e 2020 5365 6520 7465 7874 0ae2 8098 n. See text.... │ │ │ │ │ -0000a090: 205b 615f 7b33 317d 2c61 5f7b 3332 7d2c [a_{31},a_{32}, │ │ │ │ │ -0000a0a0: 615f 7b33 337d 2c61 5f7b 3334 7d5d e280 a_{33},a_{34}].. │ │ │ │ │ -0000a0b0: 9920 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -0000a0c0: 2020 2020 2020 2020 2020 2066 6f72 2064 for d │ │ │ │ │ -0000a0d0: 6574 6169 6c73 2e0a e280 9820 5b61 5f7b etails..... [a_{ │ │ │ │ │ -0000a0e0: 3431 7d2c 615f 7b34 327d 2c61 5f7b 3433 41},a_{42},a_{43 │ │ │ │ │ -0000a0f0: 7d2c 615f 7b34 347d 5d5d e280 990a 5468 },a_{44}]]....Th │ │ │ │ │ -0000a100: 6520 e280 9870 726f 6a65 6374 e280 9920 e ...project... │ │ │ │ │ -0000a110: 636f 6e73 7472 7563 746f 7220 6973 206e constructor is n │ │ │ │ │ -0000a120: 6f74 2067 656e 6572 616c 6c79 2075 7365 ot generally use │ │ │ │ │ -0000a130: 6675 6c20 6265 6361 7573 6520 6974 2064 ful because it d │ │ │ │ │ -0000a140: 6566 6561 7473 0a68 6964 6465 6e20 7375 efeats.hidden su │ │ │ │ │ -0000a150: 7266 6163 6520 7265 6d6f 7661 6c20 6279 rface removal by │ │ │ │ │ -0000a160: 2063 6f6c 6c61 7073 696e 6720 7468 6520 collapsing the │ │ │ │ │ -0000a170: 7363 656e 6520 6f6e 746f 2061 2073 696e scene onto a sin │ │ │ │ │ -0000a180: 676c 6520 706c 616e 652e 2020 4974 0a69 gle plane. It.i │ │ │ │ │ -0000a190: 7320 6120 7370 6563 6961 6c20 7075 7270 s a special purp │ │ │ │ │ -0000a1a0: 6f73 6520 7472 616e 7366 6f72 6d20 666f ose transform fo │ │ │ │ │ -0000a1b0: 7220 6472 6177 696e 6720 7069 6374 7572 r drawing pictur │ │ │ │ │ -0000a1c0: 6573 206f 6620 7363 656e 6573 2077 6865 es of scenes whe │ │ │ │ │ -0000a1d0: 7265 0a74 6872 6565 2d64 696d 656e 7369 re.three-dimensi │ │ │ │ │ -0000a1e0: 6f6e 616c 206f 626a 6563 7473 2061 7265 onal objects are │ │ │ │ │ -0000a1f0: 2062 6569 6e67 2070 726f 6a65 6374 6564 being projected │ │ │ │ │ -0000a200: 206f 6e74 6f20 706c 616e 6573 2e20 2053 onto planes. S │ │ │ │ │ -0000a210: 6565 2c20 666f 720a 6578 616d 706c 652c ee, for.example, │ │ │ │ │ -0000a220: 202a 6e6f 7465 204f 7665 7276 6965 773a *note Overview: │ │ │ │ │ -0000a230: 3a2e 0a0a 2020 2054 6865 2064 6972 6563 :... The direc │ │ │ │ │ -0000a240: 7420 7472 616e 7366 6f72 6d20 636f 6e73 t transform cons │ │ │ │ │ -0000a250: 7472 7563 746f 7220 616c 6c6f 7773 2064 tructor allows d │ │ │ │ │ -0000a260: 6972 6563 7420 656e 7472 7920 6f66 2061 irect entry of a │ │ │ │ │ -0000a270: 2034 7834 0a74 7261 6e73 666f 726d 6174 4x4.transformat │ │ │ │ │ -0000a280: 696f 6e20 6d61 7472 6978 2e20 204d 6f73 ion matrix. Mos │ │ │ │ │ -0000a290: 7420 3364 2067 7261 7068 6963 7320 7379 t 3d graphics sy │ │ │ │ │ -0000a2a0: 7374 656d 732c 2069 6e63 6c75 6469 6e67 stems, including │ │ │ │ │ -0000a2b0: 20e2 8098 736b 6574 6368 e280 992c 0a75 ...sketch...,.u │ │ │ │ │ -0000a2c0: 7365 2034 2d64 696d 656e 7369 6f6e 616c se 4-dimensional │ │ │ │ │ -0000a2d0: 2068 6f6d 6f67 656e 656f 7573 2063 6f6f homogeneous coo │ │ │ │ │ -0000a2e0: 7264 696e 6174 6573 2069 6e74 6572 6e61 rdinates interna │ │ │ │ │ -0000a2f0: 6c6c 792e 2020 5468 6573 6520 6172 650a lly. These are. │ │ │ │ │ -0000a300: 7472 616e 7366 6f72 6d65 6420 6279 206d transformed by m │ │ │ │ │ -0000a310: 756c 7469 706c 6963 6174 696f 6e20 7769 ultiplication wi │ │ │ │ │ -0000a320: 7468 2034 7834 206d 6174 7269 6365 732e th 4x4 matrices. │ │ │ │ │ -0000a330: 2020 5468 6520 6275 696c 742d 696e 0a63 The built-in.c │ │ │ │ │ -0000a340: 6f6e 7374 7275 6374 6f72 7320 28e2 8098 onstructors (... │ │ │ │ │ -0000a350: 726f 7461 7465 e280 992c 20e2 8098 7363 rotate..., ...sc │ │ │ │ │ -0000a360: 616c 65e2 8099 2c20 6574 632e 2920 2061 ale..., etc.) a │ │ │ │ │ -0000a370: 7265 2061 6c6c 2074 7261 6e73 6c61 7465 re all translate │ │ │ │ │ -0000a380: 6420 696e 7465 726e 616c 6c79 2074 6f0a d internally to. │ │ │ │ │ -0000a390: 7375 6368 2034 7834 206d 6174 7269 6365 such 4x4 matrice │ │ │ │ │ -0000a3a0: 732e 2020 466f 7220 6d6f 7265 2069 6e66 s. For more inf │ │ │ │ │ -0000a3b0: 6f72 6d61 7469 6f6e 206f 6e20 686f 6d6f ormation on homo │ │ │ │ │ -0000a3c0: 6765 6e65 6f75 7320 636f 6f72 6469 6e61 geneous coordina │ │ │ │ │ -0000a3d0: 7465 0a74 7261 6e73 666f 726d 6174 696f te.transformatio │ │ │ │ │ -0000a3e0: 6e73 2c20 7365 6520 616e 7920 676f 6f64 ns, see any good │ │ │ │ │ -0000a3f0: 2063 6f6d 7075 7465 7220 6772 6170 6869 computer graphi │ │ │ │ │ -0000a400: 6373 2074 6578 7462 6f6f 6b2e 2020 5468 cs textbook. Th │ │ │ │ │ -0000a410: 6520 6469 7265 6374 0a74 7261 6e73 666f e direct.transfo │ │ │ │ │ -0000a420: 726d 2066 6561 7475 7265 206f 6620 e280 rm feature of .. │ │ │ │ │ -0000a430: 9873 6b65 7463 68e2 8099 2061 6c6c 6f77 .sketch... allow │ │ │ │ │ -0000a440: 7320 796f 7520 746f 2065 6e74 6572 2061 s you to enter a │ │ │ │ │ -0000a450: 206d 6174 7269 7820 6f66 2079 6f75 7220 matrix of your │ │ │ │ │ -0000a460: 6f77 6e0a 6368 6f69 6365 2e20 2054 6865 own.choice. The │ │ │ │ │ -0000a470: 7265 2061 7265 206e 6f74 206d 616e 7920 re are not many │ │ │ │ │ -0000a480: 6361 7365 7320 7768 6572 6520 7468 6973 cases where this │ │ │ │ │ -0000a490: 2069 7320 7573 6566 756c 2c20 6275 7420 is useful, but │ │ │ │ │ -0000a4a0: 6966 2079 6f75 2064 6f0a 6e65 6564 2069 if you do.need i │ │ │ │ │ -0000a4b0: 742c 2079 6f75 206e 6565 6420 6974 2062 t, you need it b │ │ │ │ │ -0000a4c0: 6164 6c79 210a 0a1f 0a46 696c 653a 2073 adly!....File: s │ │ │ │ │ -0000a4d0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -0000a4e0: 653a 2041 7269 7468 6d65 7469 632c 2020 e: Arithmetic, │ │ │ │ │ -0000a4f0: 4e65 7874 3a20 4f70 7469 6f6e 732c 2020 Next: Options, │ │ │ │ │ -0000a500: 5072 6576 3a20 4c69 7465 7261 6c73 2c20 Prev: Literals, │ │ │ │ │ -0000a510: 2055 703a 204c 616e 6775 6167 6520 6261 Up: Language ba │ │ │ │ │ -0000a520: 7369 6373 0a0a 332e 312e 3420 4172 6974 sics..3.1.4 Arit │ │ │ │ │ -0000a530: 686d 6574 6963 2065 7870 7265 7373 696f hmetic expressio │ │ │ │ │ -0000a540: 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ns.------------- │ │ │ │ │ -0000a550: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ -0000a560: 0a41 7269 7468 6d65 7469 6320 6578 7072 .Arithmetic expr │ │ │ │ │ -0000a570: 6573 7369 6f6e 7320 6f76 6572 20e2 8098 essions over ... │ │ │ │ │ -0000a580: 736b 6574 6368 e280 9920 6c69 7465 7261 sketch... litera │ │ │ │ │ -0000a590: 6c73 2061 6e64 2064 6566 696e 6564 2069 ls and defined i │ │ │ │ │ -0000a5a0: 6465 6e74 6966 6965 7273 0a61 7265 2073 dentifiers.are s │ │ │ │ │ -0000a5b0: 756d 6d61 7269 7a65 6420 696e 2074 6865 ummarized in the │ │ │ │ │ -0000a5c0: 2066 6f6c 6c6f 7769 6e67 2074 6162 6c65 following table │ │ │ │ │ -0000a5d0: 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2054 s...* Menu:..* T │ │ │ │ │ -0000a5e0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ -0000a5f0: 7279 2920 666f 726d 733a 3a20 2041 206f ry) forms:: A o │ │ │ │ │ -0000a600: 7020 420a 2a20 556e 6172 7920 666f 726d p B.* Unary form │ │ │ │ │ -0000a610: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -0000a620: 2020 2020 6f70 2041 2028 616e 6420 6f74 op A (and ot │ │ │ │ │ -0000a630: 6865 7273 290a 0a1f 0a46 696c 653a 2073 hers)....File: s │ │ │ │ │ -0000a640: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -0000a650: 653a 2054 776f 2d6f 7065 7261 6e64 2028 e: Two-operand ( │ │ │ │ │ -0000a660: 6269 6e61 7279 2920 666f 726d 732c 2020 binary) forms, │ │ │ │ │ -0000a670: 4e65 7874 3a20 556e 6172 7920 666f 726d Next: Unary form │ │ │ │ │ -0000a680: 732c 2020 5072 6576 3a20 4172 6974 686d s, Prev: Arithm │ │ │ │ │ -0000a690: 6574 6963 2c20 2055 703a 2041 7269 7468 etic, Up: Arith │ │ │ │ │ -0000a6a0: 6d65 7469 630a 0a33 2e31 2e34 2e31 2054 metic..3.1.4.1 T │ │ │ │ │ -0000a6b0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ -0000a6c0: 7279 2920 666f 726d 7320 616e 6420 7072 ry) forms and pr │ │ │ │ │ -0000a6d0: 6563 6564 656e 6365 0a2e 2e2e 2e2e 2e2e ecedence........ │ │ │ │ │ +00009fa0: 2020 2020 2020 2020 2020 5b30 2c31 2c30 [0,1,0 │ │ │ │ │ +00009fb0: 5d2e 0ae2 8098 5b5b 615f 7b31 317d 2c61 ].....[[a_{11},a │ │ │ │ │ +00009fc0: 5f7b 3132 7d2c 615f 7b31 337d 2c61 5f7b _{12},a_{13},a_{ │ │ │ │ │ +00009fd0: 3134 7d5d e280 9920 2020 2031 3620 7363 14}]... 16 sc │ │ │ │ │ +00009fe0: 616c 6172 7320 2020 2020 2020 2020 2020 alars │ │ │ │ │ +00009ff0: 2044 6972 6563 7420 7472 616e 7366 6f72 Direct transfor │ │ │ │ │ +0000a000: 6d20 6d61 7472 6978 2064 6566 696e 6974 m matrix definit │ │ │ │ │ +0000a010: 696f 6e2e 2020 4561 6368 206f 660a e280 ion. Each of... │ │ │ │ │ +0000a020: 9820 5b61 5f7b 3231 7d2c 615f 7b32 327d . [a_{21},a_{22} │ │ │ │ │ +0000a030: 2c61 5f7b 3233 7d2c 615f 7b32 347d 5de2 ,a_{23},a_{24}]. │ │ │ │ │ +0000a040: 8099 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000a050: 2020 2020 2020 2020 2020 2020 7468 6520 the │ │ │ │ │ +0000a060: 615f 7b69 6a7d 2069 7320 6120 7363 616c a_{ij} is a scal │ │ │ │ │ +0000a070: 6172 2065 7870 7265 7373 696f 6e2e 2020 ar expression. │ │ │ │ │ +0000a080: 5365 6520 7465 7874 0ae2 8098 205b 615f See text.... [a_ │ │ │ │ │ +0000a090: 7b33 317d 2c61 5f7b 3332 7d2c 615f 7b33 {31},a_{32},a_{3 │ │ │ │ │ +0000a0a0: 337d 2c61 5f7b 3334 7d5d e280 9920 2020 3},a_{34}]... │ │ │ │ │ +0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a0c0: 2020 2020 2020 2066 6f72 2064 6574 6169 for detai │ │ │ │ │ +0000a0d0: 6c73 2e0a e280 9820 5b61 5f7b 3431 7d2c ls..... [a_{41}, │ │ │ │ │ +0000a0e0: 615f 7b34 327d 2c61 5f7b 3433 7d2c 615f a_{42},a_{43},a_ │ │ │ │ │ +0000a0f0: 7b34 347d 5d5d e280 990a 5468 6520 e280 {44}]]....The .. │ │ │ │ │ +0000a100: 9870 726f 6a65 6374 e280 9920 636f 6e73 .project... cons │ │ │ │ │ +0000a110: 7472 7563 746f 7220 6973 206e 6f74 2067 tructor is not g │ │ │ │ │ +0000a120: 656e 6572 616c 6c79 2075 7365 6675 6c20 enerally useful │ │ │ │ │ +0000a130: 6265 6361 7573 6520 6974 2064 6566 6561 because it defea │ │ │ │ │ +0000a140: 7473 0a68 6964 6465 6e20 7375 7266 6163 ts.hidden surfac │ │ │ │ │ +0000a150: 6520 7265 6d6f 7661 6c20 6279 2063 6f6c e removal by col │ │ │ │ │ +0000a160: 6c61 7073 696e 6720 7468 6520 7363 656e lapsing the scen │ │ │ │ │ +0000a170: 6520 6f6e 746f 2061 2073 696e 676c 6520 e onto a single │ │ │ │ │ +0000a180: 706c 616e 652e 2020 4974 0a69 7320 6120 plane. It.is a │ │ │ │ │ +0000a190: 7370 6563 6961 6c20 7075 7270 6f73 6520 special purpose │ │ │ │ │ +0000a1a0: 7472 616e 7366 6f72 6d20 666f 7220 6472 transform for dr │ │ │ │ │ +0000a1b0: 6177 696e 6720 7069 6374 7572 6573 206f awing pictures o │ │ │ │ │ +0000a1c0: 6620 7363 656e 6573 2077 6865 7265 0a74 f scenes where.t │ │ │ │ │ +0000a1d0: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional │ │ │ │ │ +0000a1e0: 206f 626a 6563 7473 2061 7265 2062 6569 objects are bei │ │ │ │ │ +0000a1f0: 6e67 2070 726f 6a65 6374 6564 206f 6e74 ng projected ont │ │ │ │ │ +0000a200: 6f20 706c 616e 6573 2e20 2053 6565 2c20 o planes. See, │ │ │ │ │ +0000a210: 666f 720a 6578 616d 706c 652c 202a 6e6f for.example, *no │ │ │ │ │ +0000a220: 7465 204f 7665 7276 6965 773a 3a2e 0a0a te Overview::... │ │ │ │ │ +0000a230: 2020 2054 6865 2064 6972 6563 7420 7472 The direct tr │ │ │ │ │ +0000a240: 616e 7366 6f72 6d20 636f 6e73 7472 7563 ansform construc │ │ │ │ │ +0000a250: 746f 7220 616c 6c6f 7773 2064 6972 6563 tor allows direc │ │ │ │ │ +0000a260: 7420 656e 7472 7920 6f66 2061 2034 7834 t entry of a 4x4 │ │ │ │ │ +0000a270: 0a74 7261 6e73 666f 726d 6174 696f 6e20 .transformation │ │ │ │ │ +0000a280: 6d61 7472 6978 2e20 204d 6f73 7420 3364 matrix. Most 3d │ │ │ │ │ +0000a290: 2067 7261 7068 6963 7320 7379 7374 656d graphics system │ │ │ │ │ +0000a2a0: 732c 2069 6e63 6c75 6469 6e67 20e2 8098 s, including ... │ │ │ │ │ +0000a2b0: 736b 6574 6368 e280 992c 0a75 7365 2034 sketch...,.use 4 │ │ │ │ │ +0000a2c0: 2d64 696d 656e 7369 6f6e 616c 2068 6f6d -dimensional hom │ │ │ │ │ +0000a2d0: 6f67 656e 656f 7573 2063 6f6f 7264 696e ogeneous coordin │ │ │ │ │ +0000a2e0: 6174 6573 2069 6e74 6572 6e61 6c6c 792e ates internally. │ │ │ │ │ +0000a2f0: 2020 5468 6573 6520 6172 650a 7472 616e These are.tran │ │ │ │ │ +0000a300: 7366 6f72 6d65 6420 6279 206d 756c 7469 sformed by multi │ │ │ │ │ +0000a310: 706c 6963 6174 696f 6e20 7769 7468 2034 plication with 4 │ │ │ │ │ +0000a320: 7834 206d 6174 7269 6365 732e 2020 5468 x4 matrices. Th │ │ │ │ │ +0000a330: 6520 6275 696c 742d 696e 0a63 6f6e 7374 e built-in.const │ │ │ │ │ +0000a340: 7275 6374 6f72 7320 28e2 8098 726f 7461 ructors (...rota │ │ │ │ │ +0000a350: 7465 e280 992c 20e2 8098 7363 616c 65e2 te..., ...scale. │ │ │ │ │ +0000a360: 8099 2c20 6574 632e 2920 2061 7265 2061 .., etc.) are a │ │ │ │ │ +0000a370: 6c6c 2074 7261 6e73 6c61 7465 6420 696e ll translated in │ │ │ │ │ +0000a380: 7465 726e 616c 6c79 2074 6f0a 7375 6368 ternally to.such │ │ │ │ │ +0000a390: 2034 7834 206d 6174 7269 6365 732e 2020 4x4 matrices. │ │ │ │ │ +0000a3a0: 466f 7220 6d6f 7265 2069 6e66 6f72 6d61 For more informa │ │ │ │ │ +0000a3b0: 7469 6f6e 206f 6e20 686f 6d6f 6765 6e65 tion on homogene │ │ │ │ │ +0000a3c0: 6f75 7320 636f 6f72 6469 6e61 7465 0a74 ous coordinate.t │ │ │ │ │ +0000a3d0: 7261 6e73 666f 726d 6174 696f 6e73 2c20 ransformations, │ │ │ │ │ +0000a3e0: 7365 6520 616e 7920 676f 6f64 2063 6f6d see any good com │ │ │ │ │ +0000a3f0: 7075 7465 7220 6772 6170 6869 6373 2074 puter graphics t │ │ │ │ │ +0000a400: 6578 7462 6f6f 6b2e 2020 5468 6520 6469 extbook. The di │ │ │ │ │ +0000a410: 7265 6374 0a74 7261 6e73 666f 726d 2066 rect.transform f │ │ │ │ │ +0000a420: 6561 7475 7265 206f 6620 e280 9873 6b65 eature of ...ske │ │ │ │ │ +0000a430: 7463 68e2 8099 2061 6c6c 6f77 7320 796f tch... allows yo │ │ │ │ │ +0000a440: 7520 746f 2065 6e74 6572 2061 206d 6174 u to enter a mat │ │ │ │ │ +0000a450: 7269 7820 6f66 2079 6f75 7220 6f77 6e0a rix of your own. │ │ │ │ │ +0000a460: 6368 6f69 6365 2e20 2054 6865 7265 2061 choice. There a │ │ │ │ │ +0000a470: 7265 206e 6f74 206d 616e 7920 6361 7365 re not many case │ │ │ │ │ +0000a480: 7320 7768 6572 6520 7468 6973 2069 7320 s where this is │ │ │ │ │ +0000a490: 7573 6566 756c 2c20 6275 7420 6966 2079 useful, but if y │ │ │ │ │ +0000a4a0: 6f75 2064 6f0a 6e65 6564 2069 742c 2079 ou do.need it, y │ │ │ │ │ +0000a4b0: 6f75 206e 6565 6420 6974 2062 6164 6c79 ou need it badly │ │ │ │ │ +0000a4c0: 210a 0a1f 0a46 696c 653a 2073 6b65 7463 !....File: sketc │ │ │ │ │ +0000a4d0: 682e 696e 666f 2c20 204e 6f64 653a 2041 h.info, Node: A │ │ │ │ │ +0000a4e0: 7269 7468 6d65 7469 632c 2020 4e65 7874 rithmetic, Next │ │ │ │ │ +0000a4f0: 3a20 4f70 7469 6f6e 732c 2020 5072 6576 : Options, Prev │ │ │ │ │ +0000a500: 3a20 4c69 7465 7261 6c73 2c20 2055 703a : Literals, Up: │ │ │ │ │ +0000a510: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics │ │ │ │ │ +0000a520: 0a0a 332e 312e 3420 4172 6974 686d 6574 ..3.1.4 Arithmet │ │ │ │ │ +0000a530: 6963 2065 7870 7265 7373 696f 6e73 0a2d ic expressions.- │ │ │ │ │ +0000a540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000a550: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 7269 -----------..Ari │ │ │ │ │ +0000a560: 7468 6d65 7469 6320 6578 7072 6573 7369 thmetic expressi │ │ │ │ │ +0000a570: 6f6e 7320 6f76 6572 20e2 8098 736b 6574 ons over ...sket │ │ │ │ │ +0000a580: 6368 e280 9920 6c69 7465 7261 6c73 2061 ch... literals a │ │ │ │ │ +0000a590: 6e64 2064 6566 696e 6564 2069 6465 6e74 nd defined ident │ │ │ │ │ +0000a5a0: 6966 6965 7273 0a61 7265 2073 756d 6d61 ifiers.are summa │ │ │ │ │ +0000a5b0: 7269 7a65 6420 696e 2074 6865 2066 6f6c rized in the fol │ │ │ │ │ +0000a5c0: 6c6f 7769 6e67 2074 6162 6c65 732e 0a0a lowing tables... │ │ │ │ │ +0000a5d0: 2a20 4d65 6e75 3a0a 0a2a 2054 776f 2d6f * Menu:..* Two-o │ │ │ │ │ +0000a5e0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ +0000a5f0: 666f 726d 733a 3a20 2041 206f 7020 420a forms:: A op B. │ │ │ │ │ +0000a600: 2a20 556e 6172 7920 666f 726d 733a 3a20 * Unary forms:: │ │ │ │ │ +0000a610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a620: 6f70 2041 2028 616e 6420 6f74 6865 7273 op A (and others │ │ │ │ │ +0000a630: 290a 0a1f 0a46 696c 653a 2073 6b65 7463 )....File: sketc │ │ │ │ │ +0000a640: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T │ │ │ │ │ +0000a650: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ +0000a660: 7279 2920 666f 726d 732c 2020 4e65 7874 ry) forms, Next │ │ │ │ │ +0000a670: 3a20 556e 6172 7920 666f 726d 732c 2020 : Unary forms, │ │ │ │ │ +0000a680: 5072 6576 3a20 4172 6974 686d 6574 6963 Prev: Arithmetic │ │ │ │ │ +0000a690: 2c20 2055 703a 2041 7269 7468 6d65 7469 , Up: Arithmeti │ │ │ │ │ +0000a6a0: 630a 0a33 2e31 2e34 2e31 2054 776f 2d6f c..3.1.4.1 Two-o │ │ │ │ │ +0000a6b0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ +0000a6c0: 666f 726d 7320 616e 6420 7072 6563 6564 forms and preced │ │ │ │ │ +0000a6d0: 656e 6365 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e ence............ │ │ │ │ │ 0000a6e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ 0000a6f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000a700: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4d6f 7374 ............Most │ │ │ │ │ -0000a710: 2074 776f 2d6f 7065 7261 6e64 2062 696e two-operand bin │ │ │ │ │ -0000a720: 6172 7920 666f 726d 7320 6861 7665 206d ary forms have m │ │ │ │ │ -0000a730: 6561 6e69 6e67 7320 6465 7065 6e64 656e eanings dependen │ │ │ │ │ -0000a740: 7420 6f6e 2074 6865 2074 7970 6573 206f t on the types o │ │ │ │ │ -0000a750: 660a 7468 6569 7220 6172 6775 6d65 6e74 f.their argument │ │ │ │ │ -0000a760: 732e 2020 416e 2065 7868 6175 7374 6976 s. An exhaustiv │ │ │ │ │ -0000a770: 6520 7375 6d6d 6172 7920 6f66 2074 6865 e summary of the │ │ │ │ │ -0000a780: 2070 6f73 7369 6269 6c69 7469 6573 2069 possibilities i │ │ │ │ │ -0000a790: 7320 6769 7665 6e20 696e 0a74 6865 2066 s given in.the f │ │ │ │ │ -0000a7a0: 6f6c 6c6f 7769 6e67 2074 6162 6c65 2e0a ollowing table.. │ │ │ │ │ -0000a7b0: 4c65 6674 2020 2020 2020 2020 4f70 2020 Left Op │ │ │ │ │ -0000a7c0: 2020 2020 2052 6967 6874 2020 2020 2020 Right │ │ │ │ │ -0000a7d0: 2052 6573 756c 7420 2020 2020 2044 6573 Result Des │ │ │ │ │ -0000a7e0: 6372 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d cription.------- │ │ │ │ │ +0000a700: 2e2e 2e2e 2e2e 0a0a 4d6f 7374 2074 776f ........Most two │ │ │ │ │ +0000a710: 2d6f 7065 7261 6e64 2062 696e 6172 7920 -operand binary │ │ │ │ │ +0000a720: 666f 726d 7320 6861 7665 206d 6561 6e69 forms have meani │ │ │ │ │ +0000a730: 6e67 7320 6465 7065 6e64 656e 7420 6f6e ngs dependent on │ │ │ │ │ +0000a740: 2074 6865 2074 7970 6573 206f 660a 7468 the types of.th │ │ │ │ │ +0000a750: 6569 7220 6172 6775 6d65 6e74 732e 2020 eir arguments. │ │ │ │ │ +0000a760: 416e 2065 7868 6175 7374 6976 6520 7375 An exhaustive su │ │ │ │ │ +0000a770: 6d6d 6172 7920 6f66 2074 6865 2070 6f73 mmary of the pos │ │ │ │ │ +0000a780: 7369 6269 6c69 7469 6573 2069 7320 6769 sibilities is gi │ │ │ │ │ +0000a790: 7665 6e20 696e 0a74 6865 2066 6f6c 6c6f ven in.the follo │ │ │ │ │ +0000a7a0: 7769 6e67 2074 6162 6c65 2e0a 4c65 6674 wing table..Left │ │ │ │ │ +0000a7b0: 2020 2020 2020 2020 4f70 2020 2020 2020 Op │ │ │ │ │ +0000a7c0: 2052 6967 6874 2020 2020 2020 2052 6573 Right Res │ │ │ │ │ +0000a7d0: 756c 7420 2020 2020 2044 6573 6372 6970 ult Descrip │ │ │ │ │ +0000a7e0: 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d tion.----------- │ │ │ │ │ 0000a7f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000a800: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000a810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000a820: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000a830: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000a840: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000a850: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ -0000a860: 7363 616c 6172 2020 2020 2020 e280 982b scalar ...+ │ │ │ │ │ -0000a870: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar │ │ │ │ │ -0000a880: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ -0000a890: 2053 6361 6c61 7220 7375 6d2e 0a76 6563 Scalar sum..vec │ │ │ │ │ -0000a8a0: 746f 7220 2020 2020 20e2 8098 2be2 8099 tor ...+... │ │ │ │ │ -0000a8b0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ -0000a8c0: 2020 7665 6374 6f72 2020 2020 2020 5665 vector Ve │ │ │ │ │ -0000a8d0: 6374 6f72 2073 756d 2e0a 706f 696e 7420 ctor sum..point │ │ │ │ │ -0000a8e0: 2020 2020 2020 e280 982b e280 9920 2020 ...+... │ │ │ │ │ -0000a8f0: 2020 2076 6563 746f 7220 2020 2020 2070 vector p │ │ │ │ │ -0000a900: 6f69 6e74 2020 2020 2020 2050 6f69 6e74 oint Point │ │ │ │ │ -0000a910: 2d76 6563 746f 7220 6166 6669 6e65 2073 -vector affine s │ │ │ │ │ -0000a920: 756d 2e0a 7665 6374 6f72 2020 2020 2020 um..vector │ │ │ │ │ -0000a930: e280 982b e280 9920 2020 2020 2070 6f69 ...+... poi │ │ │ │ │ -0000a940: 6e74 2020 2020 2020 2022 2020 2020 2020 nt " │ │ │ │ │ -0000a950: 2020 2020 2022 0a73 6361 6c61 7220 2020 ".scalar │ │ │ │ │ -0000a960: 2020 20e2 8098 2de2 8099 2020 2020 2020 ...-... │ │ │ │ │ -0000a970: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal │ │ │ │ │ -0000a980: 6172 2020 2020 2020 5363 616c 6172 2064 ar Scalar d │ │ │ │ │ -0000a990: 6966 6665 7265 6e63 652e 0a76 6563 746f ifference..vecto │ │ │ │ │ -0000a9a0: 7220 2020 2020 20e2 8098 2de2 8099 2020 r ...-... │ │ │ │ │ -0000a9b0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ -0000a9c0: 7665 6374 6f72 2020 2020 2020 5665 6374 vector Vect │ │ │ │ │ -0000a9d0: 6f72 2064 6966 6665 7265 6e63 652e 0a70 or difference..p │ │ │ │ │ -0000a9e0: 6f69 6e74 2020 2020 2020 20e2 8098 2de2 oint ...-. │ │ │ │ │ -0000a9f0: 8099 2020 2020 2020 706f 696e 7420 2020 .. point │ │ │ │ │ -0000aa00: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ -0000aa10: 506f 696e 742d 706f 696e 7420 6166 6669 Point-point affi │ │ │ │ │ -0000aa20: 6e65 2064 6966 6665 7265 6e63 652e 0a70 ne difference..p │ │ │ │ │ -0000aa30: 6f69 6e74 2020 2020 2020 20e2 8098 2de2 oint ...-. │ │ │ │ │ -0000aa40: 8099 2020 2020 2020 7665 6374 6f72 2020 .. vector │ │ │ │ │ -0000aa50: 2020 2020 706f 696e 7420 2020 2020 2020 point │ │ │ │ │ -0000aa60: 506f 696e 742d 7665 6374 6f72 2061 6666 Point-vector aff │ │ │ │ │ -0000aa70: 696e 6520 6469 6666 6572 656e 6365 2e0a ine difference.. │ │ │ │ │ -0000aa80: 7363 616c 6172 2020 2020 2020 e280 982a scalar ...* │ │ │ │ │ -0000aa90: e280 9920 6f72 2020 2073 6361 6c61 7220 ... or scalar │ │ │ │ │ -0000aaa0: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ -0000aab0: 2053 6361 6c61 7220 7072 6f64 7563 742e Scalar product. │ │ │ │ │ -0000aac0: 0a20 2020 2020 2020 2020 2020 20e2 8098 . ... │ │ │ │ │ -0000aad0: 2ee2 8099 0a73 6361 6c61 7220 2020 2020 .....scalar │ │ │ │ │ -0000aae0: 20e2 8098 2ae2 8099 206f 7220 2020 7665 ...*... or ve │ │ │ │ │ -0000aaf0: 6374 6f72 2020 2020 2020 7665 6374 6f72 ctor vector │ │ │ │ │ -0000ab00: 2020 2020 2020 5363 616c 6172 2d76 6563 Scalar-vec │ │ │ │ │ -0000ab10: 746f 7220 7072 6f64 7563 742e 0a20 2020 tor product.. │ │ │ │ │ -0000ab20: 2020 2020 2020 2020 20e2 8098 2ee2 8099 ....... │ │ │ │ │ -0000ab30: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ... │ │ │ │ │ -0000ab40: 2ae2 8099 206f 7220 2020 7363 616c 6172 *... or scalar │ │ │ │ │ -0000ab50: 2020 2020 2020 2220 2020 2020 2020 2020 " │ │ │ │ │ -0000ab60: 2020 220a 2020 2020 2020 2020 2020 2020 ". │ │ │ │ │ -0000ab70: e280 982e e280 990a 7665 6374 6f72 2020 ........vector │ │ │ │ │ -0000ab80: 2020 2020 e280 982a e280 9920 2020 2020 ...*... │ │ │ │ │ -0000ab90: 2076 6563 746f 7220 2020 2020 2076 6563 vector vec │ │ │ │ │ -0000aba0: 746f 7220 2020 2020 2056 6563 746f 7220 tor Vector │ │ │ │ │ -0000abb0: 6372 6f73 732d 7072 6f64 7563 742e 0a76 cross-product..v │ │ │ │ │ -0000abc0: 6563 746f 7220 2020 2020 20e2 8098 2ee2 ector ..... │ │ │ │ │ -0000abd0: 8099 2020 2020 2020 7665 6374 6f72 2020 .. vector │ │ │ │ │ -0000abe0: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ -0000abf0: 5665 6374 6f72 2064 6f74 2070 726f 6475 Vector dot produ │ │ │ │ │ -0000ac00: 6374 2e0a 7363 616c 6172 2020 2020 2020 ct..scalar │ │ │ │ │ -0000ac10: e280 985e e280 9920 2020 2020 2073 6361 ...^... sca │ │ │ │ │ -0000ac20: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar │ │ │ │ │ -0000ac30: 2020 2020 2052 6169 7365 2073 6361 6c61 Raise scala │ │ │ │ │ -0000ac40: 7220 746f 2073 6361 6c61 7220 706f 7765 r to scalar powe │ │ │ │ │ -0000ac50: 722e 0a74 7261 6e73 666f 726d 2020 20e2 r..transform . │ │ │ │ │ -0000ac60: 8098 5ee2 8099 2020 2020 2020 696e 7465 ..^... inte │ │ │ │ │ -0000ac70: 6765 7220 2020 2020 7472 616e 7366 6f72 ger transfor │ │ │ │ │ -0000ac80: 6d20 2020 5261 6973 6520 7472 616e 7366 m Raise transf │ │ │ │ │ -0000ac90: 6f72 6d20 746f 2069 6e74 6567 6572 2070 orm to integer p │ │ │ │ │ -0000aca0: 6f77 6572 2e0a 7472 616e 7366 6f72 6d20 ower..transform │ │ │ │ │ -0000acb0: 2020 e280 982a e280 9920 6f72 2020 2070 ...*... or p │ │ │ │ │ -0000acc0: 6f69 6e74 2020 2020 2020 2070 6f69 6e74 oint point │ │ │ │ │ -0000acd0: 2020 2020 2020 2041 6666 696e 6520 706f Affine po │ │ │ │ │ -0000ace0: 696e 7420 7472 616e 7366 6f72 6d20 2872 int transform (r │ │ │ │ │ -0000acf0: 6967 6874 2d74 6f2d 6c65 6674 292e 0a20 ight-to-left).. │ │ │ │ │ -0000ad00: 2020 2020 2020 2020 2020 20e2 8098 2ee2 ..... │ │ │ │ │ -0000ad10: 8099 0a74 7261 6e73 666f 726d 2020 20e2 ...transform . │ │ │ │ │ -0000ad20: 8098 2ae2 8099 206f 7220 2020 7665 6374 ..*... or vect │ │ │ │ │ -0000ad30: 6f72 2020 2020 2020 7665 6374 6f72 2020 or vector │ │ │ │ │ -0000ad40: 2020 2020 4166 6669 6e65 2076 6563 746f Affine vecto │ │ │ │ │ -0000ad50: 7220 7472 616e 7366 6f72 6d20 2872 6967 r transform (rig │ │ │ │ │ -0000ad60: 6874 2d74 6f2d 6c65 6674 292e 0a20 2020 ht-to-left).. │ │ │ │ │ -0000ad70: 2020 2020 2020 2020 20e2 8098 2ee2 8099 ....... │ │ │ │ │ -0000ad80: 0a74 7261 6e73 666f 726d 2020 20e2 8098 .transform ... │ │ │ │ │ -0000ad90: 2ae2 8099 206f 7220 2020 7472 616e 7366 *... or transf │ │ │ │ │ -0000ada0: 6f72 6d20 2020 7472 616e 7366 6f72 6d20 orm transform │ │ │ │ │ -0000adb0: 2020 5472 616e 7366 6f72 6d20 636f 6d70 Transform comp │ │ │ │ │ -0000adc0: 6f73 6974 696f 6e20 2872 6967 6874 2d74 osition (right-t │ │ │ │ │ -0000add0: 6f2d 6c65 6674 292e 0a20 2020 2020 2020 o-left).. │ │ │ │ │ -0000ade0: 2020 2020 20e2 8098 2ee2 8099 0a70 6f69 ........poi │ │ │ │ │ -0000adf0: 6e74 2020 2020 2020 20e2 8098 7468 656e nt ...then │ │ │ │ │ -0000ae00: e280 9920 2020 7472 616e 7366 6f72 6d20 ... transform │ │ │ │ │ -0000ae10: 2020 706f 696e 7420 2020 2020 2020 4166 point Af │ │ │ │ │ -0000ae20: 6669 6e65 2070 6f69 6e74 2074 7261 6e73 fine point trans │ │ │ │ │ -0000ae30: 666f 726d 2028 6c65 6674 2d74 6f2d 7269 form (left-to-ri │ │ │ │ │ -0000ae40: 6768 7429 2e0a 7665 6374 6f72 2020 2020 ght)..vector │ │ │ │ │ -0000ae50: 2020 e280 9874 6865 6ee2 8099 2020 2074 ...then... t │ │ │ │ │ -0000ae60: 7261 6e73 666f 726d 2020 2076 6563 746f ransform vecto │ │ │ │ │ -0000ae70: 7220 2020 2020 2041 6666 696e 6520 7665 r Affine ve │ │ │ │ │ -0000ae80: 6374 6f72 2074 7261 6e73 666f 726d 2028 ctor transform ( │ │ │ │ │ -0000ae90: 6c65 6674 2d74 6f2d 7269 6768 7429 2e0a left-to-right).. │ │ │ │ │ -0000aea0: 7472 616e 7366 6f72 6d20 2020 e280 9874 transform ...t │ │ │ │ │ -0000aeb0: 6865 6ee2 8099 2020 2074 7261 6e73 666f hen... transfo │ │ │ │ │ -0000aec0: 726d 2020 2074 7261 6e73 666f 726d 2020 rm transform │ │ │ │ │ -0000aed0: 2054 7261 6e73 666f 726d 2063 6f6d 706f Transform compo │ │ │ │ │ -0000aee0: 7369 7469 6f6e 2028 6c65 6674 2d74 6f2d sition (left-to- │ │ │ │ │ -0000aef0: 7269 6768 7429 2e0a 7363 616c 6172 2020 right)..scalar │ │ │ │ │ -0000af00: 2020 2020 e280 982f e280 9920 2020 2020 .../... │ │ │ │ │ -0000af10: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca │ │ │ │ │ -0000af20: 6c61 7220 2020 2020 2053 6361 6c61 7220 lar Scalar │ │ │ │ │ -0000af30: 6469 7669 7369 6f6e 2e0a 7665 6374 6f72 division..vector │ │ │ │ │ -0000af40: 2020 2020 2020 e280 982f e280 9920 2020 .../... │ │ │ │ │ -0000af50: 2020 2073 6361 6c61 7220 2020 2020 2076 scalar v │ │ │ │ │ -0000af60: 6563 746f 7220 2020 2020 2056 6563 746f ector Vecto │ │ │ │ │ -0000af70: 7220 636f 6d70 6f6e 656e 742d 7769 7365 r component-wise │ │ │ │ │ -0000af80: 2064 6976 6973 696f 6e20 6279 2073 6361 division by sca │ │ │ │ │ -0000af90: 6c61 722e 0a70 6f69 6e74 2020 2020 2020 lar..point │ │ │ │ │ -0000afa0: 20e2 8098 27e2 8099 2020 2020 2020 e280 ...'... .. │ │ │ │ │ -0000afb0: 9878 e280 992c 20e2 8098 79e2 8099 2c20 .x..., ...y..., │ │ │ │ │ -0000afc0: 2020 7363 616c 6172 2020 2020 2020 506f scalar Po │ │ │ │ │ -0000afd0: 696e 7420 636f 6d70 6f6e 656e 7420 6578 int component ex │ │ │ │ │ -0000afe0: 7472 6163 7469 6f6e 2e0a 2020 2020 2020 traction.. │ │ │ │ │ -0000aff0: 2020 2020 2020 2020 2020 2020 2020 206f o │ │ │ │ │ -0000b000: 7220 e280 987a e280 990a 7665 6374 6f72 r ...z....vector │ │ │ │ │ -0000b010: 2020 2020 2020 e280 9827 e280 9920 2020 ...'... │ │ │ │ │ -0000b020: 2020 20e2 8098 78e2 8099 2c20 e280 9879 ...x..., ...y │ │ │ │ │ -0000b030: e280 992c 2020 2073 6361 6c61 7220 2020 ..., scalar │ │ │ │ │ -0000b040: 2020 2056 6563 746f 7220 636f 6d70 6f6e Vector compon │ │ │ │ │ -0000b050: 656e 7420 6578 7472 6163 7469 6f6e 2e0a ent extraction.. │ │ │ │ │ +0000a850: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 7363 616c -----------.scal │ │ │ │ │ +0000a860: 6172 2020 2020 2020 e280 982b e280 9920 ar ...+... │ │ │ │ │ +0000a870: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ +0000a880: 2073 6361 6c61 7220 2020 2020 2053 6361 scalar Sca │ │ │ │ │ +0000a890: 6c61 7220 7375 6d2e 0a76 6563 746f 7220 lar sum..vector │ │ │ │ │ +0000a8a0: 2020 2020 20e2 8098 2be2 8099 2020 2020 ...+... │ │ │ │ │ +0000a8b0: 2020 7665 6374 6f72 2020 2020 2020 7665 vector ve │ │ │ │ │ +0000a8c0: 6374 6f72 2020 2020 2020 5665 6374 6f72 ctor Vector │ │ │ │ │ +0000a8d0: 2073 756d 2e0a 706f 696e 7420 2020 2020 sum..point │ │ │ │ │ +0000a8e0: 2020 e280 982b e280 9920 2020 2020 2076 ...+... v │ │ │ │ │ +0000a8f0: 6563 746f 7220 2020 2020 2070 6f69 6e74 ector point │ │ │ │ │ +0000a900: 2020 2020 2020 2050 6f69 6e74 2d76 6563 Point-vec │ │ │ │ │ +0000a910: 746f 7220 6166 6669 6e65 2073 756d 2e0a tor affine sum.. │ │ │ │ │ +0000a920: 7665 6374 6f72 2020 2020 2020 e280 982b vector ...+ │ │ │ │ │ +0000a930: e280 9920 2020 2020 2070 6f69 6e74 2020 ... point │ │ │ │ │ +0000a940: 2020 2020 2022 2020 2020 2020 2020 2020 " │ │ │ │ │ +0000a950: 2022 0a73 6361 6c61 7220 2020 2020 20e2 ".scalar . │ │ │ │ │ +0000a960: 8098 2de2 8099 2020 2020 2020 7363 616c ..-... scal │ │ │ │ │ +0000a970: 6172 2020 2020 2020 7363 616c 6172 2020 ar scalar │ │ │ │ │ +0000a980: 2020 2020 5363 616c 6172 2064 6966 6665 Scalar diffe │ │ │ │ │ +0000a990: 7265 6e63 652e 0a76 6563 746f 7220 2020 rence..vector │ │ │ │ │ +0000a9a0: 2020 20e2 8098 2de2 8099 2020 2020 2020 ...-... │ │ │ │ │ +0000a9b0: 7665 6374 6f72 2020 2020 2020 7665 6374 vector vect │ │ │ │ │ +0000a9c0: 6f72 2020 2020 2020 5665 6374 6f72 2064 or Vector d │ │ │ │ │ +0000a9d0: 6966 6665 7265 6e63 652e 0a70 6f69 6e74 ifference..point │ │ │ │ │ +0000a9e0: 2020 2020 2020 20e2 8098 2de2 8099 2020 ...-... │ │ │ │ │ +0000a9f0: 2020 2020 706f 696e 7420 2020 2020 2020 point │ │ │ │ │ +0000aa00: 7665 6374 6f72 2020 2020 2020 506f 696e vector Poin │ │ │ │ │ +0000aa10: 742d 706f 696e 7420 6166 6669 6e65 2064 t-point affine d │ │ │ │ │ +0000aa20: 6966 6665 7265 6e63 652e 0a70 6f69 6e74 ifference..point │ │ │ │ │ +0000aa30: 2020 2020 2020 20e2 8098 2de2 8099 2020 ...-... │ │ │ │ │ +0000aa40: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ +0000aa50: 706f 696e 7420 2020 2020 2020 506f 696e point Poin │ │ │ │ │ +0000aa60: 742d 7665 6374 6f72 2061 6666 696e 6520 t-vector affine │ │ │ │ │ +0000aa70: 6469 6666 6572 656e 6365 2e0a 7363 616c difference..scal │ │ │ │ │ +0000aa80: 6172 2020 2020 2020 e280 982a e280 9920 ar ...*... │ │ │ │ │ +0000aa90: 6f72 2020 2073 6361 6c61 7220 2020 2020 or scalar │ │ │ │ │ +0000aaa0: 2073 6361 6c61 7220 2020 2020 2053 6361 scalar Sca │ │ │ │ │ +0000aab0: 6c61 7220 7072 6f64 7563 742e 0a20 2020 lar product.. │ │ │ │ │ +0000aac0: 2020 2020 2020 2020 20e2 8098 2ee2 8099 ....... │ │ │ │ │ +0000aad0: 0a73 6361 6c61 7220 2020 2020 20e2 8098 .scalar ... │ │ │ │ │ +0000aae0: 2ae2 8099 206f 7220 2020 7665 6374 6f72 *... or vector │ │ │ │ │ +0000aaf0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ +0000ab00: 2020 5363 616c 6172 2d76 6563 746f 7220 Scalar-vector │ │ │ │ │ +0000ab10: 7072 6f64 7563 742e 0a20 2020 2020 2020 product.. │ │ │ │ │ +0000ab20: 2020 2020 20e2 8098 2ee2 8099 0a76 6563 ........vec │ │ │ │ │ +0000ab30: 746f 7220 2020 2020 20e2 8098 2ae2 8099 tor ...*... │ │ │ │ │ +0000ab40: 206f 7220 2020 7363 616c 6172 2020 2020 or scalar │ │ │ │ │ +0000ab50: 2020 2220 2020 2020 2020 2020 2020 220a " ". │ │ │ │ │ +0000ab60: 2020 2020 2020 2020 2020 2020 e280 982e .... │ │ │ │ │ +0000ab70: e280 990a 7665 6374 6f72 2020 2020 2020 ....vector │ │ │ │ │ +0000ab80: e280 982a e280 9920 2020 2020 2076 6563 ...*... vec │ │ │ │ │ +0000ab90: 746f 7220 2020 2020 2076 6563 746f 7220 tor vector │ │ │ │ │ +0000aba0: 2020 2020 2056 6563 746f 7220 6372 6f73 Vector cros │ │ │ │ │ +0000abb0: 732d 7072 6f64 7563 742e 0a76 6563 746f s-product..vecto │ │ │ │ │ +0000abc0: 7220 2020 2020 20e2 8098 2ee2 8099 2020 r ....... │ │ │ │ │ +0000abd0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ +0000abe0: 7363 616c 6172 2020 2020 2020 5665 6374 scalar Vect │ │ │ │ │ +0000abf0: 6f72 2064 6f74 2070 726f 6475 6374 2e0a or dot product.. │ │ │ │ │ +0000ac00: 7363 616c 6172 2020 2020 2020 e280 985e scalar ...^ │ │ │ │ │ +0000ac10: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar │ │ │ │ │ +0000ac20: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ +0000ac30: 2052 6169 7365 2073 6361 6c61 7220 746f Raise scalar to │ │ │ │ │ +0000ac40: 2073 6361 6c61 7220 706f 7765 722e 0a74 scalar power..t │ │ │ │ │ +0000ac50: 7261 6e73 666f 726d 2020 20e2 8098 5ee2 ransform ...^. │ │ │ │ │ +0000ac60: 8099 2020 2020 2020 696e 7465 6765 7220 .. integer │ │ │ │ │ +0000ac70: 2020 2020 7472 616e 7366 6f72 6d20 2020 transform │ │ │ │ │ +0000ac80: 5261 6973 6520 7472 616e 7366 6f72 6d20 Raise transform │ │ │ │ │ +0000ac90: 746f 2069 6e74 6567 6572 2070 6f77 6572 to integer power │ │ │ │ │ +0000aca0: 2e0a 7472 616e 7366 6f72 6d20 2020 e280 ..transform .. │ │ │ │ │ +0000acb0: 982a e280 9920 6f72 2020 2070 6f69 6e74 .*... or point │ │ │ │ │ +0000acc0: 2020 2020 2020 2070 6f69 6e74 2020 2020 point │ │ │ │ │ +0000acd0: 2020 2041 6666 696e 6520 706f 696e 7420 Affine point │ │ │ │ │ +0000ace0: 7472 616e 7366 6f72 6d20 2872 6967 6874 transform (right │ │ │ │ │ +0000acf0: 2d74 6f2d 6c65 6674 292e 0a20 2020 2020 -to-left).. │ │ │ │ │ +0000ad00: 2020 2020 2020 20e2 8098 2ee2 8099 0a74 ........t │ │ │ │ │ +0000ad10: 7261 6e73 666f 726d 2020 20e2 8098 2ae2 ransform ...*. │ │ │ │ │ +0000ad20: 8099 206f 7220 2020 7665 6374 6f72 2020 .. or vector │ │ │ │ │ +0000ad30: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ +0000ad40: 4166 6669 6e65 2076 6563 746f 7220 7472 Affine vector tr │ │ │ │ │ +0000ad50: 616e 7366 6f72 6d20 2872 6967 6874 2d74 ansform (right-t │ │ │ │ │ +0000ad60: 6f2d 6c65 6674 292e 0a20 2020 2020 2020 o-left).. │ │ │ │ │ +0000ad70: 2020 2020 20e2 8098 2ee2 8099 0a74 7261 ........tra │ │ │ │ │ +0000ad80: 6e73 666f 726d 2020 20e2 8098 2ae2 8099 nsform ...*... │ │ │ │ │ +0000ad90: 206f 7220 2020 7472 616e 7366 6f72 6d20 or transform │ │ │ │ │ +0000ada0: 2020 7472 616e 7366 6f72 6d20 2020 5472 transform Tr │ │ │ │ │ +0000adb0: 616e 7366 6f72 6d20 636f 6d70 6f73 6974 ansform composit │ │ │ │ │ +0000adc0: 696f 6e20 2872 6967 6874 2d74 6f2d 6c65 ion (right-to-le │ │ │ │ │ +0000add0: 6674 292e 0a20 2020 2020 2020 2020 2020 ft).. │ │ │ │ │ +0000ade0: 20e2 8098 2ee2 8099 0a70 6f69 6e74 2020 ........point │ │ │ │ │ +0000adf0: 2020 2020 20e2 8098 7468 656e e280 9920 ...then... │ │ │ │ │ +0000ae00: 2020 7472 616e 7366 6f72 6d20 2020 706f transform po │ │ │ │ │ +0000ae10: 696e 7420 2020 2020 2020 4166 6669 6e65 int Affine │ │ │ │ │ +0000ae20: 2070 6f69 6e74 2074 7261 6e73 666f 726d point transform │ │ │ │ │ +0000ae30: 2028 6c65 6674 2d74 6f2d 7269 6768 7429 (left-to-right) │ │ │ │ │ +0000ae40: 2e0a 7665 6374 6f72 2020 2020 2020 e280 ..vector .. │ │ │ │ │ +0000ae50: 9874 6865 6ee2 8099 2020 2074 7261 6e73 .then... trans │ │ │ │ │ +0000ae60: 666f 726d 2020 2076 6563 746f 7220 2020 form vector │ │ │ │ │ +0000ae70: 2020 2041 6666 696e 6520 7665 6374 6f72 Affine vector │ │ │ │ │ +0000ae80: 2074 7261 6e73 666f 726d 2028 6c65 6674 transform (left │ │ │ │ │ +0000ae90: 2d74 6f2d 7269 6768 7429 2e0a 7472 616e -to-right)..tran │ │ │ │ │ +0000aea0: 7366 6f72 6d20 2020 e280 9874 6865 6ee2 sform ...then. │ │ │ │ │ +0000aeb0: 8099 2020 2074 7261 6e73 666f 726d 2020 .. transform │ │ │ │ │ +0000aec0: 2074 7261 6e73 666f 726d 2020 2054 7261 transform Tra │ │ │ │ │ +0000aed0: 6e73 666f 726d 2063 6f6d 706f 7369 7469 nsform compositi │ │ │ │ │ +0000aee0: 6f6e 2028 6c65 6674 2d74 6f2d 7269 6768 on (left-to-righ │ │ │ │ │ +0000aef0: 7429 2e0a 7363 616c 6172 2020 2020 2020 t)..scalar │ │ │ │ │ +0000af00: e280 982f e280 9920 2020 2020 2073 6361 .../... sca │ │ │ │ │ +0000af10: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar │ │ │ │ │ +0000af20: 2020 2020 2053 6361 6c61 7220 6469 7669 Scalar divi │ │ │ │ │ +0000af30: 7369 6f6e 2e0a 7665 6374 6f72 2020 2020 sion..vector │ │ │ │ │ +0000af40: 2020 e280 982f e280 9920 2020 2020 2073 .../... s │ │ │ │ │ +0000af50: 6361 6c61 7220 2020 2020 2076 6563 746f calar vecto │ │ │ │ │ +0000af60: 7220 2020 2020 2056 6563 746f 7220 636f r Vector co │ │ │ │ │ +0000af70: 6d70 6f6e 656e 742d 7769 7365 2064 6976 mponent-wise div │ │ │ │ │ +0000af80: 6973 696f 6e20 6279 2073 6361 6c61 722e ision by scalar. │ │ │ │ │ +0000af90: 0a70 6f69 6e74 2020 2020 2020 20e2 8098 .point ... │ │ │ │ │ +0000afa0: 27e2 8099 2020 2020 2020 e280 9878 e280 '... ...x.. │ │ │ │ │ +0000afb0: 992c 20e2 8098 79e2 8099 2c20 2020 7363 ., ...y..., sc │ │ │ │ │ +0000afc0: 616c 6172 2020 2020 2020 506f 696e 7420 alar Point │ │ │ │ │ +0000afd0: 636f 6d70 6f6e 656e 7420 6578 7472 6163 component extrac │ │ │ │ │ +0000afe0: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. │ │ │ │ │ +0000aff0: 2020 2020 2020 2020 2020 206f 7220 e280 or .. │ │ │ │ │ +0000b000: 987a e280 990a 7665 6374 6f72 2020 2020 .z....vector │ │ │ │ │ +0000b010: 2020 e280 9827 e280 9920 2020 2020 20e2 ...'... . │ │ │ │ │ +0000b020: 8098 78e2 8099 2c20 e280 9879 e280 992c ..x..., ...y..., │ │ │ │ │ +0000b030: 2020 2073 6361 6c61 7220 2020 2020 2056 scalar V │ │ │ │ │ +0000b040: 6563 746f 7220 636f 6d70 6f6e 656e 7420 ector component │ │ │ │ │ +0000b050: 6578 7472 6163 7469 6f6e 2e0a 2020 2020 extraction.. │ │ │ │ │ 0000b060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000b070: 2020 2020 206f 7220 e280 987a e280 990a or ...z.... │ │ │ │ │ -0000b080: 0a4f 7065 7261 746f 7220 7072 6563 6564 .Operator preced │ │ │ │ │ -0000b090: 656e 6365 2069 7320 7368 6f77 6e20 696e ence is shown in │ │ │ │ │ -0000b0a0: 2074 6869 7320 7461 626c 652e 0a4f 7020 this table..Op │ │ │ │ │ -0000b0b0: 2020 2020 2020 5072 6563 6564 656e 6365 Precedence │ │ │ │ │ -0000b0c0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +0000b070: 206f 7220 e280 987a e280 990a 0a4f 7065 or ...z.....Ope │ │ │ │ │ +0000b080: 7261 746f 7220 7072 6563 6564 656e 6365 rator precedence │ │ │ │ │ +0000b090: 2069 7320 7368 6f77 6e20 696e 2074 6869 is shown in thi │ │ │ │ │ +0000b0a0: 7320 7461 626c 652e 0a4f 7020 2020 2020 s table..Op │ │ │ │ │ +0000b0b0: 2020 5072 6563 6564 656e 6365 0a2d 2d2d Precedence.--- │ │ │ │ │ +0000b0c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000b0d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000b0e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a e280 9827 -----------....' │ │ │ │ │ -0000b0f0: e280 9920 2020 2020 2068 6967 6865 7374 ... highest │ │ │ │ │ -0000b100: 2028 6d6f 7374 2074 6967 6874 6c79 2062 (most tightly b │ │ │ │ │ -0000b110: 696e 6469 6e67 290a e280 985e e280 990a inding)....^.... │ │ │ │ │ -0000b120: e280 982d e280 9920 2020 2020 2028 756e ...-... (un │ │ │ │ │ -0000b130: 6172 7920 6e65 6761 7469 6f6e 290a e280 ary negation)... │ │ │ │ │ -0000b140: 982a e280 990a e280 982e e280 990a e280 .*.............. │ │ │ │ │ -0000b150: 982f e280 990a e280 982b e280 990a e280 ./.......+...... │ │ │ │ │ -0000b160: 982d e280 990a e280 9874 6865 6ee2 8099 .-.......then... │ │ │ │ │ -0000b170: 2020 206c 6f77 6573 7420 286c 6561 7374 lowest (least │ │ │ │ │ -0000b180: 2074 6967 6874 6c79 2062 696e 6469 6e67 tightly binding │ │ │ │ │ -0000b190: 290a 0a41 6c6c 206f 7065 7261 7469 6f6e )..All operation │ │ │ │ │ -0000b1a0: 7320 6172 6520 6c65 6674 2d61 7373 6f63 s are left-assoc │ │ │ │ │ -0000b1b0: 6961 7469 7665 2065 7863 6570 7420 666f iative except fo │ │ │ │ │ -0000b1c0: 7220 e280 985e e280 992e 2020 5061 7265 r ...^.... Pare │ │ │ │ │ -0000b1d0: 6e74 6865 7365 7320 e280 9828 2029 e280 ntheses ...( ).. │ │ │ │ │ -0000b1e0: 990a 6172 6520 7573 6564 2066 6f72 2067 ..are used for g │ │ │ │ │ -0000b1f0: 726f 7570 696e 6720 746f 206f 7665 7272 rouping to overr │ │ │ │ │ -0000b200: 6964 6520 7072 6563 6564 656e 6365 2069 ide precedence i │ │ │ │ │ -0000b210: 6e20 7468 6520 7573 7561 6c20 7761 792e n the usual way. │ │ │ │ │ -0000b220: 0a0a 2020 2041 7320 796f 7520 6361 6e20 .. As you can │ │ │ │ │ -0000b230: 7365 652c 2074 6865 2064 6f74 206f 7065 see, the dot ope │ │ │ │ │ -0000b240: 7261 746f 7220 e280 982e e280 9920 6973 rator ....... is │ │ │ │ │ -0000b250: 2075 7375 616c 6c79 2061 2073 796e 6f6e usually a synon │ │ │ │ │ -0000b260: 796d 2066 6f72 0a72 756e 2d6f 662d 7468 ym for.run-of-th │ │ │ │ │ -0000b270: 652d 6d69 6c6c 206d 756c 7469 706c 6963 e-mill multiplic │ │ │ │ │ -0000b280: 6174 696f 6e2c 20e2 8098 2ae2 8099 2e20 ation, ...*.... │ │ │ │ │ -0000b290: 2054 6865 206d 6561 6e69 6e67 7320 6469 The meanings di │ │ │ │ │ -0000b2a0: 6666 6572 206f 6e6c 7920 666f 720a 7665 ffer only for.ve │ │ │ │ │ -0000b2b0: 6374 6f72 206f 7065 7261 6e64 732e 2020 ctor operands. │ │ │ │ │ -0000b2c0: 5468 6520 e280 9874 6865 6ee2 8099 206f The ...then... o │ │ │ │ │ -0000b2d0: 7065 7261 746f 7220 6d65 7265 6c79 2072 perator merely r │ │ │ │ │ -0000b2e0: 6576 6572 7365 7320 7468 6520 6f70 6572 everses the oper │ │ │ │ │ -0000b2f0: 616e 6420 6f72 6465 720a 7769 7468 2072 and order.with r │ │ │ │ │ -0000b300: 6573 7065 6374 2074 6f20 6e6f 726d 616c espect to normal │ │ │ │ │ -0000b310: 206d 756c 7469 706c 6963 6174 696f 6e20 multiplication │ │ │ │ │ -0000b320: e280 982a e280 992e 2020 5468 6520 696e ...*.... The in │ │ │ │ │ -0000b330: 7465 6e74 2068 6572 6520 6973 2074 6f20 tent here is to │ │ │ │ │ -0000b340: 6d61 6b65 0a63 6f6d 706f 7369 7469 6f6e make.composition │ │ │ │ │ -0000b350: 7320 7265 6164 206d 6f72 6520 6e61 7475 s read more natu │ │ │ │ │ -0000b360: 7261 6c6c 792e 2020 5468 6520 636f 6465 rally. The code │ │ │ │ │ -0000b370: 0a20 2020 2020 2831 2c32 2c33 2920 7468 . (1,2,3) th │ │ │ │ │ -0000b380: 656e 2073 6361 6c65 2832 2920 7468 656e en scale(2) then │ │ │ │ │ -0000b390: 2072 6f74 6174 6528 3330 2920 7468 656e rotate(30) then │ │ │ │ │ -0000b3a0: 2074 7261 6e73 6c61 7465 285b 312c 332c translate([1,3, │ │ │ │ │ -0000b3b0: 305d 290a 6578 7072 6573 7365 7320 6120 0]).expresses a │ │ │ │ │ -0000b3c0: 7365 7269 6573 206f 6620 7375 6363 6573 series of succes │ │ │ │ │ -0000b3d0: 7369 7665 206d 6f64 6966 6963 6174 696f sive modificatio │ │ │ │ │ -0000b3e0: 6e73 2074 6f20 7468 6520 706f 696e 742c ns to the point, │ │ │ │ │ -0000b3f0: 2077 6865 7265 6173 2074 6865 0a65 7175 whereas the.equ │ │ │ │ │ -0000b400: 6976 616c 656e 7420 666f 726d 0a20 2020 ivalent form. │ │ │ │ │ -0000b410: 2020 7472 616e 736c 6174 6528 5b31 2c33 translate([1,3 │ │ │ │ │ -0000b420: 2c30 5d29 202a 2072 6f74 6174 6528 3330 ,0]) * rotate(30 │ │ │ │ │ -0000b430: 2920 2a20 7363 616c 6528 3229 202a 2028 ) * scale(2) * ( │ │ │ │ │ -0000b440: 312c 322c 3329 0a77 696c 6c20 6265 2069 1,2,3).will be i │ │ │ │ │ -0000b450: 6e74 7569 7469 7665 206f 6e6c 7920 746f ntuitive only to │ │ │ │ │ -0000b460: 206d 6174 6865 6d61 7469 6369 616e 7320 mathematicians │ │ │ │ │ -0000b470: 2861 6e64 2070 6572 6861 7073 2041 7261 (and perhaps Ara │ │ │ │ │ -0000b480: 6269 6320 6c61 6e67 7561 6765 0a72 6561 bic language.rea │ │ │ │ │ -0000b490: 6465 7273 292e 0a0a 1f0a 4669 6c65 3a20 ders).....File: │ │ │ │ │ -0000b4a0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -0000b4b0: 6465 3a20 556e 6172 7920 666f 726d 732c de: Unary forms, │ │ │ │ │ -0000b4c0: 2020 5072 6576 3a20 5477 6f2d 6f70 6572 Prev: Two-oper │ │ │ │ │ -0000b4d0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ -0000b4e0: 6d73 2c20 2055 703a 2041 7269 7468 6d65 ms, Up: Arithme │ │ │ │ │ -0000b4f0: 7469 630a 0a33 2e31 2e34 2e32 2055 6e61 tic..3.1.4.2 Una │ │ │ │ │ -0000b500: 7279 2066 6f72 6d73 0a2e 2e2e 2e2e 2e2e ry forms........ │ │ │ │ │ -0000b510: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 556e ..............Un │ │ │ │ │ -0000b520: 6172 7920 6f72 206f 6e65 2d6f 7065 7261 ary or one-opera │ │ │ │ │ -0000b530: 6e64 2066 6f72 6d73 2061 7265 2073 756d nd forms are sum │ │ │ │ │ -0000b540: 6d61 7269 7a65 6420 696e 2074 6865 2066 marized in the f │ │ │ │ │ -0000b550: 6f6c 6c6f 7769 6e67 2074 6162 6c65 2c20 ollowing table, │ │ │ │ │ -0000b560: 7768 6572 650a e280 9858 e280 9920 7374 where....X... st │ │ │ │ │ -0000b570: 616e 6473 2066 6f72 2074 6865 206f 7065 ands for the ope │ │ │ │ │ -0000b580: 7261 6e64 2e0a 4f70 2020 2020 2020 2020 rand..Op │ │ │ │ │ -0000b590: 2020 2020 204f 7065 7261 6e64 2020 2020 Operand │ │ │ │ │ -0000b5a0: 2052 6573 756c 7420 2020 2020 2044 6573 Result Des │ │ │ │ │ -0000b5b0: 6372 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d cription.------- │ │ │ │ │ +0000b0e0: 2d2d 2d2d 2d2d 2d0a e280 9827 e280 9920 -------....'... │ │ │ │ │ +0000b0f0: 2020 2020 2068 6967 6865 7374 2028 6d6f highest (mo │ │ │ │ │ +0000b100: 7374 2074 6967 6874 6c79 2062 696e 6469 st tightly bindi │ │ │ │ │ +0000b110: 6e67 290a e280 985e e280 990a e280 982d ng)....^.......- │ │ │ │ │ +0000b120: e280 9920 2020 2020 2028 756e 6172 7920 ... (unary │ │ │ │ │ +0000b130: 6e65 6761 7469 6f6e 290a e280 982a e280 negation)....*.. │ │ │ │ │ +0000b140: 990a e280 982e e280 990a e280 982f e280 ............./.. │ │ │ │ │ +0000b150: 990a e280 982b e280 990a e280 982d e280 .....+.......-.. │ │ │ │ │ +0000b160: 990a e280 9874 6865 6ee2 8099 2020 206c .....then... l │ │ │ │ │ +0000b170: 6f77 6573 7420 286c 6561 7374 2074 6967 owest (least tig │ │ │ │ │ +0000b180: 6874 6c79 2062 696e 6469 6e67 290a 0a41 htly binding)..A │ │ │ │ │ +0000b190: 6c6c 206f 7065 7261 7469 6f6e 7320 6172 ll operations ar │ │ │ │ │ +0000b1a0: 6520 6c65 6674 2d61 7373 6f63 6961 7469 e left-associati │ │ │ │ │ +0000b1b0: 7665 2065 7863 6570 7420 666f 7220 e280 ve except for .. │ │ │ │ │ +0000b1c0: 985e e280 992e 2020 5061 7265 6e74 6865 .^.... Parenthe │ │ │ │ │ +0000b1d0: 7365 7320 e280 9828 2029 e280 990a 6172 ses ...( )....ar │ │ │ │ │ +0000b1e0: 6520 7573 6564 2066 6f72 2067 726f 7570 e used for group │ │ │ │ │ +0000b1f0: 696e 6720 746f 206f 7665 7272 6964 6520 ing to override │ │ │ │ │ +0000b200: 7072 6563 6564 656e 6365 2069 6e20 7468 precedence in th │ │ │ │ │ +0000b210: 6520 7573 7561 6c20 7761 792e 0a0a 2020 e usual way... │ │ │ │ │ +0000b220: 2041 7320 796f 7520 6361 6e20 7365 652c As you can see, │ │ │ │ │ +0000b230: 2074 6865 2064 6f74 206f 7065 7261 746f the dot operato │ │ │ │ │ +0000b240: 7220 e280 982e e280 9920 6973 2075 7375 r ....... is usu │ │ │ │ │ +0000b250: 616c 6c79 2061 2073 796e 6f6e 796d 2066 ally a synonym f │ │ │ │ │ +0000b260: 6f72 0a72 756e 2d6f 662d 7468 652d 6d69 or.run-of-the-mi │ │ │ │ │ +0000b270: 6c6c 206d 756c 7469 706c 6963 6174 696f ll multiplicatio │ │ │ │ │ +0000b280: 6e2c 20e2 8098 2ae2 8099 2e20 2054 6865 n, ...*.... The │ │ │ │ │ +0000b290: 206d 6561 6e69 6e67 7320 6469 6666 6572 meanings differ │ │ │ │ │ +0000b2a0: 206f 6e6c 7920 666f 720a 7665 6374 6f72 only for.vector │ │ │ │ │ +0000b2b0: 206f 7065 7261 6e64 732e 2020 5468 6520 operands. The │ │ │ │ │ +0000b2c0: e280 9874 6865 6ee2 8099 206f 7065 7261 ...then... opera │ │ │ │ │ +0000b2d0: 746f 7220 6d65 7265 6c79 2072 6576 6572 tor merely rever │ │ │ │ │ +0000b2e0: 7365 7320 7468 6520 6f70 6572 616e 6420 ses the operand │ │ │ │ │ +0000b2f0: 6f72 6465 720a 7769 7468 2072 6573 7065 order.with respe │ │ │ │ │ +0000b300: 6374 2074 6f20 6e6f 726d 616c 206d 756c ct to normal mul │ │ │ │ │ +0000b310: 7469 706c 6963 6174 696f 6e20 e280 982a tiplication ...* │ │ │ │ │ +0000b320: e280 992e 2020 5468 6520 696e 7465 6e74 .... The intent │ │ │ │ │ +0000b330: 2068 6572 6520 6973 2074 6f20 6d61 6b65 here is to make │ │ │ │ │ +0000b340: 0a63 6f6d 706f 7369 7469 6f6e 7320 7265 .compositions re │ │ │ │ │ +0000b350: 6164 206d 6f72 6520 6e61 7475 7261 6c6c ad more naturall │ │ │ │ │ +0000b360: 792e 2020 5468 6520 636f 6465 0a20 2020 y. The code. │ │ │ │ │ +0000b370: 2020 2831 2c32 2c33 2920 7468 656e 2073 (1,2,3) then s │ │ │ │ │ +0000b380: 6361 6c65 2832 2920 7468 656e 2072 6f74 cale(2) then rot │ │ │ │ │ +0000b390: 6174 6528 3330 2920 7468 656e 2074 7261 ate(30) then tra │ │ │ │ │ +0000b3a0: 6e73 6c61 7465 285b 312c 332c 305d 290a nslate([1,3,0]). │ │ │ │ │ +0000b3b0: 6578 7072 6573 7365 7320 6120 7365 7269 expresses a seri │ │ │ │ │ +0000b3c0: 6573 206f 6620 7375 6363 6573 7369 7665 es of successive │ │ │ │ │ +0000b3d0: 206d 6f64 6966 6963 6174 696f 6e73 2074 modifications t │ │ │ │ │ +0000b3e0: 6f20 7468 6520 706f 696e 742c 2077 6865 o the point, whe │ │ │ │ │ +0000b3f0: 7265 6173 2074 6865 0a65 7175 6976 616c reas the.equival │ │ │ │ │ +0000b400: 656e 7420 666f 726d 0a20 2020 2020 7472 ent form. tr │ │ │ │ │ +0000b410: 616e 736c 6174 6528 5b31 2c33 2c30 5d29 anslate([1,3,0]) │ │ │ │ │ +0000b420: 202a 2072 6f74 6174 6528 3330 2920 2a20 * rotate(30) * │ │ │ │ │ +0000b430: 7363 616c 6528 3229 202a 2028 312c 322c scale(2) * (1,2, │ │ │ │ │ +0000b440: 3329 0a77 696c 6c20 6265 2069 6e74 7569 3).will be intui │ │ │ │ │ +0000b450: 7469 7665 206f 6e6c 7920 746f 206d 6174 tive only to mat │ │ │ │ │ +0000b460: 6865 6d61 7469 6369 616e 7320 2861 6e64 hematicians (and │ │ │ │ │ +0000b470: 2070 6572 6861 7073 2041 7261 6269 6320 perhaps Arabic │ │ │ │ │ +0000b480: 6c61 6e67 7561 6765 0a72 6561 6465 7273 language.readers │ │ │ │ │ +0000b490: 292e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ).....File: sket │ │ │ │ │ +0000b4a0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +0000b4b0: 556e 6172 7920 666f 726d 732c 2020 5072 Unary forms, Pr │ │ │ │ │ +0000b4c0: 6576 3a20 5477 6f2d 6f70 6572 616e 6420 ev: Two-operand │ │ │ │ │ +0000b4d0: 2862 696e 6172 7929 2066 6f72 6d73 2c20 (binary) forms, │ │ │ │ │ +0000b4e0: 2055 703a 2041 7269 7468 6d65 7469 630a Up: Arithmetic. │ │ │ │ │ +0000b4f0: 0a33 2e31 2e34 2e32 2055 6e61 7279 2066 .3.1.4.2 Unary f │ │ │ │ │ +0000b500: 6f72 6d73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e orms............ │ │ │ │ │ +0000b510: 2e2e 2e2e 2e2e 2e2e 0a0a 556e 6172 7920 ..........Unary │ │ │ │ │ +0000b520: 6f72 206f 6e65 2d6f 7065 7261 6e64 2066 or one-operand f │ │ │ │ │ +0000b530: 6f72 6d73 2061 7265 2073 756d 6d61 7269 orms are summari │ │ │ │ │ +0000b540: 7a65 6420 696e 2074 6865 2066 6f6c 6c6f zed in the follo │ │ │ │ │ +0000b550: 7769 6e67 2074 6162 6c65 2c20 7768 6572 wing table, wher │ │ │ │ │ +0000b560: 650a e280 9858 e280 9920 7374 616e 6473 e....X... stands │ │ │ │ │ +0000b570: 2066 6f72 2074 6865 206f 7065 7261 6e64 for the operand │ │ │ │ │ +0000b580: 2e0a 4f70 2020 2020 2020 2020 2020 2020 ..Op │ │ │ │ │ +0000b590: 204f 7065 7261 6e64 2020 2020 2052 6573 Operand Res │ │ │ │ │ +0000b5a0: 756c 7420 2020 2020 2044 6573 6372 6970 ult Descrip │ │ │ │ │ +0000b5b0: 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d tion.----------- │ │ │ │ │ 0000b5c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000b5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000b5e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000b5f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000b600: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a e280 -------------... │ │ │ │ │ -0000b610: 982d 58e2 8099 2020 2020 2020 2020 2020 .-X... │ │ │ │ │ -0000b620: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca │ │ │ │ │ -0000b630: 6c61 7220 2020 2020 2055 6e61 7279 2073 lar Unary s │ │ │ │ │ -0000b640: 6361 6c61 7220 6e65 6761 7469 6f6e 2e0a calar negation.. │ │ │ │ │ -0000b650: e280 982d 58e2 8099 2020 2020 2020 2020 ...-X... │ │ │ │ │ -0000b660: 2020 2076 6563 746f 7220 2020 2020 2076 vector v │ │ │ │ │ -0000b670: 6563 746f 7220 2020 2020 2055 6e61 7279 ector Unary │ │ │ │ │ -0000b680: 2076 6563 746f 7220 6e65 6761 7469 6f6e vector negation │ │ │ │ │ -0000b690: 2e0a e280 987c 587c e280 9920 2020 2020 .....|X|... │ │ │ │ │ -0000b6a0: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ -0000b6b0: 2073 6361 6c61 7220 2020 2020 2056 6563 scalar Vec │ │ │ │ │ -0000b6c0: 746f 7220 6c65 6e67 7468 2e0a e280 9875 tor length.....u │ │ │ │ │ -0000b6d0: 6e69 7428 5829 e280 9920 2020 2020 2076 nit(X)... v │ │ │ │ │ -0000b6e0: 6563 746f 7220 2020 2020 2076 6563 746f ector vecto │ │ │ │ │ -0000b6f0: 7220 2020 2020 2055 6e69 7420 7665 6374 r Unit vect │ │ │ │ │ -0000b700: 6f72 2077 6974 6820 7361 6d65 2064 6972 or with same dir │ │ │ │ │ -0000b710: 6563 7469 6f6e 2e0a e280 9873 7172 7428 ection.....sqrt( │ │ │ │ │ -0000b720: 5829 e280 9920 2020 2020 2073 6361 6c61 X)... scala │ │ │ │ │ -0000b730: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar │ │ │ │ │ -0000b740: 2020 2053 6361 6c61 7220 7371 7561 7265 Scalar square │ │ │ │ │ -0000b750: 2072 6f6f 742e 0ae2 8098 7369 6e28 5829 root.....sin(X) │ │ │ │ │ -0000b760: e280 9920 2020 2020 2020 7363 616c 6172 ... scalar │ │ │ │ │ -0000b770: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ -0000b780: 2020 5472 6967 6f6e 6f6d 6574 7269 6320 Trigonometric │ │ │ │ │ -0000b790: 7369 6e65 2028 e280 9858 e280 9920 696e sine (...X... in │ │ │ │ │ -0000b7a0: 2064 6567 7265 6573 292e 0ae2 8098 636f degrees).....co │ │ │ │ │ -0000b7b0: 7328 5829 e280 9920 2020 2020 2020 7363 s(X)... sc │ │ │ │ │ -0000b7c0: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar │ │ │ │ │ -0000b7d0: 2020 2020 2020 5472 6967 6f6e 6f6d 6574 Trigonomet │ │ │ │ │ -0000b7e0: 7269 6320 636f 7369 6e65 2028 e280 9858 ric cosine (...X │ │ │ │ │ -0000b7f0: e280 9920 696e 2064 6567 7265 6573 292e ... in degrees). │ │ │ │ │ -0000b800: 0ae2 8098 6173 696e 2858 29e2 8099 2020 ....asin(X)... │ │ │ │ │ -0000b810: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ -0000b820: 7363 616c 6172 2020 2020 2020 496e 7665 scalar Inve │ │ │ │ │ -0000b830: 7273 6520 7369 6e65 2028 e280 9858 e280 rse sine (...X.. │ │ │ │ │ -0000b840: 9920 696e 2064 6567 7265 6573 292e 0ae2 . in degrees)... │ │ │ │ │ -0000b850: 8098 6163 6f73 2858 29e2 8099 2020 2020 ..acos(X)... │ │ │ │ │ -0000b860: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc │ │ │ │ │ -0000b870: 616c 6172 2020 2020 2020 496e 7665 7273 alar Invers │ │ │ │ │ -0000b880: 6520 636f 7369 6e65 2028 e280 9858 e280 e cosine (...X.. │ │ │ │ │ -0000b890: 9920 696e 2064 6567 7265 6573 292e 0ae2 . in degrees)... │ │ │ │ │ -0000b8a0: 8098 6174 616e 3228 582c 5929 e280 9920 ..atan2(X,Y)... │ │ │ │ │ -0000b8b0: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc │ │ │ │ │ -0000b8c0: 616c 6172 2020 2020 2020 506f 6c61 7220 alar Polar │ │ │ │ │ -0000b8d0: 616e 676c 6520 696e 2064 6567 7265 6573 angle in degrees │ │ │ │ │ -0000b8e0: 206f 6620 7665 6374 6f72 205b 582c 595d of vector [X,Y] │ │ │ │ │ -0000b8f0: 2e0a e280 9869 6e76 6572 7365 2858 29e2 .....inverse(X). │ │ │ │ │ -0000b900: 8099 2020 2074 7261 6e73 666f 726d 2020 .. transform │ │ │ │ │ -0000b910: 2074 7261 6e73 666f 726d 2020 2049 6e76 transform Inv │ │ │ │ │ -0000b920: 6572 7365 2074 7261 6e73 666f 726d 2e0a erse transform.. │ │ │ │ │ -0000b930: 0a45 7272 6f72 7320 6172 6520 7265 706f .Errors are repo │ │ │ │ │ -0000b940: 7274 6564 2077 6865 6e20 e280 987c 587c rted when ...|X| │ │ │ │ │ -0000b950: e280 992c 20e2 8098 756e 6974 e280 992c ..., ...unit..., │ │ │ │ │ -0000b960: 20e2 8098 6173 696e e280 992c 20e2 8098 ...asin..., ... │ │ │ │ │ -0000b970: 6163 6f73 e280 992c 20e2 8098 7371 7274 acos..., ...sqrt │ │ │ │ │ -0000b980: e280 992c 20e2 8098 6174 616e 32e2 8099 ..., ...atan2... │ │ │ │ │ -0000b990: 2c0a 616e 6420 e280 9869 6e76 6572 7365 ,.and ...inverse │ │ │ │ │ -0000b9a0: e280 9920 6661 696c 2064 7565 2074 6f20 ... fail due to │ │ │ │ │ -0000b9b0: 6f70 6572 616e 6473 206f 7574 7369 6465 operands outside │ │ │ │ │ -0000b9c0: 2074 6865 6972 2072 6573 7065 6374 6976 their respectiv │ │ │ │ │ -0000b9d0: 6520 646f 6d61 696e 732e 0a0a 1f0a 4669 e domains.....Fi │ │ │ │ │ -0000b9e0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -0000b9f0: 2020 4e6f 6465 3a20 4f70 7469 6f6e 732c Node: Options, │ │ │ │ │ -0000ba00: 2020 5072 6576 3a20 4172 6974 686d 6574 Prev: Arithmet │ │ │ │ │ -0000ba10: 6963 2c20 2055 703a 204c 616e 6775 6167 ic, Up: Languag │ │ │ │ │ -0000ba20: 6520 6261 7369 6373 0a0a 332e 312e 3520 e basics..3.1.5 │ │ │ │ │ -0000ba30: 4f70 7469 6f6e 730a 2d2d 2d2d 2d2d 2d2d Options.-------- │ │ │ │ │ -0000ba40: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:* │ │ │ │ │ -0000ba50: 0a20 2020 2020 5b4b 4559 313d 5641 4c31 . [KEY1=VAL1 │ │ │ │ │ -0000ba60: 2c4b 4559 323d 5641 4c32 2c2e 2e2e 5d0a ,KEY2=VAL2,...]. │ │ │ │ │ -0000ba70: 4f70 7469 6f6e 7320 6172 6520 7573 6564 Options are used │ │ │ │ │ -0000ba80: 2074 6f20 7370 6563 6966 7920 6465 7461 to specify deta │ │ │ │ │ -0000ba90: 696c 7320 6f66 2074 6865 2061 7070 6561 ils of the appea │ │ │ │ │ -0000baa0: 7261 6e63 6520 6f66 2064 7261 7761 626c rance of drawabl │ │ │ │ │ -0000bab0: 6573 2e20 2041 730a 7368 6f77 6e20 6162 es. As.shown ab │ │ │ │ │ -0000bac0: 6f76 652c 2074 6865 7920 6172 6520 6769 ove, they are gi │ │ │ │ │ -0000bad0: 7665 6e20 6173 2063 6f6d 6d61 2d73 6570 ven as comma-sep │ │ │ │ │ -0000bae0: 6172 6174 6564 206b 6579 2d76 616c 7565 arated key-value │ │ │ │ │ -0000baf0: 2070 6169 7273 2e0a 0a2a 204d 656e 753a pairs...* Menu: │ │ │ │ │ -0000bb00: 0a0a 2a20 5053 5472 6963 6b73 206f 7074 ..* PSTricks opt │ │ │ │ │ -0000bb10: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ -0000bb20: 2020 4f70 7469 6f6e 7320 696e 6865 7269 Options inheri │ │ │ │ │ -0000bb30: 7465 6420 6672 6f6d 20e2 8098 5053 5472 ted from ...PSTr │ │ │ │ │ -0000bb40: 6963 6b73 e280 992e 0a2a 2054 696b 5a2f icks.....* TikZ/ │ │ │ │ │ -0000bb50: 5047 4620 6f70 7469 6f6e 733a 3a20 2020 PGF options:: │ │ │ │ │ -0000bb60: 2020 2020 2020 2020 204f 7074 696f 6e73 Options │ │ │ │ │ -0000bb70: 2069 6e68 6572 6974 6564 2066 726f 6d20 inherited from │ │ │ │ │ -0000bb80: e280 9854 696b 5a2f 5047 46e2 8099 2e0a ...TikZ/PGF..... │ │ │ │ │ -0000bb90: 2a20 446f 7473 2069 6e20 5469 6b5a 2f50 * Dots in TikZ/P │ │ │ │ │ -0000bba0: 4746 3a3a 2020 2020 2020 2020 2020 2020 GF:: │ │ │ │ │ -0000bbb0: 536b 6574 6368 2075 7365 7320 e280 9854 Sketch uses ...T │ │ │ │ │ -0000bbc0: 696b 5a2f 5047 46e2 8099 2063 6972 636c ikZ/PGF... circl │ │ │ │ │ -0000bbd0: 6573 2066 6f72 2064 6f74 732e 0a2a 2054 es for dots..* T │ │ │ │ │ -0000bbe0: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ -0000bbf0: 696e 6564 2073 7479 6c65 733a 3a20 2053 ined styles:: S │ │ │ │ │ -0000bc00: 7570 706f 7274 2066 6f72 20e2 8098 5469 upport for ...Ti │ │ │ │ │ -0000bc10: 6b5a 2f50 4746 e280 9920 6e61 6d65 642c kZ/PGF... named, │ │ │ │ │ -0000bc20: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st │ │ │ │ │ -0000bc30: 796c 6573 2e0a 2a20 5472 616e 7370 6172 yles..* Transpar │ │ │ │ │ -0000bc40: 656e 6379 3a3a 2020 2020 2020 2020 2020 ency:: │ │ │ │ │ -0000bc50: 2020 2020 2020 5365 652d 7468 726f 7567 See-throug │ │ │ │ │ -0000bc60: 6820 706f 6c79 676f 6e73 2e0a 2a20 496e h polygons..* In │ │ │ │ │ -0000bc70: 7465 726e 616c 206f 7074 696f 6e73 3a3a ternal options:: │ │ │ │ │ -0000bc80: 2020 2020 2020 2020 2020 2020 4f70 7469 Opti │ │ │ │ │ -0000bc90: 6f6e 7320 7573 6564 2062 7920 e280 9873 ons used by ...s │ │ │ │ │ -0000bca0: 6b65 7463 68e2 8099 2e0a 0a1f 0a46 696c ketch........Fil │ │ │ │ │ -0000bcb0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -0000bcc0: 204e 6f64 653a 2050 5354 7269 636b 7320 Node: PSTricks │ │ │ │ │ -0000bcd0: 6f70 7469 6f6e 732c 2020 4e65 7874 3a20 options, Next: │ │ │ │ │ -0000bce0: 5469 6b5a 2f50 4746 206f 7074 696f 6e73 TikZ/PGF options │ │ │ │ │ -0000bcf0: 2c20 2050 7265 763a 204f 7074 696f 6e73 , Prev: Options │ │ │ │ │ -0000bd00: 2c20 2055 703a 204f 7074 696f 6e73 0a0a , Up: Options.. │ │ │ │ │ -0000bd10: 332e 312e 352e 3120 e280 9850 5354 7269 3.1.5.1 ...PSTri │ │ │ │ │ -0000bd20: 636b 73e2 8099 206f 7074 696f 6e73 0a2e cks... options.. │ │ │ │ │ +0000b600: 2d2d 2d2d 2d2d 2d2d 2d0a e280 982d 58e2 ---------....-X. │ │ │ │ │ +0000b610: 8099 2020 2020 2020 2020 2020 2073 6361 .. sca │ │ │ │ │ +0000b620: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar │ │ │ │ │ +0000b630: 2020 2020 2055 6e61 7279 2073 6361 6c61 Unary scala │ │ │ │ │ +0000b640: 7220 6e65 6761 7469 6f6e 2e0a e280 982d r negation.....- │ │ │ │ │ +0000b650: 58e2 8099 2020 2020 2020 2020 2020 2076 X... v │ │ │ │ │ +0000b660: 6563 746f 7220 2020 2020 2076 6563 746f ector vecto │ │ │ │ │ +0000b670: 7220 2020 2020 2055 6e61 7279 2076 6563 r Unary vec │ │ │ │ │ +0000b680: 746f 7220 6e65 6761 7469 6f6e 2e0a e280 tor negation.... │ │ │ │ │ +0000b690: 987c 587c e280 9920 2020 2020 2020 2020 .|X|... │ │ │ │ │ +0000b6a0: 2076 6563 746f 7220 2020 2020 2073 6361 vector sca │ │ │ │ │ +0000b6b0: 6c61 7220 2020 2020 2056 6563 746f 7220 lar Vector │ │ │ │ │ +0000b6c0: 6c65 6e67 7468 2e0a e280 9875 6e69 7428 length.....unit( │ │ │ │ │ +0000b6d0: 5829 e280 9920 2020 2020 2076 6563 746f X)... vecto │ │ │ │ │ +0000b6e0: 7220 2020 2020 2076 6563 746f 7220 2020 r vector │ │ │ │ │ +0000b6f0: 2020 2055 6e69 7420 7665 6374 6f72 2077 Unit vector w │ │ │ │ │ +0000b700: 6974 6820 7361 6d65 2064 6972 6563 7469 ith same directi │ │ │ │ │ +0000b710: 6f6e 2e0a e280 9873 7172 7428 5829 e280 on.....sqrt(X).. │ │ │ │ │ +0000b720: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar │ │ │ │ │ +0000b730: 2020 2073 6361 6c61 7220 2020 2020 2053 scalar S │ │ │ │ │ +0000b740: 6361 6c61 7220 7371 7561 7265 2072 6f6f calar square roo │ │ │ │ │ +0000b750: 742e 0ae2 8098 7369 6e28 5829 e280 9920 t.....sin(X)... │ │ │ │ │ +0000b760: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ +0000b770: 2020 7363 616c 6172 2020 2020 2020 5472 scalar Tr │ │ │ │ │ +0000b780: 6967 6f6e 6f6d 6574 7269 6320 7369 6e65 igonometric sine │ │ │ │ │ +0000b790: 2028 e280 9858 e280 9920 696e 2064 6567 (...X... in deg │ │ │ │ │ +0000b7a0: 7265 6573 292e 0ae2 8098 636f 7328 5829 rees).....cos(X) │ │ │ │ │ +0000b7b0: e280 9920 2020 2020 2020 7363 616c 6172 ... scalar │ │ │ │ │ +0000b7c0: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ +0000b7d0: 2020 5472 6967 6f6e 6f6d 6574 7269 6320 Trigonometric │ │ │ │ │ +0000b7e0: 636f 7369 6e65 2028 e280 9858 e280 9920 cosine (...X... │ │ │ │ │ +0000b7f0: 696e 2064 6567 7265 6573 292e 0ae2 8098 in degrees)..... │ │ │ │ │ +0000b800: 6173 696e 2858 29e2 8099 2020 2020 2020 asin(X)... │ │ │ │ │ +0000b810: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal │ │ │ │ │ +0000b820: 6172 2020 2020 2020 496e 7665 7273 6520 ar Inverse │ │ │ │ │ +0000b830: 7369 6e65 2028 e280 9858 e280 9920 696e sine (...X... in │ │ │ │ │ +0000b840: 2064 6567 7265 6573 292e 0ae2 8098 6163 degrees).....ac │ │ │ │ │ +0000b850: 6f73 2858 29e2 8099 2020 2020 2020 7363 os(X)... sc │ │ │ │ │ +0000b860: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar │ │ │ │ │ +0000b870: 2020 2020 2020 496e 7665 7273 6520 636f Inverse co │ │ │ │ │ +0000b880: 7369 6e65 2028 e280 9858 e280 9920 696e sine (...X... in │ │ │ │ │ +0000b890: 2064 6567 7265 6573 292e 0ae2 8098 6174 degrees).....at │ │ │ │ │ +0000b8a0: 616e 3228 582c 5929 e280 9920 2020 7363 an2(X,Y)... sc │ │ │ │ │ +0000b8b0: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar │ │ │ │ │ +0000b8c0: 2020 2020 2020 506f 6c61 7220 616e 676c Polar angl │ │ │ │ │ +0000b8d0: 6520 696e 2064 6567 7265 6573 206f 6620 e in degrees of │ │ │ │ │ +0000b8e0: 7665 6374 6f72 205b 582c 595d 2e0a e280 vector [X,Y].... │ │ │ │ │ +0000b8f0: 9869 6e76 6572 7365 2858 29e2 8099 2020 .inverse(X)... │ │ │ │ │ +0000b900: 2074 7261 6e73 666f 726d 2020 2074 7261 transform tra │ │ │ │ │ +0000b910: 6e73 666f 726d 2020 2049 6e76 6572 7365 nsform Inverse │ │ │ │ │ +0000b920: 2074 7261 6e73 666f 726d 2e0a 0a45 7272 transform...Err │ │ │ │ │ +0000b930: 6f72 7320 6172 6520 7265 706f 7274 6564 ors are reported │ │ │ │ │ +0000b940: 2077 6865 6e20 e280 987c 587c e280 992c when ...|X|..., │ │ │ │ │ +0000b950: 20e2 8098 756e 6974 e280 992c 20e2 8098 ...unit..., ... │ │ │ │ │ +0000b960: 6173 696e e280 992c 20e2 8098 6163 6f73 asin..., ...acos │ │ │ │ │ +0000b970: e280 992c 20e2 8098 7371 7274 e280 992c ..., ...sqrt..., │ │ │ │ │ +0000b980: 20e2 8098 6174 616e 32e2 8099 2c0a 616e ...atan2...,.an │ │ │ │ │ +0000b990: 6420 e280 9869 6e76 6572 7365 e280 9920 d ...inverse... │ │ │ │ │ +0000b9a0: 6661 696c 2064 7565 2074 6f20 6f70 6572 fail due to oper │ │ │ │ │ +0000b9b0: 616e 6473 206f 7574 7369 6465 2074 6865 ands outside the │ │ │ │ │ +0000b9c0: 6972 2072 6573 7065 6374 6976 6520 646f ir respective do │ │ │ │ │ +0000b9d0: 6d61 696e 732e 0a0a 1f0a 4669 6c65 3a20 mains.....File: │ │ │ │ │ +0000b9e0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +0000b9f0: 6465 3a20 4f70 7469 6f6e 732c 2020 5072 de: Options, Pr │ │ │ │ │ +0000ba00: 6576 3a20 4172 6974 686d 6574 6963 2c20 ev: Arithmetic, │ │ │ │ │ +0000ba10: 2055 703a 204c 616e 6775 6167 6520 6261 Up: Language ba │ │ │ │ │ +0000ba20: 7369 6373 0a0a 332e 312e 3520 4f70 7469 sics..3.1.5 Opti │ │ │ │ │ +0000ba30: 6f6e 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ons.------------ │ │ │ │ │ +0000ba40: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. │ │ │ │ │ +0000ba50: 2020 5b4b 4559 313d 5641 4c31 2c4b 4559 [KEY1=VAL1,KEY │ │ │ │ │ +0000ba60: 323d 5641 4c32 2c2e 2e2e 5d0a 4f70 7469 2=VAL2,...].Opti │ │ │ │ │ +0000ba70: 6f6e 7320 6172 6520 7573 6564 2074 6f20 ons are used to │ │ │ │ │ +0000ba80: 7370 6563 6966 7920 6465 7461 696c 7320 specify details │ │ │ │ │ +0000ba90: 6f66 2074 6865 2061 7070 6561 7261 6e63 of the appearanc │ │ │ │ │ +0000baa0: 6520 6f66 2064 7261 7761 626c 6573 2e20 e of drawables. │ │ │ │ │ +0000bab0: 2041 730a 7368 6f77 6e20 6162 6f76 652c As.shown above, │ │ │ │ │ +0000bac0: 2074 6865 7920 6172 6520 6769 7665 6e20 they are given │ │ │ │ │ +0000bad0: 6173 2063 6f6d 6d61 2d73 6570 6172 6174 as comma-separat │ │ │ │ │ +0000bae0: 6564 206b 6579 2d76 616c 7565 2070 6169 ed key-value pai │ │ │ │ │ +0000baf0: 7273 2e0a 0a2a 204d 656e 753a 0a0a 2a20 rs...* Menu:..* │ │ │ │ │ +0000bb00: 5053 5472 6963 6b73 206f 7074 696f 6e73 PSTricks options │ │ │ │ │ +0000bb10: 3a3a 2020 2020 2020 2020 2020 2020 4f70 :: Op │ │ │ │ │ +0000bb20: 7469 6f6e 7320 696e 6865 7269 7465 6420 tions inherited │ │ │ │ │ +0000bb30: 6672 6f6d 20e2 8098 5053 5472 6963 6b73 from ...PSTricks │ │ │ │ │ +0000bb40: e280 992e 0a2a 2054 696b 5a2f 5047 4620 .....* TikZ/PGF │ │ │ │ │ +0000bb50: 6f70 7469 6f6e 733a 3a20 2020 2020 2020 options:: │ │ │ │ │ +0000bb60: 2020 2020 204f 7074 696f 6e73 2069 6e68 Options inh │ │ │ │ │ +0000bb70: 6572 6974 6564 2066 726f 6d20 e280 9854 erited from ...T │ │ │ │ │ +0000bb80: 696b 5a2f 5047 46e2 8099 2e0a 2a20 446f ikZ/PGF.....* Do │ │ │ │ │ +0000bb90: 7473 2069 6e20 5469 6b5a 2f50 4746 3a3a ts in TikZ/PGF:: │ │ │ │ │ +0000bba0: 2020 2020 2020 2020 2020 2020 536b 6574 Sket │ │ │ │ │ +0000bbb0: 6368 2075 7365 7320 e280 9854 696b 5a2f ch uses ...TikZ/ │ │ │ │ │ +0000bbc0: 5047 46e2 8099 2063 6972 636c 6573 2066 PGF... circles f │ │ │ │ │ +0000bbd0: 6f72 2064 6f74 732e 0a2a 2054 696b 5a2f or dots..* TikZ/ │ │ │ │ │ +0000bbe0: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ +0000bbf0: 2073 7479 6c65 733a 3a20 2053 7570 706f styles:: Suppo │ │ │ │ │ +0000bc00: 7274 2066 6f72 20e2 8098 5469 6b5a 2f50 rt for ...TikZ/P │ │ │ │ │ +0000bc10: 4746 e280 9920 6e61 6d65 642c 2075 7365 GF... named, use │ │ │ │ │ +0000bc20: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles │ │ │ │ │ +0000bc30: 2e0a 2a20 5472 616e 7370 6172 656e 6379 ..* Transparency │ │ │ │ │ +0000bc40: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +0000bc50: 2020 5365 652d 7468 726f 7567 6820 706f See-through po │ │ │ │ │ +0000bc60: 6c79 676f 6e73 2e0a 2a20 496e 7465 726e lygons..* Intern │ │ │ │ │ +0000bc70: 616c 206f 7074 696f 6e73 3a3a 2020 2020 al options:: │ │ │ │ │ +0000bc80: 2020 2020 2020 2020 4f70 7469 6f6e 7320 Options │ │ │ │ │ +0000bc90: 7573 6564 2062 7920 e280 9873 6b65 7463 used by ...sketc │ │ │ │ │ +0000bca0: 68e2 8099 2e0a 0a1f 0a46 696c 653a 2073 h........File: s │ │ │ │ │ +0000bcb0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +0000bcc0: 653a 2050 5354 7269 636b 7320 6f70 7469 e: PSTricks opti │ │ │ │ │ +0000bcd0: 6f6e 732c 2020 4e65 7874 3a20 5469 6b5a ons, Next: TikZ │ │ │ │ │ +0000bce0: 2f50 4746 206f 7074 696f 6e73 2c20 2050 /PGF options, P │ │ │ │ │ +0000bcf0: 7265 763a 204f 7074 696f 6e73 2c20 2055 rev: Options, U │ │ │ │ │ +0000bd00: 703a 204f 7074 696f 6e73 0a0a 332e 312e p: Options..3.1. │ │ │ │ │ +0000bd10: 352e 3120 e280 9850 5354 7269 636b 73e2 5.1 ...PSTricks. │ │ │ │ │ +0000bd20: 8099 206f 7074 696f 6e73 0a2e 2e2e 2e2e .. options...... │ │ │ │ │ 0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000bd40: 2e2e 2e2e 2e2e 2e2e 2e0a 0a57 6865 6e20 ...........When │ │ │ │ │ -0000bd50: e280 986c 616e 6775 6167 6520 7073 7472 ...language pstr │ │ │ │ │ -0000bd60: 6963 6b73 e280 9920 6973 2073 656c 6563 icks... is selec │ │ │ │ │ -0000bd70: 7465 6420 2874 6865 2064 6566 6175 6c74 ted (the default │ │ │ │ │ -0000bd80: 292c 2070 6572 6d69 7373 6962 6c65 0a6b ), permissible.k │ │ │ │ │ -0000bd90: 6579 2d76 616c 7565 2070 6169 7273 2069 ey-value pairs i │ │ │ │ │ -0000bda0: 6e63 6c75 6465 2061 6c6c 2074 686f 7365 nclude all those │ │ │ │ │ -0000bdb0: 2066 6f72 2073 696d 696c 6172 20e2 8098 for similar ... │ │ │ │ │ -0000bdc0: 5053 5472 6963 6b73 e280 9920 6f62 6a65 PSTricks... obje │ │ │ │ │ -0000bdd0: 6374 732e 2020 466f 720a 6578 616d 706c cts. For.exampl │ │ │ │ │ -0000bde0: 652c 2061 2070 6f6c 7967 6f6e 206d 6967 e, a polygon mig │ │ │ │ │ -0000bdf0: 6874 2068 6176 6520 7468 6520 6f70 7469 ht have the opti │ │ │ │ │ -0000be00: 6f6e 730a 2020 5b6c 696e 6577 6964 7468 ons. [linewidth │ │ │ │ │ -0000be10: 3d31 7074 2c6c 696e 6563 6f6c 6f72 3d62 =1pt,linecolor=b │ │ │ │ │ -0000be20: 6c75 652c 6669 6c6c 636f 6c6f 723d 6379 lue,fillcolor=cy │ │ │ │ │ -0000be30: 616e 5d0a e280 9853 6b65 7463 68e2 8099 an]....Sketch... │ │ │ │ │ -0000be40: 206d 6572 656c 7920 7061 7373 6573 2074 merely passes t │ │ │ │ │ -0000be50: 6865 7365 206f 6e20 746f 20e2 8098 5053 hese on to ...PS │ │ │ │ │ -0000be60: 5472 6963 6b73 e280 9920 7769 7468 6f75 Tricks... withou │ │ │ │ │ -0000be70: 7420 6368 6563 6b69 6e67 206f 720a 6d6f t checking or.mo │ │ │ │ │ -0000be80: 6469 6669 6361 7469 6f6e 2e20 204f 7074 dification. Opt │ │ │ │ │ -0000be90: 696f 6e20 6c69 7374 7320 6172 6520 616c ion lists are al │ │ │ │ │ -0000bea0: 7761 7973 206f 7074 696f 6e61 6c2e 2020 ways optional. │ │ │ │ │ -0000beb0: 4120 6d69 7373 696e 6720 6f70 7469 6f6e A missing option │ │ │ │ │ -0000bec0: 7320 6c69 7374 0a69 7320 6571 7569 7661 s list.is equiva │ │ │ │ │ -0000bed0: 6c65 6e74 2074 6f20 616e 2065 6d70 7479 lent to an empty │ │ │ │ │ -0000bee0: 206f 6e65 20e2 8098 5b5d e280 992e 0a0a one ...[]...... │ │ │ │ │ -0000bef0: 2020 2057 6865 6e20 6120 e280 9870 6f6c When a ...pol │ │ │ │ │ -0000bf00: 7967 6f6e e280 9920 6861 7320 6f70 7469 ygon... has opti │ │ │ │ │ -0000bf10: 6f6e 7320 666f 7220 626f 7468 2069 7473 ons for both its │ │ │ │ │ -0000bf20: 2066 6163 6520 616e 6420 6974 7320 6564 face and its ed │ │ │ │ │ -0000bf30: 6765 732c 2061 6e64 2074 6865 0a70 6f6c ges, and the.pol │ │ │ │ │ -0000bf40: 7967 6f6e 2069 7320 7370 6c69 7420 6279 ygon is split by │ │ │ │ │ -0000bf50: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf │ │ │ │ │ -0000bf60: 6163 6520 616c 676f 7269 7468 6d2c 20e2 ace algorithm, . │ │ │ │ │ -0000bf70: 8098 736b 6574 6368 e280 9920 6d75 7374 ..sketch... must │ │ │ │ │ -0000bf80: 2063 6f70 7920 7468 650a 6564 6765 206f copy the.edge o │ │ │ │ │ -0000bf90: 7074 696f 6e73 2074 6f20 e280 9870 736c ptions to ...psl │ │ │ │ │ -0000bfa0: 696e 65e2 8099 7320 666f 7220 7468 6520 ine...s for the │ │ │ │ │ -0000bfb0: 6564 6765 2073 6567 6d65 6e74 7320 616e edge segments an │ │ │ │ │ -0000bfc0: 6420 7468 6520 6661 6365 206f 7074 696f d the face optio │ │ │ │ │ -0000bfd0: 6e73 2074 6f0a e280 9870 7370 6f6c 7967 ns to....pspolyg │ │ │ │ │ -0000bfe0: 6f6e e280 9973 2e20 204f 7074 696f 6e73 on...s. Options │ │ │ │ │ -0000bff0: 206b 6e6f 776e 2074 6f20 e280 9873 6b65 known to ...ske │ │ │ │ │ -0000c000: 7463 68e2 8099 2066 6f72 2070 7572 706f tch... for purpo │ │ │ │ │ -0000c010: 7365 7320 6f66 2074 6869 7320 7370 6c69 ses of this spli │ │ │ │ │ -0000c020: 7474 696e 670a 6f70 6572 6174 696f 6e20 tting.operation │ │ │ │ │ -0000c030: 696e 636c 7564 6520 e280 9861 7272 6f77 include ...arrow │ │ │ │ │ -0000c040: 73e2 8099 2c20 e280 9864 6173 68e2 8099 s..., ...dash... │ │ │ │ │ -0000c050: 2c20 e280 9864 6f74 7365 70e2 8099 2c20 , ...dotsep..., │ │ │ │ │ -0000c060: e280 9866 696c 6c63 6f6c 6f72 e280 992c ...fillcolor..., │ │ │ │ │ -0000c070: 20e2 8098 6669 6c6c 7374 796c 65e2 8099 ...fillstyle... │ │ │ │ │ -0000c080: 2c0a e280 986c 696e 6563 6f6c 6f72 e280 ,....linecolor.. │ │ │ │ │ -0000c090: 992c 20e2 8098 6c69 6e65 7374 796c 65e2 ., ...linestyle. │ │ │ │ │ -0000c0a0: 8099 2c20 e280 986c 696e 6577 6964 7468 .., ...linewidth │ │ │ │ │ -0000c0b0: e280 992c 20e2 8098 6f70 6163 6974 79e2 ..., ...opacity. │ │ │ │ │ -0000c0c0: 8099 2c20 e280 9873 686f 7770 6f69 6e74 .., ...showpoint │ │ │ │ │ -0000c0d0: 73e2 8099 2c0a e280 9873 7472 6f6b 656f s...,....strokeo │ │ │ │ │ -0000c0e0: 7061 6369 7479 e280 992c 2061 6e64 20e2 pacity..., and . │ │ │ │ │ -0000c0f0: 8098 7472 616e 7370 616c 7068 61e2 8099 ..transpalpha... │ │ │ │ │ -0000c100: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -0000c110: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T │ │ │ │ │ -0000c120: 696b 5a2f 5047 4620 6f70 7469 6f6e 732c ikZ/PGF options, │ │ │ │ │ -0000c130: 2020 4e65 7874 3a20 446f 7473 2069 6e20 Next: Dots in │ │ │ │ │ -0000c140: 5469 6b5a 2f50 4746 2c20 2050 7265 763a TikZ/PGF, Prev: │ │ │ │ │ -0000c150: 2050 5354 7269 636b 7320 6f70 7469 6f6e PSTricks option │ │ │ │ │ -0000c160: 732c 2020 5570 3a20 4f70 7469 6f6e 730a s, Up: Options. │ │ │ │ │ -0000c170: 0a33 2e31 2e35 2e32 20e2 8098 5469 6b5a .3.1.5.2 ...TikZ │ │ │ │ │ -0000c180: 2f50 4746 e280 9920 6f70 7469 6f6e 730a /PGF... options. │ │ │ │ │ +0000bd40: 2e2e 2e2e 2e0a 0a57 6865 6e20 e280 986c .......When ...l │ │ │ │ │ +0000bd50: 616e 6775 6167 6520 7073 7472 6963 6b73 anguage pstricks │ │ │ │ │ +0000bd60: e280 9920 6973 2073 656c 6563 7465 6420 ... is selected │ │ │ │ │ +0000bd70: 2874 6865 2064 6566 6175 6c74 292c 2070 (the default), p │ │ │ │ │ +0000bd80: 6572 6d69 7373 6962 6c65 0a6b 6579 2d76 ermissible.key-v │ │ │ │ │ +0000bd90: 616c 7565 2070 6169 7273 2069 6e63 6c75 alue pairs inclu │ │ │ │ │ +0000bda0: 6465 2061 6c6c 2074 686f 7365 2066 6f72 de all those for │ │ │ │ │ +0000bdb0: 2073 696d 696c 6172 20e2 8098 5053 5472 similar ...PSTr │ │ │ │ │ +0000bdc0: 6963 6b73 e280 9920 6f62 6a65 6374 732e icks... objects. │ │ │ │ │ +0000bdd0: 2020 466f 720a 6578 616d 706c 652c 2061 For.example, a │ │ │ │ │ +0000bde0: 2070 6f6c 7967 6f6e 206d 6967 6874 2068 polygon might h │ │ │ │ │ +0000bdf0: 6176 6520 7468 6520 6f70 7469 6f6e 730a ave the options. │ │ │ │ │ +0000be00: 2020 5b6c 696e 6577 6964 7468 3d31 7074 [linewidth=1pt │ │ │ │ │ +0000be10: 2c6c 696e 6563 6f6c 6f72 3d62 6c75 652c ,linecolor=blue, │ │ │ │ │ +0000be20: 6669 6c6c 636f 6c6f 723d 6379 616e 5d0a fillcolor=cyan]. │ │ │ │ │ +0000be30: e280 9853 6b65 7463 68e2 8099 206d 6572 ...Sketch... mer │ │ │ │ │ +0000be40: 656c 7920 7061 7373 6573 2074 6865 7365 ely passes these │ │ │ │ │ +0000be50: 206f 6e20 746f 20e2 8098 5053 5472 6963 on to ...PSTric │ │ │ │ │ +0000be60: 6b73 e280 9920 7769 7468 6f75 7420 6368 ks... without ch │ │ │ │ │ +0000be70: 6563 6b69 6e67 206f 720a 6d6f 6469 6669 ecking or.modifi │ │ │ │ │ +0000be80: 6361 7469 6f6e 2e20 204f 7074 696f 6e20 cation. Option │ │ │ │ │ +0000be90: 6c69 7374 7320 6172 6520 616c 7761 7973 lists are always │ │ │ │ │ +0000bea0: 206f 7074 696f 6e61 6c2e 2020 4120 6d69 optional. A mi │ │ │ │ │ +0000beb0: 7373 696e 6720 6f70 7469 6f6e 7320 6c69 ssing options li │ │ │ │ │ +0000bec0: 7374 0a69 7320 6571 7569 7661 6c65 6e74 st.is equivalent │ │ │ │ │ +0000bed0: 2074 6f20 616e 2065 6d70 7479 206f 6e65 to an empty one │ │ │ │ │ +0000bee0: 20e2 8098 5b5d e280 992e 0a0a 2020 2057 ...[]...... W │ │ │ │ │ +0000bef0: 6865 6e20 6120 e280 9870 6f6c 7967 6f6e hen a ...polygon │ │ │ │ │ +0000bf00: e280 9920 6861 7320 6f70 7469 6f6e 7320 ... has options │ │ │ │ │ +0000bf10: 666f 7220 626f 7468 2069 7473 2066 6163 for both its fac │ │ │ │ │ +0000bf20: 6520 616e 6420 6974 7320 6564 6765 732c e and its edges, │ │ │ │ │ +0000bf30: 2061 6e64 2074 6865 0a70 6f6c 7967 6f6e and the.polygon │ │ │ │ │ +0000bf40: 2069 7320 7370 6c69 7420 6279 2074 6865 is split by the │ │ │ │ │ +0000bf50: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface │ │ │ │ │ +0000bf60: 616c 676f 7269 7468 6d2c 20e2 8098 736b algorithm, ...sk │ │ │ │ │ +0000bf70: 6574 6368 e280 9920 6d75 7374 2063 6f70 etch... must cop │ │ │ │ │ +0000bf80: 7920 7468 650a 6564 6765 206f 7074 696f y the.edge optio │ │ │ │ │ +0000bf90: 6e73 2074 6f20 e280 9870 736c 696e 65e2 ns to ...psline. │ │ │ │ │ +0000bfa0: 8099 7320 666f 7220 7468 6520 6564 6765 ..s for the edge │ │ │ │ │ +0000bfb0: 2073 6567 6d65 6e74 7320 616e 6420 7468 segments and th │ │ │ │ │ +0000bfc0: 6520 6661 6365 206f 7074 696f 6e73 2074 e face options t │ │ │ │ │ +0000bfd0: 6f0a e280 9870 7370 6f6c 7967 6f6e e280 o....pspolygon.. │ │ │ │ │ +0000bfe0: 9973 2e20 204f 7074 696f 6e73 206b 6e6f .s. Options kno │ │ │ │ │ +0000bff0: 776e 2074 6f20 e280 9873 6b65 7463 68e2 wn to ...sketch. │ │ │ │ │ +0000c000: 8099 2066 6f72 2070 7572 706f 7365 7320 .. for purposes │ │ │ │ │ +0000c010: 6f66 2074 6869 7320 7370 6c69 7474 696e of this splittin │ │ │ │ │ +0000c020: 670a 6f70 6572 6174 696f 6e20 696e 636c g.operation incl │ │ │ │ │ +0000c030: 7564 6520 e280 9861 7272 6f77 73e2 8099 ude ...arrows... │ │ │ │ │ +0000c040: 2c20 e280 9864 6173 68e2 8099 2c20 e280 , ...dash..., .. │ │ │ │ │ +0000c050: 9864 6f74 7365 70e2 8099 2c20 e280 9866 .dotsep..., ...f │ │ │ │ │ +0000c060: 696c 6c63 6f6c 6f72 e280 992c 20e2 8098 illcolor..., ... │ │ │ │ │ +0000c070: 6669 6c6c 7374 796c 65e2 8099 2c0a e280 fillstyle...,... │ │ │ │ │ +0000c080: 986c 696e 6563 6f6c 6f72 e280 992c 20e2 .linecolor..., . │ │ │ │ │ +0000c090: 8098 6c69 6e65 7374 796c 65e2 8099 2c20 ..linestyle..., │ │ │ │ │ +0000c0a0: e280 986c 696e 6577 6964 7468 e280 992c ...linewidth..., │ │ │ │ │ +0000c0b0: 20e2 8098 6f70 6163 6974 79e2 8099 2c20 ...opacity..., │ │ │ │ │ +0000c0c0: e280 9873 686f 7770 6f69 6e74 73e2 8099 ...showpoints... │ │ │ │ │ +0000c0d0: 2c0a e280 9873 7472 6f6b 656f 7061 6369 ,....strokeopaci │ │ │ │ │ +0000c0e0: 7479 e280 992c 2061 6e64 20e2 8098 7472 ty..., and ...tr │ │ │ │ │ +0000c0f0: 616e 7370 616c 7068 61e2 8099 2e0a 0a1f anspalpha....... │ │ │ │ │ +0000c100: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +0000c110: 666f 2c20 204e 6f64 653a 2054 696b 5a2f fo, Node: TikZ/ │ │ │ │ │ +0000c120: 5047 4620 6f70 7469 6f6e 732c 2020 4e65 PGF options, Ne │ │ │ │ │ +0000c130: 7874 3a20 446f 7473 2069 6e20 5469 6b5a xt: Dots in TikZ │ │ │ │ │ +0000c140: 2f50 4746 2c20 2050 7265 763a 2050 5354 /PGF, Prev: PST │ │ │ │ │ +0000c150: 7269 636b 7320 6f70 7469 6f6e 732c 2020 ricks options, │ │ │ │ │ +0000c160: 5570 3a20 4f70 7469 6f6e 730a 0a33 2e31 Up: Options..3.1 │ │ │ │ │ +0000c170: 2e35 2e32 20e2 8098 5469 6b5a 2f50 4746 .5.2 ...TikZ/PGF │ │ │ │ │ +0000c180: e280 9920 6f70 7469 6f6e 730a 2e2e 2e2e ... options..... │ │ │ │ │ 0000c190: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000c1a0: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a e280 9854 ...............T │ │ │ │ │ -0000c1b0: 696b 5a2f 5047 46e2 8099 206f 7074 696f ikZ/PGF... optio │ │ │ │ │ -0000c1c0: 6e73 2061 7265 2068 616e 646c 6564 206d ns are handled m │ │ │ │ │ -0000c1d0: 7563 6820 6173 2066 6f72 20e2 8098 5053 uch as for ...PS │ │ │ │ │ -0000c1e0: 5472 6963 6b73 e280 992e 2020 5468 6f75 Tricks.... Thou │ │ │ │ │ -0000c1f0: 6768 0ae2 8098 5469 6b5a 2f50 4746 e280 gh....TikZ/PGF.. │ │ │ │ │ -0000c200: 9920 6f66 7465 6e20 616c 6c6f 7773 2063 . often allows c │ │ │ │ │ -0000c210: 6f6c 6f72 7320 616e 6420 7374 796c 6573 olors and styles │ │ │ │ │ -0000c220: 2074 6f20 6265 2067 6976 656e 2077 6974 to be given wit │ │ │ │ │ -0000c230: 686f 7574 0a63 6f72 7265 7370 6f6e 6469 hout.correspondi │ │ │ │ │ -0000c240: 6e67 206b 6579 732c 2066 6f72 2065 7861 ng keys, for exa │ │ │ │ │ -0000c250: 6d70 6c65 2c0a 2020 5c64 7261 775b 7265 mple,. \draw[re │ │ │ │ │ -0000c260: 642c 756c 7472 6120 7468 6963 6b5d 2830 d,ultra thick](0 │ │ │ │ │ -0000c270: 2c30 292d 2d28 312c 3129 3b0a 7468 6973 ,0)--(1,1);.this │ │ │ │ │ -0000c280: 2069 7320 6e6f 7420 7065 726d 6974 7465 is not permitte │ │ │ │ │ -0000c290: 6420 696e 20e2 8098 736b 6574 6368 e280 d in ...sketch.. │ │ │ │ │ -0000c2a0: 992e 2020 546f 2064 7261 7720 6120 7265 .. To draw a re │ │ │ │ │ -0000c2b0: 642c 2075 6c74 7261 2d74 6869 636b 206c d, ultra-thick l │ │ │ │ │ -0000c2c0: 696e 6520 696e 0ae2 8098 736b 6574 6368 ine in....sketch │ │ │ │ │ -0000c2d0: e280 992c 2074 6865 2066 6f72 6d20 6973 ..., the form is │ │ │ │ │ -0000c2e0: 0a20 206c 696e 655b 6472 6177 3d72 6564 . line[draw=red │ │ │ │ │ -0000c2f0: 2c73 7479 6c65 3d75 6c74 7261 2074 6869 ,style=ultra thi │ │ │ │ │ -0000c300: 636b 5d28 302c 3029 2831 2c31 290a 0a20 ck](0,0)(1,1).. │ │ │ │ │ -0000c310: 2020 4a75 7374 2061 7320 666f 7220 e280 Just as for .. │ │ │ │ │ -0000c320: 9850 5354 7269 636b 73e2 8099 2c20 7768 .PSTricks..., wh │ │ │ │ │ -0000c330: 656e 2061 20e2 8098 706f 6c79 676f 6ee2 en a ...polygon. │ │ │ │ │ -0000c340: 8099 2068 6173 206f 7074 696f 6e73 2066 .. has options f │ │ │ │ │ -0000c350: 6f72 2062 6f74 6820 6974 730a 6661 6365 or both its.face │ │ │ │ │ -0000c360: 2061 6e64 2069 7473 2065 6467 6573 2c20 and its edges, │ │ │ │ │ -0000c370: 616e 6420 7468 6520 706f 6c79 676f 6e20 and the polygon │ │ │ │ │ -0000c380: 6973 2073 706c 6974 2062 7920 7468 6520 is split by the │ │ │ │ │ -0000c390: 6869 6464 656e 2073 7572 6661 6365 0a61 hidden surface.a │ │ │ │ │ -0000c3a0: 6c67 6f72 6974 686d 2c20 e280 9873 6b65 lgorithm, ...ske │ │ │ │ │ -0000c3b0: 7463 68e2 8099 206d 7573 7420 636f 7079 tch... must copy │ │ │ │ │ -0000c3c0: 2074 6865 2065 6467 6520 6f70 7469 6f6e the edge option │ │ │ │ │ -0000c3d0: 7320 746f 20e2 8098 7073 6c69 6e65 e280 s to ...psline.. │ │ │ │ │ -0000c3e0: 9973 2066 6f72 2074 6865 2065 6467 650a .s for the edge. │ │ │ │ │ -0000c3f0: 7365 676d 656e 7473 2061 6e64 2074 6865 segments and the │ │ │ │ │ -0000c400: 2066 6163 6520 6f70 7469 6f6e 7320 746f face options to │ │ │ │ │ -0000c410: 20e2 8098 7073 706f 6c79 676f 6ee2 8099 ...pspolygon... │ │ │ │ │ -0000c420: 732e 2020 e280 9854 696b 5a2f 5047 46e2 s. ...TikZ/PGF. │ │ │ │ │ -0000c430: 8099 206f 7074 696f 6e73 206b 6e6f 776e .. options known │ │ │ │ │ -0000c440: 0a74 6f20 e280 9873 6b65 7463 68e2 8099 .to ...sketch... │ │ │ │ │ -0000c450: 2066 6f72 2070 7572 706f 7365 7320 6f66 for purposes of │ │ │ │ │ -0000c460: 2074 6869 7320 7370 6c69 7474 696e 6720 this splitting │ │ │ │ │ -0000c470: 6f70 6572 6174 696f 6e20 696e 636c 7564 operation includ │ │ │ │ │ -0000c480: 6520 e280 9861 7272 6f77 73e2 8099 2c0a e ...arrows...,. │ │ │ │ │ -0000c490: e280 9863 6170 e280 992c 20e2 8098 636f ...cap..., ...co │ │ │ │ │ -0000c4a0: 6c6f 72e2 8099 2c20 e280 9864 6173 6820 lor..., ...dash │ │ │ │ │ -0000c4b0: 7061 7474 6572 6ee2 8099 2c20 e280 9864 pattern..., ...d │ │ │ │ │ -0000c4c0: 6173 6820 7068 6173 65e2 8099 2c20 e280 ash phase..., .. │ │ │ │ │ -0000c4d0: 9864 6f75 626c 65e2 8099 2c20 e280 9864 .double..., ...d │ │ │ │ │ -0000c4e0: 6f75 626c 650a 6469 7374 616e 6365 e280 ouble.distance.. │ │ │ │ │ -0000c4f0: 992c 20e2 8098 6472 6177 e280 992c 20e2 ., ...draw..., . │ │ │ │ │ -0000c500: 8098 6472 6177 206f 7061 6369 7479 e280 ..draw opacity.. │ │ │ │ │ -0000c510: 992c 20e2 8098 6669 6c6c e280 992c 20e2 ., ...fill..., . │ │ │ │ │ -0000c520: 8098 6669 6c6c 206f 7061 6369 7479 e280 ..fill opacity.. │ │ │ │ │ -0000c530: 992c 20e2 8098 6a6f 696e e280 992c 20e2 ., ...join..., . │ │ │ │ │ -0000c540: 8098 6c69 6e65 0a77 6964 7468 e280 992c ..line.width..., │ │ │ │ │ -0000c550: 20e2 8098 6d69 7465 7220 6c69 6d69 74e2 ...miter limit. │ │ │ │ │ -0000c560: 8099 2c20 e280 9870 6174 7465 726e e280 .., ...pattern.. │ │ │ │ │ -0000c570: 992c 20e2 8098 7061 7474 6572 6e20 636f ., ...pattern co │ │ │ │ │ -0000c580: 6c6f 72e2 8099 2c20 616e 6420 e280 9873 lor..., and ...s │ │ │ │ │ -0000c590: 7479 6c65 e280 992e 0a0a 2020 2054 6865 tyle...... The │ │ │ │ │ -0000c5a0: 20e2 8098 7374 796c 65e2 8099 206f 7074 ...style... opt │ │ │ │ │ -0000c5b0: 696f 6e20 6361 6e20 636f 6e74 6169 6e20 ion can contain │ │ │ │ │ -0000c5c0: 626f 7468 2066 6163 6520 616e 6420 6564 both face and ed │ │ │ │ │ -0000c5d0: 6765 2069 6e66 6f72 6d61 7469 6f6e 2c20 ge information, │ │ │ │ │ -0000c5e0: 736f 0ae2 8098 736b 6574 6368 e280 9920 so....sketch... │ │ │ │ │ -0000c5f0: 6d75 7374 2063 6865 636b 2074 6865 2073 must check the s │ │ │ │ │ -0000c600: 7479 6c65 2076 616c 7565 2e20 2056 616c tyle value. Val │ │ │ │ │ -0000c610: 7565 7320 6b6e 6f77 6e20 746f 20e2 8098 ues known to ... │ │ │ │ │ -0000c620: 736b 6574 6368 e280 9920 696e 636c 7564 sketch... includ │ │ │ │ │ -0000c630: 650a e280 9864 6173 6865 64e2 8099 2c20 e....dashed..., │ │ │ │ │ -0000c640: e280 9864 656e 7365 6c79 2064 6173 6865 ...densely dashe │ │ │ │ │ -0000c650: 64e2 8099 2c20 e280 9864 656e 7365 6c79 d..., ...densely │ │ │ │ │ -0000c660: 2064 6f74 7465 64e2 8099 2c20 e280 9864 dotted..., ...d │ │ │ │ │ -0000c670: 6f74 7465 64e2 8099 2c20 e280 9864 6f75 otted..., ...dou │ │ │ │ │ -0000c680: 626c 65e2 8099 2c0a e280 986c 6f6f 7365 ble...,....loose │ │ │ │ │ -0000c690: 6c79 2064 6173 6865 64e2 8099 2c20 e280 ly dashed..., .. │ │ │ │ │ -0000c6a0: 986c 6f6f 7365 6c79 2064 6f74 7465 64e2 .loosely dotted. │ │ │ │ │ -0000c6b0: 8099 2c20 e280 986e 6561 726c 7920 6f70 .., ...nearly op │ │ │ │ │ -0000c6c0: 6171 7565 e280 992c 20e2 8098 6e65 6172 aque..., ...near │ │ │ │ │ -0000c6d0: 6c79 0a74 7261 6e73 7061 7265 6e74 e280 ly.transparent.. │ │ │ │ │ -0000c6e0: 992c 20e2 8098 7365 6d69 7468 6963 6be2 ., ...semithick. │ │ │ │ │ -0000c6f0: 8099 2c20 e280 9873 656d 6974 7261 6e73 .., ...semitrans │ │ │ │ │ -0000c700: 7061 7265 6e74 e280 992c 20e2 8098 736f parent..., ...so │ │ │ │ │ -0000c710: 6c69 64e2 8099 2c20 e280 9874 6869 636b lid..., ...thick │ │ │ │ │ -0000c720: e280 992c 20e2 8098 7468 696e e280 992c ..., ...thin..., │ │ │ │ │ -0000c730: 0ae2 8098 7472 616e 7370 6172 656e 74e2 ....transparent. │ │ │ │ │ -0000c740: 8099 2c20 e280 9875 6c74 7261 206e 6561 .., ...ultra nea │ │ │ │ │ -0000c750: 726c 7920 7472 616e 7370 6172 656e 74e2 rly transparent. │ │ │ │ │ -0000c760: 8099 2c20 e280 9875 6c74 7261 2074 6869 .., ...ultra thi │ │ │ │ │ -0000c770: 636b e280 992c 20e2 8098 756c 7472 6120 ck..., ...ultra │ │ │ │ │ -0000c780: 7468 696e e280 992c 0ae2 8098 7665 7279 thin...,....very │ │ │ │ │ -0000c790: 206e 6561 726c 7920 7472 616e 7370 6172 nearly transpar │ │ │ │ │ -0000c7a0: 656e 74e2 8099 2c20 e280 9876 6572 7920 ent..., ...very │ │ │ │ │ -0000c7b0: 7468 6963 6be2 8099 2c20 616e 6420 e280 thick..., and .. │ │ │ │ │ -0000c7c0: 9876 6572 7920 7468 696e e280 992e 0a0a .very thin...... │ │ │ │ │ -0000c7d0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -0000c7e0: 6e66 6f2c 2020 4e6f 6465 3a20 446f 7473 nfo, Node: Dots │ │ │ │ │ -0000c7f0: 2069 6e20 5469 6b5a 2f50 4746 2c20 204e in TikZ/PGF, N │ │ │ │ │ -0000c800: 6578 743a 2054 696b 5a2f 5047 4620 7573 ext: TikZ/PGF us │ │ │ │ │ -0000c810: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style │ │ │ │ │ -0000c820: 732c 2020 5072 6576 3a20 5469 6b5a 2f50 s, Prev: TikZ/P │ │ │ │ │ -0000c830: 4746 206f 7074 696f 6e73 2c20 2055 703a GF options, Up: │ │ │ │ │ -0000c840: 204f 7074 696f 6e73 0a0a 332e 312e 352e Options..3.1.5. │ │ │ │ │ -0000c850: 3320 446f 7473 2069 6e20 e280 9854 696b 3 Dots in ...Tik │ │ │ │ │ -0000c860: 5a2f 5047 46e2 8099 0a2e 2e2e 2e2e 2e2e Z/PGF........... │ │ │ │ │ -0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000c880: 2e2e 2e0a 0ae2 8098 5469 6b5a 2f50 4746 ........TikZ/PGF │ │ │ │ │ -0000c890: e280 9920 646f 6573 206e 6f74 2068 6176 ... does not hav │ │ │ │ │ -0000c8a0: 6520 6120 e280 9864 6f74 73e2 8099 2063 e a ...dots... c │ │ │ │ │ -0000c8b0: 6f6d 6d61 6e64 2061 7320 646f 6573 2050 ommand as does P │ │ │ │ │ -0000c8c0: 5354 7269 636b 732e 2020 496e 7374 6561 STricks. Instea │ │ │ │ │ -0000c8d0: 642c 0ae2 8098 536b 6574 6368 e280 9920 d,....Sketch... │ │ │ │ │ -0000c8e0: 656d 6974 7320 646f 7473 2061 7320 e280 emits dots as .. │ │ │ │ │ -0000c8f0: 9866 696c 6c64 7261 77e2 8099 2063 6972 .filldraw... cir │ │ │ │ │ -0000c900: 636c 6573 2e20 2054 6865 2064 6961 6d65 cles. The diame │ │ │ │ │ -0000c910: 7465 7220 6d61 7920 6265 2073 6574 0a75 ter may be set.u │ │ │ │ │ -0000c920: 7369 6e67 2074 6865 206f 7074 696f 6e20 sing the option │ │ │ │ │ -0000c930: e280 9864 6f74 7369 7a65 e280 9920 626f ...dotsize... bo │ │ │ │ │ -0000c940: 7272 6f77 6564 2066 726f 6d20 5053 5472 rrowed from PSTr │ │ │ │ │ -0000c950: 6963 6b73 2e20 2054 6865 20e2 8098 646f icks. The ...do │ │ │ │ │ -0000c960: 7473 697a 65e2 8099 206f 7074 696f 6e0a tsize... option. │ │ │ │ │ -0000c970: 7769 6c6c 2062 6520 7265 6d6f 7665 6420 will be removed │ │ │ │ │ -0000c980: 6672 6f6d 2074 6865 206f 7074 696f 6e20 from the option │ │ │ │ │ -0000c990: 6c69 7374 2069 6e20 7468 6520 6f75 7470 list in the outp │ │ │ │ │ -0000c9a0: 7574 20e2 8098 6669 6c6c 6472 6177 e280 ut ...filldraw.. │ │ │ │ │ -0000c9b0: 9920 636f 6d6d 616e 642e 0a4f 7468 6572 . command..Other │ │ │ │ │ -0000c9c0: 206f 7074 696f 6e73 2077 6f72 6b20 696e options work in │ │ │ │ │ -0000c9d0: 2074 6865 2065 7870 6563 7465 6420 7761 the expected wa │ │ │ │ │ -0000c9e0: 792e 2020 466f 7220 6578 616d 706c 652c y. For example, │ │ │ │ │ -0000c9f0: 20e2 8098 6669 6c6c e280 9920 7365 7473 ...fill... sets │ │ │ │ │ -0000ca00: 2066 696c 6c0a 636f 6c6f 7220 616e 6420 fill.color and │ │ │ │ │ -0000ca10: e280 9863 6f6c 6f72 e280 9920 7365 7473 ...color... sets │ │ │ │ │ -0000ca20: 206c 696e 6520 636f 6c6f 7220 6f66 2074 line color of t │ │ │ │ │ -0000ca30: 6865 2063 6972 636c 6573 2e0a 0a1f 0a46 he circles.....F │ │ │ │ │ -0000ca40: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -0000ca50: 2c20 204e 6f64 653a 2054 696b 5a2f 5047 , Node: TikZ/PG │ │ │ │ │ -0000ca60: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ -0000ca70: 7479 6c65 732c 2020 4e65 7874 3a20 5472 tyles, Next: Tr │ │ │ │ │ -0000ca80: 616e 7370 6172 656e 6379 2c20 2050 7265 ansparency, Pre │ │ │ │ │ -0000ca90: 763a 2044 6f74 7320 696e 2054 696b 5a2f v: Dots in TikZ/ │ │ │ │ │ -0000caa0: 5047 462c 2020 5570 3a20 4f70 7469 6f6e PGF, Up: Option │ │ │ │ │ -0000cab0: 730a 0a33 2e31 2e35 2e34 20e2 8098 5469 s..3.1.5.4 ...Ti │ │ │ │ │ -0000cac0: 6b5a 2f50 4746 e280 9920 7573 6572 2d64 kZ/PGF... user-d │ │ │ │ │ -0000cad0: 6566 696e 6564 2073 7479 6c65 730a 2e2e efined styles... │ │ │ │ │ +0000c1a0: 2e2e 2e2e 2e2e 0a0a e280 9854 696b 5a2f ...........TikZ/ │ │ │ │ │ +0000c1b0: 5047 46e2 8099 206f 7074 696f 6e73 2061 PGF... options a │ │ │ │ │ +0000c1c0: 7265 2068 616e 646c 6564 206d 7563 6820 re handled much │ │ │ │ │ +0000c1d0: 6173 2066 6f72 20e2 8098 5053 5472 6963 as for ...PSTric │ │ │ │ │ +0000c1e0: 6b73 e280 992e 2020 5468 6f75 6768 0ae2 ks.... Though.. │ │ │ │ │ +0000c1f0: 8098 5469 6b5a 2f50 4746 e280 9920 6f66 ..TikZ/PGF... of │ │ │ │ │ +0000c200: 7465 6e20 616c 6c6f 7773 2063 6f6c 6f72 ten allows color │ │ │ │ │ +0000c210: 7320 616e 6420 7374 796c 6573 2074 6f20 s and styles to │ │ │ │ │ +0000c220: 6265 2067 6976 656e 2077 6974 686f 7574 be given without │ │ │ │ │ +0000c230: 0a63 6f72 7265 7370 6f6e 6469 6e67 206b .corresponding k │ │ │ │ │ +0000c240: 6579 732c 2066 6f72 2065 7861 6d70 6c65 eys, for example │ │ │ │ │ +0000c250: 2c0a 2020 5c64 7261 775b 7265 642c 756c ,. \draw[red,ul │ │ │ │ │ +0000c260: 7472 6120 7468 6963 6b5d 2830 2c30 292d tra thick](0,0)- │ │ │ │ │ +0000c270: 2d28 312c 3129 3b0a 7468 6973 2069 7320 -(1,1);.this is │ │ │ │ │ +0000c280: 6e6f 7420 7065 726d 6974 7465 6420 696e not permitted in │ │ │ │ │ +0000c290: 20e2 8098 736b 6574 6368 e280 992e 2020 ...sketch.... │ │ │ │ │ +0000c2a0: 546f 2064 7261 7720 6120 7265 642c 2075 To draw a red, u │ │ │ │ │ +0000c2b0: 6c74 7261 2d74 6869 636b 206c 696e 6520 ltra-thick line │ │ │ │ │ +0000c2c0: 696e 0ae2 8098 736b 6574 6368 e280 992c in....sketch..., │ │ │ │ │ +0000c2d0: 2074 6865 2066 6f72 6d20 6973 0a20 206c the form is. l │ │ │ │ │ +0000c2e0: 696e 655b 6472 6177 3d72 6564 2c73 7479 ine[draw=red,sty │ │ │ │ │ +0000c2f0: 6c65 3d75 6c74 7261 2074 6869 636b 5d28 le=ultra thick]( │ │ │ │ │ +0000c300: 302c 3029 2831 2c31 290a 0a20 2020 4a75 0,0)(1,1).. Ju │ │ │ │ │ +0000c310: 7374 2061 7320 666f 7220 e280 9850 5354 st as for ...PST │ │ │ │ │ +0000c320: 7269 636b 73e2 8099 2c20 7768 656e 2061 ricks..., when a │ │ │ │ │ +0000c330: 20e2 8098 706f 6c79 676f 6ee2 8099 2068 ...polygon... h │ │ │ │ │ +0000c340: 6173 206f 7074 696f 6e73 2066 6f72 2062 as options for b │ │ │ │ │ +0000c350: 6f74 6820 6974 730a 6661 6365 2061 6e64 oth its.face and │ │ │ │ │ +0000c360: 2069 7473 2065 6467 6573 2c20 616e 6420 its edges, and │ │ │ │ │ +0000c370: 7468 6520 706f 6c79 676f 6e20 6973 2073 the polygon is s │ │ │ │ │ +0000c380: 706c 6974 2062 7920 7468 6520 6869 6464 plit by the hidd │ │ │ │ │ +0000c390: 656e 2073 7572 6661 6365 0a61 6c67 6f72 en surface.algor │ │ │ │ │ +0000c3a0: 6974 686d 2c20 e280 9873 6b65 7463 68e2 ithm, ...sketch. │ │ │ │ │ +0000c3b0: 8099 206d 7573 7420 636f 7079 2074 6865 .. must copy the │ │ │ │ │ +0000c3c0: 2065 6467 6520 6f70 7469 6f6e 7320 746f edge options to │ │ │ │ │ +0000c3d0: 20e2 8098 7073 6c69 6e65 e280 9973 2066 ...psline...s f │ │ │ │ │ +0000c3e0: 6f72 2074 6865 2065 6467 650a 7365 676d or the edge.segm │ │ │ │ │ +0000c3f0: 656e 7473 2061 6e64 2074 6865 2066 6163 ents and the fac │ │ │ │ │ +0000c400: 6520 6f70 7469 6f6e 7320 746f 20e2 8098 e options to ... │ │ │ │ │ +0000c410: 7073 706f 6c79 676f 6ee2 8099 732e 2020 pspolygon...s. │ │ │ │ │ +0000c420: e280 9854 696b 5a2f 5047 46e2 8099 206f ...TikZ/PGF... o │ │ │ │ │ +0000c430: 7074 696f 6e73 206b 6e6f 776e 0a74 6f20 ptions known.to │ │ │ │ │ +0000c440: e280 9873 6b65 7463 68e2 8099 2066 6f72 ...sketch... for │ │ │ │ │ +0000c450: 2070 7572 706f 7365 7320 6f66 2074 6869 purposes of thi │ │ │ │ │ +0000c460: 7320 7370 6c69 7474 696e 6720 6f70 6572 s splitting oper │ │ │ │ │ +0000c470: 6174 696f 6e20 696e 636c 7564 6520 e280 ation include .. │ │ │ │ │ +0000c480: 9861 7272 6f77 73e2 8099 2c0a e280 9863 .arrows...,....c │ │ │ │ │ +0000c490: 6170 e280 992c 20e2 8098 636f 6c6f 72e2 ap..., ...color. │ │ │ │ │ +0000c4a0: 8099 2c20 e280 9864 6173 6820 7061 7474 .., ...dash patt │ │ │ │ │ +0000c4b0: 6572 6ee2 8099 2c20 e280 9864 6173 6820 ern..., ...dash │ │ │ │ │ +0000c4c0: 7068 6173 65e2 8099 2c20 e280 9864 6f75 phase..., ...dou │ │ │ │ │ +0000c4d0: 626c 65e2 8099 2c20 e280 9864 6f75 626c ble..., ...doubl │ │ │ │ │ +0000c4e0: 650a 6469 7374 616e 6365 e280 992c 20e2 e.distance..., . │ │ │ │ │ +0000c4f0: 8098 6472 6177 e280 992c 20e2 8098 6472 ..draw..., ...dr │ │ │ │ │ +0000c500: 6177 206f 7061 6369 7479 e280 992c 20e2 aw opacity..., . │ │ │ │ │ +0000c510: 8098 6669 6c6c e280 992c 20e2 8098 6669 ..fill..., ...fi │ │ │ │ │ +0000c520: 6c6c 206f 7061 6369 7479 e280 992c 20e2 ll opacity..., . │ │ │ │ │ +0000c530: 8098 6a6f 696e e280 992c 20e2 8098 6c69 ..join..., ...li │ │ │ │ │ +0000c540: 6e65 0a77 6964 7468 e280 992c 20e2 8098 ne.width..., ... │ │ │ │ │ +0000c550: 6d69 7465 7220 6c69 6d69 74e2 8099 2c20 miter limit..., │ │ │ │ │ +0000c560: e280 9870 6174 7465 726e e280 992c 20e2 ...pattern..., . │ │ │ │ │ +0000c570: 8098 7061 7474 6572 6e20 636f 6c6f 72e2 ..pattern color. │ │ │ │ │ +0000c580: 8099 2c20 616e 6420 e280 9873 7479 6c65 .., and ...style │ │ │ │ │ +0000c590: e280 992e 0a0a 2020 2054 6865 20e2 8098 ...... The ... │ │ │ │ │ +0000c5a0: 7374 796c 65e2 8099 206f 7074 696f 6e20 style... option │ │ │ │ │ +0000c5b0: 6361 6e20 636f 6e74 6169 6e20 626f 7468 can contain both │ │ │ │ │ +0000c5c0: 2066 6163 6520 616e 6420 6564 6765 2069 face and edge i │ │ │ │ │ +0000c5d0: 6e66 6f72 6d61 7469 6f6e 2c20 736f 0ae2 nformation, so.. │ │ │ │ │ +0000c5e0: 8098 736b 6574 6368 e280 9920 6d75 7374 ..sketch... must │ │ │ │ │ +0000c5f0: 2063 6865 636b 2074 6865 2073 7479 6c65 check the style │ │ │ │ │ +0000c600: 2076 616c 7565 2e20 2056 616c 7565 7320 value. Values │ │ │ │ │ +0000c610: 6b6e 6f77 6e20 746f 20e2 8098 736b 6574 known to ...sket │ │ │ │ │ +0000c620: 6368 e280 9920 696e 636c 7564 650a e280 ch... include... │ │ │ │ │ +0000c630: 9864 6173 6865 64e2 8099 2c20 e280 9864 .dashed..., ...d │ │ │ │ │ +0000c640: 656e 7365 6c79 2064 6173 6865 64e2 8099 ensely dashed... │ │ │ │ │ +0000c650: 2c20 e280 9864 656e 7365 6c79 2064 6f74 , ...densely dot │ │ │ │ │ +0000c660: 7465 64e2 8099 2c20 e280 9864 6f74 7465 ted..., ...dotte │ │ │ │ │ +0000c670: 64e2 8099 2c20 e280 9864 6f75 626c 65e2 d..., ...double. │ │ │ │ │ +0000c680: 8099 2c0a e280 986c 6f6f 7365 6c79 2064 ..,....loosely d │ │ │ │ │ +0000c690: 6173 6865 64e2 8099 2c20 e280 986c 6f6f ashed..., ...loo │ │ │ │ │ +0000c6a0: 7365 6c79 2064 6f74 7465 64e2 8099 2c20 sely dotted..., │ │ │ │ │ +0000c6b0: e280 986e 6561 726c 7920 6f70 6171 7565 ...nearly opaque │ │ │ │ │ +0000c6c0: e280 992c 20e2 8098 6e65 6172 6c79 0a74 ..., ...nearly.t │ │ │ │ │ +0000c6d0: 7261 6e73 7061 7265 6e74 e280 992c 20e2 ransparent..., . │ │ │ │ │ +0000c6e0: 8098 7365 6d69 7468 6963 6be2 8099 2c20 ..semithick..., │ │ │ │ │ +0000c6f0: e280 9873 656d 6974 7261 6e73 7061 7265 ...semitranspare │ │ │ │ │ +0000c700: 6e74 e280 992c 20e2 8098 736f 6c69 64e2 nt..., ...solid. │ │ │ │ │ +0000c710: 8099 2c20 e280 9874 6869 636b e280 992c .., ...thick..., │ │ │ │ │ +0000c720: 20e2 8098 7468 696e e280 992c 0ae2 8098 ...thin...,.... │ │ │ │ │ +0000c730: 7472 616e 7370 6172 656e 74e2 8099 2c20 transparent..., │ │ │ │ │ +0000c740: e280 9875 6c74 7261 206e 6561 726c 7920 ...ultra nearly │ │ │ │ │ +0000c750: 7472 616e 7370 6172 656e 74e2 8099 2c20 transparent..., │ │ │ │ │ +0000c760: e280 9875 6c74 7261 2074 6869 636b e280 ...ultra thick.. │ │ │ │ │ +0000c770: 992c 20e2 8098 756c 7472 6120 7468 696e ., ...ultra thin │ │ │ │ │ +0000c780: e280 992c 0ae2 8098 7665 7279 206e 6561 ...,....very nea │ │ │ │ │ +0000c790: 726c 7920 7472 616e 7370 6172 656e 74e2 rly transparent. │ │ │ │ │ +0000c7a0: 8099 2c20 e280 9876 6572 7920 7468 6963 .., ...very thic │ │ │ │ │ +0000c7b0: 6be2 8099 2c20 616e 6420 e280 9876 6572 k..., and ...ver │ │ │ │ │ +0000c7c0: 7920 7468 696e e280 992e 0a0a 1f0a 4669 y thin........Fi │ │ │ │ │ +0000c7d0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +0000c7e0: 2020 4e6f 6465 3a20 446f 7473 2069 6e20 Node: Dots in │ │ │ │ │ +0000c7f0: 5469 6b5a 2f50 4746 2c20 204e 6578 743a TikZ/PGF, Next: │ │ │ │ │ +0000c800: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d │ │ │ │ │ +0000c810: 6566 696e 6564 2073 7479 6c65 732c 2020 efined styles, │ │ │ │ │ +0000c820: 5072 6576 3a20 5469 6b5a 2f50 4746 206f Prev: TikZ/PGF o │ │ │ │ │ +0000c830: 7074 696f 6e73 2c20 2055 703a 204f 7074 ptions, Up: Opt │ │ │ │ │ +0000c840: 696f 6e73 0a0a 332e 312e 352e 3320 446f ions..3.1.5.3 Do │ │ │ │ │ +0000c850: 7473 2069 6e20 e280 9854 696b 5a2f 5047 ts in ...TikZ/PG │ │ │ │ │ +0000c860: 46e2 8099 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e F............... │ │ │ │ │ +0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................ │ │ │ │ │ +0000c880: 0ae2 8098 5469 6b5a 2f50 4746 e280 9920 ....TikZ/PGF... │ │ │ │ │ +0000c890: 646f 6573 206e 6f74 2068 6176 6520 6120 does not have a │ │ │ │ │ +0000c8a0: e280 9864 6f74 73e2 8099 2063 6f6d 6d61 ...dots... comma │ │ │ │ │ +0000c8b0: 6e64 2061 7320 646f 6573 2050 5354 7269 nd as does PSTri │ │ │ │ │ +0000c8c0: 636b 732e 2020 496e 7374 6561 642c 0ae2 cks. Instead,.. │ │ │ │ │ +0000c8d0: 8098 536b 6574 6368 e280 9920 656d 6974 ..Sketch... emit │ │ │ │ │ +0000c8e0: 7320 646f 7473 2061 7320 e280 9866 696c s dots as ...fil │ │ │ │ │ +0000c8f0: 6c64 7261 77e2 8099 2063 6972 636c 6573 ldraw... circles │ │ │ │ │ +0000c900: 2e20 2054 6865 2064 6961 6d65 7465 7220 . The diameter │ │ │ │ │ +0000c910: 6d61 7920 6265 2073 6574 0a75 7369 6e67 may be set.using │ │ │ │ │ +0000c920: 2074 6865 206f 7074 696f 6e20 e280 9864 the option ...d │ │ │ │ │ +0000c930: 6f74 7369 7a65 e280 9920 626f 7272 6f77 otsize... borrow │ │ │ │ │ +0000c940: 6564 2066 726f 6d20 5053 5472 6963 6b73 ed from PSTricks │ │ │ │ │ +0000c950: 2e20 2054 6865 20e2 8098 646f 7473 697a . The ...dotsiz │ │ │ │ │ +0000c960: 65e2 8099 206f 7074 696f 6e0a 7769 6c6c e... option.will │ │ │ │ │ +0000c970: 2062 6520 7265 6d6f 7665 6420 6672 6f6d be removed from │ │ │ │ │ +0000c980: 2074 6865 206f 7074 696f 6e20 6c69 7374 the option list │ │ │ │ │ +0000c990: 2069 6e20 7468 6520 6f75 7470 7574 20e2 in the output . │ │ │ │ │ +0000c9a0: 8098 6669 6c6c 6472 6177 e280 9920 636f ..filldraw... co │ │ │ │ │ +0000c9b0: 6d6d 616e 642e 0a4f 7468 6572 206f 7074 mmand..Other opt │ │ │ │ │ +0000c9c0: 696f 6e73 2077 6f72 6b20 696e 2074 6865 ions work in the │ │ │ │ │ +0000c9d0: 2065 7870 6563 7465 6420 7761 792e 2020 expected way. │ │ │ │ │ +0000c9e0: 466f 7220 6578 616d 706c 652c 20e2 8098 For example, ... │ │ │ │ │ +0000c9f0: 6669 6c6c e280 9920 7365 7473 2066 696c fill... sets fil │ │ │ │ │ +0000ca00: 6c0a 636f 6c6f 7220 616e 6420 e280 9863 l.color and ...c │ │ │ │ │ +0000ca10: 6f6c 6f72 e280 9920 7365 7473 206c 696e olor... sets lin │ │ │ │ │ +0000ca20: 6520 636f 6c6f 7220 6f66 2074 6865 2063 e color of the c │ │ │ │ │ +0000ca30: 6972 636c 6573 2e0a 0a1f 0a46 696c 653a ircles.....File: │ │ │ │ │ +0000ca40: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +0000ca50: 6f64 653a 2054 696b 5a2f 5047 4620 7573 ode: TikZ/PGF us │ │ │ │ │ +0000ca60: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style │ │ │ │ │ +0000ca70: 732c 2020 4e65 7874 3a20 5472 616e 7370 s, Next: Transp │ │ │ │ │ +0000ca80: 6172 656e 6379 2c20 2050 7265 763a 2044 arency, Prev: D │ │ │ │ │ +0000ca90: 6f74 7320 696e 2054 696b 5a2f 5047 462c ots in TikZ/PGF, │ │ │ │ │ +0000caa0: 2020 5570 3a20 4f70 7469 6f6e 730a 0a33 Up: Options..3 │ │ │ │ │ +0000cab0: 2e31 2e35 2e34 20e2 8098 5469 6b5a 2f50 .1.5.4 ...TikZ/P │ │ │ │ │ +0000cac0: 4746 e280 9920 7573 6572 2d64 6566 696e GF... user-defin │ │ │ │ │ +0000cad0: 6564 2073 7479 6c65 730a 2e2e 2e2e 2e2e ed styles....... │ │ │ │ │ 0000cae0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ 0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000cb00: 2e2e 2e2e 0a0a e280 9854 696b 5a2f 5047 .........TikZ/PG │ │ │ │ │ -0000cb10: 46e2 8099 2061 6c6c 6f77 7320 6e61 6d65 F... allows name │ │ │ │ │ -0000cb20: 6420 7374 796c 6573 2064 6566 696e 6564 d styles defined │ │ │ │ │ -0000cb30: 2062 7920 7468 6520 7573 6572 2c20 666f by the user, fo │ │ │ │ │ -0000cb40: 7220 6578 616d 706c 650a 2020 5c74 696b r example. \tik │ │ │ │ │ -0000cb50: 7a73 7479 6c65 7b6d 7970 6f6c 7967 6f6e zstyle{mypolygon │ │ │ │ │ -0000cb60: 7374 796c 657d 203d 205b 6669 6c6c 3d62 style} = [fill=b │ │ │ │ │ -0000cb70: 6c75 6521 3230 2c66 696c 6c20 6f70 6163 lue!20,fill opac │ │ │ │ │ -0000cb80: 6974 793d 302e 385d 2020 0a20 205c 7469 ity=0.8] . \ti │ │ │ │ │ -0000cb90: 6b7a 7374 796c 657b 6d79 6c69 6e65 7374 kzstyle{mylinest │ │ │ │ │ -0000cba0: 796c 657d 203d 205b 7265 6421 3230 2c64 yle} = [red!20,d │ │ │ │ │ -0000cbb0: 6173 6865 645d 0a53 696e 6365 20e2 8098 ashed].Since ... │ │ │ │ │ -0000cbc0: 736b 6574 6368 e280 9920 6861 7320 6e6f sketch... has no │ │ │ │ │ -0000cbd0: 2069 6e66 6f72 6d61 7469 6f6e 206f 6e20 information on │ │ │ │ │ -0000cbe0: 7468 6520 636f 6e74 656e 7473 206f 6620 the contents of │ │ │ │ │ -0000cbf0: 7375 6368 2073 7479 6c65 732c 2069 740a such styles, it. │ │ │ │ │ -0000cc00: 6f6d 6974 7320 7468 656d 2065 6e74 6972 omits them entir │ │ │ │ │ -0000cc10: 656c 7920 6672 6f6d 206c 696e 6573 2c20 ely from lines, │ │ │ │ │ -0000cc20: 706f 6c79 676f 6e73 2c20 616e 6420 7468 polygons, and th │ │ │ │ │ -0000cc30: 6569 7220 6564 6765 7320 6475 7269 6e67 eir edges during │ │ │ │ │ -0000cc40: 206f 7074 696f 6e0a 7370 6c69 7474 696e option.splittin │ │ │ │ │ -0000cc50: 672e 2020 466f 7220 6578 616d 706c 652c g. For example, │ │ │ │ │ -0000cc60: 0a20 2070 6f6c 7967 6f6e 5b73 7479 6c65 . polygon[style │ │ │ │ │ -0000cc70: 3d6d 7970 6f6c 7967 6f6e 7374 796c 652c =mypolygonstyle, │ │ │ │ │ -0000cc80: 7374 796c 653d 7468 6963 6b5d 2830 2c30 style=thick](0,0 │ │ │ │ │ -0000cc90: 2c31 2928 312c 302c 3029 2830 2c31 2c30 ,1)(1,0,0)(0,1,0 │ │ │ │ │ -0000cca0: 290a 2020 6c69 6e65 5b73 7479 6c65 3d6d ). line[style=m │ │ │ │ │ -0000ccb0: 796c 696e 6573 7479 6c65 5d28 2d31 2c2d ylinestyle](-1,- │ │ │ │ │ -0000ccc0: 312c 2d31 2928 322c 322c 3229 0a70 726f 1,-1)(2,2,2).pro │ │ │ │ │ -0000ccd0: 6475 6365 7320 7468 6520 e280 9854 696b duces the ...Tik │ │ │ │ │ -0000cce0: 5ae2 8099 206f 7574 7075 740a 2020 5c64 Z... output. \d │ │ │ │ │ -0000ccf0: 7261 7728 2d31 2c2d 3129 2d2d 282e 3333 raw(-1,-1)--(.33 │ │ │ │ │ -0000cd00: 332c 2e33 3333 293b 0a20 205c 6669 6c6c 3,.333);. \fill │ │ │ │ │ -0000cd10: 6472 6177 5b74 6869 636b 2c66 696c 6c3d draw[thick,fill= │ │ │ │ │ -0000cd20: 7768 6974 655d 2830 2c30 292d 2d28 312c white](0,0)--(1, │ │ │ │ │ -0000cd30: 3029 2d2d 2830 2c31 292d 2d63 7963 6c65 0)--(0,1)--cycle │ │ │ │ │ -0000cd40: 3b0a 2020 5c64 7261 7728 2e33 3333 2c2e ;. \draw(.333,. │ │ │ │ │ -0000cd50: 3333 3329 2d2d 2832 2c32 293b 0a4e 6f74 333)--(2,2);.Not │ │ │ │ │ -0000cd60: 6520 7468 6174 2074 6865 2075 7365 722d e that the user- │ │ │ │ │ -0000cd70: 6465 6669 6e65 6420 7374 796c 6573 2061 defined styles a │ │ │ │ │ -0000cd80: 7265 206e 6f74 2070 7265 7365 6e74 2e20 re not present. │ │ │ │ │ -0000cd90: 2053 6b65 7463 6820 616c 736f 2069 7373 Sketch also iss │ │ │ │ │ -0000cda0: 7565 730a 7761 726e 696e 6773 3a0a 2020 ues.warnings:. │ │ │ │ │ -0000cdb0: 7761 726e 696e 672c 2075 6e6b 6e6f 776e warning, unknown │ │ │ │ │ -0000cdc0: 2070 6f6c 7967 6f6e 206f 7074 696f 6e20 polygon option │ │ │ │ │ -0000cdd0: 7374 796c 653d 6d79 706f 6c79 676f 6e73 style=mypolygons │ │ │ │ │ -0000cde0: 7479 6c65 2077 696c 6c20 6265 2069 676e tyle will be ign │ │ │ │ │ -0000cdf0: 6f72 6564 0a20 2077 6172 6e69 6e67 2c20 ored. warning, │ │ │ │ │ -0000ce00: 756e 6b6e 6f77 6e20 6c69 6e65 206f 7074 unknown line opt │ │ │ │ │ -0000ce10: 696f 6e20 7374 796c 653d 6d79 6c69 6e65 ion style=myline │ │ │ │ │ -0000ce20: 7374 796c 6520 7769 6c6c 2062 6520 6967 style will be ig │ │ │ │ │ -0000ce30: 6e6f 7265 640a 0a20 2020 5468 6520 7265 nored.. The re │ │ │ │ │ -0000ce40: 6d65 6479 2069 7320 746f 2073 7461 7465 medy is to state │ │ │ │ │ -0000ce50: 2065 7870 6c69 6369 746c 7920 7768 6574 explicitly whet │ │ │ │ │ -0000ce60: 6865 7220 6120 7573 6572 2d64 6566 696e her a user-defin │ │ │ │ │ -0000ce70: 6564 2073 7479 6c65 2073 686f 756c 640a ed style should. │ │ │ │ │ -0000ce80: 6265 2061 7474 6368 6564 2074 6f20 706f be attched to po │ │ │ │ │ -0000ce90: 6c79 676f 6e73 206f 7220 6c69 6e65 7320 lygons or lines │ │ │ │ │ -0000cea0: 696e 2074 6865 20e2 8098 5469 6b5a e280 in the ...TikZ.. │ │ │ │ │ -0000ceb0: 9920 6f75 7470 7574 2075 7369 6e67 0a5f . output using._ │ │ │ │ │ -0000cec0: 7073 6575 646f 2d6f 7074 696f 6e73 5f20 pseudo-options_ │ │ │ │ │ -0000ced0: e280 9866 696c 6c20 7374 796c 65e2 8099 ...fill style... │ │ │ │ │ -0000cee0: 2061 6e64 20e2 8098 6c69 6e65 2073 7479 and ...line sty │ │ │ │ │ -0000cef0: 6c65 e280 992c 0a20 2070 6f6c 7967 6f6e le...,. polygon │ │ │ │ │ -0000cf00: 5b66 696c 6c20 7374 796c 653d 6d79 706f [fill style=mypo │ │ │ │ │ -0000cf10: 6c79 676f 6e73 7479 6c65 2c73 7479 6c65 lygonstyle,style │ │ │ │ │ -0000cf20: 3d74 6869 636b 5d28 302c 302c 3129 2831 =thick](0,0,1)(1 │ │ │ │ │ -0000cf30: 2c30 2c30 2928 302c 312c 3029 0a20 206c ,0,0)(0,1,0). l │ │ │ │ │ -0000cf40: 696e 655b 6c69 6e65 2073 7479 6c65 3d6d ine[line style=m │ │ │ │ │ -0000cf50: 796c 696e 6573 7479 6c65 5d28 2d31 2c2d ylinestyle](-1,- │ │ │ │ │ -0000cf60: 312c 2d31 2928 322c 322c 3229 0a4e 6f77 1,-1)(2,2,2).Now │ │ │ │ │ -0000cf70: 2c20 7468 6520 6f75 7470 7574 2069 730a , the output is. │ │ │ │ │ -0000cf80: 2020 5c64 7261 775b 6d79 6c69 6e65 7374 \draw[mylinest │ │ │ │ │ -0000cf90: 796c 655d 282d 312c 2d31 292d 2d28 2e33 yle](-1,-1)--(.3 │ │ │ │ │ -0000cfa0: 3333 2c2e 3333 3329 3b0a 2020 5c66 696c 33,.333);. \fil │ │ │ │ │ -0000cfb0: 6c64 7261 775b 6d79 706f 6c79 676f 6e73 ldraw[mypolygons │ │ │ │ │ -0000cfc0: 7479 6c65 2c74 6869 636b 5d28 302c 3029 tyle,thick](0,0) │ │ │ │ │ -0000cfd0: 2d2d 2831 2c30 292d 2d28 302c 3129 2d2d --(1,0)--(0,1)-- │ │ │ │ │ -0000cfe0: 6379 636c 653b 0a20 205c 6472 6177 5b6d cycle;. \draw[m │ │ │ │ │ -0000cff0: 796c 696e 6573 7479 6c65 5d28 2e33 3333 ylinestyle](.333 │ │ │ │ │ -0000d000: 2c2e 3333 3329 2d2d 2832 2c32 293b 0a0a ,.333)--(2,2);.. │ │ │ │ │ -0000d010: 2020 2041 2075 7365 6675 6c20 7465 6368 A useful tech │ │ │ │ │ -0000d020: 6e69 7175 6520 6973 2074 6f20 696e 636c nique is to incl │ │ │ │ │ -0000d030: 7564 6520 7573 6572 2d64 6566 696e 6564 ude user-defined │ │ │ │ │ -0000d040: 2073 7479 6c65 2064 6566 696e 6974 696f style definitio │ │ │ │ │ -0000d050: 6e73 2069 6e0a e280 9873 6b65 7463 68e2 ns in....sketch. │ │ │ │ │ -0000d060: 8099 2063 6f64 6520 6173 20e2 8098 7370 .. code as ...sp │ │ │ │ │ -0000d070: 6563 6961 6ce2 8099 7320 7769 7468 206f ecial...s with o │ │ │ │ │ -0000d080: 7074 696f 6e20 e280 985b 6c61 793d 756e ption ...[lay=un │ │ │ │ │ -0000d090: 6465 725d e280 9920 746f 2065 6e73 7572 der]... to ensur │ │ │ │ │ -0000d0a0: 6520 7468 6174 2074 6865 0a73 7479 6c65 e that the.style │ │ │ │ │ -0000d0b0: 7320 6172 6520 656d 6974 7465 6420 6669 s are emitted fi │ │ │ │ │ -0000d0c0: 7273 7420 696e 2074 6865 206f 7574 7075 rst in the outpu │ │ │ │ │ -0000d0d0: 742c 2062 6566 6f72 6520 616e 7920 7573 t, before any us │ │ │ │ │ -0000d0e0: 6573 206f 6620 7468 6520 7374 796c 650a es of the style. │ │ │ │ │ -0000d0f0: 6e61 6d65 732e 2020 2831 2920 2046 6f72 names. (1) For │ │ │ │ │ -0000d100: 2065 7861 6d70 6c65 2c0a 2020 7370 6563 example,. spec │ │ │ │ │ -0000d110: 6961 6c7c 5c74 696b 7a73 7479 6c65 7b6d ial|\tikzstyle{m │ │ │ │ │ -0000d120: 7970 6f6c 7967 6f6e 7374 796c 657d 203d ypolygonstyle} = │ │ │ │ │ -0000d130: 205b 6669 6c6c 3d62 6c75 6521 3230 2c66 [fill=blue!20,f │ │ │ │ │ -0000d140: 696c 6c20 6f70 6163 6974 793d 302e 385d ill opacity=0.8] │ │ │ │ │ -0000d150: 7c5b 6c61 793d 756e 6465 725d 0a20 2073 |[lay=under]. s │ │ │ │ │ -0000d160: 7065 6369 616c 7c5c 7469 6b7a 7374 796c pecial|\tikzstyl │ │ │ │ │ -0000d170: 657b 6d79 6c69 6e65 7374 796c 657d 203d e{mylinestyle} = │ │ │ │ │ -0000d180: 205b 7265 6421 3230 2c64 6173 6865 645d [red!20,dashed] │ │ │ │ │ -0000d190: 7c5b 6c61 793d 756e 6465 725d 0a54 6865 |[lay=under].The │ │ │ │ │ -0000d1a0: 2061 7574 686f 7220 6973 2072 6573 706f author is respo │ │ │ │ │ -0000d1b0: 6e73 6962 6c65 2066 6f72 2075 7369 6e67 nsible for using │ │ │ │ │ -0000d1c0: 2074 6865 206b 6579 2c20 e280 986c 696e the key, ...lin │ │ │ │ │ -0000d1d0: 6520 7374 796c 65e2 8099 206f 7220 e280 e style... or .. │ │ │ │ │ -0000d1e0: 9866 696c 6c0a 7374 796c 65e2 8099 2c20 .fill.style..., │ │ │ │ │ -0000d1f0: 7468 6174 206d 6174 6368 6573 2074 6865 that matches the │ │ │ │ │ -0000d200: 2063 6f6e 7465 6e74 206f 6620 7468 6520 content of the │ │ │ │ │ -0000d210: 7374 796c 6520 6465 6669 6e69 7469 6f6e style definition │ │ │ │ │ -0000d220: 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d 2d2d ... ---------- │ │ │ │ │ -0000d230: 2046 6f6f 746e 6f74 6573 202d 2d2d 2d2d Footnotes ----- │ │ │ │ │ -0000d240: 2d2d 2d2d 2d0a 0a20 2020 2831 2920 5468 -----.. (1) Th │ │ │ │ │ -0000d250: 6973 2063 6c65 7665 7220 7472 6963 6b20 is clever trick │ │ │ │ │ -0000d260: 6973 2064 7565 2074 6f20 4b6a 656c 6c20 is due to Kjell │ │ │ │ │ -0000d270: 4d61 676e 6520 4661 7573 6b65 2e0a 0a1f Magne Fauske.... │ │ │ │ │ -0000d280: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -0000d290: 666f 2c20 204e 6f64 653a 2054 7261 6e73 fo, Node: Trans │ │ │ │ │ -0000d2a0: 7061 7265 6e63 792c 2020 4e65 7874 3a20 parency, Next: │ │ │ │ │ -0000d2b0: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options │ │ │ │ │ -0000d2c0: 2c20 2050 7265 763a 2054 696b 5a2f 5047 , Prev: TikZ/PG │ │ │ │ │ -0000d2d0: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ -0000d2e0: 7479 6c65 732c 2020 5570 3a20 4f70 7469 tyles, Up: Opti │ │ │ │ │ -0000d2f0: 6f6e 730a 0a33 2e31 2e35 2e35 2054 7261 ons..3.1.5.5 Tra │ │ │ │ │ -0000d300: 6e73 7061 7265 6e63 790a 2e2e 2e2e 2e2e nsparency....... │ │ │ │ │ -0000d310: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ -0000d320: 426f 7468 20e2 8098 5053 5472 6963 6b73 Both ...PSTricks │ │ │ │ │ -0000d330: e280 9920 616e 6420 e280 9854 696b 5a2f ... and ...TikZ/ │ │ │ │ │ -0000d340: 5047 46e2 8099 2073 7570 706f 7274 2070 PGF... support p │ │ │ │ │ -0000d350: 6f6c 7967 6f6e 206f 7074 696f 6e73 2074 olygon options t │ │ │ │ │ -0000d360: 6861 7420 6861 7665 2074 6865 0a65 6666 hat have the.eff │ │ │ │ │ -0000d370: 6563 7420 6f66 206d 616b 696e 6720 7468 ect of making th │ │ │ │ │ -0000d380: 6520 706f 6c79 676f 6e20 6170 7065 6172 e polygon appear │ │ │ │ │ -0000d390: 2074 7261 6e73 7061 7265 6e74 2e20 2046 transparent. F │ │ │ │ │ -0000d3a0: 6f72 20e2 8098 5053 5472 6963 6b73 e280 or ...PSTricks.. │ │ │ │ │ -0000d3b0: 992c 0a6b 6579 776f 7264 20e2 8098 7472 .,.keyword ...tr │ │ │ │ │ -0000d3c0: 616e 7370 616c 7068 61e2 8099 2077 6173 anspalpha... was │ │ │ │ │ -0000d3d0: 2075 7365 6420 6475 7269 6e67 2069 6e69 used during ini │ │ │ │ │ -0000d3e0: 7469 616c 2064 6576 656c 6f70 6d65 6e74 tial development │ │ │ │ │ -0000d3f0: 206f 660a 7472 616e 7370 6172 656e 6379 of.transparency │ │ │ │ │ -0000d400: 2066 6561 7475 7265 732c 2061 6e64 20e2 features, and . │ │ │ │ │ -0000d410: 8098 6f70 6163 6974 79e2 8099 2077 6173 ..opacity... was │ │ │ │ │ -0000d420: 2061 646f 7074 6564 206c 6174 6572 2e20 adopted later. │ │ │ │ │ -0000d430: 20e2 8098 536b 6574 6368 e280 9920 686f ...Sketch... ho │ │ │ │ │ -0000d440: 6e6f 7273 0a62 6f74 682e 2020 e280 9854 nors.both. ...T │ │ │ │ │ -0000d450: 696b 5a2f 5047 46e2 8099 2075 7365 7320 ikZ/PGF... uses │ │ │ │ │ -0000d460: e280 986f 7061 6369 7479 e280 9920 6f6e ...opacity... on │ │ │ │ │ -0000d470: 6c79 2e20 2057 6865 6e20 7472 616e 7370 ly. When transp │ │ │ │ │ -0000d480: 6172 656e 7420 706f 6c79 676f 6e73 2061 arent polygons a │ │ │ │ │ -0000d490: 7265 2069 6e0a 7468 6520 666f 7265 6772 re in.the foregr │ │ │ │ │ -0000d4a0: 6f75 6e64 2c20 6f62 6a65 6374 7320 6265 ound, objects be │ │ │ │ │ -0000d4b0: 6869 6e64 2074 6865 6d20 2864 7261 776e hind them (drawn │ │ │ │ │ -0000d4c0: 2065 6172 6c69 6572 2920 6172 6520 7669 earlier) are vi │ │ │ │ │ -0000d4d0: 7369 626c 6520 7769 7468 0a63 6f6c 6f72 sible with.color │ │ │ │ │ -0000d4e0: 2073 7562 6475 6564 2061 6e64 2074 696e subdued and tin │ │ │ │ │ -0000d4f0: 7465 642e 2020 5468 6520 6869 6464 656e ted. The hidden │ │ │ │ │ -0000d500: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit │ │ │ │ │ -0000d510: 686d 206f 6620 e280 9873 6b65 7463 68e2 hm of ...sketch. │ │ │ │ │ -0000d520: 8099 0a77 6f72 6b73 2077 656c 6c20 7769 ...works well wi │ │ │ │ │ -0000d530: 7468 2073 7563 6820 7472 616e 7370 6172 th such transpar │ │ │ │ │ -0000d540: 656e 7420 706f 6c79 676f 6e73 2e0a 0a20 ent polygons... │ │ │ │ │ -0000d550: 2020 4e6f 7465 2074 6861 7420 6375 6c6c Note that cull │ │ │ │ │ -0000d560: 3d66 616c 7365 206d 7573 7420 6265 2075 =false must be u │ │ │ │ │ -0000d570: 7365 6420 666f 7220 7265 6172 2d66 6163 sed for rear-fac │ │ │ │ │ -0000d580: 696e 6720 706f 6c79 676f 6e73 2074 6f20 ing polygons to │ │ │ │ │ -0000d590: 6265 0a76 6973 6962 6c65 2077 6865 6e20 be.visible when │ │ │ │ │ -0000d5a0: 706f 7369 7469 6f6e 6564 2062 6568 696e positioned behin │ │ │ │ │ -0000d5b0: 6420 6f74 6865 7220 7472 616e 7370 6172 d other transpar │ │ │ │ │ -0000d5c0: 656e 7420 7375 7266 6163 6573 2e0a 0a1f ent surfaces.... │ │ │ │ │ -0000d5d0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -0000d5e0: 666f 2c20 204e 6f64 653a 2049 6e74 6572 fo, Node: Inter │ │ │ │ │ -0000d5f0: 6e61 6c20 6f70 7469 6f6e 732c 2020 5072 nal options, Pr │ │ │ │ │ -0000d600: 6576 3a20 5472 616e 7370 6172 656e 6379 ev: Transparency │ │ │ │ │ -0000d610: 2c20 2055 703a 204f 7074 696f 6e73 0a0a , Up: Options.. │ │ │ │ │ -0000d620: 332e 312e 352e 3620 496e 7465 726e 616c 3.1.5.6 Internal │ │ │ │ │ -0000d630: 206f 7074 696f 6e73 0a2e 2e2e 2e2e 2e2e options........ │ │ │ │ │ -0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000d650: 2e0a 0a54 6865 7265 2061 7265 2061 6c73 ...There are als │ │ │ │ │ -0000d660: 6f20 5f69 6e74 6572 6e61 6c5f 206f 7074 o _internal_ opt │ │ │ │ │ -0000d670: 696f 6e73 2075 7365 6420 6f6e 6c79 2062 ions used only b │ │ │ │ │ -0000d680: 7920 e280 9873 6b65 7463 68e2 8099 2061 y ...sketch... a │ │ │ │ │ -0000d690: 6e64 206e 6f74 2070 6173 7365 640a 6f6e nd not passed.on │ │ │ │ │ -0000d6a0: 2074 6f20 e280 9850 5354 7269 636b 73e2 to ...PSTricks. │ │ │ │ │ -0000d6b0: 8099 2e20 2054 6865 7365 2061 7265 2073 ... These are s │ │ │ │ │ -0000d6c0: 756d 6d61 7269 7a65 6420 696e 2074 6865 ummarized in the │ │ │ │ │ -0000d6d0: 2066 6f6c 6c6f 7769 6e67 2074 6162 6c65 following table │ │ │ │ │ -0000d6e0: 2e0a 4b65 7920 2020 2020 2020 506f 7373 ..Key Poss │ │ │ │ │ -0000d6f0: 6962 6c65 2076 616c 7565 7320 2020 2020 ible values │ │ │ │ │ -0000d700: 2020 2020 4465 7363 7269 7074 696f 6e0a Description. │ │ │ │ │ +0000cb00: 0a0a e280 9854 696b 5a2f 5047 46e2 8099 .....TikZ/PGF... │ │ │ │ │ +0000cb10: 2061 6c6c 6f77 7320 6e61 6d65 6420 7374 allows named st │ │ │ │ │ +0000cb20: 796c 6573 2064 6566 696e 6564 2062 7920 yles defined by │ │ │ │ │ +0000cb30: 7468 6520 7573 6572 2c20 666f 7220 6578 the user, for ex │ │ │ │ │ +0000cb40: 616d 706c 650a 2020 5c74 696b 7a73 7479 ample. \tikzsty │ │ │ │ │ +0000cb50: 6c65 7b6d 7970 6f6c 7967 6f6e 7374 796c le{mypolygonstyl │ │ │ │ │ +0000cb60: 657d 203d 205b 6669 6c6c 3d62 6c75 6521 e} = [fill=blue! │ │ │ │ │ +0000cb70: 3230 2c66 696c 6c20 6f70 6163 6974 793d 20,fill opacity= │ │ │ │ │ +0000cb80: 302e 385d 2020 0a20 205c 7469 6b7a 7374 0.8] . \tikzst │ │ │ │ │ +0000cb90: 796c 657b 6d79 6c69 6e65 7374 796c 657d yle{mylinestyle} │ │ │ │ │ +0000cba0: 203d 205b 7265 6421 3230 2c64 6173 6865 = [red!20,dashe │ │ │ │ │ +0000cbb0: 645d 0a53 696e 6365 20e2 8098 736b 6574 d].Since ...sket │ │ │ │ │ +0000cbc0: 6368 e280 9920 6861 7320 6e6f 2069 6e66 ch... has no inf │ │ │ │ │ +0000cbd0: 6f72 6d61 7469 6f6e 206f 6e20 7468 6520 ormation on the │ │ │ │ │ +0000cbe0: 636f 6e74 656e 7473 206f 6620 7375 6368 contents of such │ │ │ │ │ +0000cbf0: 2073 7479 6c65 732c 2069 740a 6f6d 6974 styles, it.omit │ │ │ │ │ +0000cc00: 7320 7468 656d 2065 6e74 6972 656c 7920 s them entirely │ │ │ │ │ +0000cc10: 6672 6f6d 206c 696e 6573 2c20 706f 6c79 from lines, poly │ │ │ │ │ +0000cc20: 676f 6e73 2c20 616e 6420 7468 6569 7220 gons, and their │ │ │ │ │ +0000cc30: 6564 6765 7320 6475 7269 6e67 206f 7074 edges during opt │ │ │ │ │ +0000cc40: 696f 6e0a 7370 6c69 7474 696e 672e 2020 ion.splitting. │ │ │ │ │ +0000cc50: 466f 7220 6578 616d 706c 652c 0a20 2070 For example,. p │ │ │ │ │ +0000cc60: 6f6c 7967 6f6e 5b73 7479 6c65 3d6d 7970 olygon[style=myp │ │ │ │ │ +0000cc70: 6f6c 7967 6f6e 7374 796c 652c 7374 796c olygonstyle,styl │ │ │ │ │ +0000cc80: 653d 7468 6963 6b5d 2830 2c30 2c31 2928 e=thick](0,0,1)( │ │ │ │ │ +0000cc90: 312c 302c 3029 2830 2c31 2c30 290a 2020 1,0,0)(0,1,0). │ │ │ │ │ +0000cca0: 6c69 6e65 5b73 7479 6c65 3d6d 796c 696e line[style=mylin │ │ │ │ │ +0000ccb0: 6573 7479 6c65 5d28 2d31 2c2d 312c 2d31 estyle](-1,-1,-1 │ │ │ │ │ +0000ccc0: 2928 322c 322c 3229 0a70 726f 6475 6365 )(2,2,2).produce │ │ │ │ │ +0000ccd0: 7320 7468 6520 e280 9854 696b 5ae2 8099 s the ...TikZ... │ │ │ │ │ +0000cce0: 206f 7574 7075 740a 2020 5c64 7261 7728 output. \draw( │ │ │ │ │ +0000ccf0: 2d31 2c2d 3129 2d2d 282e 3333 332c 2e33 -1,-1)--(.333,.3 │ │ │ │ │ +0000cd00: 3333 293b 0a20 205c 6669 6c6c 6472 6177 33);. \filldraw │ │ │ │ │ +0000cd10: 5b74 6869 636b 2c66 696c 6c3d 7768 6974 [thick,fill=whit │ │ │ │ │ +0000cd20: 655d 2830 2c30 292d 2d28 312c 3029 2d2d e](0,0)--(1,0)-- │ │ │ │ │ +0000cd30: 2830 2c31 292d 2d63 7963 6c65 3b0a 2020 (0,1)--cycle;. │ │ │ │ │ +0000cd40: 5c64 7261 7728 2e33 3333 2c2e 3333 3329 \draw(.333,.333) │ │ │ │ │ +0000cd50: 2d2d 2832 2c32 293b 0a4e 6f74 6520 7468 --(2,2);.Note th │ │ │ │ │ +0000cd60: 6174 2074 6865 2075 7365 722d 6465 6669 at the user-defi │ │ │ │ │ +0000cd70: 6e65 6420 7374 796c 6573 2061 7265 206e ned styles are n │ │ │ │ │ +0000cd80: 6f74 2070 7265 7365 6e74 2e20 2053 6b65 ot present. Ske │ │ │ │ │ +0000cd90: 7463 6820 616c 736f 2069 7373 7565 730a tch also issues. │ │ │ │ │ +0000cda0: 7761 726e 696e 6773 3a0a 2020 7761 726e warnings:. warn │ │ │ │ │ +0000cdb0: 696e 672c 2075 6e6b 6e6f 776e 2070 6f6c ing, unknown pol │ │ │ │ │ +0000cdc0: 7967 6f6e 206f 7074 696f 6e20 7374 796c ygon option styl │ │ │ │ │ +0000cdd0: 653d 6d79 706f 6c79 676f 6e73 7479 6c65 e=mypolygonstyle │ │ │ │ │ +0000cde0: 2077 696c 6c20 6265 2069 676e 6f72 6564 will be ignored │ │ │ │ │ +0000cdf0: 0a20 2077 6172 6e69 6e67 2c20 756e 6b6e . warning, unkn │ │ │ │ │ +0000ce00: 6f77 6e20 6c69 6e65 206f 7074 696f 6e20 own line option │ │ │ │ │ +0000ce10: 7374 796c 653d 6d79 6c69 6e65 7374 796c style=mylinestyl │ │ │ │ │ +0000ce20: 6520 7769 6c6c 2062 6520 6967 6e6f 7265 e will be ignore │ │ │ │ │ +0000ce30: 640a 0a20 2020 5468 6520 7265 6d65 6479 d.. The remedy │ │ │ │ │ +0000ce40: 2069 7320 746f 2073 7461 7465 2065 7870 is to state exp │ │ │ │ │ +0000ce50: 6c69 6369 746c 7920 7768 6574 6865 7220 licitly whether │ │ │ │ │ +0000ce60: 6120 7573 6572 2d64 6566 696e 6564 2073 a user-defined s │ │ │ │ │ +0000ce70: 7479 6c65 2073 686f 756c 640a 6265 2061 tyle should.be a │ │ │ │ │ +0000ce80: 7474 6368 6564 2074 6f20 706f 6c79 676f ttched to polygo │ │ │ │ │ +0000ce90: 6e73 206f 7220 6c69 6e65 7320 696e 2074 ns or lines in t │ │ │ │ │ +0000cea0: 6865 20e2 8098 5469 6b5a e280 9920 6f75 he ...TikZ... ou │ │ │ │ │ +0000ceb0: 7470 7574 2075 7369 6e67 0a5f 7073 6575 tput using._pseu │ │ │ │ │ +0000cec0: 646f 2d6f 7074 696f 6e73 5f20 e280 9866 do-options_ ...f │ │ │ │ │ +0000ced0: 696c 6c20 7374 796c 65e2 8099 2061 6e64 ill style... and │ │ │ │ │ +0000cee0: 20e2 8098 6c69 6e65 2073 7479 6c65 e280 ...line style.. │ │ │ │ │ +0000cef0: 992c 0a20 2070 6f6c 7967 6f6e 5b66 696c .,. polygon[fil │ │ │ │ │ +0000cf00: 6c20 7374 796c 653d 6d79 706f 6c79 676f l style=mypolygo │ │ │ │ │ +0000cf10: 6e73 7479 6c65 2c73 7479 6c65 3d74 6869 nstyle,style=thi │ │ │ │ │ +0000cf20: 636b 5d28 302c 302c 3129 2831 2c30 2c30 ck](0,0,1)(1,0,0 │ │ │ │ │ +0000cf30: 2928 302c 312c 3029 0a20 206c 696e 655b )(0,1,0). line[ │ │ │ │ │ +0000cf40: 6c69 6e65 2073 7479 6c65 3d6d 796c 696e line style=mylin │ │ │ │ │ +0000cf50: 6573 7479 6c65 5d28 2d31 2c2d 312c 2d31 estyle](-1,-1,-1 │ │ │ │ │ +0000cf60: 2928 322c 322c 3229 0a4e 6f77 2c20 7468 )(2,2,2).Now, th │ │ │ │ │ +0000cf70: 6520 6f75 7470 7574 2069 730a 2020 5c64 e output is. \d │ │ │ │ │ +0000cf80: 7261 775b 6d79 6c69 6e65 7374 796c 655d raw[mylinestyle] │ │ │ │ │ +0000cf90: 282d 312c 2d31 292d 2d28 2e33 3333 2c2e (-1,-1)--(.333,. │ │ │ │ │ +0000cfa0: 3333 3329 3b0a 2020 5c66 696c 6c64 7261 333);. \filldra │ │ │ │ │ +0000cfb0: 775b 6d79 706f 6c79 676f 6e73 7479 6c65 w[mypolygonstyle │ │ │ │ │ +0000cfc0: 2c74 6869 636b 5d28 302c 3029 2d2d 2831 ,thick](0,0)--(1 │ │ │ │ │ +0000cfd0: 2c30 292d 2d28 302c 3129 2d2d 6379 636c ,0)--(0,1)--cycl │ │ │ │ │ +0000cfe0: 653b 0a20 205c 6472 6177 5b6d 796c 696e e;. \draw[mylin │ │ │ │ │ +0000cff0: 6573 7479 6c65 5d28 2e33 3333 2c2e 3333 estyle](.333,.33 │ │ │ │ │ +0000d000: 3329 2d2d 2832 2c32 293b 0a0a 2020 2041 3)--(2,2);.. A │ │ │ │ │ +0000d010: 2075 7365 6675 6c20 7465 6368 6e69 7175 useful techniqu │ │ │ │ │ +0000d020: 6520 6973 2074 6f20 696e 636c 7564 6520 e is to include │ │ │ │ │ +0000d030: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ +0000d040: 6c65 2064 6566 696e 6974 696f 6e73 2069 le definitions i │ │ │ │ │ +0000d050: 6e0a e280 9873 6b65 7463 68e2 8099 2063 n....sketch... c │ │ │ │ │ +0000d060: 6f64 6520 6173 20e2 8098 7370 6563 6961 ode as ...specia │ │ │ │ │ +0000d070: 6ce2 8099 7320 7769 7468 206f 7074 696f l...s with optio │ │ │ │ │ +0000d080: 6e20 e280 985b 6c61 793d 756e 6465 725d n ...[lay=under] │ │ │ │ │ +0000d090: e280 9920 746f 2065 6e73 7572 6520 7468 ... to ensure th │ │ │ │ │ +0000d0a0: 6174 2074 6865 0a73 7479 6c65 7320 6172 at the.styles ar │ │ │ │ │ +0000d0b0: 6520 656d 6974 7465 6420 6669 7273 7420 e emitted first │ │ │ │ │ +0000d0c0: 696e 2074 6865 206f 7574 7075 742c 2062 in the output, b │ │ │ │ │ +0000d0d0: 6566 6f72 6520 616e 7920 7573 6573 206f efore any uses o │ │ │ │ │ +0000d0e0: 6620 7468 6520 7374 796c 650a 6e61 6d65 f the style.name │ │ │ │ │ +0000d0f0: 732e 2020 2831 2920 2046 6f72 2065 7861 s. (1) For exa │ │ │ │ │ +0000d100: 6d70 6c65 2c0a 2020 7370 6563 6961 6c7c mple,. special| │ │ │ │ │ +0000d110: 5c74 696b 7a73 7479 6c65 7b6d 7970 6f6c \tikzstyle{mypol │ │ │ │ │ +0000d120: 7967 6f6e 7374 796c 657d 203d 205b 6669 ygonstyle} = [fi │ │ │ │ │ +0000d130: 6c6c 3d62 6c75 6521 3230 2c66 696c 6c20 ll=blue!20,fill │ │ │ │ │ +0000d140: 6f70 6163 6974 793d 302e 385d 7c5b 6c61 opacity=0.8]|[la │ │ │ │ │ +0000d150: 793d 756e 6465 725d 0a20 2073 7065 6369 y=under]. speci │ │ │ │ │ +0000d160: 616c 7c5c 7469 6b7a 7374 796c 657b 6d79 al|\tikzstyle{my │ │ │ │ │ +0000d170: 6c69 6e65 7374 796c 657d 203d 205b 7265 linestyle} = [re │ │ │ │ │ +0000d180: 6421 3230 2c64 6173 6865 645d 7c5b 6c61 d!20,dashed]|[la │ │ │ │ │ +0000d190: 793d 756e 6465 725d 0a54 6865 2061 7574 y=under].The aut │ │ │ │ │ +0000d1a0: 686f 7220 6973 2072 6573 706f 6e73 6962 hor is responsib │ │ │ │ │ +0000d1b0: 6c65 2066 6f72 2075 7369 6e67 2074 6865 le for using the │ │ │ │ │ +0000d1c0: 206b 6579 2c20 e280 986c 696e 6520 7374 key, ...line st │ │ │ │ │ +0000d1d0: 796c 65e2 8099 206f 7220 e280 9866 696c yle... or ...fil │ │ │ │ │ +0000d1e0: 6c0a 7374 796c 65e2 8099 2c20 7468 6174 l.style..., that │ │ │ │ │ +0000d1f0: 206d 6174 6368 6573 2074 6865 2063 6f6e matches the con │ │ │ │ │ +0000d200: 7465 6e74 206f 6620 7468 6520 7374 796c tent of the styl │ │ │ │ │ +0000d210: 6520 6465 6669 6e69 7469 6f6e 2e0a 0a20 e definition... │ │ │ │ │ +0000d220: 2020 2d2d 2d2d 2d2d 2d2d 2d2d 2046 6f6f ---------- Foo │ │ │ │ │ +0000d230: 746e 6f74 6573 202d 2d2d 2d2d 2d2d 2d2d tnotes --------- │ │ │ │ │ +0000d240: 2d0a 0a20 2020 2831 2920 5468 6973 2063 -.. (1) This c │ │ │ │ │ +0000d250: 6c65 7665 7220 7472 6963 6b20 6973 2064 lever trick is d │ │ │ │ │ +0000d260: 7565 2074 6f20 4b6a 656c 6c20 4d61 676e ue to Kjell Magn │ │ │ │ │ +0000d270: 6520 4661 7573 6b65 2e0a 0a1f 0a46 696c e Fauske.....Fil │ │ │ │ │ +0000d280: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +0000d290: 204e 6f64 653a 2054 7261 6e73 7061 7265 Node: Transpare │ │ │ │ │ +0000d2a0: 6e63 792c 2020 4e65 7874 3a20 496e 7465 ncy, Next: Inte │ │ │ │ │ +0000d2b0: 726e 616c 206f 7074 696f 6e73 2c20 2050 rnal options, P │ │ │ │ │ +0000d2c0: 7265 763a 2054 696b 5a2f 5047 4620 7573 rev: TikZ/PGF us │ │ │ │ │ +0000d2d0: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style │ │ │ │ │ +0000d2e0: 732c 2020 5570 3a20 4f70 7469 6f6e 730a s, Up: Options. │ │ │ │ │ +0000d2f0: 0a33 2e31 2e35 2e35 2054 7261 6e73 7061 .3.1.5.5 Transpa │ │ │ │ │ +0000d300: 7265 6e63 790a 2e2e 2e2e 2e2e 2e2e 2e2e rency........... │ │ │ │ │ +0000d310: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 426f 7468 ............Both │ │ │ │ │ +0000d320: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ +0000d330: 616e 6420 e280 9854 696b 5a2f 5047 46e2 and ...TikZ/PGF. │ │ │ │ │ +0000d340: 8099 2073 7570 706f 7274 2070 6f6c 7967 .. support polyg │ │ │ │ │ +0000d350: 6f6e 206f 7074 696f 6e73 2074 6861 7420 on options that │ │ │ │ │ +0000d360: 6861 7665 2074 6865 0a65 6666 6563 7420 have the.effect │ │ │ │ │ +0000d370: 6f66 206d 616b 696e 6720 7468 6520 706f of making the po │ │ │ │ │ +0000d380: 6c79 676f 6e20 6170 7065 6172 2074 7261 lygon appear tra │ │ │ │ │ +0000d390: 6e73 7061 7265 6e74 2e20 2046 6f72 20e2 nsparent. For . │ │ │ │ │ +0000d3a0: 8098 5053 5472 6963 6b73 e280 992c 0a6b ..PSTricks...,.k │ │ │ │ │ +0000d3b0: 6579 776f 7264 20e2 8098 7472 616e 7370 eyword ...transp │ │ │ │ │ +0000d3c0: 616c 7068 61e2 8099 2077 6173 2075 7365 alpha... was use │ │ │ │ │ +0000d3d0: 6420 6475 7269 6e67 2069 6e69 7469 616c d during initial │ │ │ │ │ +0000d3e0: 2064 6576 656c 6f70 6d65 6e74 206f 660a development of. │ │ │ │ │ +0000d3f0: 7472 616e 7370 6172 656e 6379 2066 6561 transparency fea │ │ │ │ │ +0000d400: 7475 7265 732c 2061 6e64 20e2 8098 6f70 tures, and ...op │ │ │ │ │ +0000d410: 6163 6974 79e2 8099 2077 6173 2061 646f acity... was ado │ │ │ │ │ +0000d420: 7074 6564 206c 6174 6572 2e20 20e2 8098 pted later. ... │ │ │ │ │ +0000d430: 536b 6574 6368 e280 9920 686f 6e6f 7273 Sketch... honors │ │ │ │ │ +0000d440: 0a62 6f74 682e 2020 e280 9854 696b 5a2f .both. ...TikZ/ │ │ │ │ │ +0000d450: 5047 46e2 8099 2075 7365 7320 e280 986f PGF... uses ...o │ │ │ │ │ +0000d460: 7061 6369 7479 e280 9920 6f6e 6c79 2e20 pacity... only. │ │ │ │ │ +0000d470: 2057 6865 6e20 7472 616e 7370 6172 656e When transparen │ │ │ │ │ +0000d480: 7420 706f 6c79 676f 6e73 2061 7265 2069 t polygons are i │ │ │ │ │ +0000d490: 6e0a 7468 6520 666f 7265 6772 6f75 6e64 n.the foreground │ │ │ │ │ +0000d4a0: 2c20 6f62 6a65 6374 7320 6265 6869 6e64 , objects behind │ │ │ │ │ +0000d4b0: 2074 6865 6d20 2864 7261 776e 2065 6172 them (drawn ear │ │ │ │ │ +0000d4c0: 6c69 6572 2920 6172 6520 7669 7369 626c lier) are visibl │ │ │ │ │ +0000d4d0: 6520 7769 7468 0a63 6f6c 6f72 2073 7562 e with.color sub │ │ │ │ │ +0000d4e0: 6475 6564 2061 6e64 2074 696e 7465 642e dued and tinted. │ │ │ │ │ +0000d4f0: 2020 5468 6520 6869 6464 656e 2073 7572 The hidden sur │ │ │ │ │ +0000d500: 6661 6365 2061 6c67 6f72 6974 686d 206f face algorithm o │ │ │ │ │ +0000d510: 6620 e280 9873 6b65 7463 68e2 8099 0a77 f ...sketch....w │ │ │ │ │ +0000d520: 6f72 6b73 2077 656c 6c20 7769 7468 2073 orks well with s │ │ │ │ │ +0000d530: 7563 6820 7472 616e 7370 6172 656e 7420 uch transparent │ │ │ │ │ +0000d540: 706f 6c79 676f 6e73 2e0a 0a20 2020 4e6f polygons... No │ │ │ │ │ +0000d550: 7465 2074 6861 7420 6375 6c6c 3d66 616c te that cull=fal │ │ │ │ │ +0000d560: 7365 206d 7573 7420 6265 2075 7365 6420 se must be used │ │ │ │ │ +0000d570: 666f 7220 7265 6172 2d66 6163 696e 6720 for rear-facing │ │ │ │ │ +0000d580: 706f 6c79 676f 6e73 2074 6f20 6265 0a76 polygons to be.v │ │ │ │ │ +0000d590: 6973 6962 6c65 2077 6865 6e20 706f 7369 isible when posi │ │ │ │ │ +0000d5a0: 7469 6f6e 6564 2062 6568 696e 6420 6f74 tioned behind ot │ │ │ │ │ +0000d5b0: 6865 7220 7472 616e 7370 6172 656e 7420 her transparent │ │ │ │ │ +0000d5c0: 7375 7266 6163 6573 2e0a 0a1f 0a46 696c surfaces.....Fil │ │ │ │ │ +0000d5d0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +0000d5e0: 204e 6f64 653a 2049 6e74 6572 6e61 6c20 Node: Internal │ │ │ │ │ +0000d5f0: 6f70 7469 6f6e 732c 2020 5072 6576 3a20 options, Prev: │ │ │ │ │ +0000d600: 5472 616e 7370 6172 656e 6379 2c20 2055 Transparency, U │ │ │ │ │ +0000d610: 703a 204f 7074 696f 6e73 0a0a 332e 312e p: Options..3.1. │ │ │ │ │ +0000d620: 352e 3620 496e 7465 726e 616c 206f 7074 5.6 Internal opt │ │ │ │ │ +0000d630: 696f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e ions............ │ │ │ │ │ +0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a54 ...............T │ │ │ │ │ +0000d650: 6865 7265 2061 7265 2061 6c73 6f20 5f69 here are also _i │ │ │ │ │ +0000d660: 6e74 6572 6e61 6c5f 206f 7074 696f 6e73 nternal_ options │ │ │ │ │ +0000d670: 2075 7365 6420 6f6e 6c79 2062 7920 e280 used only by .. │ │ │ │ │ +0000d680: 9873 6b65 7463 68e2 8099 2061 6e64 206e .sketch... and n │ │ │ │ │ +0000d690: 6f74 2070 6173 7365 640a 6f6e 2074 6f20 ot passed.on to │ │ │ │ │ +0000d6a0: e280 9850 5354 7269 636b 73e2 8099 2e20 ...PSTricks.... │ │ │ │ │ +0000d6b0: 2054 6865 7365 2061 7265 2073 756d 6d61 These are summa │ │ │ │ │ +0000d6c0: 7269 7a65 6420 696e 2074 6865 2066 6f6c rized in the fol │ │ │ │ │ +0000d6d0: 6c6f 7769 6e67 2074 6162 6c65 2e0a 4b65 lowing table..Ke │ │ │ │ │ +0000d6e0: 7920 2020 2020 2020 506f 7373 6962 6c65 y Possible │ │ │ │ │ +0000d6f0: 2076 616c 7565 7320 2020 2020 2020 2020 values │ │ │ │ │ +0000d700: 4465 7363 7269 7074 696f 6e0a 2d2d 2d2d Description.---- │ │ │ │ │ 0000d710: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d720: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d730: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d740: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000d760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000d770: 0ae2 8098 6375 6c6c e280 9920 2020 20e2 ....cull... . │ │ │ │ │ -0000d780: 8098 7472 7565 e280 992c 20e2 8098 6661 ..true..., ...fa │ │ │ │ │ -0000d790: 6c73 65e2 8099 2020 2020 2020 2020 2054 lse... T │ │ │ │ │ -0000d7a0: 7572 6e20 6375 6c6c 696e 6720 6f66 2062 urn culling of b │ │ │ │ │ -0000d7b0: 6163 6b66 6163 6573 206f 6e20 616e 6420 ackfaces on and │ │ │ │ │ -0000d7c0: 6f66 6620 7265 7370 6563 7469 7665 6c79 off respectively │ │ │ │ │ -0000d7d0: 2066 6f72 2074 6869 730a 2020 2020 2020 for this. │ │ │ │ │ +0000d760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0ae2 8098 ------------.... │ │ │ │ │ +0000d770: 6375 6c6c e280 9920 2020 20e2 8098 7472 cull... ...tr │ │ │ │ │ +0000d780: 7565 e280 992c 20e2 8098 6661 6c73 65e2 ue..., ...false. │ │ │ │ │ +0000d790: 8099 2020 2020 2020 2020 2054 7572 6e20 .. Turn │ │ │ │ │ +0000d7a0: 6375 6c6c 696e 6720 6f66 2062 6163 6b66 culling of backf │ │ │ │ │ +0000d7b0: 6163 6573 206f 6e20 616e 6420 6f66 6620 aces on and off │ │ │ │ │ +0000d7c0: 7265 7370 6563 7469 7665 6c79 2066 6f72 respectively for │ │ │ │ │ +0000d7d0: 2074 6869 730a 2020 2020 2020 2020 2020 this. │ │ │ │ │ 0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d7f0: 2020 2020 2020 2020 2020 2020 6f62 6a65 obje │ │ │ │ │ -0000d800: 6374 2e20 2054 6865 2064 6566 6175 6c74 ct. The default │ │ │ │ │ -0000d810: 2076 616c 7565 2069 7320 e280 9874 7275 value is ...tru │ │ │ │ │ -0000d820: 65e2 8099 2e0a e280 986c 6179 e280 9920 e........lay... │ │ │ │ │ -0000d830: 2020 2020 e280 986f 7665 72e2 8099 2c20 ...over..., │ │ │ │ │ -0000d840: e280 9869 6ee2 8099 2c20 e280 9875 6e64 ...in..., ...und │ │ │ │ │ -0000d850: 6572 e280 9920 2020 466f 7263 6520 7468 er... Force th │ │ │ │ │ -0000d860: 6973 206f 626a 6563 7420 746f 2062 6520 is object to be │ │ │ │ │ -0000d870: e280 9875 6e64 6572 e280 9920 6f72 20e2 ...under... or . │ │ │ │ │ -0000d880: 8098 6f76 6572 e280 9920 616c 6c20 6f74 ..over... all ot │ │ │ │ │ -0000d890: 6865 7220 6f62 6a65 6374 730a 2020 2020 her objects. │ │ │ │ │ +0000d7f0: 2020 2020 2020 2020 6f62 6a65 6374 2e20 object. │ │ │ │ │ +0000d800: 2054 6865 2064 6566 6175 6c74 2076 616c The default val │ │ │ │ │ +0000d810: 7565 2069 7320 e280 9874 7275 65e2 8099 ue is ...true... │ │ │ │ │ +0000d820: 2e0a e280 986c 6179 e280 9920 2020 2020 .....lay... │ │ │ │ │ +0000d830: e280 986f 7665 72e2 8099 2c20 e280 9869 ...over..., ...i │ │ │ │ │ +0000d840: 6ee2 8099 2c20 e280 9875 6e64 6572 e280 n..., ...under.. │ │ │ │ │ +0000d850: 9920 2020 466f 7263 6520 7468 6973 206f . Force this o │ │ │ │ │ +0000d860: 626a 6563 7420 746f 2062 6520 e280 9875 bject to be ...u │ │ │ │ │ +0000d870: 6e64 6572 e280 9920 6f72 20e2 8098 6f76 nder... or ...ov │ │ │ │ │ +0000d880: 6572 e280 9920 616c 6c20 6f74 6865 7220 er... all other │ │ │ │ │ +0000d890: 6f62 6a65 6374 730a 2020 2020 2020 2020 objects. │ │ │ │ │ 0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d8b0: 2020 2020 2020 2020 2020 2020 2020 696e in │ │ │ │ │ -0000d8c0: 2074 6865 2064 6570 7468 2073 6f72 7420 the depth sort │ │ │ │ │ -0000d8d0: 6f72 6465 7220 6372 6561 7465 6420 6279 order created by │ │ │ │ │ -0000d8e0: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf │ │ │ │ │ -0000d8f0: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ │ │ +0000d8b0: 2020 2020 2020 2020 2020 696e 2074 6865 in the │ │ │ │ │ +0000d8c0: 2064 6570 7468 2073 6f72 7420 6f72 6465 depth sort orde │ │ │ │ │ +0000d8d0: 7220 6372 6561 7465 6420 6279 2074 6865 r created by the │ │ │ │ │ +0000d8e0: 2068 6964 6465 6e20 7375 7266 6163 650a hidden surface. │ │ │ │ │ +0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d910: 2020 2020 2020 616c 676f 7269 7468 6d2e algorithm. │ │ │ │ │ -0000d920: 2020 5468 6520 6465 6661 756c 7420 7661 The default va │ │ │ │ │ -0000d930: 6c75 6520 e280 986f 7665 72e2 8099 2067 lue ...over... g │ │ │ │ │ -0000d940: 7561 7261 6e74 6565 7320 7468 6174 206f uarantees that o │ │ │ │ │ -0000d950: 7574 7075 740a 2020 2020 2020 2020 2020 utput. │ │ │ │ │ +0000d910: 2020 616c 676f 7269 7468 6d2e 2020 5468 algorithm. Th │ │ │ │ │ +0000d920: 6520 6465 6661 756c 7420 7661 6c75 6520 e default value │ │ │ │ │ +0000d930: e280 986f 7665 72e2 8099 2067 7561 7261 ...over... guara │ │ │ │ │ +0000d940: 6e74 6565 7320 7468 6174 206f 7574 7075 ntees that outpu │ │ │ │ │ +0000d950: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ │ │ 0000d960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d970: 2020 2020 2020 2020 6475 6520 746f 2074 due to t │ │ │ │ │ -0000d980: 6865 20e2 8098 7370 6563 6961 6ce2 8099 he ...special... │ │ │ │ │ -0000d990: 2077 696c 6c20 6265 2076 6973 6962 6c65 will be visible │ │ │ │ │ -0000d9a0: 2e0a e280 9873 706c 6974 e280 9920 2020 .....split... │ │ │ │ │ -0000d9b0: e280 9874 7275 65e2 8099 2c20 e280 9866 ...true..., ...f │ │ │ │ │ -0000d9c0: 616c 7365 e280 9920 2020 2020 2020 2020 alse... │ │ │ │ │ -0000d9d0: 5475 726e 2073 706c 6974 7469 6e67 206f Turn splitting o │ │ │ │ │ -0000d9e0: 6620 7377 6565 702d 6765 6e65 7261 7465 f sweep-generate │ │ │ │ │ -0000d9f0: 6420 626f 6479 2070 6f6c 7967 6f6e 7320 d body polygons │ │ │ │ │ -0000da00: 6f6e 2061 6e64 206f 6666 0a20 2020 2020 on and off. │ │ │ │ │ +0000d970: 2020 2020 6475 6520 746f 2074 6865 20e2 due to the . │ │ │ │ │ +0000d980: 8098 7370 6563 6961 6ce2 8099 2077 696c ..special... wil │ │ │ │ │ +0000d990: 6c20 6265 2076 6973 6962 6c65 2e0a e280 l be visible.... │ │ │ │ │ +0000d9a0: 9873 706c 6974 e280 9920 2020 e280 9874 .split... ...t │ │ │ │ │ +0000d9b0: 7275 65e2 8099 2c20 e280 9866 616c 7365 rue..., ...false │ │ │ │ │ +0000d9c0: e280 9920 2020 2020 2020 2020 5475 726e ... Turn │ │ │ │ │ +0000d9d0: 2073 706c 6974 7469 6e67 206f 6620 7377 splitting of sw │ │ │ │ │ +0000d9e0: 6565 702d 6765 6e65 7261 7465 6420 626f eep-generated bo │ │ │ │ │ +0000d9f0: 6479 2070 6f6c 7967 6f6e 7320 6f6e 2061 dy polygons on a │ │ │ │ │ +0000da00: 6e64 206f 6666 0a20 2020 2020 2020 2020 nd off. │ │ │ │ │ 0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da20: 2020 2020 2020 2020 2020 2020 2072 6573 res │ │ │ │ │ -0000da30: 7065 6374 6976 656c 792e 2020 2a4e 6f74 pectively. *Not │ │ │ │ │ -0000da40: 6520 5377 6565 7073 3a3a 2e20 2054 6865 e Sweeps::. The │ │ │ │ │ -0000da50: 2064 6566 6175 6c74 2076 616c 7565 20e2 default value . │ │ │ │ │ -0000da60: 8098 7472 7565 e280 990a 2020 2020 2020 ..true.... │ │ │ │ │ +0000da20: 2020 2020 2020 2020 2072 6573 7065 6374 respect │ │ │ │ │ +0000da30: 6976 656c 792e 2020 2a4e 6f74 6520 5377 ively. *Note Sw │ │ │ │ │ +0000da40: 6565 7073 3a3a 2e20 2054 6865 2064 6566 eeps::. The def │ │ │ │ │ +0000da50: 6175 6c74 2076 616c 7565 20e2 8098 7472 ault value ...tr │ │ │ │ │ +0000da60: 7565 e280 990a 2020 2020 2020 2020 2020 ue.... │ │ │ │ │ 0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da80: 2020 2020 2020 2020 2020 2020 6361 7573 caus │ │ │ │ │ -0000da90: 6573 2022 7761 7270 6564 2220 706f 6c79 es "warped" poly │ │ │ │ │ -0000daa0: 676f 6e73 2074 6f20 6265 2073 706c 6974 gons to be split │ │ │ │ │ -0000dab0: 2069 6e74 6f20 7472 6961 6e67 6c65 732c into triangles, │ │ │ │ │ -0000dac0: 2077 6869 6368 0a20 2020 2020 2020 2020 which. │ │ │ │ │ +0000da80: 2020 2020 2020 2020 6361 7573 6573 2022 causes " │ │ │ │ │ +0000da90: 7761 7270 6564 2220 706f 6c79 676f 6e73 warped" polygons │ │ │ │ │ +0000daa0: 2074 6f20 6265 2073 706c 6974 2069 6e74 to be split int │ │ │ │ │ +0000dab0: 6f20 7472 6961 6e67 6c65 732c 2077 6869 o triangles, whi │ │ │ │ │ +0000dac0: 6368 0a20 2020 2020 2020 2020 2020 2020 ch. │ │ │ │ │ 0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dae0: 2020 2020 2020 2020 2061 766f 6964 7320 avoids │ │ │ │ │ -0000daf0: 6d69 7374 616b 6573 2062 7920 7468 6520 mistakes by the │ │ │ │ │ -0000db00: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ -0000db10: 6c67 6f72 6974 686d 2e0a 0a33 2e31 2e36 lgorithm...3.1.6 │ │ │ │ │ -0000db20: 2050 6f69 6e74 206c 6973 7473 0a2d 2d2d Point lists.--- │ │ │ │ │ -0000db30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ -0000db40: 2a53 796e 7461 783a 2a0a 2020 2020 2028 *Syntax:*. ( │ │ │ │ │ -0000db50: 5831 2c59 312c 5a31 2928 5832 2c59 322c X1,Y1,Z1)(X2,Y2, │ │ │ │ │ -0000db60: 5a32 292e 2e2e 0a41 2073 6571 7565 6e63 Z2)....A sequenc │ │ │ │ │ -0000db70: 6520 6f66 206f 6e65 206f 7220 6d6f 7265 e of one or more │ │ │ │ │ -0000db80: 2070 6f69 6e74 7320 6d61 6b65 7320 6120 points makes a │ │ │ │ │ -0000db90: 706f 696e 7420 6c69 7374 2c20 6120 6665 point list, a fe │ │ │ │ │ -0000dba0: 6174 7572 6520 636f 6d6d 6f6e 2074 6f0a ature common to. │ │ │ │ │ -0000dbb0: 616c 6c20 6472 6177 6162 6c65 732e 2020 all drawables. │ │ │ │ │ -0000dbc0: 4561 6368 206f 6620 7468 6520 706f 696e Each of the poin │ │ │ │ │ -0000dbd0: 7420 636f 6d70 6f6e 656e 7473 2069 7320 t components is │ │ │ │ │ -0000dbe0: 6120 7363 616c 6172 2061 7269 7468 6d65 a scalar arithme │ │ │ │ │ -0000dbf0: 7469 630a 6578 7072 6573 7369 6f6e 2e20 tic.expression. │ │ │ │ │ -0000dc00: 2041 6e79 2070 6f69 6e74 206d 6179 2068 Any point may h │ │ │ │ │ -0000dc10: 6176 6520 7468 6520 7a2d 636f 6d70 6f6e ave the z-compon │ │ │ │ │ -0000dc20: 656e 7420 6f6d 6974 7465 643b 2069 7420 ent omitted; it │ │ │ │ │ -0000dc30: 7769 6c6c 2064 6566 6175 6c74 0a74 6f20 will default.to │ │ │ │ │ -0000dc40: 7a3d 302e 0a0a 2a20 4d65 6e75 3a0a 0a2a z=0...* Menu:..* │ │ │ │ │ -0000dc50: 2044 7261 7761 626c 6573 3a3a 2020 2020 Drawables:: │ │ │ │ │ -0000dc60: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0000dc70: 6869 6e67 7320 7468 6174 2061 7265 2064 hings that are d │ │ │ │ │ -0000dc80: 7261 776e 2e0a 2a20 4465 6669 6e69 7469 rawn..* Definiti │ │ │ │ │ -0000dc90: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: │ │ │ │ │ -0000dca0: 2020 2020 2020 5468 696e 6773 2077 6974 Things wit │ │ │ │ │ -0000dcb0: 6820 6e61 6d65 732e 0a0a 1f0a 4669 6c65 h names.....File │ │ │ │ │ -0000dcc0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -0000dcd0: 4e6f 6465 3a20 4472 6177 6162 6c65 732c Node: Drawables, │ │ │ │ │ -0000dce0: 2020 4e65 7874 3a20 4465 6669 6e69 7469 Next: Definiti │ │ │ │ │ -0000dcf0: 6f6e 732c 2020 5072 6576 3a20 4c61 6e67 ons, Prev: Lang │ │ │ │ │ -0000dd00: 7561 6765 2062 6173 6963 732c 2020 5570 uage basics, Up │ │ │ │ │ -0000dd10: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language │ │ │ │ │ -0000dd20: 0a0a 332e 3220 4472 6177 6162 6c65 730a ..3.2 Drawables. │ │ │ │ │ -0000dd30: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 =============..D │ │ │ │ │ -0000dd40: 7261 7761 626c 6573 2061 7265 2073 696d rawables are sim │ │ │ │ │ -0000dd50: 706c 7920 e280 9873 6b65 7463 68e2 8099 ply ...sketch... │ │ │ │ │ -0000dd60: 206f 626a 6563 7473 2074 6861 7420 6d69 objects that mi │ │ │ │ │ -0000dd70: 6768 7420 6170 7065 6172 2069 6e20 7468 ght appear in th │ │ │ │ │ -0000dd80: 6520 6472 6177 696e 672e 0a54 6865 7920 e drawing..They │ │ │ │ │ -0000dd90: 696e 636c 7564 6520 646f 7473 2c20 706f include dots, po │ │ │ │ │ -0000dda0: 6c79 6c69 6e65 732c 2063 7572 7665 732c lylines, curves, │ │ │ │ │ -0000ddb0: 2070 6f6c 7967 6f6e 732c 2061 6e64 206d polygons, and m │ │ │ │ │ -0000ddc0: 6f72 6520 636f 6d70 6c65 7820 6f62 6a65 ore complex obje │ │ │ │ │ -0000ddd0: 6374 730a 7468 6174 2061 7265 2062 7569 cts.that are bui │ │ │ │ │ -0000dde0: 6c74 2075 7020 6672 6f6d 2073 696d 706c lt up from simpl │ │ │ │ │ -0000ddf0: 6572 206f 6e65 7320 696e 2076 6172 696f er ones in vario │ │ │ │ │ -0000de00: 7573 2077 6179 732e 2020 4669 6e61 6c6c us ways. Finall │ │ │ │ │ -0000de10: 792c 20e2 809c 7370 6563 6961 6ce2 809d y, ...special... │ │ │ │ │ -0000de20: 0a6f 626a 6563 7473 2061 7265 2074 686f .objects are tho │ │ │ │ │ -0000de30: 7365 2063 6f6d 706f 7365 6420 6f66 204c se composed of L │ │ │ │ │ -0000de40: 6154 6558 206f 7220 e280 9850 5354 7269 aTeX or ...PSTri │ │ │ │ │ -0000de50: 636b 73e2 8099 2063 6f64 652c 2070 6572 cks... code, per │ │ │ │ │ -0000de60: 6861 7073 0a69 6e63 6c75 6469 6e67 2063 haps.including c │ │ │ │ │ -0000de70: 6f6f 7264 696e 6174 6573 2061 6e64 2061 oordinates and a │ │ │ │ │ -0000de80: 6e67 6c65 7320 636f 6d70 7574 6564 2062 ngles computed b │ │ │ │ │ -0000de90: 7920 e280 9873 6b65 7463 68e2 8099 2e0a y ...sketch..... │ │ │ │ │ -0000dea0: 0a2a 204d 656e 753a 0a0a 2a20 446f 7473 .* Menu:..* Dots │ │ │ │ │ -0000deb0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -0000dec0: 2020 2020 2020 2020 2020 4472 6177 2064 Draw d │ │ │ │ │ -0000ded0: 6f74 732e 0a2a 204c 696e 6573 3a3a 2020 ots..* Lines:: │ │ │ │ │ +0000dae0: 2020 2020 2061 766f 6964 7320 6d69 7374 avoids mist │ │ │ │ │ +0000daf0: 616b 6573 2062 7920 7468 6520 6869 6464 akes by the hidd │ │ │ │ │ +0000db00: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor │ │ │ │ │ +0000db10: 6974 686d 2e0a 0a33 2e31 2e36 2050 6f69 ithm...3.1.6 Poi │ │ │ │ │ +0000db20: 6e74 206c 6973 7473 0a2d 2d2d 2d2d 2d2d nt lists.------- │ │ │ │ │ +0000db30: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn │ │ │ │ │ +0000db40: 7461 783a 2a0a 2020 2020 2028 5831 2c59 tax:*. (X1,Y │ │ │ │ │ +0000db50: 312c 5a31 2928 5832 2c59 322c 5a32 292e 1,Z1)(X2,Y2,Z2). │ │ │ │ │ +0000db60: 2e2e 0a41 2073 6571 7565 6e63 6520 6f66 ...A sequence of │ │ │ │ │ +0000db70: 206f 6e65 206f 7220 6d6f 7265 2070 6f69 one or more poi │ │ │ │ │ +0000db80: 6e74 7320 6d61 6b65 7320 6120 706f 696e nts makes a poin │ │ │ │ │ +0000db90: 7420 6c69 7374 2c20 6120 6665 6174 7572 t list, a featur │ │ │ │ │ +0000dba0: 6520 636f 6d6d 6f6e 2074 6f0a 616c 6c20 e common to.all │ │ │ │ │ +0000dbb0: 6472 6177 6162 6c65 732e 2020 4561 6368 drawables. Each │ │ │ │ │ +0000dbc0: 206f 6620 7468 6520 706f 696e 7420 636f of the point co │ │ │ │ │ +0000dbd0: 6d70 6f6e 656e 7473 2069 7320 6120 7363 mponents is a sc │ │ │ │ │ +0000dbe0: 616c 6172 2061 7269 7468 6d65 7469 630a alar arithmetic. │ │ │ │ │ +0000dbf0: 6578 7072 6573 7369 6f6e 2e20 2041 6e79 expression. Any │ │ │ │ │ +0000dc00: 2070 6f69 6e74 206d 6179 2068 6176 6520 point may have │ │ │ │ │ +0000dc10: 7468 6520 7a2d 636f 6d70 6f6e 656e 7420 the z-component │ │ │ │ │ +0000dc20: 6f6d 6974 7465 643b 2069 7420 7769 6c6c omitted; it will │ │ │ │ │ +0000dc30: 2064 6566 6175 6c74 0a74 6f20 7a3d 302e default.to z=0. │ │ │ │ │ +0000dc40: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2044 7261 ..* Menu:..* Dra │ │ │ │ │ +0000dc50: 7761 626c 6573 3a3a 2020 2020 2020 2020 wables:: │ │ │ │ │ +0000dc60: 2020 2020 2020 2020 2020 2054 6869 6e67 Thing │ │ │ │ │ +0000dc70: 7320 7468 6174 2061 7265 2064 7261 776e s that are drawn │ │ │ │ │ +0000dc80: 2e0a 2a20 4465 6669 6e69 7469 6f6e 733a ..* Definitions: │ │ │ │ │ +0000dc90: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000dca0: 2020 5468 696e 6773 2077 6974 6820 6e61 Things with na │ │ │ │ │ +0000dcb0: 6d65 732e 0a0a 1f0a 4669 6c65 3a20 736b mes.....File: sk │ │ │ │ │ +0000dcc0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +0000dcd0: 3a20 4472 6177 6162 6c65 732c 2020 4e65 : Drawables, Ne │ │ │ │ │ +0000dce0: 7874 3a20 4465 6669 6e69 7469 6f6e 732c xt: Definitions, │ │ │ │ │ +0000dcf0: 2020 5072 6576 3a20 4c61 6e67 7561 6765 Prev: Language │ │ │ │ │ +0000dd00: 2062 6173 6963 732c 2020 5570 3a20 496e basics, Up: In │ │ │ │ │ +0000dd10: 7075 7420 6c61 6e67 7561 6765 0a0a 332e put language..3. │ │ │ │ │ +0000dd20: 3220 4472 6177 6162 6c65 730a 3d3d 3d3d 2 Drawables.==== │ │ │ │ │ +0000dd30: 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 7261 7761 =========..Drawa │ │ │ │ │ +0000dd40: 626c 6573 2061 7265 2073 696d 706c 7920 bles are simply │ │ │ │ │ +0000dd50: e280 9873 6b65 7463 68e2 8099 206f 626a ...sketch... obj │ │ │ │ │ +0000dd60: 6563 7473 2074 6861 7420 6d69 6768 7420 ects that might │ │ │ │ │ +0000dd70: 6170 7065 6172 2069 6e20 7468 6520 6472 appear in the dr │ │ │ │ │ +0000dd80: 6177 696e 672e 0a54 6865 7920 696e 636c awing..They incl │ │ │ │ │ +0000dd90: 7564 6520 646f 7473 2c20 706f 6c79 6c69 ude dots, polyli │ │ │ │ │ +0000dda0: 6e65 732c 2063 7572 7665 732c 2070 6f6c nes, curves, pol │ │ │ │ │ +0000ddb0: 7967 6f6e 732c 2061 6e64 206d 6f72 6520 ygons, and more │ │ │ │ │ +0000ddc0: 636f 6d70 6c65 7820 6f62 6a65 6374 730a complex objects. │ │ │ │ │ +0000ddd0: 7468 6174 2061 7265 2062 7569 6c74 2075 that are built u │ │ │ │ │ +0000dde0: 7020 6672 6f6d 2073 696d 706c 6572 206f p from simpler o │ │ │ │ │ +0000ddf0: 6e65 7320 696e 2076 6172 696f 7573 2077 nes in various w │ │ │ │ │ +0000de00: 6179 732e 2020 4669 6e61 6c6c 792c 20e2 ays. Finally, . │ │ │ │ │ +0000de10: 809c 7370 6563 6961 6ce2 809d 0a6f 626a ..special....obj │ │ │ │ │ +0000de20: 6563 7473 2061 7265 2074 686f 7365 2063 ects are those c │ │ │ │ │ +0000de30: 6f6d 706f 7365 6420 6f66 204c 6154 6558 omposed of LaTeX │ │ │ │ │ +0000de40: 206f 7220 e280 9850 5354 7269 636b 73e2 or ...PSTricks. │ │ │ │ │ +0000de50: 8099 2063 6f64 652c 2070 6572 6861 7073 .. code, perhaps │ │ │ │ │ +0000de60: 0a69 6e63 6c75 6469 6e67 2063 6f6f 7264 .including coord │ │ │ │ │ +0000de70: 696e 6174 6573 2061 6e64 2061 6e67 6c65 inates and angle │ │ │ │ │ +0000de80: 7320 636f 6d70 7574 6564 2062 7920 e280 s computed by .. │ │ │ │ │ +0000de90: 9873 6b65 7463 68e2 8099 2e0a 0a2a 204d .sketch......* M │ │ │ │ │ +0000dea0: 656e 753a 0a0a 2a20 446f 7473 3a3a 2020 enu:..* Dots:: │ │ │ │ │ +0000deb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dec0: 2020 2020 2020 4472 6177 2064 6f74 732e Draw dots. │ │ │ │ │ +0000ded0: 0a2a 204c 696e 6573 3a3a 2020 2020 2020 .* Lines:: │ │ │ │ │ 0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000def0: 2020 2020 2044 7261 7720 706f 6c79 6c69 Draw polyli │ │ │ │ │ -0000df00: 6e65 732e 0a2a 2043 7572 7665 733a 3a20 nes..* Curves:: │ │ │ │ │ +0000def0: 2044 7261 7720 706f 6c79 6c69 6e65 732e Draw polylines. │ │ │ │ │ +0000df00: 0a2a 2043 7572 7665 733a 3a20 2020 2020 .* Curves:: │ │ │ │ │ 0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df20: 2020 2020 2044 7261 7720 6375 7276 6573 Draw curves │ │ │ │ │ -0000df30: 2e0a 2a20 506f 6c79 676f 6e73 3a3a 2020 ..* Polygons:: │ │ │ │ │ -0000df40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df50: 2020 4472 6177 2070 6f6c 7967 6f6e 732e Draw polygons. │ │ │ │ │ -0000df60: 0a2a 2053 7065 6369 616c 733a 3a20 2020 .* Specials:: │ │ │ │ │ -0000df70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df80: 2045 6d62 6564 2072 6177 204c 6154 6558 Embed raw LaTeX │ │ │ │ │ -0000df90: 2061 6e64 20e2 8098 5053 5472 6963 6b73 and ...PSTricks │ │ │ │ │ -0000dfa0: e280 992e 0a2a 2053 7765 6570 733a 3a20 .....* Sweeps:: │ │ │ │ │ +0000df20: 2044 7261 7720 6375 7276 6573 2e0a 2a20 Draw curves..* │ │ │ │ │ +0000df30: 506f 6c79 676f 6e73 3a3a 2020 2020 2020 Polygons:: │ │ │ │ │ +0000df40: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ +0000df50: 6177 2070 6f6c 7967 6f6e 732e 0a2a 2053 aw polygons..* S │ │ │ │ │ +0000df60: 7065 6369 616c 733a 3a20 2020 2020 2020 pecials:: │ │ │ │ │ +0000df70: 2020 2020 2020 2020 2020 2020 2045 6d62 Emb │ │ │ │ │ +0000df80: 6564 2072 6177 204c 6154 6558 2061 6e64 ed raw LaTeX and │ │ │ │ │ +0000df90: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks.... │ │ │ │ │ +0000dfa0: 0a2a 2053 7765 6570 733a 3a20 2020 2020 .* Sweeps:: │ │ │ │ │ 0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dfc0: 2020 2020 2044 7261 7720 7377 6565 7073 Draw sweeps │ │ │ │ │ -0000dfd0: 206f 6620 646f 7473 2061 6e64 2070 6f6c of dots and pol │ │ │ │ │ -0000dfe0: 796c 696e 6573 2e0a 2a20 426c 6f63 6b73 ylines..* Blocks │ │ │ │ │ -0000dff0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -0000e000: 2020 2020 2020 2020 4772 6f75 7020 6f74 Group ot │ │ │ │ │ -0000e010: 6865 7220 6472 6177 6162 6c65 732e 0a2a her drawables..* │ │ │ │ │ -0000e020: 2052 6570 6561 7473 3a3a 2020 2020 2020 Repeats:: │ │ │ │ │ -0000e030: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -0000e040: 7261 7720 7472 616e 7366 6f72 6d65 6420 raw transformed │ │ │ │ │ -0000e050: 636f 7069 6573 206f 6620 6f62 6a65 6374 copies of object │ │ │ │ │ -0000e060: 732e 0a2a 2050 7574 733a 3a20 2020 2020 s..* Puts:: │ │ │ │ │ -0000e070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e080: 2020 2044 7261 7720 6f6e 6520 6f62 6a65 Draw one obje │ │ │ │ │ -0000e090: 6374 2074 7261 6e73 666f 726d 6564 2e0a ct transformed.. │ │ │ │ │ -0000e0a0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -0000e0b0: 696e 666f 2c20 204e 6f64 653a 2044 6f74 info, Node: Dot │ │ │ │ │ -0000e0c0: 732c 2020 4e65 7874 3a20 4c69 6e65 732c s, Next: Lines, │ │ │ │ │ -0000e0d0: 2020 5072 6576 3a20 4472 6177 6162 6c65 Prev: Drawable │ │ │ │ │ -0000e0e0: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable │ │ │ │ │ -0000e0f0: 730a 0a33 2e32 2e31 2044 6f74 730a 2d2d s..3.2.1 Dots.-- │ │ │ │ │ -0000e100: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta │ │ │ │ │ -0000e110: 783a 2a0a 2020 2020 2064 6f74 735b 4f50 x:*. dots[OP │ │ │ │ │ -0000e120: 5449 4f4e 535d 2050 4f49 4e54 5f4c 4953 TIONS] POINT_LIS │ │ │ │ │ -0000e130: 540a 5468 6973 2063 6f6d 6d61 6e64 2069 T.This command i │ │ │ │ │ -0000e140: 7320 7468 6520 7468 7265 652d 6469 6d65 s the three-dime │ │ │ │ │ -0000e150: 6e73 696f 6e61 6c20 6571 7569 7661 6c65 nsional equivale │ │ │ │ │ -0000e160: 6e74 206f 6620 7468 6520 e280 9850 5354 nt of the ...PST │ │ │ │ │ -0000e170: 7269 636b 73e2 8099 0a63 6f6d 6d61 6e64 ricks....command │ │ │ │ │ -0000e180: 20e2 8098 5c70 7364 6f74 73e2 8099 2e0a ...\psdots..... │ │ │ │ │ -0000e190: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -0000e1a0: 696e 666f 2c20 204e 6f64 653a 204c 696e info, Node: Lin │ │ │ │ │ -0000e1b0: 6573 2c20 204e 6578 743a 2043 7572 7665 es, Next: Curve │ │ │ │ │ -0000e1c0: 732c 2020 5072 6576 3a20 446f 7473 2c20 s, Prev: Dots, │ │ │ │ │ -0000e1d0: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables.. │ │ │ │ │ -0000e1e0: 332e 322e 3220 4c69 6e65 730a 2d2d 2d2d 3.2.2 Lines.---- │ │ │ │ │ -0000e1f0: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax │ │ │ │ │ -0000e200: 3a2a 0a20 2020 2020 6c69 6e65 5b4f 5054 :*. line[OPT │ │ │ │ │ -0000e210: 494f 4e53 5d20 504f 494e 545f 4c49 5354 IONS] POINT_LIST │ │ │ │ │ -0000e220: 0a54 6869 7320 636f 6d6d 616e 6420 6973 .This command is │ │ │ │ │ -0000e230: 2074 6865 2074 6872 6565 2d64 696d 656e the three-dimen │ │ │ │ │ -0000e240: 7369 6f6e 616c 2065 7175 6976 616c 656e sional equivalen │ │ │ │ │ -0000e250: 7420 6f66 2074 6865 20e2 8098 5053 5472 t of the ...PSTr │ │ │ │ │ -0000e260: 6963 6b73 e280 990a 636f 6d6d 616e 6420 icks....command │ │ │ │ │ -0000e270: e280 985c 7073 6c69 6e65 e280 992e 0a0a ...\psline...... │ │ │ │ │ -0000e280: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -0000e290: 6e66 6f2c 2020 4e6f 6465 3a20 4375 7276 nfo, Node: Curv │ │ │ │ │ -0000e2a0: 6573 2c20 204e 6578 743a 2050 6f6c 7967 es, Next: Polyg │ │ │ │ │ -0000e2b0: 6f6e 732c 2020 5072 6576 3a20 4c69 6e65 ons, Prev: Line │ │ │ │ │ -0000e2c0: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable │ │ │ │ │ -0000e2d0: 730a 0a33 2e32 2e33 2043 7572 7665 730a s..3.2.3 Curves. │ │ │ │ │ -0000e2e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S │ │ │ │ │ -0000e2f0: 796e 7461 783a 2a0a 2020 2020 2063 7572 yntax:*. cur │ │ │ │ │ -0000e300: 7665 5b4f 5054 494f 4e53 5d20 504f 494e ve[OPTIONS] POIN │ │ │ │ │ -0000e310: 545f 4c49 5354 0a54 6869 7320 636f 6d6d T_LIST.This comm │ │ │ │ │ -0000e320: 616e 6420 6973 2074 6865 2074 6872 6565 and is the three │ │ │ │ │ -0000e330: 2d64 696d 656e 7369 6f6e 616c 2065 7175 -dimensional equ │ │ │ │ │ -0000e340: 6976 616c 656e 7420 6f66 2074 6865 20e2 ivalent of the . │ │ │ │ │ -0000e350: 8098 5053 5472 6963 6b73 e280 990a 636f ..PSTricks....co │ │ │ │ │ -0000e360: 6d6d 616e 6420 e280 985c 7073 6375 7276 mmand ...\pscurv │ │ │ │ │ -0000e370: 65e2 8099 2e20 2049 7420 6973 206e 6f74 e.... It is not │ │ │ │ │ -0000e380: 2069 6d70 6c65 6d65 6e74 6564 2069 6e20 implemented in │ │ │ │ │ -0000e390: 7468 6520 6375 7272 656e 7420 7665 7273 the current vers │ │ │ │ │ -0000e3a0: 696f 6e20 6f66 0ae2 8098 736b 6574 6368 ion of....sketch │ │ │ │ │ -0000e3b0: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk │ │ │ │ │ -0000e3c0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -0000e3d0: 3a20 506f 6c79 676f 6e73 2c20 204e 6578 : Polygons, Nex │ │ │ │ │ -0000e3e0: 743a 2053 7065 6369 616c 732c 2020 5072 t: Specials, Pr │ │ │ │ │ -0000e3f0: 6576 3a20 4375 7276 6573 2c20 2055 703a ev: Curves, Up: │ │ │ │ │ -0000e400: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2. │ │ │ │ │ -0000e410: 3420 506f 6c79 676f 6e73 0a2d 2d2d 2d2d 4 Polygons.----- │ │ │ │ │ -0000e420: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt │ │ │ │ │ -0000e430: 6178 3a2a 0a20 2020 2020 706f 6c79 676f ax:*. polygo │ │ │ │ │ -0000e440: 6e5b 4f50 5449 4f4e 535d 2050 4f49 4e54 n[OPTIONS] POINT │ │ │ │ │ -0000e450: 5f4c 4953 540a 5468 6973 2063 6f6d 6d61 _LIST.This comma │ │ │ │ │ -0000e460: 6e64 2069 7320 7468 6520 7468 7265 652d nd is the three- │ │ │ │ │ -0000e470: 6469 6d65 6e73 696f 6e61 6c20 6571 7569 dimensional equi │ │ │ │ │ -0000e480: 7661 6c65 6e74 206f 6620 7468 6520 e280 valent of the .. │ │ │ │ │ -0000e490: 9850 5354 7269 636b 73e2 8099 0a63 6f6d .PSTricks....com │ │ │ │ │ -0000e4a0: 6d61 6e64 20e2 8098 5c70 7370 6f6c 7967 mand ...\pspolyg │ │ │ │ │ -0000e4b0: 6f6e e280 992e 2020 5468 6520 e280 9873 on.... The ...s │ │ │ │ │ -0000e4c0: 6b65 7463 68e2 8099 2068 6964 6465 6e20 ketch... hidden │ │ │ │ │ -0000e4d0: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith │ │ │ │ │ -0000e4e0: 6d20 6173 7375 6d65 730a 7468 6174 2070 m assumes.that p │ │ │ │ │ -0000e4f0: 6f6c 7967 6f6e 7320 6172 6520 636f 6e76 olygons are conv │ │ │ │ │ -0000e500: 6578 2061 6e64 2070 6c61 6e61 722e 2020 ex and planar. │ │ │ │ │ -0000e510: 496e 2070 7261 6374 6963 652c 2064 7261 In practice, dra │ │ │ │ │ -0000e520: 7769 6e67 7320 6d61 7920 7765 6c6c 0a74 wings may well.t │ │ │ │ │ -0000e530: 7572 6e20 6f75 7420 636f 7272 6563 746c urn out correctl │ │ │ │ │ -0000e540: 7920 6576 656e 2069 6620 7468 6573 6520 y even if these │ │ │ │ │ -0000e550: 6173 7375 6d70 7469 6f6e 7320 6172 6520 assumptions are │ │ │ │ │ -0000e560: 7669 6f6c 6174 6564 2e0a 0a1f 0a46 696c violated.....Fil │ │ │ │ │ -0000e570: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -0000e580: 204e 6f64 653a 2053 7065 6369 616c 732c Node: Specials, │ │ │ │ │ -0000e590: 2020 4e65 7874 3a20 5377 6565 7073 2c20 Next: Sweeps, │ │ │ │ │ -0000e5a0: 2050 7265 763a 2050 6f6c 7967 6f6e 732c Prev: Polygons, │ │ │ │ │ -0000e5b0: 2020 5570 3a20 4472 6177 6162 6c65 730a Up: Drawables. │ │ │ │ │ -0000e5c0: 0a33 2e32 2e35 2053 7065 6369 616c 730a .3.2.5 Specials. │ │ │ │ │ -0000e5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ -0000e5e0: 2a53 796e 7461 783a 2a0a 2020 2020 2073 *Syntax:*. s │ │ │ │ │ -0000e5f0: 7065 6369 616c 2024 5241 575f 5445 5854 pecial $RAW_TEXT │ │ │ │ │ -0000e600: 245b 4f50 5449 4f4e 535d 2041 5247 5f4c $[OPTIONS] ARG_L │ │ │ │ │ -0000e610: 4953 540a 4865 7265 20e2 8098 24e2 8099 IST.Here ...$... │ │ │ │ │ -0000e620: 2063 616e 2062 6520 616e 7920 6368 6172 can be any char │ │ │ │ │ -0000e630: 6163 7465 7220 616e 6420 6973 2075 7365 acter and is use │ │ │ │ │ -0000e640: 6420 746f 2064 656c 696d 6974 2074 6865 d to delimit the │ │ │ │ │ -0000e650: 2073 7461 7274 2061 6e64 2065 6e64 0a6f start and end.o │ │ │ │ │ -0000e660: 6620 5241 575f 5445 5854 2e20 2054 6865 f RAW_TEXT. The │ │ │ │ │ -0000e670: 2063 6f6d 6d61 6e64 2065 6d62 6564 7320 command embeds │ │ │ │ │ -0000e680: 5241 575f 5445 5854 2069 6e20 7468 6520 RAW_TEXT in the │ │ │ │ │ -0000e690: e280 9873 6b65 7463 68e2 8099 206f 7574 ...sketch... out │ │ │ │ │ -0000e6a0: 7075 7420 6166 7465 720a 7065 7266 6f72 put after.perfor │ │ │ │ │ -0000e6b0: 6d69 6e67 2073 7562 7374 6974 7574 696f ming substitutio │ │ │ │ │ -0000e6c0: 6e73 2061 7320 666f 6c6c 6f77 732e 0a20 ns as follows.. │ │ │ │ │ -0000e6d0: 2020 e280 a220 e280 9823 49e2 8099 2077 ... ...#I... w │ │ │ │ │ -0000e6e0: 6865 7265 2049 2069 7320 6120 706f 7369 here I is a posi │ │ │ │ │ -0000e6f0: 7469 7665 2069 6e74 6567 6572 2069 7320 tive integer is │ │ │ │ │ -0000e700: 7265 706c 6163 6564 2062 7920 7468 6520 replaced by the │ │ │ │ │ -0000e710: 4927 7468 2076 616c 7565 2069 6e0a 2020 I'th value in. │ │ │ │ │ -0000e720: 2020 2041 5247 5f4c 4953 542e 2020 506f ARG_LIST. Po │ │ │ │ │ -0000e730: 696e 7420 616e 6420 7665 6374 6f72 2061 int and vector a │ │ │ │ │ -0000e740: 7267 756d 656e 7473 2062 6563 6f6d 6520 rguments become │ │ │ │ │ -0000e750: 7477 6f2d 6469 6d65 6e73 696f 6e61 6c0a two-dimensional. │ │ │ │ │ -0000e760: 2020 2020 2070 6f69 6e74 732c 2077 6869 points, whi │ │ │ │ │ -0000e770: 6368 2061 7265 2074 6865 2074 7261 6e73 ch are the trans │ │ │ │ │ -0000e780: 666f 726d 6564 2033 6420 6172 6775 6d65 formed 3d argume │ │ │ │ │ -0000e790: 6e74 7320 7072 6f6a 6563 7465 6420 6f6e nts projected on │ │ │ │ │ -0000e7a0: 746f 2074 6865 0a20 2020 2020 582d 5920 to the. X-Y │ │ │ │ │ -0000e7b0: 706c 616e 652e 2020 5468 6973 2061 6c6c plane. This all │ │ │ │ │ -0000e7c0: 6f77 7320 7477 6f2d 6469 6d65 6e74 696f ows two-dimentio │ │ │ │ │ -0000e7d0: 6e61 6c20 6f75 7470 7574 2065 6c65 6d65 nal output eleme │ │ │ │ │ -0000e7e0: 6e74 7320 7375 6368 2061 730a 2020 2020 nts such as. │ │ │ │ │ -0000e7f0: 206c 6162 656c 7320 746f 2062 6520 6561 labels to be ea │ │ │ │ │ -0000e800: 7369 6c79 2070 6f73 6974 696f 6e65 6420 sily positioned │ │ │ │ │ -0000e810: 7769 7468 2072 6573 7065 6374 2074 6f20 with respect to │ │ │ │ │ -0000e820: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona │ │ │ │ │ -0000e830: 6c0a 2020 2020 2066 6561 7475 7265 7320 l. features │ │ │ │ │ -0000e840: 696e 2074 6865 2064 7261 7769 6e67 2e20 in the drawing. │ │ │ │ │ -0000e850: 2053 6361 6c61 7220 6172 6775 6d65 6e74 Scalar argument │ │ │ │ │ -0000e860: 7320 6172 6520 7375 6273 6974 7574 6564 s are subsituted │ │ │ │ │ -0000e870: 2064 6972 6563 746c 792e 0a20 2020 2020 directly.. │ │ │ │ │ -0000e880: 4e6f 2074 7261 6e73 666f 726d 6174 696f No transformatio │ │ │ │ │ -0000e890: 6e20 6973 2061 7070 6c69 6564 2e0a 2020 n is applied.. │ │ │ │ │ -0000e8a0: 20e2 80a2 20e2 8098 237b 497d e280 9920 ... ...#{I}... │ │ │ │ │ -0000e8b0: 6973 2061 6c73 6f20 7265 706c 6163 6564 is also replaced │ │ │ │ │ -0000e8c0: 2061 7320 6162 6f76 652e 0a20 2020 e280 as above.. .. │ │ │ │ │ -0000e8d0: a220 e280 9823 4927 32e2 8099 2069 7320 . ...#I'2... is │ │ │ │ │ -0000e8e0: 7265 706c 6163 6564 2061 7320 6162 6f76 replaced as abov │ │ │ │ │ -0000e8f0: 6520 666f 7220 706f 696e 7473 206f 7220 e for points or │ │ │ │ │ -0000e900: 7665 6374 6f72 732e 2020 4974 2069 7320 vectors. It is │ │ │ │ │ -0000e910: 616e 2065 7272 6f72 0a20 2020 2020 666f an error. fo │ │ │ │ │ -0000e920: 7220 7468 6520 4927 7468 2061 7267 756d r the I'th argum │ │ │ │ │ -0000e930: 656e 7420 746f 2062 6520 6120 7363 616c ent to be a scal │ │ │ │ │ -0000e940: 6172 2e0a 2020 20e2 80a2 20e2 8098 2349 ar.. ... ...#I │ │ │ │ │ -0000e950: 2778 e280 992c 20e2 8098 2349 2779 e280 'x..., ...#I'y.. │ │ │ │ │ -0000e960: 992c 206f 7220 e280 9823 4927 7ae2 8099 ., or ...#I'z... │ │ │ │ │ -0000e970: 2069 7320 7265 706c 6163 6564 2c20 7265 is replaced, re │ │ │ │ │ -0000e980: 7370 6563 7469 7665 6c79 2c20 6279 2074 spectively, by t │ │ │ │ │ -0000e990: 6865 2073 6361 6c61 720a 2020 2020 2058 he scalar. X │ │ │ │ │ -0000e9a0: 2c20 592c 206f 7220 5a2d 636f 6f72 6469 , Y, or Z-coordi │ │ │ │ │ -0000e9b0: 6e61 7465 206f 6620 7468 6520 6172 6775 nate of the argu │ │ │ │ │ -0000e9c0: 6d65 6e74 2070 6f69 6e74 206f 7220 7665 ment point or ve │ │ │ │ │ -0000e9d0: 6374 6f72 2e20 2049 7420 6973 2061 6e0a ctor. It is an. │ │ │ │ │ -0000e9e0: 2020 2020 2065 7272 6f72 2066 6f72 2074 error for t │ │ │ │ │ -0000e9f0: 6865 2049 2774 6820 6172 6775 6d65 6e74 he I'th argument │ │ │ │ │ -0000ea00: 2074 6f20 6265 2061 2073 6361 6c61 722e to be a scalar. │ │ │ │ │ -0000ea10: 0a20 2020 e280 a220 e280 9823 4927 33e2 . ... ...#I'3. │ │ │ │ │ -0000ea20: 8099 2069 7320 7265 706c 6163 6564 2062 .. is replaced b │ │ │ │ │ -0000ea30: 7920 7468 6520 7468 7265 652d 6469 6d65 y the three-dime │ │ │ │ │ -0000ea40: 6e73 696f 6e61 6c20 7472 616e 7366 6f72 nsional transfor │ │ │ │ │ -0000ea50: 6d65 6420 6172 6775 6d65 6e74 2e0a 2020 med argument.. │ │ │ │ │ -0000ea60: 2020 204e 6f74 6520 7468 6174 2069 6620 Note that if │ │ │ │ │ -0000ea70: 6120 7065 7273 7065 6374 6976 6520 7472 a perspective tr │ │ │ │ │ -0000ea80: 616e 7366 6f72 6d61 7469 6f6e 2068 6173 ansformation has │ │ │ │ │ -0000ea90: 2062 6565 6e20 6170 706c 6965 642c 2074 been applied, t │ │ │ │ │ -0000eaa0: 6865 0a20 2020 2020 5a2d 636f 6f72 6469 he. Z-coordi │ │ │ │ │ -0000eab0: 6e61 7465 2068 6173 206c 6974 746c 6520 nate has little │ │ │ │ │ -0000eac0: 6765 6f6d 6574 7269 6320 7369 676e 6966 geometric signif │ │ │ │ │ -0000ead0: 6963 616e 6365 2c20 7468 6f75 6768 2069 icance, though i │ │ │ │ │ -0000eae0: 740a 2020 2020 2061 6363 7572 6174 656c t. accuratel │ │ │ │ │ -0000eaf0: 7920 696e 6469 6361 7465 7320 7265 6c61 y indicates rela │ │ │ │ │ -0000eb00: 7469 7665 2064 6570 7468 2e0a 2020 20e2 tive depth.. . │ │ │ │ │ -0000eb10: 80a2 20e2 8098 2349 2d4a e280 9920 7768 .. ...#I-J... wh │ │ │ │ │ -0000eb20: 6572 6520 4920 616e 6420 4a20 6172 6520 ere I and J are │ │ │ │ │ -0000eb30: 706f 7369 7469 7665 2069 6e74 6567 6572 positive integer │ │ │ │ │ -0000eb40: 7320 6973 2072 6570 6c61 6365 6420 6279 s is replaced by │ │ │ │ │ -0000eb50: 2061 2073 7472 696e 670a 2020 2020 20e2 a string. . │ │ │ │ │ -0000eb60: 8098 7b41 4e47 4c45 7de2 8099 2077 6865 ..{ANGLE}... whe │ │ │ │ │ -0000eb70: 7265 2041 4e47 4c45 2069 7320 7468 6520 re ANGLE is the │ │ │ │ │ -0000eb80: 706f 6c61 7220 616e 676c 6520 6f66 2061 polar angle of a │ │ │ │ │ -0000eb90: 2076 6563 746f 7220 6672 6f6d 2074 6865 vector from the │ │ │ │ │ -0000eba0: 2049 2774 680a 2020 2020 2070 6f69 6e74 I'th. point │ │ │ │ │ -0000ebb0: 2069 6e20 504f 494e 545f 4c49 5354 2074 in POINT_LIST t │ │ │ │ │ -0000ebc0: 6f20 7468 6520 4a27 7468 2070 6f69 6e74 o the J'th point │ │ │ │ │ -0000ebd0: 2070 726f 6a65 6374 6564 2069 6e74 6f20 projected into │ │ │ │ │ -0000ebe0: 7468 6520 782d 7920 706c 616e 652e 0a20 the x-y plane.. │ │ │ │ │ -0000ebf0: 2020 2020 4974 2069 7320 616e 2065 7272 It is an err │ │ │ │ │ -0000ec00: 6f72 2066 6f72 2074 6865 2049 2774 6820 or for the I'th │ │ │ │ │ -0000ec10: 6f72 204a 2774 6820 6172 6775 6d65 6e74 or J'th argument │ │ │ │ │ -0000ec20: 2074 6f20 6265 2061 2073 6361 6c61 7220 to be a scalar │ │ │ │ │ -0000ec30: 6f72 2061 0a20 2020 2020 7665 6374 6f72 or a. vector │ │ │ │ │ -0000ec40: 2e0a 2020 20e2 80a2 20e2 8098 237b 492d .. ... ...#{I- │ │ │ │ │ -0000ec50: 4a7d e280 9920 6973 2061 6c73 6f20 7265 J}... is also re │ │ │ │ │ -0000ec60: 706c 6163 6564 2061 7320 6162 6f76 652e placed as above. │ │ │ │ │ -0000ec70: 0a20 2020 e280 a220 e280 9823 23e2 8099 . ... ...##... │ │ │ │ │ -0000ec80: 2069 7320 7265 706c 6163 6564 2077 6974 is replaced wit │ │ │ │ │ -0000ec90: 6820 e280 9823 e280 992e 0a54 6865 2066 h ...#.....The f │ │ │ │ │ -0000eca0: 6f72 6d73 2077 6974 6820 6272 6163 6573 orms with braces │ │ │ │ │ -0000ecb0: 20e2 8098 7b20 7de2 8099 2061 7265 2075 ...{ }... are u │ │ │ │ │ -0000ecc0: 7365 6675 6c20 7768 656e 2074 6865 2061 seful when the a │ │ │ │ │ -0000ecd0: 7267 756d 656e 7420 6973 2069 6d6d 6564 rgument is immed │ │ │ │ │ -0000ece0: 6961 7465 6c79 0a66 6f6c 6c6f 7765 6420 iately.followed │ │ │ │ │ -0000ecf0: 6279 2061 2064 6967 6974 206f 7220 6120 by a digit or a │ │ │ │ │ -0000ed00: 7469 636b 2063 6861 7261 6374 6572 2074 tick character t │ │ │ │ │ -0000ed10: 6861 7420 6973 2070 6172 7420 6f66 2074 hat is part of t │ │ │ │ │ -0000ed20: 6865 2054 6558 2063 6f64 652e 0a0a 2020 he TeX code... │ │ │ │ │ -0000ed30: 2054 6865 206f 6e6c 7920 7573 6566 756c The only useful │ │ │ │ │ -0000ed40: 206f 7074 696f 6e20 6f66 20e2 8098 7370 option of ...sp │ │ │ │ │ -0000ed50: 6563 6961 6ce2 8099 2069 7320 e280 986c ecial... is ...l │ │ │ │ │ -0000ed60: 6179 e280 992c 2077 6869 6368 2064 6574 ay..., which det │ │ │ │ │ -0000ed70: 6572 6d69 6e65 7320 6966 2074 6865 0a73 ermines if the.s │ │ │ │ │ -0000ed80: 7562 7374 6974 7565 6420 7261 7720 7465 ubstitued raw te │ │ │ │ │ -0000ed90: 7874 2069 7320 656d 6974 7465 6420 6265 xt is emitted be │ │ │ │ │ -0000eda0: 666f 7265 2c20 6166 7465 722c 206f 7220 fore, after, or │ │ │ │ │ -0000edb0: 7573 696e 6720 7468 6520 6669 7273 7420 using the first │ │ │ │ │ -0000edc0: 706f 696e 740a 696e 2050 4f49 4e54 5f4c point.in POINT_L │ │ │ │ │ -0000edd0: 4953 5420 6173 2061 6e20 696e 6469 6361 IST as an indica │ │ │ │ │ -0000ede0: 746f 7220 6f66 2064 6570 7468 2e20 2054 tor of depth. T │ │ │ │ │ -0000edf0: 6865 7365 206f 6363 7572 2c20 7265 7370 hese occur, resp │ │ │ │ │ -0000ee00: 6563 7469 7665 6c79 2c20 7769 7468 0ae2 ectively, with.. │ │ │ │ │ -0000ee10: 8098 6c61 793d 756e 6465 72e2 8099 2c20 ..lay=under..., │ │ │ │ │ -0000ee20: e280 986c 6179 3d6f 7665 72e2 8099 2c20 ...lay=over..., │ │ │ │ │ -0000ee30: 616e 6420 e280 986c 6179 3d69 6ee2 8099 and ...lay=in... │ │ │ │ │ -0000ee40: 2e20 2053 6565 202a 6e6f 7465 2053 7065 . See *note Spe │ │ │ │ │ -0000ee50: 6369 616c 206f 626a 6563 7473 3a3a 2061 cial objects:: a │ │ │ │ │ -0000ee60: 6e64 0a2a 6e6f 7465 2054 696b 5a2f 5047 nd.*note TikZ/PG │ │ │ │ │ -0000ee70: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ -0000ee80: 7479 6c65 733a 3a20 666f 7220 6578 616d tyles:: for exam │ │ │ │ │ -0000ee90: 706c 6573 2e20 202a 4e6f 7465 2049 6e74 ples. *Note Int │ │ │ │ │ -0000eea0: 6572 6e61 6c0a 6f70 7469 6f6e 733a 3a2e ernal.options::. │ │ │ │ │ -0000eeb0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -0000eec0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5377 .info, Node: Sw │ │ │ │ │ -0000eed0: 6565 7073 2c20 204e 6578 743a 2042 6c6f eeps, Next: Blo │ │ │ │ │ -0000eee0: 636b 732c 2020 5072 6576 3a20 5370 6563 cks, Prev: Spec │ │ │ │ │ -0000eef0: 6961 6c73 2c20 2055 703a 2044 7261 7761 ials, Up: Drawa │ │ │ │ │ -0000ef00: 626c 6573 0a0a 332e 322e 3620 5377 6565 bles..3.2.6 Swee │ │ │ │ │ -0000ef10: 7073 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ps.------------. │ │ │ │ │ -0000ef20: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ -0000ef30: 7377 6565 7020 7b20 4e2c 2054 5f31 2c20 sweep { N, T_1, │ │ │ │ │ -0000ef40: 545f 322c 202e 2e2e 2c20 545f 5220 7d5b T_2, ..., T_R }[ │ │ │ │ │ -0000ef50: 4f50 5449 4f4e 535d 2053 5745 5054 5f4f OPTIONS] SWEPT_O │ │ │ │ │ -0000ef60: 424a 4543 540a 2020 2020 2073 7765 6570 BJECT. sweep │ │ │ │ │ -0000ef70: 207b 204e 3c3e 2c20 545f 312c 2054 5f32 { N<>, T_1, T_2 │ │ │ │ │ -0000ef80: 2c20 2e2e 2e2c 2054 5f52 207d 5b4f 5054 , ..., T_R }[OPT │ │ │ │ │ -0000ef90: 494f 4e53 5d20 5357 4550 545f 4f42 4a45 IONS] SWEPT_OBJE │ │ │ │ │ -0000efa0: 4354 0a54 6865 2073 7765 6570 2063 6f6e CT.The sweep con │ │ │ │ │ -0000efb0: 6e65 6374 7320 4e20 286f 7220 7065 7268 nects N (or perh │ │ │ │ │ -0000efc0: 6170 7320 4e2b 3129 2063 6f70 6965 7320 aps N+1) copies │ │ │ │ │ -0000efd0: 6f66 2053 5745 5054 5f4f 424a 4543 5420 of SWEPT_OBJECT │ │ │ │ │ -0000efe0: 696e 206f 7264 6572 2074 6f0a 6372 6561 in order to.crea │ │ │ │ │ -0000eff0: 7465 2061 206e 6577 206f 626a 6563 7420 te a new object │ │ │ │ │ -0000f000: 6f66 2068 6967 6865 7220 6469 6d65 6e73 of higher dimens │ │ │ │ │ -0000f010: 696f 6e2e 2020 5468 6520 545f 4920 2866 ion. The T_I (f │ │ │ │ │ -0000f020: 6f72 2069 2062 6574 7765 656e 2031 2061 or i between 1 a │ │ │ │ │ -0000f030: 6e64 0a72 2920 6172 6520 7472 616e 7366 nd.r) are transf │ │ │ │ │ -0000f040: 6f72 6d73 2e20 2054 6865 206b 2774 6820 orms. The k'th │ │ │ │ │ -0000f050: 636f 7079 206f 6620 5357 4550 545f 4f42 copy of SWEPT_OB │ │ │ │ │ -0000f060: 4a45 4354 2069 7320 7072 6f64 7563 6564 JECT is produced │ │ │ │ │ -0000f070: 2062 790a 6170 706c 7969 6e67 2074 6865 by.applying the │ │ │ │ │ -0000f080: 2066 6f6c 6c6f 7769 6e67 2074 7261 6e73 following trans │ │ │ │ │ -0000f090: 666f 726d 2074 6f20 7468 6520 6f72 6967 form to the orig │ │ │ │ │ -0000f0a0: 696e 616c 2e0a 2020 2020 2054 5f31 5e6b inal.. T_1^k │ │ │ │ │ -0000f0b0: 2074 6865 6e20 545f 325e 6b20 7468 656e then T_2^k then │ │ │ │ │ -0000f0c0: 202e 2e2e 2074 6865 6e20 545f 525e 6b0a ... then T_R^k. │ │ │ │ │ -0000f0d0: 4865 7265 2054 5e6b 206d 6561 6e73 2022 Here T^k means " │ │ │ │ │ -0000f0e0: 7472 616e 7366 6f72 6d20 5420 6170 706c transform T appl │ │ │ │ │ -0000f0f0: 6965 6420 6b20 7469 6d65 732e 2220 2054 ied k times." T │ │ │ │ │ -0000f100: 6865 206f 7269 6769 6e61 6c20 6f62 6a65 he original obje │ │ │ │ │ -0000f110: 6374 2069 730a 7468 6520 7a65 726f 2774 ct is.the zero't │ │ │ │ │ -0000f120: 6820 636f 7079 2c20 7769 7468 206b 3d30 h copy, with k=0 │ │ │ │ │ -0000f130: 2061 6e64 2065 6666 6563 7469 7665 6c79 and effectively │ │ │ │ │ -0000f140: 206e 6f20 7472 616e 7366 6f72 6d20 6170 no transform ap │ │ │ │ │ -0000f150: 706c 6965 6420 2854 5e30 3d49 2c0a 7468 plied (T^0=I,.th │ │ │ │ │ -0000f160: 6520 6964 656e 7469 7479 2074 7261 6e73 e identity trans │ │ │ │ │ -0000f170: 666f 726d 292e 0a0a 2020 2054 6865 206d form)... The m │ │ │ │ │ -0000f180: 6574 686f 6420 6f66 2063 6f6e 6e65 6374 ethod of connect │ │ │ │ │ -0000f190: 696e 6720 7468 6520 636f 7069 6573 2064 ing the copies d │ │ │ │ │ -0000f1a0: 6570 656e 6473 206f 6e20 7468 6520 7479 epends on the ty │ │ │ │ │ -0000f1b0: 7065 206f 660a 5357 4550 545f 4f42 4a45 pe of.SWEPT_OBJE │ │ │ │ │ -0000f1c0: 4354 2061 6e64 206f 6e20 7768 6574 6865 CT and on whethe │ │ │ │ │ -0000f1d0: 7220 7468 6520 636c 6f73 7572 6520 7461 r the closure ta │ │ │ │ │ -0000f1e0: 6720 e280 983c 3ee2 8099 2069 7320 7072 g ...<>... is pr │ │ │ │ │ -0000f1f0: 6573 656e 7420 6f72 206e 6f74 2e0a 0a20 esent or not... │ │ │ │ │ -0000f200: 2020 416e 2065 7861 6d70 6c65 206f 6620 An example of │ │ │ │ │ -0000f210: 6120 7377 6565 7020 7768 6572 6520 723d a sweep where r= │ │ │ │ │ -0000f220: 3220 6973 2074 6865 204d 6f62 6975 7320 2 is the Mobius │ │ │ │ │ -0000f230: 6669 6775 7265 2061 7420 2a6e 6f74 6520 figure at *note │ │ │ │ │ -0000f240: 4d6f 7265 2074 6f0a 6c65 6172 6e3a 3a2e More to.learn::. │ │ │ │ │ -0000f250: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2053 7765 ..* Menu:..* Swe │ │ │ │ │ -0000f260: 7074 2070 6f69 6e74 733a 3a20 2020 2020 pt points:: │ │ │ │ │ -0000f270: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -0000f280: 2070 6f69 6e74 7320 6d61 6b65 206c 696e points make lin │ │ │ │ │ -0000f290: 6573 206f 7220 706f 6c79 676f 6e73 2e0a es or polygons.. │ │ │ │ │ -0000f2a0: 2a20 5377 6570 7420 6c69 6e65 733a 3a20 * Swept lines:: │ │ │ │ │ -0000f2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f2c0: 5377 6570 7420 6c69 6e65 7320 6d61 6b65 Swept lines make │ │ │ │ │ -0000f2d0: 206f 7065 6e20 6f72 2063 6c6f 7365 6420 open or closed │ │ │ │ │ -0000f2e0: 7375 7266 6163 6573 2e0a 2a20 5377 6570 surfaces..* Swep │ │ │ │ │ -0000f2f0: 7420 706f 6c79 676f 6e73 3a3a 2020 2020 t polygons:: │ │ │ │ │ -0000f300: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -0000f310: 706f 6c79 676f 6e73 206d 616b 6520 636c polygons make cl │ │ │ │ │ -0000f320: 6f73 6564 2073 7572 6661 6365 732e 0a2a osed surfaces..* │ │ │ │ │ -0000f330: 2053 7765 7074 2062 6c6f 636b 733a 3a20 Swept blocks:: │ │ │ │ │ -0000f340: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0000f350: 7765 7074 2062 6c6f 636b 20e2 89a1 2062 wept block ... b │ │ │ │ │ -0000f360: 6c6f 636b 206f 6620 7377 6565 7073 2e0a lock of sweeps.. │ │ │ │ │ -0000f370: 2a20 5377 6565 7020 6661 6365 2073 706c * Sweep face spl │ │ │ │ │ -0000f380: 6974 7469 6e67 3a3a 2020 2020 2020 2020 itting:: │ │ │ │ │ -0000f390: 4669 7869 6e67 2077 6172 7065 6420 6661 Fixing warped fa │ │ │ │ │ -0000f3a0: 6365 7320 7769 7468 2074 7269 616e 676c ces with triangl │ │ │ │ │ -0000f3b0: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske │ │ │ │ │ -0000f3c0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -0000f3d0: 2053 7765 7074 2070 6f69 6e74 732c 2020 Swept points, │ │ │ │ │ -0000f3e0: 4e65 7874 3a20 5377 6570 7420 6c69 6e65 Next: Swept line │ │ │ │ │ -0000f3f0: 732c 2020 5072 6576 3a20 5377 6565 7073 s, Prev: Sweeps │ │ │ │ │ -0000f400: 2c20 2055 703a 2053 7765 6570 730a 0a33 , Up: Sweeps..3 │ │ │ │ │ -0000f410: 2e32 2e36 2e31 2053 7765 7074 2070 6f69 .2.6.1 Swept poi │ │ │ │ │ -0000f420: 6e74 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e nts............. │ │ │ │ │ -0000f430: 2e2e 2e2e 2e2e 2e2e 0a0a 4966 2053 5745 ..........If SWE │ │ │ │ │ -0000f440: 5054 5f4f 424a 4543 5420 6973 2061 2070 PT_OBJECT is a p │ │ │ │ │ -0000f450: 6f69 6e74 206c 6973 7420 616e 6420 7468 oint list and th │ │ │ │ │ -0000f460: 6572 6520 6973 206e 6f20 636c 6f73 7572 ere is no closur │ │ │ │ │ -0000f470: 6520 7461 672c 2074 6865 6e0a e280 9873 e tag, then....s │ │ │ │ │ -0000f480: 7765 6570 e280 9920 636f 6e6e 6563 7473 weep... connects │ │ │ │ │ -0000f490: 204e 2b31 2073 7563 6365 7373 6976 6520 N+1 successive │ │ │ │ │ -0000f4a0: 636f 7069 6573 206f 6620 6561 6368 2070 copies of each p │ │ │ │ │ -0000f4b0: 6f69 6e74 2028 696e 636c 7564 696e 6720 oint (including │ │ │ │ │ -0000f4c0: 7468 650a 6f72 6967 696e 616c 2920 7769 the.original) wi │ │ │ │ │ -0000f4d0: 7468 2073 7472 6169 6768 7420 6c69 6e65 th straight line │ │ │ │ │ -0000f4e0: 2073 6567 6d65 6e74 7320 746f 2066 6f72 segments to for │ │ │ │ │ -0000f4f0: 6d20 6120 706f 6c79 6c69 6e65 2e20 2049 m a polyline. I │ │ │ │ │ -0000f500: 6620 7468 6572 6520 6172 650a 6d20 706f f there are.m po │ │ │ │ │ -0000f510: 696e 7473 2069 6e20 7468 6520 6f72 6967 ints in the orig │ │ │ │ │ -0000f520: 696e 616c 2070 6f69 6e74 206c 6973 742c inal point list, │ │ │ │ │ -0000f530: 2074 6865 6e20 6d20 706f 6c79 6c69 6e65 then m polyline │ │ │ │ │ -0000f540: 7320 7769 7468 204e 2073 6567 6d65 6e74 s with N segment │ │ │ │ │ -0000f550: 730a 6561 6368 2061 7265 2066 6f72 6d65 s.each are forme │ │ │ │ │ -0000f560: 6420 6279 2074 6865 2073 7765 6570 2e20 d by the sweep. │ │ │ │ │ -0000f570: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner, │ │ │ │ │ -0000f580: 20e2 8098 7377 6565 70e2 8099 2066 6f72 ...sweep... for │ │ │ │ │ -0000f590: 6d73 2061 2073 6574 206f 660a 6f6e 652d ms a set of.one- │ │ │ │ │ -0000f5a0: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje │ │ │ │ │ -0000f5b0: 6374 7320 2870 6f6c 796c 696e 6573 2920 cts (polylines) │ │ │ │ │ -0000f5c0: 6672 6f6d 207a 6572 6f2d 6469 6d65 6e73 from zero-dimens │ │ │ │ │ -0000f5d0: 696f 6e61 6c20 6f6e 6573 2028 706f 696e ional ones (poin │ │ │ │ │ -0000f5e0: 7473 292e 0a0a 2020 2057 6865 6e20 7468 ts)... When th │ │ │ │ │ -0000f5f0: 6572 6520 5f69 735f 2061 2063 6c6f 7375 ere _is_ a closu │ │ │ │ │ -0000f600: 7265 2074 6167 2c20 e280 9873 7765 6570 re tag, ...sweep │ │ │ │ │ -0000f610: e280 9920 636f 6e6e 6563 7473 204e 2073 ... connects N s │ │ │ │ │ -0000f620: 7563 6365 7373 6976 6520 636f 7069 6573 uccessive copies │ │ │ │ │ -0000f630: 0a6f 6620 6561 6368 2070 6f69 6e74 2028 .of each point ( │ │ │ │ │ -0000f640: 696e 636c 7564 696e 6720 7468 6520 6f72 including the or │ │ │ │ │ -0000f650: 6967 696e 616c 2920 7769 7468 2073 7472 iginal) with str │ │ │ │ │ -0000f660: 6169 6768 7420 6c69 6e65 2073 6567 6d65 aight line segme │ │ │ │ │ -0000f670: 6e74 7320 616e 640a 6669 6e61 6c6c 7920 nts and.finally │ │ │ │ │ -0000f680: 636f 6e6e 6563 7473 2074 6865 206c 6173 connects the las │ │ │ │ │ -0000f690: 7420 636f 7079 2062 6163 6b20 746f 2074 t copy back to t │ │ │ │ │ -0000f6a0: 6865 206f 7269 6769 6e61 6c20 746f 2066 he original to f │ │ │ │ │ -0000f6b0: 6f72 6d20 6120 706f 6c79 676f 6e0a 7769 orm a polygon.wi │ │ │ │ │ -0000f6c0: 7468 204e 2073 6964 6573 2e20 2049 6620 th N sides. If │ │ │ │ │ -0000f6d0: 7468 6572 6520 6172 6520 6d20 706f 696e there are m poin │ │ │ │ │ -0000f6e0: 7473 2069 6e20 7468 6520 6f72 6967 696e ts in the origin │ │ │ │ │ -0000f6f0: 616c 2070 6f69 6e74 206c 6973 742c 2074 al point list, t │ │ │ │ │ -0000f700: 6865 6e20 6d0a 706f 6c79 676f 6e73 2077 hen m.polygons w │ │ │ │ │ -0000f710: 6974 6820 4e20 7369 6465 7320 6561 6368 ith N sides each │ │ │ │ │ -0000f720: 2061 7265 2066 6f72 6d65 6420 6279 2074 are formed by t │ │ │ │ │ -0000f730: 6865 2073 7765 6570 2e20 2049 6e20 7468 he sweep. In th │ │ │ │ │ -0000f740: 6973 206d 616e 6e65 722c 0ae2 8098 7377 is manner,....sw │ │ │ │ │ -0000f750: 6565 70e2 8099 2066 6f72 6d73 2061 2073 eep... forms a s │ │ │ │ │ -0000f760: 6574 206f 6620 7477 6f2d 6469 6d65 6e73 et of two-dimens │ │ │ │ │ -0000f770: 696f 6e61 6c20 6f62 6a65 6374 7320 2870 ional objects (p │ │ │ │ │ -0000f780: 6f6c 7967 6f6e 7329 2066 726f 6d0a 7a65 olygons) from.ze │ │ │ │ │ -0000f790: 726f 2d64 696d 656e 7369 6f6e 616c 206f ro-dimensional o │ │ │ │ │ -0000f7a0: 6e65 7320 2870 6f69 6e74 7329 2e0a 0a20 nes (points)... │ │ │ │ │ -0000f7b0: 2020 4f70 7469 6f6e 7320 6f66 2074 6865 Options of the │ │ │ │ │ -0000f7c0: 20e2 8098 7377 6565 70e2 8099 2061 7265 ...sweep... are │ │ │ │ │ -0000f7d0: 2063 6f70 6965 6420 6469 7265 6374 6c79 copied directly │ │ │ │ │ -0000f7e0: 2074 6f20 7468 6520 7265 7375 6c74 696e to the resultin │ │ │ │ │ -0000f7f0: 670a 706f 6c79 6c69 6e65 2873 292e 0a0a g.polyline(s)... │ │ │ │ │ -0000f800: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -0000f810: 6e66 6f2c 2020 4e6f 6465 3a20 5377 6570 nfo, Node: Swep │ │ │ │ │ -0000f820: 7420 6c69 6e65 732c 2020 4e65 7874 3a20 t lines, Next: │ │ │ │ │ -0000f830: 5377 6570 7420 706f 6c79 676f 6e73 2c20 Swept polygons, │ │ │ │ │ -0000f840: 2050 7265 763a 2053 7765 7074 2070 6f69 Prev: Swept poi │ │ │ │ │ -0000f850: 6e74 732c 2020 5570 3a20 5377 6565 7073 nts, Up: Sweeps │ │ │ │ │ -0000f860: 0a0a 332e 322e 362e 3220 5377 6570 7420 ..3.2.6.2 Swept │ │ │ │ │ -0000f870: 6c69 6e65 730a 2e2e 2e2e 2e2e 2e2e 2e2e lines........... │ │ │ │ │ -0000f880: 2e2e 2e2e 2e2e 2e2e 2e0a 0a49 6620 5357 ...........If SW │ │ │ │ │ -0000f890: 4550 545f 4f42 4a45 4354 2069 7320 6120 EPT_OBJECT is a │ │ │ │ │ -0000f8a0: 706f 6c79 6c69 6e65 2061 6e64 2074 6865 polyline and the │ │ │ │ │ -0000f8b0: 7265 2069 7320 6e6f 2063 6c6f 7375 7265 re is no closure │ │ │ │ │ -0000f8c0: 2074 6167 2c20 7468 656e 20e2 8098 7377 tag, then ...sw │ │ │ │ │ -0000f8d0: 6565 70e2 8099 0a63 6f6e 6e65 6374 7320 eep....connects │ │ │ │ │ -0000f8e0: 4e2b 3120 7375 6363 6573 7369 7665 2063 N+1 successive c │ │ │ │ │ -0000f8f0: 6f70 6965 7320 6f66 2074 6865 2070 6f6c opies of the pol │ │ │ │ │ -0000f900: 796c 696e 6520 2869 6e63 6c75 6469 6e67 yline (including │ │ │ │ │ -0000f910: 2074 6865 206f 7269 6769 6e61 6c29 0a77 the original).w │ │ │ │ │ -0000f920: 6974 6820 666f 7572 2d73 6964 6564 2070 ith four-sided p │ │ │ │ │ -0000f930: 6f6c 7967 6f6e 732c 2065 6163 6820 7061 olygons, each pa │ │ │ │ │ -0000f940: 6972 206f 6620 636f 7069 6573 2067 6976 ir of copies giv │ │ │ │ │ -0000f950: 696e 6720 7269 7365 2074 6f20 6120 2270 ing rise to a "p │ │ │ │ │ -0000f960: 6f6c 7967 6f6e 0a73 7472 6970 2e22 2020 olygon.strip." │ │ │ │ │ -0000f970: 4966 2074 6865 7265 2061 7265 206d 2070 If there are m p │ │ │ │ │ -0000f980: 6f69 6e74 7320 696e 2074 6865 206f 7269 oints in the ori │ │ │ │ │ -0000f990: 6769 6e61 6c20 706f 6c79 6c69 6e65 2c20 ginal polyline, │ │ │ │ │ -0000f9a0: 7468 656e 2028 6d2d 3129 4e0a 706f 6c79 then (m-1)N.poly │ │ │ │ │ -0000f9b0: 676f 6e73 2061 7265 2066 6f72 6d65 6420 gons are formed │ │ │ │ │ -0000f9c0: 6279 2074 6865 2073 7765 6570 2e20 2057 by the sweep. W │ │ │ │ │ -0000f9d0: 6520 6361 6c6c 2074 6865 7365 20e2 809c e call these ... │ │ │ │ │ -0000f9e0: 626f 6479 2070 6f6c 7967 6f6e 73e2 809d body polygons... │ │ │ │ │ -0000f9f0: 2e20 2049 6e0a 7468 6973 206d 616e 6e65 . In.this manne │ │ │ │ │ -0000fa00: 722c 20e2 8098 7377 6565 70e2 8099 2066 r, ...sweep... f │ │ │ │ │ -0000fa10: 6f72 6d73 2061 2074 776f 2d64 696d 656e orms a two-dimen │ │ │ │ │ -0000fa20: 7369 6f6e 616c 2073 7572 6661 6365 2066 sional surface f │ │ │ │ │ -0000fa30: 726f 6d20 6672 6f6d 2061 0a6f 6e65 2d64 rom from a.one-d │ │ │ │ │ -0000fa40: 696d 656e 7369 6f6e 616c 2070 6f6c 796c imensional polyl │ │ │ │ │ -0000fa50: 696e 652e 0a0a 2020 2054 6865 206f 7264 ine... The ord │ │ │ │ │ -0000fa60: 6572 206f 6620 7665 7274 6963 6573 2070 er of vertices p │ │ │ │ │ -0000fa70: 726f 6475 6365 6420 6279 20e2 8098 7377 roduced by ...sw │ │ │ │ │ -0000fa80: 6565 70e2 8099 2069 7320 696d 706f 7274 eep... is import │ │ │ │ │ -0000fa90: 616e 742e 2020 4966 2061 0a70 6f6c 7967 ant. If a.polyg │ │ │ │ │ -0000faa0: 6f6e 2773 2076 6572 7469 6365 7320 646f on's vertices do │ │ │ │ │ -0000fab0: 206e 6f74 2061 7070 6561 7220 696e 2063 not appear in c │ │ │ │ │ -0000fac0: 6f75 6e74 6572 2d63 6c6f 636b 7769 7365 ounter-clockwise │ │ │ │ │ -0000fad0: 206f 7264 6572 2069 6e20 7468 6520 6669 order in the fi │ │ │ │ │ -0000fae0: 6e61 6c0a 696d 6167 652c 2074 6865 2070 nal.image, the p │ │ │ │ │ -0000faf0: 6f6c 7967 6f6e 2077 696c 6c20 6265 2063 olygon will be c │ │ │ │ │ -0000fb00: 756c 6c65 6420 2875 6e6c 6573 7320 e280 ulled (unless .. │ │ │ │ │ -0000fb10: 9863 756c 6c3d 6661 6c73 65e2 8099 2069 .cull=false... i │ │ │ │ │ -0000fb20: 7320 7365 7429 2e20 2049 6620 7468 650a s set). If the. │ │ │ │ │ -0000fb30: 706f 696e 7473 2069 6e20 7468 6520 6b27 points in the k' │ │ │ │ │ -0000fb40: 7468 2063 6f70 7920 6f66 2074 6865 2070 th copy of the p │ │ │ │ │ -0000fb50: 6f6c 796c 696e 6520 6172 6520 505f 312c olyline are P_1, │ │ │ │ │ -0000fb60: 2050 5f32 2c20 2e2e 2e2c 2050 5f6d 2c20 P_2, ..., P_m, │ │ │ │ │ -0000fb70: 616e 6420 7468 650a 706f 696e 7473 2069 and the.points i │ │ │ │ │ -0000fb80: 6e20 7468 6520 6e65 7874 2063 6f70 792c n the next copy, │ │ │ │ │ -0000fb90: 2074 6865 2028 6b2b 3129 7374 2c20 6172 the (k+1)st, ar │ │ │ │ │ -0000fba0: 6520 505f 3127 2c20 505f 3227 2c20 2e2e e P_1', P_2', .. │ │ │ │ │ -0000fbb0: 2e2c 2050 5f6d 272c 2074 6865 6e0a 7468 ., P_m', then.th │ │ │ │ │ -0000fbc0: 6520 7665 7274 6578 206f 7264 6572 206f e vertex order o │ │ │ │ │ -0000fbd0: 6620 7468 6520 6765 6e65 7261 7465 6420 f the generated │ │ │ │ │ -0000fbe0: 706f 6c79 676f 6e73 2069 730a 2020 2020 polygons is. │ │ │ │ │ -0000fbf0: 2042 6f64 7920 706f 6c79 676f 6e20 313a Body polygon 1: │ │ │ │ │ -0000fc00: 2050 5f32 2050 5f31 2050 5f31 2720 505f P_2 P_1 P_1' P_ │ │ │ │ │ -0000fc10: 3227 0a20 2020 2020 426f 6479 2070 6f6c 2'. Body pol │ │ │ │ │ -0000fc20: 7967 6f6e 2032 3a20 505f 3320 505f 3220 ygon 2: P_3 P_2 │ │ │ │ │ -0000fc30: 505f 3227 2050 5f33 270a 2020 2020 202e P_2' P_3'. . │ │ │ │ │ -0000fc40: 2e2e 0a20 2020 2020 426f 6479 2070 6f6c ... Body pol │ │ │ │ │ -0000fc50: 7967 6f6e 206d 2d31 3a20 505f 6d20 505f ygon m-1: P_m P_ │ │ │ │ │ -0000fc60: 7b6d 2d31 7d20 505f 7b6d 2d31 7d27 2050 {m-1} P_{m-1}' P │ │ │ │ │ -0000fc70: 5f6d 270a 0a20 2020 4f70 7469 6f6e 7320 _m'.. Options │ │ │ │ │ -0000fc80: 6f66 2075 6e63 6c6f 7365 6420 6c69 6e65 of unclosed line │ │ │ │ │ -0000fc90: 2073 7765 6570 7320 6172 6520 636f 7069 sweeps are copi │ │ │ │ │ -0000fca0: 6564 2074 6f20 6561 6368 206f 7574 7075 ed to each outpu │ │ │ │ │ -0000fcb0: 7420 706f 6c79 676f 6e2e 0a4f 7074 696f t polygon..Optio │ │ │ │ │ -0000fcc0: 6e73 206f 6620 7468 6520 7377 6570 7420 ns of the swept │ │ │ │ │ -0000fcd0: 6c69 6e65 2061 7265 2069 676e 6f72 6564 line are ignored │ │ │ │ │ -0000fce0: 2e0a 0a20 2020 5768 656e 2074 6865 7265 ... When there │ │ │ │ │ -0000fcf0: 205f 6973 5f20 6120 636c 6f73 7572 6520 _is_ a closure │ │ │ │ │ -0000fd00: 7461 672c 2074 6865 6e20 e280 9873 7765 tag, then ...swe │ │ │ │ │ -0000fd10: 6570 e280 9920 636f 6e6e 6563 7473 204e ep... connects N │ │ │ │ │ -0000fd20: 2073 7563 6365 7373 6976 650a 636f 7069 successive.copi │ │ │ │ │ -0000fd30: 6573 206f 6620 7468 6520 706f 6c79 6c69 es of the polyli │ │ │ │ │ -0000fd40: 6e65 2028 696e 636c 7564 696e 6720 7468 ne (including th │ │ │ │ │ -0000fd50: 6520 6f72 6967 696e 616c 2920 7769 7468 e original) with │ │ │ │ │ -0000fd60: 2066 6f75 722d 7369 6465 6420 626f 6479 four-sided body │ │ │ │ │ -0000fd70: 0a70 6f6c 7967 6f6e 7320 6a75 7374 2061 .polygons just a │ │ │ │ │ -0000fd80: 7320 7468 6520 6361 7365 2077 6974 6820 s the case with │ │ │ │ │ -0000fd90: 6e6f 2063 6c6f 7375 7265 2074 6167 2e20 no closure tag. │ │ │ │ │ -0000fda0: 2049 7420 7468 656e 2063 6f6e 6e65 6374 It then connect │ │ │ │ │ -0000fdb0: 7320 7468 650a 6c61 7374 2063 6f70 7920 s the.last copy │ │ │ │ │ -0000fdc0: 6261 636b 2074 6f20 7468 6520 6f72 6967 back to the orig │ │ │ │ │ -0000fdd0: 696e 616c 2074 6f20 666f 726d 2061 2072 inal to form a r │ │ │ │ │ -0000fde0: 6962 626f 6e2d 7368 6170 6564 2073 7572 ibbon-shaped sur │ │ │ │ │ -0000fdf0: 6661 6365 2074 6861 740a 636c 6f73 6573 face that.closes │ │ │ │ │ -0000fe00: 206f 6e20 6974 7365 6c66 2077 6974 6820 on itself with │ │ │ │ │ -0000fe10: 7477 6f20 686f 6c65 7320 7265 6d61 696e two holes remain │ │ │ │ │ -0000fe20: 696e 672e 0a0a 2020 2046 696e 616c 6c79 ing... Finally │ │ │ │ │ -0000fe30: 2c20 7468 6520 7377 6565 7020 6164 6473 , the sweep adds │ │ │ │ │ -0000fe40: 2074 776f 206d 6f72 6520 706f 6c79 676f two more polygo │ │ │ │ │ -0000fe50: 6e73 2074 6f20 7365 616c 2074 6865 2068 ns to seal the h │ │ │ │ │ -0000fe60: 6f6c 6573 2061 6e64 2066 6f72 6d0a 6120 oles and form.a │ │ │ │ │ -0000fe70: 636c 6f73 6564 2073 7572 6661 6365 2074 closed surface t │ │ │ │ │ -0000fe80: 6861 742c 2064 6570 656e 6469 6e67 206f hat, depending o │ │ │ │ │ -0000fe90: 6e20 7468 6520 7377 6565 7020 7472 616e n the sweep tran │ │ │ │ │ -0000fea0: 7366 6f72 6d73 2c20 6d61 7920 7265 7072 sforms, may repr │ │ │ │ │ -0000feb0: 6573 656e 740a 7468 6520 626f 756e 6461 esent.the bounda │ │ │ │ │ -0000fec0: 7279 206f 6620 6120 736f 6c69 642e 2020 ry of a solid. │ │ │ │ │ -0000fed0: 496e 2074 6869 7320 6d61 6e6e 6572 2c20 In this manner, │ │ │ │ │ -0000fee0: e280 9873 7765 6570 e280 9920 666f 726d ...sweep... form │ │ │ │ │ -0000fef0: 7320 7468 6520 626f 756e 6461 7279 206f s the boundary o │ │ │ │ │ -0000ff00: 660a 6120 7468 7265 652d 6469 6d65 6e73 f.a three-dimens │ │ │ │ │ -0000ff10: 696f 6e61 6c20 6f62 6a65 6374 2066 726f ional object fro │ │ │ │ │ -0000ff20: 6d20 6120 6f6e 652d 6469 6d65 6e73 696f m a one-dimensio │ │ │ │ │ -0000ff30: 6e61 6c20 706f 6c79 6c69 6e65 2e20 2057 nal polyline. W │ │ │ │ │ -0000ff40: 6520 6361 6c6c 0a74 6865 7365 2068 6f6c e call.these hol │ │ │ │ │ -0000ff50: 652d 6669 6c6c 696e 6720 706f 6c79 676f e-filling polygo │ │ │ │ │ -0000ff60: 6e73 20e2 809c 656e 6473 e280 9d2e 0a0a ns ...ends...... │ │ │ │ │ -0000ff70: 2020 2054 6865 206f 7264 6572 206f 6620 The order of │ │ │ │ │ -0000ff80: 7665 7274 6963 6573 206f 6620 656e 6420 vertices of end │ │ │ │ │ -0000ff90: 706f 6c79 676f 6e73 2069 7320 696d 706f polygons is impo │ │ │ │ │ -0000ffa0: 7274 616e 7420 666f 7220 636f 7272 6563 rtant for correc │ │ │ │ │ -0000ffb0: 740a 6375 6c6c 696e 6720 6173 2064 6573 t.culling as des │ │ │ │ │ -0000ffc0: 6372 6962 6564 2061 626f 7665 2e20 2049 cribed above. I │ │ │ │ │ -0000ffd0: 6620 505f 315e 312c 2050 5f31 5e32 2c20 f P_1^1, P_1^2, │ │ │ │ │ -0000ffe0: 2e2e 2e2c 2050 5f31 5e6e 2061 7265 2074 ..., P_1^n are t │ │ │ │ │ -0000fff0: 6865 204e 0a63 6f70 6965 7320 6f66 2074 he N.copies of t │ │ │ │ │ -00010000: 6865 2066 6972 7374 2070 6f6c 796c 696e he first polylin │ │ │ │ │ -00010010: 6520 706f 696e 7420 616e 6420 505f 6d5e e point and P_m^ │ │ │ │ │ -00010020: 312c 2050 5f6d 5e32 2c20 2e2e 2e20 2c50 1, P_m^2, ... ,P │ │ │ │ │ -00010030: 5f6d 5e6e 2061 7265 2074 6865 0a4e 2063 _m^n are the.N c │ │ │ │ │ -00010040: 6f70 6965 7320 6f66 2074 6865 206c 6173 opies of the las │ │ │ │ │ -00010050: 7420 706f 6c79 6c69 6e65 2070 6f69 6e74 t polyline point │ │ │ │ │ -00010060: 2c20 7468 656e 2074 6865 2065 6e64 2070 , then the end p │ │ │ │ │ -00010070: 6f6c 7967 6f6e 2076 6572 7465 7820 6f72 olygon vertex or │ │ │ │ │ -00010080: 6465 720a 6973 0a20 2020 2020 456e 6420 der.is. End │ │ │ │ │ -00010090: 706f 6c79 676f 6e20 313a 2050 5f31 5e6e polygon 1: P_1^n │ │ │ │ │ -000100a0: 2c20 505f 315e 7b6e 2d31 7d2c 202e 2e2e , P_1^{n-1}, ... │ │ │ │ │ -000100b0: 202c 505f 315e 310a 2020 2020 2045 6e64 ,P_1^1. End │ │ │ │ │ -000100c0: 2070 6f6c 7967 6f6e 2032 3a20 505f 6d5e polygon 2: P_m^ │ │ │ │ │ -000100d0: 312c 2050 5f6d 5e32 2c20 2e2e 2e20 2c50 1, P_m^2, ... ,P │ │ │ │ │ -000100e0: 5f6d 5e6e 0a0a 2020 2049 6620 7468 6572 _m^n.. If ther │ │ │ │ │ -000100f0: 6520 6172 6520 6e6f 206f 7074 696f 6e73 e are no options │ │ │ │ │ -00010100: 206f 6e20 7468 6520 7377 6570 7420 6c69 on the swept li │ │ │ │ │ -00010110: 6e65 2c20 7468 656e 2074 6865 20e2 8098 ne, then the ... │ │ │ │ │ -00010120: 7377 6565 70e2 8099 206f 7074 696f 6e73 sweep... options │ │ │ │ │ -00010130: 0a61 7265 2063 6f70 6965 6420 746f 2065 .are copied to e │ │ │ │ │ -00010140: 6163 6820 6f75 7470 7574 2070 6f6c 7967 ach output polyg │ │ │ │ │ -00010150: 6f6e 2e20 2049 6620 7468 6520 7377 6570 on. If the swep │ │ │ │ │ -00010160: 7420 6c69 6e65 2064 6f65 7320 6861 7665 t line does have │ │ │ │ │ -00010170: 206f 7074 696f 6e73 2c0a 7468 6573 6520 options,.these │ │ │ │ │ -00010180: 6172 6520 636f 7069 6564 2074 6f20 636f are copied to co │ │ │ │ │ -00010190: 7272 6573 706f 6e64 696e 6720 626f 6479 rresponding body │ │ │ │ │ -000101a0: 2070 6f6c 7967 6f6e 733b 2074 6865 2073 polygons; the s │ │ │ │ │ -000101b0: 7765 6570 206f 7074 696f 6e73 2061 7265 weep options are │ │ │ │ │ -000101c0: 0a63 6f70 6965 6420 746f 2074 6865 2065 .copied to the e │ │ │ │ │ -000101d0: 6e64 2070 6f6c 7967 6f6e 732e 2020 496e nd polygons. In │ │ │ │ │ -000101e0: 2074 6869 7320 6d61 6e6e 6572 2c20 626f this manner, bo │ │ │ │ │ -000101f0: 6479 2061 6e64 2065 6e64 7320 6d61 7920 dy and ends may │ │ │ │ │ -00010200: 6265 2064 7261 776e 0a77 6974 6820 6469 be drawn.with di │ │ │ │ │ -00010210: 6666 6572 656e 7420 6368 6172 6163 7465 fferent characte │ │ │ │ │ -00010220: 7269 7374 6963 7320 7375 6368 2061 7320 ristics such as │ │ │ │ │ -00010230: e280 9866 696c 6c63 6f6c 6f72 e280 992e ...fillcolor.... │ │ │ │ │ -00010240: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -00010250: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5377 .info, Node: Sw │ │ │ │ │ -00010260: 6570 7420 706f 6c79 676f 6e73 2c20 204e ept polygons, N │ │ │ │ │ -00010270: 6578 743a 2053 7765 7074 2062 6c6f 636b ext: Swept block │ │ │ │ │ -00010280: 732c 2020 5072 6576 3a20 5377 6570 7420 s, Prev: Swept │ │ │ │ │ -00010290: 6c69 6e65 732c 2020 5570 3a20 5377 6565 lines, Up: Swee │ │ │ │ │ -000102a0: 7073 0a0a 332e 322e 362e 3320 5377 6570 ps..3.2.6.3 Swep │ │ │ │ │ -000102b0: 7420 706f 6c79 676f 6e73 0a2e 2e2e 2e2e t polygons...... │ │ │ │ │ -000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -000102d0: 2e0a 0a49 6620 5357 4550 545f 4f42 4a45 ...If SWEPT_OBJE │ │ │ │ │ -000102e0: 4354 2069 7320 6120 706f 6c79 676f 6e2c CT is a polygon, │ │ │ │ │ -000102f0: 2074 6865 20e2 8098 7377 6565 70e2 8099 the ...sweep... │ │ │ │ │ -00010300: 2063 6f6e 6e65 6374 7320 4e2b 3120 7375 connects N+1 su │ │ │ │ │ -00010310: 6363 6573 7369 7665 2063 6f70 6965 730a ccessive copies. │ │ │ │ │ -00010320: 6f66 2074 6865 2063 6c6f 7365 6420 706f of the closed po │ │ │ │ │ -00010330: 6c79 6c69 6e65 2062 6f72 6465 7220 6f66 lyline border of │ │ │ │ │ -00010340: 2074 6865 2070 6f6c 7967 6f6e 2074 6f20 the polygon to │ │ │ │ │ -00010350: 666f 726d 2062 6f64 7920 706f 6c79 676f form body polygo │ │ │ │ │ -00010360: 6e73 0a65 7861 6374 6c79 2061 7320 7468 ns.exactly as th │ │ │ │ │ -00010370: 6f75 6768 2074 6865 2062 6f72 6465 7220 ough the border │ │ │ │ │ -00010380: 7765 7265 2061 2073 7765 7074 2070 6f6c were a swept pol │ │ │ │ │ -00010390: 796c 696e 6520 6173 2064 6573 6372 6962 yline as describ │ │ │ │ │ -000103a0: 6564 2069 6e20 2a6e 6f74 650a 5377 6570 ed in *note.Swep │ │ │ │ │ -000103b0: 7420 6c69 6e65 733a 3a2e 2020 4966 2074 t lines::. If t │ │ │ │ │ -000103c0: 6865 7265 2061 7265 206d 2070 6f69 6e74 here are m point │ │ │ │ │ -000103d0: 7320 696e 2074 6865 206f 7269 6769 6e61 s in the origina │ │ │ │ │ -000103e0: 6c20 706f 6c79 676f 6e2c 2074 6865 6e20 l polygon, then │ │ │ │ │ -000103f0: 6d4e 0a62 6f64 7920 706f 6c79 676f 6e73 mN.body polygons │ │ │ │ │ -00010400: 2061 7265 2066 6f72 6d65 6420 6279 2074 are formed by t │ │ │ │ │ -00010410: 6869 7320 7377 6565 702e 2020 5468 6520 his sweep. The │ │ │ │ │ -00010420: 626f 6479 2070 6f6c 7967 6f6e 7320 666f body polygons fo │ │ │ │ │ -00010430: 726d 2061 6e0a e280 9c65 7874 7275 7369 rm an....extrusi │ │ │ │ │ -00010440: 6f6e e280 9d20 6f66 2074 6865 2062 6f75 on... of the bou │ │ │ │ │ -00010450: 6e64 6172 7920 6f66 2074 6865 206f 7269 ndary of the ori │ │ │ │ │ -00010460: 6769 6e61 6c20 706f 6c79 676f 6e20 7769 ginal polygon wi │ │ │ │ │ -00010470: 7468 2074 776f 2068 6f6c 6573 2061 740a th two holes at. │ │ │ │ │ -00010480: 7468 6520 6f70 656e 2065 6e64 732e 0a0a the open ends... │ │ │ │ │ -00010490: 2020 2046 696e 616c 6c79 2c20 7468 6520 Finally, the │ │ │ │ │ -000104a0: 7377 6565 7020 6164 6473 2074 776f 2063 sweep adds two c │ │ │ │ │ -000104b0: 6f70 6965 7320 6f66 2074 6865 206f 7269 opies of the ori │ │ │ │ │ -000104c0: 6769 6e61 6c20 706f 6c79 676f 6e20 746f ginal polygon to │ │ │ │ │ -000104d0: 2063 6f76 6572 0a74 6865 2068 6f6c 6573 cover.the holes │ │ │ │ │ -000104e0: 2e20 2057 6520 6361 6c6c 2074 6865 7365 . We call these │ │ │ │ │ -000104f0: 2068 6f6c 652d 6669 6c6c 696e 6720 706f hole-filling po │ │ │ │ │ -00010500: 6c79 676f 6e73 20e2 809c 656e 6473 e280 lygons ...ends.. │ │ │ │ │ -00010510: 9d2e 2020 496e 2074 6869 7320 6d61 6e6e .. In this mann │ │ │ │ │ -00010520: 6572 2c0a e280 9873 7765 6570 e280 9920 er,....sweep... │ │ │ │ │ -00010530: 666f 726d 7320 7468 6520 626f 756e 6461 forms the bounda │ │ │ │ │ -00010540: 7279 206f 6620 6120 7468 7265 652d 6469 ry of a three-di │ │ │ │ │ -00010550: 6d65 6e73 696f 6e61 6c20 6f62 6a65 6374 mensional object │ │ │ │ │ -00010560: 2066 726f 6d20 610a 7477 6f2d 6469 6d65 from a.two-dime │ │ │ │ │ -00010570: 6e73 696f 6e61 6c20 706f 6c79 676f 6e2e nsional polygon. │ │ │ │ │ -00010580: 0a0a 2020 2054 6865 206f 7264 6572 206f .. The order o │ │ │ │ │ -00010590: 6620 7665 7274 6963 6573 206f 6620 656e f vertices of en │ │ │ │ │ -000105a0: 6420 706f 6c79 676f 6e73 2069 7320 696d d polygons is im │ │ │ │ │ -000105b0: 706f 7274 616e 7420 666f 7220 636f 7272 portant for corr │ │ │ │ │ -000105c0: 6563 740a 6375 6c6c 696e 6720 6173 2064 ect.culling as d │ │ │ │ │ -000105d0: 6573 6372 6962 6564 2061 626f 7665 2e20 escribed above. │ │ │ │ │ -000105e0: 2041 6e20 6578 6163 7420 636f 7079 206f An exact copy o │ │ │ │ │ -000105f0: 6620 7468 6520 6f72 6967 696e 616c 2070 f the original p │ │ │ │ │ -00010600: 6f6c 7967 6f6e 2077 6974 680a 7665 7274 olygon with.vert │ │ │ │ │ -00010610: 6578 206f 7264 6572 2069 6e74 6163 7420 ex order intact │ │ │ │ │ -00010620: 666f 726d 7320 7468 6520 6669 7273 7420 forms the first │ │ │ │ │ -00010630: 656e 6420 706f 6c79 676f 6e2e 2020 5468 end polygon. Th │ │ │ │ │ -00010640: 6520 6f74 6865 7220 656e 6420 706f 6c79 e other end poly │ │ │ │ │ -00010650: 676f 6e0a 7265 7375 6c74 7320 6672 6f6d gon.results from │ │ │ │ │ -00010660: 2074 7261 6e73 666f 726d 696e 6720 616e transforming an │ │ │ │ │ -00010670: 6420 7468 6520 7265 7665 7273 696e 6720 d the reversing │ │ │ │ │ -00010680: 7468 6520 6f72 6465 7220 6f66 2076 6572 the order of ver │ │ │ │ │ -00010690: 7469 6365 7320 696e 2074 6865 0a6f 7269 tices in the.ori │ │ │ │ │ -000106a0: 6769 6e61 6c2e 2020 5468 6520 7472 616e ginal. The tran │ │ │ │ │ -000106b0: 7366 6f72 6d20 706c 6163 6573 2074 6865 sform places the │ │ │ │ │ -000106c0: 206f 7269 6769 6e61 6c20 706f 6c79 676f original polygo │ │ │ │ │ -000106d0: 6e20 6174 2074 6865 2075 6e63 6f76 6572 n at the uncover │ │ │ │ │ -000106e0: 6564 0a68 6f6c 653b 2069 7420 6973 0a20 ed.hole; it is. │ │ │ │ │ -000106f0: 2020 2020 545f 315e 6e20 7468 656e 2054 T_1^n then T │ │ │ │ │ -00010700: 5f32 5e6e 2074 6865 6e20 2e2e 2e20 7468 _2^n then ... th │ │ │ │ │ -00010710: 656e 2054 5f52 5e6e 2e0a 4966 2074 6865 en T_R^n..If the │ │ │ │ │ -00010720: 7265 2061 7265 206e 6f20 6f70 7469 6f6e re are no option │ │ │ │ │ -00010730: 7320 6f6e 2074 6865 2073 7765 7074 2070 s on the swept p │ │ │ │ │ -00010740: 6f6c 7967 6f6e 2c20 7468 656e 2074 6865 olygon, then the │ │ │ │ │ -00010750: 20e2 8098 7377 6565 70e2 8099 206f 7074 ...sweep... opt │ │ │ │ │ -00010760: 696f 6e73 0a61 7265 2063 6f70 6965 6420 ions.are copied │ │ │ │ │ -00010770: 746f 2065 6163 6820 6f75 7470 7574 2070 to each output p │ │ │ │ │ -00010780: 6f6c 7967 6f6e 2e20 2049 6620 7468 6520 olygon. If the │ │ │ │ │ -00010790: 7377 6570 7420 706f 6c79 676f 6e20 646f swept polygon do │ │ │ │ │ -000107a0: 6573 2068 6176 650a 6f70 7469 6f6e 732c es have.options, │ │ │ │ │ -000107b0: 2074 6865 7365 2061 7265 2063 6f70 6965 these are copie │ │ │ │ │ -000107c0: 6420 746f 2074 6865 2065 6e64 733b 2074 d to the ends; t │ │ │ │ │ -000107d0: 6865 2073 7765 6570 206f 7074 696f 6e73 he sweep options │ │ │ │ │ -000107e0: 2061 7265 2063 6f70 6965 6420 746f 0a74 are copied to.t │ │ │ │ │ -000107f0: 6865 2062 6f64 7920 706f 6c79 676f 6e73 he body polygons │ │ │ │ │ -00010800: 2e20 2049 6e20 7468 6973 206d 616e 6e65 . In this manne │ │ │ │ │ -00010810: 722c 2062 6f64 7920 616e 6420 656e 6473 r, body and ends │ │ │ │ │ -00010820: 206d 6179 2062 6520 6472 6177 6e20 7769 may be drawn wi │ │ │ │ │ -00010830: 7468 0a64 6966 6665 7265 6e74 2063 6861 th.different cha │ │ │ │ │ -00010840: 7261 6374 6572 6973 7469 6373 2073 7563 racteristics suc │ │ │ │ │ -00010850: 6820 6173 20e2 8098 6669 6c6c 636f 6c6f h as ...fillcolo │ │ │ │ │ -00010860: 72e2 8099 2e0a 0a1f 0a46 696c 653a 2073 r........File: s │ │ │ │ │ -00010870: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -00010880: 653a 2053 7765 7074 2062 6c6f 636b 732c e: Swept blocks, │ │ │ │ │ -00010890: 2020 4e65 7874 3a20 5377 6565 7020 6661 Next: Sweep fa │ │ │ │ │ -000108a0: 6365 2073 706c 6974 7469 6e67 2c20 2050 ce splitting, P │ │ │ │ │ -000108b0: 7265 763a 2053 7765 7074 2070 6f6c 7967 rev: Swept polyg │ │ │ │ │ -000108c0: 6f6e 732c 2020 5570 3a20 5377 6565 7073 ons, Up: Sweeps │ │ │ │ │ -000108d0: 0a0a 332e 322e 362e 3420 5377 6570 7420 ..3.2.6.4 Swept │ │ │ │ │ -000108e0: 626c 6f63 6b73 0a2e 2e2e 2e2e 2e2e 2e2e blocks.......... │ │ │ │ │ -000108f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a54 6865 .............The │ │ │ │ │ -00010900: 2073 7765 7074 206f 626a 6563 7420 5357 swept object SW │ │ │ │ │ -00010910: 4550 545f 4f42 4a45 4354 206d 6179 2061 EPT_OBJECT may a │ │ │ │ │ -00010920: 6c73 6f20 6265 2061 6e79 2063 6f6c 6c65 lso be any colle │ │ │ │ │ -00010930: 6374 696f 6e20 6f66 2070 6f6c 796c 696e ction of polylin │ │ │ │ │ -00010940: 6573 0a61 6e64 2070 6f6c 7967 6f6e 732e es.and polygons. │ │ │ │ │ -00010950: 2020 5468 6973 206d 6179 2062 6520 6120 This may be a │ │ │ │ │ -00010960: 626c 6f63 6b20 636f 6d70 6f73 6564 206f block composed o │ │ │ │ │ -00010970: 6620 e280 986c 696e 65e2 8099 2061 6e64 f ...line... and │ │ │ │ │ -00010980: 2f6f 7220 e280 9870 6f6c 7967 6f6e e280 /or ...polygon.. │ │ │ │ │ -00010990: 990a 636f 6d6d 616e 6473 2069 6e20 6272 ..commands in br │ │ │ │ │ -000109a0: 6163 6573 20e2 8098 7b20 7de2 8099 2c20 aces ...{ }..., │ │ │ │ │ -000109b0: 6f72 2069 7420 6d61 7920 6265 2074 6865 or it may be the │ │ │ │ │ -000109c0: 2072 6573 756c 7420 6f66 2061 20e2 8098 result of a ... │ │ │ │ │ -000109d0: 7265 7065 6174 e280 992c 2061 6e6f 7468 repeat..., anoth │ │ │ │ │ -000109e0: 6572 0ae2 8098 7377 6565 70e2 8099 2c20 er....sweep..., │ │ │ │ │ -000109f0: 6574 632e 2020 5468 6520 7377 6565 7020 etc. The sweep │ │ │ │ │ -00010a00: 6163 7473 2069 6e64 6570 656e 6465 6e74 acts independent │ │ │ │ │ -00010a10: 6c79 206f 6e20 6561 6368 206f 626a 6563 ly on each objec │ │ │ │ │ -00010a20: 7420 696e 2074 6865 2062 6c6f 636b 0a65 t in the block.e │ │ │ │ │ -00010a30: 7861 6374 6c79 2061 7320 6966 2069 7420 xactly as if it │ │ │ │ │ -00010a40: 7765 7265 2061 2073 696e 676c 6520 7377 were a single sw │ │ │ │ │ -00010a50: 6570 7420 6f62 6a65 6374 2064 6573 6372 ept object descr │ │ │ │ │ -00010a60: 6962 6564 2061 626f 7665 2069 6e20 2a6e ibed above in *n │ │ │ │ │ -00010a70: 6f74 650a 5377 6570 7420 6c69 6e65 733a ote.Swept lines: │ │ │ │ │ -00010a80: 3a20 616e 6420 2a6e 6f74 6520 5377 6570 : and *note Swep │ │ │ │ │ -00010a90: 7420 706f 6c79 676f 6e73 3a3a 2e0a 0a1f t polygons::.... │ │ │ │ │ -00010aa0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -00010ab0: 666f 2c20 204e 6f64 653a 2053 7765 6570 fo, Node: Sweep │ │ │ │ │ -00010ac0: 2066 6163 6520 7370 6c69 7474 696e 672c face splitting, │ │ │ │ │ -00010ad0: 2020 5072 6576 3a20 5377 6570 7420 626c Prev: Swept bl │ │ │ │ │ -00010ae0: 6f63 6b73 2c20 2055 703a 2053 7765 6570 ocks, Up: Sweep │ │ │ │ │ -00010af0: 730a 0a33 2e32 2e36 2e35 2053 7765 6570 s..3.2.6.5 Sweep │ │ │ │ │ -00010b00: 2066 6163 6520 7370 6c69 7474 696e 670a face splitting. │ │ │ │ │ +0000dfc0: 2044 7261 7720 7377 6565 7073 206f 6620 Draw sweeps of │ │ │ │ │ +0000dfd0: 646f 7473 2061 6e64 2070 6f6c 796c 696e dots and polylin │ │ │ │ │ +0000dfe0: 6573 2e0a 2a20 426c 6f63 6b73 3a3a 2020 es..* Blocks:: │ │ │ │ │ +0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e000: 2020 2020 4772 6f75 7020 6f74 6865 7220 Group other │ │ │ │ │ +0000e010: 6472 6177 6162 6c65 732e 0a2a 2052 6570 drawables..* Rep │ │ │ │ │ +0000e020: 6561 7473 3a3a 2020 2020 2020 2020 2020 eats:: │ │ │ │ │ +0000e030: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +0000e040: 7472 616e 7366 6f72 6d65 6420 636f 7069 transformed copi │ │ │ │ │ +0000e050: 6573 206f 6620 6f62 6a65 6374 732e 0a2a es of objects..* │ │ │ │ │ +0000e060: 2050 7574 733a 3a20 2020 2020 2020 2020 Puts:: │ │ │ │ │ +0000e070: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ +0000e080: 7261 7720 6f6e 6520 6f62 6a65 6374 2074 raw one object t │ │ │ │ │ +0000e090: 7261 6e73 666f 726d 6564 2e0a 0a1f 0a46 ransformed.....F │ │ │ │ │ +0000e0a0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +0000e0b0: 2c20 204e 6f64 653a 2044 6f74 732c 2020 , Node: Dots, │ │ │ │ │ +0000e0c0: 4e65 7874 3a20 4c69 6e65 732c 2020 5072 Next: Lines, Pr │ │ │ │ │ +0000e0d0: 6576 3a20 4472 6177 6162 6c65 732c 2020 ev: Drawables, │ │ │ │ │ +0000e0e0: 5570 3a20 4472 6177 6162 6c65 730a 0a33 Up: Drawables..3 │ │ │ │ │ +0000e0f0: 2e32 2e31 2044 6f74 730a 2d2d 2d2d 2d2d .2.1 Dots.------ │ │ │ │ │ +0000e100: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*. │ │ │ │ │ +0000e110: 2020 2020 2064 6f74 735b 4f50 5449 4f4e dots[OPTION │ │ │ │ │ +0000e120: 535d 2050 4f49 4e54 5f4c 4953 540a 5468 S] POINT_LIST.Th │ │ │ │ │ +0000e130: 6973 2063 6f6d 6d61 6e64 2069 7320 7468 is command is th │ │ │ │ │ +0000e140: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio │ │ │ │ │ +0000e150: 6e61 6c20 6571 7569 7661 6c65 6e74 206f nal equivalent o │ │ │ │ │ +0000e160: 6620 7468 6520 e280 9850 5354 7269 636b f the ...PSTrick │ │ │ │ │ +0000e170: 73e2 8099 0a63 6f6d 6d61 6e64 20e2 8098 s....command ... │ │ │ │ │ +0000e180: 5c70 7364 6f74 73e2 8099 2e0a 0a1f 0a46 \psdots........F │ │ │ │ │ +0000e190: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +0000e1a0: 2c20 204e 6f64 653a 204c 696e 6573 2c20 , Node: Lines, │ │ │ │ │ +0000e1b0: 204e 6578 743a 2043 7572 7665 732c 2020 Next: Curves, │ │ │ │ │ +0000e1c0: 5072 6576 3a20 446f 7473 2c20 2055 703a Prev: Dots, Up: │ │ │ │ │ +0000e1d0: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2. │ │ │ │ │ +0000e1e0: 3220 4c69 6e65 730a 2d2d 2d2d 2d2d 2d2d 2 Lines.-------- │ │ │ │ │ +0000e1f0: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. │ │ │ │ │ +0000e200: 2020 2020 6c69 6e65 5b4f 5054 494f 4e53 line[OPTIONS │ │ │ │ │ +0000e210: 5d20 504f 494e 545f 4c49 5354 0a54 6869 ] POINT_LIST.Thi │ │ │ │ │ +0000e220: 7320 636f 6d6d 616e 6420 6973 2074 6865 s command is the │ │ │ │ │ +0000e230: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension │ │ │ │ │ +0000e240: 616c 2065 7175 6976 616c 656e 7420 6f66 al equivalent of │ │ │ │ │ +0000e250: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks │ │ │ │ │ +0000e260: e280 990a 636f 6d6d 616e 6420 e280 985c ....command ...\ │ │ │ │ │ +0000e270: 7073 6c69 6e65 e280 992e 0a0a 1f0a 4669 psline........Fi │ │ │ │ │ +0000e280: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +0000e290: 2020 4e6f 6465 3a20 4375 7276 6573 2c20 Node: Curves, │ │ │ │ │ +0000e2a0: 204e 6578 743a 2050 6f6c 7967 6f6e 732c Next: Polygons, │ │ │ │ │ +0000e2b0: 2020 5072 6576 3a20 4c69 6e65 732c 2020 Prev: Lines, │ │ │ │ │ +0000e2c0: 5570 3a20 4472 6177 6162 6c65 730a 0a33 Up: Drawables..3 │ │ │ │ │ +0000e2d0: 2e32 2e33 2043 7572 7665 730a 2d2d 2d2d .2.3 Curves.---- │ │ │ │ │ +0000e2e0: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta │ │ │ │ │ +0000e2f0: 783a 2a0a 2020 2020 2063 7572 7665 5b4f x:*. curve[O │ │ │ │ │ +0000e300: 5054 494f 4e53 5d20 504f 494e 545f 4c49 PTIONS] POINT_LI │ │ │ │ │ +0000e310: 5354 0a54 6869 7320 636f 6d6d 616e 6420 ST.This command │ │ │ │ │ +0000e320: 6973 2074 6865 2074 6872 6565 2d64 696d is the three-dim │ │ │ │ │ +0000e330: 656e 7369 6f6e 616c 2065 7175 6976 616c ensional equival │ │ │ │ │ +0000e340: 656e 7420 6f66 2074 6865 20e2 8098 5053 ent of the ...PS │ │ │ │ │ +0000e350: 5472 6963 6b73 e280 990a 636f 6d6d 616e Tricks....comman │ │ │ │ │ +0000e360: 6420 e280 985c 7073 6375 7276 65e2 8099 d ...\pscurve... │ │ │ │ │ +0000e370: 2e20 2049 7420 6973 206e 6f74 2069 6d70 . It is not imp │ │ │ │ │ +0000e380: 6c65 6d65 6e74 6564 2069 6e20 7468 6520 lemented in the │ │ │ │ │ +0000e390: 6375 7272 656e 7420 7665 7273 696f 6e20 current version │ │ │ │ │ +0000e3a0: 6f66 0ae2 8098 736b 6574 6368 e280 992e of....sketch.... │ │ │ │ │ +0000e3b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +0000e3c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po │ │ │ │ │ +0000e3d0: 6c79 676f 6e73 2c20 204e 6578 743a 2053 lygons, Next: S │ │ │ │ │ +0000e3e0: 7065 6369 616c 732c 2020 5072 6576 3a20 pecials, Prev: │ │ │ │ │ +0000e3f0: 4375 7276 6573 2c20 2055 703a 2044 7261 Curves, Up: Dra │ │ │ │ │ +0000e400: 7761 626c 6573 0a0a 332e 322e 3420 506f wables..3.2.4 Po │ │ │ │ │ +0000e410: 6c79 676f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d lygons.--------- │ │ │ │ │ +0000e420: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:* │ │ │ │ │ +0000e430: 0a20 2020 2020 706f 6c79 676f 6e5b 4f50 . polygon[OP │ │ │ │ │ +0000e440: 5449 4f4e 535d 2050 4f49 4e54 5f4c 4953 TIONS] POINT_LIS │ │ │ │ │ +0000e450: 540a 5468 6973 2063 6f6d 6d61 6e64 2069 T.This command i │ │ │ │ │ +0000e460: 7320 7468 6520 7468 7265 652d 6469 6d65 s the three-dime │ │ │ │ │ +0000e470: 6e73 696f 6e61 6c20 6571 7569 7661 6c65 nsional equivale │ │ │ │ │ +0000e480: 6e74 206f 6620 7468 6520 e280 9850 5354 nt of the ...PST │ │ │ │ │ +0000e490: 7269 636b 73e2 8099 0a63 6f6d 6d61 6e64 ricks....command │ │ │ │ │ +0000e4a0: 20e2 8098 5c70 7370 6f6c 7967 6f6e e280 ...\pspolygon.. │ │ │ │ │ +0000e4b0: 992e 2020 5468 6520 e280 9873 6b65 7463 .. The ...sketc │ │ │ │ │ +0000e4c0: 68e2 8099 2068 6964 6465 6e20 7375 7266 h... hidden surf │ │ │ │ │ +0000e4d0: 6163 6520 616c 676f 7269 7468 6d20 6173 ace algorithm as │ │ │ │ │ +0000e4e0: 7375 6d65 730a 7468 6174 2070 6f6c 7967 sumes.that polyg │ │ │ │ │ +0000e4f0: 6f6e 7320 6172 6520 636f 6e76 6578 2061 ons are convex a │ │ │ │ │ +0000e500: 6e64 2070 6c61 6e61 722e 2020 496e 2070 nd planar. In p │ │ │ │ │ +0000e510: 7261 6374 6963 652c 2064 7261 7769 6e67 ractice, drawing │ │ │ │ │ +0000e520: 7320 6d61 7920 7765 6c6c 0a74 7572 6e20 s may well.turn │ │ │ │ │ +0000e530: 6f75 7420 636f 7272 6563 746c 7920 6576 out correctly ev │ │ │ │ │ +0000e540: 656e 2069 6620 7468 6573 6520 6173 7375 en if these assu │ │ │ │ │ +0000e550: 6d70 7469 6f6e 7320 6172 6520 7669 6f6c mptions are viol │ │ │ │ │ +0000e560: 6174 6564 2e0a 0a1f 0a46 696c 653a 2073 ated.....File: s │ │ │ │ │ +0000e570: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +0000e580: 653a 2053 7065 6369 616c 732c 2020 4e65 e: Specials, Ne │ │ │ │ │ +0000e590: 7874 3a20 5377 6565 7073 2c20 2050 7265 xt: Sweeps, Pre │ │ │ │ │ +0000e5a0: 763a 2050 6f6c 7967 6f6e 732c 2020 5570 v: Polygons, Up │ │ │ │ │ +0000e5b0: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2 │ │ │ │ │ +0000e5c0: 2e35 2053 7065 6369 616c 730a 2d2d 2d2d .5 Specials.---- │ │ │ │ │ +0000e5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn │ │ │ │ │ +0000e5e0: 7461 783a 2a0a 2020 2020 2073 7065 6369 tax:*. speci │ │ │ │ │ +0000e5f0: 616c 2024 5241 575f 5445 5854 245b 4f50 al $RAW_TEXT$[OP │ │ │ │ │ +0000e600: 5449 4f4e 535d 2041 5247 5f4c 4953 540a TIONS] ARG_LIST. │ │ │ │ │ +0000e610: 4865 7265 20e2 8098 24e2 8099 2063 616e Here ...$... can │ │ │ │ │ +0000e620: 2062 6520 616e 7920 6368 6172 6163 7465 be any characte │ │ │ │ │ +0000e630: 7220 616e 6420 6973 2075 7365 6420 746f r and is used to │ │ │ │ │ +0000e640: 2064 656c 696d 6974 2074 6865 2073 7461 delimit the sta │ │ │ │ │ +0000e650: 7274 2061 6e64 2065 6e64 0a6f 6620 5241 rt and end.of RA │ │ │ │ │ +0000e660: 575f 5445 5854 2e20 2054 6865 2063 6f6d W_TEXT. The com │ │ │ │ │ +0000e670: 6d61 6e64 2065 6d62 6564 7320 5241 575f mand embeds RAW_ │ │ │ │ │ +0000e680: 5445 5854 2069 6e20 7468 6520 e280 9873 TEXT in the ...s │ │ │ │ │ +0000e690: 6b65 7463 68e2 8099 206f 7574 7075 7420 ketch... output │ │ │ │ │ +0000e6a0: 6166 7465 720a 7065 7266 6f72 6d69 6e67 after.performing │ │ │ │ │ +0000e6b0: 2073 7562 7374 6974 7574 696f 6e73 2061 substitutions a │ │ │ │ │ +0000e6c0: 7320 666f 6c6c 6f77 732e 0a20 2020 e280 s follows.. .. │ │ │ │ │ +0000e6d0: a220 e280 9823 49e2 8099 2077 6865 7265 . ...#I... where │ │ │ │ │ +0000e6e0: 2049 2069 7320 6120 706f 7369 7469 7665 I is a positive │ │ │ │ │ +0000e6f0: 2069 6e74 6567 6572 2069 7320 7265 706c integer is repl │ │ │ │ │ +0000e700: 6163 6564 2062 7920 7468 6520 4927 7468 aced by the I'th │ │ │ │ │ +0000e710: 2076 616c 7565 2069 6e0a 2020 2020 2041 value in. A │ │ │ │ │ +0000e720: 5247 5f4c 4953 542e 2020 506f 696e 7420 RG_LIST. Point │ │ │ │ │ +0000e730: 616e 6420 7665 6374 6f72 2061 7267 756d and vector argum │ │ │ │ │ +0000e740: 656e 7473 2062 6563 6f6d 6520 7477 6f2d ents become two- │ │ │ │ │ +0000e750: 6469 6d65 6e73 696f 6e61 6c0a 2020 2020 dimensional. │ │ │ │ │ +0000e760: 2070 6f69 6e74 732c 2077 6869 6368 2061 points, which a │ │ │ │ │ +0000e770: 7265 2074 6865 2074 7261 6e73 666f 726d re the transform │ │ │ │ │ +0000e780: 6564 2033 6420 6172 6775 6d65 6e74 7320 ed 3d arguments │ │ │ │ │ +0000e790: 7072 6f6a 6563 7465 6420 6f6e 746f 2074 projected onto t │ │ │ │ │ +0000e7a0: 6865 0a20 2020 2020 582d 5920 706c 616e he. X-Y plan │ │ │ │ │ +0000e7b0: 652e 2020 5468 6973 2061 6c6c 6f77 7320 e. This allows │ │ │ │ │ +0000e7c0: 7477 6f2d 6469 6d65 6e74 696f 6e61 6c20 two-dimentional │ │ │ │ │ +0000e7d0: 6f75 7470 7574 2065 6c65 6d65 6e74 7320 output elements │ │ │ │ │ +0000e7e0: 7375 6368 2061 730a 2020 2020 206c 6162 such as. lab │ │ │ │ │ +0000e7f0: 656c 7320 746f 2062 6520 6561 7369 6c79 els to be easily │ │ │ │ │ +0000e800: 2070 6f73 6974 696f 6e65 6420 7769 7468 positioned with │ │ │ │ │ +0000e810: 2072 6573 7065 6374 2074 6f20 7468 7265 respect to thre │ │ │ │ │ +0000e820: 652d 6469 6d65 6e73 696f 6e61 6c0a 2020 e-dimensional. │ │ │ │ │ +0000e830: 2020 2066 6561 7475 7265 7320 696e 2074 features in t │ │ │ │ │ +0000e840: 6865 2064 7261 7769 6e67 2e20 2053 6361 he drawing. Sca │ │ │ │ │ +0000e850: 6c61 7220 6172 6775 6d65 6e74 7320 6172 lar arguments ar │ │ │ │ │ +0000e860: 6520 7375 6273 6974 7574 6564 2064 6972 e subsituted dir │ │ │ │ │ +0000e870: 6563 746c 792e 0a20 2020 2020 4e6f 2074 ectly.. No t │ │ │ │ │ +0000e880: 7261 6e73 666f 726d 6174 696f 6e20 6973 ransformation is │ │ │ │ │ +0000e890: 2061 7070 6c69 6564 2e0a 2020 20e2 80a2 applied.. ... │ │ │ │ │ +0000e8a0: 20e2 8098 237b 497d e280 9920 6973 2061 ...#{I}... is a │ │ │ │ │ +0000e8b0: 6c73 6f20 7265 706c 6163 6564 2061 7320 lso replaced as │ │ │ │ │ +0000e8c0: 6162 6f76 652e 0a20 2020 e280 a220 e280 above.. ... .. │ │ │ │ │ +0000e8d0: 9823 4927 32e2 8099 2069 7320 7265 706c .#I'2... is repl │ │ │ │ │ +0000e8e0: 6163 6564 2061 7320 6162 6f76 6520 666f aced as above fo │ │ │ │ │ +0000e8f0: 7220 706f 696e 7473 206f 7220 7665 6374 r points or vect │ │ │ │ │ +0000e900: 6f72 732e 2020 4974 2069 7320 616e 2065 ors. It is an e │ │ │ │ │ +0000e910: 7272 6f72 0a20 2020 2020 666f 7220 7468 rror. for th │ │ │ │ │ +0000e920: 6520 4927 7468 2061 7267 756d 656e 7420 e I'th argument │ │ │ │ │ +0000e930: 746f 2062 6520 6120 7363 616c 6172 2e0a to be a scalar.. │ │ │ │ │ +0000e940: 2020 20e2 80a2 20e2 8098 2349 2778 e280 ... ...#I'x.. │ │ │ │ │ +0000e950: 992c 20e2 8098 2349 2779 e280 992c 206f ., ...#I'y..., o │ │ │ │ │ +0000e960: 7220 e280 9823 4927 7ae2 8099 2069 7320 r ...#I'z... is │ │ │ │ │ +0000e970: 7265 706c 6163 6564 2c20 7265 7370 6563 replaced, respec │ │ │ │ │ +0000e980: 7469 7665 6c79 2c20 6279 2074 6865 2073 tively, by the s │ │ │ │ │ +0000e990: 6361 6c61 720a 2020 2020 2058 2c20 592c calar. X, Y, │ │ │ │ │ +0000e9a0: 206f 7220 5a2d 636f 6f72 6469 6e61 7465 or Z-coordinate │ │ │ │ │ +0000e9b0: 206f 6620 7468 6520 6172 6775 6d65 6e74 of the argument │ │ │ │ │ +0000e9c0: 2070 6f69 6e74 206f 7220 7665 6374 6f72 point or vector │ │ │ │ │ +0000e9d0: 2e20 2049 7420 6973 2061 6e0a 2020 2020 . It is an. │ │ │ │ │ +0000e9e0: 2065 7272 6f72 2066 6f72 2074 6865 2049 error for the I │ │ │ │ │ +0000e9f0: 2774 6820 6172 6775 6d65 6e74 2074 6f20 'th argument to │ │ │ │ │ +0000ea00: 6265 2061 2073 6361 6c61 722e 0a20 2020 be a scalar.. │ │ │ │ │ +0000ea10: e280 a220 e280 9823 4927 33e2 8099 2069 ... ...#I'3... i │ │ │ │ │ +0000ea20: 7320 7265 706c 6163 6564 2062 7920 7468 s replaced by th │ │ │ │ │ +0000ea30: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio │ │ │ │ │ +0000ea40: 6e61 6c20 7472 616e 7366 6f72 6d65 6420 nal transformed │ │ │ │ │ +0000ea50: 6172 6775 6d65 6e74 2e0a 2020 2020 204e argument.. N │ │ │ │ │ +0000ea60: 6f74 6520 7468 6174 2069 6620 6120 7065 ote that if a pe │ │ │ │ │ +0000ea70: 7273 7065 6374 6976 6520 7472 616e 7366 rspective transf │ │ │ │ │ +0000ea80: 6f72 6d61 7469 6f6e 2068 6173 2062 6565 ormation has bee │ │ │ │ │ +0000ea90: 6e20 6170 706c 6965 642c 2074 6865 0a20 n applied, the. │ │ │ │ │ +0000eaa0: 2020 2020 5a2d 636f 6f72 6469 6e61 7465 Z-coordinate │ │ │ │ │ +0000eab0: 2068 6173 206c 6974 746c 6520 6765 6f6d has little geom │ │ │ │ │ +0000eac0: 6574 7269 6320 7369 676e 6966 6963 616e etric significan │ │ │ │ │ +0000ead0: 6365 2c20 7468 6f75 6768 2069 740a 2020 ce, though it. │ │ │ │ │ +0000eae0: 2020 2061 6363 7572 6174 656c 7920 696e accurately in │ │ │ │ │ +0000eaf0: 6469 6361 7465 7320 7265 6c61 7469 7665 dicates relative │ │ │ │ │ +0000eb00: 2064 6570 7468 2e0a 2020 20e2 80a2 20e2 depth.. ... . │ │ │ │ │ +0000eb10: 8098 2349 2d4a e280 9920 7768 6572 6520 ..#I-J... where │ │ │ │ │ +0000eb20: 4920 616e 6420 4a20 6172 6520 706f 7369 I and J are posi │ │ │ │ │ +0000eb30: 7469 7665 2069 6e74 6567 6572 7320 6973 tive integers is │ │ │ │ │ +0000eb40: 2072 6570 6c61 6365 6420 6279 2061 2073 replaced by a s │ │ │ │ │ +0000eb50: 7472 696e 670a 2020 2020 20e2 8098 7b41 tring. ...{A │ │ │ │ │ +0000eb60: 4e47 4c45 7de2 8099 2077 6865 7265 2041 NGLE}... where A │ │ │ │ │ +0000eb70: 4e47 4c45 2069 7320 7468 6520 706f 6c61 NGLE is the pola │ │ │ │ │ +0000eb80: 7220 616e 676c 6520 6f66 2061 2076 6563 r angle of a vec │ │ │ │ │ +0000eb90: 746f 7220 6672 6f6d 2074 6865 2049 2774 tor from the I't │ │ │ │ │ +0000eba0: 680a 2020 2020 2070 6f69 6e74 2069 6e20 h. point in │ │ │ │ │ +0000ebb0: 504f 494e 545f 4c49 5354 2074 6f20 7468 POINT_LIST to th │ │ │ │ │ +0000ebc0: 6520 4a27 7468 2070 6f69 6e74 2070 726f e J'th point pro │ │ │ │ │ +0000ebd0: 6a65 6374 6564 2069 6e74 6f20 7468 6520 jected into the │ │ │ │ │ +0000ebe0: 782d 7920 706c 616e 652e 0a20 2020 2020 x-y plane.. │ │ │ │ │ +0000ebf0: 4974 2069 7320 616e 2065 7272 6f72 2066 It is an error f │ │ │ │ │ +0000ec00: 6f72 2074 6865 2049 2774 6820 6f72 204a or the I'th or J │ │ │ │ │ +0000ec10: 2774 6820 6172 6775 6d65 6e74 2074 6f20 'th argument to │ │ │ │ │ +0000ec20: 6265 2061 2073 6361 6c61 7220 6f72 2061 be a scalar or a │ │ │ │ │ +0000ec30: 0a20 2020 2020 7665 6374 6f72 2e0a 2020 . vector.. │ │ │ │ │ +0000ec40: 20e2 80a2 20e2 8098 237b 492d 4a7d e280 ... ...#{I-J}.. │ │ │ │ │ +0000ec50: 9920 6973 2061 6c73 6f20 7265 706c 6163 . is also replac │ │ │ │ │ +0000ec60: 6564 2061 7320 6162 6f76 652e 0a20 2020 ed as above.. │ │ │ │ │ +0000ec70: e280 a220 e280 9823 23e2 8099 2069 7320 ... ...##... is │ │ │ │ │ +0000ec80: 7265 706c 6163 6564 2077 6974 6820 e280 replaced with .. │ │ │ │ │ +0000ec90: 9823 e280 992e 0a54 6865 2066 6f72 6d73 .#.....The forms │ │ │ │ │ +0000eca0: 2077 6974 6820 6272 6163 6573 20e2 8098 with braces ... │ │ │ │ │ +0000ecb0: 7b20 7de2 8099 2061 7265 2075 7365 6675 { }... are usefu │ │ │ │ │ +0000ecc0: 6c20 7768 656e 2074 6865 2061 7267 756d l when the argum │ │ │ │ │ +0000ecd0: 656e 7420 6973 2069 6d6d 6564 6961 7465 ent is immediate │ │ │ │ │ +0000ece0: 6c79 0a66 6f6c 6c6f 7765 6420 6279 2061 ly.followed by a │ │ │ │ │ +0000ecf0: 2064 6967 6974 206f 7220 6120 7469 636b digit or a tick │ │ │ │ │ +0000ed00: 2063 6861 7261 6374 6572 2074 6861 7420 character that │ │ │ │ │ +0000ed10: 6973 2070 6172 7420 6f66 2074 6865 2054 is part of the T │ │ │ │ │ +0000ed20: 6558 2063 6f64 652e 0a0a 2020 2054 6865 eX code... The │ │ │ │ │ +0000ed30: 206f 6e6c 7920 7573 6566 756c 206f 7074 only useful opt │ │ │ │ │ +0000ed40: 696f 6e20 6f66 20e2 8098 7370 6563 6961 ion of ...specia │ │ │ │ │ +0000ed50: 6ce2 8099 2069 7320 e280 986c 6179 e280 l... is ...lay.. │ │ │ │ │ +0000ed60: 992c 2077 6869 6368 2064 6574 6572 6d69 ., which determi │ │ │ │ │ +0000ed70: 6e65 7320 6966 2074 6865 0a73 7562 7374 nes if the.subst │ │ │ │ │ +0000ed80: 6974 7565 6420 7261 7720 7465 7874 2069 itued raw text i │ │ │ │ │ +0000ed90: 7320 656d 6974 7465 6420 6265 666f 7265 s emitted before │ │ │ │ │ +0000eda0: 2c20 6166 7465 722c 206f 7220 7573 696e , after, or usin │ │ │ │ │ +0000edb0: 6720 7468 6520 6669 7273 7420 706f 696e g the first poin │ │ │ │ │ +0000edc0: 740a 696e 2050 4f49 4e54 5f4c 4953 5420 t.in POINT_LIST │ │ │ │ │ +0000edd0: 6173 2061 6e20 696e 6469 6361 746f 7220 as an indicator │ │ │ │ │ +0000ede0: 6f66 2064 6570 7468 2e20 2054 6865 7365 of depth. These │ │ │ │ │ +0000edf0: 206f 6363 7572 2c20 7265 7370 6563 7469 occur, respecti │ │ │ │ │ +0000ee00: 7665 6c79 2c20 7769 7468 0ae2 8098 6c61 vely, with....la │ │ │ │ │ +0000ee10: 793d 756e 6465 72e2 8099 2c20 e280 986c y=under..., ...l │ │ │ │ │ +0000ee20: 6179 3d6f 7665 72e2 8099 2c20 616e 6420 ay=over..., and │ │ │ │ │ +0000ee30: e280 986c 6179 3d69 6ee2 8099 2e20 2053 ...lay=in.... S │ │ │ │ │ +0000ee40: 6565 202a 6e6f 7465 2053 7065 6369 616c ee *note Special │ │ │ │ │ +0000ee50: 206f 626a 6563 7473 3a3a 2061 6e64 0a2a objects:: and.* │ │ │ │ │ +0000ee60: 6e6f 7465 2054 696b 5a2f 5047 4620 7573 note TikZ/PGF us │ │ │ │ │ +0000ee70: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style │ │ │ │ │ +0000ee80: 733a 3a20 666f 7220 6578 616d 706c 6573 s:: for examples │ │ │ │ │ +0000ee90: 2e20 202a 4e6f 7465 2049 6e74 6572 6e61 . *Note Interna │ │ │ │ │ +0000eea0: 6c0a 6f70 7469 6f6e 733a 3a2e 0a0a 1f0a l.options::..... │ │ │ │ │ +0000eeb0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +0000eec0: 6f2c 2020 4e6f 6465 3a20 5377 6565 7073 o, Node: Sweeps │ │ │ │ │ +0000eed0: 2c20 204e 6578 743a 2042 6c6f 636b 732c , Next: Blocks, │ │ │ │ │ +0000eee0: 2020 5072 6576 3a20 5370 6563 6961 6c73 Prev: Specials │ │ │ │ │ +0000eef0: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables │ │ │ │ │ +0000ef00: 0a0a 332e 322e 3620 5377 6565 7073 0a2d ..3.2.6 Sweeps.- │ │ │ │ │ +0000ef10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy │ │ │ │ │ +0000ef20: 6e74 6178 3a2a 0a20 2020 2020 7377 6565 ntax:*. swee │ │ │ │ │ +0000ef30: 7020 7b20 4e2c 2054 5f31 2c20 545f 322c p { N, T_1, T_2, │ │ │ │ │ +0000ef40: 202e 2e2e 2c20 545f 5220 7d5b 4f50 5449 ..., T_R }[OPTI │ │ │ │ │ +0000ef50: 4f4e 535d 2053 5745 5054 5f4f 424a 4543 ONS] SWEPT_OBJEC │ │ │ │ │ +0000ef60: 540a 2020 2020 2073 7765 6570 207b 204e T. sweep { N │ │ │ │ │ +0000ef70: 3c3e 2c20 545f 312c 2054 5f32 2c20 2e2e <>, T_1, T_2, .. │ │ │ │ │ +0000ef80: 2e2c 2054 5f52 207d 5b4f 5054 494f 4e53 ., T_R }[OPTIONS │ │ │ │ │ +0000ef90: 5d20 5357 4550 545f 4f42 4a45 4354 0a54 ] SWEPT_OBJECT.T │ │ │ │ │ +0000efa0: 6865 2073 7765 6570 2063 6f6e 6e65 6374 he sweep connect │ │ │ │ │ +0000efb0: 7320 4e20 286f 7220 7065 7268 6170 7320 s N (or perhaps │ │ │ │ │ +0000efc0: 4e2b 3129 2063 6f70 6965 7320 6f66 2053 N+1) copies of S │ │ │ │ │ +0000efd0: 5745 5054 5f4f 424a 4543 5420 696e 206f WEPT_OBJECT in o │ │ │ │ │ +0000efe0: 7264 6572 2074 6f0a 6372 6561 7465 2061 rder to.create a │ │ │ │ │ +0000eff0: 206e 6577 206f 626a 6563 7420 6f66 2068 new object of h │ │ │ │ │ +0000f000: 6967 6865 7220 6469 6d65 6e73 696f 6e2e igher dimension. │ │ │ │ │ +0000f010: 2020 5468 6520 545f 4920 2866 6f72 2069 The T_I (for i │ │ │ │ │ +0000f020: 2062 6574 7765 656e 2031 2061 6e64 0a72 between 1 and.r │ │ │ │ │ +0000f030: 2920 6172 6520 7472 616e 7366 6f72 6d73 ) are transforms │ │ │ │ │ +0000f040: 2e20 2054 6865 206b 2774 6820 636f 7079 . The k'th copy │ │ │ │ │ +0000f050: 206f 6620 5357 4550 545f 4f42 4a45 4354 of SWEPT_OBJECT │ │ │ │ │ +0000f060: 2069 7320 7072 6f64 7563 6564 2062 790a is produced by. │ │ │ │ │ +0000f070: 6170 706c 7969 6e67 2074 6865 2066 6f6c applying the fol │ │ │ │ │ +0000f080: 6c6f 7769 6e67 2074 7261 6e73 666f 726d lowing transform │ │ │ │ │ +0000f090: 2074 6f20 7468 6520 6f72 6967 696e 616c to the original │ │ │ │ │ +0000f0a0: 2e0a 2020 2020 2054 5f31 5e6b 2074 6865 .. T_1^k the │ │ │ │ │ +0000f0b0: 6e20 545f 325e 6b20 7468 656e 202e 2e2e n T_2^k then ... │ │ │ │ │ +0000f0c0: 2074 6865 6e20 545f 525e 6b0a 4865 7265 then T_R^k.Here │ │ │ │ │ +0000f0d0: 2054 5e6b 206d 6561 6e73 2022 7472 616e T^k means "tran │ │ │ │ │ +0000f0e0: 7366 6f72 6d20 5420 6170 706c 6965 6420 sform T applied │ │ │ │ │ +0000f0f0: 6b20 7469 6d65 732e 2220 2054 6865 206f k times." The o │ │ │ │ │ +0000f100: 7269 6769 6e61 6c20 6f62 6a65 6374 2069 riginal object i │ │ │ │ │ +0000f110: 730a 7468 6520 7a65 726f 2774 6820 636f s.the zero'th co │ │ │ │ │ +0000f120: 7079 2c20 7769 7468 206b 3d30 2061 6e64 py, with k=0 and │ │ │ │ │ +0000f130: 2065 6666 6563 7469 7665 6c79 206e 6f20 effectively no │ │ │ │ │ +0000f140: 7472 616e 7366 6f72 6d20 6170 706c 6965 transform applie │ │ │ │ │ +0000f150: 6420 2854 5e30 3d49 2c0a 7468 6520 6964 d (T^0=I,.the id │ │ │ │ │ +0000f160: 656e 7469 7479 2074 7261 6e73 666f 726d entity transform │ │ │ │ │ +0000f170: 292e 0a0a 2020 2054 6865 206d 6574 686f )... The metho │ │ │ │ │ +0000f180: 6420 6f66 2063 6f6e 6e65 6374 696e 6720 d of connecting │ │ │ │ │ +0000f190: 7468 6520 636f 7069 6573 2064 6570 656e the copies depen │ │ │ │ │ +0000f1a0: 6473 206f 6e20 7468 6520 7479 7065 206f ds on the type o │ │ │ │ │ +0000f1b0: 660a 5357 4550 545f 4f42 4a45 4354 2061 f.SWEPT_OBJECT a │ │ │ │ │ +0000f1c0: 6e64 206f 6e20 7768 6574 6865 7220 7468 nd on whether th │ │ │ │ │ +0000f1d0: 6520 636c 6f73 7572 6520 7461 6720 e280 e closure tag .. │ │ │ │ │ +0000f1e0: 983c 3ee2 8099 2069 7320 7072 6573 656e .<>... is presen │ │ │ │ │ +0000f1f0: 7420 6f72 206e 6f74 2e0a 0a20 2020 416e t or not... An │ │ │ │ │ +0000f200: 2065 7861 6d70 6c65 206f 6620 6120 7377 example of a sw │ │ │ │ │ +0000f210: 6565 7020 7768 6572 6520 723d 3220 6973 eep where r=2 is │ │ │ │ │ +0000f220: 2074 6865 204d 6f62 6975 7320 6669 6775 the Mobius figu │ │ │ │ │ +0000f230: 7265 2061 7420 2a6e 6f74 6520 4d6f 7265 re at *note More │ │ │ │ │ +0000f240: 2074 6f0a 6c65 6172 6e3a 3a2e 0a0a 2a20 to.learn::...* │ │ │ │ │ +0000f250: 4d65 6e75 3a0a 0a2a 2053 7765 7074 2070 Menu:..* Swept p │ │ │ │ │ +0000f260: 6f69 6e74 733a 3a20 2020 2020 2020 2020 oints:: │ │ │ │ │ +0000f270: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi │ │ │ │ │ +0000f280: 6e74 7320 6d61 6b65 206c 696e 6573 206f nts make lines o │ │ │ │ │ +0000f290: 7220 706f 6c79 676f 6e73 2e0a 2a20 5377 r polygons..* Sw │ │ │ │ │ +0000f2a0: 6570 7420 6c69 6e65 733a 3a20 2020 2020 ept lines:: │ │ │ │ │ +0000f2b0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +0000f2c0: 7420 6c69 6e65 7320 6d61 6b65 206f 7065 t lines make ope │ │ │ │ │ +0000f2d0: 6e20 6f72 2063 6c6f 7365 6420 7375 7266 n or closed surf │ │ │ │ │ +0000f2e0: 6163 6573 2e0a 2a20 5377 6570 7420 706f aces..* Swept po │ │ │ │ │ +0000f2f0: 6c79 676f 6e73 3a3a 2020 2020 2020 2020 lygons:: │ │ │ │ │ +0000f300: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly │ │ │ │ │ +0000f310: 676f 6e73 206d 616b 6520 636c 6f73 6564 gons make closed │ │ │ │ │ +0000f320: 2073 7572 6661 6365 732e 0a2a 2053 7765 surfaces..* Swe │ │ │ │ │ +0000f330: 7074 2062 6c6f 636b 733a 3a20 2020 2020 pt blocks:: │ │ │ │ │ +0000f340: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +0000f350: 2062 6c6f 636b 20e2 89a1 2062 6c6f 636b block ... block │ │ │ │ │ +0000f360: 206f 6620 7377 6565 7073 2e0a 2a20 5377 of sweeps..* Sw │ │ │ │ │ +0000f370: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti │ │ │ │ │ +0000f380: 6e67 3a3a 2020 2020 2020 2020 4669 7869 ng:: Fixi │ │ │ │ │ +0000f390: 6e67 2077 6172 7065 6420 6661 6365 7320 ng warped faces │ │ │ │ │ +0000f3a0: 7769 7468 2074 7269 616e 676c 6573 2e0a with triangles.. │ │ │ │ │ +0000f3b0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +0000f3c0: 696e 666f 2c20 204e 6f64 653a 2053 7765 info, Node: Swe │ │ │ │ │ +0000f3d0: 7074 2070 6f69 6e74 732c 2020 4e65 7874 pt points, Next │ │ │ │ │ +0000f3e0: 3a20 5377 6570 7420 6c69 6e65 732c 2020 : Swept lines, │ │ │ │ │ +0000f3f0: 5072 6576 3a20 5377 6565 7073 2c20 2055 Prev: Sweeps, U │ │ │ │ │ +0000f400: 703a 2053 7765 6570 730a 0a33 2e32 2e36 p: Sweeps..3.2.6 │ │ │ │ │ +0000f410: 2e31 2053 7765 7074 2070 6f69 6e74 730a .1 Swept points. │ │ │ │ │ +0000f420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +0000f430: 2e2e 2e2e 0a0a 4966 2053 5745 5054 5f4f ......If SWEPT_O │ │ │ │ │ +0000f440: 424a 4543 5420 6973 2061 2070 6f69 6e74 BJECT is a point │ │ │ │ │ +0000f450: 206c 6973 7420 616e 6420 7468 6572 6520 list and there │ │ │ │ │ +0000f460: 6973 206e 6f20 636c 6f73 7572 6520 7461 is no closure ta │ │ │ │ │ +0000f470: 672c 2074 6865 6e0a e280 9873 7765 6570 g, then....sweep │ │ │ │ │ +0000f480: e280 9920 636f 6e6e 6563 7473 204e 2b31 ... connects N+1 │ │ │ │ │ +0000f490: 2073 7563 6365 7373 6976 6520 636f 7069 successive copi │ │ │ │ │ +0000f4a0: 6573 206f 6620 6561 6368 2070 6f69 6e74 es of each point │ │ │ │ │ +0000f4b0: 2028 696e 636c 7564 696e 6720 7468 650a (including the. │ │ │ │ │ +0000f4c0: 6f72 6967 696e 616c 2920 7769 7468 2073 original) with s │ │ │ │ │ +0000f4d0: 7472 6169 6768 7420 6c69 6e65 2073 6567 traight line seg │ │ │ │ │ +0000f4e0: 6d65 6e74 7320 746f 2066 6f72 6d20 6120 ments to form a │ │ │ │ │ +0000f4f0: 706f 6c79 6c69 6e65 2e20 2049 6620 7468 polyline. If th │ │ │ │ │ +0000f500: 6572 6520 6172 650a 6d20 706f 696e 7473 ere are.m points │ │ │ │ │ +0000f510: 2069 6e20 7468 6520 6f72 6967 696e 616c in the original │ │ │ │ │ +0000f520: 2070 6f69 6e74 206c 6973 742c 2074 6865 point list, the │ │ │ │ │ +0000f530: 6e20 6d20 706f 6c79 6c69 6e65 7320 7769 n m polylines wi │ │ │ │ │ +0000f540: 7468 204e 2073 6567 6d65 6e74 730a 6561 th N segments.ea │ │ │ │ │ +0000f550: 6368 2061 7265 2066 6f72 6d65 6420 6279 ch are formed by │ │ │ │ │ +0000f560: 2074 6865 2073 7765 6570 2e20 2049 6e20 the sweep. In │ │ │ │ │ +0000f570: 7468 6973 206d 616e 6e65 722c 20e2 8098 this manner, ... │ │ │ │ │ +0000f580: 7377 6565 70e2 8099 2066 6f72 6d73 2061 sweep... forms a │ │ │ │ │ +0000f590: 2073 6574 206f 660a 6f6e 652d 6469 6d65 set of.one-dime │ │ │ │ │ +0000f5a0: 6e73 696f 6e61 6c20 6f62 6a65 6374 7320 nsional objects │ │ │ │ │ +0000f5b0: 2870 6f6c 796c 696e 6573 2920 6672 6f6d (polylines) from │ │ │ │ │ +0000f5c0: 207a 6572 6f2d 6469 6d65 6e73 696f 6e61 zero-dimensiona │ │ │ │ │ +0000f5d0: 6c20 6f6e 6573 2028 706f 696e 7473 292e l ones (points). │ │ │ │ │ +0000f5e0: 0a0a 2020 2057 6865 6e20 7468 6572 6520 .. When there │ │ │ │ │ +0000f5f0: 5f69 735f 2061 2063 6c6f 7375 7265 2074 _is_ a closure t │ │ │ │ │ +0000f600: 6167 2c20 e280 9873 7765 6570 e280 9920 ag, ...sweep... │ │ │ │ │ +0000f610: 636f 6e6e 6563 7473 204e 2073 7563 6365 connects N succe │ │ │ │ │ +0000f620: 7373 6976 6520 636f 7069 6573 0a6f 6620 ssive copies.of │ │ │ │ │ +0000f630: 6561 6368 2070 6f69 6e74 2028 696e 636c each point (incl │ │ │ │ │ +0000f640: 7564 696e 6720 7468 6520 6f72 6967 696e uding the origin │ │ │ │ │ +0000f650: 616c 2920 7769 7468 2073 7472 6169 6768 al) with straigh │ │ │ │ │ +0000f660: 7420 6c69 6e65 2073 6567 6d65 6e74 7320 t line segments │ │ │ │ │ +0000f670: 616e 640a 6669 6e61 6c6c 7920 636f 6e6e and.finally conn │ │ │ │ │ +0000f680: 6563 7473 2074 6865 206c 6173 7420 636f ects the last co │ │ │ │ │ +0000f690: 7079 2062 6163 6b20 746f 2074 6865 206f py back to the o │ │ │ │ │ +0000f6a0: 7269 6769 6e61 6c20 746f 2066 6f72 6d20 riginal to form │ │ │ │ │ +0000f6b0: 6120 706f 6c79 676f 6e0a 7769 7468 204e a polygon.with N │ │ │ │ │ +0000f6c0: 2073 6964 6573 2e20 2049 6620 7468 6572 sides. If ther │ │ │ │ │ +0000f6d0: 6520 6172 6520 6d20 706f 696e 7473 2069 e are m points i │ │ │ │ │ +0000f6e0: 6e20 7468 6520 6f72 6967 696e 616c 2070 n the original p │ │ │ │ │ +0000f6f0: 6f69 6e74 206c 6973 742c 2074 6865 6e20 oint list, then │ │ │ │ │ +0000f700: 6d0a 706f 6c79 676f 6e73 2077 6974 6820 m.polygons with │ │ │ │ │ +0000f710: 4e20 7369 6465 7320 6561 6368 2061 7265 N sides each are │ │ │ │ │ +0000f720: 2066 6f72 6d65 6420 6279 2074 6865 2073 formed by the s │ │ │ │ │ +0000f730: 7765 6570 2e20 2049 6e20 7468 6973 206d weep. In this m │ │ │ │ │ +0000f740: 616e 6e65 722c 0ae2 8098 7377 6565 70e2 anner,....sweep. │ │ │ │ │ +0000f750: 8099 2066 6f72 6d73 2061 2073 6574 206f .. forms a set o │ │ │ │ │ +0000f760: 6620 7477 6f2d 6469 6d65 6e73 696f 6e61 f two-dimensiona │ │ │ │ │ +0000f770: 6c20 6f62 6a65 6374 7320 2870 6f6c 7967 l objects (polyg │ │ │ │ │ +0000f780: 6f6e 7329 2066 726f 6d0a 7a65 726f 2d64 ons) from.zero-d │ │ │ │ │ +0000f790: 696d 656e 7369 6f6e 616c 206f 6e65 7320 imensional ones │ │ │ │ │ +0000f7a0: 2870 6f69 6e74 7329 2e0a 0a20 2020 4f70 (points)... Op │ │ │ │ │ +0000f7b0: 7469 6f6e 7320 6f66 2074 6865 20e2 8098 tions of the ... │ │ │ │ │ +0000f7c0: 7377 6565 70e2 8099 2061 7265 2063 6f70 sweep... are cop │ │ │ │ │ +0000f7d0: 6965 6420 6469 7265 6374 6c79 2074 6f20 ied directly to │ │ │ │ │ +0000f7e0: 7468 6520 7265 7375 6c74 696e 670a 706f the resulting.po │ │ │ │ │ +0000f7f0: 6c79 6c69 6e65 2873 292e 0a0a 1f0a 4669 lyline(s).....Fi │ │ │ │ │ +0000f800: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +0000f810: 2020 4e6f 6465 3a20 5377 6570 7420 6c69 Node: Swept li │ │ │ │ │ +0000f820: 6e65 732c 2020 4e65 7874 3a20 5377 6570 nes, Next: Swep │ │ │ │ │ +0000f830: 7420 706f 6c79 676f 6e73 2c20 2050 7265 t polygons, Pre │ │ │ │ │ +0000f840: 763a 2053 7765 7074 2070 6f69 6e74 732c v: Swept points, │ │ │ │ │ +0000f850: 2020 5570 3a20 5377 6565 7073 0a0a 332e Up: Sweeps..3. │ │ │ │ │ +0000f860: 322e 362e 3220 5377 6570 7420 6c69 6e65 2.6.2 Swept line │ │ │ │ │ +0000f870: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s............... │ │ │ │ │ +0000f880: 2e2e 2e2e 2e0a 0a49 6620 5357 4550 545f .......If SWEPT_ │ │ │ │ │ +0000f890: 4f42 4a45 4354 2069 7320 6120 706f 6c79 OBJECT is a poly │ │ │ │ │ +0000f8a0: 6c69 6e65 2061 6e64 2074 6865 7265 2069 line and there i │ │ │ │ │ +0000f8b0: 7320 6e6f 2063 6c6f 7375 7265 2074 6167 s no closure tag │ │ │ │ │ +0000f8c0: 2c20 7468 656e 20e2 8098 7377 6565 70e2 , then ...sweep. │ │ │ │ │ +0000f8d0: 8099 0a63 6f6e 6e65 6374 7320 4e2b 3120 ...connects N+1 │ │ │ │ │ +0000f8e0: 7375 6363 6573 7369 7665 2063 6f70 6965 successive copie │ │ │ │ │ +0000f8f0: 7320 6f66 2074 6865 2070 6f6c 796c 696e s of the polylin │ │ │ │ │ +0000f900: 6520 2869 6e63 6c75 6469 6e67 2074 6865 e (including the │ │ │ │ │ +0000f910: 206f 7269 6769 6e61 6c29 0a77 6974 6820 original).with │ │ │ │ │ +0000f920: 666f 7572 2d73 6964 6564 2070 6f6c 7967 four-sided polyg │ │ │ │ │ +0000f930: 6f6e 732c 2065 6163 6820 7061 6972 206f ons, each pair o │ │ │ │ │ +0000f940: 6620 636f 7069 6573 2067 6976 696e 6720 f copies giving │ │ │ │ │ +0000f950: 7269 7365 2074 6f20 6120 2270 6f6c 7967 rise to a "polyg │ │ │ │ │ +0000f960: 6f6e 0a73 7472 6970 2e22 2020 4966 2074 on.strip." If t │ │ │ │ │ +0000f970: 6865 7265 2061 7265 206d 2070 6f69 6e74 here are m point │ │ │ │ │ +0000f980: 7320 696e 2074 6865 206f 7269 6769 6e61 s in the origina │ │ │ │ │ +0000f990: 6c20 706f 6c79 6c69 6e65 2c20 7468 656e l polyline, then │ │ │ │ │ +0000f9a0: 2028 6d2d 3129 4e0a 706f 6c79 676f 6e73 (m-1)N.polygons │ │ │ │ │ +0000f9b0: 2061 7265 2066 6f72 6d65 6420 6279 2074 are formed by t │ │ │ │ │ +0000f9c0: 6865 2073 7765 6570 2e20 2057 6520 6361 he sweep. We ca │ │ │ │ │ +0000f9d0: 6c6c 2074 6865 7365 20e2 809c 626f 6479 ll these ...body │ │ │ │ │ +0000f9e0: 2070 6f6c 7967 6f6e 73e2 809d 2e20 2049 polygons.... I │ │ │ │ │ +0000f9f0: 6e0a 7468 6973 206d 616e 6e65 722c 20e2 n.this manner, . │ │ │ │ │ +0000fa00: 8098 7377 6565 70e2 8099 2066 6f72 6d73 ..sweep... forms │ │ │ │ │ +0000fa10: 2061 2074 776f 2d64 696d 656e 7369 6f6e a two-dimension │ │ │ │ │ +0000fa20: 616c 2073 7572 6661 6365 2066 726f 6d20 al surface from │ │ │ │ │ +0000fa30: 6672 6f6d 2061 0a6f 6e65 2d64 696d 656e from a.one-dimen │ │ │ │ │ +0000fa40: 7369 6f6e 616c 2070 6f6c 796c 696e 652e sional polyline. │ │ │ │ │ +0000fa50: 0a0a 2020 2054 6865 206f 7264 6572 206f .. The order o │ │ │ │ │ +0000fa60: 6620 7665 7274 6963 6573 2070 726f 6475 f vertices produ │ │ │ │ │ +0000fa70: 6365 6420 6279 20e2 8098 7377 6565 70e2 ced by ...sweep. │ │ │ │ │ +0000fa80: 8099 2069 7320 696d 706f 7274 616e 742e .. is important. │ │ │ │ │ +0000fa90: 2020 4966 2061 0a70 6f6c 7967 6f6e 2773 If a.polygon's │ │ │ │ │ +0000faa0: 2076 6572 7469 6365 7320 646f 206e 6f74 vertices do not │ │ │ │ │ +0000fab0: 2061 7070 6561 7220 696e 2063 6f75 6e74 appear in count │ │ │ │ │ +0000fac0: 6572 2d63 6c6f 636b 7769 7365 206f 7264 er-clockwise ord │ │ │ │ │ +0000fad0: 6572 2069 6e20 7468 6520 6669 6e61 6c0a er in the final. │ │ │ │ │ +0000fae0: 696d 6167 652c 2074 6865 2070 6f6c 7967 image, the polyg │ │ │ │ │ +0000faf0: 6f6e 2077 696c 6c20 6265 2063 756c 6c65 on will be culle │ │ │ │ │ +0000fb00: 6420 2875 6e6c 6573 7320 e280 9863 756c d (unless ...cul │ │ │ │ │ +0000fb10: 6c3d 6661 6c73 65e2 8099 2069 7320 7365 l=false... is se │ │ │ │ │ +0000fb20: 7429 2e20 2049 6620 7468 650a 706f 696e t). If the.poin │ │ │ │ │ +0000fb30: 7473 2069 6e20 7468 6520 6b27 7468 2063 ts in the k'th c │ │ │ │ │ +0000fb40: 6f70 7920 6f66 2074 6865 2070 6f6c 796c opy of the polyl │ │ │ │ │ +0000fb50: 696e 6520 6172 6520 505f 312c 2050 5f32 ine are P_1, P_2 │ │ │ │ │ +0000fb60: 2c20 2e2e 2e2c 2050 5f6d 2c20 616e 6420 , ..., P_m, and │ │ │ │ │ +0000fb70: 7468 650a 706f 696e 7473 2069 6e20 7468 the.points in th │ │ │ │ │ +0000fb80: 6520 6e65 7874 2063 6f70 792c 2074 6865 e next copy, the │ │ │ │ │ +0000fb90: 2028 6b2b 3129 7374 2c20 6172 6520 505f (k+1)st, are P_ │ │ │ │ │ +0000fba0: 3127 2c20 505f 3227 2c20 2e2e 2e2c 2050 1', P_2', ..., P │ │ │ │ │ +0000fbb0: 5f6d 272c 2074 6865 6e0a 7468 6520 7665 _m', then.the ve │ │ │ │ │ +0000fbc0: 7274 6578 206f 7264 6572 206f 6620 7468 rtex order of th │ │ │ │ │ +0000fbd0: 6520 6765 6e65 7261 7465 6420 706f 6c79 e generated poly │ │ │ │ │ +0000fbe0: 676f 6e73 2069 730a 2020 2020 2042 6f64 gons is. Bod │ │ │ │ │ +0000fbf0: 7920 706f 6c79 676f 6e20 313a 2050 5f32 y polygon 1: P_2 │ │ │ │ │ +0000fc00: 2050 5f31 2050 5f31 2720 505f 3227 0a20 P_1 P_1' P_2'. │ │ │ │ │ +0000fc10: 2020 2020 426f 6479 2070 6f6c 7967 6f6e Body polygon │ │ │ │ │ +0000fc20: 2032 3a20 505f 3320 505f 3220 505f 3227 2: P_3 P_2 P_2' │ │ │ │ │ +0000fc30: 2050 5f33 270a 2020 2020 202e 2e2e 0a20 P_3'. .... │ │ │ │ │ +0000fc40: 2020 2020 426f 6479 2070 6f6c 7967 6f6e Body polygon │ │ │ │ │ +0000fc50: 206d 2d31 3a20 505f 6d20 505f 7b6d 2d31 m-1: P_m P_{m-1 │ │ │ │ │ +0000fc60: 7d20 505f 7b6d 2d31 7d27 2050 5f6d 270a } P_{m-1}' P_m'. │ │ │ │ │ +0000fc70: 0a20 2020 4f70 7469 6f6e 7320 6f66 2075 . Options of u │ │ │ │ │ +0000fc80: 6e63 6c6f 7365 6420 6c69 6e65 2073 7765 nclosed line swe │ │ │ │ │ +0000fc90: 6570 7320 6172 6520 636f 7069 6564 2074 eps are copied t │ │ │ │ │ +0000fca0: 6f20 6561 6368 206f 7574 7075 7420 706f o each output po │ │ │ │ │ +0000fcb0: 6c79 676f 6e2e 0a4f 7074 696f 6e73 206f lygon..Options o │ │ │ │ │ +0000fcc0: 6620 7468 6520 7377 6570 7420 6c69 6e65 f the swept line │ │ │ │ │ +0000fcd0: 2061 7265 2069 676e 6f72 6564 2e0a 0a20 are ignored... │ │ │ │ │ +0000fce0: 2020 5768 656e 2074 6865 7265 205f 6973 When there _is │ │ │ │ │ +0000fcf0: 5f20 6120 636c 6f73 7572 6520 7461 672c _ a closure tag, │ │ │ │ │ +0000fd00: 2074 6865 6e20 e280 9873 7765 6570 e280 then ...sweep.. │ │ │ │ │ +0000fd10: 9920 636f 6e6e 6563 7473 204e 2073 7563 . connects N suc │ │ │ │ │ +0000fd20: 6365 7373 6976 650a 636f 7069 6573 206f cessive.copies o │ │ │ │ │ +0000fd30: 6620 7468 6520 706f 6c79 6c69 6e65 2028 f the polyline ( │ │ │ │ │ +0000fd40: 696e 636c 7564 696e 6720 7468 6520 6f72 including the or │ │ │ │ │ +0000fd50: 6967 696e 616c 2920 7769 7468 2066 6f75 iginal) with fou │ │ │ │ │ +0000fd60: 722d 7369 6465 6420 626f 6479 0a70 6f6c r-sided body.pol │ │ │ │ │ +0000fd70: 7967 6f6e 7320 6a75 7374 2061 7320 7468 ygons just as th │ │ │ │ │ +0000fd80: 6520 6361 7365 2077 6974 6820 6e6f 2063 e case with no c │ │ │ │ │ +0000fd90: 6c6f 7375 7265 2074 6167 2e20 2049 7420 losure tag. It │ │ │ │ │ +0000fda0: 7468 656e 2063 6f6e 6e65 6374 7320 7468 then connects th │ │ │ │ │ +0000fdb0: 650a 6c61 7374 2063 6f70 7920 6261 636b e.last copy back │ │ │ │ │ +0000fdc0: 2074 6f20 7468 6520 6f72 6967 696e 616c to the original │ │ │ │ │ +0000fdd0: 2074 6f20 666f 726d 2061 2072 6962 626f to form a ribbo │ │ │ │ │ +0000fde0: 6e2d 7368 6170 6564 2073 7572 6661 6365 n-shaped surface │ │ │ │ │ +0000fdf0: 2074 6861 740a 636c 6f73 6573 206f 6e20 that.closes on │ │ │ │ │ +0000fe00: 6974 7365 6c66 2077 6974 6820 7477 6f20 itself with two │ │ │ │ │ +0000fe10: 686f 6c65 7320 7265 6d61 696e 696e 672e holes remaining. │ │ │ │ │ +0000fe20: 0a0a 2020 2046 696e 616c 6c79 2c20 7468 .. Finally, th │ │ │ │ │ +0000fe30: 6520 7377 6565 7020 6164 6473 2074 776f e sweep adds two │ │ │ │ │ +0000fe40: 206d 6f72 6520 706f 6c79 676f 6e73 2074 more polygons t │ │ │ │ │ +0000fe50: 6f20 7365 616c 2074 6865 2068 6f6c 6573 o seal the holes │ │ │ │ │ +0000fe60: 2061 6e64 2066 6f72 6d0a 6120 636c 6f73 and form.a clos │ │ │ │ │ +0000fe70: 6564 2073 7572 6661 6365 2074 6861 742c ed surface that, │ │ │ │ │ +0000fe80: 2064 6570 656e 6469 6e67 206f 6e20 7468 depending on th │ │ │ │ │ +0000fe90: 6520 7377 6565 7020 7472 616e 7366 6f72 e sweep transfor │ │ │ │ │ +0000fea0: 6d73 2c20 6d61 7920 7265 7072 6573 656e ms, may represen │ │ │ │ │ +0000feb0: 740a 7468 6520 626f 756e 6461 7279 206f t.the boundary o │ │ │ │ │ +0000fec0: 6620 6120 736f 6c69 642e 2020 496e 2074 f a solid. In t │ │ │ │ │ +0000fed0: 6869 7320 6d61 6e6e 6572 2c20 e280 9873 his manner, ...s │ │ │ │ │ +0000fee0: 7765 6570 e280 9920 666f 726d 7320 7468 weep... forms th │ │ │ │ │ +0000fef0: 6520 626f 756e 6461 7279 206f 660a 6120 e boundary of.a │ │ │ │ │ +0000ff00: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona │ │ │ │ │ +0000ff10: 6c20 6f62 6a65 6374 2066 726f 6d20 6120 l object from a │ │ │ │ │ +0000ff20: 6f6e 652d 6469 6d65 6e73 696f 6e61 6c20 one-dimensional │ │ │ │ │ +0000ff30: 706f 6c79 6c69 6e65 2e20 2057 6520 6361 polyline. We ca │ │ │ │ │ +0000ff40: 6c6c 0a74 6865 7365 2068 6f6c 652d 6669 ll.these hole-fi │ │ │ │ │ +0000ff50: 6c6c 696e 6720 706f 6c79 676f 6e73 20e2 lling polygons . │ │ │ │ │ +0000ff60: 809c 656e 6473 e280 9d2e 0a0a 2020 2054 ..ends...... T │ │ │ │ │ +0000ff70: 6865 206f 7264 6572 206f 6620 7665 7274 he order of vert │ │ │ │ │ +0000ff80: 6963 6573 206f 6620 656e 6420 706f 6c79 ices of end poly │ │ │ │ │ +0000ff90: 676f 6e73 2069 7320 696d 706f 7274 616e gons is importan │ │ │ │ │ +0000ffa0: 7420 666f 7220 636f 7272 6563 740a 6375 t for correct.cu │ │ │ │ │ +0000ffb0: 6c6c 696e 6720 6173 2064 6573 6372 6962 lling as describ │ │ │ │ │ +0000ffc0: 6564 2061 626f 7665 2e20 2049 6620 505f ed above. If P_ │ │ │ │ │ +0000ffd0: 315e 312c 2050 5f31 5e32 2c20 2e2e 2e2c 1^1, P_1^2, ..., │ │ │ │ │ +0000ffe0: 2050 5f31 5e6e 2061 7265 2074 6865 204e P_1^n are the N │ │ │ │ │ +0000fff0: 0a63 6f70 6965 7320 6f66 2074 6865 2066 .copies of the f │ │ │ │ │ +00010000: 6972 7374 2070 6f6c 796c 696e 6520 706f irst polyline po │ │ │ │ │ +00010010: 696e 7420 616e 6420 505f 6d5e 312c 2050 int and P_m^1, P │ │ │ │ │ +00010020: 5f6d 5e32 2c20 2e2e 2e20 2c50 5f6d 5e6e _m^2, ... ,P_m^n │ │ │ │ │ +00010030: 2061 7265 2074 6865 0a4e 2063 6f70 6965 are the.N copie │ │ │ │ │ +00010040: 7320 6f66 2074 6865 206c 6173 7420 706f s of the last po │ │ │ │ │ +00010050: 6c79 6c69 6e65 2070 6f69 6e74 2c20 7468 lyline point, th │ │ │ │ │ +00010060: 656e 2074 6865 2065 6e64 2070 6f6c 7967 en the end polyg │ │ │ │ │ +00010070: 6f6e 2076 6572 7465 7820 6f72 6465 720a on vertex order. │ │ │ │ │ +00010080: 6973 0a20 2020 2020 456e 6420 706f 6c79 is. End poly │ │ │ │ │ +00010090: 676f 6e20 313a 2050 5f31 5e6e 2c20 505f gon 1: P_1^n, P_ │ │ │ │ │ +000100a0: 315e 7b6e 2d31 7d2c 202e 2e2e 202c 505f 1^{n-1}, ... ,P_ │ │ │ │ │ +000100b0: 315e 310a 2020 2020 2045 6e64 2070 6f6c 1^1. End pol │ │ │ │ │ +000100c0: 7967 6f6e 2032 3a20 505f 6d5e 312c 2050 ygon 2: P_m^1, P │ │ │ │ │ +000100d0: 5f6d 5e32 2c20 2e2e 2e20 2c50 5f6d 5e6e _m^2, ... ,P_m^n │ │ │ │ │ +000100e0: 0a0a 2020 2049 6620 7468 6572 6520 6172 .. If there ar │ │ │ │ │ +000100f0: 6520 6e6f 206f 7074 696f 6e73 206f 6e20 e no options on │ │ │ │ │ +00010100: 7468 6520 7377 6570 7420 6c69 6e65 2c20 the swept line, │ │ │ │ │ +00010110: 7468 656e 2074 6865 20e2 8098 7377 6565 then the ...swee │ │ │ │ │ +00010120: 70e2 8099 206f 7074 696f 6e73 0a61 7265 p... options.are │ │ │ │ │ +00010130: 2063 6f70 6965 6420 746f 2065 6163 6820 copied to each │ │ │ │ │ +00010140: 6f75 7470 7574 2070 6f6c 7967 6f6e 2e20 output polygon. │ │ │ │ │ +00010150: 2049 6620 7468 6520 7377 6570 7420 6c69 If the swept li │ │ │ │ │ +00010160: 6e65 2064 6f65 7320 6861 7665 206f 7074 ne does have opt │ │ │ │ │ +00010170: 696f 6e73 2c0a 7468 6573 6520 6172 6520 ions,.these are │ │ │ │ │ +00010180: 636f 7069 6564 2074 6f20 636f 7272 6573 copied to corres │ │ │ │ │ +00010190: 706f 6e64 696e 6720 626f 6479 2070 6f6c ponding body pol │ │ │ │ │ +000101a0: 7967 6f6e 733b 2074 6865 2073 7765 6570 ygons; the sweep │ │ │ │ │ +000101b0: 206f 7074 696f 6e73 2061 7265 0a63 6f70 options are.cop │ │ │ │ │ +000101c0: 6965 6420 746f 2074 6865 2065 6e64 2070 ied to the end p │ │ │ │ │ +000101d0: 6f6c 7967 6f6e 732e 2020 496e 2074 6869 olygons. In thi │ │ │ │ │ +000101e0: 7320 6d61 6e6e 6572 2c20 626f 6479 2061 s manner, body a │ │ │ │ │ +000101f0: 6e64 2065 6e64 7320 6d61 7920 6265 2064 nd ends may be d │ │ │ │ │ +00010200: 7261 776e 0a77 6974 6820 6469 6666 6572 rawn.with differ │ │ │ │ │ +00010210: 656e 7420 6368 6172 6163 7465 7269 7374 ent characterist │ │ │ │ │ +00010220: 6963 7320 7375 6368 2061 7320 e280 9866 ics such as ...f │ │ │ │ │ +00010230: 696c 6c63 6f6c 6f72 e280 992e 0a0a 1f0a illcolor........ │ │ │ │ │ +00010240: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00010250: 6f2c 2020 4e6f 6465 3a20 5377 6570 7420 o, Node: Swept │ │ │ │ │ +00010260: 706f 6c79 676f 6e73 2c20 204e 6578 743a polygons, Next: │ │ │ │ │ +00010270: 2053 7765 7074 2062 6c6f 636b 732c 2020 Swept blocks, │ │ │ │ │ +00010280: 5072 6576 3a20 5377 6570 7420 6c69 6e65 Prev: Swept line │ │ │ │ │ +00010290: 732c 2020 5570 3a20 5377 6565 7073 0a0a s, Up: Sweeps.. │ │ │ │ │ +000102a0: 332e 322e 362e 3320 5377 6570 7420 706f 3.2.6.3 Swept po │ │ │ │ │ +000102b0: 6c79 676f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e lygons.......... │ │ │ │ │ +000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a49 ...............I │ │ │ │ │ +000102d0: 6620 5357 4550 545f 4f42 4a45 4354 2069 f SWEPT_OBJECT i │ │ │ │ │ +000102e0: 7320 6120 706f 6c79 676f 6e2c 2074 6865 s a polygon, the │ │ │ │ │ +000102f0: 20e2 8098 7377 6565 70e2 8099 2063 6f6e ...sweep... con │ │ │ │ │ +00010300: 6e65 6374 7320 4e2b 3120 7375 6363 6573 nects N+1 succes │ │ │ │ │ +00010310: 7369 7665 2063 6f70 6965 730a 6f66 2074 sive copies.of t │ │ │ │ │ +00010320: 6865 2063 6c6f 7365 6420 706f 6c79 6c69 he closed polyli │ │ │ │ │ +00010330: 6e65 2062 6f72 6465 7220 6f66 2074 6865 ne border of the │ │ │ │ │ +00010340: 2070 6f6c 7967 6f6e 2074 6f20 666f 726d polygon to form │ │ │ │ │ +00010350: 2062 6f64 7920 706f 6c79 676f 6e73 0a65 body polygons.e │ │ │ │ │ +00010360: 7861 6374 6c79 2061 7320 7468 6f75 6768 xactly as though │ │ │ │ │ +00010370: 2074 6865 2062 6f72 6465 7220 7765 7265 the border were │ │ │ │ │ +00010380: 2061 2073 7765 7074 2070 6f6c 796c 696e a swept polylin │ │ │ │ │ +00010390: 6520 6173 2064 6573 6372 6962 6564 2069 e as described i │ │ │ │ │ +000103a0: 6e20 2a6e 6f74 650a 5377 6570 7420 6c69 n *note.Swept li │ │ │ │ │ +000103b0: 6e65 733a 3a2e 2020 4966 2074 6865 7265 nes::. If there │ │ │ │ │ +000103c0: 2061 7265 206d 2070 6f69 6e74 7320 696e are m points in │ │ │ │ │ +000103d0: 2074 6865 206f 7269 6769 6e61 6c20 706f the original po │ │ │ │ │ +000103e0: 6c79 676f 6e2c 2074 6865 6e20 6d4e 0a62 lygon, then mN.b │ │ │ │ │ +000103f0: 6f64 7920 706f 6c79 676f 6e73 2061 7265 ody polygons are │ │ │ │ │ +00010400: 2066 6f72 6d65 6420 6279 2074 6869 7320 formed by this │ │ │ │ │ +00010410: 7377 6565 702e 2020 5468 6520 626f 6479 sweep. The body │ │ │ │ │ +00010420: 2070 6f6c 7967 6f6e 7320 666f 726d 2061 polygons form a │ │ │ │ │ +00010430: 6e0a e280 9c65 7874 7275 7369 6f6e e280 n....extrusion.. │ │ │ │ │ +00010440: 9d20 6f66 2074 6865 2062 6f75 6e64 6172 . of the boundar │ │ │ │ │ +00010450: 7920 6f66 2074 6865 206f 7269 6769 6e61 y of the origina │ │ │ │ │ +00010460: 6c20 706f 6c79 676f 6e20 7769 7468 2074 l polygon with t │ │ │ │ │ +00010470: 776f 2068 6f6c 6573 2061 740a 7468 6520 wo holes at.the │ │ │ │ │ +00010480: 6f70 656e 2065 6e64 732e 0a0a 2020 2046 open ends... F │ │ │ │ │ +00010490: 696e 616c 6c79 2c20 7468 6520 7377 6565 inally, the swee │ │ │ │ │ +000104a0: 7020 6164 6473 2074 776f 2063 6f70 6965 p adds two copie │ │ │ │ │ +000104b0: 7320 6f66 2074 6865 206f 7269 6769 6e61 s of the origina │ │ │ │ │ +000104c0: 6c20 706f 6c79 676f 6e20 746f 2063 6f76 l polygon to cov │ │ │ │ │ +000104d0: 6572 0a74 6865 2068 6f6c 6573 2e20 2057 er.the holes. W │ │ │ │ │ +000104e0: 6520 6361 6c6c 2074 6865 7365 2068 6f6c e call these hol │ │ │ │ │ +000104f0: 652d 6669 6c6c 696e 6720 706f 6c79 676f e-filling polygo │ │ │ │ │ +00010500: 6e73 20e2 809c 656e 6473 e280 9d2e 2020 ns ...ends.... │ │ │ │ │ +00010510: 496e 2074 6869 7320 6d61 6e6e 6572 2c0a In this manner,. │ │ │ │ │ +00010520: e280 9873 7765 6570 e280 9920 666f 726d ...sweep... form │ │ │ │ │ +00010530: 7320 7468 6520 626f 756e 6461 7279 206f s the boundary o │ │ │ │ │ +00010540: 6620 6120 7468 7265 652d 6469 6d65 6e73 f a three-dimens │ │ │ │ │ +00010550: 696f 6e61 6c20 6f62 6a65 6374 2066 726f ional object fro │ │ │ │ │ +00010560: 6d20 610a 7477 6f2d 6469 6d65 6e73 696f m a.two-dimensio │ │ │ │ │ +00010570: 6e61 6c20 706f 6c79 676f 6e2e 0a0a 2020 nal polygon... │ │ │ │ │ +00010580: 2054 6865 206f 7264 6572 206f 6620 7665 The order of ve │ │ │ │ │ +00010590: 7274 6963 6573 206f 6620 656e 6420 706f rtices of end po │ │ │ │ │ +000105a0: 6c79 676f 6e73 2069 7320 696d 706f 7274 lygons is import │ │ │ │ │ +000105b0: 616e 7420 666f 7220 636f 7272 6563 740a ant for correct. │ │ │ │ │ +000105c0: 6375 6c6c 696e 6720 6173 2064 6573 6372 culling as descr │ │ │ │ │ +000105d0: 6962 6564 2061 626f 7665 2e20 2041 6e20 ibed above. An │ │ │ │ │ +000105e0: 6578 6163 7420 636f 7079 206f 6620 7468 exact copy of th │ │ │ │ │ +000105f0: 6520 6f72 6967 696e 616c 2070 6f6c 7967 e original polyg │ │ │ │ │ +00010600: 6f6e 2077 6974 680a 7665 7274 6578 206f on with.vertex o │ │ │ │ │ +00010610: 7264 6572 2069 6e74 6163 7420 666f 726d rder intact form │ │ │ │ │ +00010620: 7320 7468 6520 6669 7273 7420 656e 6420 s the first end │ │ │ │ │ +00010630: 706f 6c79 676f 6e2e 2020 5468 6520 6f74 polygon. The ot │ │ │ │ │ +00010640: 6865 7220 656e 6420 706f 6c79 676f 6e0a her end polygon. │ │ │ │ │ +00010650: 7265 7375 6c74 7320 6672 6f6d 2074 7261 results from tra │ │ │ │ │ +00010660: 6e73 666f 726d 696e 6720 616e 6420 7468 nsforming and th │ │ │ │ │ +00010670: 6520 7265 7665 7273 696e 6720 7468 6520 e reversing the │ │ │ │ │ +00010680: 6f72 6465 7220 6f66 2076 6572 7469 6365 order of vertice │ │ │ │ │ +00010690: 7320 696e 2074 6865 0a6f 7269 6769 6e61 s in the.origina │ │ │ │ │ +000106a0: 6c2e 2020 5468 6520 7472 616e 7366 6f72 l. The transfor │ │ │ │ │ +000106b0: 6d20 706c 6163 6573 2074 6865 206f 7269 m places the ori │ │ │ │ │ +000106c0: 6769 6e61 6c20 706f 6c79 676f 6e20 6174 ginal polygon at │ │ │ │ │ +000106d0: 2074 6865 2075 6e63 6f76 6572 6564 0a68 the uncovered.h │ │ │ │ │ +000106e0: 6f6c 653b 2069 7420 6973 0a20 2020 2020 ole; it is. │ │ │ │ │ +000106f0: 545f 315e 6e20 7468 656e 2054 5f32 5e6e T_1^n then T_2^n │ │ │ │ │ +00010700: 2074 6865 6e20 2e2e 2e20 7468 656e 2054 then ... then T │ │ │ │ │ +00010710: 5f52 5e6e 2e0a 4966 2074 6865 7265 2061 _R^n..If there a │ │ │ │ │ +00010720: 7265 206e 6f20 6f70 7469 6f6e 7320 6f6e re no options on │ │ │ │ │ +00010730: 2074 6865 2073 7765 7074 2070 6f6c 7967 the swept polyg │ │ │ │ │ +00010740: 6f6e 2c20 7468 656e 2074 6865 20e2 8098 on, then the ... │ │ │ │ │ +00010750: 7377 6565 70e2 8099 206f 7074 696f 6e73 sweep... options │ │ │ │ │ +00010760: 0a61 7265 2063 6f70 6965 6420 746f 2065 .are copied to e │ │ │ │ │ +00010770: 6163 6820 6f75 7470 7574 2070 6f6c 7967 ach output polyg │ │ │ │ │ +00010780: 6f6e 2e20 2049 6620 7468 6520 7377 6570 on. If the swep │ │ │ │ │ +00010790: 7420 706f 6c79 676f 6e20 646f 6573 2068 t polygon does h │ │ │ │ │ +000107a0: 6176 650a 6f70 7469 6f6e 732c 2074 6865 ave.options, the │ │ │ │ │ +000107b0: 7365 2061 7265 2063 6f70 6965 6420 746f se are copied to │ │ │ │ │ +000107c0: 2074 6865 2065 6e64 733b 2074 6865 2073 the ends; the s │ │ │ │ │ +000107d0: 7765 6570 206f 7074 696f 6e73 2061 7265 weep options are │ │ │ │ │ +000107e0: 2063 6f70 6965 6420 746f 0a74 6865 2062 copied to.the b │ │ │ │ │ +000107f0: 6f64 7920 706f 6c79 676f 6e73 2e20 2049 ody polygons. I │ │ │ │ │ +00010800: 6e20 7468 6973 206d 616e 6e65 722c 2062 n this manner, b │ │ │ │ │ +00010810: 6f64 7920 616e 6420 656e 6473 206d 6179 ody and ends may │ │ │ │ │ +00010820: 2062 6520 6472 6177 6e20 7769 7468 0a64 be drawn with.d │ │ │ │ │ +00010830: 6966 6665 7265 6e74 2063 6861 7261 6374 ifferent charact │ │ │ │ │ +00010840: 6572 6973 7469 6373 2073 7563 6820 6173 eristics such as │ │ │ │ │ +00010850: 20e2 8098 6669 6c6c 636f 6c6f 72e2 8099 ...fillcolor... │ │ │ │ │ +00010860: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +00010870: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S │ │ │ │ │ +00010880: 7765 7074 2062 6c6f 636b 732c 2020 4e65 wept blocks, Ne │ │ │ │ │ +00010890: 7874 3a20 5377 6565 7020 6661 6365 2073 xt: Sweep face s │ │ │ │ │ +000108a0: 706c 6974 7469 6e67 2c20 2050 7265 763a plitting, Prev: │ │ │ │ │ +000108b0: 2053 7765 7074 2070 6f6c 7967 6f6e 732c Swept polygons, │ │ │ │ │ +000108c0: 2020 5570 3a20 5377 6565 7073 0a0a 332e Up: Sweeps..3. │ │ │ │ │ +000108d0: 322e 362e 3420 5377 6570 7420 626c 6f63 2.6.4 Swept bloc │ │ │ │ │ +000108e0: 6b73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ks.............. │ │ │ │ │ +000108f0: 2e2e 2e2e 2e2e 2e0a 0a54 6865 2073 7765 .........The swe │ │ │ │ │ +00010900: 7074 206f 626a 6563 7420 5357 4550 545f pt object SWEPT_ │ │ │ │ │ +00010910: 4f42 4a45 4354 206d 6179 2061 6c73 6f20 OBJECT may also │ │ │ │ │ +00010920: 6265 2061 6e79 2063 6f6c 6c65 6374 696f be any collectio │ │ │ │ │ +00010930: 6e20 6f66 2070 6f6c 796c 696e 6573 0a61 n of polylines.a │ │ │ │ │ +00010940: 6e64 2070 6f6c 7967 6f6e 732e 2020 5468 nd polygons. Th │ │ │ │ │ +00010950: 6973 206d 6179 2062 6520 6120 626c 6f63 is may be a bloc │ │ │ │ │ +00010960: 6b20 636f 6d70 6f73 6564 206f 6620 e280 k composed of .. │ │ │ │ │ +00010970: 986c 696e 65e2 8099 2061 6e64 2f6f 7220 .line... and/or │ │ │ │ │ +00010980: e280 9870 6f6c 7967 6f6e e280 990a 636f ...polygon....co │ │ │ │ │ +00010990: 6d6d 616e 6473 2069 6e20 6272 6163 6573 mmands in braces │ │ │ │ │ +000109a0: 20e2 8098 7b20 7de2 8099 2c20 6f72 2069 ...{ }..., or i │ │ │ │ │ +000109b0: 7420 6d61 7920 6265 2074 6865 2072 6573 t may be the res │ │ │ │ │ +000109c0: 756c 7420 6f66 2061 20e2 8098 7265 7065 ult of a ...repe │ │ │ │ │ +000109d0: 6174 e280 992c 2061 6e6f 7468 6572 0ae2 at..., another.. │ │ │ │ │ +000109e0: 8098 7377 6565 70e2 8099 2c20 6574 632e ..sweep..., etc. │ │ │ │ │ +000109f0: 2020 5468 6520 7377 6565 7020 6163 7473 The sweep acts │ │ │ │ │ +00010a00: 2069 6e64 6570 656e 6465 6e74 6c79 206f independently o │ │ │ │ │ +00010a10: 6e20 6561 6368 206f 626a 6563 7420 696e n each object in │ │ │ │ │ +00010a20: 2074 6865 2062 6c6f 636b 0a65 7861 6374 the block.exact │ │ │ │ │ +00010a30: 6c79 2061 7320 6966 2069 7420 7765 7265 ly as if it were │ │ │ │ │ +00010a40: 2061 2073 696e 676c 6520 7377 6570 7420 a single swept │ │ │ │ │ +00010a50: 6f62 6a65 6374 2064 6573 6372 6962 6564 object described │ │ │ │ │ +00010a60: 2061 626f 7665 2069 6e20 2a6e 6f74 650a above in *note. │ │ │ │ │ +00010a70: 5377 6570 7420 6c69 6e65 733a 3a20 616e Swept lines:: an │ │ │ │ │ +00010a80: 6420 2a6e 6f74 6520 5377 6570 7420 706f d *note Swept po │ │ │ │ │ +00010a90: 6c79 676f 6e73 3a3a 2e0a 0a1f 0a46 696c lygons::.....Fil │ │ │ │ │ +00010aa0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +00010ab0: 204e 6f64 653a 2053 7765 6570 2066 6163 Node: Sweep fac │ │ │ │ │ +00010ac0: 6520 7370 6c69 7474 696e 672c 2020 5072 e splitting, Pr │ │ │ │ │ +00010ad0: 6576 3a20 5377 6570 7420 626c 6f63 6b73 ev: Swept blocks │ │ │ │ │ +00010ae0: 2c20 2055 703a 2053 7765 6570 730a 0a33 , Up: Sweeps..3 │ │ │ │ │ +00010af0: 2e32 2e36 2e35 2053 7765 6570 2066 6163 .2.6.5 Sweep fac │ │ │ │ │ +00010b00: 6520 7370 6c69 7474 696e 670a 2e2e 2e2e e splitting..... │ │ │ │ │ 00010b10: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00010b20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4265 ..............Be │ │ │ │ │ -00010b30: 666f 7265 2073 656e 6469 6e67 2065 6163 fore sending eac │ │ │ │ │ -00010b40: 6820 666f 7572 2d73 6964 6564 2062 6f64 h four-sided bod │ │ │ │ │ -00010b50: 7920 706f 6c79 676f 6e20 6f66 2061 20e2 y polygon of a . │ │ │ │ │ -00010b60: 8098 7377 6565 70e2 8099 2074 6f20 7468 ..sweep... to th │ │ │ │ │ -00010b70: 6520 6f75 7470 7574 2c0a e280 9873 6b65 e output,....ske │ │ │ │ │ -00010b80: 7463 68e2 8099 2074 6573 7473 2074 6f20 tch... tests to │ │ │ │ │ -00010b90: 7365 6520 6966 2069 7420 6973 2072 6f75 see if it is rou │ │ │ │ │ -00010ba0: 6768 6c79 2070 6c61 6e61 722e 2020 5369 ghly planar. Si │ │ │ │ │ -00010bb0: 6e63 6520 706c 616e 6172 6974 7920 6973 nce planarity is │ │ │ │ │ -00010bc0: 0a6e 6563 6573 7361 7279 2066 6f72 2070 .necessary for p │ │ │ │ │ -00010bd0: 726f 7065 7220 6675 6e63 7469 6f6e 696e roper functionin │ │ │ │ │ -00010be0: 6720 6f66 2074 6865 2068 6964 6465 6e20 g of the hidden │ │ │ │ │ -00010bf0: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith │ │ │ │ │ -00010c00: 6d2c 0a22 7761 7270 6564 2220 706f 6c79 m,."warped" poly │ │ │ │ │ -00010c10: 676f 6e73 2061 7265 2061 7574 6f6d 6174 gons are automat │ │ │ │ │ -00010c20: 6963 616c 6c79 2073 706c 6974 2069 6e74 ically split int │ │ │ │ │ -00010c30: 6f20 7477 6f20 7472 6961 6e67 6c65 732e o two triangles. │ │ │ │ │ -00010c40: 0a0a 2020 2048 6f6c 652d 6669 6c6c 696e .. Hole-fillin │ │ │ │ │ -00010c50: 6720 706f 6c79 676f 6e73 2070 726f 6475 g polygons produ │ │ │ │ │ -00010c60: 6365 6420 6279 2063 6c6f 7375 7265 2d74 ced by closure-t │ │ │ │ │ -00010c70: 6167 6765 6420 6c69 6e65 2073 7765 6570 agged line sweep │ │ │ │ │ -00010c80: 7320 6172 6520 6e6f 740a 7370 6c69 742e s are not.split. │ │ │ │ │ -00010c90: 2020 4e6f 7220 6172 6520 6f72 6967 696e Nor are origin │ │ │ │ │ -00010ca0: 616c 2070 6f6c 7967 6f6e 7320 696e 2070 al polygons in p │ │ │ │ │ -00010cb0: 6f6c 7967 6f6e 2073 7765 6570 732e 2020 olygon sweeps. │ │ │ │ │ -00010cc0: 4974 2069 7320 7468 6520 7573 6572 2773 It is the user's │ │ │ │ │ -00010cd0: 0a72 6573 706f 6e73 6962 696c 6974 7920 .responsibility │ │ │ │ │ -00010ce0: 746f 2065 6e73 7572 6520 7468 6573 6520 to ensure these │ │ │ │ │ -00010cf0: 6172 6520 706c 616e 6172 2e0a 0a1f 0a46 are planar.....F │ │ │ │ │ -00010d00: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00010d10: 2c20 204e 6f64 653a 2042 6c6f 636b 732c , Node: Blocks, │ │ │ │ │ -00010d20: 2020 4e65 7874 3a20 5265 7065 6174 732c Next: Repeats, │ │ │ │ │ -00010d30: 2020 5072 6576 3a20 5377 6565 7073 2c20 Prev: Sweeps, │ │ │ │ │ -00010d40: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables.. │ │ │ │ │ -00010d50: 332e 322e 3720 426c 6f63 6b73 0a2d 2d2d 3.2.7 Blocks.--- │ │ │ │ │ -00010d60: 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 6e79 2073 ---------..Any s │ │ │ │ │ -00010d70: 6571 7565 6e63 6520 6f66 2064 7261 7761 equence of drawa │ │ │ │ │ -00010d80: 626c 6573 206d 6179 2062 6520 6772 6f75 bles may be grou │ │ │ │ │ -00010d90: 7065 6420 696e 2061 20e2 809c 626c 6f63 ped in a ...bloc │ │ │ │ │ -00010da0: 6be2 809d 206d 6572 656c 7920 6279 0a65 k... merely by.e │ │ │ │ │ -00010db0: 6e63 6c6f 7369 6e67 2074 6865 6d20 696e nclosing them in │ │ │ │ │ -00010dc0: 2062 7261 6365 7320 e280 987b 207d e280 braces ...{ }.. │ │ │ │ │ -00010dd0: 992e 2020 4120 626c 6f63 6b20 6973 2069 .. A block is i │ │ │ │ │ -00010de0: 7473 656c 6620 6472 6177 6162 6c65 2e20 tself drawable. │ │ │ │ │ -00010df0: 2041 206b 6579 2075 7365 0a6f 6620 626c A key use.of bl │ │ │ │ │ -00010e00: 6f63 6b73 2069 7320 746f 2065 7874 656e ocks is to exten │ │ │ │ │ -00010e10: 6420 7468 6520 6566 6665 6374 206f 6620 d the effect of │ │ │ │ │ -00010e20: 6120 7369 6e67 6c65 20e2 8098 6465 66e2 a single ...def. │ │ │ │ │ -00010e30: 8099 2c20 2a6e 6f74 650a 4465 6669 6e69 .., *note.Defini │ │ │ │ │ -00010e40: 7469 6f6e 733a 3a2c 20e2 8098 7075 74e2 tions::, ...put. │ │ │ │ │ -00010e50: 8099 202a 6e6f 7465 2050 7574 733a 3a2c .. *note Puts::, │ │ │ │ │ -00010e60: 20e2 8098 7377 6565 70e2 8099 202a 6e6f ...sweep... *no │ │ │ │ │ -00010e70: 7465 2053 7765 6570 733a 3a2c 206f 7220 te Sweeps::, or │ │ │ │ │ -00010e80: e280 9872 6570 6561 74e2 8099 0a2a 6e6f ...repeat....*no │ │ │ │ │ -00010e90: 7465 2052 6570 6561 7473 3a3a 2074 6f20 te Repeats:: to │ │ │ │ │ -00010ea0: 696e 636c 7564 6520 7365 7665 7261 6c20 include several │ │ │ │ │ -00010eb0: 6f62 6a65 6374 7320 7261 7468 6572 2074 objects rather t │ │ │ │ │ -00010ec0: 6861 6e20 6f6e 652e 0a0a 2020 2044 6566 han one... Def │ │ │ │ │ -00010ed0: 696e 6974 696f 6e73 2028 2a4e 6f74 6520 initions (*Note │ │ │ │ │ -00010ee0: 4465 6669 6e69 7469 6f6e 733a 3a2e 2920 Definitions::.) │ │ │ │ │ -00010ef0: 2069 6e73 6964 6520 6120 626c 6f63 6b20 inside a block │ │ │ │ │ -00010f00: 6861 7665 20e2 809c 6c65 7869 6361 6c0a have ...lexical. │ │ │ │ │ -00010f10: 7363 6f70 65e2 809d 2065 7874 656e 6469 scope... extendi │ │ │ │ │ -00010f20: 6e67 2066 726f 6d20 7468 6520 706c 6163 ng from the plac │ │ │ │ │ -00010f30: 6520 6f66 2064 6566 696e 6974 696f 6e20 e of definition │ │ │ │ │ -00010f40: 746f 2074 6865 2065 6e64 206f 6620 7468 to the end of th │ │ │ │ │ -00010f50: 6520 626c 6f63 6b2e 0a0a 1f0a 4669 6c65 e block.....File │ │ │ │ │ -00010f60: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -00010f70: 4e6f 6465 3a20 5265 7065 6174 732c 2020 Node: Repeats, │ │ │ │ │ -00010f80: 4e65 7874 3a20 5075 7473 2c20 2050 7265 Next: Puts, Pre │ │ │ │ │ -00010f90: 763a 2042 6c6f 636b 732c 2020 5570 3a20 v: Blocks, Up: │ │ │ │ │ -00010fa0: 4472 6177 6162 6c65 730a 0a33 2e32 2e38 Drawables..3.2.8 │ │ │ │ │ -00010fb0: 2052 6570 6561 7473 0a2d 2d2d 2d2d 2d2d Repeats.------- │ │ │ │ │ -00010fc0: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax: │ │ │ │ │ -00010fd0: 2a0a 2020 2020 2072 6570 6561 7420 7b20 *. repeat { │ │ │ │ │ -00010fe0: 4e2c 2054 5f31 2c20 545f 322c 202e 2e2e N, T_1, T_2, ... │ │ │ │ │ -00010ff0: 2c20 545f 5220 7d20 5245 5045 4154 4544 , T_R } REPEATED │ │ │ │ │ -00011000: 5f4f 424a 4543 540a 5468 6520 7265 7065 _OBJECT.The repe │ │ │ │ │ -00011010: 6174 206d 616b 6573 204e 2074 7261 6e73 at makes N trans │ │ │ │ │ -00011020: 666f 726d 6564 2063 6f70 6965 7320 6f66 formed copies of │ │ │ │ │ -00011030: 2052 4550 4541 5445 445f 4f42 4a45 4354 REPEATED_OBJECT │ │ │ │ │ -00011040: 2028 696e 636c 7564 696e 6720 7468 650a (including the. │ │ │ │ │ -00011050: 6f72 6967 696e 616c 292e 2020 5468 6520 original). The │ │ │ │ │ -00011060: 545f 4920 6172 6520 7472 616e 7366 6f72 T_I are transfor │ │ │ │ │ -00011070: 6d73 2e20 2054 6865 206b 2774 6820 636f ms. The k'th co │ │ │ │ │ -00011080: 7079 206f 6620 7468 650a 5245 5045 4154 py of the.REPEAT │ │ │ │ │ -00011090: 4544 5f4f 424a 4543 5420 2866 6f72 206b ED_OBJECT (for k │ │ │ │ │ -000110a0: 3d30 2c31 2c2e 2e2e 2c6e 2d31 2920 6973 =0,1,...,n-1) is │ │ │ │ │ -000110b0: 2070 726f 6475 6365 6420 696e 2074 6865 produced in the │ │ │ │ │ -000110c0: 2073 616d 6520 6d61 6e6e 6572 2061 730a same manner as. │ │ │ │ │ -000110d0: 666f 7220 e280 9873 7765 6570 e280 9973 for ...sweep...s │ │ │ │ │ -000110e0: 2064 6573 6372 6962 6564 2069 6e20 2a6e described in *n │ │ │ │ │ -000110f0: 6f74 6520 5377 6565 7073 3a3a 2e20 2054 ote Sweeps::. T │ │ │ │ │ -00011100: 6869 7320 6973 2072 6570 6561 7465 6420 his is repeated │ │ │ │ │ -00011110: 6865 7265 2028 6e6f 2070 756e 0a69 6e74 here (no pun.int │ │ │ │ │ -00011120: 656e 6465 6429 2066 6f72 2063 6f6e 7665 ended) for conve │ │ │ │ │ -00011130: 6e69 656e 6365 2e20 2054 6f20 6d61 6b65 nience. To make │ │ │ │ │ -00011140: 2074 6865 206b 2774 6820 636f 7079 2c20 the k'th copy, │ │ │ │ │ -00011150: 7468 6520 666f 6c6c 6f77 696e 670a 7472 the following.tr │ │ │ │ │ -00011160: 616e 7366 6f72 6d20 6973 2061 7070 6c69 ansform is appli │ │ │ │ │ -00011170: 6564 2074 6f20 7468 6520 6f72 6967 696e ed to the origin │ │ │ │ │ -00011180: 616c 206f 626a 6563 742e 0a20 2020 2020 al object.. │ │ │ │ │ -00011190: 545f 315e 6b20 7468 656e 2054 5f32 5e6b T_1^k then T_2^k │ │ │ │ │ -000111a0: 2074 6865 6e20 2e2e 2e20 7468 656e 2054 then ... then T │ │ │ │ │ -000111b0: 5f52 5e6b 0a48 6572 6520 545e 6b20 6d65 _R^k.Here T^k me │ │ │ │ │ -000111c0: 616e 7320 2274 7261 6e73 666f 726d 2054 ans "transform T │ │ │ │ │ -000111d0: 2061 7070 6c69 6564 206b 2074 696d 6573 applied k times │ │ │ │ │ -000111e0: 2e22 0a0a 1f0a 4669 6c65 3a20 736b 6574 ."....File: sket │ │ │ │ │ -000111f0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -00011200: 5075 7473 2c20 2050 7265 763a 2052 6570 Puts, Prev: Rep │ │ │ │ │ -00011210: 6561 7473 2c20 2055 703a 2044 7261 7761 eats, Up: Drawa │ │ │ │ │ -00011220: 626c 6573 0a0a 332e 322e 3920 5075 7473 bles..3.2.9 Puts │ │ │ │ │ -00011230: 0a2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 .----------..*Sy │ │ │ │ │ -00011240: 6e74 6178 3a2a 0a20 2020 2020 7075 7420 ntax:*. put │ │ │ │ │ -00011250: 7b20 5420 7d20 5055 545f 4f42 4a45 4354 { T } PUT_OBJECT │ │ │ │ │ -00011260: 0a50 7574 206d 6572 656c 7920 6170 706c .Put merely appl │ │ │ │ │ -00011270: 6965 7320 7472 616e 7366 6f72 6d20 5420 ies transform T │ │ │ │ │ -00011280: 746f 2074 6865 2064 7261 7761 626c 6520 to the drawable │ │ │ │ │ -00011290: 5055 545f 4f42 4a45 4354 2e0a 0a1f 0a46 PUT_OBJECT.....F │ │ │ │ │ -000112a0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -000112b0: 2c20 204e 6f64 653a 2044 6566 696e 6974 , Node: Definit │ │ │ │ │ -000112c0: 696f 6e73 2c20 204e 6578 743a 2047 6c6f ions, Next: Glo │ │ │ │ │ -000112d0: 6261 6c20 656e 7669 726f 6e6d 656e 742c bal environment, │ │ │ │ │ -000112e0: 2020 5072 6576 3a20 4472 6177 6162 6c65 Prev: Drawable │ │ │ │ │ -000112f0: 732c 2020 5570 3a20 496e 7075 7420 6c61 s, Up: Input la │ │ │ │ │ -00011300: 6e67 7561 6765 0a0a 332e 3320 4465 6669 nguage..3.3 Defi │ │ │ │ │ -00011310: 6e69 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d nitions.======== │ │ │ │ │ -00011320: 3d3d 3d3d 3d3d 3d0a 0a44 6566 696e 6974 =======..Definit │ │ │ │ │ -00011330: 696f 6e73 2067 6976 6520 6e61 6d65 7320 ions give names │ │ │ │ │ -00011340: 746f 20e2 8098 736b 6574 6368 e280 9920 to ...sketch... │ │ │ │ │ -00011350: 6f62 6a65 6374 732e 2020 4465 6669 6e69 objects. Defini │ │ │ │ │ -00011360: 7469 6f6e 7320 616c 6f6e 6520 6172 650a tions alone are. │ │ │ │ │ -00011370: 6265 6e69 676e 2e20 2041 20e2 8098 736b benign. A ...sk │ │ │ │ │ -00011380: 6574 6368 e280 9920 696e 7075 7420 6669 etch... input fi │ │ │ │ │ -00011390: 6c65 2063 6f6e 7369 7374 696e 6720 656e le consisting en │ │ │ │ │ -000113a0: 7469 7265 6c79 206f 6620 6465 6669 6e69 tirely of defini │ │ │ │ │ -000113b0: 7469 6f6e 7320 7769 6c6c 0a67 656e 6572 tions will.gener │ │ │ │ │ -000113c0: 6174 6520 6e6f 2064 7261 7769 6e67 2e20 ate no drawing. │ │ │ │ │ -000113d0: 204f 6e6c 7920 7768 656e 2064 6566 696e Only when defin │ │ │ │ │ -000113e0: 6974 696f 6e73 2061 7265 20e2 809c 7265 itions are ...re │ │ │ │ │ -000113f0: 6665 7265 6e63 6564 e280 9d20 646f 2074 ferenced... do t │ │ │ │ │ -00011400: 6865 790a 706f 7465 6e74 6961 6c6c 7920 hey.potentially │ │ │ │ │ -00011410: 6c65 6164 2074 6f20 696e 6b20 6f6e 2074 lead to ink on t │ │ │ │ │ -00011420: 6865 2064 7261 7769 6e67 2e0a 0a20 2020 he drawing... │ │ │ │ │ -00011430: 5468 6520 696e 7465 6e74 206f 6620 6465 The intent of de │ │ │ │ │ -00011440: 6669 6e69 7469 6f6e 7320 6973 2074 6f20 finitions is to │ │ │ │ │ -00011450: 6d61 6b65 20e2 8098 736b 6574 6368 e280 make ...sketch.. │ │ │ │ │ -00011460: 9920 636f 6465 206d 6f72 6520 636f 6e63 . code more conc │ │ │ │ │ -00011470: 6973 6520 616e 640a 7265 6164 6162 6c65 ise and.readable │ │ │ │ │ -00011480: 2e20 2054 6865 7265 2069 7320 6e6f 2069 . There is no i │ │ │ │ │ -00011490: 6e70 7574 2066 696c 6520 656d 706c 6f79 nput file employ │ │ │ │ │ -000114a0: 696e 6720 6465 6669 6e69 7469 6f6e 7320 ing definitions │ │ │ │ │ -000114b0: 7468 6174 2063 6f75 6c64 206e 6f74 0a62 that could not.b │ │ │ │ │ -000114c0: 6520 7265 2d77 7269 7474 656e 2077 6974 e re-written wit │ │ │ │ │ -000114d0: 686f 7574 2074 6865 6d2e 0a0a 2020 2044 hout them... D │ │ │ │ │ -000114e0: 6566 696e 6162 6c65 206f 626a 6563 7473 efinable objects │ │ │ │ │ -000114f0: 2069 6e63 6c75 6465 2061 6e79 2072 6573 include any res │ │ │ │ │ -00011500: 756c 7420 6f66 2061 6e20 6166 6669 6e65 ult of an affine │ │ │ │ │ -00011510: 2061 7269 7468 6d65 7469 630a 6578 7072 arithmetic.expr │ │ │ │ │ -00011520: 6573 7369 6f6e 2028 7363 616c 6172 2c20 ession (scalar, │ │ │ │ │ -00011530: 706f 696e 742c 2076 6563 746f 722c 206f point, vector, o │ │ │ │ │ -00011540: 7220 7472 616e 7366 6f72 6d29 2c20 616e r transform), an │ │ │ │ │ -00011550: 7920 6472 6177 6162 6c65 206f 626a 6563 y drawable objec │ │ │ │ │ -00011560: 740a 2864 6f74 732c 206c 696e 652c 2063 t.(dots, line, c │ │ │ │ │ -00011570: 7572 7665 2c20 706f 6c79 676f 6e2c 2062 urve, polygon, b │ │ │ │ │ -00011580: 6c6f 636b 2c20 7377 6565 702c 2070 7574 lock, sweep, put │ │ │ │ │ -00011590: 2c20 7265 7065 6174 2c20 6f72 2073 7065 , repeat, or spe │ │ │ │ │ -000115a0: 6369 616c 292c 2061 6e64 0a6f 7074 696f cial), and.optio │ │ │ │ │ -000115b0: 6e20 7374 7269 6e67 732e 2020 496e 2061 n strings. In a │ │ │ │ │ -000115c0: 6464 6974 696f 6e2c 20e2 809c 7461 6720 ddition, ...tag │ │ │ │ │ -000115d0: 6465 6669 6e69 7469 6f6e 73e2 809d 2c20 definitions..., │ │ │ │ │ -000115e0: 7768 6963 6820 6861 7665 206e 6f0a 6173 which have no.as │ │ │ │ │ -000115f0: 736f 6369 6174 6564 206f 626a 6563 7420 sociated object │ │ │ │ │ -00011600: 6174 2061 6c6c 2c20 616c 6c6f 7720 7468 at all, allow th │ │ │ │ │ -00011610: 6520 6d65 616e 696e 6720 6f66 206f 7468 e meaning of oth │ │ │ │ │ -00011620: 6572 2064 6566 696e 6974 696f 6e73 2074 er definitions t │ │ │ │ │ -00011630: 6f20 6265 0a73 656c 6563 7465 6420 6672 o be.selected fr │ │ │ │ │ -00011640: 6f6d 2061 2073 6574 206f 6620 616c 7465 om a set of alte │ │ │ │ │ -00011650: 726e 6174 6976 6573 2e20 2053 696e 6365 rnatives. Since │ │ │ │ │ -00011660: 2074 6167 7320 6d61 7920 6265 2064 6566 tags may be def │ │ │ │ │ -00011670: 696e 6564 2028 616e 640a 756e 6465 6669 ined (and.undefi │ │ │ │ │ -00011680: 6e65 6429 2069 6e20 7468 6520 636f 6d6d ned) in the comm │ │ │ │ │ -00011690: 616e 6420 6c69 6e65 206f 6620 e280 9873 and line of ...s │ │ │ │ │ -000116a0: 6b65 7463 68e2 8099 2c20 7468 6579 2063 ketch..., they c │ │ │ │ │ -000116b0: 616e 2062 6520 616e 2061 6964 2069 6e20 an be an aid in │ │ │ │ │ -000116c0: 7468 650a 7363 7269 7074 2d64 7269 7665 the.script-drive │ │ │ │ │ -000116d0: 6e20 7072 6570 6172 6174 696f 6e20 6f66 n preparation of │ │ │ │ │ -000116e0: 2064 6f63 756d 656e 7473 2e0a 0a2a 204d documents...* M │ │ │ │ │ -000116f0: 656e 753a 0a0a 2a20 466f 726d 7320 6f66 enu:..* Forms of │ │ │ │ │ -00011700: 2064 6566 696e 6974 696f 6e73 3a3a 2020 definitions:: │ │ │ │ │ -00011710: 2020 2020 2020 4469 6666 6572 656e 7420 Different │ │ │ │ │ -00011720: 6465 6673 2066 6f72 2064 6966 6665 7265 defs for differe │ │ │ │ │ -00011730: 6e74 2070 7572 706f 7365 732e 0a2a 2046 nt purposes..* F │ │ │ │ │ -00011740: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ -00011750: 6573 3a3a 2020 2020 2020 2020 2048 6f77 es:: How │ │ │ │ │ -00011760: 2072 6566 6572 656e 6365 7320 6465 6e6f references deno │ │ │ │ │ -00011770: 7465 2074 7970 6573 2e0a 0a1f 0a46 696c te types.....Fil │ │ │ │ │ -00011780: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -00011790: 204e 6f64 653a 2046 6f72 6d73 206f 6620 Node: Forms of │ │ │ │ │ -000117a0: 6465 6669 6e69 7469 6f6e 732c 2020 4e65 definitions, Ne │ │ │ │ │ -000117b0: 7874 3a20 466f 726d 7320 6f66 2072 6566 xt: Forms of ref │ │ │ │ │ -000117c0: 6572 656e 6365 732c 2020 5072 6576 3a20 erences, Prev: │ │ │ │ │ -000117d0: 4465 6669 6e69 7469 6f6e 732c 2020 5570 Definitions, Up │ │ │ │ │ -000117e0: 3a20 4465 6669 6e69 7469 6f6e 730a 0a33 : Definitions..3 │ │ │ │ │ -000117f0: 2e33 2e31 2046 6f72 6d73 206f 6620 6465 .3.1 Forms of de │ │ │ │ │ -00011800: 6669 6e69 7469 6f6e 730a 2d2d 2d2d 2d2d finitions.------ │ │ │ │ │ +00010b20: 2e2e 2e2e 2e2e 2e2e 0a0a 4265 666f 7265 ..........Before │ │ │ │ │ +00010b30: 2073 656e 6469 6e67 2065 6163 6820 666f sending each fo │ │ │ │ │ +00010b40: 7572 2d73 6964 6564 2062 6f64 7920 706f ur-sided body po │ │ │ │ │ +00010b50: 6c79 676f 6e20 6f66 2061 20e2 8098 7377 lygon of a ...sw │ │ │ │ │ +00010b60: 6565 70e2 8099 2074 6f20 7468 6520 6f75 eep... to the ou │ │ │ │ │ +00010b70: 7470 7574 2c0a e280 9873 6b65 7463 68e2 tput,....sketch. │ │ │ │ │ +00010b80: 8099 2074 6573 7473 2074 6f20 7365 6520 .. tests to see │ │ │ │ │ +00010b90: 6966 2069 7420 6973 2072 6f75 6768 6c79 if it is roughly │ │ │ │ │ +00010ba0: 2070 6c61 6e61 722e 2020 5369 6e63 6520 planar. Since │ │ │ │ │ +00010bb0: 706c 616e 6172 6974 7920 6973 0a6e 6563 planarity is.nec │ │ │ │ │ +00010bc0: 6573 7361 7279 2066 6f72 2070 726f 7065 essary for prope │ │ │ │ │ +00010bd0: 7220 6675 6e63 7469 6f6e 696e 6720 6f66 r functioning of │ │ │ │ │ +00010be0: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf │ │ │ │ │ +00010bf0: 6163 6520 616c 676f 7269 7468 6d2c 0a22 ace algorithm,." │ │ │ │ │ +00010c00: 7761 7270 6564 2220 706f 6c79 676f 6e73 warped" polygons │ │ │ │ │ +00010c10: 2061 7265 2061 7574 6f6d 6174 6963 616c are automatical │ │ │ │ │ +00010c20: 6c79 2073 706c 6974 2069 6e74 6f20 7477 ly split into tw │ │ │ │ │ +00010c30: 6f20 7472 6961 6e67 6c65 732e 0a0a 2020 o triangles... │ │ │ │ │ +00010c40: 2048 6f6c 652d 6669 6c6c 696e 6720 706f Hole-filling po │ │ │ │ │ +00010c50: 6c79 676f 6e73 2070 726f 6475 6365 6420 lygons produced │ │ │ │ │ +00010c60: 6279 2063 6c6f 7375 7265 2d74 6167 6765 by closure-tagge │ │ │ │ │ +00010c70: 6420 6c69 6e65 2073 7765 6570 7320 6172 d line sweeps ar │ │ │ │ │ +00010c80: 6520 6e6f 740a 7370 6c69 742e 2020 4e6f e not.split. No │ │ │ │ │ +00010c90: 7220 6172 6520 6f72 6967 696e 616c 2070 r are original p │ │ │ │ │ +00010ca0: 6f6c 7967 6f6e 7320 696e 2070 6f6c 7967 olygons in polyg │ │ │ │ │ +00010cb0: 6f6e 2073 7765 6570 732e 2020 4974 2069 on sweeps. It i │ │ │ │ │ +00010cc0: 7320 7468 6520 7573 6572 2773 0a72 6573 s the user's.res │ │ │ │ │ +00010cd0: 706f 6e73 6962 696c 6974 7920 746f 2065 ponsibility to e │ │ │ │ │ +00010ce0: 6e73 7572 6520 7468 6573 6520 6172 6520 nsure these are │ │ │ │ │ +00010cf0: 706c 616e 6172 2e0a 0a1f 0a46 696c 653a planar.....File: │ │ │ │ │ +00010d00: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00010d10: 6f64 653a 2042 6c6f 636b 732c 2020 4e65 ode: Blocks, Ne │ │ │ │ │ +00010d20: 7874 3a20 5265 7065 6174 732c 2020 5072 xt: Repeats, Pr │ │ │ │ │ +00010d30: 6576 3a20 5377 6565 7073 2c20 2055 703a ev: Sweeps, Up: │ │ │ │ │ +00010d40: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2. │ │ │ │ │ +00010d50: 3720 426c 6f63 6b73 0a2d 2d2d 2d2d 2d2d 7 Blocks.------- │ │ │ │ │ +00010d60: 2d2d 2d2d 2d0a 0a41 6e79 2073 6571 7565 -----..Any seque │ │ │ │ │ +00010d70: 6e63 6520 6f66 2064 7261 7761 626c 6573 nce of drawables │ │ │ │ │ +00010d80: 206d 6179 2062 6520 6772 6f75 7065 6420 may be grouped │ │ │ │ │ +00010d90: 696e 2061 20e2 809c 626c 6f63 6be2 809d in a ...block... │ │ │ │ │ +00010da0: 206d 6572 656c 7920 6279 0a65 6e63 6c6f merely by.enclo │ │ │ │ │ +00010db0: 7369 6e67 2074 6865 6d20 696e 2062 7261 sing them in bra │ │ │ │ │ +00010dc0: 6365 7320 e280 987b 207d e280 992e 2020 ces ...{ }.... │ │ │ │ │ +00010dd0: 4120 626c 6f63 6b20 6973 2069 7473 656c A block is itsel │ │ │ │ │ +00010de0: 6620 6472 6177 6162 6c65 2e20 2041 206b f drawable. A k │ │ │ │ │ +00010df0: 6579 2075 7365 0a6f 6620 626c 6f63 6b73 ey use.of blocks │ │ │ │ │ +00010e00: 2069 7320 746f 2065 7874 656e 6420 7468 is to extend th │ │ │ │ │ +00010e10: 6520 6566 6665 6374 206f 6620 6120 7369 e effect of a si │ │ │ │ │ +00010e20: 6e67 6c65 20e2 8098 6465 66e2 8099 2c20 ngle ...def..., │ │ │ │ │ +00010e30: 2a6e 6f74 650a 4465 6669 6e69 7469 6f6e *note.Definition │ │ │ │ │ +00010e40: 733a 3a2c 20e2 8098 7075 74e2 8099 202a s::, ...put... * │ │ │ │ │ +00010e50: 6e6f 7465 2050 7574 733a 3a2c 20e2 8098 note Puts::, ... │ │ │ │ │ +00010e60: 7377 6565 70e2 8099 202a 6e6f 7465 2053 sweep... *note S │ │ │ │ │ +00010e70: 7765 6570 733a 3a2c 206f 7220 e280 9872 weeps::, or ...r │ │ │ │ │ +00010e80: 6570 6561 74e2 8099 0a2a 6e6f 7465 2052 epeat....*note R │ │ │ │ │ +00010e90: 6570 6561 7473 3a3a 2074 6f20 696e 636c epeats:: to incl │ │ │ │ │ +00010ea0: 7564 6520 7365 7665 7261 6c20 6f62 6a65 ude several obje │ │ │ │ │ +00010eb0: 6374 7320 7261 7468 6572 2074 6861 6e20 cts rather than │ │ │ │ │ +00010ec0: 6f6e 652e 0a0a 2020 2044 6566 696e 6974 one... Definit │ │ │ │ │ +00010ed0: 696f 6e73 2028 2a4e 6f74 6520 4465 6669 ions (*Note Defi │ │ │ │ │ +00010ee0: 6e69 7469 6f6e 733a 3a2e 2920 2069 6e73 nitions::.) ins │ │ │ │ │ +00010ef0: 6964 6520 6120 626c 6f63 6b20 6861 7665 ide a block have │ │ │ │ │ +00010f00: 20e2 809c 6c65 7869 6361 6c0a 7363 6f70 ...lexical.scop │ │ │ │ │ +00010f10: 65e2 809d 2065 7874 656e 6469 6e67 2066 e... extending f │ │ │ │ │ +00010f20: 726f 6d20 7468 6520 706c 6163 6520 6f66 rom the place of │ │ │ │ │ +00010f30: 2064 6566 696e 6974 696f 6e20 746f 2074 definition to t │ │ │ │ │ +00010f40: 6865 2065 6e64 206f 6620 7468 6520 626c he end of the bl │ │ │ │ │ +00010f50: 6f63 6b2e 0a0a 1f0a 4669 6c65 3a20 736b ock.....File: sk │ │ │ │ │ +00010f60: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +00010f70: 3a20 5265 7065 6174 732c 2020 4e65 7874 : Repeats, Next │ │ │ │ │ +00010f80: 3a20 5075 7473 2c20 2050 7265 763a 2042 : Puts, Prev: B │ │ │ │ │ +00010f90: 6c6f 636b 732c 2020 5570 3a20 4472 6177 locks, Up: Draw │ │ │ │ │ +00010fa0: 6162 6c65 730a 0a33 2e32 2e38 2052 6570 ables..3.2.8 Rep │ │ │ │ │ +00010fb0: 6561 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d eats.----------- │ │ │ │ │ +00010fc0: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. │ │ │ │ │ +00010fd0: 2020 2072 6570 6561 7420 7b20 4e2c 2054 repeat { N, T │ │ │ │ │ +00010fe0: 5f31 2c20 545f 322c 202e 2e2e 2c20 545f _1, T_2, ..., T_ │ │ │ │ │ +00010ff0: 5220 7d20 5245 5045 4154 4544 5f4f 424a R } REPEATED_OBJ │ │ │ │ │ +00011000: 4543 540a 5468 6520 7265 7065 6174 206d ECT.The repeat m │ │ │ │ │ +00011010: 616b 6573 204e 2074 7261 6e73 666f 726d akes N transform │ │ │ │ │ +00011020: 6564 2063 6f70 6965 7320 6f66 2052 4550 ed copies of REP │ │ │ │ │ +00011030: 4541 5445 445f 4f42 4a45 4354 2028 696e EATED_OBJECT (in │ │ │ │ │ +00011040: 636c 7564 696e 6720 7468 650a 6f72 6967 cluding the.orig │ │ │ │ │ +00011050: 696e 616c 292e 2020 5468 6520 545f 4920 inal). The T_I │ │ │ │ │ +00011060: 6172 6520 7472 616e 7366 6f72 6d73 2e20 are transforms. │ │ │ │ │ +00011070: 2054 6865 206b 2774 6820 636f 7079 206f The k'th copy o │ │ │ │ │ +00011080: 6620 7468 650a 5245 5045 4154 4544 5f4f f the.REPEATED_O │ │ │ │ │ +00011090: 424a 4543 5420 2866 6f72 206b 3d30 2c31 BJECT (for k=0,1 │ │ │ │ │ +000110a0: 2c2e 2e2e 2c6e 2d31 2920 6973 2070 726f ,...,n-1) is pro │ │ │ │ │ +000110b0: 6475 6365 6420 696e 2074 6865 2073 616d duced in the sam │ │ │ │ │ +000110c0: 6520 6d61 6e6e 6572 2061 730a 666f 7220 e manner as.for │ │ │ │ │ +000110d0: e280 9873 7765 6570 e280 9973 2064 6573 ...sweep...s des │ │ │ │ │ +000110e0: 6372 6962 6564 2069 6e20 2a6e 6f74 6520 cribed in *note │ │ │ │ │ +000110f0: 5377 6565 7073 3a3a 2e20 2054 6869 7320 Sweeps::. This │ │ │ │ │ +00011100: 6973 2072 6570 6561 7465 6420 6865 7265 is repeated here │ │ │ │ │ +00011110: 2028 6e6f 2070 756e 0a69 6e74 656e 6465 (no pun.intende │ │ │ │ │ +00011120: 6429 2066 6f72 2063 6f6e 7665 6e69 656e d) for convenien │ │ │ │ │ +00011130: 6365 2e20 2054 6f20 6d61 6b65 2074 6865 ce. To make the │ │ │ │ │ +00011140: 206b 2774 6820 636f 7079 2c20 7468 6520 k'th copy, the │ │ │ │ │ +00011150: 666f 6c6c 6f77 696e 670a 7472 616e 7366 following.transf │ │ │ │ │ +00011160: 6f72 6d20 6973 2061 7070 6c69 6564 2074 orm is applied t │ │ │ │ │ +00011170: 6f20 7468 6520 6f72 6967 696e 616c 206f o the original o │ │ │ │ │ +00011180: 626a 6563 742e 0a20 2020 2020 545f 315e bject.. T_1^ │ │ │ │ │ +00011190: 6b20 7468 656e 2054 5f32 5e6b 2074 6865 k then T_2^k the │ │ │ │ │ +000111a0: 6e20 2e2e 2e20 7468 656e 2054 5f52 5e6b n ... then T_R^k │ │ │ │ │ +000111b0: 0a48 6572 6520 545e 6b20 6d65 616e 7320 .Here T^k means │ │ │ │ │ +000111c0: 2274 7261 6e73 666f 726d 2054 2061 7070 "transform T app │ │ │ │ │ +000111d0: 6c69 6564 206b 2074 696d 6573 2e22 0a0a lied k times.".. │ │ │ │ │ +000111e0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +000111f0: 6e66 6f2c 2020 4e6f 6465 3a20 5075 7473 nfo, Node: Puts │ │ │ │ │ +00011200: 2c20 2050 7265 763a 2052 6570 6561 7473 , Prev: Repeats │ │ │ │ │ +00011210: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables │ │ │ │ │ +00011220: 0a0a 332e 322e 3920 5075 7473 0a2d 2d2d ..3.2.9 Puts.--- │ │ │ │ │ +00011230: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax │ │ │ │ │ +00011240: 3a2a 0a20 2020 2020 7075 7420 7b20 5420 :*. put { T │ │ │ │ │ +00011250: 7d20 5055 545f 4f42 4a45 4354 0a50 7574 } PUT_OBJECT.Put │ │ │ │ │ +00011260: 206d 6572 656c 7920 6170 706c 6965 7320 merely applies │ │ │ │ │ +00011270: 7472 616e 7366 6f72 6d20 5420 746f 2074 transform T to t │ │ │ │ │ +00011280: 6865 2064 7261 7761 626c 6520 5055 545f he drawable PUT_ │ │ │ │ │ +00011290: 4f42 4a45 4354 2e0a 0a1f 0a46 696c 653a OBJECT.....File: │ │ │ │ │ +000112a0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +000112b0: 6f64 653a 2044 6566 696e 6974 696f 6e73 ode: Definitions │ │ │ │ │ +000112c0: 2c20 204e 6578 743a 2047 6c6f 6261 6c20 , Next: Global │ │ │ │ │ +000112d0: 656e 7669 726f 6e6d 656e 742c 2020 5072 environment, Pr │ │ │ │ │ +000112e0: 6576 3a20 4472 6177 6162 6c65 732c 2020 ev: Drawables, │ │ │ │ │ +000112f0: 5570 3a20 496e 7075 7420 6c61 6e67 7561 Up: Input langua │ │ │ │ │ +00011300: 6765 0a0a 332e 3320 4465 6669 6e69 7469 ge..3.3 Definiti │ │ │ │ │ +00011310: 6f6e 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ons.============ │ │ │ │ │ +00011320: 3d3d 3d0a 0a44 6566 696e 6974 696f 6e73 ===..Definitions │ │ │ │ │ +00011330: 2067 6976 6520 6e61 6d65 7320 746f 20e2 give names to . │ │ │ │ │ +00011340: 8098 736b 6574 6368 e280 9920 6f62 6a65 ..sketch... obje │ │ │ │ │ +00011350: 6374 732e 2020 4465 6669 6e69 7469 6f6e cts. Definition │ │ │ │ │ +00011360: 7320 616c 6f6e 6520 6172 650a 6265 6e69 s alone are.beni │ │ │ │ │ +00011370: 676e 2e20 2041 20e2 8098 736b 6574 6368 gn. A ...sketch │ │ │ │ │ +00011380: e280 9920 696e 7075 7420 6669 6c65 2063 ... input file c │ │ │ │ │ +00011390: 6f6e 7369 7374 696e 6720 656e 7469 7265 onsisting entire │ │ │ │ │ +000113a0: 6c79 206f 6620 6465 6669 6e69 7469 6f6e ly of definition │ │ │ │ │ +000113b0: 7320 7769 6c6c 0a67 656e 6572 6174 6520 s will.generate │ │ │ │ │ +000113c0: 6e6f 2064 7261 7769 6e67 2e20 204f 6e6c no drawing. Onl │ │ │ │ │ +000113d0: 7920 7768 656e 2064 6566 696e 6974 696f y when definitio │ │ │ │ │ +000113e0: 6e73 2061 7265 20e2 809c 7265 6665 7265 ns are ...refere │ │ │ │ │ +000113f0: 6e63 6564 e280 9d20 646f 2074 6865 790a nced... do they. │ │ │ │ │ +00011400: 706f 7465 6e74 6961 6c6c 7920 6c65 6164 potentially lead │ │ │ │ │ +00011410: 2074 6f20 696e 6b20 6f6e 2074 6865 2064 to ink on the d │ │ │ │ │ +00011420: 7261 7769 6e67 2e0a 0a20 2020 5468 6520 rawing... The │ │ │ │ │ +00011430: 696e 7465 6e74 206f 6620 6465 6669 6e69 intent of defini │ │ │ │ │ +00011440: 7469 6f6e 7320 6973 2074 6f20 6d61 6b65 tions is to make │ │ │ │ │ +00011450: 20e2 8098 736b 6574 6368 e280 9920 636f ...sketch... co │ │ │ │ │ +00011460: 6465 206d 6f72 6520 636f 6e63 6973 6520 de more concise │ │ │ │ │ +00011470: 616e 640a 7265 6164 6162 6c65 2e20 2054 and.readable. T │ │ │ │ │ +00011480: 6865 7265 2069 7320 6e6f 2069 6e70 7574 here is no input │ │ │ │ │ +00011490: 2066 696c 6520 656d 706c 6f79 696e 6720 file employing │ │ │ │ │ +000114a0: 6465 6669 6e69 7469 6f6e 7320 7468 6174 definitions that │ │ │ │ │ +000114b0: 2063 6f75 6c64 206e 6f74 0a62 6520 7265 could not.be re │ │ │ │ │ +000114c0: 2d77 7269 7474 656e 2077 6974 686f 7574 -written without │ │ │ │ │ +000114d0: 2074 6865 6d2e 0a0a 2020 2044 6566 696e them... Defin │ │ │ │ │ +000114e0: 6162 6c65 206f 626a 6563 7473 2069 6e63 able objects inc │ │ │ │ │ +000114f0: 6c75 6465 2061 6e79 2072 6573 756c 7420 lude any result │ │ │ │ │ +00011500: 6f66 2061 6e20 6166 6669 6e65 2061 7269 of an affine ari │ │ │ │ │ +00011510: 7468 6d65 7469 630a 6578 7072 6573 7369 thmetic.expressi │ │ │ │ │ +00011520: 6f6e 2028 7363 616c 6172 2c20 706f 696e on (scalar, poin │ │ │ │ │ +00011530: 742c 2076 6563 746f 722c 206f 7220 7472 t, vector, or tr │ │ │ │ │ +00011540: 616e 7366 6f72 6d29 2c20 616e 7920 6472 ansform), any dr │ │ │ │ │ +00011550: 6177 6162 6c65 206f 626a 6563 740a 2864 awable object.(d │ │ │ │ │ +00011560: 6f74 732c 206c 696e 652c 2063 7572 7665 ots, line, curve │ │ │ │ │ +00011570: 2c20 706f 6c79 676f 6e2c 2062 6c6f 636b , polygon, block │ │ │ │ │ +00011580: 2c20 7377 6565 702c 2070 7574 2c20 7265 , sweep, put, re │ │ │ │ │ +00011590: 7065 6174 2c20 6f72 2073 7065 6369 616c peat, or special │ │ │ │ │ +000115a0: 292c 2061 6e64 0a6f 7074 696f 6e20 7374 ), and.option st │ │ │ │ │ +000115b0: 7269 6e67 732e 2020 496e 2061 6464 6974 rings. In addit │ │ │ │ │ +000115c0: 696f 6e2c 20e2 809c 7461 6720 6465 6669 ion, ...tag defi │ │ │ │ │ +000115d0: 6e69 7469 6f6e 73e2 809d 2c20 7768 6963 nitions..., whic │ │ │ │ │ +000115e0: 6820 6861 7665 206e 6f0a 6173 736f 6369 h have no.associ │ │ │ │ │ +000115f0: 6174 6564 206f 626a 6563 7420 6174 2061 ated object at a │ │ │ │ │ +00011600: 6c6c 2c20 616c 6c6f 7720 7468 6520 6d65 ll, allow the me │ │ │ │ │ +00011610: 616e 696e 6720 6f66 206f 7468 6572 2064 aning of other d │ │ │ │ │ +00011620: 6566 696e 6974 696f 6e73 2074 6f20 6265 efinitions to be │ │ │ │ │ +00011630: 0a73 656c 6563 7465 6420 6672 6f6d 2061 .selected from a │ │ │ │ │ +00011640: 2073 6574 206f 6620 616c 7465 726e 6174 set of alternat │ │ │ │ │ +00011650: 6976 6573 2e20 2053 696e 6365 2074 6167 ives. Since tag │ │ │ │ │ +00011660: 7320 6d61 7920 6265 2064 6566 696e 6564 s may be defined │ │ │ │ │ +00011670: 2028 616e 640a 756e 6465 6669 6e65 6429 (and.undefined) │ │ │ │ │ +00011680: 2069 6e20 7468 6520 636f 6d6d 616e 6420 in the command │ │ │ │ │ +00011690: 6c69 6e65 206f 6620 e280 9873 6b65 7463 line of ...sketc │ │ │ │ │ +000116a0: 68e2 8099 2c20 7468 6579 2063 616e 2062 h..., they can b │ │ │ │ │ +000116b0: 6520 616e 2061 6964 2069 6e20 7468 650a e an aid in the. │ │ │ │ │ +000116c0: 7363 7269 7074 2d64 7269 7665 6e20 7072 script-driven pr │ │ │ │ │ +000116d0: 6570 6172 6174 696f 6e20 6f66 2064 6f63 eparation of doc │ │ │ │ │ +000116e0: 756d 656e 7473 2e0a 0a2a 204d 656e 753a uments...* Menu: │ │ │ │ │ +000116f0: 0a0a 2a20 466f 726d 7320 6f66 2064 6566 ..* Forms of def │ │ │ │ │ +00011700: 696e 6974 696f 6e73 3a3a 2020 2020 2020 initions:: │ │ │ │ │ +00011710: 2020 4469 6666 6572 656e 7420 6465 6673 Different defs │ │ │ │ │ +00011720: 2066 6f72 2064 6966 6665 7265 6e74 2070 for different p │ │ │ │ │ +00011730: 7572 706f 7365 732e 0a2a 2046 6f72 6d73 urposes..* Forms │ │ │ │ │ +00011740: 206f 6620 7265 6665 7265 6e63 6573 3a3a of references:: │ │ │ │ │ +00011750: 2020 2020 2020 2020 2048 6f77 2072 6566 How ref │ │ │ │ │ +00011760: 6572 656e 6365 7320 6465 6e6f 7465 2074 erences denote t │ │ │ │ │ +00011770: 7970 6573 2e0a 0a1f 0a46 696c 653a 2073 ypes.....File: s │ │ │ │ │ +00011780: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +00011790: 653a 2046 6f72 6d73 206f 6620 6465 6669 e: Forms of defi │ │ │ │ │ +000117a0: 6e69 7469 6f6e 732c 2020 4e65 7874 3a20 nitions, Next: │ │ │ │ │ +000117b0: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ +000117c0: 6365 732c 2020 5072 6576 3a20 4465 6669 ces, Prev: Defi │ │ │ │ │ +000117d0: 6e69 7469 6f6e 732c 2020 5570 3a20 4465 nitions, Up: De │ │ │ │ │ +000117e0: 6669 6e69 7469 6f6e 730a 0a33 2e33 2e31 finitions..3.3.1 │ │ │ │ │ +000117f0: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini │ │ │ │ │ +00011800: 7469 6f6e 730a 2d2d 2d2d 2d2d 2d2d 2d2d tions.---------- │ │ │ │ │ 00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00011820: 2d2d 2d2d 0a0a 4465 6669 6e69 7469 6f6e ----..Definition │ │ │ │ │ -00011830: 7320 6861 7665 2074 6872 6565 2070 6f73 s have three pos │ │ │ │ │ -00011840: 7369 626c 6520 666f 726d 732c 20e2 809c sible forms, ... │ │ │ │ │ -00011850: 7369 6d70 6c65 e280 9d2c 20e2 809c 7769 simple..., ...wi │ │ │ │ │ -00011860: 7468 2061 6c74 6572 6e61 7469 7665 73e2 th alternatives. │ │ │ │ │ -00011870: 809d 2c0a 616e 6420 e280 9c74 6167 e280 ..,.and ...tag.. │ │ │ │ │ -00011880: 9d20 6173 2073 686f 776e 2068 6572 6520 . as shown here │ │ │ │ │ -00011890: 696e 206f 7264 6572 2e0a 0a2a 5379 6e74 in order...*Synt │ │ │ │ │ -000118a0: 6178 3a2a 0a20 2020 2020 6465 6620 4944 ax:*. def ID │ │ │ │ │ -000118b0: 204f 424a 4543 5420 2025 2073 696d 706c OBJECT % simpl │ │ │ │ │ -000118c0: 6520 6465 660a 2020 2020 2064 6566 2049 e def. def I │ │ │ │ │ -000118d0: 4420 3c54 4147 5f31 3e20 4f42 4a45 4354 D OBJECT │ │ │ │ │ -000118e0: 5f31 2020 2520 6465 6620 7769 7468 2061 _1 % def with a │ │ │ │ │ -000118f0: 6c74 6572 6e61 7469 7665 730a 2020 2020 lternatives. │ │ │ │ │ -00011900: 2020 2020 2020 2020 3c54 4147 5f32 3e20 │ │ │ │ │ -00011910: 4f42 4a45 4354 5f32 0a20 2020 2020 2020 OBJECT_2. │ │ │ │ │ -00011920: 2020 2020 202e 2e2e 0a20 2020 2020 2020 .... │ │ │ │ │ -00011930: 2020 2020 203c 3e20 4445 4641 554c 545f <> DEFAULT_ │ │ │ │ │ -00011940: 4f42 4a45 4354 0a20 2020 2020 6465 6620 OBJECT. def │ │ │ │ │ -00011950: 4944 203c 3e20 2025 2074 6167 2064 6566 ID <> % tag def │ │ │ │ │ -00011960: 0a54 6865 2073 696d 706c 6520 6465 6669 .The simple defi │ │ │ │ │ -00011970: 6e69 7469 6f6e 206d 6572 656c 7920 6173 nition merely as │ │ │ │ │ -00011980: 736f 6369 6174 6573 204f 424a 4543 5420 sociates OBJECT │ │ │ │ │ -00011990: 7769 7468 2074 6865 2069 6465 6e74 6966 with the identif │ │ │ │ │ -000119a0: 6965 7220 4944 2e0a 0a20 2020 5468 6520 ier ID... The │ │ │ │ │ -000119b0: 6465 6669 6e69 7469 6f6e 2077 6974 6820 definition with │ │ │ │ │ -000119c0: 616c 7465 726e 6174 6976 6573 2061 7373 alternatives ass │ │ │ │ │ -000119d0: 6f63 6961 7465 7320 4f42 4a45 4354 5f49 ociates OBJECT_I │ │ │ │ │ -000119e0: 2077 6974 6820 4944 2c20 7768 6572 650a with ID, where. │ │ │ │ │ -000119f0: 5441 475f 4920 6973 2074 6865 2066 6972 TAG_I is the fir │ │ │ │ │ -00011a00: 7374 2064 6566 696e 6564 2074 6167 2069 st defined tag i │ │ │ │ │ -00011a10: 6e20 7468 6520 6c69 7374 206f 6620 616c n the list of al │ │ │ │ │ -00011a20: 7465 726e 6174 6976 6520 7461 670a 7265 ternative tag.re │ │ │ │ │ -00011a30: 6665 7265 6e63 6573 2e20 2049 6620 6e6f ferences. If no │ │ │ │ │ -00011a40: 2074 6167 2069 6e20 7468 6520 6c69 7374 tag in the list │ │ │ │ │ -00011a50: 2069 7320 6465 6669 6e65 642c 2074 6865 is defined, the │ │ │ │ │ -00011a60: 6e20 4445 4641 554c 545f 4f42 4a45 4354 n DEFAULT_OBJECT │ │ │ │ │ -00011a70: 2069 730a 6173 736f 6369 6174 6564 2077 is.associated w │ │ │ │ │ -00011a80: 6974 6820 6964 656e 7469 6669 6572 2049 ith identifier I │ │ │ │ │ -00011a90: 442e 0a0a 2020 2054 6865 2066 696e 616c D... The final │ │ │ │ │ -00011aa0: 2066 6f72 6d20 6465 6669 6e65 7320 4944 form defines ID │ │ │ │ │ -00011ab0: 2061 7320 6120 7461 672e 2020 416e 6f74 as a tag. Anot │ │ │ │ │ -00011ac0: 6865 7220 7761 7920 746f 2064 6566 696e her way to defin │ │ │ │ │ -00011ad0: 6520 6120 7461 6720 6973 0a77 6974 6820 e a tag is.with │ │ │ │ │ -00011ae0: 7468 6520 e280 982d 44e2 8099 2063 6f6d the ...-D... com │ │ │ │ │ -00011af0: 6d61 6e64 206c 696e 6520 6f70 7469 6f6e mand line option │ │ │ │ │ -00011b00: 2e20 202a 4e6f 7465 2043 6f6d 6d61 6e64 . *Note Command │ │ │ │ │ -00011b10: 206c 696e 653a 3a2e 0a0a 1f0a 4669 6c65 line::.....File │ │ │ │ │ -00011b20: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -00011b30: 4e6f 6465 3a20 466f 726d 7320 6f66 2072 Node: Forms of r │ │ │ │ │ -00011b40: 6566 6572 656e 6365 732c 2020 5072 6576 eferences, Prev │ │ │ │ │ -00011b50: 3a20 466f 726d 7320 6f66 2064 6566 696e : Forms of defin │ │ │ │ │ -00011b60: 6974 696f 6e73 2c20 2055 703a 2044 6566 itions, Up: Def │ │ │ │ │ -00011b70: 696e 6974 696f 6e73 0a0a 332e 332e 3220 initions..3.3.2 │ │ │ │ │ -00011b80: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ -00011b90: 6365 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ces.------------ │ │ │ │ │ -00011ba0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a52 -------------..R │ │ │ │ │ -00011bb0: 6566 6572 656e 6365 7320 746f 2064 6566 eferences to def │ │ │ │ │ -00011bc0: 696e 6564 206e 616d 6573 2061 7265 2065 ined names are e │ │ │ │ │ -00011bd0: 6e63 6c6f 7365 6420 696e 2062 7261 636b nclosed in brack │ │ │ │ │ -00011be0: 6574 696e 6720 6465 6c69 6d69 7465 7273 eting delimiters │ │ │ │ │ -00011bf0: 2e20 2054 6865 0a64 656c 696d 6974 6572 . The.delimiter │ │ │ │ │ -00011c00: 2063 6861 7261 6374 6572 7320 696d 706c characters impl │ │ │ │ │ -00011c10: 7920 7468 6520 7479 7065 206f 6620 7468 y the type of th │ │ │ │ │ -00011c20: 6520 6173 736f 6369 6174 6564 2076 616c e associated val │ │ │ │ │ -00011c30: 7565 2061 7320 7368 6f77 6e20 696e 0a74 ue as shown in.t │ │ │ │ │ -00011c40: 6865 2074 6162 6c65 2062 656c 6f77 2e20 he table below. │ │ │ │ │ -00011c50: 2041 2074 7970 6520 6572 726f 7220 6973 A type error is │ │ │ │ │ -00011c60: 2072 6169 7365 6420 6966 2074 6865 2074 raised if the t │ │ │ │ │ -00011c70: 7970 6520 6f66 2061 2072 6566 6572 656e ype of a referen │ │ │ │ │ -00011c80: 6365 2064 6f65 730a 6e6f 7420 6d61 7463 ce does.not matc │ │ │ │ │ -00011c90: 6820 7468 6520 7479 7065 206f 6620 7468 h the type of th │ │ │ │ │ -00011ca0: 6520 6465 6669 6e65 6420 7661 6c75 652e e defined value. │ │ │ │ │ -00011cb0: 2020 5468 6520 696e 7465 6e74 206f 6620 The intent of │ │ │ │ │ -00011cc0: 7468 6973 206d 6563 6861 6e69 736d 0a69 this mechanism.i │ │ │ │ │ -00011cd0: 732c 2061 6761 696e 2c20 746f 206d 616b s, again, to mak │ │ │ │ │ -00011ce0: 6520 e280 9873 6b65 7463 68e2 8099 2069 e ...sketch... i │ │ │ │ │ -00011cf0: 6e70 7574 2066 696c 6573 206d 6f72 6520 nput files more │ │ │ │ │ -00011d00: 7265 6164 6162 6c65 2e0a 5479 7065 2020 readable..Type │ │ │ │ │ -00011d10: 2020 2020 2020 5265 6665 7265 6e63 650a Reference. │ │ │ │ │ +00011820: 0a0a 4465 6669 6e69 7469 6f6e 7320 6861 ..Definitions ha │ │ │ │ │ +00011830: 7665 2074 6872 6565 2070 6f73 7369 626c ve three possibl │ │ │ │ │ +00011840: 6520 666f 726d 732c 20e2 809c 7369 6d70 e forms, ...simp │ │ │ │ │ +00011850: 6c65 e280 9d2c 20e2 809c 7769 7468 2061 le..., ...with a │ │ │ │ │ +00011860: 6c74 6572 6e61 7469 7665 73e2 809d 2c0a lternatives...,. │ │ │ │ │ +00011870: 616e 6420 e280 9c74 6167 e280 9d20 6173 and ...tag... as │ │ │ │ │ +00011880: 2073 686f 776e 2068 6572 6520 696e 206f shown here in o │ │ │ │ │ +00011890: 7264 6572 2e0a 0a2a 5379 6e74 6178 3a2a rder...*Syntax:* │ │ │ │ │ +000118a0: 0a20 2020 2020 6465 6620 4944 204f 424a . def ID OBJ │ │ │ │ │ +000118b0: 4543 5420 2025 2073 696d 706c 6520 6465 ECT % simple de │ │ │ │ │ +000118c0: 660a 2020 2020 2064 6566 2049 4420 3c54 f. def ID OBJECT_1 │ │ │ │ │ +000118e0: 2520 6465 6620 7769 7468 2061 6c74 6572 % def with alter │ │ │ │ │ +000118f0: 6e61 7469 7665 730a 2020 2020 2020 2020 natives. │ │ │ │ │ +00011900: 2020 2020 3c54 4147 5f32 3e20 4f42 4a45 OBJE │ │ │ │ │ +00011910: 4354 5f32 0a20 2020 2020 2020 2020 2020 CT_2. │ │ │ │ │ +00011920: 202e 2e2e 0a20 2020 2020 2020 2020 2020 .... │ │ │ │ │ +00011930: 203c 3e20 4445 4641 554c 545f 4f42 4a45 <> DEFAULT_OBJE │ │ │ │ │ +00011940: 4354 0a20 2020 2020 6465 6620 4944 203c CT. def ID < │ │ │ │ │ +00011950: 3e20 2025 2074 6167 2064 6566 0a54 6865 > % tag def.The │ │ │ │ │ +00011960: 2073 696d 706c 6520 6465 6669 6e69 7469 simple definiti │ │ │ │ │ +00011970: 6f6e 206d 6572 656c 7920 6173 736f 6369 on merely associ │ │ │ │ │ +00011980: 6174 6573 204f 424a 4543 5420 7769 7468 ates OBJECT with │ │ │ │ │ +00011990: 2074 6865 2069 6465 6e74 6966 6965 7220 the identifier │ │ │ │ │ +000119a0: 4944 2e0a 0a20 2020 5468 6520 6465 6669 ID... The defi │ │ │ │ │ +000119b0: 6e69 7469 6f6e 2077 6974 6820 616c 7465 nition with alte │ │ │ │ │ +000119c0: 726e 6174 6976 6573 2061 7373 6f63 6961 rnatives associa │ │ │ │ │ +000119d0: 7465 7320 4f42 4a45 4354 5f49 2077 6974 tes OBJECT_I wit │ │ │ │ │ +000119e0: 6820 4944 2c20 7768 6572 650a 5441 475f h ID, where.TAG_ │ │ │ │ │ +000119f0: 4920 6973 2074 6865 2066 6972 7374 2064 I is the first d │ │ │ │ │ +00011a00: 6566 696e 6564 2074 6167 2069 6e20 7468 efined tag in th │ │ │ │ │ +00011a10: 6520 6c69 7374 206f 6620 616c 7465 726e e list of altern │ │ │ │ │ +00011a20: 6174 6976 6520 7461 670a 7265 6665 7265 ative tag.refere │ │ │ │ │ +00011a30: 6e63 6573 2e20 2049 6620 6e6f 2074 6167 nces. If no tag │ │ │ │ │ +00011a40: 2069 6e20 7468 6520 6c69 7374 2069 7320 in the list is │ │ │ │ │ +00011a50: 6465 6669 6e65 642c 2074 6865 6e20 4445 defined, then DE │ │ │ │ │ +00011a60: 4641 554c 545f 4f42 4a45 4354 2069 730a FAULT_OBJECT is. │ │ │ │ │ +00011a70: 6173 736f 6369 6174 6564 2077 6974 6820 associated with │ │ │ │ │ +00011a80: 6964 656e 7469 6669 6572 2049 442e 0a0a identifier ID... │ │ │ │ │ +00011a90: 2020 2054 6865 2066 696e 616c 2066 6f72 The final for │ │ │ │ │ +00011aa0: 6d20 6465 6669 6e65 7320 4944 2061 7320 m defines ID as │ │ │ │ │ +00011ab0: 6120 7461 672e 2020 416e 6f74 6865 7220 a tag. Another │ │ │ │ │ +00011ac0: 7761 7920 746f 2064 6566 696e 6520 6120 way to define a │ │ │ │ │ +00011ad0: 7461 6720 6973 0a77 6974 6820 7468 6520 tag is.with the │ │ │ │ │ +00011ae0: e280 982d 44e2 8099 2063 6f6d 6d61 6e64 ...-D... command │ │ │ │ │ +00011af0: 206c 696e 6520 6f70 7469 6f6e 2e20 202a line option. * │ │ │ │ │ +00011b00: 4e6f 7465 2043 6f6d 6d61 6e64 206c 696e Note Command lin │ │ │ │ │ +00011b10: 653a 3a2e 0a0a 1f0a 4669 6c65 3a20 736b e::.....File: sk │ │ │ │ │ +00011b20: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +00011b30: 3a20 466f 726d 7320 6f66 2072 6566 6572 : Forms of refer │ │ │ │ │ +00011b40: 656e 6365 732c 2020 5072 6576 3a20 466f ences, Prev: Fo │ │ │ │ │ +00011b50: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio │ │ │ │ │ +00011b60: 6e73 2c20 2055 703a 2044 6566 696e 6974 ns, Up: Definit │ │ │ │ │ +00011b70: 696f 6e73 0a0a 332e 332e 3220 466f 726d ions..3.3.2 Form │ │ │ │ │ +00011b80: 7320 6f66 2072 6566 6572 656e 6365 730a s of references. │ │ │ │ │ +00011b90: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00011ba0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a52 6566 6572 ---------..Refer │ │ │ │ │ +00011bb0: 656e 6365 7320 746f 2064 6566 696e 6564 ences to defined │ │ │ │ │ +00011bc0: 206e 616d 6573 2061 7265 2065 6e63 6c6f names are enclo │ │ │ │ │ +00011bd0: 7365 6420 696e 2062 7261 636b 6574 696e sed in bracketin │ │ │ │ │ +00011be0: 6720 6465 6c69 6d69 7465 7273 2e20 2054 g delimiters. T │ │ │ │ │ +00011bf0: 6865 0a64 656c 696d 6974 6572 2063 6861 he.delimiter cha │ │ │ │ │ +00011c00: 7261 6374 6572 7320 696d 706c 7920 7468 racters imply th │ │ │ │ │ +00011c10: 6520 7479 7065 206f 6620 7468 6520 6173 e type of the as │ │ │ │ │ +00011c20: 736f 6369 6174 6564 2076 616c 7565 2061 sociated value a │ │ │ │ │ +00011c30: 7320 7368 6f77 6e20 696e 0a74 6865 2074 s shown in.the t │ │ │ │ │ +00011c40: 6162 6c65 2062 656c 6f77 2e20 2041 2074 able below. A t │ │ │ │ │ +00011c50: 7970 6520 6572 726f 7220 6973 2072 6169 ype error is rai │ │ │ │ │ +00011c60: 7365 6420 6966 2074 6865 2074 7970 6520 sed if the type │ │ │ │ │ +00011c70: 6f66 2061 2072 6566 6572 656e 6365 2064 of a reference d │ │ │ │ │ +00011c80: 6f65 730a 6e6f 7420 6d61 7463 6820 7468 oes.not match th │ │ │ │ │ +00011c90: 6520 7479 7065 206f 6620 7468 6520 6465 e type of the de │ │ │ │ │ +00011ca0: 6669 6e65 6420 7661 6c75 652e 2020 5468 fined value. Th │ │ │ │ │ +00011cb0: 6520 696e 7465 6e74 206f 6620 7468 6973 e intent of this │ │ │ │ │ +00011cc0: 206d 6563 6861 6e69 736d 0a69 732c 2061 mechanism.is, a │ │ │ │ │ +00011cd0: 6761 696e 2c20 746f 206d 616b 6520 e280 gain, to make .. │ │ │ │ │ +00011ce0: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input │ │ │ │ │ +00011cf0: 2066 696c 6573 206d 6f72 6520 7265 6164 files more read │ │ │ │ │ +00011d00: 6162 6c65 2e0a 5479 7065 2020 2020 2020 able..Type │ │ │ │ │ +00011d10: 2020 5265 6665 7265 6e63 650a 2d2d 2d2d Reference.---- │ │ │ │ │ 00011d20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00011d30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00011d40: 2d2d 2d2d 2d2d 2d2d 2d2d 0a73 6361 6c61 ----------.scala │ │ │ │ │ -00011d50: 7220 2020 2020 20e2 8098 4944 e280 990a r ...ID.... │ │ │ │ │ -00011d60: 706f 696e 7420 2020 2020 2020 e280 9828 point ...( │ │ │ │ │ -00011d70: 4944 29e2 8099 0a76 6563 746f 7220 2020 ID)....vector │ │ │ │ │ -00011d80: 2020 20e2 8098 5b49 445d e280 990a 7472 ...[ID]....tr │ │ │ │ │ -00011d90: 616e 7366 6f72 6d20 2020 e280 985b 5b49 ansform ...[[I │ │ │ │ │ -00011da0: 445d 5de2 8099 0a64 7261 7761 626c 6520 D]]....drawable │ │ │ │ │ -00011db0: 2020 20e2 8098 7b49 447d e280 990a 6f70 ...{ID}....op │ │ │ │ │ -00011dc0: 7469 6f6e 7320 2020 2020 e280 985b 4944 tions ...[ID │ │ │ │ │ -00011dd0: 5de2 8099 206f 7220 e280 985b 4944 312c ]... or ...[ID1, │ │ │ │ │ -00011de0: 2e2e 2e2c 4944 4e5d e280 990a 7461 6720 ...,IDN]....tag │ │ │ │ │ -00011df0: 2020 2020 2020 2020 e280 983c 4944 3ee2 .... │ │ │ │ │ -00011e00: 8099 0a0a 4e6f 7465 2074 6861 7420 7371 ....Note that sq │ │ │ │ │ -00011e10: 7561 7265 2062 7261 636b 6574 7320 e280 uare brackets .. │ │ │ │ │ -00011e20: 985b 205d e280 9920 6172 6520 7573 6564 .[ ]... are used │ │ │ │ │ -00011e30: 2062 6f74 6820 666f 7220 7665 6374 6f72 both for vector │ │ │ │ │ -00011e40: 2061 6e64 2066 6f72 206f 7074 696f 6e73 and for options │ │ │ │ │ -00011e50: 0a72 6566 6572 656e 6365 732e 2020 4465 .references. De │ │ │ │ │ -00011e60: 7461 696c 7320 6f66 20e2 8098 736b 6574 tails of ...sket │ │ │ │ │ -00011e70: 6368 e280 9920 7379 6e74 6178 206d 616b ch... syntax mak │ │ │ │ │ -00011e80: 6520 6974 2069 6d70 6f73 7369 626c 6520 e it impossible │ │ │ │ │ -00011e90: 666f 7220 7468 6573 6520 7477 6f0a 7265 for these two.re │ │ │ │ │ -00011ea0: 6665 7265 6e63 6520 7479 7065 7320 746f ference types to │ │ │ │ │ -00011eb0: 2062 6520 636f 6e66 7573 6564 2e20 2054 be confused. T │ │ │ │ │ -00011ec0: 6865 2073 7065 6369 616c 206d 756c 7469 he special multi │ │ │ │ │ -00011ed0: 706c 6520 7265 6665 7265 6e63 650a e280 ple reference... │ │ │ │ │ -00011ee0: 985b 4944 312c 4944 322c 2e2e 2e2c 4944 .[ID1,ID2,...,ID │ │ │ │ │ -00011ef0: 4e5d e280 9920 6163 7473 2061 7320 6966 N]... acts as if │ │ │ │ │ -00011f00: 2074 6865 2072 6573 7065 6374 6976 6520 the respective │ │ │ │ │ -00011f10: 6c69 7374 7320 6f66 206f 7074 696f 6e73 lists of options │ │ │ │ │ -00011f20: 2077 6572 650a 636f 6e63 6174 656e 6174 were.concatenat │ │ │ │ │ -00011f30: 6564 2e0a 0a1f 0a46 696c 653a 2073 6b65 ed.....File: ske │ │ │ │ │ -00011f40: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -00011f50: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm │ │ │ │ │ -00011f60: 656e 742c 2020 5072 6576 3a20 4465 6669 ent, Prev: Defi │ │ │ │ │ -00011f70: 6e69 7469 6f6e 732c 2020 5570 3a20 496e nitions, Up: In │ │ │ │ │ -00011f80: 7075 7420 6c61 6e67 7561 6765 0a0a 332e put language..3. │ │ │ │ │ -00011f90: 3420 476c 6f62 616c 2065 6e76 6972 6f6e 4 Global environ │ │ │ │ │ -00011fa0: 6d65 6e74 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ment.=========== │ │ │ │ │ -00011fb0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 6e20 ===========..An │ │ │ │ │ -00011fc0: 6f70 7469 6f6e 616c 2067 6c6f 6261 6c20 optional global │ │ │ │ │ -00011fd0: 656e 7669 726f 6e6d 656e 7420 626c 6f63 environment bloc │ │ │ │ │ -00011fe0: 6b20 7072 6f76 6964 6573 2061 2066 6577 k provides a few │ │ │ │ │ -00011ff0: 2077 6179 7320 746f 2061 6666 6563 7420 ways to affect │ │ │ │ │ -00012000: 7468 650a 656e 7469 7265 2073 6365 6e65 the.entire scene │ │ │ │ │ -00012010: 2e20 2054 6865 2062 6c6f 636b 206d 7573 . The block mus │ │ │ │ │ -00012020: 7420 6170 7065 6172 2061 7320 7468 6520 t appear as the │ │ │ │ │ -00012030: 6c61 7374 2074 6578 7420 696e 2074 6865 last text in the │ │ │ │ │ -00012040: 20e2 8098 736b 6574 6368 e280 990a 696e ...sketch....in │ │ │ │ │ -00012050: 7075 7420 6669 6c65 2e20 2049 7420 6d61 put file. It ma │ │ │ │ │ -00012060: 7920 696e 636c 7564 6520 6465 6669 6e69 y include defini │ │ │ │ │ -00012070: 7469 6f6e 732c 2062 7574 206e 6f74 6520 tions, but note │ │ │ │ │ -00012080: 7468 6174 2070 7265 7669 6f75 730a 6465 that previous.de │ │ │ │ │ -00012090: 6669 6e69 7469 6f6e 7320 6174 2074 6865 finitions at the │ │ │ │ │ -000120a0: 2074 6f70 206c 6576 656c 2028 6e6f 7420 top level (not │ │ │ │ │ -000120b0: 6e65 7374 6564 2069 6e73 6964 6520 626c nested inside bl │ │ │ │ │ -000120c0: 6f63 6b73 2920 6172 6520 616c 736f 0a61 ocks) are also.a │ │ │ │ │ -000120d0: 7661 696c 6162 6c65 2e0a 0a2a 5379 6e74 vailable...*Synt │ │ │ │ │ -000120e0: 6178 3a2a 0a20 2020 2020 676c 6f62 616c ax:*. global │ │ │ │ │ -000120f0: 207b 2045 4e56 4952 4f4e 4d45 4e54 5f53 { ENVIRONMENT_S │ │ │ │ │ -00012100: 4554 5449 4e47 5320 7d0a 5468 6520 636f ETTINGS }.The co │ │ │ │ │ -00012110: 6e74 656e 7473 206f 6620 454e 5649 524f ntents of ENVIRO │ │ │ │ │ -00012120: 4e4d 454e 545f 5345 5454 494e 4753 2061 NMENT_SETTINGS a │ │ │ │ │ -00012130: 7265 2064 6973 6375 7373 6564 2069 6e20 re discussed in │ │ │ │ │ -00012140: 7468 6520 7365 6374 696f 6e73 2074 6861 the sections tha │ │ │ │ │ -00012150: 740a 666f 6c6c 6f77 2e0a 0a2a 204d 656e t.follow...* Men │ │ │ │ │ -00012160: 753a 0a0a 2a20 476c 6f62 616c 206f 7074 u:..* Global opt │ │ │ │ │ -00012170: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ -00012180: 2020 2020 4174 7472 6962 7574 6573 206f Attributes o │ │ │ │ │ -00012190: 6620 7468 6520 656e 7469 7265 2064 7261 f the entire dra │ │ │ │ │ -000121a0: 7769 6e67 2e0a 2a20 4361 6d65 7261 3a3a wing..* Camera:: │ │ │ │ │ +00011d40: 2d2d 2d2d 2d2d 0a73 6361 6c61 7220 2020 ------.scalar │ │ │ │ │ +00011d50: 2020 20e2 8098 4944 e280 990a 706f 696e ...ID....poin │ │ │ │ │ +00011d60: 7420 2020 2020 2020 e280 9828 4944 29e2 t ...(ID). │ │ │ │ │ +00011d70: 8099 0a76 6563 746f 7220 2020 2020 20e2 ...vector . │ │ │ │ │ +00011d80: 8098 5b49 445d e280 990a 7472 616e 7366 ..[ID]....transf │ │ │ │ │ +00011d90: 6f72 6d20 2020 e280 985b 5b49 445d 5de2 orm ...[[ID]]. │ │ │ │ │ +00011da0: 8099 0a64 7261 7761 626c 6520 2020 20e2 ...drawable . │ │ │ │ │ +00011db0: 8098 7b49 447d e280 990a 6f70 7469 6f6e ..{ID}....option │ │ │ │ │ +00011dc0: 7320 2020 2020 e280 985b 4944 5de2 8099 s ...[ID]... │ │ │ │ │ +00011dd0: 206f 7220 e280 985b 4944 312c 2e2e 2e2c or ...[ID1,..., │ │ │ │ │ +00011de0: 4944 4e5d e280 990a 7461 6720 2020 2020 IDN]....tag │ │ │ │ │ +00011df0: 2020 2020 e280 983c 4944 3ee2 8099 0a0a ........ │ │ │ │ │ +00011e00: 4e6f 7465 2074 6861 7420 7371 7561 7265 Note that square │ │ │ │ │ +00011e10: 2062 7261 636b 6574 7320 e280 985b 205d brackets ...[ ] │ │ │ │ │ +00011e20: e280 9920 6172 6520 7573 6564 2062 6f74 ... are used bot │ │ │ │ │ +00011e30: 6820 666f 7220 7665 6374 6f72 2061 6e64 h for vector and │ │ │ │ │ +00011e40: 2066 6f72 206f 7074 696f 6e73 0a72 6566 for options.ref │ │ │ │ │ +00011e50: 6572 656e 6365 732e 2020 4465 7461 696c erences. Detail │ │ │ │ │ +00011e60: 7320 6f66 20e2 8098 736b 6574 6368 e280 s of ...sketch.. │ │ │ │ │ +00011e70: 9920 7379 6e74 6178 206d 616b 6520 6974 . syntax make it │ │ │ │ │ +00011e80: 2069 6d70 6f73 7369 626c 6520 666f 7220 impossible for │ │ │ │ │ +00011e90: 7468 6573 6520 7477 6f0a 7265 6665 7265 these two.refere │ │ │ │ │ +00011ea0: 6e63 6520 7479 7065 7320 746f 2062 6520 nce types to be │ │ │ │ │ +00011eb0: 636f 6e66 7573 6564 2e20 2054 6865 2073 confused. The s │ │ │ │ │ +00011ec0: 7065 6369 616c 206d 756c 7469 706c 6520 pecial multiple │ │ │ │ │ +00011ed0: 7265 6665 7265 6e63 650a e280 985b 4944 reference....[ID │ │ │ │ │ +00011ee0: 312c 4944 322c 2e2e 2e2c 4944 4e5d e280 1,ID2,...,IDN].. │ │ │ │ │ +00011ef0: 9920 6163 7473 2061 7320 6966 2074 6865 . acts as if the │ │ │ │ │ +00011f00: 2072 6573 7065 6374 6976 6520 6c69 7374 respective list │ │ │ │ │ +00011f10: 7320 6f66 206f 7074 696f 6e73 2077 6572 s of options wer │ │ │ │ │ +00011f20: 650a 636f 6e63 6174 656e 6174 6564 2e0a e.concatenated.. │ │ │ │ │ +00011f30: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +00011f40: 696e 666f 2c20 204e 6f64 653a 2047 6c6f info, Node: Glo │ │ │ │ │ +00011f50: 6261 6c20 656e 7669 726f 6e6d 656e 742c bal environment, │ │ │ │ │ +00011f60: 2020 5072 6576 3a20 4465 6669 6e69 7469 Prev: Definiti │ │ │ │ │ +00011f70: 6f6e 732c 2020 5570 3a20 496e 7075 7420 ons, Up: Input │ │ │ │ │ +00011f80: 6c61 6e67 7561 6765 0a0a 332e 3420 476c language..3.4 Gl │ │ │ │ │ +00011f90: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment │ │ │ │ │ +00011fa0: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .=============== │ │ │ │ │ +00011fb0: 3d3d 3d3d 3d3d 3d0a 0a41 6e20 6f70 7469 =======..An opti │ │ │ │ │ +00011fc0: 6f6e 616c 2067 6c6f 6261 6c20 656e 7669 onal global envi │ │ │ │ │ +00011fd0: 726f 6e6d 656e 7420 626c 6f63 6b20 7072 ronment block pr │ │ │ │ │ +00011fe0: 6f76 6964 6573 2061 2066 6577 2077 6179 ovides a few way │ │ │ │ │ +00011ff0: 7320 746f 2061 6666 6563 7420 7468 650a s to affect the. │ │ │ │ │ +00012000: 656e 7469 7265 2073 6365 6e65 2e20 2054 entire scene. T │ │ │ │ │ +00012010: 6865 2062 6c6f 636b 206d 7573 7420 6170 he block must ap │ │ │ │ │ +00012020: 7065 6172 2061 7320 7468 6520 6c61 7374 pear as the last │ │ │ │ │ +00012030: 2074 6578 7420 696e 2074 6865 20e2 8098 text in the ... │ │ │ │ │ +00012040: 736b 6574 6368 e280 990a 696e 7075 7420 sketch....input │ │ │ │ │ +00012050: 6669 6c65 2e20 2049 7420 6d61 7920 696e file. It may in │ │ │ │ │ +00012060: 636c 7564 6520 6465 6669 6e69 7469 6f6e clude definition │ │ │ │ │ +00012070: 732c 2062 7574 206e 6f74 6520 7468 6174 s, but note that │ │ │ │ │ +00012080: 2070 7265 7669 6f75 730a 6465 6669 6e69 previous.defini │ │ │ │ │ +00012090: 7469 6f6e 7320 6174 2074 6865 2074 6f70 tions at the top │ │ │ │ │ +000120a0: 206c 6576 656c 2028 6e6f 7420 6e65 7374 level (not nest │ │ │ │ │ +000120b0: 6564 2069 6e73 6964 6520 626c 6f63 6b73 ed inside blocks │ │ │ │ │ +000120c0: 2920 6172 6520 616c 736f 0a61 7661 696c ) are also.avail │ │ │ │ │ +000120d0: 6162 6c65 2e0a 0a2a 5379 6e74 6178 3a2a able...*Syntax:* │ │ │ │ │ +000120e0: 0a20 2020 2020 676c 6f62 616c 207b 2045 . global { E │ │ │ │ │ +000120f0: 4e56 4952 4f4e 4d45 4e54 5f53 4554 5449 NVIRONMENT_SETTI │ │ │ │ │ +00012100: 4e47 5320 7d0a 5468 6520 636f 6e74 656e NGS }.The conten │ │ │ │ │ +00012110: 7473 206f 6620 454e 5649 524f 4e4d 454e ts of ENVIRONMEN │ │ │ │ │ +00012120: 545f 5345 5454 494e 4753 2061 7265 2064 T_SETTINGS are d │ │ │ │ │ +00012130: 6973 6375 7373 6564 2069 6e20 7468 6520 iscussed in the │ │ │ │ │ +00012140: 7365 6374 696f 6e73 2074 6861 740a 666f sections that.fo │ │ │ │ │ +00012150: 6c6c 6f77 2e0a 0a2a 204d 656e 753a 0a0a llow...* Menu:.. │ │ │ │ │ +00012160: 2a20 476c 6f62 616c 206f 7074 696f 6e73 * Global options │ │ │ │ │ +00012170: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00012180: 4174 7472 6962 7574 6573 206f 6620 7468 Attributes of th │ │ │ │ │ +00012190: 6520 656e 7469 7265 2064 7261 7769 6e67 e entire drawing │ │ │ │ │ +000121a0: 2e0a 2a20 4361 6d65 7261 3a3a 2020 2020 ..* Camera:: │ │ │ │ │ 000121b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000121c0: 2020 2020 2020 4120 6669 6e61 6c20 6361 A final ca │ │ │ │ │ -000121d0: 6d65 7261 2074 7261 6e73 666f 726d 6174 mera transformat │ │ │ │ │ -000121e0: 696f 6e20 6f66 2074 6865 2073 6365 6e65 ion of the scene │ │ │ │ │ -000121f0: 2e0a 2a20 5069 6374 7572 6520 626f 783a ..* Picture box: │ │ │ │ │ -00012200: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00012210: 2020 5365 7474 696e 6720 7468 6520 626f Setting the bo │ │ │ │ │ -00012220: 756e 6469 6e67 2062 6f78 2061 6e64 2032 unding box and 2 │ │ │ │ │ -00012230: 6420 636c 6970 7069 6e67 2e0a 2a20 4672 d clipping..* Fr │ │ │ │ │ -00012240: 616d 653a 3a20 2020 2020 2020 2020 2020 ame:: │ │ │ │ │ -00012250: 2020 2020 2020 2020 2020 2020 4164 6469 Addi │ │ │ │ │ -00012260: 6e67 2061 2062 6f78 2061 726f 756e 6420 ng a box around │ │ │ │ │ -00012270: 7468 6520 6472 6177 696e 672e 0a2a 204c the drawing..* L │ │ │ │ │ -00012280: 616e 6775 6167 653a 3a20 2020 2020 2020 anguage:: │ │ │ │ │ -00012290: 2020 2020 2020 2020 2020 2020 2053 6574 Set │ │ │ │ │ -000122a0: 7469 6e67 2074 6865 206f 7574 7075 7420 ting the output │ │ │ │ │ -000122b0: 6c61 6e67 7561 6765 2e0a 0a1f 0a46 696c language.....Fil │ │ │ │ │ -000122c0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -000122d0: 204e 6f64 653a 2047 6c6f 6261 6c20 6f70 Node: Global op │ │ │ │ │ -000122e0: 7469 6f6e 732c 2020 4e65 7874 3a20 4361 tions, Next: Ca │ │ │ │ │ -000122f0: 6d65 7261 2c20 2050 7265 763a 2047 6c6f mera, Prev: Glo │ │ │ │ │ -00012300: 6261 6c20 656e 7669 726f 6e6d 656e 742c bal environment, │ │ │ │ │ -00012310: 2020 5570 3a20 476c 6f62 616c 2065 6e76 Up: Global env │ │ │ │ │ -00012320: 6972 6f6e 6d65 6e74 0a0a 332e 342e 3120 ironment..3.4.1 │ │ │ │ │ -00012330: 476c 6f62 616c 206f 7074 696f 6e73 0a2d Global options.- │ │ │ │ │ -00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00012350: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. │ │ │ │ │ -00012360: 2020 2020 7365 7420 5b20 4f50 5449 4f4e set [ OPTION │ │ │ │ │ -00012370: 5320 5d0a 5468 6520 636f 6e74 656e 7473 S ].The contents │ │ │ │ │ -00012380: 206f 6620 4f50 5449 4f4e 532c 2065 7863 of OPTIONS, exc │ │ │ │ │ -00012390: 6570 7420 666f 7220 e280 9873 6b65 7463 ept for ...sketc │ │ │ │ │ -000123a0: 68e2 8099 2069 6e74 6572 6e61 6c20 6f70 h... internal op │ │ │ │ │ -000123b0: 7469 6f6e 732c 2061 7265 0a63 6f70 6965 tions, are.copie │ │ │ │ │ -000123c0: 6420 6173 2d69 7320 746f 2061 205c 7073 d as-is to a \ps │ │ │ │ │ -000123d0: 7365 7420 7468 6174 2061 7070 6561 7273 set that appears │ │ │ │ │ -000123e0: 2062 6566 6f72 6520 616e 7974 6869 6e67 before anything │ │ │ │ │ -000123f0: 2065 6c73 6520 696e 2074 6865 206f 7574 else in the out │ │ │ │ │ -00012400: 7075 740a 6669 6c65 2e20 2054 6869 7320 put.file. This │ │ │ │ │ -00012410: 6973 2061 2067 6f6f 6420 706c 6163 6520 is a good place │ │ │ │ │ -00012420: 746f 2073 6574 20e2 8098 756e 6974 e280 to set ...unit.. │ │ │ │ │ -00012430: 992c 2061 2064 6566 6175 6c74 20e2 8098 ., a default ... │ │ │ │ │ -00012440: 6c69 6e65 7769 6474 68e2 8099 2c20 6574 linewidth..., et │ │ │ │ │ -00012450: 632e 0a0a 2020 2049 6e74 6572 6e61 6c20 c... Internal │ │ │ │ │ -00012460: 6f70 7469 6f6e 7320 776f 726b 206f 6e20 options work on │ │ │ │ │ -00012470: 616c 6c20 6f62 6a65 6374 7320 7768 6572 all objects wher │ │ │ │ │ -00012480: 6520 7468 6579 206d 616b 6520 7365 6e73 e they make sens │ │ │ │ │ -00012490: 652e 2020 5468 6973 0a69 6e63 6c75 6465 e. This.include │ │ │ │ │ -000124a0: 7320 e280 9863 756c 6ce2 8099 2061 6e64 s ...cull... and │ │ │ │ │ -000124b0: 20e2 8098 7370 6c69 74e2 8099 2028 6275 ...split... (bu │ │ │ │ │ -000124c0: 7420 6e6f 7420 e280 986c 6179 e280 9929 t not ...lay...) │ │ │ │ │ -000124d0: 2e20 202a 4e6f 7465 2049 6e74 6572 6e61 . *Note Interna │ │ │ │ │ -000124e0: 6c20 6f70 7469 6f6e 733a 3a2e 0a0a 1f0a l options::..... │ │ │ │ │ -000124f0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -00012500: 6f2c 2020 4e6f 6465 3a20 4361 6d65 7261 o, Node: Camera │ │ │ │ │ -00012510: 2c20 204e 6578 743a 2050 6963 7475 7265 , Next: Picture │ │ │ │ │ -00012520: 2062 6f78 2c20 2050 7265 763a 2047 6c6f box, Prev: Glo │ │ │ │ │ -00012530: 6261 6c20 6f70 7469 6f6e 732c 2020 5570 bal options, Up │ │ │ │ │ -00012540: 3a20 476c 6f62 616c 2065 6e76 6972 6f6e : Global environ │ │ │ │ │ -00012550: 6d65 6e74 0a0a 332e 342e 3220 4361 6d65 ment..3.4.2 Came │ │ │ │ │ -00012560: 7261 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ra.------------. │ │ │ │ │ -00012570: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ -00012580: 6361 6d65 7261 2054 5241 4e53 464f 524d camera TRANSFORM │ │ │ │ │ -00012590: 5f45 5850 5245 5353 494f 4e0a 2020 2054 _EXPRESSION. T │ │ │ │ │ -000125a0: 6865 2054 5241 4e53 464f 524d 5f45 5850 he TRANSFORM_EXP │ │ │ │ │ -000125b0: 5245 5353 494f 4e20 6973 2061 7070 6c69 RESSION is appli │ │ │ │ │ -000125c0: 6564 2061 6674 6572 2061 6c6c 206f 7468 ed after all oth │ │ │ │ │ -000125d0: 6572 2074 7261 6e73 666f 726d 6174 696f er transformatio │ │ │ │ │ -000125e0: 6e73 0a6f 6620 7468 6520 7363 656e 652e ns.of the scene. │ │ │ │ │ -000125f0: 2020 5468 6973 2069 7320 6375 7272 656e This is curren │ │ │ │ │ -00012600: 746c 7920 6f6e 6c79 2075 7365 6675 6c20 tly only useful │ │ │ │ │ -00012610: 666f 7220 7472 616e 7366 6f72 6d69 6e67 for transforming │ │ │ │ │ -00012620: 2074 6865 0a62 6f75 6e64 696e 6720 626f the.bounding bo │ │ │ │ │ -00012630: 782e 2020 2a4e 6f74 6520 5069 6374 7572 x. *Note Pictur │ │ │ │ │ -00012640: 6520 626f 783a 3a2e 2020 4974 2077 696c e box::. It wil │ │ │ │ │ -00012650: 6c20 706c 6179 2061 2072 6f6c 6520 696e l play a role in │ │ │ │ │ -00012660: 2061 6e79 2066 7574 7572 650a 696d 706c any future.impl │ │ │ │ │ -00012670: 656d 656e 7461 7469 6f6e 206f 6620 636c ementation of cl │ │ │ │ │ -00012680: 6970 7069 6e67 2e0a 0a1f 0a46 696c 653a ipping.....File: │ │ │ │ │ -00012690: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -000126a0: 6f64 653a 2050 6963 7475 7265 2062 6f78 ode: Picture box │ │ │ │ │ -000126b0: 2c20 204e 6578 743a 2046 7261 6d65 2c20 , Next: Frame, │ │ │ │ │ -000126c0: 2050 7265 763a 2043 616d 6572 612c 2020 Prev: Camera, │ │ │ │ │ -000126d0: 5570 3a20 476c 6f62 616c 2065 6e76 6972 Up: Global envir │ │ │ │ │ -000126e0: 6f6e 6d65 6e74 0a0a 332e 342e 3320 5069 onment..3.4.3 Pi │ │ │ │ │ -000126f0: 6374 7572 6520 626f 780a 2d2d 2d2d 2d2d cture box.------ │ │ │ │ │ -00012700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy │ │ │ │ │ -00012710: 6e74 6178 3a2a 0a20 2020 2020 7069 6374 ntax:*. pict │ │ │ │ │ -00012720: 7572 6562 6f78 5b42 4153 454c 494e 455d urebox[BASELINE] │ │ │ │ │ -00012730: 0a20 2020 2020 7069 6374 7572 6562 6f78 . picturebox │ │ │ │ │ -00012740: 5b42 4153 454c 494e 455d 2028 5031 2928 [BASELINE] (P1)( │ │ │ │ │ -00012750: 5032 290a 5468 6520 6669 7273 7420 666f P2).The first fo │ │ │ │ │ -00012760: 726d 206f 6620 e280 9870 6963 7475 7265 rm of ...picture │ │ │ │ │ -00012770: 626f 78e2 8099 2063 6175 7365 7320 6120 box... causes a │ │ │ │ │ -00012780: 7363 616c 6172 2042 4153 454c 494e 4520 scalar BASELINE │ │ │ │ │ -00012790: 6672 6163 7469 6f6e 2074 6f20 6265 0a65 fraction to be.e │ │ │ │ │ -000127a0: 6d69 7474 6564 2069 6e20 7468 6520 e280 mitted in the .. │ │ │ │ │ -000127b0: 9870 7370 6963 7475 7265 e280 9920 656e .pspicture... en │ │ │ │ │ -000127c0: 7669 726f 6e6d 656e 7420 6f66 2074 6865 vironment of the │ │ │ │ │ -000127d0: 206f 7574 7075 742e 2020 5365 6520 e280 output. See .. │ │ │ │ │ -000127e0: 9850 5354 7269 636b 73e2 8099 0a64 6f63 .PSTricks....doc │ │ │ │ │ -000127f0: 756d 656e 7461 7469 6f6e 2066 6f72 20e2 umentation for . │ │ │ │ │ -00012800: 8098 7073 7069 6374 7572 65e2 8099 2e0a ..pspicture..... │ │ │ │ │ -00012810: 0a20 2020 496e 2074 6865 2073 6563 6f6e . In the secon │ │ │ │ │ -00012820: 6420 666f 726d 2c20 7468 6520 4241 5345 d form, the BASE │ │ │ │ │ -00012830: 4c49 4e45 2066 7261 6374 696f 6e20 6973 LINE fraction is │ │ │ │ │ -00012840: 206f 7074 696f 6e61 6c2c 2061 6e64 2074 optional, and t │ │ │ │ │ -00012850: 6865 2074 776f 0a70 6f69 6e74 7320 7468 he two.points th │ │ │ │ │ -00012860: 6174 2066 6f6c 6c6f 7720 6465 6669 6e65 at follow define │ │ │ │ │ -00012870: 2074 6865 2064 6961 676f 6e61 6c20 6f66 the diagonal of │ │ │ │ │ -00012880: 2061 2074 6872 6565 2d64 696d 656e 7369 a three-dimensi │ │ │ │ │ -00012890: 6f6e 616c 2062 6f75 6e64 696e 670a 626f onal bounding.bo │ │ │ │ │ -000128a0: 7820 666f 7220 7468 6520 636f 6d70 6c65 x for the comple │ │ │ │ │ -000128b0: 7465 6420 7363 656e 652e 2020 5468 6520 ted scene. The │ │ │ │ │ -000128c0: 7061 7261 6c6c 656c 2070 726f 6a65 6374 parallel project │ │ │ │ │ -000128d0: 696f 6e20 6f66 2074 6865 2062 6f75 6e64 ion of the bound │ │ │ │ │ -000128e0: 696e 670a 626f 7820 6465 7465 726d 696e ing.box determin │ │ │ │ │ -000128f0: 6573 2074 6865 2063 6f72 6e65 7273 206f es the corners o │ │ │ │ │ -00012900: 6620 7468 6520 6472 6177 696e 6727 7320 f the drawing's │ │ │ │ │ -00012910: e280 9870 7370 6963 7475 7265 2ae2 8099 ...pspicture*... │ │ │ │ │ -00012920: 2065 6e76 6972 6f6e 6d65 6e74 2c0a 7768 environment,.wh │ │ │ │ │ -00012930: 6963 6820 6973 2075 7365 6420 696e 2070 ich is used in p │ │ │ │ │ -00012940: 6c61 6365 206f 6620 e280 9870 7370 6963 lace of ...pspic │ │ │ │ │ -00012950: 7475 7265 e280 992e 2020 5468 6973 2063 ture.... This c │ │ │ │ │ -00012960: 6175 7365 7320 506f 7374 5363 7269 7074 auses PostScript │ │ │ │ │ -00012970: 2074 6f20 636c 6970 0a74 6865 2066 696e to clip.the fin │ │ │ │ │ -00012980: 616c 2064 7261 7769 6e67 2074 6f20 7468 al drawing to th │ │ │ │ │ -00012990: 6520 626f 756e 6469 6e67 2062 6f78 2069 e bounding box i │ │ │ │ │ -000129a0: 6e20 3264 2e20 2049 6620 7468 6572 6520 n 2d. If there │ │ │ │ │ -000129b0: 6973 2061 20e2 8098 6361 6d65 7261 e280 is a ...camera.. │ │ │ │ │ -000129c0: 990a 7370 6563 6966 6965 642c 2074 6865 ..specified, the │ │ │ │ │ -000129d0: 2063 616d 6572 6120 7472 616e 666f 726d camera tranform │ │ │ │ │ -000129e0: 6174 696f 6e20 6973 2061 7070 6c69 6564 ation is applied │ │ │ │ │ -000129f0: 2074 6f20 7468 6520 626f 756e 6469 6e67 to the bounding │ │ │ │ │ -00012a00: 2062 6f78 2c20 616e 640a 7468 6520 e280 box, and.the .. │ │ │ │ │ -00012a10: 9870 7370 6963 7475 7265 e280 9920 6973 .pspicture... is │ │ │ │ │ -00012a20: 2073 6574 206a 7573 7420 6c61 7267 6520 set just large │ │ │ │ │ -00012a30: 656e 6f75 6768 2074 6f20 696e 636c 7564 enough to includ │ │ │ │ │ -00012a40: 6520 7468 6520 7472 616e 7366 6f72 6d65 e the transforme │ │ │ │ │ -00012a50: 6420 626f 782e 0a0a 2020 2057 6865 6e20 d box... When │ │ │ │ │ -00012a60: 6e6f 2062 6f75 6e64 696e 6720 626f 7820 no bounding box │ │ │ │ │ -00012a70: 6973 2067 6976 656e 2c20 e280 9873 6b65 is given, ...ske │ │ │ │ │ -00012a80: 7463 68e2 8099 2063 6f6d 7075 7465 7320 tch... computes │ │ │ │ │ -00012a90: 6f6e 6520 6175 746f 6d61 7469 6361 6c6c one automaticall │ │ │ │ │ -00012aa0: 792e 0a0a 1f0a 4669 6c65 3a20 736b 6574 y.....File: sket │ │ │ │ │ -00012ab0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -00012ac0: 4672 616d 652c 2020 4e65 7874 3a20 4c61 Frame, Next: La │ │ │ │ │ -00012ad0: 6e67 7561 6765 2c20 2050 7265 763a 2050 nguage, Prev: P │ │ │ │ │ -00012ae0: 6963 7475 7265 2062 6f78 2c20 2055 703a icture box, Up: │ │ │ │ │ -00012af0: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm │ │ │ │ │ -00012b00: 656e 740a 0a33 2e34 2e34 2046 7261 6d65 ent..3.4.4 Frame │ │ │ │ │ -00012b10: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 .-----------..*S │ │ │ │ │ -00012b20: 796e 7461 783a 2a0a 2020 2020 2066 7261 yntax:*. fra │ │ │ │ │ -00012b30: 6d65 205b 4f50 5449 4f4e 535d 0a43 6175 me [OPTIONS].Cau │ │ │ │ │ -00012b40: 7365 7320 6120 5c70 7366 7261 6d65 626f ses a \psframebo │ │ │ │ │ -00012b50: 7820 746f 2073 7572 726f 756e 6420 7468 x to surround th │ │ │ │ │ -00012b60: 6520 e280 9870 7370 6963 7475 7265 e280 e ...pspicture.. │ │ │ │ │ -00012b70: 9920 656e 7669 726f 6e6d 656e 7420 696e . environment in │ │ │ │ │ -00012b80: 2074 6865 0a6f 7574 7075 742e 2020 4966 the.output. If │ │ │ │ │ -00012b90: 204f 5054 494f 4e53 2061 7265 2070 7265 OPTIONS are pre │ │ │ │ │ -00012ba0: 7365 6e74 2c20 7468 6579 2061 7265 2063 sent, they are c │ │ │ │ │ -00012bb0: 6f70 6965 6420 6173 2d69 732e 2020 4e6f opied as-is. No │ │ │ │ │ -00012bc0: 726d 616c 6c79 206f 6e65 0a77 6f75 6c64 rmally one.would │ │ │ │ │ -00012bd0: 2077 616e 7420 746f 2073 6574 20e2 8098 want to set ... │ │ │ │ │ -00012be0: 6c69 6e65 7769 6474 68e2 8099 2c20 e280 linewidth..., .. │ │ │ │ │ -00012bf0: 986c 696e 6573 7479 6c65 e280 992c 20e2 .linestyle..., . │ │ │ │ │ -00012c00: 8098 6c69 6e65 636f 6c6f 72e2 8099 2c20 ..linecolor..., │ │ │ │ │ -00012c10: 6574 632e 2020 4966 0a6f 6d69 7474 6564 etc. If.omitted │ │ │ │ │ -00012c20: 2c20 7468 656e 20e2 8098 6672 616d 6573 , then ...frames │ │ │ │ │ -00012c30: 6570 3d30 7074 e280 9920 6973 2061 6464 ep=0pt... is add │ │ │ │ │ -00012c40: 6564 2073 6f20 7468 6174 2074 6865 2066 ed so that the f │ │ │ │ │ -00012c50: 7261 6d65 2074 6967 6874 6c79 2068 7567 rame tightly hug │ │ │ │ │ -00012c60: 7320 7468 650a e280 9870 7370 6963 7475 s the....pspictu │ │ │ │ │ -00012c70: 7265 e280 992e 0a0a 1f0a 4669 6c65 3a20 re........File: │ │ │ │ │ -00012c80: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00012c90: 6465 3a20 4c61 6e67 7561 6765 2c20 2050 de: Language, P │ │ │ │ │ -00012ca0: 7265 763a 2046 7261 6d65 2c20 2055 703a rev: Frame, Up: │ │ │ │ │ -00012cb0: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm │ │ │ │ │ -00012cc0: 656e 740a 0a33 2e34 2e35 204c 616e 6775 ent..3.4.5 Langu │ │ │ │ │ -00012cd0: 6167 650a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d age.------------ │ │ │ │ │ -00012ce0: 2d2d 0a0a 2020 2020 206c 616e 6775 6167 --.. languag │ │ │ │ │ -00012cf0: 6520 7469 6b7a 0a20 2020 2020 6c61 6e67 e tikz. lang │ │ │ │ │ -00012d00: 7561 6765 2074 696b 7a2c 2063 6f6e 7465 uage tikz, conte │ │ │ │ │ -00012d10: 7874 0a20 2020 2020 6c61 6e67 7561 6765 xt. language │ │ │ │ │ -00012d20: 2070 7374 7269 636b 730a 2020 2020 206c pstricks. l │ │ │ │ │ -00012d30: 616e 6775 6167 6520 7073 7472 6963 6b73 anguage pstricks │ │ │ │ │ -00012d40: 2c20 6c61 7465 780a 5365 7473 2074 6865 , latex.Sets the │ │ │ │ │ -00012d50: 206f 7574 7075 7420 6c61 6e67 7561 6765 output language │ │ │ │ │ -00012d60: 2067 656e 6572 6174 6564 2062 7920 e280 generated by .. │ │ │ │ │ -00012d70: 9873 6b65 7463 68e2 8099 2e20 2054 6865 .sketch.... The │ │ │ │ │ -00012d80: 2073 6574 206f 6620 6f70 7469 6f6e 730a set of options. │ │ │ │ │ -00012d90: 756e 6465 7273 746f 6f64 2062 7920 736b understood by sk │ │ │ │ │ -00012da0: 6574 6368 2061 6c73 6f20 6368 616e 6765 etch also change │ │ │ │ │ -00012db0: 732e 2020 466f 7220 6578 616d 706c 652c s. For example, │ │ │ │ │ -00012dc0: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks │ │ │ │ │ -00012dd0: e280 9920 6f70 7469 6f6e 0ae2 8098 6c69 ... option....li │ │ │ │ │ -00012de0: 6e65 7769 6474 68e2 8099 2077 696c 6c20 newidth... will │ │ │ │ │ -00012df0: 6e6f 7420 6265 2070 726f 7065 726c 7920 not be properly │ │ │ │ │ -00012e00: 6861 6e64 6c65 6420 6966 20e2 8098 6c61 handled if ...la │ │ │ │ │ -00012e10: 6e67 7561 6765 e280 9920 6973 2073 6574 nguage... is set │ │ │ │ │ -00012e20: 2074 6f20 e280 9874 696b 7ae2 8099 2e0a to ...tikz..... │ │ │ │ │ -00012e30: 5369 6d69 6c61 726c 792c 2074 6865 20e2 Similarly, the . │ │ │ │ │ -00012e40: 8098 5469 6b5a e280 9920 6f70 7469 6f6e ..TikZ... option │ │ │ │ │ -00012e50: 20e2 8098 6c69 6e65 2073 7479 6c65 e280 ...line style.. │ │ │ │ │ -00012e60: 9920 286e 6f74 6520 7468 6520 7370 6163 . (note the spac │ │ │ │ │ -00012e70: 6529 2077 696c 6c20 6e6f 7420 6265 0a70 e) will not be.p │ │ │ │ │ -00012e80: 726f 7065 726c 7920 6861 6e64 6c65 6420 roperly handled │ │ │ │ │ -00012e90: 6966 20e2 8098 6c61 6e67 7561 6765 e280 if ...language.. │ │ │ │ │ -00012ea0: 9920 6973 2073 6574 2074 6f20 e280 9870 . is set to ...p │ │ │ │ │ -00012eb0: 7374 7269 636b 73e2 8099 2e20 2049 6620 stricks.... If │ │ │ │ │ -00012ec0: 6e6f 206c 616e 6775 6167 6520 6973 0a73 no language is.s │ │ │ │ │ -00012ed0: 7065 6369 6669 6564 2c20 7468 6520 6465 pecified, the de │ │ │ │ │ -00012ee0: 6661 756c 7420 e280 9870 7374 7269 636b fault ...pstrick │ │ │ │ │ -00012ef0: 73e2 8099 2069 7320 7573 6564 2e0a 0a20 s... is used... │ │ │ │ │ -00012f00: 2020 416e 206f 7074 696f 6e61 6c20 636f An optional co │ │ │ │ │ -00012f10: 6d6d 6120 666f 6c6c 6f77 6564 2062 7920 mma followed by │ │ │ │ │ -00012f20: e280 986c 6174 6578 e280 9920 6f72 20e2 ...latex... or . │ │ │ │ │ -00012f30: 8098 636f 6e74 6578 74e2 8099 2073 7065 ..context... spe │ │ │ │ │ -00012f40: 6369 6669 6573 2074 6865 0a6d 6163 726f cifies the.macro │ │ │ │ │ -00012f50: 2070 6163 6b61 6765 2074 6861 7420 7468 package that th │ │ │ │ │ -00012f60: 6520 6f75 7470 7574 2073 686f 756c 6420 e output should │ │ │ │ │ -00012f70: 6173 7375 6d65 2e20 2054 6869 7320 6166 assume. This af │ │ │ │ │ -00012f80: 6665 6374 7320 7468 6520 e280 9870 6963 fects the ...pic │ │ │ │ │ -00012f90: 7475 7265 e280 990a 656e 7669 726f 6e6d ture....environm │ │ │ │ │ -00012fa0: 656e 7420 636f 6d6d 616e 6473 2065 6d69 ent commands emi │ │ │ │ │ -00012fb0: 7474 6564 2061 6e64 2074 6865 2064 6f63 tted and the doc │ │ │ │ │ -00012fc0: 756d 656e 7420 7465 6d70 6c61 7465 2075 ument template u │ │ │ │ │ -00012fd0: 7365 6420 7769 7468 2074 6865 0ae2 8098 sed with the.... │ │ │ │ │ -00012fe0: 2d54 e280 9920 6f70 7469 6f6e 2e20 202a -T... option. * │ │ │ │ │ -00012ff0: 4e6f 7465 2043 6f6d 6d61 6e64 206c 696e Note Command lin │ │ │ │ │ -00013000: 653a 3a2e 2020 4e6f 7465 2074 6861 7420 e::. Note that │ │ │ │ │ -00013010: 6174 2074 6865 2074 696d 6520 7468 6973 at the time this │ │ │ │ │ -00013020: 206d 616e 7561 6c0a 7761 7320 6765 6e65 manual.was gene │ │ │ │ │ -00013030: 7261 7465 642c 20e2 8098 5053 5472 6963 rated, ...PSTric │ │ │ │ │ -00013040: 6b73 e280 9920 7761 7320 6e6f 7420 7375 ks... was not su │ │ │ │ │ -00013050: 7070 6f72 7465 6420 6279 204c 6154 6558 pported by LaTeX │ │ │ │ │ -00013060: 206f 7220 6279 20e2 8098 436f 6e54 6558 or by ...ConTeX │ │ │ │ │ -00013070: 74e2 8099 2e0a 0a1f 0a46 696c 653a 2073 t........File: s │ │ │ │ │ -00013080: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -00013090: 653a 2042 7569 6c64 696e 6720 6120 6472 e: Building a dr │ │ │ │ │ -000130a0: 6177 696e 672c 2020 4e65 7874 3a20 436f awing, Next: Co │ │ │ │ │ -000130b0: 6d6d 616e 6420 6c69 6e65 2c20 2050 7265 mmand line, Pre │ │ │ │ │ -000130c0: 763a 2049 6e70 7574 206c 616e 6775 6167 v: Input languag │ │ │ │ │ -000130d0: 652c 2020 5570 3a20 546f 700a 0a34 2042 e, Up: Top..4 B │ │ │ │ │ -000130e0: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin │ │ │ │ │ -000130f0: 670a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a g.************** │ │ │ │ │ -00013100: 2a2a 2a2a 2a2a 0a0a 5375 6363 6573 7366 ******..Successf │ │ │ │ │ -00013110: 756c 2064 7261 7769 6e67 7320 7769 7468 ul drawings with │ │ │ │ │ -00013120: 20e2 8098 736b 6574 6368 e280 9920 616e ...sketch... an │ │ │ │ │ -00013130: 6420 7769 7468 2061 6e79 2073 6365 6e65 d with any scene │ │ │ │ │ -00013140: 2064 6573 6372 6970 7469 6f6e 0a6c 616e description.lan │ │ │ │ │ -00013150: 6775 6167 6520 7265 7175 6972 6520 7468 guage require th │ │ │ │ │ -00013160: 6174 2074 6865 2075 7365 7220 6465 7665 at the user deve │ │ │ │ │ -00013170: 6c6f 7020 616e 2061 6363 7572 6174 6520 lop an accurate │ │ │ │ │ -00013180: 6d65 6e74 616c 2070 6963 7475 7265 206f mental picture o │ │ │ │ │ -00013190: 6620 6865 720a 636f 6465 2061 6e64 2069 f her.code and i │ │ │ │ │ -000131a0: 7473 206d 6561 6e69 6e67 2e20 2054 6869 ts meaning. Thi │ │ │ │ │ -000131b0: 7320 696d 6167 6520 6973 2062 6573 7420 s image is best │ │ │ │ │ -000131c0: 6275 696c 7420 696e 2073 6d61 6c6c 2070 built in small p │ │ │ │ │ -000131d0: 6965 6365 732e 0a54 6865 7265 666f 7265 ieces..Therefore │ │ │ │ │ -000131e0: 2c20 e280 9873 6b65 7463 68e2 8099 2069 , ...sketch... i │ │ │ │ │ -000131f0: 6e70 7574 7320 6172 6520 6265 7374 2063 nputs are best c │ │ │ │ │ -00013200: 7265 6174 6564 2069 6e20 736d 616c 6c20 reated in small │ │ │ │ │ -00013210: 696e 6372 656d 656e 7473 2077 6974 680a increments with. │ │ │ │ │ -00013220: 6672 6571 7565 6e74 2070 6175 7365 7320 frequent pauses │ │ │ │ │ -00013230: 746f 2063 6f6d 7069 6c65 2061 6e64 2076 to compile and v │ │ │ │ │ -00013240: 6965 7720 7468 6520 7265 7375 6c74 732e iew the results. │ │ │ │ │ -00013250: 2020 4361 7265 6675 6c20 636f 6d6d 656e Careful commen │ │ │ │ │ -00013260: 7473 2069 6e0a 7468 6520 696e 7075 7420 ts in.the input │ │ │ │ │ -00013270: 6f66 7465 6e20 6865 6c70 2061 7320 6120 often help as a │ │ │ │ │ -00013280: 7363 656e 6520 6772 6f77 7320 696e 2063 scene grows in c │ │ │ │ │ -00013290: 6f6d 706c 6578 6974 792e 0a0a 2a20 4d65 omplexity...* Me │ │ │ │ │ -000132a0: 6e75 3a0a 0a2a 204f 7665 7276 6965 773a nu:..* Overview: │ │ │ │ │ -000132b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000132c0: 2020 2020 2042 7569 6c64 696e 6720 6120 Building a │ │ │ │ │ -000132d0: 7375 6273 7461 6e74 6961 6c20 6472 6177 substantial draw │ │ │ │ │ -000132e0: 696e 672e 0a2a 2041 2074 6563 686e 6963 ing..* A technic │ │ │ │ │ -000132f0: 616c 2064 7261 7769 6e67 3a3a 2020 2020 al drawing:: │ │ │ │ │ -00013300: 2020 2020 2041 6e20 6578 616d 706c 6520 An example │ │ │ │ │ -00013310: 7769 7468 2066 696e 6520 706c 6163 656d with fine placem │ │ │ │ │ -00013320: 656e 742e 0a2a 2041 2068 6965 7261 7263 ent..* A hierarc │ │ │ │ │ -00013330: 6869 6361 6c20 6d6f 6465 6c3a 3a20 2020 hical model:: │ │ │ │ │ -00013340: 2020 2020 2041 6e20 6578 616d 706c 6520 An example │ │ │ │ │ -00013350: 7769 7468 2073 7765 6570 7320 616e 6420 with sweeps and │ │ │ │ │ -00013360: 7075 7473 2e0a 2a20 4361 7665 6174 733a puts..* Caveats: │ │ │ │ │ -00013370: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00013380: 2020 2020 2020 5768 6572 6520 7472 6f75 Where trou │ │ │ │ │ -00013390: 626c 6520 6361 6e20 6f63 6375 722e 0a0a ble can occur... │ │ │ │ │ -000133a0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -000133b0: 6e66 6f2c 2020 4e6f 6465 3a20 4f76 6572 nfo, Node: Over │ │ │ │ │ -000133c0: 7669 6577 2c20 204e 6578 743a 2041 2074 view, Next: A t │ │ │ │ │ -000133d0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -000133e0: 2c20 2050 7265 763a 2042 7569 6c64 696e , Prev: Buildin │ │ │ │ │ -000133f0: 6720 6120 6472 6177 696e 672c 2020 5570 g a drawing, Up │ │ │ │ │ -00013400: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra │ │ │ │ │ -00013410: 7769 6e67 0a0a 342e 3120 4f76 6572 7669 wing..4.1 Overvi │ │ │ │ │ -00013420: 6577 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ew.============. │ │ │ │ │ -00013430: 0a41 7320 616e 206f 7665 7276 6965 772c .As an overview, │ │ │ │ │ -00013440: 206c 6574 2773 2064 6576 656c 6f70 2061 let's develop a │ │ │ │ │ -00013450: 2064 6961 6772 616d 2074 6861 7420 7368 diagram that sh │ │ │ │ │ -00013460: 6f77 7320 686f 7720 6120 7065 7273 7065 ows how a perspe │ │ │ │ │ -00013470: 6374 6976 650a 7072 6f6a 6563 7469 6f6e ctive.projection │ │ │ │ │ -00013480: 2074 7261 6e73 666f 726d 2077 6f72 6b73 transform works │ │ │ │ │ -00013490: 2e20 2057 6527 6c6c 2073 7461 7274 2077 . We'll start w │ │ │ │ │ -000134a0: 6974 6820 7468 6520 7472 6164 6974 696f ith the traditio │ │ │ │ │ -000134b0: 6e61 6c20 7265 6665 7265 6e63 650a 6f62 nal reference.ob │ │ │ │ │ -000134c0: 6a65 6374 2075 7365 6420 696e 2063 6f6d ject used in com │ │ │ │ │ -000134d0: 7075 7465 7220 6772 6170 6869 6373 2074 puter graphics t │ │ │ │ │ -000134e0: 6578 7462 6f6f 6b73 2c20 6120 686f 7573 extbooks, a hous │ │ │ │ │ -000134f0: 652d 7368 6170 6564 2070 7269 736d 2e20 e-shaped prism. │ │ │ │ │ -00013500: 2042 6567 696e 0a62 7920 6465 6669 6e69 Begin.by defini │ │ │ │ │ -00013510: 6e67 2074 6865 2070 6f69 6e74 7320 6f66 ng the points of │ │ │ │ │ -00013520: 2074 6865 2068 6f75 7365 2e20 2052 6174 the house. Rat │ │ │ │ │ -00013530: 6865 7220 7468 616e 2064 6566 696e 696e her than definin │ │ │ │ │ -00013540: 6720 7468 6520 6661 6365 7320 6f66 0a74 g the faces of.t │ │ │ │ │ -00013550: 6865 2068 6f75 7365 2061 7320 706f 6c79 he house as poly │ │ │ │ │ -00013560: 676f 6e73 2061 6e64 2074 7261 6e73 666f gons and transfo │ │ │ │ │ -00013570: 726d 696e 6720 7468 6f73 652c 2077 6520 rming those, we │ │ │ │ │ -00013580: 6172 6520 676f 696e 6720 746f 2074 7261 are going to tra │ │ │ │ │ -00013590: 6e73 666f 726d 0a74 6865 2070 6f69 6e74 nsform.the point │ │ │ │ │ -000135a0: 7320 7468 656d 7365 6c76 6573 2077 6974 s themselves wit │ │ │ │ │ -000135b0: 6820 e280 9873 6b65 7463 68e2 8099 2061 h ...sketch... a │ │ │ │ │ -000135c0: 7269 7468 6d65 7469 6320 736f 2074 6861 rithmetic so tha │ │ │ │ │ -000135d0: 7420 7765 2068 6176 6520 6e61 6d65 7320 t we have names │ │ │ │ │ -000135e0: 666f 720a 7468 6520 7472 616e 7366 6f72 for.the transfor │ │ │ │ │ -000135f0: 6d65 6420 706f 696e 7473 206c 6174 6572 med points later │ │ │ │ │ -00013600: 2e0a 2020 2520 7269 6768 7420 7369 6465 .. % right side │ │ │ │ │ -00013610: 2028 6f75 7473 6964 6520 746f 2072 6967 (outside to rig │ │ │ │ │ -00013620: 6874 290a 2020 6465 6620 5231 2028 312c ht). def R1 (1, │ │ │ │ │ -00013630: 312c 3129 2064 6566 2052 3220 2831 2c2d 1,1) def R2 (1,- │ │ │ │ │ -00013640: 312c 3129 2064 6566 2052 3320 2831 2c2d 1,1) def R3 (1,- │ │ │ │ │ -00013650: 312c 2d31 2920 6465 6620 5234 2028 312c 1,-1) def R4 (1, │ │ │ │ │ -00013660: 312c 2d31 290a 2020 6465 6620 5235 2028 1,-1). def R5 ( │ │ │ │ │ -00013670: 312c 312e 352c 3029 0a0a 2020 2520 6c65 1,1.5,0).. % le │ │ │ │ │ -00013680: 6674 2073 6964 6520 286f 7574 7369 6465 ft side (outside │ │ │ │ │ -00013690: 2074 6f20 7269 6768 742d 2d62 6163 6b77 to right--backw │ │ │ │ │ -000136a0: 6172 6429 0a20 2064 6566 2057 2020 5b32 ard). def W [2 │ │ │ │ │ -000136b0: 2c30 2c30 5d0a 2020 6465 6620 4c31 2028 ,0,0]. def L1 ( │ │ │ │ │ -000136c0: 5231 292d 5b57 5d20 6465 6620 4c32 2028 R1)-[W] def L2 ( │ │ │ │ │ -000136d0: 5232 292d 5b57 5d20 6465 6620 4c33 2028 R2)-[W] def L3 ( │ │ │ │ │ -000136e0: 5233 292d 5b57 5d20 6465 6620 4c34 2028 R3)-[W] def L4 ( │ │ │ │ │ -000136f0: 5234 292d 5b57 5d0a 2020 6465 6620 4c35 R4)-[W]. def L5 │ │ │ │ │ -00013700: 2028 5235 292d 5b57 5d0a 546f 2061 6464 (R5)-[W].To add │ │ │ │ │ -00013710: 2061 2064 6f6f 7220 746f 2074 6865 2068 a door to the h │ │ │ │ │ -00013720: 6f75 7365 2c20 7765 2075 7365 2061 2070 ouse, we use a p │ │ │ │ │ -00013730: 6f6c 7967 6f6e 2073 6c69 6768 746c 7920 olygon slightly │ │ │ │ │ -00013740: 696e 2066 726f 6e74 206f 6620 7468 650a in front of the. │ │ │ │ │ -00013750: 666f 7265 6d6f 7374 2066 6163 6520 6f66 foremost face of │ │ │ │ │ -00013760: 2074 6865 2068 6f75 7365 2e0a 2020 2520 the house.. % │ │ │ │ │ -00013770: 646f 6f72 0a20 2064 6566 2065 202e 3031 door. def e .01 │ │ │ │ │ -00013780: 0a20 2064 6566 2044 3120 2830 2c2d 312c . def D1 (0,-1, │ │ │ │ │ -00013790: 312b 6529 2064 6566 2044 3220 282e 352c 1+e) def D2 (.5, │ │ │ │ │ -000137a0: 2d31 2c31 2b65 2920 6465 6620 4433 2028 -1,1+e) def D3 ( │ │ │ │ │ -000137b0: 2e35 2c30 2c31 2b65 2920 6465 6620 4434 .5,0,1+e) def D4 │ │ │ │ │ -000137c0: 2028 302c 302c 312b 6529 0a4e 6f77 206c (0,0,1+e).Now l │ │ │ │ │ -000137d0: 6574 2773 2063 7265 6174 6520 6120 6e65 et's create a ne │ │ │ │ │ -000137e0: 7720 7365 7420 6f66 2070 6f69 6e74 7320 w set of points │ │ │ │ │ -000137f0: 7468 6174 2061 7265 2061 2074 6f2d 6265 that are a to-be │ │ │ │ │ -00013800: 2d64 6574 6572 6d69 6e65 640a 7472 616e -determined.tran │ │ │ │ │ -00013810: 7366 6f72 6d20 6f66 2074 6865 206f 7269 sform of the ori │ │ │ │ │ -00013820: 6769 6e61 6c73 2e0a 2020 6465 6620 6870 ginals.. def hp │ │ │ │ │ -00013830: 2073 6361 6c65 2831 2920 2520 686f 7573 scale(1) % hous │ │ │ │ │ -00013840: 6520 706f 7369 7469 6f6e 6572 0a20 2064 e positioner. d │ │ │ │ │ -00013850: 6566 2070 5231 205b 5b68 705d 5d2a 2852 ef pR1 [[hp]]*(R │ │ │ │ │ -00013860: 3129 2064 6566 2070 5232 205b 5b68 705d 1) def pR2 [[hp] │ │ │ │ │ -00013870: 5d2a 2852 3229 2064 6566 2070 5233 205b ]*(R2) def pR3 [ │ │ │ │ │ -00013880: 5b68 705d 5d2a 2852 3329 0a20 2064 6566 [hp]]*(R3). def │ │ │ │ │ -00013890: 2070 5234 205b 5b68 705d 5d2a 2852 3429 pR4 [[hp]]*(R4) │ │ │ │ │ -000138a0: 2064 6566 2070 5235 205b 5b68 705d 5d2a def pR5 [[hp]]* │ │ │ │ │ -000138b0: 2852 3529 0a20 2064 6566 2070 4c31 205b (R5). def pL1 [ │ │ │ │ │ -000138c0: 5b68 705d 5d2a 284c 3129 2064 6566 2070 [hp]]*(L1) def p │ │ │ │ │ -000138d0: 4c32 205b 5b68 705d 5d2a 284c 3229 2064 L2 [[hp]]*(L2) d │ │ │ │ │ -000138e0: 6566 2070 4c33 205b 5b68 705d 5d2a 284c ef pL3 [[hp]]*(L │ │ │ │ │ -000138f0: 3329 0a20 2064 6566 2070 4c34 205b 5b68 3). def pL4 [[h │ │ │ │ │ -00013900: 705d 5d2a 284c 3429 2064 6566 2070 4c35 p]]*(L4) def pL5 │ │ │ │ │ -00013910: 205b 5b68 705d 5d2a 284c 3529 0a20 2064 [[hp]]*(L5). d │ │ │ │ │ -00013920: 6566 2070 4431 205b 5b68 705d 5d2a 2844 ef pD1 [[hp]]*(D │ │ │ │ │ -00013930: 3129 2064 6566 2070 4432 205b 5b68 705d 1) def pD2 [[hp] │ │ │ │ │ -00013940: 5d2a 2844 3229 2064 6566 2070 4433 205b ]*(D2) def pD3 [ │ │ │ │ │ -00013950: 5b68 705d 5d2a 2844 3329 0a20 2064 6566 [hp]]*(D3). def │ │ │ │ │ -00013960: 2070 4434 205b 5b68 705d 5d2a 2844 3429 pD4 [[hp]]*(D4) │ │ │ │ │ -00013970: 200a 4e6f 7465 2074 6865 2075 7365 206f .Note the use o │ │ │ │ │ -00013980: 6620 6120 e280 9c74 7261 6e73 666f 726d f a ...transform │ │ │ │ │ -00013990: 2064 6566 696e 6974 696f 6ee2 809d 2061 definition... a │ │ │ │ │ -000139a0: 6e64 20e2 809c 7472 616e 7366 6f72 6d20 nd ...transform │ │ │ │ │ -000139b0: 7265 6665 7265 6e63 6573 e280 9d2e 0a4e references.....N │ │ │ │ │ -000139c0: 6f77 2064 6566 696e 6520 7468 6520 7365 ow define the se │ │ │ │ │ -000139d0: 7665 6e20 706f 6c79 676f 6e61 6c20 6661 ven polygonal fa │ │ │ │ │ -000139e0: 6365 7320 6f66 2074 6865 2068 6f75 7365 ces of the house │ │ │ │ │ -000139f0: 2061 6e64 2074 6865 2064 6f6f 7220 7573 and the door us │ │ │ │ │ -00013a00: 696e 6720 7468 650a 7472 616e 7366 6f72 ing the.transfor │ │ │ │ │ -00013a10: 6d65 6420 706f 696e 7473 2061 7320 7665 med points as ve │ │ │ │ │ -00013a20: 7274 6963 6573 2e20 2042 6520 6361 7265 rtices. Be care │ │ │ │ │ -00013a30: 6675 6c20 7769 7468 2076 6572 7465 7820 ful with vertex │ │ │ │ │ -00013a40: 6f72 6465 7221 0a20 2064 6566 2072 6774 order!. def rgt │ │ │ │ │ -00013a50: 2070 6f6c 7967 6f6e 2028 7052 3129 2870 polygon (pR1)(p │ │ │ │ │ -00013a60: 5232 2928 7052 3329 2870 5234 2928 7052 R2)(pR3)(pR4)(pR │ │ │ │ │ -00013a70: 3529 0a20 2064 6566 206c 6674 2070 6f6c 5). def lft pol │ │ │ │ │ -00013a80: 7967 6f6e 2028 704c 3529 2870 4c34 2928 ygon (pL5)(pL4)( │ │ │ │ │ -00013a90: 704c 3329 2870 4c32 2928 704c 3129 0a20 pL3)(pL2)(pL1). │ │ │ │ │ -00013aa0: 2064 6566 2066 7274 2070 6f6c 7967 6f6e def frt polygon │ │ │ │ │ -00013ab0: 2028 7052 3229 2870 5231 2928 704c 3129 (pR2)(pR1)(pL1) │ │ │ │ │ -00013ac0: 2870 4c32 290a 2020 6465 6620 6263 6b20 (pL2). def bck │ │ │ │ │ -00013ad0: 706f 6c79 676f 6e20 2870 5234 2928 7052 polygon (pR4)(pR │ │ │ │ │ -00013ae0: 3329 2870 4c33 2928 704c 3429 0a20 2064 3)(pL3)(pL4). d │ │ │ │ │ -00013af0: 6566 2074 6672 2070 6f6c 7967 6f6e 2028 ef tfr polygon ( │ │ │ │ │ -00013b00: 7052 3129 2870 5235 2928 704c 3529 2870 pR1)(pR5)(pL5)(p │ │ │ │ │ -00013b10: 4c31 290a 2020 6465 6620 7462 6b20 706f L1). def tbk po │ │ │ │ │ -00013b20: 6c79 676f 6e20 2870 5235 2928 7052 3429 lygon (pR5)(pR4) │ │ │ │ │ -00013b30: 2870 4c34 2928 704c 3529 0a20 2064 6566 (pL4)(pL5). def │ │ │ │ │ -00013b40: 2062 6f74 2070 6f6c 7967 6f6e 2028 7052 bot polygon (pR │ │ │ │ │ -00013b50: 3229 2870 4c32 2928 704c 3329 2870 5233 2)(pL2)(pL3)(pR3 │ │ │ │ │ -00013b60: 290a 2020 6465 6620 646f 6f72 2070 6f6c ). def door pol │ │ │ │ │ -00013b70: 7967 6f6e 5b66 696c 6c63 6f6c 6f72 3d62 ygon[fillcolor=b │ │ │ │ │ -00013b80: 726f 776e 5d20 2870 4431 2928 7044 3229 rown] (pD1)(pD2) │ │ │ │ │ -00013b90: 2870 4433 2928 7044 3429 0a20 2064 6566 (pD3)(pD4). def │ │ │ │ │ -00013ba0: 2068 6f75 7365 207b 207b 7267 747d 7b6c house { {rgt}{l │ │ │ │ │ -00013bb0: 6674 7d7b 6672 747d 7b62 636b 7d7b 7466 ft}{frt}{bck}{tf │ │ │ │ │ -00013bc0: 727d 7b74 626b 7d7b 626f 747d 7b64 6f6f r}{tbk}{bot}{doo │ │ │ │ │ -00013bd0: 727d 207d 0a20 2020 5469 6d65 2066 6f72 r} }. Time for │ │ │ │ │ -00013be0: 2061 2073 616e 6974 7920 6368 6563 6b2e a sanity check. │ │ │ │ │ -00013bf0: 2020 4164 6420 7468 6520 6c69 6e65 0a20 Add the line. │ │ │ │ │ -00013c00: 207b 686f 7573 657d 0a61 6e64 2074 6869 {house}.and thi │ │ │ │ │ -00013c10: 7320 6973 2077 6861 7420 7765 2067 6574 s is what we get │ │ │ │ │ -00013c20: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src= │ │ │ │ │ -00013c30: 2265 7831 3330 2e70 6e67 2220 7465 7874 "ex130.png" text │ │ │ │ │ -00013c40: 3d22 496d 6167 6520 6578 3133 3020 6f6d ="Image ex130 om │ │ │ │ │ -00013c50: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve │ │ │ │ │ -00013c60: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do │ │ │ │ │ -00013c70: 6375 6d65 6e74 2e22 0008 5d0a 0a54 6869 cument."..]..Thi │ │ │ │ │ -00013c80: 7320 6973 2063 6f72 7265 6374 2c20 6275 s is correct, bu │ │ │ │ │ -00013c90: 7420 646f 6573 206e 6f74 2072 6576 6561 t does not revea │ │ │ │ │ -00013ca0: 6c20 7665 7279 206d 7563 682e 2020 436f l very much. Co │ │ │ │ │ -00013cb0: 6d6d 6f6e 2065 7272 6f72 7320 6172 650a mmon errors are. │ │ │ │ │ -00013cc0: 6d69 7370 6c61 6365 6420 7665 7274 6963 misplaced vertic │ │ │ │ │ -00013cd0: 6573 2061 6e64 2070 6f6c 7967 6f6e 7320 es and polygons │ │ │ │ │ -00013ce0: 6d69 7373 696e 6720 656e 7469 7265 6c79 missing entirely │ │ │ │ │ -00013cf0: 2064 7565 2074 6f20 696e 636f 7272 6563 due to incorrec │ │ │ │ │ -00013d00: 7420 7665 7274 6578 0a6f 7264 6572 2e20 t vertex.order. │ │ │ │ │ -00013d10: 2054 6f20 7275 6c65 2074 6865 7365 206f To rule these o │ │ │ │ │ -00013d20: 7574 2c20 6c65 7427 7320 696e 7370 6563 ut, let's inspec │ │ │ │ │ -00013d30: 7420 616c 6c20 7369 6465 7320 6f66 2074 t all sides of t │ │ │ │ │ -00013d40: 6865 2068 6f75 7365 2e20 2054 6869 730a he house. This. │ │ │ │ │ -00013d50: 6973 206e 6f74 2068 6172 642e 2020 4d65 is not hard. Me │ │ │ │ │ -00013d60: 7265 6c79 2072 6570 6c61 6365 2074 6865 rely replace the │ │ │ │ │ -00013d70: 2072 6566 6572 656e 6365 207b 686f 7573 reference {hous │ │ │ │ │ -00013d80: 657d 2077 6974 6820 6120 e280 9872 6570 e} with a ...rep │ │ │ │ │ -00013d90: 6561 74e2 8099 2e0a 2a4e 6f74 6520 5265 eat.....*Note Re │ │ │ │ │ -00013da0: 7065 6174 733a 3a2e 0a20 2072 6570 6561 peats::.. repea │ │ │ │ │ -00013db0: 7420 7b20 3133 2c20 726f 7461 7465 2833 t { 13, rotate(3 │ │ │ │ │ -00013dc0: 302c 205b 312c 322c 335d 292c 2074 7261 0, [1,2,3]), tra │ │ │ │ │ -00013dd0: 6e73 6c61 7465 285b 332c 302c 305d 2920 nslate([3,0,0]) │ │ │ │ │ -00013de0: 7d20 7b68 6f75 7365 7d0a 0008 5b69 6d61 } {house}...[ima │ │ │ │ │ -00013df0: 6765 2073 7263 3d22 6578 3134 302e 706e ge src="ex140.pn │ │ │ │ │ -00013e00: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -00013e10: 7831 3430 206f 6d69 7474 6564 2069 6e20 x140 omitted in │ │ │ │ │ -00013e20: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -00013e30: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -00013e40: 085d 0a0a 4167 6169 6e20 7468 696e 6773 .]..Again things │ │ │ │ │ -00013e50: 206c 6f6f 6b20 636f 7272 6563 742e 2020 look correct. │ │ │ │ │ -00013e60: 4e6f 7465 2074 6861 7420 7468 6520 6869 Note that the hi │ │ │ │ │ -00013e70: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg │ │ │ │ │ -00013e80: 6f72 6974 686d 0a68 616e 646c 6573 2069 orithm.handles i │ │ │ │ │ -00013e90: 6e74 6572 7365 6374 696e 6720 706f 6c79 ntersecting poly │ │ │ │ │ -00013ea0: 676f 6e73 2063 6f72 7265 6374 6c79 2077 gons correctly w │ │ │ │ │ -00013eb0: 6865 7265 2073 6f6d 6520 636f 7069 6573 here some copies │ │ │ │ │ -00013ec0: 206f 6620 7468 6520 686f 7573 650a 6f76 of the house.ov │ │ │ │ │ -00013ed0: 6572 6c61 702e 0a0a 2020 204c 6574 2773 erlap... Let's │ │ │ │ │ -00013ee0: 206c 6179 206f 7574 2074 6865 2067 656f lay out the geo │ │ │ │ │ -00013ef0: 6d65 7472 7920 6f66 2070 6572 7370 6563 metry of perspec │ │ │ │ │ -00013f00: 7469 7665 2070 726f 6a65 6374 696f 6e20 tive projection │ │ │ │ │ -00013f10: 6f66 2074 6865 2068 6f75 7365 0a6f 6e74 of the house.ont │ │ │ │ │ -00013f20: 6f20 6120 706c 616e 6520 7769 7468 2072 o a plane with r │ │ │ │ │ -00013f30: 6179 7320 7061 7373 696e 6720 7468 726f ays passing thro │ │ │ │ │ -00013f40: 7567 6820 7468 6520 6f72 6967 696e 2e20 ugh the origin. │ │ │ │ │ -00013f50: 2042 6567 696e 2062 7920 706f 7369 7469 Begin by positi │ │ │ │ │ -00013f60: 6f6e 696e 670a 7468 6520 686f 7573 6520 oning.the house │ │ │ │ │ -00013f70: 7477 656c 7665 2075 6e69 7473 2062 6163 twelve units bac │ │ │ │ │ -00013f80: 6b20 6f6e 2074 6865 206e 6567 6174 6976 k on the negativ │ │ │ │ │ -00013f90: 6520 7a2d 6178 6973 2061 6e64 2061 6464 e z-axis and add │ │ │ │ │ -00013fa0: 696e 6720 6120 7365 7420 6f66 0a63 6f6f ing a set of.coo │ │ │ │ │ -00013fb0: 7264 696e 6174 6520 6178 6573 2e20 2054 rdinate axes. T │ │ │ │ │ -00013fc0: 6f20 6d6f 7665 2074 6865 2068 6f75 7365 o move the house │ │ │ │ │ -00013fd0: 2077 6520 6e65 6564 206f 6e6c 7920 6368 we need only ch │ │ │ │ │ -00013fe0: 616e 6765 2074 6865 2022 686f 7573 650a ange the "house. │ │ │ │ │ -00013ff0: 706f 7369 7469 6f6e 696e 6722 2074 7261 positioning" tra │ │ │ │ │ -00014000: 6e73 666f 726d 2064 6566 696e 6564 2065 nsform defined e │ │ │ │ │ -00014010: 6172 6c69 6572 2e0a 2020 6465 6620 6870 arlier.. def hp │ │ │ │ │ -00014020: 2072 6f74 6174 6528 2d34 302c 205b 302c rotate(-40, [0, │ │ │ │ │ -00014030: 312c 305d 2920 7468 656e 2074 7261 6e73 1,0]) then trans │ │ │ │ │ -00014040: 6c61 7465 285b 302c 302c 2d31 325d 290a late([0,0,-12]). │ │ │ │ │ -00014050: 2020 6465 6620 6178 6573 207b 0a20 2020 def axes {. │ │ │ │ │ -00014060: 2064 6566 2073 7a20 310a 2020 2020 6c69 def sz 1. li │ │ │ │ │ -00014070: 6e65 205b 6172 726f 7773 3d3c 2d3e 5d20 ne [arrows=<->] │ │ │ │ │ -00014080: 2873 7a2c 302c 3029 284f 2928 302c 737a (sz,0,0)(O)(0,sz │ │ │ │ │ -00014090: 2c30 290a 2020 2020 6c69 6e65 205b 6172 ,0). line [ar │ │ │ │ │ -000140a0: 726f 7773 3d2d 3e5d 2020 284f 2928 302c rows=->] (O)(0, │ │ │ │ │ -000140b0: 302c 737a 290a 2020 2020 6c69 6e65 205b 0,sz). line [ │ │ │ │ │ -000140c0: 6c69 6e65 7769 6474 683d 2e32 7074 2c6c linewidth=.2pt,l │ │ │ │ │ -000140d0: 696e 6563 6f6c 6f72 3d62 6c75 652c 6c69 inecolor=blue,li │ │ │ │ │ -000140e0: 6e65 7374 796c 653d 6461 7368 6564 5d20 nestyle=dashed] │ │ │ │ │ -000140f0: 284f 2928 302c 302c 2d31 3029 0a20 2020 (O)(0,0,-10). │ │ │ │ │ -00014100: 2073 7065 6369 616c 207c 5c75 7075 745b special |\uput[ │ │ │ │ │ -00014110: 725d 2331 7b24 7824 7d5c 7570 7574 5b75 r]#1{$x$}\uput[u │ │ │ │ │ -00014120: 5d23 327b 2479 247d 5c75 7075 745b 6c5d ]#2{$y$}\uput[l] │ │ │ │ │ -00014130: 2333 7b24 7a24 7d7c 0a20 2020 2020 2028 #3{$z$}|. ( │ │ │ │ │ -00014140: 737a 2c30 2c30 2928 302c 737a 2c30 2928 sz,0,0)(0,sz,0)( │ │ │ │ │ -00014150: 302c 302c 737a 290a 2020 7d0a 0a20 2020 0,0,sz). }.. │ │ │ │ │ -00014160: 5469 6d65 2066 6f72 2061 6e6f 7468 6572 Time for another │ │ │ │ │ -00014170: 2074 6573 742e 2020 4c65 7427 7320 6275 test. Let's bu │ │ │ │ │ -00014180: 696c 6420 6120 7265 616c 2076 6965 7720 ild a real view │ │ │ │ │ -00014190: 7472 616e 7366 6f72 6d2c 2063 7265 6174 transform, creat │ │ │ │ │ -000141a0: 696e 6720 610a e280 9c76 6972 7475 616c ing a....virtual │ │ │ │ │ -000141b0: 2063 616d 6572 61e2 809d 2074 6f20 6c6f camera... to lo │ │ │ │ │ -000141c0: 6f6b 2061 7420 7468 6520 7363 656e 6520 ok at the scene │ │ │ │ │ -000141d0: 7765 2061 7265 2063 6f6e 7374 7275 6374 we are construct │ │ │ │ │ -000141e0: 696e 672e 2020 5265 706c 6163 6520 7468 ing. Replace th │ │ │ │ │ -000141f0: 650a e280 9872 6570 6561 74e2 8099 2077 e....repeat... w │ │ │ │ │ -00014200: 6974 680a 2020 6465 6620 6579 6520 2831 ith. def eye (1 │ │ │ │ │ -00014210: 302c 342c 3130 290a 2020 6465 6620 6c6f 0,4,10). def lo │ │ │ │ │ -00014220: 6f6b 5f61 7420 2830 2c30 2c2d 3529 0a20 ok_at (0,0,-5). │ │ │ │ │ -00014230: 2070 7574 207b 2076 6965 7728 2865 7965 put { view((eye │ │ │ │ │ -00014240: 292c 2028 6c6f 6f6b 5f61 7429 2920 7d20 ), (look_at)) } │ │ │ │ │ -00014250: 7b20 7b68 6f75 7365 7d7b 6178 6573 7d20 { {house}{axes} │ │ │ │ │ -00014260: 7d0a 2020 2054 6865 20e2 809c 7669 6577 }. The ...view │ │ │ │ │ -00014270: 2074 7261 6e73 666f 726d e280 9d20 7265 transform... re │ │ │ │ │ -00014280: 706f 7369 7469 6f6e 7320 7468 6520 7363 positions the sc │ │ │ │ │ -00014290: 656e 6520 736f 2074 6861 7420 7468 6520 ene so that the │ │ │ │ │ -000142a0: 706f 696e 7420 e280 9865 7965 e280 9920 point ...eye... │ │ │ │ │ -000142b0: 6973 0a61 7420 7468 6520 6f72 6967 696e is.at the origin │ │ │ │ │ -000142c0: 2061 6e64 2074 6865 2064 6972 6563 7469 and the directi │ │ │ │ │ -000142d0: 6f6e 2066 726f 6d20 e280 9865 7965 e280 on from ...eye.. │ │ │ │ │ -000142e0: 9920 746f 20e2 8098 6c6f 6f6b 5f61 74e2 . to ...look_at. │ │ │ │ │ -000142f0: 8099 2069 7320 7468 6520 6e65 6761 7469 .. is the negati │ │ │ │ │ -00014300: 7665 0a7a 2d61 7869 732e 2020 5468 6973 ve.z-axis. This │ │ │ │ │ -00014310: 2072 6571 7569 7265 7320 6120 726f 7461 requires a rota │ │ │ │ │ -00014320: 7469 6f6e 2061 6e64 2061 2074 7261 6e73 tion and a trans │ │ │ │ │ -00014330: 6c61 7469 6f6e 2074 6861 7420 6172 6520 lation that are │ │ │ │ │ -00014340: 616c 6c20 7061 636b 6564 0a69 6e74 6f20 all packed.into │ │ │ │ │ -00014350: 7468 6520 636f 6e73 7472 7563 746f 7220 the constructor │ │ │ │ │ -00014360: e280 9876 6965 77e2 8099 2e0a 0a00 085b ...view........[ │ │ │ │ │ -00014370: 696d 6167 6520 7372 633d 2265 7831 3530 image src="ex150 │ │ │ │ │ -00014380: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png" text="Imag │ │ │ │ │ -00014390: 6520 6578 3135 3020 6f6d 6974 7465 6420 e ex150 omitted │ │ │ │ │ -000143a0: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version │ │ │ │ │ -000143b0: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document │ │ │ │ │ -000143c0: 2e22 0008 5d0a 0a54 6869 7320 6973 2073 ."..]..This is s │ │ │ │ │ -000143d0: 7461 7274 696e 6720 746f 206c 6f6f 6b20 tarting to look │ │ │ │ │ -000143e0: 676f 6f64 2120 2041 6464 2074 6865 2070 good! Add the p │ │ │ │ │ -000143f0: 726f 6a65 6374 696f 6e20 706c 616e 6520 rojection plane │ │ │ │ │ -00014400: 6861 6c66 2077 6179 0a62 6574 7765 656e half way.between │ │ │ │ │ -00014410: 2074 6865 206f 7269 6769 6e20 616e 6420 the origin and │ │ │ │ │ -00014420: 7468 6520 686f 7573 6520 6174 207a 3d2d the house at z=- │ │ │ │ │ -00014430: 352e 2020 5765 276c 6c20 7472 7920 7468 5. We'll try th │ │ │ │ │ -00014440: 6520 616e 676c 6520 6172 6775 6d65 6e74 e angle argument │ │ │ │ │ -00014450: 0a66 6561 7475 7265 206f 6620 e280 9873 .feature of ...s │ │ │ │ │ -00014460: 7065 6369 616c e280 9920 746f 2070 6f73 pecial... to pos │ │ │ │ │ -00014470: 6974 696f 6e20 6120 6c61 6265 6c2e 0a20 ition a label.. │ │ │ │ │ -00014480: 2064 6566 2070 2035 2025 2070 726f 6a65 def p 5 % proje │ │ │ │ │ -00014490: 6374 696f 6e20 6469 7374 616e 6365 2028 ction distance ( │ │ │ │ │ -000144a0: 706c 616e 6520 6174 207a 3d2d 7029 0a20 plane at z=-p). │ │ │ │ │ -000144b0: 2064 6566 2070 726f 6a65 6374 696f 6e5f def projection_ │ │ │ │ │ -000144c0: 706c 616e 6520 7b0a 2020 2020 6465 6620 plane {. def │ │ │ │ │ -000144d0: 737a 2031 2e35 0a20 2020 2070 6f6c 7967 sz 1.5. polyg │ │ │ │ │ -000144e0: 6f6e 2028 2d73 7a2c 2d73 7a2c 2d70 2928 on (-sz,-sz,-p)( │ │ │ │ │ -000144f0: 737a 2c2d 737a 2c2d 7029 2873 7a2c 737a sz,-sz,-p)(sz,sz │ │ │ │ │ -00014500: 2c2d 7029 282d 737a 2c73 7a2c 2d70 290a ,-p)(-sz,sz,-p). │ │ │ │ │ -00014510: 2020 2020 7370 6563 6961 6c20 7c5c 7270 special |\rp │ │ │ │ │ -00014520: 7574 5b62 5d23 312d 3223 337b 5c66 6f6f ut[b]#1-2#3{\foo │ │ │ │ │ -00014530: 746e 6f74 6573 697a 655c 7366 2070 726f tnotesize\sf pro │ │ │ │ │ -00014540: 6a65 6374 696f 6e20 706c 616e 657d 7c20 jection plane}| │ │ │ │ │ -00014550: 0a20 2020 2020 2028 2d73 7a2c 2d73 7a2c . (-sz,-sz, │ │ │ │ │ -00014560: 2d70 2928 737a 2c2d 737a 2c2d 7029 2830 -p)(sz,-sz,-p)(0 │ │ │ │ │ -00014570: 2c2d 737a 2b2e 312c 2d70 290a 2020 7d0a ,-sz+.1,-p). }. │ │ │ │ │ -00014580: 4164 6420 7b70 726f 6a65 6374 696f 6e5f Add {projection_ │ │ │ │ │ -00014590: 706c 616e 657d 2074 6f20 7468 6520 6c69 plane} to the li │ │ │ │ │ -000145a0: 7374 206f 6620 6f62 6a65 6374 7320 696e st of objects in │ │ │ │ │ -000145b0: 2074 6865 20e2 8098 7075 74e2 8099 2061 the ...put... a │ │ │ │ │ -000145c0: 626f 7665 2e0a 0a00 085b 696d 6167 6520 bove.....[image │ │ │ │ │ -000145d0: 7372 633d 2265 7831 3630 2e70 6e67 2220 src="ex160.png" │ │ │ │ │ -000145e0: 7465 7874 3d22 496d 6167 6520 6578 3136 text="Image ex16 │ │ │ │ │ -000145f0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex │ │ │ │ │ -00014600: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi │ │ │ │ │ -00014610: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document."..]. │ │ │ │ │ -00014620: 0a20 2020 5468 6520 7761 7920 7765 2063 . The way we c │ │ │ │ │ -00014630: 6f6e 7374 7275 6374 6564 2074 6865 2070 onstructed the p │ │ │ │ │ -00014640: 6f69 6e74 7320 6f66 2074 6865 2068 6f75 oints of the hou │ │ │ │ │ -00014650: 7365 206e 6f77 206d 616b 6573 2069 7420 se now makes it │ │ │ │ │ -00014660: 6561 7379 2074 6f0a 6472 6177 2072 6179 easy to.draw ray │ │ │ │ │ -00014670: 7320 6f66 2070 726f 6a65 6374 696f 6e2e s of projection. │ │ │ │ │ -00014680: 2020 5765 276c 6c20 6361 7374 206f 6e65 We'll cast one │ │ │ │ │ -00014690: 2072 6179 2066 726f 6d20 6576 6572 7920 ray from every │ │ │ │ │ -000146a0: 7669 7369 626c 6520 7665 7274 6578 0a6f visible vertex.o │ │ │ │ │ -000146b0: 6620 7468 6520 686f 7573 6520 616e 6420 f the house and │ │ │ │ │ -000146c0: 6465 6669 6e65 206f 7074 696f 6e73 2073 define options s │ │ │ │ │ -000146d0: 6f20 7468 6520 6170 7065 6172 616e 6365 o the appearance │ │ │ │ │ -000146e0: 206f 6620 616c 6c20 7261 7973 2063 616e of all rays can │ │ │ │ │ -000146f0: 2062 650a 6368 616e 6765 6420 6174 2074 be.changed at t │ │ │ │ │ -00014700: 6865 2073 616d 6520 7469 6d65 2e0a 2020 he same time.. │ │ │ │ │ -00014710: 6465 6620 7072 6f6a 6563 7469 6f6e 5f72 def projection_r │ │ │ │ │ -00014720: 6179 7320 7b0a 2020 2020 6465 6620 7261 ays {. def ra │ │ │ │ │ -00014730: 796f 7074 205b 6c69 6e65 7769 6474 683d yopt [linewidth= │ │ │ │ │ -00014740: 2e33 7074 2c6c 696e 6563 6f6c 6f72 3d6c .3pt,linecolor=l │ │ │ │ │ -00014750: 6967 6874 6772 6179 5d0a 2020 2020 6c69 ightgray]. li │ │ │ │ │ -00014760: 6e65 205b 7261 796f 7074 5d28 4f29 2870 ne [rayopt](O)(p │ │ │ │ │ -00014770: 5231 2920 6c69 6e65 205b 7261 796f 7074 R1) line [rayopt │ │ │ │ │ -00014780: 5d28 4f29 2870 5232 2920 6c69 6e65 5b72 ](O)(pR2) line[r │ │ │ │ │ -00014790: 6179 6f70 745d 284f 2928 7052 3329 0a20 ayopt](O)(pR3). │ │ │ │ │ -000147a0: 2020 206c 696e 6520 5b72 6179 6f70 745d line [rayopt] │ │ │ │ │ -000147b0: 284f 2928 7052 3429 206c 696e 6520 5b72 (O)(pR4) line [r │ │ │ │ │ -000147c0: 6179 6f70 745d 284f 2928 7052 3529 0a20 ayopt](O)(pR5). │ │ │ │ │ -000147d0: 2020 206c 696e 6520 5b72 6179 6f70 745d line [rayopt] │ │ │ │ │ -000147e0: 284f 2928 704c 3129 206c 696e 6520 5b72 (O)(pL1) line [r │ │ │ │ │ -000147f0: 6179 6f70 745d 284f 2928 704c 3229 206c ayopt](O)(pL2) l │ │ │ │ │ -00014800: 696e 655b 7261 796f 7074 5d28 4f29 2870 ine[rayopt](O)(p │ │ │ │ │ -00014810: 4c35 290a 2020 2020 6c69 6e65 205b 7261 L5). line [ra │ │ │ │ │ -00014820: 796f 7074 5d28 4f29 2870 4431 2920 6c69 yopt](O)(pD1) li │ │ │ │ │ -00014830: 6e65 205b 7261 796f 7074 5d28 4f29 2870 ne [rayopt](O)(p │ │ │ │ │ -00014840: 4432 2920 0a20 2020 206c 696e 6520 5b72 D2) . line [r │ │ │ │ │ -00014850: 6179 6f70 745d 284f 2928 7044 3329 206c ayopt](O)(pD3) l │ │ │ │ │ -00014860: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)( │ │ │ │ │ -00014870: 7044 3429 200a 2020 7d0a 5468 6520 7265 pD4) . }.The re │ │ │ │ │ -00014880: 7375 6c74 2069 7320 7368 6f77 6e20 6865 sult is shown he │ │ │ │ │ -00014890: 7265 2e0a 0a00 085b 696d 6167 6520 7372 re.....[image sr │ │ │ │ │ -000148a0: 633d 2265 7831 3730 2e70 6e67 2220 7465 c="ex170.png" te │ │ │ │ │ -000148b0: 7874 3d22 496d 6167 6520 6578 3137 3020 xt="Image ex170 │ │ │ │ │ -000148c0: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text │ │ │ │ │ -000148d0: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this │ │ │ │ │ -000148e0: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a54 document."..]..T │ │ │ │ │ -000148f0: 6865 2072 6179 7320 7069 6572 6365 2074 he rays pierce t │ │ │ │ │ -00014900: 6865 2070 726f 6a65 6374 696f 6e20 706c he projection pl │ │ │ │ │ -00014910: 616e 6520 6174 2074 6865 2063 6f72 7265 ane at the corre │ │ │ │ │ -00014920: 7370 6f6e 6469 6e67 2070 6f69 6e74 7320 sponding points │ │ │ │ │ -00014930: 6f6e 2074 6865 0a70 6572 7370 6563 7469 on the.perspecti │ │ │ │ │ -00014940: 7665 2069 6d61 6765 2077 6520 6172 6520 ve image we are │ │ │ │ │ -00014950: 7472 7969 6e67 2074 6f20 6472 6177 2e20 trying to draw. │ │ │ │ │ -00014960: 2041 6c62 7265 6368 7420 44c3 bc72 6572 Albrecht D..rer │ │ │ │ │ -00014970: 2061 6e64 2068 6973 0a52 656e 6169 7373 and his.Renaiss │ │ │ │ │ -00014980: 616e 6365 2063 6f6e 7465 6d70 6f72 6172 ance contemporar │ │ │ │ │ -00014990: 6965 7320 6861 6420 7468 6520 7361 6d65 ies had the same │ │ │ │ │ -000149a0: 2069 6465 6120 696e 2074 6865 2065 6172 idea in the ear │ │ │ │ │ -000149b0: 6c79 2031 3530 3027 732e 0a0a 0008 5b69 ly 1500's.....[i │ │ │ │ │ -000149c0: 6d61 6765 2073 7263 3d22 6475 6572 6572 mage src="duerer │ │ │ │ │ -000149d0: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png" text="Imag │ │ │ │ │ -000149e0: 6520 6f66 2044 7565 7265 7227 7320 7065 e of Duerer's pe │ │ │ │ │ -000149f0: 7273 7065 6374 6976 6520 636f 6d70 7574 rspective comput │ │ │ │ │ -00014a00: 6572 206f 6d69 7474 6564 2069 6e20 7465 er omitted in te │ │ │ │ │ -00014a10: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00014a20: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00014a30: 0a0a 2020 2041 6c6c 2074 6861 7427 7320 .. All that's │ │ │ │ │ -00014a40: 6c65 6674 2069 7320 746f 2066 696e 6420 left is to find │ │ │ │ │ -00014a50: 6120 7761 7920 746f 2063 6f6e 6e65 6374 a way to connect │ │ │ │ │ -00014a60: 2074 6865 2070 6f69 6e74 7320 6f66 2074 the points of t │ │ │ │ │ -00014a70: 6865 2068 6f75 7365 0a6f 6e20 7468 6520 he house.on the │ │ │ │ │ -00014a80: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane │ │ │ │ │ -00014a90: 2e20 2057 6520 636f 756c 6420 7075 6c6c . We could pull │ │ │ │ │ -00014aa0: 206f 7574 2061 2067 6f6f 6420 636f 6d70 out a good comp │ │ │ │ │ -00014ab0: 7574 6572 2067 7261 7068 6963 730a 7465 uter graphics.te │ │ │ │ │ -00014ac0: 7874 2c20 6669 6e64 2074 6865 206e 6563 xt, find the nec │ │ │ │ │ -00014ad0: 6573 7361 7279 206d 6174 7269 782c 2061 essary matrix, a │ │ │ │ │ -00014ae0: 6e64 2065 6e74 6572 2069 7420 6f75 7273 nd enter it ours │ │ │ │ │ -00014af0: 656c 7665 7320 6173 2061 2074 7261 6e73 elves as a trans │ │ │ │ │ -00014b00: 666f 726d 0a6c 6974 6572 616c 2e20 202a form.literal. * │ │ │ │ │ -00014b10: 4e6f 7465 2054 7261 6e73 666f 726d 206c Note Transform l │ │ │ │ │ -00014b20: 6974 6572 616c 733a 3a2e 2020 5468 6174 iterals::. That │ │ │ │ │ -00014b30: 2077 6f72 6b20 6973 2061 6c72 6561 6479 work is already │ │ │ │ │ -00014b40: 2064 6f6e 652c 0a68 6f77 6576 6572 2e20 done,.however. │ │ │ │ │ -00014b50: 2057 6520 6361 6e20 7573 6520 7468 6520 We can use the │ │ │ │ │ -00014b60: e280 9870 726f 6a65 6374 2870 29e2 8099 ...project(p)... │ │ │ │ │ -00014b70: 2063 6f6e 7374 7275 6374 6f72 2e0a 0a20 constructor... │ │ │ │ │ -00014b80: 2020 5468 6572 6520 6172 6520 7374 696c There are stil │ │ │ │ │ -00014b90: 6c20 736f 6d65 2064 6574 6169 6c73 2074 l some details t │ │ │ │ │ -00014ba0: 6861 7420 7265 7175 6972 6520 6361 7265 hat require care │ │ │ │ │ -00014bb0: 2e20 2050 726f 6a65 6374 696f 6e20 7769 . Projection wi │ │ │ │ │ -00014bc0: 6c6c 0a66 6c61 7474 656e 2077 6861 7465 ll.flatten whate │ │ │ │ │ -00014bd0: 7665 7220 6973 2074 7261 6e73 666f 726d ver is transform │ │ │ │ │ -00014be0: 6564 206f 6e74 6f20 7468 6520 706c 616e ed onto the plan │ │ │ │ │ -00014bf0: 6520 7a3d 2d70 2e20 2054 6865 7265 666f e z=-p. Therefo │ │ │ │ │ -00014c00: 7265 2061 6e79 2070 6172 740a 6f66 2074 re any part.of t │ │ │ │ │ -00014c10: 6865 2068 6f75 7365 2063 6f75 6c64 2064 he house could d │ │ │ │ │ -00014c20: 6973 6170 7065 6172 2062 6568 696e 6420 isappear behind │ │ │ │ │ -00014c30: 7468 6520 7072 6f6a 6563 7469 6f6e 2070 the projection p │ │ │ │ │ -00014c40: 6c61 6e65 2028 7468 6520 6869 6464 656e lane (the hidden │ │ │ │ │ -00014c50: 0a73 7572 6661 6365 2061 6c67 6f72 6974 .surface algorit │ │ │ │ │ -00014c60: 686d 206f 7264 6572 7320 6f62 6a65 6374 hm orders object │ │ │ │ │ -00014c70: 7320 6174 2074 6865 2073 616d 6520 6465 s at the same de │ │ │ │ │ -00014c80: 7074 6820 6172 6269 7472 6172 696c 7929 pth arbitrarily) │ │ │ │ │ -00014c90: 2e20 2054 6865 0a64 6f6f 7220 6d61 7920 . The.door may │ │ │ │ │ -00014ca0: 616c 736f 2064 6973 6170 7065 6172 2062 also disappear b │ │ │ │ │ -00014cb0: 6568 696e 6420 7468 6520 6672 6f6e 7420 ehind the front │ │ │ │ │ -00014cc0: 6f66 2074 6865 2068 6f75 7365 2e20 2054 of the house. T │ │ │ │ │ -00014cd0: 6f20 6d61 6b65 2073 7572 650a 6576 6572 o make sure.ever │ │ │ │ │ -00014ce0: 7974 6869 6e67 2072 656d 6169 6e73 2076 ything remains v │ │ │ │ │ -00014cf0: 6973 6962 6c65 2c20 7765 276c 6c20 706c isible, we'll pl │ │ │ │ │ -00014d00: 6163 6520 7468 6520 686f 7573 6520 6120 ace the house a │ │ │ │ │ -00014d10: 7469 6e79 2062 6974 2069 6e20 6672 6f6e tiny bit in fron │ │ │ │ │ -00014d20: 7420 6f66 0a74 6865 2070 726f 6a65 6374 t of.the project │ │ │ │ │ -00014d30: 696f 6e20 706c 616e 6520 616e 6420 6120 ion plane and a │ │ │ │ │ -00014d40: 7365 636f 6e64 2063 6f70 7920 6f66 2074 second copy of t │ │ │ │ │ -00014d50: 6865 2064 6f6f 7220 696e 2066 726f 6e74 he door in front │ │ │ │ │ -00014d60: 206f 6620 7468 650a 686f 7573 652e 0a20 of the.house.. │ │ │ │ │ -00014d70: 2064 6566 2070 726f 6a65 6374 696f 6e20 def projection │ │ │ │ │ -00014d80: 7b0a 2020 2020 2520 6520 6973 2061 2073 {. % e is a s │ │ │ │ │ -00014d90: 6d61 6c6c 206e 756d 6265 7220 6465 6669 mall number defi │ │ │ │ │ -00014da0: 6e65 6420 6162 6f76 650a 2020 2020 7075 ned above. pu │ │ │ │ │ -00014db0: 7420 7b20 7072 6f6a 6563 7428 7029 2074 t { project(p) t │ │ │ │ │ -00014dc0: 6865 6e20 7472 616e 736c 6174 6528 5b30 hen translate([0 │ │ │ │ │ -00014dd0: 2c30 2c31 2a65 5d29 207d 207b 686f 7573 ,0,1*e]) } {hous │ │ │ │ │ -00014de0: 657d 0a20 2020 2070 7574 207b 2070 726f e}. put { pro │ │ │ │ │ -00014df0: 6a65 6374 2870 2920 7468 656e 2074 7261 ject(p) then tra │ │ │ │ │ -00014e00: 6e73 6c61 7465 285b 302c 302c 322a 655d nslate([0,0,2*e] │ │ │ │ │ -00014e10: 2920 7d20 7b64 6f6f 727d 0a20 207d 0a0a ) } {door}. }.. │ │ │ │ │ -00014e20: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ -00014e30: 3138 302e 706e 6722 2074 6578 743d 2249 180.png" text="I │ │ │ │ │ -00014e40: 6d61 6765 2065 7831 3830 206f 6d69 7474 mage ex180 omitt │ │ │ │ │ -00014e50: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ -00014e60: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ -00014e70: 656e 742e 2200 085d 0a0a 2020 2049 6620 ent."..].. If │ │ │ │ │ -00014e80: 796f 7520 6861 7665 2073 7475 6469 6564 you have studied │ │ │ │ │ -00014e90: 2061 6e64 2075 6e64 6572 7374 616e 6420 and understand │ │ │ │ │ -00014ea0: 616c 6c20 7468 6973 2c20 796f 7520 6172 all this, you ar │ │ │ │ │ -00014eb0: 6520 7765 6c6c 206f 6e20 7468 6520 7761 e well on the wa │ │ │ │ │ -00014ec0: 790a 746f 2073 7563 6365 7373 2077 6974 y.to success wit │ │ │ │ │ -00014ed0: 6820 e280 9873 6b65 7463 68e2 8099 2e20 h ...sketch.... │ │ │ │ │ -00014ee0: 204e 6f74 2073 686f 776e 2061 7265 2074 Not shown are t │ │ │ │ │ -00014ef0: 6865 2032 3020 6f72 2073 6f20 6974 6572 he 20 or so iter │ │ │ │ │ -00014f00: 6174 696f 6e73 2074 6861 740a 7765 7265 ations that.were │ │ │ │ │ -00014f10: 2072 6571 7569 7265 6420 746f 2066 696e required to fin │ │ │ │ │ -00014f20: 6420 6120 7265 6173 6f6e 6162 6c65 2076 d a reasonable v │ │ │ │ │ -00014f30: 6965 7769 6e67 2061 6e67 6c65 2061 6e64 iewing angle and │ │ │ │ │ -00014f40: 2068 6f75 7365 2070 6f73 6974 696f 6e2c house position, │ │ │ │ │ -00014f50: 0a65 7463 2e20 204e 6f6e 6574 6865 6c65 .etc. Nonethele │ │ │ │ │ -00014f60: 7373 2c20 7468 6973 2064 7261 7769 6e67 ss, this drawing │ │ │ │ │ -00014f70: 2077 6173 2063 6f6d 706c 6574 6564 2069 was completed i │ │ │ │ │ -00014f80: 6e20 6162 6f75 7420 616e 2068 6f75 722e n about an hour. │ │ │ │ │ -00014f90: 2020 5768 696c 6520 610a 4755 4920 746f While a.GUI to │ │ │ │ │ -00014fa0: 6f6c 206d 6179 2068 6176 6520 6265 656e ol may have been │ │ │ │ │ -00014fb0: 2061 206c 6974 746c 6520 6661 7374 6572 a little faster │ │ │ │ │ -00014fc0: 2c20 6974 2069 7320 756e 6c69 6b65 6c79 , it is unlikely │ │ │ │ │ -00014fd0: 2074 6861 7420 6120 6e65 770a 6472 6177 that a new.draw │ │ │ │ │ -00014fe0: 696e 672c 2069 7473 656c 6620 6120 7065 ing, itself a pe │ │ │ │ │ -00014ff0: 7273 7065 6374 6976 6520 7072 6f6a 6563 rspective projec │ │ │ │ │ -00015000: 7469 6f6e 206f 6620 7468 6520 7363 656e tion of the scen │ │ │ │ │ -00015010: 652c 2063 6f75 6c64 2062 650a 6765 6e65 e, could be.gene │ │ │ │ │ -00015020: 7261 7465 6420 7769 7468 2074 776f 206d rated with two m │ │ │ │ │ -00015030: 6f72 6520 6d69 6e75 7465 7327 2077 6f72 ore minutes' wor │ │ │ │ │ -00015040: 6b21 2020 4a75 7374 2063 6861 6e67 6520 k! Just change │ │ │ │ │ -00015050: 7468 6520 7669 6577 2074 7261 6e73 666f the view transfo │ │ │ │ │ -00015060: 726d 0a74 6f0a 2020 7075 7420 7b20 7669 rm.to. put { vi │ │ │ │ │ -00015070: 6577 2828 6579 6529 2c20 286c 6f6f 6b5f ew((eye), (look_ │ │ │ │ │ -00015080: 6174 2929 2074 6865 6e20 7065 7273 7065 at)) then perspe │ │ │ │ │ -00015090: 6374 6976 6528 3929 207d 207b 202e 2e2e ctive(9) } { ... │ │ │ │ │ -000150a0: 0a61 6e64 2070 726f 6475 6365 2074 6869 .and produce thi │ │ │ │ │ -000150b0: 732e 0a0a 0008 5b69 6d61 6765 2073 7263 s.....[image src │ │ │ │ │ -000150c0: 3d22 6578 3139 302e 706e 6722 2074 6578 ="ex190.png" tex │ │ │ │ │ -000150d0: 743d 2249 6d61 6765 2065 7831 3930 206f t="Image ex190 o │ │ │ │ │ -000150e0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ -000150f0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ -00015100: 6f63 756d 656e 742e 2200 085d 0a0a 1f0a ocument."..].... │ │ │ │ │ -00015110: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -00015120: 6f2c 2020 4e6f 6465 3a20 4120 7465 6368 o, Node: A tech │ │ │ │ │ -00015130: 6e69 6361 6c20 6472 6177 696e 672c 2020 nical drawing, │ │ │ │ │ -00015140: 4e65 7874 3a20 4120 6869 6572 6172 6368 Next: A hierarch │ │ │ │ │ -00015150: 6963 616c 206d 6f64 656c 2c20 2050 7265 ical model, Pre │ │ │ │ │ -00015160: 763a 204f 7665 7276 6965 772c 2020 5570 v: Overview, Up │ │ │ │ │ -00015170: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra │ │ │ │ │ -00015180: 7769 6e67 0a0a 342e 3220 4120 7465 6368 wing..4.2 A tech │ │ │ │ │ -00015190: 6e69 6361 6c20 6472 6177 696e 670a 3d3d nical drawing.== │ │ │ │ │ +000121c0: 2020 4120 6669 6e61 6c20 6361 6d65 7261 A final camera │ │ │ │ │ +000121d0: 2074 7261 6e73 666f 726d 6174 696f 6e20 transformation │ │ │ │ │ +000121e0: 6f66 2074 6865 2073 6365 6e65 2e0a 2a20 of the scene..* │ │ │ │ │ +000121f0: 5069 6374 7572 6520 626f 783a 3a20 2020 Picture box:: │ │ │ │ │ +00012200: 2020 2020 2020 2020 2020 2020 2020 5365 Se │ │ │ │ │ +00012210: 7474 696e 6720 7468 6520 626f 756e 6469 tting the boundi │ │ │ │ │ +00012220: 6e67 2062 6f78 2061 6e64 2032 6420 636c ng box and 2d cl │ │ │ │ │ +00012230: 6970 7069 6e67 2e0a 2a20 4672 616d 653a ipping..* Frame: │ │ │ │ │ +00012240: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00012250: 2020 2020 2020 2020 4164 6469 6e67 2061 Adding a │ │ │ │ │ +00012260: 2062 6f78 2061 726f 756e 6420 7468 6520 box around the │ │ │ │ │ +00012270: 6472 6177 696e 672e 0a2a 204c 616e 6775 drawing..* Langu │ │ │ │ │ +00012280: 6167 653a 3a20 2020 2020 2020 2020 2020 age:: │ │ │ │ │ +00012290: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting │ │ │ │ │ +000122a0: 2074 6865 206f 7574 7075 7420 6c61 6e67 the output lang │ │ │ │ │ +000122b0: 7561 6765 2e0a 0a1f 0a46 696c 653a 2073 uage.....File: s │ │ │ │ │ +000122c0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +000122d0: 653a 2047 6c6f 6261 6c20 6f70 7469 6f6e e: Global option │ │ │ │ │ +000122e0: 732c 2020 4e65 7874 3a20 4361 6d65 7261 s, Next: Camera │ │ │ │ │ +000122f0: 2c20 2050 7265 763a 2047 6c6f 6261 6c20 , Prev: Global │ │ │ │ │ +00012300: 656e 7669 726f 6e6d 656e 742c 2020 5570 environment, Up │ │ │ │ │ +00012310: 3a20 476c 6f62 616c 2065 6e76 6972 6f6e : Global environ │ │ │ │ │ +00012320: 6d65 6e74 0a0a 332e 342e 3120 476c 6f62 ment..3.4.1 Glob │ │ │ │ │ +00012330: 616c 206f 7074 696f 6e73 0a2d 2d2d 2d2d al options.----- │ │ │ │ │ +00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +00012350: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ +00012360: 7365 7420 5b20 4f50 5449 4f4e 5320 5d0a set [ OPTIONS ]. │ │ │ │ │ +00012370: 5468 6520 636f 6e74 656e 7473 206f 6620 The contents of │ │ │ │ │ +00012380: 4f50 5449 4f4e 532c 2065 7863 6570 7420 OPTIONS, except │ │ │ │ │ +00012390: 666f 7220 e280 9873 6b65 7463 68e2 8099 for ...sketch... │ │ │ │ │ +000123a0: 2069 6e74 6572 6e61 6c20 6f70 7469 6f6e internal option │ │ │ │ │ +000123b0: 732c 2061 7265 0a63 6f70 6965 6420 6173 s, are.copied as │ │ │ │ │ +000123c0: 2d69 7320 746f 2061 205c 7073 7365 7420 -is to a \psset │ │ │ │ │ +000123d0: 7468 6174 2061 7070 6561 7273 2062 6566 that appears bef │ │ │ │ │ +000123e0: 6f72 6520 616e 7974 6869 6e67 2065 6c73 ore anything els │ │ │ │ │ +000123f0: 6520 696e 2074 6865 206f 7574 7075 740a e in the output. │ │ │ │ │ +00012400: 6669 6c65 2e20 2054 6869 7320 6973 2061 file. This is a │ │ │ │ │ +00012410: 2067 6f6f 6420 706c 6163 6520 746f 2073 good place to s │ │ │ │ │ +00012420: 6574 20e2 8098 756e 6974 e280 992c 2061 et ...unit..., a │ │ │ │ │ +00012430: 2064 6566 6175 6c74 20e2 8098 6c69 6e65 default ...line │ │ │ │ │ +00012440: 7769 6474 68e2 8099 2c20 6574 632e 0a0a width..., etc... │ │ │ │ │ +00012450: 2020 2049 6e74 6572 6e61 6c20 6f70 7469 Internal opti │ │ │ │ │ +00012460: 6f6e 7320 776f 726b 206f 6e20 616c 6c20 ons work on all │ │ │ │ │ +00012470: 6f62 6a65 6374 7320 7768 6572 6520 7468 objects where th │ │ │ │ │ +00012480: 6579 206d 616b 6520 7365 6e73 652e 2020 ey make sense. │ │ │ │ │ +00012490: 5468 6973 0a69 6e63 6c75 6465 7320 e280 This.includes .. │ │ │ │ │ +000124a0: 9863 756c 6ce2 8099 2061 6e64 20e2 8098 .cull... and ... │ │ │ │ │ +000124b0: 7370 6c69 74e2 8099 2028 6275 7420 6e6f split... (but no │ │ │ │ │ +000124c0: 7420 e280 986c 6179 e280 9929 2e20 202a t ...lay...). * │ │ │ │ │ +000124d0: 4e6f 7465 2049 6e74 6572 6e61 6c20 6f70 Note Internal op │ │ │ │ │ +000124e0: 7469 6f6e 733a 3a2e 0a0a 1f0a 4669 6c65 tions::.....File │ │ │ │ │ +000124f0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00012500: 4e6f 6465 3a20 4361 6d65 7261 2c20 204e Node: Camera, N │ │ │ │ │ +00012510: 6578 743a 2050 6963 7475 7265 2062 6f78 ext: Picture box │ │ │ │ │ +00012520: 2c20 2050 7265 763a 2047 6c6f 6261 6c20 , Prev: Global │ │ │ │ │ +00012530: 6f70 7469 6f6e 732c 2020 5570 3a20 476c options, Up: Gl │ │ │ │ │ +00012540: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment │ │ │ │ │ +00012550: 0a0a 332e 342e 3220 4361 6d65 7261 0a2d ..3.4.2 Camera.- │ │ │ │ │ +00012560: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy │ │ │ │ │ +00012570: 6e74 6178 3a2a 0a20 2020 2020 6361 6d65 ntax:*. came │ │ │ │ │ +00012580: 7261 2054 5241 4e53 464f 524d 5f45 5850 ra TRANSFORM_EXP │ │ │ │ │ +00012590: 5245 5353 494f 4e0a 2020 2054 6865 2054 RESSION. The T │ │ │ │ │ +000125a0: 5241 4e53 464f 524d 5f45 5850 5245 5353 RANSFORM_EXPRESS │ │ │ │ │ +000125b0: 494f 4e20 6973 2061 7070 6c69 6564 2061 ION is applied a │ │ │ │ │ +000125c0: 6674 6572 2061 6c6c 206f 7468 6572 2074 fter all other t │ │ │ │ │ +000125d0: 7261 6e73 666f 726d 6174 696f 6e73 0a6f ransformations.o │ │ │ │ │ +000125e0: 6620 7468 6520 7363 656e 652e 2020 5468 f the scene. Th │ │ │ │ │ +000125f0: 6973 2069 7320 6375 7272 656e 746c 7920 is is currently │ │ │ │ │ +00012600: 6f6e 6c79 2075 7365 6675 6c20 666f 7220 only useful for │ │ │ │ │ +00012610: 7472 616e 7366 6f72 6d69 6e67 2074 6865 transforming the │ │ │ │ │ +00012620: 0a62 6f75 6e64 696e 6720 626f 782e 2020 .bounding box. │ │ │ │ │ +00012630: 2a4e 6f74 6520 5069 6374 7572 6520 626f *Note Picture bo │ │ │ │ │ +00012640: 783a 3a2e 2020 4974 2077 696c 6c20 706c x::. It will pl │ │ │ │ │ +00012650: 6179 2061 2072 6f6c 6520 696e 2061 6e79 ay a role in any │ │ │ │ │ +00012660: 2066 7574 7572 650a 696d 706c 656d 656e future.implemen │ │ │ │ │ +00012670: 7461 7469 6f6e 206f 6620 636c 6970 7069 tation of clippi │ │ │ │ │ +00012680: 6e67 2e0a 0a1f 0a46 696c 653a 2073 6b65 ng.....File: ske │ │ │ │ │ +00012690: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +000126a0: 2050 6963 7475 7265 2062 6f78 2c20 204e Picture box, N │ │ │ │ │ +000126b0: 6578 743a 2046 7261 6d65 2c20 2050 7265 ext: Frame, Pre │ │ │ │ │ +000126c0: 763a 2043 616d 6572 612c 2020 5570 3a20 v: Camera, Up: │ │ │ │ │ +000126d0: 476c 6f62 616c 2065 6e76 6972 6f6e 6d65 Global environme │ │ │ │ │ +000126e0: 6e74 0a0a 332e 342e 3320 5069 6374 7572 nt..3.4.3 Pictur │ │ │ │ │ +000126f0: 6520 626f 780a 2d2d 2d2d 2d2d 2d2d 2d2d e box.---------- │ │ │ │ │ +00012700: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax │ │ │ │ │ +00012710: 3a2a 0a20 2020 2020 7069 6374 7572 6562 :*. pictureb │ │ │ │ │ +00012720: 6f78 5b42 4153 454c 494e 455d 0a20 2020 ox[BASELINE]. │ │ │ │ │ +00012730: 2020 7069 6374 7572 6562 6f78 5b42 4153 picturebox[BAS │ │ │ │ │ +00012740: 454c 494e 455d 2028 5031 2928 5032 290a ELINE] (P1)(P2). │ │ │ │ │ +00012750: 5468 6520 6669 7273 7420 666f 726d 206f The first form o │ │ │ │ │ +00012760: 6620 e280 9870 6963 7475 7265 626f 78e2 f ...picturebox. │ │ │ │ │ +00012770: 8099 2063 6175 7365 7320 6120 7363 616c .. causes a scal │ │ │ │ │ +00012780: 6172 2042 4153 454c 494e 4520 6672 6163 ar BASELINE frac │ │ │ │ │ +00012790: 7469 6f6e 2074 6f20 6265 0a65 6d69 7474 tion to be.emitt │ │ │ │ │ +000127a0: 6564 2069 6e20 7468 6520 e280 9870 7370 ed in the ...psp │ │ │ │ │ +000127b0: 6963 7475 7265 e280 9920 656e 7669 726f icture... enviro │ │ │ │ │ +000127c0: 6e6d 656e 7420 6f66 2074 6865 206f 7574 nment of the out │ │ │ │ │ +000127d0: 7075 742e 2020 5365 6520 e280 9850 5354 put. See ...PST │ │ │ │ │ +000127e0: 7269 636b 73e2 8099 0a64 6f63 756d 656e ricks....documen │ │ │ │ │ +000127f0: 7461 7469 6f6e 2066 6f72 20e2 8098 7073 tation for ...ps │ │ │ │ │ +00012800: 7069 6374 7572 65e2 8099 2e0a 0a20 2020 picture...... │ │ │ │ │ +00012810: 496e 2074 6865 2073 6563 6f6e 6420 666f In the second fo │ │ │ │ │ +00012820: 726d 2c20 7468 6520 4241 5345 4c49 4e45 rm, the BASELINE │ │ │ │ │ +00012830: 2066 7261 6374 696f 6e20 6973 206f 7074 fraction is opt │ │ │ │ │ +00012840: 696f 6e61 6c2c 2061 6e64 2074 6865 2074 ional, and the t │ │ │ │ │ +00012850: 776f 0a70 6f69 6e74 7320 7468 6174 2066 wo.points that f │ │ │ │ │ +00012860: 6f6c 6c6f 7720 6465 6669 6e65 2074 6865 ollow define the │ │ │ │ │ +00012870: 2064 6961 676f 6e61 6c20 6f66 2061 2074 diagonal of a t │ │ │ │ │ +00012880: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional │ │ │ │ │ +00012890: 2062 6f75 6e64 696e 670a 626f 7820 666f bounding.box fo │ │ │ │ │ +000128a0: 7220 7468 6520 636f 6d70 6c65 7465 6420 r the completed │ │ │ │ │ +000128b0: 7363 656e 652e 2020 5468 6520 7061 7261 scene. The para │ │ │ │ │ +000128c0: 6c6c 656c 2070 726f 6a65 6374 696f 6e20 llel projection │ │ │ │ │ +000128d0: 6f66 2074 6865 2062 6f75 6e64 696e 670a of the bounding. │ │ │ │ │ +000128e0: 626f 7820 6465 7465 726d 696e 6573 2074 box determines t │ │ │ │ │ +000128f0: 6865 2063 6f72 6e65 7273 206f 6620 7468 he corners of th │ │ │ │ │ +00012900: 6520 6472 6177 696e 6727 7320 e280 9870 e drawing's ...p │ │ │ │ │ +00012910: 7370 6963 7475 7265 2ae2 8099 2065 6e76 spicture*... env │ │ │ │ │ +00012920: 6972 6f6e 6d65 6e74 2c0a 7768 6963 6820 ironment,.which │ │ │ │ │ +00012930: 6973 2075 7365 6420 696e 2070 6c61 6365 is used in place │ │ │ │ │ +00012940: 206f 6620 e280 9870 7370 6963 7475 7265 of ...pspicture │ │ │ │ │ +00012950: e280 992e 2020 5468 6973 2063 6175 7365 .... This cause │ │ │ │ │ +00012960: 7320 506f 7374 5363 7269 7074 2074 6f20 s PostScript to │ │ │ │ │ +00012970: 636c 6970 0a74 6865 2066 696e 616c 2064 clip.the final d │ │ │ │ │ +00012980: 7261 7769 6e67 2074 6f20 7468 6520 626f rawing to the bo │ │ │ │ │ +00012990: 756e 6469 6e67 2062 6f78 2069 6e20 3264 unding box in 2d │ │ │ │ │ +000129a0: 2e20 2049 6620 7468 6572 6520 6973 2061 . If there is a │ │ │ │ │ +000129b0: 20e2 8098 6361 6d65 7261 e280 990a 7370 ...camera....sp │ │ │ │ │ +000129c0: 6563 6966 6965 642c 2074 6865 2063 616d ecified, the cam │ │ │ │ │ +000129d0: 6572 6120 7472 616e 666f 726d 6174 696f era tranformatio │ │ │ │ │ +000129e0: 6e20 6973 2061 7070 6c69 6564 2074 6f20 n is applied to │ │ │ │ │ +000129f0: 7468 6520 626f 756e 6469 6e67 2062 6f78 the bounding box │ │ │ │ │ +00012a00: 2c20 616e 640a 7468 6520 e280 9870 7370 , and.the ...psp │ │ │ │ │ +00012a10: 6963 7475 7265 e280 9920 6973 2073 6574 icture... is set │ │ │ │ │ +00012a20: 206a 7573 7420 6c61 7267 6520 656e 6f75 just large enou │ │ │ │ │ +00012a30: 6768 2074 6f20 696e 636c 7564 6520 7468 gh to include th │ │ │ │ │ +00012a40: 6520 7472 616e 7366 6f72 6d65 6420 626f e transformed bo │ │ │ │ │ +00012a50: 782e 0a0a 2020 2057 6865 6e20 6e6f 2062 x... When no b │ │ │ │ │ +00012a60: 6f75 6e64 696e 6720 626f 7820 6973 2067 ounding box is g │ │ │ │ │ +00012a70: 6976 656e 2c20 e280 9873 6b65 7463 68e2 iven, ...sketch. │ │ │ │ │ +00012a80: 8099 2063 6f6d 7075 7465 7320 6f6e 6520 .. computes one │ │ │ │ │ +00012a90: 6175 746f 6d61 7469 6361 6c6c 792e 0a0a automatically... │ │ │ │ │ +00012aa0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00012ab0: 6e66 6f2c 2020 4e6f 6465 3a20 4672 616d nfo, Node: Fram │ │ │ │ │ +00012ac0: 652c 2020 4e65 7874 3a20 4c61 6e67 7561 e, Next: Langua │ │ │ │ │ +00012ad0: 6765 2c20 2050 7265 763a 2050 6963 7475 ge, Prev: Pictu │ │ │ │ │ +00012ae0: 7265 2062 6f78 2c20 2055 703a 2047 6c6f re box, Up: Glo │ │ │ │ │ +00012af0: 6261 6c20 656e 7669 726f 6e6d 656e 740a bal environment. │ │ │ │ │ +00012b00: 0a33 2e34 2e34 2046 7261 6d65 0a2d 2d2d .3.4.4 Frame.--- │ │ │ │ │ +00012b10: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta │ │ │ │ │ +00012b20: 783a 2a0a 2020 2020 2066 7261 6d65 205b x:*. frame [ │ │ │ │ │ +00012b30: 4f50 5449 4f4e 535d 0a43 6175 7365 7320 OPTIONS].Causes │ │ │ │ │ +00012b40: 6120 5c70 7366 7261 6d65 626f 7820 746f a \psframebox to │ │ │ │ │ +00012b50: 2073 7572 726f 756e 6420 7468 6520 e280 surround the .. │ │ │ │ │ +00012b60: 9870 7370 6963 7475 7265 e280 9920 656e .pspicture... en │ │ │ │ │ +00012b70: 7669 726f 6e6d 656e 7420 696e 2074 6865 vironment in the │ │ │ │ │ +00012b80: 0a6f 7574 7075 742e 2020 4966 204f 5054 .output. If OPT │ │ │ │ │ +00012b90: 494f 4e53 2061 7265 2070 7265 7365 6e74 IONS are present │ │ │ │ │ +00012ba0: 2c20 7468 6579 2061 7265 2063 6f70 6965 , they are copie │ │ │ │ │ +00012bb0: 6420 6173 2d69 732e 2020 4e6f 726d 616c d as-is. Normal │ │ │ │ │ +00012bc0: 6c79 206f 6e65 0a77 6f75 6c64 2077 616e ly one.would wan │ │ │ │ │ +00012bd0: 7420 746f 2073 6574 20e2 8098 6c69 6e65 t to set ...line │ │ │ │ │ +00012be0: 7769 6474 68e2 8099 2c20 e280 986c 696e width..., ...lin │ │ │ │ │ +00012bf0: 6573 7479 6c65 e280 992c 20e2 8098 6c69 estyle..., ...li │ │ │ │ │ +00012c00: 6e65 636f 6c6f 72e2 8099 2c20 6574 632e necolor..., etc. │ │ │ │ │ +00012c10: 2020 4966 0a6f 6d69 7474 6564 2c20 7468 If.omitted, th │ │ │ │ │ +00012c20: 656e 20e2 8098 6672 616d 6573 6570 3d30 en ...framesep=0 │ │ │ │ │ +00012c30: 7074 e280 9920 6973 2061 6464 6564 2073 pt... is added s │ │ │ │ │ +00012c40: 6f20 7468 6174 2074 6865 2066 7261 6d65 o that the frame │ │ │ │ │ +00012c50: 2074 6967 6874 6c79 2068 7567 7320 7468 tightly hugs th │ │ │ │ │ +00012c60: 650a e280 9870 7370 6963 7475 7265 e280 e....pspicture.. │ │ │ │ │ +00012c70: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket │ │ │ │ │ +00012c80: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00012c90: 4c61 6e67 7561 6765 2c20 2050 7265 763a Language, Prev: │ │ │ │ │ +00012ca0: 2046 7261 6d65 2c20 2055 703a 2047 6c6f Frame, Up: Glo │ │ │ │ │ +00012cb0: 6261 6c20 656e 7669 726f 6e6d 656e 740a bal environment. │ │ │ │ │ +00012cc0: 0a33 2e34 2e35 204c 616e 6775 6167 650a .3.4.5 Language. │ │ │ │ │ +00012cd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ +00012ce0: 2020 2020 206c 616e 6775 6167 6520 7469 language ti │ │ │ │ │ +00012cf0: 6b7a 0a20 2020 2020 6c61 6e67 7561 6765 kz. language │ │ │ │ │ +00012d00: 2074 696b 7a2c 2063 6f6e 7465 7874 0a20 tikz, context. │ │ │ │ │ +00012d10: 2020 2020 6c61 6e67 7561 6765 2070 7374 language pst │ │ │ │ │ +00012d20: 7269 636b 730a 2020 2020 206c 616e 6775 ricks. langu │ │ │ │ │ +00012d30: 6167 6520 7073 7472 6963 6b73 2c20 6c61 age pstricks, la │ │ │ │ │ +00012d40: 7465 780a 5365 7473 2074 6865 206f 7574 tex.Sets the out │ │ │ │ │ +00012d50: 7075 7420 6c61 6e67 7561 6765 2067 656e put language gen │ │ │ │ │ +00012d60: 6572 6174 6564 2062 7920 e280 9873 6b65 erated by ...ske │ │ │ │ │ +00012d70: 7463 68e2 8099 2e20 2054 6865 2073 6574 tch.... The set │ │ │ │ │ +00012d80: 206f 6620 6f70 7469 6f6e 730a 756e 6465 of options.unde │ │ │ │ │ +00012d90: 7273 746f 6f64 2062 7920 736b 6574 6368 rstood by sketch │ │ │ │ │ +00012da0: 2061 6c73 6f20 6368 616e 6765 732e 2020 also changes. │ │ │ │ │ +00012db0: 466f 7220 6578 616d 706c 652c 2074 6865 For example, the │ │ │ │ │ +00012dc0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ +00012dd0: 6f70 7469 6f6e 0ae2 8098 6c69 6e65 7769 option....linewi │ │ │ │ │ +00012de0: 6474 68e2 8099 2077 696c 6c20 6e6f 7420 dth... will not │ │ │ │ │ +00012df0: 6265 2070 726f 7065 726c 7920 6861 6e64 be properly hand │ │ │ │ │ +00012e00: 6c65 6420 6966 20e2 8098 6c61 6e67 7561 led if ...langua │ │ │ │ │ +00012e10: 6765 e280 9920 6973 2073 6574 2074 6f20 ge... is set to │ │ │ │ │ +00012e20: e280 9874 696b 7ae2 8099 2e0a 5369 6d69 ...tikz.....Simi │ │ │ │ │ +00012e30: 6c61 726c 792c 2074 6865 20e2 8098 5469 larly, the ...Ti │ │ │ │ │ +00012e40: 6b5a e280 9920 6f70 7469 6f6e 20e2 8098 kZ... option ... │ │ │ │ │ +00012e50: 6c69 6e65 2073 7479 6c65 e280 9920 286e line style... (n │ │ │ │ │ +00012e60: 6f74 6520 7468 6520 7370 6163 6529 2077 ote the space) w │ │ │ │ │ +00012e70: 696c 6c20 6e6f 7420 6265 0a70 726f 7065 ill not be.prope │ │ │ │ │ +00012e80: 726c 7920 6861 6e64 6c65 6420 6966 20e2 rly handled if . │ │ │ │ │ +00012e90: 8098 6c61 6e67 7561 6765 e280 9920 6973 ..language... is │ │ │ │ │ +00012ea0: 2073 6574 2074 6f20 e280 9870 7374 7269 set to ...pstri │ │ │ │ │ +00012eb0: 636b 73e2 8099 2e20 2049 6620 6e6f 206c cks.... If no l │ │ │ │ │ +00012ec0: 616e 6775 6167 6520 6973 0a73 7065 6369 anguage is.speci │ │ │ │ │ +00012ed0: 6669 6564 2c20 7468 6520 6465 6661 756c fied, the defaul │ │ │ │ │ +00012ee0: 7420 e280 9870 7374 7269 636b 73e2 8099 t ...pstricks... │ │ │ │ │ +00012ef0: 2069 7320 7573 6564 2e0a 0a20 2020 416e is used... An │ │ │ │ │ +00012f00: 206f 7074 696f 6e61 6c20 636f 6d6d 6120 optional comma │ │ │ │ │ +00012f10: 666f 6c6c 6f77 6564 2062 7920 e280 986c followed by ...l │ │ │ │ │ +00012f20: 6174 6578 e280 9920 6f72 20e2 8098 636f atex... or ...co │ │ │ │ │ +00012f30: 6e74 6578 74e2 8099 2073 7065 6369 6669 ntext... specifi │ │ │ │ │ +00012f40: 6573 2074 6865 0a6d 6163 726f 2070 6163 es the.macro pac │ │ │ │ │ +00012f50: 6b61 6765 2074 6861 7420 7468 6520 6f75 kage that the ou │ │ │ │ │ +00012f60: 7470 7574 2073 686f 756c 6420 6173 7375 tput should assu │ │ │ │ │ +00012f70: 6d65 2e20 2054 6869 7320 6166 6665 6374 me. This affect │ │ │ │ │ +00012f80: 7320 7468 6520 e280 9870 6963 7475 7265 s the ...picture │ │ │ │ │ +00012f90: e280 990a 656e 7669 726f 6e6d 656e 7420 ....environment │ │ │ │ │ +00012fa0: 636f 6d6d 616e 6473 2065 6d69 7474 6564 commands emitted │ │ │ │ │ +00012fb0: 2061 6e64 2074 6865 2064 6f63 756d 656e and the documen │ │ │ │ │ +00012fc0: 7420 7465 6d70 6c61 7465 2075 7365 6420 t template used │ │ │ │ │ +00012fd0: 7769 7468 2074 6865 0ae2 8098 2d54 e280 with the....-T.. │ │ │ │ │ +00012fe0: 9920 6f70 7469 6f6e 2e20 202a 4e6f 7465 . option. *Note │ │ │ │ │ +00012ff0: 2043 6f6d 6d61 6e64 206c 696e 653a 3a2e Command line::. │ │ │ │ │ +00013000: 2020 4e6f 7465 2074 6861 7420 6174 2074 Note that at t │ │ │ │ │ +00013010: 6865 2074 696d 6520 7468 6973 206d 616e he time this man │ │ │ │ │ +00013020: 7561 6c0a 7761 7320 6765 6e65 7261 7465 ual.was generate │ │ │ │ │ +00013030: 642c 20e2 8098 5053 5472 6963 6b73 e280 d, ...PSTricks.. │ │ │ │ │ +00013040: 9920 7761 7320 6e6f 7420 7375 7070 6f72 . was not suppor │ │ │ │ │ +00013050: 7465 6420 6279 204c 6154 6558 206f 7220 ted by LaTeX or │ │ │ │ │ +00013060: 6279 20e2 8098 436f 6e54 6558 74e2 8099 by ...ConTeXt... │ │ │ │ │ +00013070: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +00013080: 682e 696e 666f 2c20 204e 6f64 653a 2042 h.info, Node: B │ │ │ │ │ +00013090: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin │ │ │ │ │ +000130a0: 672c 2020 4e65 7874 3a20 436f 6d6d 616e g, Next: Comman │ │ │ │ │ +000130b0: 6420 6c69 6e65 2c20 2050 7265 763a 2049 d line, Prev: I │ │ │ │ │ +000130c0: 6e70 7574 206c 616e 6775 6167 652c 2020 nput language, │ │ │ │ │ +000130d0: 5570 3a20 546f 700a 0a34 2042 7569 6c64 Up: Top..4 Build │ │ │ │ │ +000130e0: 696e 6720 6120 6472 6177 696e 670a 2a2a ing a drawing.** │ │ │ │ │ +000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ +00013100: 2a2a 0a0a 5375 6363 6573 7366 756c 2064 **..Successful d │ │ │ │ │ +00013110: 7261 7769 6e67 7320 7769 7468 20e2 8098 rawings with ... │ │ │ │ │ +00013120: 736b 6574 6368 e280 9920 616e 6420 7769 sketch... and wi │ │ │ │ │ +00013130: 7468 2061 6e79 2073 6365 6e65 2064 6573 th any scene des │ │ │ │ │ +00013140: 6372 6970 7469 6f6e 0a6c 616e 6775 6167 cription.languag │ │ │ │ │ +00013150: 6520 7265 7175 6972 6520 7468 6174 2074 e require that t │ │ │ │ │ +00013160: 6865 2075 7365 7220 6465 7665 6c6f 7020 he user develop │ │ │ │ │ +00013170: 616e 2061 6363 7572 6174 6520 6d65 6e74 an accurate ment │ │ │ │ │ +00013180: 616c 2070 6963 7475 7265 206f 6620 6865 al picture of he │ │ │ │ │ +00013190: 720a 636f 6465 2061 6e64 2069 7473 206d r.code and its m │ │ │ │ │ +000131a0: 6561 6e69 6e67 2e20 2054 6869 7320 696d eaning. This im │ │ │ │ │ +000131b0: 6167 6520 6973 2062 6573 7420 6275 696c age is best buil │ │ │ │ │ +000131c0: 7420 696e 2073 6d61 6c6c 2070 6965 6365 t in small piece │ │ │ │ │ +000131d0: 732e 0a54 6865 7265 666f 7265 2c20 e280 s..Therefore, .. │ │ │ │ │ +000131e0: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input │ │ │ │ │ +000131f0: 7320 6172 6520 6265 7374 2063 7265 6174 s are best creat │ │ │ │ │ +00013200: 6564 2069 6e20 736d 616c 6c20 696e 6372 ed in small incr │ │ │ │ │ +00013210: 656d 656e 7473 2077 6974 680a 6672 6571 ements with.freq │ │ │ │ │ +00013220: 7565 6e74 2070 6175 7365 7320 746f 2063 uent pauses to c │ │ │ │ │ +00013230: 6f6d 7069 6c65 2061 6e64 2076 6965 7720 ompile and view │ │ │ │ │ +00013240: 7468 6520 7265 7375 6c74 732e 2020 4361 the results. Ca │ │ │ │ │ +00013250: 7265 6675 6c20 636f 6d6d 656e 7473 2069 reful comments i │ │ │ │ │ +00013260: 6e0a 7468 6520 696e 7075 7420 6f66 7465 n.the input ofte │ │ │ │ │ +00013270: 6e20 6865 6c70 2061 7320 6120 7363 656e n help as a scen │ │ │ │ │ +00013280: 6520 6772 6f77 7320 696e 2063 6f6d 706c e grows in compl │ │ │ │ │ +00013290: 6578 6974 792e 0a0a 2a20 4d65 6e75 3a0a exity...* Menu:. │ │ │ │ │ +000132a0: 0a2a 204f 7665 7276 6965 773a 3a20 2020 .* Overview:: │ │ │ │ │ +000132b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000132c0: 2042 7569 6c64 696e 6720 6120 7375 6273 Building a subs │ │ │ │ │ +000132d0: 7461 6e74 6961 6c20 6472 6177 696e 672e tantial drawing. │ │ │ │ │ +000132e0: 0a2a 2041 2074 6563 686e 6963 616c 2064 .* A technical d │ │ │ │ │ +000132f0: 7261 7769 6e67 3a3a 2020 2020 2020 2020 rawing:: │ │ │ │ │ +00013300: 2041 6e20 6578 616d 706c 6520 7769 7468 An example with │ │ │ │ │ +00013310: 2066 696e 6520 706c 6163 656d 656e 742e fine placement. │ │ │ │ │ +00013320: 0a2a 2041 2068 6965 7261 7263 6869 6361 .* A hierarchica │ │ │ │ │ +00013330: 6c20 6d6f 6465 6c3a 3a20 2020 2020 2020 l model:: │ │ │ │ │ +00013340: 2041 6e20 6578 616d 706c 6520 7769 7468 An example with │ │ │ │ │ +00013350: 2073 7765 6570 7320 616e 6420 7075 7473 sweeps and puts │ │ │ │ │ +00013360: 2e0a 2a20 4361 7665 6174 733a 3a20 2020 ..* Caveats:: │ │ │ │ │ +00013370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00013380: 2020 5768 6572 6520 7472 6f75 626c 6520 Where trouble │ │ │ │ │ +00013390: 6361 6e20 6f63 6375 722e 0a0a 1f0a 4669 can occur.....Fi │ │ │ │ │ +000133a0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +000133b0: 2020 4e6f 6465 3a20 4f76 6572 7669 6577 Node: Overview │ │ │ │ │ +000133c0: 2c20 204e 6578 743a 2041 2074 6563 686e , Next: A techn │ │ │ │ │ +000133d0: 6963 616c 2064 7261 7769 6e67 2c20 2050 ical drawing, P │ │ │ │ │ +000133e0: 7265 763a 2042 7569 6c64 696e 6720 6120 rev: Building a │ │ │ │ │ +000133f0: 6472 6177 696e 672c 2020 5570 3a20 4275 drawing, Up: Bu │ │ │ │ │ +00013400: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing │ │ │ │ │ +00013410: 0a0a 342e 3120 4f76 6572 7669 6577 0a3d ..4.1 Overview.= │ │ │ │ │ +00013420: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 7320 ===========..As │ │ │ │ │ +00013430: 616e 206f 7665 7276 6965 772c 206c 6574 an overview, let │ │ │ │ │ +00013440: 2773 2064 6576 656c 6f70 2061 2064 6961 's develop a dia │ │ │ │ │ +00013450: 6772 616d 2074 6861 7420 7368 6f77 7320 gram that shows │ │ │ │ │ +00013460: 686f 7720 6120 7065 7273 7065 6374 6976 how a perspectiv │ │ │ │ │ +00013470: 650a 7072 6f6a 6563 7469 6f6e 2074 7261 e.projection tra │ │ │ │ │ +00013480: 6e73 666f 726d 2077 6f72 6b73 2e20 2057 nsform works. W │ │ │ │ │ +00013490: 6527 6c6c 2073 7461 7274 2077 6974 6820 e'll start with │ │ │ │ │ +000134a0: 7468 6520 7472 6164 6974 696f 6e61 6c20 the traditional │ │ │ │ │ +000134b0: 7265 6665 7265 6e63 650a 6f62 6a65 6374 reference.object │ │ │ │ │ +000134c0: 2075 7365 6420 696e 2063 6f6d 7075 7465 used in compute │ │ │ │ │ +000134d0: 7220 6772 6170 6869 6373 2074 6578 7462 r graphics textb │ │ │ │ │ +000134e0: 6f6f 6b73 2c20 6120 686f 7573 652d 7368 ooks, a house-sh │ │ │ │ │ +000134f0: 6170 6564 2070 7269 736d 2e20 2042 6567 aped prism. Beg │ │ │ │ │ +00013500: 696e 0a62 7920 6465 6669 6e69 6e67 2074 in.by defining t │ │ │ │ │ +00013510: 6865 2070 6f69 6e74 7320 6f66 2074 6865 he points of the │ │ │ │ │ +00013520: 2068 6f75 7365 2e20 2052 6174 6865 7220 house. Rather │ │ │ │ │ +00013530: 7468 616e 2064 6566 696e 696e 6720 7468 than defining th │ │ │ │ │ +00013540: 6520 6661 6365 7320 6f66 0a74 6865 2068 e faces of.the h │ │ │ │ │ +00013550: 6f75 7365 2061 7320 706f 6c79 676f 6e73 ouse as polygons │ │ │ │ │ +00013560: 2061 6e64 2074 7261 6e73 666f 726d 696e and transformin │ │ │ │ │ +00013570: 6720 7468 6f73 652c 2077 6520 6172 6520 g those, we are │ │ │ │ │ +00013580: 676f 696e 6720 746f 2074 7261 6e73 666f going to transfo │ │ │ │ │ +00013590: 726d 0a74 6865 2070 6f69 6e74 7320 7468 rm.the points th │ │ │ │ │ +000135a0: 656d 7365 6c76 6573 2077 6974 6820 e280 emselves with .. │ │ │ │ │ +000135b0: 9873 6b65 7463 68e2 8099 2061 7269 7468 .sketch... arith │ │ │ │ │ +000135c0: 6d65 7469 6320 736f 2074 6861 7420 7765 metic so that we │ │ │ │ │ +000135d0: 2068 6176 6520 6e61 6d65 7320 666f 720a have names for. │ │ │ │ │ +000135e0: 7468 6520 7472 616e 7366 6f72 6d65 6420 the transformed │ │ │ │ │ +000135f0: 706f 696e 7473 206c 6174 6572 2e0a 2020 points later.. │ │ │ │ │ +00013600: 2520 7269 6768 7420 7369 6465 2028 6f75 % right side (ou │ │ │ │ │ +00013610: 7473 6964 6520 746f 2072 6967 6874 290a tside to right). │ │ │ │ │ +00013620: 2020 6465 6620 5231 2028 312c 312c 3129 def R1 (1,1,1) │ │ │ │ │ +00013630: 2064 6566 2052 3220 2831 2c2d 312c 3129 def R2 (1,-1,1) │ │ │ │ │ +00013640: 2064 6566 2052 3320 2831 2c2d 312c 2d31 def R3 (1,-1,-1 │ │ │ │ │ +00013650: 2920 6465 6620 5234 2028 312c 312c 2d31 ) def R4 (1,1,-1 │ │ │ │ │ +00013660: 290a 2020 6465 6620 5235 2028 312c 312e ). def R5 (1,1. │ │ │ │ │ +00013670: 352c 3029 0a0a 2020 2520 6c65 6674 2073 5,0).. % left s │ │ │ │ │ +00013680: 6964 6520 286f 7574 7369 6465 2074 6f20 ide (outside to │ │ │ │ │ +00013690: 7269 6768 742d 2d62 6163 6b77 6172 6429 right--backward) │ │ │ │ │ +000136a0: 0a20 2064 6566 2057 2020 5b32 2c30 2c30 . def W [2,0,0 │ │ │ │ │ +000136b0: 5d0a 2020 6465 6620 4c31 2028 5231 292d ]. def L1 (R1)- │ │ │ │ │ +000136c0: 5b57 5d20 6465 6620 4c32 2028 5232 292d [W] def L2 (R2)- │ │ │ │ │ +000136d0: 5b57 5d20 6465 6620 4c33 2028 5233 292d [W] def L3 (R3)- │ │ │ │ │ +000136e0: 5b57 5d20 6465 6620 4c34 2028 5234 292d [W] def L4 (R4)- │ │ │ │ │ +000136f0: 5b57 5d0a 2020 6465 6620 4c35 2028 5235 [W]. def L5 (R5 │ │ │ │ │ +00013700: 292d 5b57 5d0a 546f 2061 6464 2061 2064 )-[W].To add a d │ │ │ │ │ +00013710: 6f6f 7220 746f 2074 6865 2068 6f75 7365 oor to the house │ │ │ │ │ +00013720: 2c20 7765 2075 7365 2061 2070 6f6c 7967 , we use a polyg │ │ │ │ │ +00013730: 6f6e 2073 6c69 6768 746c 7920 696e 2066 on slightly in f │ │ │ │ │ +00013740: 726f 6e74 206f 6620 7468 650a 666f 7265 ront of the.fore │ │ │ │ │ +00013750: 6d6f 7374 2066 6163 6520 6f66 2074 6865 most face of the │ │ │ │ │ +00013760: 2068 6f75 7365 2e0a 2020 2520 646f 6f72 house.. % door │ │ │ │ │ +00013770: 0a20 2064 6566 2065 202e 3031 0a20 2064 . def e .01. d │ │ │ │ │ +00013780: 6566 2044 3120 2830 2c2d 312c 312b 6529 ef D1 (0,-1,1+e) │ │ │ │ │ +00013790: 2064 6566 2044 3220 282e 352c 2d31 2c31 def D2 (.5,-1,1 │ │ │ │ │ +000137a0: 2b65 2920 6465 6620 4433 2028 2e35 2c30 +e) def D3 (.5,0 │ │ │ │ │ +000137b0: 2c31 2b65 2920 6465 6620 4434 2028 302c ,1+e) def D4 (0, │ │ │ │ │ +000137c0: 302c 312b 6529 0a4e 6f77 206c 6574 2773 0,1+e).Now let's │ │ │ │ │ +000137d0: 2063 7265 6174 6520 6120 6e65 7720 7365 create a new se │ │ │ │ │ +000137e0: 7420 6f66 2070 6f69 6e74 7320 7468 6174 t of points that │ │ │ │ │ +000137f0: 2061 7265 2061 2074 6f2d 6265 2d64 6574 are a to-be-det │ │ │ │ │ +00013800: 6572 6d69 6e65 640a 7472 616e 7366 6f72 ermined.transfor │ │ │ │ │ +00013810: 6d20 6f66 2074 6865 206f 7269 6769 6e61 m of the origina │ │ │ │ │ +00013820: 6c73 2e0a 2020 6465 6620 6870 2073 6361 ls.. def hp sca │ │ │ │ │ +00013830: 6c65 2831 2920 2520 686f 7573 6520 706f le(1) % house po │ │ │ │ │ +00013840: 7369 7469 6f6e 6572 0a20 2064 6566 2070 sitioner. def p │ │ │ │ │ +00013850: 5231 205b 5b68 705d 5d2a 2852 3129 2064 R1 [[hp]]*(R1) d │ │ │ │ │ +00013860: 6566 2070 5232 205b 5b68 705d 5d2a 2852 ef pR2 [[hp]]*(R │ │ │ │ │ +00013870: 3229 2064 6566 2070 5233 205b 5b68 705d 2) def pR3 [[hp] │ │ │ │ │ +00013880: 5d2a 2852 3329 0a20 2064 6566 2070 5234 ]*(R3). def pR4 │ │ │ │ │ +00013890: 205b 5b68 705d 5d2a 2852 3429 2064 6566 [[hp]]*(R4) def │ │ │ │ │ +000138a0: 2070 5235 205b 5b68 705d 5d2a 2852 3529 pR5 [[hp]]*(R5) │ │ │ │ │ +000138b0: 0a20 2064 6566 2070 4c31 205b 5b68 705d . def pL1 [[hp] │ │ │ │ │ +000138c0: 5d2a 284c 3129 2064 6566 2070 4c32 205b ]*(L1) def pL2 [ │ │ │ │ │ +000138d0: 5b68 705d 5d2a 284c 3229 2064 6566 2070 [hp]]*(L2) def p │ │ │ │ │ +000138e0: 4c33 205b 5b68 705d 5d2a 284c 3329 0a20 L3 [[hp]]*(L3). │ │ │ │ │ +000138f0: 2064 6566 2070 4c34 205b 5b68 705d 5d2a def pL4 [[hp]]* │ │ │ │ │ +00013900: 284c 3429 2064 6566 2070 4c35 205b 5b68 (L4) def pL5 [[h │ │ │ │ │ +00013910: 705d 5d2a 284c 3529 0a20 2064 6566 2070 p]]*(L5). def p │ │ │ │ │ +00013920: 4431 205b 5b68 705d 5d2a 2844 3129 2064 D1 [[hp]]*(D1) d │ │ │ │ │ +00013930: 6566 2070 4432 205b 5b68 705d 5d2a 2844 ef pD2 [[hp]]*(D │ │ │ │ │ +00013940: 3229 2064 6566 2070 4433 205b 5b68 705d 2) def pD3 [[hp] │ │ │ │ │ +00013950: 5d2a 2844 3329 0a20 2064 6566 2070 4434 ]*(D3). def pD4 │ │ │ │ │ +00013960: 205b 5b68 705d 5d2a 2844 3429 200a 4e6f [[hp]]*(D4) .No │ │ │ │ │ +00013970: 7465 2074 6865 2075 7365 206f 6620 6120 te the use of a │ │ │ │ │ +00013980: e280 9c74 7261 6e73 666f 726d 2064 6566 ...transform def │ │ │ │ │ +00013990: 696e 6974 696f 6ee2 809d 2061 6e64 20e2 inition... and . │ │ │ │ │ +000139a0: 809c 7472 616e 7366 6f72 6d20 7265 6665 ..transform refe │ │ │ │ │ +000139b0: 7265 6e63 6573 e280 9d2e 0a4e 6f77 2064 rences.....Now d │ │ │ │ │ +000139c0: 6566 696e 6520 7468 6520 7365 7665 6e20 efine the seven │ │ │ │ │ +000139d0: 706f 6c79 676f 6e61 6c20 6661 6365 7320 polygonal faces │ │ │ │ │ +000139e0: 6f66 2074 6865 2068 6f75 7365 2061 6e64 of the house and │ │ │ │ │ +000139f0: 2074 6865 2064 6f6f 7220 7573 696e 6720 the door using │ │ │ │ │ +00013a00: 7468 650a 7472 616e 7366 6f72 6d65 6420 the.transformed │ │ │ │ │ +00013a10: 706f 696e 7473 2061 7320 7665 7274 6963 points as vertic │ │ │ │ │ +00013a20: 6573 2e20 2042 6520 6361 7265 6675 6c20 es. Be careful │ │ │ │ │ +00013a30: 7769 7468 2076 6572 7465 7820 6f72 6465 with vertex orde │ │ │ │ │ +00013a40: 7221 0a20 2064 6566 2072 6774 2070 6f6c r!. def rgt pol │ │ │ │ │ +00013a50: 7967 6f6e 2028 7052 3129 2870 5232 2928 ygon (pR1)(pR2)( │ │ │ │ │ +00013a60: 7052 3329 2870 5234 2928 7052 3529 0a20 pR3)(pR4)(pR5). │ │ │ │ │ +00013a70: 2064 6566 206c 6674 2070 6f6c 7967 6f6e def lft polygon │ │ │ │ │ +00013a80: 2028 704c 3529 2870 4c34 2928 704c 3329 (pL5)(pL4)(pL3) │ │ │ │ │ +00013a90: 2870 4c32 2928 704c 3129 0a20 2064 6566 (pL2)(pL1). def │ │ │ │ │ +00013aa0: 2066 7274 2070 6f6c 7967 6f6e 2028 7052 frt polygon (pR │ │ │ │ │ +00013ab0: 3229 2870 5231 2928 704c 3129 2870 4c32 2)(pR1)(pL1)(pL2 │ │ │ │ │ +00013ac0: 290a 2020 6465 6620 6263 6b20 706f 6c79 ). def bck poly │ │ │ │ │ +00013ad0: 676f 6e20 2870 5234 2928 7052 3329 2870 gon (pR4)(pR3)(p │ │ │ │ │ +00013ae0: 4c33 2928 704c 3429 0a20 2064 6566 2074 L3)(pL4). def t │ │ │ │ │ +00013af0: 6672 2070 6f6c 7967 6f6e 2028 7052 3129 fr polygon (pR1) │ │ │ │ │ +00013b00: 2870 5235 2928 704c 3529 2870 4c31 290a (pR5)(pL5)(pL1). │ │ │ │ │ +00013b10: 2020 6465 6620 7462 6b20 706f 6c79 676f def tbk polygo │ │ │ │ │ +00013b20: 6e20 2870 5235 2928 7052 3429 2870 4c34 n (pR5)(pR4)(pL4 │ │ │ │ │ +00013b30: 2928 704c 3529 0a20 2064 6566 2062 6f74 )(pL5). def bot │ │ │ │ │ +00013b40: 2070 6f6c 7967 6f6e 2028 7052 3229 2870 polygon (pR2)(p │ │ │ │ │ +00013b50: 4c32 2928 704c 3329 2870 5233 290a 2020 L2)(pL3)(pR3). │ │ │ │ │ +00013b60: 6465 6620 646f 6f72 2070 6f6c 7967 6f6e def door polygon │ │ │ │ │ +00013b70: 5b66 696c 6c63 6f6c 6f72 3d62 726f 776e [fillcolor=brown │ │ │ │ │ +00013b80: 5d20 2870 4431 2928 7044 3229 2870 4433 ] (pD1)(pD2)(pD3 │ │ │ │ │ +00013b90: 2928 7044 3429 0a20 2064 6566 2068 6f75 )(pD4). def hou │ │ │ │ │ +00013ba0: 7365 207b 207b 7267 747d 7b6c 6674 7d7b se { {rgt}{lft}{ │ │ │ │ │ +00013bb0: 6672 747d 7b62 636b 7d7b 7466 727d 7b74 frt}{bck}{tfr}{t │ │ │ │ │ +00013bc0: 626b 7d7b 626f 747d 7b64 6f6f 727d 207d bk}{bot}{door} } │ │ │ │ │ +00013bd0: 0a20 2020 5469 6d65 2066 6f72 2061 2073 . Time for a s │ │ │ │ │ +00013be0: 616e 6974 7920 6368 6563 6b2e 2020 4164 anity check. Ad │ │ │ │ │ +00013bf0: 6420 7468 6520 6c69 6e65 0a20 207b 686f d the line. {ho │ │ │ │ │ +00013c00: 7573 657d 0a61 6e64 2074 6869 7320 6973 use}.and this is │ │ │ │ │ +00013c10: 2077 6861 7420 7765 2067 6574 2e0a 0a00 what we get.... │ │ │ │ │ +00013c20: 085b 696d 6167 6520 7372 633d 2265 7831 .[image src="ex1 │ │ │ │ │ +00013c30: 3330 2e70 6e67 2220 7465 7874 3d22 496d 30.png" text="Im │ │ │ │ │ +00013c40: 6167 6520 6578 3133 3020 6f6d 6974 7465 age ex130 omitte │ │ │ │ │ +00013c50: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio │ │ │ │ │ +00013c60: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume │ │ │ │ │ +00013c70: 6e74 2e22 0008 5d0a 0a54 6869 7320 6973 nt."..]..This is │ │ │ │ │ +00013c80: 2063 6f72 7265 6374 2c20 6275 7420 646f correct, but do │ │ │ │ │ +00013c90: 6573 206e 6f74 2072 6576 6561 6c20 7665 es not reveal ve │ │ │ │ │ +00013ca0: 7279 206d 7563 682e 2020 436f 6d6d 6f6e ry much. Common │ │ │ │ │ +00013cb0: 2065 7272 6f72 7320 6172 650a 6d69 7370 errors are.misp │ │ │ │ │ +00013cc0: 6c61 6365 6420 7665 7274 6963 6573 2061 laced vertices a │ │ │ │ │ +00013cd0: 6e64 2070 6f6c 7967 6f6e 7320 6d69 7373 nd polygons miss │ │ │ │ │ +00013ce0: 696e 6720 656e 7469 7265 6c79 2064 7565 ing entirely due │ │ │ │ │ +00013cf0: 2074 6f20 696e 636f 7272 6563 7420 7665 to incorrect ve │ │ │ │ │ +00013d00: 7274 6578 0a6f 7264 6572 2e20 2054 6f20 rtex.order. To │ │ │ │ │ +00013d10: 7275 6c65 2074 6865 7365 206f 7574 2c20 rule these out, │ │ │ │ │ +00013d20: 6c65 7427 7320 696e 7370 6563 7420 616c let's inspect al │ │ │ │ │ +00013d30: 6c20 7369 6465 7320 6f66 2074 6865 2068 l sides of the h │ │ │ │ │ +00013d40: 6f75 7365 2e20 2054 6869 730a 6973 206e ouse. This.is n │ │ │ │ │ +00013d50: 6f74 2068 6172 642e 2020 4d65 7265 6c79 ot hard. Merely │ │ │ │ │ +00013d60: 2072 6570 6c61 6365 2074 6865 2072 6566 replace the ref │ │ │ │ │ +00013d70: 6572 656e 6365 207b 686f 7573 657d 2077 erence {house} w │ │ │ │ │ +00013d80: 6974 6820 6120 e280 9872 6570 6561 74e2 ith a ...repeat. │ │ │ │ │ +00013d90: 8099 2e0a 2a4e 6f74 6520 5265 7065 6174 ....*Note Repeat │ │ │ │ │ +00013da0: 733a 3a2e 0a20 2072 6570 6561 7420 7b20 s::.. repeat { │ │ │ │ │ +00013db0: 3133 2c20 726f 7461 7465 2833 302c 205b 13, rotate(30, [ │ │ │ │ │ +00013dc0: 312c 322c 335d 292c 2074 7261 6e73 6c61 1,2,3]), transla │ │ │ │ │ +00013dd0: 7465 285b 332c 302c 305d 2920 7d20 7b68 te([3,0,0]) } {h │ │ │ │ │ +00013de0: 6f75 7365 7d0a 0008 5b69 6d61 6765 2073 ouse}...[image s │ │ │ │ │ +00013df0: 7263 3d22 6578 3134 302e 706e 6722 2074 rc="ex140.png" t │ │ │ │ │ +00013e00: 6578 743d 2249 6d61 6765 2065 7831 3430 ext="Image ex140 │ │ │ │ │ +00013e10: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00013e20: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00013e30: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00013e40: 4167 6169 6e20 7468 696e 6773 206c 6f6f Again things loo │ │ │ │ │ +00013e50: 6b20 636f 7272 6563 742e 2020 4e6f 7465 k correct. Note │ │ │ │ │ +00013e60: 2074 6861 7420 7468 6520 6869 6464 656e that the hidden │ │ │ │ │ +00013e70: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit │ │ │ │ │ +00013e80: 686d 0a68 616e 646c 6573 2069 6e74 6572 hm.handles inter │ │ │ │ │ +00013e90: 7365 6374 696e 6720 706f 6c79 676f 6e73 secting polygons │ │ │ │ │ +00013ea0: 2063 6f72 7265 6374 6c79 2077 6865 7265 correctly where │ │ │ │ │ +00013eb0: 2073 6f6d 6520 636f 7069 6573 206f 6620 some copies of │ │ │ │ │ +00013ec0: 7468 6520 686f 7573 650a 6f76 6572 6c61 the house.overla │ │ │ │ │ +00013ed0: 702e 0a0a 2020 204c 6574 2773 206c 6179 p... Let's lay │ │ │ │ │ +00013ee0: 206f 7574 2074 6865 2067 656f 6d65 7472 out the geometr │ │ │ │ │ +00013ef0: 7920 6f66 2070 6572 7370 6563 7469 7665 y of perspective │ │ │ │ │ +00013f00: 2070 726f 6a65 6374 696f 6e20 6f66 2074 projection of t │ │ │ │ │ +00013f10: 6865 2068 6f75 7365 0a6f 6e74 6f20 6120 he house.onto a │ │ │ │ │ +00013f20: 706c 616e 6520 7769 7468 2072 6179 7320 plane with rays │ │ │ │ │ +00013f30: 7061 7373 696e 6720 7468 726f 7567 6820 passing through │ │ │ │ │ +00013f40: 7468 6520 6f72 6967 696e 2e20 2042 6567 the origin. Beg │ │ │ │ │ +00013f50: 696e 2062 7920 706f 7369 7469 6f6e 696e in by positionin │ │ │ │ │ +00013f60: 670a 7468 6520 686f 7573 6520 7477 656c g.the house twel │ │ │ │ │ +00013f70: 7665 2075 6e69 7473 2062 6163 6b20 6f6e ve units back on │ │ │ │ │ +00013f80: 2074 6865 206e 6567 6174 6976 6520 7a2d the negative z- │ │ │ │ │ +00013f90: 6178 6973 2061 6e64 2061 6464 696e 6720 axis and adding │ │ │ │ │ +00013fa0: 6120 7365 7420 6f66 0a63 6f6f 7264 696e a set of.coordin │ │ │ │ │ +00013fb0: 6174 6520 6178 6573 2e20 2054 6f20 6d6f ate axes. To mo │ │ │ │ │ +00013fc0: 7665 2074 6865 2068 6f75 7365 2077 6520 ve the house we │ │ │ │ │ +00013fd0: 6e65 6564 206f 6e6c 7920 6368 616e 6765 need only change │ │ │ │ │ +00013fe0: 2074 6865 2022 686f 7573 650a 706f 7369 the "house.posi │ │ │ │ │ +00013ff0: 7469 6f6e 696e 6722 2074 7261 6e73 666f tioning" transfo │ │ │ │ │ +00014000: 726d 2064 6566 696e 6564 2065 6172 6c69 rm defined earli │ │ │ │ │ +00014010: 6572 2e0a 2020 6465 6620 6870 2072 6f74 er.. def hp rot │ │ │ │ │ +00014020: 6174 6528 2d34 302c 205b 302c 312c 305d ate(-40, [0,1,0] │ │ │ │ │ +00014030: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate │ │ │ │ │ +00014040: 285b 302c 302c 2d31 325d 290a 2020 6465 ([0,0,-12]). de │ │ │ │ │ +00014050: 6620 6178 6573 207b 0a20 2020 2064 6566 f axes {. def │ │ │ │ │ +00014060: 2073 7a20 310a 2020 2020 6c69 6e65 205b sz 1. line [ │ │ │ │ │ +00014070: 6172 726f 7773 3d3c 2d3e 5d20 2873 7a2c arrows=<->] (sz, │ │ │ │ │ +00014080: 302c 3029 284f 2928 302c 737a 2c30 290a 0,0)(O)(0,sz,0). │ │ │ │ │ +00014090: 2020 2020 6c69 6e65 205b 6172 726f 7773 line [arrows │ │ │ │ │ +000140a0: 3d2d 3e5d 2020 284f 2928 302c 302c 737a =->] (O)(0,0,sz │ │ │ │ │ +000140b0: 290a 2020 2020 6c69 6e65 205b 6c69 6e65 ). line [line │ │ │ │ │ +000140c0: 7769 6474 683d 2e32 7074 2c6c 696e 6563 width=.2pt,linec │ │ │ │ │ +000140d0: 6f6c 6f72 3d62 6c75 652c 6c69 6e65 7374 olor=blue,linest │ │ │ │ │ +000140e0: 796c 653d 6461 7368 6564 5d20 284f 2928 yle=dashed] (O)( │ │ │ │ │ +000140f0: 302c 302c 2d31 3029 0a20 2020 2073 7065 0,0,-10). spe │ │ │ │ │ +00014100: 6369 616c 207c 5c75 7075 745b 725d 2331 cial |\uput[r]#1 │ │ │ │ │ +00014110: 7b24 7824 7d5c 7570 7574 5b75 5d23 327b {$x$}\uput[u]#2{ │ │ │ │ │ +00014120: 2479 247d 5c75 7075 745b 6c5d 2333 7b24 $y$}\uput[l]#3{$ │ │ │ │ │ +00014130: 7a24 7d7c 0a20 2020 2020 2028 737a 2c30 z$}|. (sz,0 │ │ │ │ │ +00014140: 2c30 2928 302c 737a 2c30 2928 302c 302c ,0)(0,sz,0)(0,0, │ │ │ │ │ +00014150: 737a 290a 2020 7d0a 0a20 2020 5469 6d65 sz). }.. Time │ │ │ │ │ +00014160: 2066 6f72 2061 6e6f 7468 6572 2074 6573 for another tes │ │ │ │ │ +00014170: 742e 2020 4c65 7427 7320 6275 696c 6420 t. Let's build │ │ │ │ │ +00014180: 6120 7265 616c 2076 6965 7720 7472 616e a real view tran │ │ │ │ │ +00014190: 7366 6f72 6d2c 2063 7265 6174 696e 6720 sform, creating │ │ │ │ │ +000141a0: 610a e280 9c76 6972 7475 616c 2063 616d a....virtual cam │ │ │ │ │ +000141b0: 6572 61e2 809d 2074 6f20 6c6f 6f6b 2061 era... to look a │ │ │ │ │ +000141c0: 7420 7468 6520 7363 656e 6520 7765 2061 t the scene we a │ │ │ │ │ +000141d0: 7265 2063 6f6e 7374 7275 6374 696e 672e re constructing. │ │ │ │ │ +000141e0: 2020 5265 706c 6163 6520 7468 650a e280 Replace the... │ │ │ │ │ +000141f0: 9872 6570 6561 74e2 8099 2077 6974 680a .repeat... with. │ │ │ │ │ +00014200: 2020 6465 6620 6579 6520 2831 302c 342c def eye (10,4, │ │ │ │ │ +00014210: 3130 290a 2020 6465 6620 6c6f 6f6b 5f61 10). def look_a │ │ │ │ │ +00014220: 7420 2830 2c30 2c2d 3529 0a20 2070 7574 t (0,0,-5). put │ │ │ │ │ +00014230: 207b 2076 6965 7728 2865 7965 292c 2028 { view((eye), ( │ │ │ │ │ +00014240: 6c6f 6f6b 5f61 7429 2920 7d20 7b20 7b68 look_at)) } { {h │ │ │ │ │ +00014250: 6f75 7365 7d7b 6178 6573 7d20 7d0a 2020 ouse}{axes} }. │ │ │ │ │ +00014260: 2054 6865 20e2 809c 7669 6577 2074 7261 The ...view tra │ │ │ │ │ +00014270: 6e73 666f 726d e280 9d20 7265 706f 7369 nsform... reposi │ │ │ │ │ +00014280: 7469 6f6e 7320 7468 6520 7363 656e 6520 tions the scene │ │ │ │ │ +00014290: 736f 2074 6861 7420 7468 6520 706f 696e so that the poin │ │ │ │ │ +000142a0: 7420 e280 9865 7965 e280 9920 6973 0a61 t ...eye... is.a │ │ │ │ │ +000142b0: 7420 7468 6520 6f72 6967 696e 2061 6e64 t the origin and │ │ │ │ │ +000142c0: 2074 6865 2064 6972 6563 7469 6f6e 2066 the direction f │ │ │ │ │ +000142d0: 726f 6d20 e280 9865 7965 e280 9920 746f rom ...eye... to │ │ │ │ │ +000142e0: 20e2 8098 6c6f 6f6b 5f61 74e2 8099 2069 ...look_at... i │ │ │ │ │ +000142f0: 7320 7468 6520 6e65 6761 7469 7665 0a7a s the negative.z │ │ │ │ │ +00014300: 2d61 7869 732e 2020 5468 6973 2072 6571 -axis. This req │ │ │ │ │ +00014310: 7569 7265 7320 6120 726f 7461 7469 6f6e uires a rotation │ │ │ │ │ +00014320: 2061 6e64 2061 2074 7261 6e73 6c61 7469 and a translati │ │ │ │ │ +00014330: 6f6e 2074 6861 7420 6172 6520 616c 6c20 on that are all │ │ │ │ │ +00014340: 7061 636b 6564 0a69 6e74 6f20 7468 6520 packed.into the │ │ │ │ │ +00014350: 636f 6e73 7472 7563 746f 7220 e280 9876 constructor ...v │ │ │ │ │ +00014360: 6965 77e2 8099 2e0a 0a00 085b 696d 6167 iew........[imag │ │ │ │ │ +00014370: 6520 7372 633d 2265 7831 3530 2e70 6e67 e src="ex150.png │ │ │ │ │ +00014380: 2220 7465 7874 3d22 496d 6167 6520 6578 " text="Image ex │ │ │ │ │ +00014390: 3135 3020 6f6d 6974 7465 6420 696e 2074 150 omitted in t │ │ │ │ │ +000143a0: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t │ │ │ │ │ +000143b0: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.".. │ │ │ │ │ +000143c0: 5d0a 0a54 6869 7320 6973 2073 7461 7274 ]..This is start │ │ │ │ │ +000143d0: 696e 6720 746f 206c 6f6f 6b20 676f 6f64 ing to look good │ │ │ │ │ +000143e0: 2120 2041 6464 2074 6865 2070 726f 6a65 ! Add the proje │ │ │ │ │ +000143f0: 6374 696f 6e20 706c 616e 6520 6861 6c66 ction plane half │ │ │ │ │ +00014400: 2077 6179 0a62 6574 7765 656e 2074 6865 way.between the │ │ │ │ │ +00014410: 206f 7269 6769 6e20 616e 6420 7468 6520 origin and the │ │ │ │ │ +00014420: 686f 7573 6520 6174 207a 3d2d 352e 2020 house at z=-5. │ │ │ │ │ +00014430: 5765 276c 6c20 7472 7920 7468 6520 616e We'll try the an │ │ │ │ │ +00014440: 676c 6520 6172 6775 6d65 6e74 0a66 6561 gle argument.fea │ │ │ │ │ +00014450: 7475 7265 206f 6620 e280 9873 7065 6369 ture of ...speci │ │ │ │ │ +00014460: 616c e280 9920 746f 2070 6f73 6974 696f al... to positio │ │ │ │ │ +00014470: 6e20 6120 6c61 6265 6c2e 0a20 2064 6566 n a label.. def │ │ │ │ │ +00014480: 2070 2035 2025 2070 726f 6a65 6374 696f p 5 % projectio │ │ │ │ │ +00014490: 6e20 6469 7374 616e 6365 2028 706c 616e n distance (plan │ │ │ │ │ +000144a0: 6520 6174 207a 3d2d 7029 0a20 2064 6566 e at z=-p). def │ │ │ │ │ +000144b0: 2070 726f 6a65 6374 696f 6e5f 706c 616e projection_plan │ │ │ │ │ +000144c0: 6520 7b0a 2020 2020 6465 6620 737a 2031 e {. def sz 1 │ │ │ │ │ +000144d0: 2e35 0a20 2020 2070 6f6c 7967 6f6e 2028 .5. polygon ( │ │ │ │ │ +000144e0: 2d73 7a2c 2d73 7a2c 2d70 2928 737a 2c2d -sz,-sz,-p)(sz,- │ │ │ │ │ +000144f0: 737a 2c2d 7029 2873 7a2c 737a 2c2d 7029 sz,-p)(sz,sz,-p) │ │ │ │ │ +00014500: 282d 737a 2c73 7a2c 2d70 290a 2020 2020 (-sz,sz,-p). │ │ │ │ │ +00014510: 7370 6563 6961 6c20 7c5c 7270 7574 5b62 special |\rput[b │ │ │ │ │ +00014520: 5d23 312d 3223 337b 5c66 6f6f 746e 6f74 ]#1-2#3{\footnot │ │ │ │ │ +00014530: 6573 697a 655c 7366 2070 726f 6a65 6374 esize\sf project │ │ │ │ │ +00014540: 696f 6e20 706c 616e 657d 7c20 0a20 2020 ion plane}| . │ │ │ │ │ +00014550: 2020 2028 2d73 7a2c 2d73 7a2c 2d70 2928 (-sz,-sz,-p)( │ │ │ │ │ +00014560: 737a 2c2d 737a 2c2d 7029 2830 2c2d 737a sz,-sz,-p)(0,-sz │ │ │ │ │ +00014570: 2b2e 312c 2d70 290a 2020 7d0a 4164 6420 +.1,-p). }.Add │ │ │ │ │ +00014580: 7b70 726f 6a65 6374 696f 6e5f 706c 616e {projection_plan │ │ │ │ │ +00014590: 657d 2074 6f20 7468 6520 6c69 7374 206f e} to the list o │ │ │ │ │ +000145a0: 6620 6f62 6a65 6374 7320 696e 2074 6865 f objects in the │ │ │ │ │ +000145b0: 20e2 8098 7075 74e2 8099 2061 626f 7665 ...put... above │ │ │ │ │ +000145c0: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src= │ │ │ │ │ +000145d0: 2265 7831 3630 2e70 6e67 2220 7465 7874 "ex160.png" text │ │ │ │ │ +000145e0: 3d22 496d 6167 6520 6578 3136 3020 6f6d ="Image ex160 om │ │ │ │ │ +000145f0: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve │ │ │ │ │ +00014600: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do │ │ │ │ │ +00014610: 6375 6d65 6e74 2e22 0008 5d0a 0a20 2020 cument."..].. │ │ │ │ │ +00014620: 5468 6520 7761 7920 7765 2063 6f6e 7374 The way we const │ │ │ │ │ +00014630: 7275 6374 6564 2074 6865 2070 6f69 6e74 ructed the point │ │ │ │ │ +00014640: 7320 6f66 2074 6865 2068 6f75 7365 206e s of the house n │ │ │ │ │ +00014650: 6f77 206d 616b 6573 2069 7420 6561 7379 ow makes it easy │ │ │ │ │ +00014660: 2074 6f0a 6472 6177 2072 6179 7320 6f66 to.draw rays of │ │ │ │ │ +00014670: 2070 726f 6a65 6374 696f 6e2e 2020 5765 projection. We │ │ │ │ │ +00014680: 276c 6c20 6361 7374 206f 6e65 2072 6179 'll cast one ray │ │ │ │ │ +00014690: 2066 726f 6d20 6576 6572 7920 7669 7369 from every visi │ │ │ │ │ +000146a0: 626c 6520 7665 7274 6578 0a6f 6620 7468 ble vertex.of th │ │ │ │ │ +000146b0: 6520 686f 7573 6520 616e 6420 6465 6669 e house and defi │ │ │ │ │ +000146c0: 6e65 206f 7074 696f 6e73 2073 6f20 7468 ne options so th │ │ │ │ │ +000146d0: 6520 6170 7065 6172 616e 6365 206f 6620 e appearance of │ │ │ │ │ +000146e0: 616c 6c20 7261 7973 2063 616e 2062 650a all rays can be. │ │ │ │ │ +000146f0: 6368 616e 6765 6420 6174 2074 6865 2073 changed at the s │ │ │ │ │ +00014700: 616d 6520 7469 6d65 2e0a 2020 6465 6620 ame time.. def │ │ │ │ │ +00014710: 7072 6f6a 6563 7469 6f6e 5f72 6179 7320 projection_rays │ │ │ │ │ +00014720: 7b0a 2020 2020 6465 6620 7261 796f 7074 {. def rayopt │ │ │ │ │ +00014730: 205b 6c69 6e65 7769 6474 683d 2e33 7074 [linewidth=.3pt │ │ │ │ │ +00014740: 2c6c 696e 6563 6f6c 6f72 3d6c 6967 6874 ,linecolor=light │ │ │ │ │ +00014750: 6772 6179 5d0a 2020 2020 6c69 6e65 205b gray]. line [ │ │ │ │ │ +00014760: 7261 796f 7074 5d28 4f29 2870 5231 2920 rayopt](O)(pR1) │ │ │ │ │ +00014770: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O) │ │ │ │ │ +00014780: 2870 5232 2920 6c69 6e65 5b72 6179 6f70 (pR2) line[rayop │ │ │ │ │ +00014790: 745d 284f 2928 7052 3329 0a20 2020 206c t](O)(pR3). l │ │ │ │ │ +000147a0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)( │ │ │ │ │ +000147b0: 7052 3429 206c 696e 6520 5b72 6179 6f70 pR4) line [rayop │ │ │ │ │ +000147c0: 745d 284f 2928 7052 3529 0a20 2020 206c t](O)(pR5). l │ │ │ │ │ +000147d0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)( │ │ │ │ │ +000147e0: 704c 3129 206c 696e 6520 5b72 6179 6f70 pL1) line [rayop │ │ │ │ │ +000147f0: 745d 284f 2928 704c 3229 206c 696e 655b t](O)(pL2) line[ │ │ │ │ │ +00014800: 7261 796f 7074 5d28 4f29 2870 4c35 290a rayopt](O)(pL5). │ │ │ │ │ +00014810: 2020 2020 6c69 6e65 205b 7261 796f 7074 line [rayopt │ │ │ │ │ +00014820: 5d28 4f29 2870 4431 2920 6c69 6e65 205b ](O)(pD1) line [ │ │ │ │ │ +00014830: 7261 796f 7074 5d28 4f29 2870 4432 2920 rayopt](O)(pD2) │ │ │ │ │ +00014840: 0a20 2020 206c 696e 6520 5b72 6179 6f70 . line [rayop │ │ │ │ │ +00014850: 745d 284f 2928 7044 3329 206c 696e 6520 t](O)(pD3) line │ │ │ │ │ +00014860: 5b72 6179 6f70 745d 284f 2928 7044 3429 [rayopt](O)(pD4) │ │ │ │ │ +00014870: 200a 2020 7d0a 5468 6520 7265 7375 6c74 . }.The result │ │ │ │ │ +00014880: 2069 7320 7368 6f77 6e20 6865 7265 2e0a is shown here.. │ │ │ │ │ +00014890: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src="e │ │ │ │ │ +000148a0: 7831 3730 2e70 6e67 2220 7465 7874 3d22 x170.png" text=" │ │ │ │ │ +000148b0: 496d 6167 6520 6578 3137 3020 6f6d 6974 Image ex170 omit │ │ │ │ │ +000148c0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers │ │ │ │ │ +000148d0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu │ │ │ │ │ +000148e0: 6d65 6e74 2e22 0008 5d0a 0a54 6865 2072 ment."..]..The r │ │ │ │ │ +000148f0: 6179 7320 7069 6572 6365 2074 6865 2070 ays pierce the p │ │ │ │ │ +00014900: 726f 6a65 6374 696f 6e20 706c 616e 6520 rojection plane │ │ │ │ │ +00014910: 6174 2074 6865 2063 6f72 7265 7370 6f6e at the correspon │ │ │ │ │ +00014920: 6469 6e67 2070 6f69 6e74 7320 6f6e 2074 ding points on t │ │ │ │ │ +00014930: 6865 0a70 6572 7370 6563 7469 7665 2069 he.perspective i │ │ │ │ │ +00014940: 6d61 6765 2077 6520 6172 6520 7472 7969 mage we are tryi │ │ │ │ │ +00014950: 6e67 2074 6f20 6472 6177 2e20 2041 6c62 ng to draw. Alb │ │ │ │ │ +00014960: 7265 6368 7420 44c3 bc72 6572 2061 6e64 recht D..rer and │ │ │ │ │ +00014970: 2068 6973 0a52 656e 6169 7373 616e 6365 his.Renaissance │ │ │ │ │ +00014980: 2063 6f6e 7465 6d70 6f72 6172 6965 7320 contemporaries │ │ │ │ │ +00014990: 6861 6420 7468 6520 7361 6d65 2069 6465 had the same ide │ │ │ │ │ +000149a0: 6120 696e 2074 6865 2065 6172 6c79 2031 a in the early 1 │ │ │ │ │ +000149b0: 3530 3027 732e 0a0a 0008 5b69 6d61 6765 500's.....[image │ │ │ │ │ +000149c0: 2073 7263 3d22 6475 6572 6572 2e70 6e67 src="duerer.png │ │ │ │ │ +000149d0: 2220 7465 7874 3d22 496d 6167 6520 6f66 " text="Image of │ │ │ │ │ +000149e0: 2044 7565 7265 7227 7320 7065 7273 7065 Duerer's perspe │ │ │ │ │ +000149f0: 6374 6976 6520 636f 6d70 7574 6572 206f ctive computer o │ │ │ │ │ +00014a00: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ +00014a10: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ +00014a20: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument."..].. │ │ │ │ │ +00014a30: 2041 6c6c 2074 6861 7427 7320 6c65 6674 All that's left │ │ │ │ │ +00014a40: 2069 7320 746f 2066 696e 6420 6120 7761 is to find a wa │ │ │ │ │ +00014a50: 7920 746f 2063 6f6e 6e65 6374 2074 6865 y to connect the │ │ │ │ │ +00014a60: 2070 6f69 6e74 7320 6f66 2074 6865 2068 points of the h │ │ │ │ │ +00014a70: 6f75 7365 0a6f 6e20 7468 6520 7072 6f6a ouse.on the proj │ │ │ │ │ +00014a80: 6563 7469 6f6e 2070 6c61 6e65 2e20 2057 ection plane. W │ │ │ │ │ +00014a90: 6520 636f 756c 6420 7075 6c6c 206f 7574 e could pull out │ │ │ │ │ +00014aa0: 2061 2067 6f6f 6420 636f 6d70 7574 6572 a good computer │ │ │ │ │ +00014ab0: 2067 7261 7068 6963 730a 7465 7874 2c20 graphics.text, │ │ │ │ │ +00014ac0: 6669 6e64 2074 6865 206e 6563 6573 7361 find the necessa │ │ │ │ │ +00014ad0: 7279 206d 6174 7269 782c 2061 6e64 2065 ry matrix, and e │ │ │ │ │ +00014ae0: 6e74 6572 2069 7420 6f75 7273 656c 7665 nter it ourselve │ │ │ │ │ +00014af0: 7320 6173 2061 2074 7261 6e73 666f 726d s as a transform │ │ │ │ │ +00014b00: 0a6c 6974 6572 616c 2e20 202a 4e6f 7465 .literal. *Note │ │ │ │ │ +00014b10: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00014b20: 616c 733a 3a2e 2020 5468 6174 2077 6f72 als::. That wor │ │ │ │ │ +00014b30: 6b20 6973 2061 6c72 6561 6479 2064 6f6e k is already don │ │ │ │ │ +00014b40: 652c 0a68 6f77 6576 6572 2e20 2057 6520 e,.however. We │ │ │ │ │ +00014b50: 6361 6e20 7573 6520 7468 6520 e280 9870 can use the ...p │ │ │ │ │ +00014b60: 726f 6a65 6374 2870 29e2 8099 2063 6f6e roject(p)... con │ │ │ │ │ +00014b70: 7374 7275 6374 6f72 2e0a 0a20 2020 5468 structor... Th │ │ │ │ │ +00014b80: 6572 6520 6172 6520 7374 696c 6c20 736f ere are still so │ │ │ │ │ +00014b90: 6d65 2064 6574 6169 6c73 2074 6861 7420 me details that │ │ │ │ │ +00014ba0: 7265 7175 6972 6520 6361 7265 2e20 2050 require care. P │ │ │ │ │ +00014bb0: 726f 6a65 6374 696f 6e20 7769 6c6c 0a66 rojection will.f │ │ │ │ │ +00014bc0: 6c61 7474 656e 2077 6861 7465 7665 7220 latten whatever │ │ │ │ │ +00014bd0: 6973 2074 7261 6e73 666f 726d 6564 206f is transformed o │ │ │ │ │ +00014be0: 6e74 6f20 7468 6520 706c 616e 6520 7a3d nto the plane z= │ │ │ │ │ +00014bf0: 2d70 2e20 2054 6865 7265 666f 7265 2061 -p. Therefore a │ │ │ │ │ +00014c00: 6e79 2070 6172 740a 6f66 2074 6865 2068 ny part.of the h │ │ │ │ │ +00014c10: 6f75 7365 2063 6f75 6c64 2064 6973 6170 ouse could disap │ │ │ │ │ +00014c20: 7065 6172 2062 6568 696e 6420 7468 6520 pear behind the │ │ │ │ │ +00014c30: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane │ │ │ │ │ +00014c40: 2028 7468 6520 6869 6464 656e 0a73 7572 (the hidden.sur │ │ │ │ │ +00014c50: 6661 6365 2061 6c67 6f72 6974 686d 206f face algorithm o │ │ │ │ │ +00014c60: 7264 6572 7320 6f62 6a65 6374 7320 6174 rders objects at │ │ │ │ │ +00014c70: 2074 6865 2073 616d 6520 6465 7074 6820 the same depth │ │ │ │ │ +00014c80: 6172 6269 7472 6172 696c 7929 2e20 2054 arbitrarily). T │ │ │ │ │ +00014c90: 6865 0a64 6f6f 7220 6d61 7920 616c 736f he.door may also │ │ │ │ │ +00014ca0: 2064 6973 6170 7065 6172 2062 6568 696e disappear behin │ │ │ │ │ +00014cb0: 6420 7468 6520 6672 6f6e 7420 6f66 2074 d the front of t │ │ │ │ │ +00014cc0: 6865 2068 6f75 7365 2e20 2054 6f20 6d61 he house. To ma │ │ │ │ │ +00014cd0: 6b65 2073 7572 650a 6576 6572 7974 6869 ke sure.everythi │ │ │ │ │ +00014ce0: 6e67 2072 656d 6169 6e73 2076 6973 6962 ng remains visib │ │ │ │ │ +00014cf0: 6c65 2c20 7765 276c 6c20 706c 6163 6520 le, we'll place │ │ │ │ │ +00014d00: 7468 6520 686f 7573 6520 6120 7469 6e79 the house a tiny │ │ │ │ │ +00014d10: 2062 6974 2069 6e20 6672 6f6e 7420 6f66 bit in front of │ │ │ │ │ +00014d20: 0a74 6865 2070 726f 6a65 6374 696f 6e20 .the projection │ │ │ │ │ +00014d30: 706c 616e 6520 616e 6420 6120 7365 636f plane and a seco │ │ │ │ │ +00014d40: 6e64 2063 6f70 7920 6f66 2074 6865 2064 nd copy of the d │ │ │ │ │ +00014d50: 6f6f 7220 696e 2066 726f 6e74 206f 6620 oor in front of │ │ │ │ │ +00014d60: 7468 650a 686f 7573 652e 0a20 2064 6566 the.house.. def │ │ │ │ │ +00014d70: 2070 726f 6a65 6374 696f 6e20 7b0a 2020 projection {. │ │ │ │ │ +00014d80: 2020 2520 6520 6973 2061 2073 6d61 6c6c % e is a small │ │ │ │ │ +00014d90: 206e 756d 6265 7220 6465 6669 6e65 6420 number defined │ │ │ │ │ +00014da0: 6162 6f76 650a 2020 2020 7075 7420 7b20 above. put { │ │ │ │ │ +00014db0: 7072 6f6a 6563 7428 7029 2074 6865 6e20 project(p) then │ │ │ │ │ +00014dc0: 7472 616e 736c 6174 6528 5b30 2c30 2c31 translate([0,0,1 │ │ │ │ │ +00014dd0: 2a65 5d29 207d 207b 686f 7573 657d 0a20 *e]) } {house}. │ │ │ │ │ +00014de0: 2020 2070 7574 207b 2070 726f 6a65 6374 put { project │ │ │ │ │ +00014df0: 2870 2920 7468 656e 2074 7261 6e73 6c61 (p) then transla │ │ │ │ │ +00014e00: 7465 285b 302c 302c 322a 655d 2920 7d20 te([0,0,2*e]) } │ │ │ │ │ +00014e10: 7b64 6f6f 727d 0a20 207d 0a0a 0008 5b69 {door}. }....[i │ │ │ │ │ +00014e20: 6d61 6765 2073 7263 3d22 6578 3138 302e mage src="ex180. │ │ │ │ │ +00014e30: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00014e40: 2065 7831 3830 206f 6d69 7474 6564 2069 ex180 omitted i │ │ │ │ │ +00014e50: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00014e60: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +00014e70: 2200 085d 0a0a 2020 2049 6620 796f 7520 "..].. If you │ │ │ │ │ +00014e80: 6861 7665 2073 7475 6469 6564 2061 6e64 have studied and │ │ │ │ │ +00014e90: 2075 6e64 6572 7374 616e 6420 616c 6c20 understand all │ │ │ │ │ +00014ea0: 7468 6973 2c20 796f 7520 6172 6520 7765 this, you are we │ │ │ │ │ +00014eb0: 6c6c 206f 6e20 7468 6520 7761 790a 746f ll on the way.to │ │ │ │ │ +00014ec0: 2073 7563 6365 7373 2077 6974 6820 e280 success with .. │ │ │ │ │ +00014ed0: 9873 6b65 7463 68e2 8099 2e20 204e 6f74 .sketch.... Not │ │ │ │ │ +00014ee0: 2073 686f 776e 2061 7265 2074 6865 2032 shown are the 2 │ │ │ │ │ +00014ef0: 3020 6f72 2073 6f20 6974 6572 6174 696f 0 or so iteratio │ │ │ │ │ +00014f00: 6e73 2074 6861 740a 7765 7265 2072 6571 ns that.were req │ │ │ │ │ +00014f10: 7569 7265 6420 746f 2066 696e 6420 6120 uired to find a │ │ │ │ │ +00014f20: 7265 6173 6f6e 6162 6c65 2076 6965 7769 reasonable viewi │ │ │ │ │ +00014f30: 6e67 2061 6e67 6c65 2061 6e64 2068 6f75 ng angle and hou │ │ │ │ │ +00014f40: 7365 2070 6f73 6974 696f 6e2c 0a65 7463 se position,.etc │ │ │ │ │ +00014f50: 2e20 204e 6f6e 6574 6865 6c65 7373 2c20 . Nonetheless, │ │ │ │ │ +00014f60: 7468 6973 2064 7261 7769 6e67 2077 6173 this drawing was │ │ │ │ │ +00014f70: 2063 6f6d 706c 6574 6564 2069 6e20 6162 completed in ab │ │ │ │ │ +00014f80: 6f75 7420 616e 2068 6f75 722e 2020 5768 out an hour. Wh │ │ │ │ │ +00014f90: 696c 6520 610a 4755 4920 746f 6f6c 206d ile a.GUI tool m │ │ │ │ │ +00014fa0: 6179 2068 6176 6520 6265 656e 2061 206c ay have been a l │ │ │ │ │ +00014fb0: 6974 746c 6520 6661 7374 6572 2c20 6974 ittle faster, it │ │ │ │ │ +00014fc0: 2069 7320 756e 6c69 6b65 6c79 2074 6861 is unlikely tha │ │ │ │ │ +00014fd0: 7420 6120 6e65 770a 6472 6177 696e 672c t a new.drawing, │ │ │ │ │ +00014fe0: 2069 7473 656c 6620 6120 7065 7273 7065 itself a perspe │ │ │ │ │ +00014ff0: 6374 6976 6520 7072 6f6a 6563 7469 6f6e ctive projection │ │ │ │ │ +00015000: 206f 6620 7468 6520 7363 656e 652c 2063 of the scene, c │ │ │ │ │ +00015010: 6f75 6c64 2062 650a 6765 6e65 7261 7465 ould be.generate │ │ │ │ │ +00015020: 6420 7769 7468 2074 776f 206d 6f72 6520 d with two more │ │ │ │ │ +00015030: 6d69 6e75 7465 7327 2077 6f72 6b21 2020 minutes' work! │ │ │ │ │ +00015040: 4a75 7374 2063 6861 6e67 6520 7468 6520 Just change the │ │ │ │ │ +00015050: 7669 6577 2074 7261 6e73 666f 726d 0a74 view transform.t │ │ │ │ │ +00015060: 6f0a 2020 7075 7420 7b20 7669 6577 2828 o. put { view(( │ │ │ │ │ +00015070: 6579 6529 2c20 286c 6f6f 6b5f 6174 2929 eye), (look_at)) │ │ │ │ │ +00015080: 2074 6865 6e20 7065 7273 7065 6374 6976 then perspectiv │ │ │ │ │ +00015090: 6528 3929 207d 207b 202e 2e2e 0a61 6e64 e(9) } { ....and │ │ │ │ │ +000150a0: 2070 726f 6475 6365 2074 6869 732e 0a0a produce this... │ │ │ │ │ +000150b0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +000150c0: 3139 302e 706e 6722 2074 6578 743d 2249 190.png" text="I │ │ │ │ │ +000150d0: 6d61 6765 2065 7831 3930 206f 6d69 7474 mage ex190 omitt │ │ │ │ │ +000150e0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +000150f0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00015100: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent."..]....File │ │ │ │ │ +00015110: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00015120: 4e6f 6465 3a20 4120 7465 6368 6e69 6361 Node: A technica │ │ │ │ │ +00015130: 6c20 6472 6177 696e 672c 2020 4e65 7874 l drawing, Next │ │ │ │ │ +00015140: 3a20 4120 6869 6572 6172 6368 6963 616c : A hierarchical │ │ │ │ │ +00015150: 206d 6f64 656c 2c20 2050 7265 763a 204f model, Prev: O │ │ │ │ │ +00015160: 7665 7276 6965 772c 2020 5570 3a20 4275 verview, Up: Bu │ │ │ │ │ +00015170: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing │ │ │ │ │ +00015180: 0a0a 342e 3220 4120 7465 6368 6e69 6361 ..4.2 A technica │ │ │ │ │ +00015190: 6c20 6472 6177 696e 670a 3d3d 3d3d 3d3d l drawing.====== │ │ │ │ │ 000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -000151b0: 3d3d 3d3d 3d0a 0a4c 6574 2773 206c 6f6f =====..Let's loo │ │ │ │ │ -000151c0: 6b20 6174 2061 2064 7261 7769 6e67 2074 k at a drawing t │ │ │ │ │ -000151d0: 6861 7420 7265 7072 6573 656e 7473 2074 hat represents t │ │ │ │ │ -000151e0: 6865 206b 696e 6420 6f66 2070 726f 626c he kind of probl │ │ │ │ │ -000151f0: 656d 20e2 8098 736b 6574 6368 e280 9920 em ...sketch... │ │ │ │ │ -00015200: 7761 730a 6d65 616e 7420 746f 2073 6f6c was.meant to sol │ │ │ │ │ -00015210: 7665 2d2d 6120 7061 6972 206f 6620 7465 ve--a pair of te │ │ │ │ │ -00015220: 7874 626f 6f6b 2066 6967 7572 6573 2072 xtbook figures r │ │ │ │ │ -00015230: 6567 6172 6469 6e67 2061 2070 6f6c 7967 egarding a polyg │ │ │ │ │ -00015240: 6f6e 616c 0a61 7070 726f 7869 6d61 7469 onal.approximati │ │ │ │ │ -00015250: 6f6e 206f 6620 6120 7472 756e 6361 7465 on of a truncate │ │ │ │ │ -00015260: 6420 636f 6e65 2e20 2048 6572 6520 6172 d cone. Here ar │ │ │ │ │ -00015270: 6520 7468 6520 7069 6374 7572 6573 2077 e the pictures w │ │ │ │ │ -00015280: 6520 7769 6c6c 0a70 726f 6475 6365 2e0a e will.produce.. │ │ │ │ │ -00015290: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src="e │ │ │ │ │ -000152a0: 7832 3530 2e70 6e67 2220 7465 7874 3d22 x250.png" text=" │ │ │ │ │ -000152b0: 496d 6167 6520 6578 3235 3020 6f6d 6974 Image ex250 omit │ │ │ │ │ -000152c0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers │ │ │ │ │ -000152d0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu │ │ │ │ │ -000152e0: 6d65 6e74 2e22 0008 5d20 2020 2020 0008 ment."..] .. │ │ │ │ │ -000152f0: 5b69 6d61 6765 2073 7263 3d22 6578 3236 [image src="ex26 │ │ │ │ │ -00015300: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00015310: 6765 2065 7832 3630 206f 6d69 7474 6564 ge ex260 omitted │ │ │ │ │ -00015320: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00015330: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00015340: 742e 2200 085d 0a0a 2020 2054 6865 2063 t."..].. The c │ │ │ │ │ -00015350: 6f6e 6520 7368 6170 6520 6973 206a 7573 one shape is jus │ │ │ │ │ -00015360: 7420 6120 7377 6570 7420 6c69 6e65 2077 t a swept line w │ │ │ │ │ -00015370: 6974 6820 6e6f 2063 6c6f 7375 7265 2074 ith no closure t │ │ │ │ │ -00015380: 6167 2061 6e64 2063 756c 6c69 6e67 0a74 ag and culling.t │ │ │ │ │ -00015390: 7572 6e65 6420 6f66 662e 2020 4265 6769 urned off. Begi │ │ │ │ │ -000153a0: 6e20 6279 2073 6574 7469 6e67 2075 7020 n by setting up │ │ │ │ │ -000153b0: 736f 6d65 2075 7365 6675 6c20 636f 6e73 some useful cons │ │ │ │ │ -000153c0: 7461 6e74 732e 0a20 2064 6566 204f 2028 tants.. def O ( │ │ │ │ │ -000153d0: 302c 302c 3029 2064 6566 2049 205b 312c 0,0,0) def I [1, │ │ │ │ │ -000153e0: 302c 305d 2064 6566 204a 205b 302c 312c 0,0] def J [0,1, │ │ │ │ │ -000153f0: 305d 2064 6566 204b 205b 302c 302c 315d 0] def K [0,0,1] │ │ │ │ │ -00015400: 0a20 2064 6566 2070 3020 2831 2c32 2920 . def p0 (1,2) │ │ │ │ │ -00015410: 6465 6620 7031 2028 312e 352c 3029 2064 def p1 (1.5,0) d │ │ │ │ │ -00015420: 6566 204e 2038 0a20 2064 6566 2073 6567 ef N 8. def seg │ │ │ │ │ -00015430: 5f72 6f74 2072 6f74 6174 6528 3336 3020 _rot rotate(360 │ │ │ │ │ -00015440: 2f20 4e2c 205b 4a5d 290a 5468 6520 706f / N, [J]).The po │ │ │ │ │ -00015450: 696e 7473 20e2 8098 7030 e280 9920 616e ints ...p0... an │ │ │ │ │ -00015460: 6420 e280 9870 31e2 8099 2061 7265 2074 d ...p1... are t │ │ │ │ │ -00015470: 6865 2065 6e64 2070 6f69 6e74 7320 6f66 he end points of │ │ │ │ │ -00015480: 2074 6865 206c 696e 6520 746f 2062 6520 the line to be │ │ │ │ │ -00015490: 7377 6570 742e 0a54 6865 2064 6566 696e swept..The defin │ │ │ │ │ -000154a0: 6974 696f 6e20 e280 9873 6567 5f72 6f74 ition ...seg_rot │ │ │ │ │ -000154b0: e280 9920 6973 2074 6865 2073 7765 6570 ... is the sweep │ │ │ │ │ -000154c0: 2074 7261 6e73 666f 726d 6174 696f 6e2e transformation. │ │ │ │ │ -000154d0: 2020 5769 7468 2074 6865 7365 2c20 7468 With these, th │ │ │ │ │ -000154e0: 650a 636f 6e65 2069 7473 656c 6620 6973 e.cone itself is │ │ │ │ │ -000154f0: 2073 696d 706c 652e 0a20 2073 7765 6570 simple.. sweep │ │ │ │ │ -00015500: 5b63 756c 6c3d 6661 6c73 655d 207b 204e [cull=false] { N │ │ │ │ │ -00015510: 2c20 5b5b 7365 675f 726f 745d 5d20 7d20 , [[seg_rot]] } │ │ │ │ │ -00015520: 6c69 6e65 2870 3029 2870 3129 0a0a 2020 line(p0)(p1).. │ │ │ │ │ -00015530: 2054 6865 2061 7865 7320 6172 6520 6e65 The axes are ne │ │ │ │ │ -00015540: 7874 2061 6e64 2069 6e63 6c75 6465 2061 xt and include a │ │ │ │ │ -00015550: 6e20 696e 7465 7265 7369 6e67 2074 7269 n interesing tri │ │ │ │ │ -00015560: 636b 2074 6861 7420 7368 6f77 7320 7468 ck that shows th │ │ │ │ │ -00015570: 650a 6869 6464 656e 2070 6172 7473 2061 e.hidden parts a │ │ │ │ │ -00015580: 7320 646f 7474 6564 206c 696e 6573 2e20 s dotted lines. │ │ │ │ │ -00015590: 2054 6865 2073 6563 7265 7420 6973 2064 The secret is d │ │ │ │ │ -000155a0: 7261 7720 7468 6520 6178 6573 2074 7769 raw the axes twi │ │ │ │ │ -000155b0: 6365 2d2d 736f 6c69 640a 6c69 6e65 7320 ce--solid.lines │ │ │ │ │ -000155c0: 7769 7468 2074 6865 206e 6f72 6d61 6c20 with the normal │ │ │ │ │ -000155d0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ -000155e0: 6c67 6f72 6974 686d 2069 6e20 6566 6665 lgorithm in effe │ │ │ │ │ -000155f0: 6374 2c20 616e 6420 7468 656e 0a64 6f74 ct, and then.dot │ │ │ │ │ -00015600: 7465 6420 7769 7468 2074 6865 206f 7074 ted with the opt │ │ │ │ │ -00015610: 696f 6e20 e280 986c 6179 3d6f 7665 72e2 ion ...lay=over. │ │ │ │ │ -00015620: 8099 2073 6f20 7468 6174 206e 6f20 706f .. so that no po │ │ │ │ │ -00015630: 6c79 676f 6e73 2063 616e 2068 6964 6520 lygons can hide │ │ │ │ │ -00015640: 7468 656d 2e0a 2020 6465 6620 6178 2028 them.. def ax ( │ │ │ │ │ -00015650: 6478 2c30 2c30 2920 2520 7469 7073 206f dx,0,0) % tips o │ │ │ │ │ -00015660: 6620 7468 6520 6178 6573 0a20 2064 6566 f the axes. def │ │ │ │ │ -00015670: 2061 7920 2830 2c64 792c 3029 0a20 2064 ay (0,dy,0). d │ │ │ │ │ -00015680: 6566 2061 7a20 2830 2c30 2c64 7a29 0a20 ef az (0,0,dz). │ │ │ │ │ -00015690: 206c 696e 655b 6172 726f 7773 3d3c 2d3e line[arrows=<-> │ │ │ │ │ -000156a0: 2c6c 696e 6577 6964 7468 3d2e 3470 745d ,linewidth=.4pt] │ │ │ │ │ -000156b0: 2861 7829 284f 2928 6179 290a 2020 6c69 (ax)(O)(ay). li │ │ │ │ │ -000156c0: 6e65 5b61 7272 6f77 733d 2d3e 2c6c 696e ne[arrows=->,lin │ │ │ │ │ -000156d0: 6577 6964 7468 3d2e 3470 745d 284f 2928 ewidth=.4pt](O)( │ │ │ │ │ -000156e0: 617a 290a 2020 2520 7265 7065 6174 2064 az). % repeat d │ │ │ │ │ -000156f0: 6f74 7465 6420 6173 2061 6e20 6f76 6572 otted as an over │ │ │ │ │ -00015700: 6c61 7920 746f 2068 696e 7420 6174 2074 lay to hint at t │ │ │ │ │ -00015710: 6865 2068 6964 6465 6e20 6c69 6e65 730a he hidden lines. │ │ │ │ │ -00015720: 2020 6c69 6e65 5b6c 6179 3d6f 7665 722c line[lay=over, │ │ │ │ │ -00015730: 6c69 6e65 7374 796c 653d 646f 7474 6564 linestyle=dotted │ │ │ │ │ -00015740: 2c6c 696e 6577 6964 7468 3d2e 3470 745d ,linewidth=.4pt] │ │ │ │ │ -00015750: 2861 7829 284f 2928 6179 290a 2020 6c69 (ax)(O)(ay). li │ │ │ │ │ -00015760: 6e65 5b6c 6179 3d6f 7665 722c 6c69 6e65 ne[lay=over,line │ │ │ │ │ -00015770: 7374 796c 653d 646f 7474 6564 2c6c 696e style=dotted,lin │ │ │ │ │ -00015780: 6577 6964 7468 3d2e 3470 745d 284f 2928 ewidth=.4pt](O)( │ │ │ │ │ -00015790: 617a 290a 2020 7370 6563 6961 6c7c 5c66 az). special|\f │ │ │ │ │ -000157a0: 6f6f 746e 6f74 6573 697a 650a 2020 2020 ootnotesize. │ │ │ │ │ -000157b0: 2020 2020 2020 5c75 7075 745b 645d 2331 \uput[d]#1 │ │ │ │ │ -000157c0: 7b24 7824 7d5c 7570 7574 5b75 5d23 327b {$x$}\uput[u]#2{ │ │ │ │ │ -000157d0: 2479 247d 5c75 7075 745b 6c5d 2333 7b24 $y$}\uput[l]#3{$ │ │ │ │ │ -000157e0: 7a24 7d7c 0a20 2020 2028 6178 2928 6179 z$}|. (ax)(ay │ │ │ │ │ -000157f0: 2928 617a 290a 5468 6520 6c61 6265 6c73 )(az).The labels │ │ │ │ │ -00015800: 2061 7265 2061 7070 6c69 6564 2077 6974 are applied wit │ │ │ │ │ -00015810: 6820 e280 9850 5354 7269 636b 73e2 8099 h ...PSTricks... │ │ │ │ │ -00015820: 2073 7065 6369 616c 206f 626a 6563 7473 special objects │ │ │ │ │ -00015830: 2061 7320 7573 7561 6c2e 0a0a 2020 2046 as usual... F │ │ │ │ │ -00015840: 6f72 2074 6865 2068 6569 6768 7420 6469 or the height di │ │ │ │ │ -00015850: 6d65 6e73 696f 6e20 6d61 726b 2c20 7468 mension mark, th │ │ │ │ │ -00015860: 6520 706f 7765 7220 6f66 2061 6666 696e e power of affin │ │ │ │ │ -00015870: 6520 6172 6974 6865 7469 6320 6973 2076 e arithetic is v │ │ │ │ │ -00015880: 6572 790a 6865 6c70 6675 6c2e 0a20 2064 ery.helpful.. d │ │ │ │ │ -00015890: 6566 2068 6469 6d5f 7265 6620 756e 6974 ef hdim_ref unit │ │ │ │ │ -000158a0: 2828 7031 2920 2d20 284f 2929 2074 6865 ((p1) - (O)) the │ │ │ │ │ -000158b0: 6e20 5b5b 7365 675f 726f 745d 5d5e 320a n [[seg_rot]]^2. │ │ │ │ │ -000158c0: 2020 6465 6620 6330 2028 7030 2920 7468 def c0 (p0) th │ │ │ │ │ -000158d0: 656e 2073 6361 6c65 285b 4a5d 290a 2020 en scale([J]). │ │ │ │ │ -000158e0: 6465 6620 6830 3020 2863 3029 202b 2031 def h00 (c0) + 1 │ │ │ │ │ -000158f0: 2e31 202a 205b 6864 696d 5f72 6566 5d0a .1 * [hdim_ref]. │ │ │ │ │ -00015900: 2020 6465 6620 6830 3120 2863 3029 202b def h01 (c0) + │ │ │ │ │ -00015910: 2031 2e39 202a 205b 6864 696d 5f72 6566 1.9 * [hdim_ref │ │ │ │ │ -00015920: 5d0a 2020 6465 6620 6830 3220 2863 3029 ]. def h02 (c0) │ │ │ │ │ -00015930: 202b 2031 2e38 202a 205b 6864 696d 5f72 + 1.8 * [hdim_r │ │ │ │ │ -00015940: 6566 5d0a 2020 6c69 6e65 2868 3030 2928 ef]. line(h00)( │ │ │ │ │ -00015950: 6830 3129 0a20 2064 6566 2068 3130 2028 h01). def h10 ( │ │ │ │ │ -00015960: 4f29 202b 2031 2e36 202a 205b 6864 696d O) + 1.6 * [hdim │ │ │ │ │ -00015970: 5f72 6566 5d0a 2020 6465 6620 6831 3120 _ref]. def h11 │ │ │ │ │ -00015980: 284f 2920 2b20 312e 3920 2a20 5b68 6469 (O) + 1.9 * [hdi │ │ │ │ │ -00015990: 6d5f 7265 665d 0a20 2064 6566 2068 3132 m_ref]. def h12 │ │ │ │ │ -000159a0: 2028 4f29 202b 2031 2e38 202a 205b 6864 (O) + 1.8 * [hd │ │ │ │ │ -000159b0: 696d 5f72 6566 5d0a 2020 6c69 6e65 2868 im_ref]. line(h │ │ │ │ │ -000159c0: 3130 2928 6831 3129 0a20 206c 696e 655b 10)(h11). line[ │ │ │ │ │ -000159d0: 6172 726f 7773 3d3c 2d3e 5d28 6830 3229 arrows=<->](h02) │ │ │ │ │ -000159e0: 2868 3132 290a 2020 6465 6620 686d 3220 (h12). def hm2 │ │ │ │ │ -000159f0: 2828 6830 3229 202d 2028 4f29 202b 2028 ((h02) - (O) + ( │ │ │ │ │ -00015a00: 6831 3229 202d 2028 4f29 2920 2f20 3220 h12) - (O)) / 2 │ │ │ │ │ -00015a10: 2b20 284f 290a 2020 7370 6563 6961 6c7c + (O). special| │ │ │ │ │ -00015a20: 5c66 6f6f 746e 6f74 6573 697a 655c 7270 \footnotesize\rp │ │ │ │ │ -00015a30: 7574 2a23 317b 2468 247d 7c28 686d 3229 ut*#1{$h$}|(hm2) │ │ │ │ │ -00015a40: 0a20 2020 5468 6520 6765 6e65 7261 6c20 . The general │ │ │ │ │ -00015a50: 6964 6561 2065 6d70 6c6f 7965 6420 6865 idea employed he │ │ │ │ │ -00015a60: 7265 2069 7320 746f 2063 6f6d 7075 7465 re is to compute │ │ │ │ │ -00015a70: 2061 2075 6e69 7420 2272 6566 6572 656e a unit "referen │ │ │ │ │ -00015a80: 6365 0a76 6563 746f 7222 2070 6172 616c ce.vector" paral │ │ │ │ │ -00015a90: 6c65 6c20 746f 2074 6865 2078 7a2d 706c lel to the xz-pl │ │ │ │ │ -00015aa0: 616e 6520 696e 2074 6865 2064 6573 6972 ane in the desir │ │ │ │ │ -00015ab0: 6564 2064 6972 6563 7469 6f6e 206f 6620 ed direction of │ │ │ │ │ -00015ac0: 7468 650a 6469 6d65 6e73 696f 6e20 6672 the.dimension fr │ │ │ │ │ -00015ad0: 6f6d 2074 6865 206f 7269 6769 6e2e 2020 om the origin. │ │ │ │ │ -00015ae0: 5468 6520 7472 616e 7366 6f72 6d61 7469 The transformati │ │ │ │ │ -00015af0: 6f6e 20e2 8098 5b5b 7365 675f 726f 745d on ...[[seg_rot] │ │ │ │ │ -00015b00: 5d5e 32e2 8099 2072 6f74 6174 6573 0a74 ]^2... rotates.t │ │ │ │ │ -00015b10: 776f 2073 6567 6d65 6e74 7320 6162 6f75 wo segments abou │ │ │ │ │ -00015b20: 7420 7468 6520 792d 6178 6973 2e20 2057 t the y-axis. W │ │ │ │ │ -00015b30: 6865 6e20 6170 706c 6965 6420 746f 20e2 hen applied to . │ │ │ │ │ -00015b40: 8098 2870 3129 202d 2028 4f29 e280 992c ..(p1) - (O)..., │ │ │ │ │ -00015b50: 2074 6865 0a72 6573 756c 7469 6e67 2076 the.resulting v │ │ │ │ │ -00015b60: 6563 746f 7220 706f 696e 7473 2074 6f20 ector points to │ │ │ │ │ -00015b70: 7468 6520 7269 6768 7420 6173 2073 686f the right as sho │ │ │ │ │ -00015b80: 776e 2e20 2049 6e20 7468 6973 206d 616e wn. In this man │ │ │ │ │ -00015b90: 6e65 722c 2077 6520 6361 6e0a 7069 636b ner, we can.pick │ │ │ │ │ -00015ba0: 2061 6e79 2076 6572 7465 7820 6173 2074 any vertex as t │ │ │ │ │ -00015bb0: 6865 206c 6f63 6174 696f 6e20 6f66 2074 he location of t │ │ │ │ │ -00015bc0: 6865 2068 6569 6768 7420 6469 6d65 6e73 he height dimens │ │ │ │ │ -00015bd0: 696f 6e20 6c69 6e65 7320 6279 2076 6172 ion lines by var │ │ │ │ │ -00015be0: 7969 6e67 0a74 6865 2065 7870 6f6e 656e ying.the exponen │ │ │ │ │ -00015bf0: 7420 6f66 20e2 8098 5b5b 7365 675f 726f t of ...[[seg_ro │ │ │ │ │ -00015c00: 745d 5de2 8099 2e20 2054 6869 7320 6973 t]].... This is │ │ │ │ │ -00015c10: 206f 6e6c 7920 6f6e 6520 6f66 206d 616e only one of man │ │ │ │ │ -00015c20: 7920 706f 7373 6962 6c65 0a73 7472 6174 y possible.strat │ │ │ │ │ -00015c30: 6567 6965 732e 0a0a 2020 2054 6865 2063 egies... The c │ │ │ │ │ -00015c40: 6f6d 7075 7461 7469 6f6e 206f 6620 e280 omputation of .. │ │ │ │ │ -00015c50: 9868 6d32 e280 9920 6973 2061 2075 7365 .hm2... is a use │ │ │ │ │ -00015c60: 6675 6c20 6964 696f 6d20 666f 7220 6669 ful idiom for fi │ │ │ │ │ -00015c70: 6e64 696e 6720 7468 6520 6365 6e74 726f nding the centro │ │ │ │ │ -00015c80: 6964 0a6f 6620 6120 7365 7420 6f66 2070 id.of a set of p │ │ │ │ │ -00015c90: 6f69 6e74 732e 0a0a 2020 2054 6865 2074 oints... The t │ │ │ │ │ -00015ca0: 776f 2072 6164 6975 7320 6d61 726b 7320 wo radius marks │ │ │ │ │ -00015cb0: 6172 6520 646f 6e65 2073 696d 696c 6172 are done similar │ │ │ │ │ -00015cc0: 6c79 2c20 736f 2077 6520 7072 6573 656e ly, so we presen │ │ │ │ │ -00015cd0: 7420 7468 6520 636f 6465 0a77 6974 686f t the code.witho │ │ │ │ │ -00015ce0: 7574 2063 6f6d 6d65 6e74 2e0a 2020 2520 ut comment.. % │ │ │ │ │ -00015cf0: 7261 6469 7573 206d 6561 7375 7265 6d65 radius measureme │ │ │ │ │ -00015d00: 6e74 206d 6172 6b73 0a20 2064 6566 2067 nt marks. def g │ │ │ │ │ -00015d10: 6170 205b 302c 2e32 2c30 5d20 2025 2075 ap [0,.2,0] % u │ │ │ │ │ -00015d20: 7365 6420 746f 2063 7265 6174 6520 736d sed to create sm │ │ │ │ │ -00015d30: 616c 6c20 7665 7274 6963 616c 2067 6170 all vertical gap │ │ │ │ │ -00015d40: 730a 0a20 2025 2066 6972 7374 2072 310a s.. % first r1. │ │ │ │ │ -00015d50: 2020 6465 6620 7570 3120 5b30 2c33 2e31 def up1 [0,3.1 │ │ │ │ │ -00015d60: 2c30 5d20 2520 7469 636b 2072 6973 6573 ,0] % tick rises │ │ │ │ │ -00015d70: 2061 626f 7665 2064 696d 656e 7369 6f6e above dimension │ │ │ │ │ -00015d80: 2061 206c 6974 746c 650a 2020 6465 6620 a little. def │ │ │ │ │ -00015d90: 7231 2028 2870 3129 2074 6865 6e20 5b5b r1 ((p1) then [[ │ │ │ │ │ -00015da0: 7365 675f 726f 745d 5d5e 2d32 2920 2b20 seg_rot]]^-2) + │ │ │ │ │ -00015db0: 5b75 7031 5d0a 2020 6465 6620 7231 6320 [up1]. def r1c │ │ │ │ │ -00015dc0: 2872 3129 2074 6865 6e20 7363 616c 6528 (r1) then scale( │ │ │ │ │ -00015dd0: 5b4a 5d29 0a20 2064 6566 2072 3174 2028 [J]). def r1t ( │ │ │ │ │ -00015de0: 7231 2920 2b20 5b67 6170 5d0a 2020 6465 r1) + [gap]. de │ │ │ │ │ -00015df0: 6620 7231 6220 2828 7231 7429 2074 6865 f r1b ((r1t) the │ │ │ │ │ -00015e00: 6e20 7363 616c 6528 5b31 2c30 2c31 5d29 n scale([1,0,1]) │ │ │ │ │ -00015e10: 2920 2b20 5b67 6170 5d0a 2020 6c69 6e65 ) + [gap]. line │ │ │ │ │ -00015e20: 5b61 7272 6f77 733d 3c2d 3e5d 2872 3163 [arrows=<->](r1c │ │ │ │ │ -00015e30: 2928 7231 2920 2025 2064 696d 656e 7369 )(r1) % dimensi │ │ │ │ │ -00015e40: 6f6e 206c 696e 650a 2020 6c69 6e65 2872 on line. line(r │ │ │ │ │ -00015e50: 3162 2928 7231 7429 2020 2020 2020 2020 1b)(r1t) │ │ │ │ │ -00015e60: 2020 2020 2025 2074 6963 6b0a 2020 6465 % tick. de │ │ │ │ │ -00015e70: 6620 7231 6d20 2828 7231 2920 2d20 284f f r1m ((r1) - (O │ │ │ │ │ -00015e80: 2920 2b20 2872 3163 2920 2d20 284f 2929 ) + (r1c) - (O)) │ │ │ │ │ -00015e90: 202f 2032 202b 2028 4f29 2025 206c 6162 / 2 + (O) % lab │ │ │ │ │ -00015ea0: 656c 2070 6f73 6974 696f 6e0a 2020 7370 el position. sp │ │ │ │ │ -00015eb0: 6563 6961 6c20 7c5c 666f 6f74 6e6f 7465 ecial |\footnote │ │ │ │ │ -00015ec0: 7369 7a65 5c72 7075 742a 2331 7b24 725f size\rput*#1{$r_ │ │ │ │ │ -00015ed0: 3124 7d7c 2872 316d 2920 2025 206c 6162 1$}|(r1m) % lab │ │ │ │ │ -00015ee0: 656c 0a0a 2020 2520 7361 6d65 2064 7269 el.. % same dri │ │ │ │ │ -00015ef0: 6c6c 2066 6f72 2072 302c 2062 7574 206d ll for r0, but m │ │ │ │ │ -00015f00: 7573 7420 7072 6f6a 6563 7420 646f 776e ust project down │ │ │ │ │ -00015f10: 2066 6972 7374 0a20 2064 6566 2075 7030 first. def up0 │ │ │ │ │ -00015f20: 205b 302c 322e 372c 305d 0a20 2064 6566 [0,2.7,0]. def │ │ │ │ │ -00015f30: 2072 3020 2828 7030 2920 7468 656e 2073 r0 ((p0) then s │ │ │ │ │ -00015f40: 6361 6c65 285b 312c 302c 315d 2920 7468 cale([1,0,1]) th │ │ │ │ │ -00015f50: 656e 205b 5b73 6567 5f72 6f74 5d5d 5e2d en [[seg_rot]]^- │ │ │ │ │ -00015f60: 3229 202b 205b 7570 305d 0a20 2064 6566 2) + [up0]. def │ │ │ │ │ -00015f70: 2072 3063 2028 7230 2920 7468 656e 2073 r0c (r0) then s │ │ │ │ │ -00015f80: 6361 6c65 285b 4a5d 290a 2020 6465 6620 cale([J]). def │ │ │ │ │ -00015f90: 7230 7420 2872 3029 202b 205b 6761 705d r0t (r0) + [gap] │ │ │ │ │ -00015fa0: 0a20 2064 6566 2072 3062 2028 2870 3029 . def r0b ((p0) │ │ │ │ │ -00015fb0: 2074 6865 6e20 5b5b 7365 675f 726f 745d then [[seg_rot] │ │ │ │ │ -00015fc0: 5d5e 2d32 2920 2b20 5b67 6170 5d0a 2020 ]^-2) + [gap]. │ │ │ │ │ -00015fd0: 6c69 6e65 5b61 7272 6f77 733d 3c2d 3e5d line[arrows=<->] │ │ │ │ │ -00015fe0: 2872 3063 2928 7230 290a 2020 6c69 6e65 (r0c)(r0). line │ │ │ │ │ -00015ff0: 2872 3062 2928 7230 7429 0a20 2064 6566 (r0b)(r0t). def │ │ │ │ │ -00016000: 2072 306d 2028 2872 3029 202d 2028 4f29 r0m ((r0) - (O) │ │ │ │ │ -00016010: 202b 2028 7230 6329 202d 2028 4f29 2920 + (r0c) - (O)) │ │ │ │ │ -00016020: 2f20 3220 2b20 284f 290a 2020 7370 6563 / 2 + (O). spec │ │ │ │ │ -00016030: 6961 6c20 7c5c 666f 6f74 6e6f 7465 7369 ial |\footnotesi │ │ │ │ │ -00016040: 7a65 5c72 7075 742a 2331 7b24 725f 3024 ze\rput*#1{$r_0$ │ │ │ │ │ -00016050: 7d7c 2872 306d 290a 0a20 2020 5468 6520 }|(r0m).. The │ │ │ │ │ -00016060: 7365 636f 6e64 2064 7261 7769 6e67 2075 second drawing u │ │ │ │ │ -00016070: 7365 7320 7468 6520 7361 6d65 2074 6563 ses the same tec │ │ │ │ │ -00016080: 686e 6971 7565 732e 2020 4f6e 6c79 2074 hniques. Only t │ │ │ │ │ -00016090: 6865 206d 6574 686f 6420 666f 720a 6472 he method for.dr │ │ │ │ │ -000160a0: 6177 696e 6720 7468 6520 656c 6c69 7074 awing the ellipt │ │ │ │ │ -000160b0: 6963 616c 2061 7263 2069 7320 6e65 772e ical arc is new. │ │ │ │ │ -000160c0: 2020 4865 7265 2069 7320 7468 6520 636f Here is the co │ │ │ │ │ -000160d0: 6465 2e0a 2020 6465 6620 6d69 6420 2828 de.. def mid (( │ │ │ │ │ -000160e0: 7030 3029 2d28 4f29 2b28 7031 3029 2d28 p00)-(O)+(p10)-( │ │ │ │ │ -000160f0: 4f29 2b28 7031 3129 2d28 4f29 2b28 7030 O)+(p11)-(O)+(p0 │ │ │ │ │ -00016100: 3129 2d28 4f29 292f 342b 284f 290a 2020 1)-(O))/4+(O). │ │ │ │ │ -00016110: 7370 6563 6961 6c7c 5c72 7075 7423 317b special|\rput#1{ │ │ │ │ │ -00016120: 5c70 7363 7573 746f 6d7b 0a20 2020 205c \pscustom{. \ │ │ │ │ │ -00016130: 7363 616c 657b 3120 312e 337d 0a20 2020 scale{1 1.3}. │ │ │ │ │ -00016140: 205c 7073 6172 635b 6172 726f 776c 656e \psarc[arrowlen │ │ │ │ │ -00016150: 6774 683d 2e35 5d7b 2d3e 7d7b 2e32 357d gth=.5]{->}{.25} │ │ │ │ │ -00016160: 7b2d 3630 7d7b 3234 307d 7d7d 7c0a 2020 {-60}{240}}}|. │ │ │ │ │ -00016170: 2020 5b6c 6179 3d6f 7665 725d 286d 6964 [lay=over](mid │ │ │ │ │ -00016180: 290a 5765 2063 6f75 6c64 2068 6176 6520 ).We could have │ │ │ │ │ -00016190: 7377 6570 7420 6120 706f 696e 7420 746f swept a point to │ │ │ │ │ -000161a0: 206d 616b 6520 7468 6520 6172 6320 7769 make the arc wi │ │ │ │ │ -000161b0: 7468 20e2 8098 736b 6574 6368 e280 992c th ...sketch..., │ │ │ │ │ -000161c0: 2062 7574 2075 7369 6e67 2061 0ae2 8098 but using a.... │ │ │ │ │ -000161d0: 5053 5472 6963 6b73 e280 9920 6375 7374 PSTricks... cust │ │ │ │ │ -000161e0: 6f6d 2067 7261 7068 6963 2077 6173 2073 om graphic was s │ │ │ │ │ -000161f0: 696d 706c 6572 2e20 2041 6761 696e 2077 impler. Again w │ │ │ │ │ -00016200: 6520 636f 6d70 7574 6564 2074 6865 2063 e computed the c │ │ │ │ │ -00016210: 656e 7472 6f69 640a 6f66 2074 6865 2071 entroid.of the q │ │ │ │ │ -00016220: 7561 6472 696c 6174 6572 616c 2062 7920 uadrilateral by │ │ │ │ │ -00016230: 6176 6572 6167 696e 6720 706f 696e 7473 averaging points │ │ │ │ │ -00016240: 2e20 204e 6f74 6520 7468 6174 2073 6361 . Note that sca │ │ │ │ │ -00016250: 6c69 6e67 2069 6e0a 506f 7374 7363 7269 ling in.Postscri │ │ │ │ │ -00016260: 7074 2064 6973 746f 7274 7320 7468 6520 pt distorts the │ │ │ │ │ -00016270: 6172 726f 7768 6561 642c 2062 7574 2069 arrowhead, but i │ │ │ │ │ -00016280: 6e20 7468 6973 2063 6173 6520 7468 6520 n this case the │ │ │ │ │ -00016290: 6469 7374 6f72 7469 6f6e 0a61 6374 7561 distortion.actua │ │ │ │ │ -000162a0: 6c6c 7920 6c6f 6f6b 7320 6265 7474 6572 lly looks better │ │ │ │ │ -000162b0: 2069 6e20 7468 6520 7072 6f6a 6563 7469 in the projecti │ │ │ │ │ -000162c0: 6f6e 206f 6620 7468 6520 736c 616e 7465 on of the slante │ │ │ │ │ -000162d0: 6420 6661 6365 2e20 2041 20e2 8098 736b d face. A ...sk │ │ │ │ │ -000162e0: 6574 6368 e280 990a 6172 726f 7768 6561 etch....arrowhea │ │ │ │ │ -000162f0: 6420 776f 756c 6420 6e6f 7420 6861 7665 d would not have │ │ │ │ │ -00016300: 2062 6565 6e20 6469 7374 6f72 7465 642e been distorted. │ │ │ │ │ -00016310: 0a0a 2020 2054 6865 2063 6f6d 706c 6574 .. The complet │ │ │ │ │ -00016320: 6520 636f 6465 2066 6f72 2074 6869 7320 e code for this │ │ │ │ │ -00016330: 6578 616d 706c 652c 2077 6869 6368 2064 example, which d │ │ │ │ │ -00016340: 7261 7773 2065 6974 6865 7220 6669 6775 raws either figu │ │ │ │ │ -00016350: 7265 0a64 6570 656e 6469 6e67 206f 6e20 re.depending on │ │ │ │ │ -00016360: 7468 6520 6465 6669 6e69 7469 6f6e 206f the definition o │ │ │ │ │ -00016370: 6620 7468 6520 7461 6720 e280 983c 6c61 f the tag ......, is in │ │ │ │ │ -00016390: 636c 7564 6564 2069 6e20 7468 650a e280 cluded in the... │ │ │ │ │ -000163a0: 9873 6b65 7463 68e2 8099 2064 6973 7472 .sketch... distr │ │ │ │ │ -000163b0: 6962 7574 696f 6e20 696e 2074 6865 2066 ibution in the f │ │ │ │ │ -000163c0: 696c 6520 e280 9874 7275 6e63 6174 6564 ile ...truncated │ │ │ │ │ -000163d0: 636f 6e65 2e73 6be2 8099 2e0a 0a1f 0a46 cone.sk........F │ │ │ │ │ -000163e0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -000163f0: 2c20 204e 6f64 653a 2041 2068 6965 7261 , Node: A hiera │ │ │ │ │ -00016400: 7263 6869 6361 6c20 6d6f 6465 6c2c 2020 rchical model, │ │ │ │ │ -00016410: 4e65 7874 3a20 4361 7665 6174 732c 2020 Next: Caveats, │ │ │ │ │ -00016420: 5072 6576 3a20 4120 7465 6368 6e69 6361 Prev: A technica │ │ │ │ │ -00016430: 6c20 6472 6177 696e 672c 2020 5570 3a20 l drawing, Up: │ │ │ │ │ -00016440: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi │ │ │ │ │ -00016450: 6e67 0a0a 342e 3320 4120 6869 6572 6172 ng..4.3 A hierar │ │ │ │ │ -00016460: 6368 6963 616c 206d 6f64 656c 0a3d 3d3d chical model.=== │ │ │ │ │ +000151b0: 3d0a 0a4c 6574 2773 206c 6f6f 6b20 6174 =..Let's look at │ │ │ │ │ +000151c0: 2061 2064 7261 7769 6e67 2074 6861 7420 a drawing that │ │ │ │ │ +000151d0: 7265 7072 6573 656e 7473 2074 6865 206b represents the k │ │ │ │ │ +000151e0: 696e 6420 6f66 2070 726f 626c 656d 20e2 ind of problem . │ │ │ │ │ +000151f0: 8098 736b 6574 6368 e280 9920 7761 730a ..sketch... was. │ │ │ │ │ +00015200: 6d65 616e 7420 746f 2073 6f6c 7665 2d2d meant to solve-- │ │ │ │ │ +00015210: 6120 7061 6972 206f 6620 7465 7874 626f a pair of textbo │ │ │ │ │ +00015220: 6f6b 2066 6967 7572 6573 2072 6567 6172 ok figures regar │ │ │ │ │ +00015230: 6469 6e67 2061 2070 6f6c 7967 6f6e 616c ding a polygonal │ │ │ │ │ +00015240: 0a61 7070 726f 7869 6d61 7469 6f6e 206f .approximation o │ │ │ │ │ +00015250: 6620 6120 7472 756e 6361 7465 6420 636f f a truncated co │ │ │ │ │ +00015260: 6e65 2e20 2048 6572 6520 6172 6520 7468 ne. Here are th │ │ │ │ │ +00015270: 6520 7069 6374 7572 6573 2077 6520 7769 e pictures we wi │ │ │ │ │ +00015280: 6c6c 0a70 726f 6475 6365 2e0a 0a00 085b ll.produce.....[ │ │ │ │ │ +00015290: 696d 6167 6520 7372 633d 2265 7832 3530 image src="ex250 │ │ │ │ │ +000152a0: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png" text="Imag │ │ │ │ │ +000152b0: 6520 6578 3235 3020 6f6d 6974 7465 6420 e ex250 omitted │ │ │ │ │ +000152c0: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version │ │ │ │ │ +000152d0: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document │ │ │ │ │ +000152e0: 2e22 0008 5d20 2020 2020 0008 5b69 6d61 ."..] ..[ima │ │ │ │ │ +000152f0: 6765 2073 7263 3d22 6578 3236 302e 706e ge src="ex260.pn │ │ │ │ │ +00015300: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ +00015310: 7832 3630 206f 6d69 7474 6564 2069 6e20 x260 omitted in │ │ │ │ │ +00015320: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +00015330: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +00015340: 085d 0a0a 2020 2054 6865 2063 6f6e 6520 .].. The cone │ │ │ │ │ +00015350: 7368 6170 6520 6973 206a 7573 7420 6120 shape is just a │ │ │ │ │ +00015360: 7377 6570 7420 6c69 6e65 2077 6974 6820 swept line with │ │ │ │ │ +00015370: 6e6f 2063 6c6f 7375 7265 2074 6167 2061 no closure tag a │ │ │ │ │ +00015380: 6e64 2063 756c 6c69 6e67 0a74 7572 6e65 nd culling.turne │ │ │ │ │ +00015390: 6420 6f66 662e 2020 4265 6769 6e20 6279 d off. Begin by │ │ │ │ │ +000153a0: 2073 6574 7469 6e67 2075 7020 736f 6d65 setting up some │ │ │ │ │ +000153b0: 2075 7365 6675 6c20 636f 6e73 7461 6e74 useful constant │ │ │ │ │ +000153c0: 732e 0a20 2064 6566 204f 2028 302c 302c s.. def O (0,0, │ │ │ │ │ +000153d0: 3029 2064 6566 2049 205b 312c 302c 305d 0) def I [1,0,0] │ │ │ │ │ +000153e0: 2064 6566 204a 205b 302c 312c 305d 2064 def J [0,1,0] d │ │ │ │ │ +000153f0: 6566 204b 205b 302c 302c 315d 0a20 2064 ef K [0,0,1]. d │ │ │ │ │ +00015400: 6566 2070 3020 2831 2c32 2920 6465 6620 ef p0 (1,2) def │ │ │ │ │ +00015410: 7031 2028 312e 352c 3029 2064 6566 204e p1 (1.5,0) def N │ │ │ │ │ +00015420: 2038 0a20 2064 6566 2073 6567 5f72 6f74 8. def seg_rot │ │ │ │ │ +00015430: 2072 6f74 6174 6528 3336 3020 2f20 4e2c rotate(360 / N, │ │ │ │ │ +00015440: 205b 4a5d 290a 5468 6520 706f 696e 7473 [J]).The points │ │ │ │ │ +00015450: 20e2 8098 7030 e280 9920 616e 6420 e280 ...p0... and .. │ │ │ │ │ +00015460: 9870 31e2 8099 2061 7265 2074 6865 2065 .p1... are the e │ │ │ │ │ +00015470: 6e64 2070 6f69 6e74 7320 6f66 2074 6865 nd points of the │ │ │ │ │ +00015480: 206c 696e 6520 746f 2062 6520 7377 6570 line to be swep │ │ │ │ │ +00015490: 742e 0a54 6865 2064 6566 696e 6974 696f t..The definitio │ │ │ │ │ +000154a0: 6e20 e280 9873 6567 5f72 6f74 e280 9920 n ...seg_rot... │ │ │ │ │ +000154b0: 6973 2074 6865 2073 7765 6570 2074 7261 is the sweep tra │ │ │ │ │ +000154c0: 6e73 666f 726d 6174 696f 6e2e 2020 5769 nsformation. Wi │ │ │ │ │ +000154d0: 7468 2074 6865 7365 2c20 7468 650a 636f th these, the.co │ │ │ │ │ +000154e0: 6e65 2069 7473 656c 6620 6973 2073 696d ne itself is sim │ │ │ │ │ +000154f0: 706c 652e 0a20 2073 7765 6570 5b63 756c ple.. sweep[cul │ │ │ │ │ +00015500: 6c3d 6661 6c73 655d 207b 204e 2c20 5b5b l=false] { N, [[ │ │ │ │ │ +00015510: 7365 675f 726f 745d 5d20 7d20 6c69 6e65 seg_rot]] } line │ │ │ │ │ +00015520: 2870 3029 2870 3129 0a0a 2020 2054 6865 (p0)(p1).. The │ │ │ │ │ +00015530: 2061 7865 7320 6172 6520 6e65 7874 2061 axes are next a │ │ │ │ │ +00015540: 6e64 2069 6e63 6c75 6465 2061 6e20 696e nd include an in │ │ │ │ │ +00015550: 7465 7265 7369 6e67 2074 7269 636b 2074 teresing trick t │ │ │ │ │ +00015560: 6861 7420 7368 6f77 7320 7468 650a 6869 hat shows the.hi │ │ │ │ │ +00015570: 6464 656e 2070 6172 7473 2061 7320 646f dden parts as do │ │ │ │ │ +00015580: 7474 6564 206c 696e 6573 2e20 2054 6865 tted lines. The │ │ │ │ │ +00015590: 2073 6563 7265 7420 6973 2064 7261 7720 secret is draw │ │ │ │ │ +000155a0: 7468 6520 6178 6573 2074 7769 6365 2d2d the axes twice-- │ │ │ │ │ +000155b0: 736f 6c69 640a 6c69 6e65 7320 7769 7468 solid.lines with │ │ │ │ │ +000155c0: 2074 6865 206e 6f72 6d61 6c20 6869 6464 the normal hidd │ │ │ │ │ +000155d0: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor │ │ │ │ │ +000155e0: 6974 686d 2069 6e20 6566 6665 6374 2c20 ithm in effect, │ │ │ │ │ +000155f0: 616e 6420 7468 656e 0a64 6f74 7465 6420 and then.dotted │ │ │ │ │ +00015600: 7769 7468 2074 6865 206f 7074 696f 6e20 with the option │ │ │ │ │ +00015610: e280 986c 6179 3d6f 7665 72e2 8099 2073 ...lay=over... s │ │ │ │ │ +00015620: 6f20 7468 6174 206e 6f20 706f 6c79 676f o that no polygo │ │ │ │ │ +00015630: 6e73 2063 616e 2068 6964 6520 7468 656d ns can hide them │ │ │ │ │ +00015640: 2e0a 2020 6465 6620 6178 2028 6478 2c30 .. def ax (dx,0 │ │ │ │ │ +00015650: 2c30 2920 2520 7469 7073 206f 6620 7468 ,0) % tips of th │ │ │ │ │ +00015660: 6520 6178 6573 0a20 2064 6566 2061 7920 e axes. def ay │ │ │ │ │ +00015670: 2830 2c64 792c 3029 0a20 2064 6566 2061 (0,dy,0). def a │ │ │ │ │ +00015680: 7a20 2830 2c30 2c64 7a29 0a20 206c 696e z (0,0,dz). lin │ │ │ │ │ +00015690: 655b 6172 726f 7773 3d3c 2d3e 2c6c 696e e[arrows=<->,lin │ │ │ │ │ +000156a0: 6577 6964 7468 3d2e 3470 745d 2861 7829 ewidth=.4pt](ax) │ │ │ │ │ +000156b0: 284f 2928 6179 290a 2020 6c69 6e65 5b61 (O)(ay). line[a │ │ │ │ │ +000156c0: 7272 6f77 733d 2d3e 2c6c 696e 6577 6964 rrows=->,linewid │ │ │ │ │ +000156d0: 7468 3d2e 3470 745d 284f 2928 617a 290a th=.4pt](O)(az). │ │ │ │ │ +000156e0: 2020 2520 7265 7065 6174 2064 6f74 7465 % repeat dotte │ │ │ │ │ +000156f0: 6420 6173 2061 6e20 6f76 6572 6c61 7920 d as an overlay │ │ │ │ │ +00015700: 746f 2068 696e 7420 6174 2074 6865 2068 to hint at the h │ │ │ │ │ +00015710: 6964 6465 6e20 6c69 6e65 730a 2020 6c69 idden lines. li │ │ │ │ │ +00015720: 6e65 5b6c 6179 3d6f 7665 722c 6c69 6e65 ne[lay=over,line │ │ │ │ │ +00015730: 7374 796c 653d 646f 7474 6564 2c6c 696e style=dotted,lin │ │ │ │ │ +00015740: 6577 6964 7468 3d2e 3470 745d 2861 7829 ewidth=.4pt](ax) │ │ │ │ │ +00015750: 284f 2928 6179 290a 2020 6c69 6e65 5b6c (O)(ay). line[l │ │ │ │ │ +00015760: 6179 3d6f 7665 722c 6c69 6e65 7374 796c ay=over,linestyl │ │ │ │ │ +00015770: 653d 646f 7474 6564 2c6c 696e 6577 6964 e=dotted,linewid │ │ │ │ │ +00015780: 7468 3d2e 3470 745d 284f 2928 617a 290a th=.4pt](O)(az). │ │ │ │ │ +00015790: 2020 7370 6563 6961 6c7c 5c66 6f6f 746e special|\footn │ │ │ │ │ +000157a0: 6f74 6573 697a 650a 2020 2020 2020 2020 otesize. │ │ │ │ │ +000157b0: 2020 5c75 7075 745b 645d 2331 7b24 7824 \uput[d]#1{$x$ │ │ │ │ │ +000157c0: 7d5c 7570 7574 5b75 5d23 327b 2479 247d }\uput[u]#2{$y$} │ │ │ │ │ +000157d0: 5c75 7075 745b 6c5d 2333 7b24 7a24 7d7c \uput[l]#3{$z$}| │ │ │ │ │ +000157e0: 0a20 2020 2028 6178 2928 6179 2928 617a . (ax)(ay)(az │ │ │ │ │ +000157f0: 290a 5468 6520 6c61 6265 6c73 2061 7265 ).The labels are │ │ │ │ │ +00015800: 2061 7070 6c69 6564 2077 6974 6820 e280 applied with .. │ │ │ │ │ +00015810: 9850 5354 7269 636b 73e2 8099 2073 7065 .PSTricks... spe │ │ │ │ │ +00015820: 6369 616c 206f 626a 6563 7473 2061 7320 cial objects as │ │ │ │ │ +00015830: 7573 7561 6c2e 0a0a 2020 2046 6f72 2074 usual... For t │ │ │ │ │ +00015840: 6865 2068 6569 6768 7420 6469 6d65 6e73 he height dimens │ │ │ │ │ +00015850: 696f 6e20 6d61 726b 2c20 7468 6520 706f ion mark, the po │ │ │ │ │ +00015860: 7765 7220 6f66 2061 6666 696e 6520 6172 wer of affine ar │ │ │ │ │ +00015870: 6974 6865 7469 6320 6973 2076 6572 790a ithetic is very. │ │ │ │ │ +00015880: 6865 6c70 6675 6c2e 0a20 2064 6566 2068 helpful.. def h │ │ │ │ │ +00015890: 6469 6d5f 7265 6620 756e 6974 2828 7031 dim_ref unit((p1 │ │ │ │ │ +000158a0: 2920 2d20 284f 2929 2074 6865 6e20 5b5b ) - (O)) then [[ │ │ │ │ │ +000158b0: 7365 675f 726f 745d 5d5e 320a 2020 6465 seg_rot]]^2. de │ │ │ │ │ +000158c0: 6620 6330 2028 7030 2920 7468 656e 2073 f c0 (p0) then s │ │ │ │ │ +000158d0: 6361 6c65 285b 4a5d 290a 2020 6465 6620 cale([J]). def │ │ │ │ │ +000158e0: 6830 3020 2863 3029 202b 2031 2e31 202a h00 (c0) + 1.1 * │ │ │ │ │ +000158f0: 205b 6864 696d 5f72 6566 5d0a 2020 6465 [hdim_ref]. de │ │ │ │ │ +00015900: 6620 6830 3120 2863 3029 202b 2031 2e39 f h01 (c0) + 1.9 │ │ │ │ │ +00015910: 202a 205b 6864 696d 5f72 6566 5d0a 2020 * [hdim_ref]. │ │ │ │ │ +00015920: 6465 6620 6830 3220 2863 3029 202b 2031 def h02 (c0) + 1 │ │ │ │ │ +00015930: 2e38 202a 205b 6864 696d 5f72 6566 5d0a .8 * [hdim_ref]. │ │ │ │ │ +00015940: 2020 6c69 6e65 2868 3030 2928 6830 3129 line(h00)(h01) │ │ │ │ │ +00015950: 0a20 2064 6566 2068 3130 2028 4f29 202b . def h10 (O) + │ │ │ │ │ +00015960: 2031 2e36 202a 205b 6864 696d 5f72 6566 1.6 * [hdim_ref │ │ │ │ │ +00015970: 5d0a 2020 6465 6620 6831 3120 284f 2920 ]. def h11 (O) │ │ │ │ │ +00015980: 2b20 312e 3920 2a20 5b68 6469 6d5f 7265 + 1.9 * [hdim_re │ │ │ │ │ +00015990: 665d 0a20 2064 6566 2068 3132 2028 4f29 f]. def h12 (O) │ │ │ │ │ +000159a0: 202b 2031 2e38 202a 205b 6864 696d 5f72 + 1.8 * [hdim_r │ │ │ │ │ +000159b0: 6566 5d0a 2020 6c69 6e65 2868 3130 2928 ef]. line(h10)( │ │ │ │ │ +000159c0: 6831 3129 0a20 206c 696e 655b 6172 726f h11). line[arro │ │ │ │ │ +000159d0: 7773 3d3c 2d3e 5d28 6830 3229 2868 3132 ws=<->](h02)(h12 │ │ │ │ │ +000159e0: 290a 2020 6465 6620 686d 3220 2828 6830 ). def hm2 ((h0 │ │ │ │ │ +000159f0: 3229 202d 2028 4f29 202b 2028 6831 3229 2) - (O) + (h12) │ │ │ │ │ +00015a00: 202d 2028 4f29 2920 2f20 3220 2b20 284f - (O)) / 2 + (O │ │ │ │ │ +00015a10: 290a 2020 7370 6563 6961 6c7c 5c66 6f6f ). special|\foo │ │ │ │ │ +00015a20: 746e 6f74 6573 697a 655c 7270 7574 2a23 tnotesize\rput*# │ │ │ │ │ +00015a30: 317b 2468 247d 7c28 686d 3229 0a20 2020 1{$h$}|(hm2). │ │ │ │ │ +00015a40: 5468 6520 6765 6e65 7261 6c20 6964 6561 The general idea │ │ │ │ │ +00015a50: 2065 6d70 6c6f 7965 6420 6865 7265 2069 employed here i │ │ │ │ │ +00015a60: 7320 746f 2063 6f6d 7075 7465 2061 2075 s to compute a u │ │ │ │ │ +00015a70: 6e69 7420 2272 6566 6572 656e 6365 0a76 nit "reference.v │ │ │ │ │ +00015a80: 6563 746f 7222 2070 6172 616c 6c65 6c20 ector" parallel │ │ │ │ │ +00015a90: 746f 2074 6865 2078 7a2d 706c 616e 6520 to the xz-plane │ │ │ │ │ +00015aa0: 696e 2074 6865 2064 6573 6972 6564 2064 in the desired d │ │ │ │ │ +00015ab0: 6972 6563 7469 6f6e 206f 6620 7468 650a irection of the. │ │ │ │ │ +00015ac0: 6469 6d65 6e73 696f 6e20 6672 6f6d 2074 dimension from t │ │ │ │ │ +00015ad0: 6865 206f 7269 6769 6e2e 2020 5468 6520 he origin. The │ │ │ │ │ +00015ae0: 7472 616e 7366 6f72 6d61 7469 6f6e 20e2 transformation . │ │ │ │ │ +00015af0: 8098 5b5b 7365 675f 726f 745d 5d5e 32e2 ..[[seg_rot]]^2. │ │ │ │ │ +00015b00: 8099 2072 6f74 6174 6573 0a74 776f 2073 .. rotates.two s │ │ │ │ │ +00015b10: 6567 6d65 6e74 7320 6162 6f75 7420 7468 egments about th │ │ │ │ │ +00015b20: 6520 792d 6178 6973 2e20 2057 6865 6e20 e y-axis. When │ │ │ │ │ +00015b30: 6170 706c 6965 6420 746f 20e2 8098 2870 applied to ...(p │ │ │ │ │ +00015b40: 3129 202d 2028 4f29 e280 992c 2074 6865 1) - (O)..., the │ │ │ │ │ +00015b50: 0a72 6573 756c 7469 6e67 2076 6563 746f .resulting vecto │ │ │ │ │ +00015b60: 7220 706f 696e 7473 2074 6f20 7468 6520 r points to the │ │ │ │ │ +00015b70: 7269 6768 7420 6173 2073 686f 776e 2e20 right as shown. │ │ │ │ │ +00015b80: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner, │ │ │ │ │ +00015b90: 2077 6520 6361 6e0a 7069 636b 2061 6e79 we can.pick any │ │ │ │ │ +00015ba0: 2076 6572 7465 7820 6173 2074 6865 206c vertex as the l │ │ │ │ │ +00015bb0: 6f63 6174 696f 6e20 6f66 2074 6865 2068 ocation of the h │ │ │ │ │ +00015bc0: 6569 6768 7420 6469 6d65 6e73 696f 6e20 eight dimension │ │ │ │ │ +00015bd0: 6c69 6e65 7320 6279 2076 6172 7969 6e67 lines by varying │ │ │ │ │ +00015be0: 0a74 6865 2065 7870 6f6e 656e 7420 6f66 .the exponent of │ │ │ │ │ +00015bf0: 20e2 8098 5b5b 7365 675f 726f 745d 5de2 ...[[seg_rot]]. │ │ │ │ │ +00015c00: 8099 2e20 2054 6869 7320 6973 206f 6e6c ... This is onl │ │ │ │ │ +00015c10: 7920 6f6e 6520 6f66 206d 616e 7920 706f y one of many po │ │ │ │ │ +00015c20: 7373 6962 6c65 0a73 7472 6174 6567 6965 ssible.strategie │ │ │ │ │ +00015c30: 732e 0a0a 2020 2054 6865 2063 6f6d 7075 s... The compu │ │ │ │ │ +00015c40: 7461 7469 6f6e 206f 6620 e280 9868 6d32 tation of ...hm2 │ │ │ │ │ +00015c50: e280 9920 6973 2061 2075 7365 6675 6c20 ... is a useful │ │ │ │ │ +00015c60: 6964 696f 6d20 666f 7220 6669 6e64 696e idiom for findin │ │ │ │ │ +00015c70: 6720 7468 6520 6365 6e74 726f 6964 0a6f g the centroid.o │ │ │ │ │ +00015c80: 6620 6120 7365 7420 6f66 2070 6f69 6e74 f a set of point │ │ │ │ │ +00015c90: 732e 0a0a 2020 2054 6865 2074 776f 2072 s... The two r │ │ │ │ │ +00015ca0: 6164 6975 7320 6d61 726b 7320 6172 6520 adius marks are │ │ │ │ │ +00015cb0: 646f 6e65 2073 696d 696c 6172 6c79 2c20 done similarly, │ │ │ │ │ +00015cc0: 736f 2077 6520 7072 6573 656e 7420 7468 so we present th │ │ │ │ │ +00015cd0: 6520 636f 6465 0a77 6974 686f 7574 2063 e code.without c │ │ │ │ │ +00015ce0: 6f6d 6d65 6e74 2e0a 2020 2520 7261 6469 omment.. % radi │ │ │ │ │ +00015cf0: 7573 206d 6561 7375 7265 6d65 6e74 206d us measurement m │ │ │ │ │ +00015d00: 6172 6b73 0a20 2064 6566 2067 6170 205b arks. def gap [ │ │ │ │ │ +00015d10: 302c 2e32 2c30 5d20 2025 2075 7365 6420 0,.2,0] % used │ │ │ │ │ +00015d20: 746f 2063 7265 6174 6520 736d 616c 6c20 to create small │ │ │ │ │ +00015d30: 7665 7274 6963 616c 2067 6170 730a 0a20 vertical gaps.. │ │ │ │ │ +00015d40: 2025 2066 6972 7374 2072 310a 2020 6465 % first r1. de │ │ │ │ │ +00015d50: 6620 7570 3120 5b30 2c33 2e31 2c30 5d20 f up1 [0,3.1,0] │ │ │ │ │ +00015d60: 2520 7469 636b 2072 6973 6573 2061 626f % tick rises abo │ │ │ │ │ +00015d70: 7665 2064 696d 656e 7369 6f6e 2061 206c ve dimension a l │ │ │ │ │ +00015d80: 6974 746c 650a 2020 6465 6620 7231 2028 ittle. def r1 ( │ │ │ │ │ +00015d90: 2870 3129 2074 6865 6e20 5b5b 7365 675f (p1) then [[seg_ │ │ │ │ │ +00015da0: 726f 745d 5d5e 2d32 2920 2b20 5b75 7031 rot]]^-2) + [up1 │ │ │ │ │ +00015db0: 5d0a 2020 6465 6620 7231 6320 2872 3129 ]. def r1c (r1) │ │ │ │ │ +00015dc0: 2074 6865 6e20 7363 616c 6528 5b4a 5d29 then scale([J]) │ │ │ │ │ +00015dd0: 0a20 2064 6566 2072 3174 2028 7231 2920 . def r1t (r1) │ │ │ │ │ +00015de0: 2b20 5b67 6170 5d0a 2020 6465 6620 7231 + [gap]. def r1 │ │ │ │ │ +00015df0: 6220 2828 7231 7429 2074 6865 6e20 7363 b ((r1t) then sc │ │ │ │ │ +00015e00: 616c 6528 5b31 2c30 2c31 5d29 2920 2b20 ale([1,0,1])) + │ │ │ │ │ +00015e10: 5b67 6170 5d0a 2020 6c69 6e65 5b61 7272 [gap]. line[arr │ │ │ │ │ +00015e20: 6f77 733d 3c2d 3e5d 2872 3163 2928 7231 ows=<->](r1c)(r1 │ │ │ │ │ +00015e30: 2920 2025 2064 696d 656e 7369 6f6e 206c ) % dimension l │ │ │ │ │ +00015e40: 696e 650a 2020 6c69 6e65 2872 3162 2928 ine. line(r1b)( │ │ │ │ │ +00015e50: 7231 7429 2020 2020 2020 2020 2020 2020 r1t) │ │ │ │ │ +00015e60: 2025 2074 6963 6b0a 2020 6465 6620 7231 % tick. def r1 │ │ │ │ │ +00015e70: 6d20 2828 7231 2920 2d20 284f 2920 2b20 m ((r1) - (O) + │ │ │ │ │ +00015e80: 2872 3163 2920 2d20 284f 2929 202f 2032 (r1c) - (O)) / 2 │ │ │ │ │ +00015e90: 202b 2028 4f29 2025 206c 6162 656c 2070 + (O) % label p │ │ │ │ │ +00015ea0: 6f73 6974 696f 6e0a 2020 7370 6563 6961 osition. specia │ │ │ │ │ +00015eb0: 6c20 7c5c 666f 6f74 6e6f 7465 7369 7a65 l |\footnotesize │ │ │ │ │ +00015ec0: 5c72 7075 742a 2331 7b24 725f 3124 7d7c \rput*#1{$r_1$}| │ │ │ │ │ +00015ed0: 2872 316d 2920 2025 206c 6162 656c 0a0a (r1m) % label.. │ │ │ │ │ +00015ee0: 2020 2520 7361 6d65 2064 7269 6c6c 2066 % same drill f │ │ │ │ │ +00015ef0: 6f72 2072 302c 2062 7574 206d 7573 7420 or r0, but must │ │ │ │ │ +00015f00: 7072 6f6a 6563 7420 646f 776e 2066 6972 project down fir │ │ │ │ │ +00015f10: 7374 0a20 2064 6566 2075 7030 205b 302c st. def up0 [0, │ │ │ │ │ +00015f20: 322e 372c 305d 0a20 2064 6566 2072 3020 2.7,0]. def r0 │ │ │ │ │ +00015f30: 2828 7030 2920 7468 656e 2073 6361 6c65 ((p0) then scale │ │ │ │ │ +00015f40: 285b 312c 302c 315d 2920 7468 656e 205b ([1,0,1]) then [ │ │ │ │ │ +00015f50: 5b73 6567 5f72 6f74 5d5d 5e2d 3229 202b [seg_rot]]^-2) + │ │ │ │ │ +00015f60: 205b 7570 305d 0a20 2064 6566 2072 3063 [up0]. def r0c │ │ │ │ │ +00015f70: 2028 7230 2920 7468 656e 2073 6361 6c65 (r0) then scale │ │ │ │ │ +00015f80: 285b 4a5d 290a 2020 6465 6620 7230 7420 ([J]). def r0t │ │ │ │ │ +00015f90: 2872 3029 202b 205b 6761 705d 0a20 2064 (r0) + [gap]. d │ │ │ │ │ +00015fa0: 6566 2072 3062 2028 2870 3029 2074 6865 ef r0b ((p0) the │ │ │ │ │ +00015fb0: 6e20 5b5b 7365 675f 726f 745d 5d5e 2d32 n [[seg_rot]]^-2 │ │ │ │ │ +00015fc0: 2920 2b20 5b67 6170 5d0a 2020 6c69 6e65 ) + [gap]. line │ │ │ │ │ +00015fd0: 5b61 7272 6f77 733d 3c2d 3e5d 2872 3063 [arrows=<->](r0c │ │ │ │ │ +00015fe0: 2928 7230 290a 2020 6c69 6e65 2872 3062 )(r0). line(r0b │ │ │ │ │ +00015ff0: 2928 7230 7429 0a20 2064 6566 2072 306d )(r0t). def r0m │ │ │ │ │ +00016000: 2028 2872 3029 202d 2028 4f29 202b 2028 ((r0) - (O) + ( │ │ │ │ │ +00016010: 7230 6329 202d 2028 4f29 2920 2f20 3220 r0c) - (O)) / 2 │ │ │ │ │ +00016020: 2b20 284f 290a 2020 7370 6563 6961 6c20 + (O). special │ │ │ │ │ +00016030: 7c5c 666f 6f74 6e6f 7465 7369 7a65 5c72 |\footnotesize\r │ │ │ │ │ +00016040: 7075 742a 2331 7b24 725f 3024 7d7c 2872 put*#1{$r_0$}|(r │ │ │ │ │ +00016050: 306d 290a 0a20 2020 5468 6520 7365 636f 0m).. The seco │ │ │ │ │ +00016060: 6e64 2064 7261 7769 6e67 2075 7365 7320 nd drawing uses │ │ │ │ │ +00016070: 7468 6520 7361 6d65 2074 6563 686e 6971 the same techniq │ │ │ │ │ +00016080: 7565 732e 2020 4f6e 6c79 2074 6865 206d ues. Only the m │ │ │ │ │ +00016090: 6574 686f 6420 666f 720a 6472 6177 696e ethod for.drawin │ │ │ │ │ +000160a0: 6720 7468 6520 656c 6c69 7074 6963 616c g the elliptical │ │ │ │ │ +000160b0: 2061 7263 2069 7320 6e65 772e 2020 4865 arc is new. He │ │ │ │ │ +000160c0: 7265 2069 7320 7468 6520 636f 6465 2e0a re is the code.. │ │ │ │ │ +000160d0: 2020 6465 6620 6d69 6420 2828 7030 3029 def mid ((p00) │ │ │ │ │ +000160e0: 2d28 4f29 2b28 7031 3029 2d28 4f29 2b28 -(O)+(p10)-(O)+( │ │ │ │ │ +000160f0: 7031 3129 2d28 4f29 2b28 7030 3129 2d28 p11)-(O)+(p01)-( │ │ │ │ │ +00016100: 4f29 292f 342b 284f 290a 2020 7370 6563 O))/4+(O). spec │ │ │ │ │ +00016110: 6961 6c7c 5c72 7075 7423 317b 5c70 7363 ial|\rput#1{\psc │ │ │ │ │ +00016120: 7573 746f 6d7b 0a20 2020 205c 7363 616c ustom{. \scal │ │ │ │ │ +00016130: 657b 3120 312e 337d 0a20 2020 205c 7073 e{1 1.3}. \ps │ │ │ │ │ +00016140: 6172 635b 6172 726f 776c 656e 6774 683d arc[arrowlength= │ │ │ │ │ +00016150: 2e35 5d7b 2d3e 7d7b 2e32 357d 7b2d 3630 .5]{->}{.25}{-60 │ │ │ │ │ +00016160: 7d7b 3234 307d 7d7d 7c0a 2020 2020 5b6c }{240}}}|. [l │ │ │ │ │ +00016170: 6179 3d6f 7665 725d 286d 6964 290a 5765 ay=over](mid).We │ │ │ │ │ +00016180: 2063 6f75 6c64 2068 6176 6520 7377 6570 could have swep │ │ │ │ │ +00016190: 7420 6120 706f 696e 7420 746f 206d 616b t a point to mak │ │ │ │ │ +000161a0: 6520 7468 6520 6172 6320 7769 7468 20e2 e the arc with . │ │ │ │ │ +000161b0: 8098 736b 6574 6368 e280 992c 2062 7574 ..sketch..., but │ │ │ │ │ +000161c0: 2075 7369 6e67 2061 0ae2 8098 5053 5472 using a....PSTr │ │ │ │ │ +000161d0: 6963 6b73 e280 9920 6375 7374 6f6d 2067 icks... custom g │ │ │ │ │ +000161e0: 7261 7068 6963 2077 6173 2073 696d 706c raphic was simpl │ │ │ │ │ +000161f0: 6572 2e20 2041 6761 696e 2077 6520 636f er. Again we co │ │ │ │ │ +00016200: 6d70 7574 6564 2074 6865 2063 656e 7472 mputed the centr │ │ │ │ │ +00016210: 6f69 640a 6f66 2074 6865 2071 7561 6472 oid.of the quadr │ │ │ │ │ +00016220: 696c 6174 6572 616c 2062 7920 6176 6572 ilateral by aver │ │ │ │ │ +00016230: 6167 696e 6720 706f 696e 7473 2e20 204e aging points. N │ │ │ │ │ +00016240: 6f74 6520 7468 6174 2073 6361 6c69 6e67 ote that scaling │ │ │ │ │ +00016250: 2069 6e0a 506f 7374 7363 7269 7074 2064 in.Postscript d │ │ │ │ │ +00016260: 6973 746f 7274 7320 7468 6520 6172 726f istorts the arro │ │ │ │ │ +00016270: 7768 6561 642c 2062 7574 2069 6e20 7468 whead, but in th │ │ │ │ │ +00016280: 6973 2063 6173 6520 7468 6520 6469 7374 is case the dist │ │ │ │ │ +00016290: 6f72 7469 6f6e 0a61 6374 7561 6c6c 7920 ortion.actually │ │ │ │ │ +000162a0: 6c6f 6f6b 7320 6265 7474 6572 2069 6e20 looks better in │ │ │ │ │ +000162b0: 7468 6520 7072 6f6a 6563 7469 6f6e 206f the projection o │ │ │ │ │ +000162c0: 6620 7468 6520 736c 616e 7465 6420 6661 f the slanted fa │ │ │ │ │ +000162d0: 6365 2e20 2041 20e2 8098 736b 6574 6368 ce. A ...sketch │ │ │ │ │ +000162e0: e280 990a 6172 726f 7768 6561 6420 776f ....arrowhead wo │ │ │ │ │ +000162f0: 756c 6420 6e6f 7420 6861 7665 2062 6565 uld not have bee │ │ │ │ │ +00016300: 6e20 6469 7374 6f72 7465 642e 0a0a 2020 n distorted... │ │ │ │ │ +00016310: 2054 6865 2063 6f6d 706c 6574 6520 636f The complete co │ │ │ │ │ +00016320: 6465 2066 6f72 2074 6869 7320 6578 616d de for this exam │ │ │ │ │ +00016330: 706c 652c 2077 6869 6368 2064 7261 7773 ple, which draws │ │ │ │ │ +00016340: 2065 6974 6865 7220 6669 6775 7265 0a64 either figure.d │ │ │ │ │ +00016350: 6570 656e 6469 6e67 206f 6e20 7468 6520 epending on the │ │ │ │ │ +00016360: 6465 6669 6e69 7469 6f6e 206f 6620 7468 definition of th │ │ │ │ │ +00016370: 6520 7461 6720 e280 983c 6c61 6265 6c65 e tag ......, is includ │ │ │ │ │ +00016390: 6564 2069 6e20 7468 650a e280 9873 6b65 ed in the....ske │ │ │ │ │ +000163a0: 7463 68e2 8099 2064 6973 7472 6962 7574 tch... distribut │ │ │ │ │ +000163b0: 696f 6e20 696e 2074 6865 2066 696c 6520 ion in the file │ │ │ │ │ +000163c0: e280 9874 7275 6e63 6174 6564 636f 6e65 ...truncatedcone │ │ │ │ │ +000163d0: 2e73 6be2 8099 2e0a 0a1f 0a46 696c 653a .sk........File: │ │ │ │ │ +000163e0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +000163f0: 6f64 653a 2041 2068 6965 7261 7263 6869 ode: A hierarchi │ │ │ │ │ +00016400: 6361 6c20 6d6f 6465 6c2c 2020 4e65 7874 cal model, Next │ │ │ │ │ +00016410: 3a20 4361 7665 6174 732c 2020 5072 6576 : Caveats, Prev │ │ │ │ │ +00016420: 3a20 4120 7465 6368 6e69 6361 6c20 6472 : A technical dr │ │ │ │ │ +00016430: 6177 696e 672c 2020 5570 3a20 4275 696c awing, Up: Buil │ │ │ │ │ +00016440: 6469 6e67 2061 2064 7261 7769 6e67 0a0a ding a drawing.. │ │ │ │ │ +00016450: 342e 3320 4120 6869 6572 6172 6368 6963 4.3 A hierarchic │ │ │ │ │ +00016460: 616c 206d 6f64 656c 0a3d 3d3d 3d3d 3d3d al model.======= │ │ │ │ │ 00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -00016480: 3d3d 3d3d 3d0a 0a57 6869 6c65 20e2 8098 =====..While ... │ │ │ │ │ -00016490: 736b 6574 6368 e280 9920 7761 7320 6e65 sketch... was ne │ │ │ │ │ -000164a0: 7665 7220 6d65 616e 7420 746f 2062 6520 ver meant to be │ │ │ │ │ -000164b0: 6120 6765 6f6d 6574 7269 6320 6d6f 6465 a geometric mode │ │ │ │ │ -000164c0: 6c69 6e67 206c 616e 6775 6167 652c 2069 ling language, i │ │ │ │ │ -000164d0: 740a 636f 6d65 7320 6661 6972 6c79 2063 t.comes fairly c │ │ │ │ │ -000164e0: 6c6f 7365 2e20 2054 6865 2066 6f6c 6c6f lose. The follo │ │ │ │ │ -000164f0: 7769 6e67 2065 7861 6d70 6c65 2070 7574 wing example put │ │ │ │ │ -00016500: 7320 616c 6c20 7765 2068 6176 6520 7365 s all we have se │ │ │ │ │ -00016510: 656e 2074 6f20 776f 726b 0a69 6e20 6120 en to work.in a │ │ │ │ │ -00016520: 7665 7279 2073 696d 706c 6520 6d6f 6465 very simple mode │ │ │ │ │ -00016530: 6c20 6f66 2074 6865 2068 756d 616e 2068 l of the human h │ │ │ │ │ -00016540: 616e 642e 2020 5374 6172 7420 6279 2073 and. Start by s │ │ │ │ │ -00016550: 7765 6570 696e 6720 6120 6c69 6e65 2074 weeping a line t │ │ │ │ │ -00016560: 6f0a 6d61 6b65 2061 2074 7275 6e63 6174 o.make a truncat │ │ │ │ │ -00016570: 6564 2063 6f6e 652c 2077 6869 6368 2077 ed cone, which w │ │ │ │ │ -00016580: 696c 6c20 6265 2063 6f70 6965 6420 6f76 ill be copied ov │ │ │ │ │ -00016590: 6572 2061 6e64 206f 7665 7220 6167 6169 er and over agai │ │ │ │ │ -000165a0: 6e20 746f 206d 616b 650a 7468 6520 7365 n to make.the se │ │ │ │ │ -000165b0: 676d 656e 7473 206f 6620 6669 6e67 6572 gments of finger │ │ │ │ │ -000165c0: 732e 0a20 2064 6566 204f 2028 302c 302c s.. def O (0,0, │ │ │ │ │ -000165d0: 3029 2025 206f 7269 6769 6e0a 2020 6465 0) % origin. de │ │ │ │ │ -000165e0: 6620 4920 5b31 2c30 2c30 5d20 6465 6620 f I [1,0,0] def │ │ │ │ │ -000165f0: 4a20 5b30 2c31 2c30 5d20 6465 6620 4b20 J [0,1,0] def K │ │ │ │ │ -00016600: 5b30 2c30 2c31 5d20 2520 6361 6e6f 6e69 [0,0,1] % canoni │ │ │ │ │ -00016610: 6361 6c20 756e 6974 2076 6563 746f 7273 cal unit vectors │ │ │ │ │ -00016620: 0a20 2064 6566 2073 6567 6d65 6e74 207b . def segment { │ │ │ │ │ -00016630: 0a20 2020 2064 6566 206e 5f66 6163 6573 . def n_faces │ │ │ │ │ -00016640: 2038 0a20 2020 2073 7765 6570 207b 206e 8. sweep { n │ │ │ │ │ -00016650: 5f66 6163 6573 3c3e 2c20 726f 7461 7465 _faces<>, rotate │ │ │ │ │ -00016660: 2833 3630 202f 206e 5f66 6163 6573 2c20 (360 / n_faces, │ │ │ │ │ -00016670: 5b4a 5d29 207d 200a 2020 2020 2020 6c69 [J]) } . li │ │ │ │ │ -00016680: 6e65 2870 726f 7869 6d61 6c5f 7261 642c ne(proximal_rad, │ │ │ │ │ -00016690: 2030 2928 6469 7374 616c 5f72 6164 2c20 0)(distal_rad, │ │ │ │ │ -000166a0: 6469 7374 616c 5f6c 656e 290a 2020 7d0a distal_len). }. │ │ │ │ │ -000166b0: 496e 2068 616e 6420 616e 6174 6f6d 792c In hand anatomy, │ │ │ │ │ -000166c0: 205f 6469 7374 616c 5f20 6973 2022 6174 _distal_ is "at │ │ │ │ │ -000166d0: 2074 6865 2074 6970 2220 616e 6420 5f70 the tip" and _p │ │ │ │ │ -000166e0: 726f 7869 6d61 6c5f 2069 7320 2269 6e20 roximal_ is "in │ │ │ │ │ -000166f0: 7468 6520 6172 6561 0a6f 6620 7468 6520 the area.of the │ │ │ │ │ -00016700: 7061 6c6d 2e22 2020 5765 2068 6176 6520 palm." We have │ │ │ │ │ -00016710: 6f6d 6974 7465 6420 616c 6c20 7468 6520 omitted all the │ │ │ │ │ -00016720: 7363 616c 6172 2063 6f6e 7374 616e 7473 scalar constants │ │ │ │ │ -00016730: 2e20 2059 6f75 2063 616e 2066 696e 640a . You can find. │ │ │ │ │ -00016740: 7468 656d 2069 6e20 e280 9868 616e 642e them in ...hand. │ │ │ │ │ -00016750: 736b e280 992c 2077 6869 6368 2069 7320 sk..., which is │ │ │ │ │ -00016760: 7072 6f76 6964 6564 2069 6e20 7468 6520 provided in the │ │ │ │ │ -00016770: e280 9873 6b65 7463 68e2 8099 2064 6973 ...sketch... dis │ │ │ │ │ -00016780: 7472 6962 7574 696f 6e2e 0a0a 2020 2057 tribution... W │ │ │ │ │ -00016790: 6520 616c 736f 206e 6565 6420 6120 7072 e also need a pr │ │ │ │ │ -000167a0: 6f74 6f74 7970 6963 616c 2073 7068 6572 ototypical spher │ │ │ │ │ -000167b0: 6520 746f 2075 7365 2066 6f72 2074 6865 e to use for the │ │ │ │ │ -000167c0: 206a 6f69 6e74 7320 7468 656d 7365 6c76 joints themselv │ │ │ │ │ -000167d0: 6573 2e0a 2020 6465 6620 6a6f 696e 745f es.. def joint_ │ │ │ │ │ -000167e0: 7370 6865 7265 207b 0a20 2020 2064 6566 sphere {. def │ │ │ │ │ -000167f0: 206e 5f6a 6f69 6e74 5f66 6163 6573 2038 n_joint_faces 8 │ │ │ │ │ -00016800: 0a20 2020 2073 7765 6570 205b 6669 6c6c . sweep [fill │ │ │ │ │ -00016810: 636f 6c6f 723d 7265 645d 207b 206e 5f6a color=red] { n_j │ │ │ │ │ -00016820: 6f69 6e74 5f66 6163 6573 2c20 726f 7461 oint_faces, rota │ │ │ │ │ -00016830: 7465 2833 3630 202f 206e 5f6a 6f69 6e74 te(360 / n_joint │ │ │ │ │ -00016840: 5f66 6163 6573 2c20 5b4a 5d29 207d 0a20 _faces, [J]) }. │ │ │ │ │ -00016850: 2020 2020 2073 7765 6570 207b 206e 5f6a sweep { n_j │ │ │ │ │ -00016860: 6f69 6e74 5f66 6163 6573 2c20 726f 7461 oint_faces, rota │ │ │ │ │ -00016870: 7465 2831 3830 202f 206e 5f6a 6f69 6e74 te(180 / n_joint │ │ │ │ │ -00016880: 5f66 6163 6573 2920 7d20 0a20 2020 2020 _faces) } . │ │ │ │ │ -00016890: 2020 2028 302c 202d 6a6f 696e 745f 7261 (0, -joint_ra │ │ │ │ │ -000168a0: 6429 0a20 207d 0a0a 2020 2057 6527 6c6c d). }.. We'll │ │ │ │ │ -000168b0: 206e 6f77 2064 6573 6967 6e20 7468 6520 now design the │ │ │ │ │ -000168c0: 696e 6465 7820 6669 6e67 6572 2028 6e75 index finger (nu │ │ │ │ │ -000168d0: 6d62 6572 2031 2069 6e20 6f75 7220 6e6f mber 1 in our no │ │ │ │ │ -000168e0: 7461 7469 6f6e 616c 0a63 6f6e 7665 6e74 tational.convent │ │ │ │ │ -000168f0: 696f 6e3b 2066 696e 6765 7220 3020 6973 ion; finger 0 is │ │ │ │ │ -00016900: 2074 6865 2074 6875 6d62 292e 2020 5468 the thumb). Th │ │ │ │ │ -00016910: 6520 6469 7374 616c 2072 6f74 6174 696f e distal rotatio │ │ │ │ │ -00016920: 6e20 666f 7220 7468 6520 6669 6e67 6572 n for the finger │ │ │ │ │ -00016930: 0a61 7070 6c69 6573 206f 6e6c 7920 746f .applies only to │ │ │ │ │ -00016940: 2074 6865 2074 6970 2c20 736f 2077 6520 the tip, so we │ │ │ │ │ -00016950: 6465 6669 6e65 2074 6865 2066 6f6c 6c6f define the follo │ │ │ │ │ -00016960: 7769 6e67 2e0a 2020 6465 6620 6469 7374 wing.. def dist │ │ │ │ │ -00016970: 616c 5f31 207b 0a20 2020 2070 7574 207b al_1 {. put { │ │ │ │ │ -00016980: 2074 7261 6e73 6c61 7465 286a 6f69 6e74 translate(joint │ │ │ │ │ -00016990: 5f67 6170 202a 206a 6f69 6e74 5f72 6164 _gap * joint_rad │ │ │ │ │ -000169a0: 202a 205b 4a5d 2920 0a20 2020 2020 2020 * [J]) . │ │ │ │ │ -000169b0: 2020 2074 6865 6e20 726f 7461 7465 2864 then rotate(d │ │ │ │ │ -000169c0: 6973 7461 6c5f 315f 726f 742c 205b 495d istal_1_rot, [I] │ │ │ │ │ -000169d0: 2920 0a20 2020 2020 2020 2020 2074 6865 ) . the │ │ │ │ │ -000169e0: 6e20 7472 616e 736c 6174 6528 2864 6973 n translate((dis │ │ │ │ │ -000169f0: 7461 6c5f 6c65 6e20 2b20 6a6f 696e 745f tal_len + joint_ │ │ │ │ │ -00016a00: 6761 7020 2a20 6a6f 696e 745f 7261 6429 gap * joint_rad) │ │ │ │ │ -00016a10: 202a 205b 4a5d 2920 7d0a 2020 2020 2020 * [J]) }. │ │ │ │ │ -00016a20: 7b73 6567 6d65 6e74 7d0a 2020 2020 7075 {segment}. pu │ │ │ │ │ -00016a30: 7420 7b20 726f 7461 7465 2864 6973 7461 t { rotate(dista │ │ │ │ │ -00016a40: 6c5f 315f 726f 7420 2f20 322c 205b 495d l_1_rot / 2, [I] │ │ │ │ │ -00016a50: 290a 2020 2020 2020 2020 2020 7468 656e ). then │ │ │ │ │ -00016a60: 2074 7261 6e73 6c61 7465 2828 6469 7374 translate((dist │ │ │ │ │ -00016a70: 616c 5f6c 656e 202b 206a 6f69 6e74 5f67 al_len + joint_g │ │ │ │ │ -00016a80: 6170 202a 206a 6f69 6e74 5f72 6164 2920 ap * joint_rad) │ │ │ │ │ -00016a90: 2a20 5b4a 5d29 207d 200a 2020 2020 2020 * [J]) } . │ │ │ │ │ -00016aa0: 7b6a 6f69 6e74 5f73 7068 6572 657d 0a20 {joint_sphere}. │ │ │ │ │ -00016ab0: 2020 2070 7574 207b 2073 6361 6c65 2820 put { scale( │ │ │ │ │ -00016ac0: 5b4a 5d20 2b20 7072 6f78 696d 616c 5f64 [J] + proximal_d │ │ │ │ │ -00016ad0: 6973 7461 6c5f 7261 7469 6f20 2a20 285b istal_ratio * ([ │ │ │ │ │ -00016ae0: 495d 2b5b 4b5d 2920 2920 7d0a 2020 2020 I]+[K]) ) }. │ │ │ │ │ -00016af0: 2020 7b73 6567 6d65 6e74 7d0a 2020 7d20 {segment}. } │ │ │ │ │ -00016b00: 200a 5468 6520 6964 656e 7469 6669 6572 .The identifier │ │ │ │ │ -00016b10: 7320 6865 7265 2061 7265 2066 6f72 2073 s here are for s │ │ │ │ │ -00016b20: 697a 6520 616e 6420 6c6f 6361 7469 6f6e ize and location │ │ │ │ │ -00016b30: 2063 6f6e 7374 616e 7473 2e20 2054 6865 constants. The │ │ │ │ │ -00016b40: 2065 7863 6570 7469 6f6e 0a69 7320 e280 exception.is .. │ │ │ │ │ -00016b50: 9864 6973 7461 6c5f 726f 745f 31e2 8099 .distal_rot_1... │ │ │ │ │ -00016b60: 2e20 2054 6869 7320 726f 7461 7469 6f6e . This rotation │ │ │ │ │ -00016b70: 2070 6172 616d 6574 6572 206d 6f64 656c parameter model │ │ │ │ │ -00016b80: 7320 7468 6520 666c 6578 696e 6720 6f66 s the flexing of │ │ │ │ │ -00016b90: 2074 6865 0a66 696e 6765 7220 7469 702e the.finger tip. │ │ │ │ │ -00016ba0: 2020 5468 6520 6669 7273 7420 e280 9870 The first ...p │ │ │ │ │ -00016bb0: 7574 e280 9920 6d61 6b65 7320 6120 636f ut... makes a co │ │ │ │ │ -00016bc0: 7079 206f 6620 7468 6520 6669 6e67 6572 py of the finger │ │ │ │ │ -00016bd0: 2073 6567 6d65 6e74 2074 6861 7420 6973 segment that is │ │ │ │ │ -00016be0: 0a74 7261 6e73 6c61 7465 6420 7570 7761 .translated upwa │ │ │ │ │ -00016bf0: 7264 206a 7573 7420 6661 7220 656e 6f75 rd just far enou │ │ │ │ │ -00016c00: 6768 2074 6f20 6d61 6b65 2072 6f6f 6d20 gh to make room │ │ │ │ │ -00016c10: 666f 7220 7468 6520 7370 6865 7269 6361 for the spherica │ │ │ │ │ -00016c20: 6c20 6a6f 696e 742e 0a54 6865 6e20 6974 l joint..Then it │ │ │ │ │ -00016c30: 2061 7070 6c69 6573 2074 6865 2064 6973 applies the dis │ │ │ │ │ -00016c40: 7461 6c20 726f 7461 7469 6f6e 2e20 2046 tal rotation. F │ │ │ │ │ -00016c50: 696e 616c 6c79 2069 7420 7472 616e 736c inally it transl │ │ │ │ │ -00016c60: 6174 6573 2074 6865 2077 686f 6c65 0a61 ates the whole.a │ │ │ │ │ -00016c70: 7373 656d 626c 7920 7570 7761 7264 2061 ssembly upward a │ │ │ │ │ -00016c80: 6761 696e 2074 6f20 6d61 6b65 2072 6f6f gain to make roo │ │ │ │ │ -00016c90: 6d20 666f 7220 7468 6520 6d69 6464 6c65 m for the middle │ │ │ │ │ -00016ca0: 2070 686c 616e 6765 7320 2874 6865 206e phlanges (the n │ │ │ │ │ -00016cb0: 6578 740a 626f 6e65 2074 6f77 6172 6420 ext.bone toward │ │ │ │ │ -00016cc0: 7468 6520 7061 6c6d 292e 2020 5468 6520 the palm). The │ │ │ │ │ -00016cd0: 7365 636f 6e64 20e2 8098 7075 74e2 8099 second ...put... │ │ │ │ │ -00016ce0: 2070 6f73 6974 696f 6e73 2074 6865 2073 positions the s │ │ │ │ │ -00016cf0: 7068 6572 652e 2020 5468 6572 6520 6973 phere. There is │ │ │ │ │ -00016d00: 0a61 2072 6f74 6174 696f 6e20 746f 2070 .a rotation to p │ │ │ │ │ -00016d10: 6c61 6365 2074 6865 2067 7269 6420 6f6e lace the grid on │ │ │ │ │ -00016d20: 2074 6865 2073 7068 6572 6520 7375 7266 the sphere surf │ │ │ │ │ -00016d30: 6163 6520 6174 2061 6e20 6e69 6365 2061 ace at an nice a │ │ │ │ │ -00016d40: 6e67 6c65 2c0a 7468 656e 2061 2074 7261 ngle,.then a tra │ │ │ │ │ -00016d50: 6e73 6c61 7469 6f6e 2074 6f20 7468 6520 nslation to the │ │ │ │ │ -00016d60: 6261 7365 206f 6620 7468 6520 6469 7374 base of the dist │ │ │ │ │ -00016d70: 616c 2070 686c 616e 6765 732c 2077 6869 al phlanges, whi │ │ │ │ │ -00016d80: 6368 2069 7320 616c 736f 0a63 656e 7465 ch is also.cente │ │ │ │ │ -00016d90: 7220 6f66 2069 7473 2072 6f74 6174 696f r of its rotatio │ │ │ │ │ -00016da0: 6e2e 2020 4669 6e61 6c6c 792c 2074 6865 n. Finally, the │ │ │ │ │ -00016db0: 206c 6173 7420 e280 9870 7574 e280 9920 last ...put... │ │ │ │ │ -00016dc0: 706f 7369 7469 6f6e 7320 7468 6520 6d69 positions the mi │ │ │ │ │ -00016dd0: 6464 6c65 0a73 6567 6d65 6e74 2069 7473 ddle.segment its │ │ │ │ │ -00016de0: 656c 662e 0a0a 2020 2054 6865 206d 6964 elf... The mid │ │ │ │ │ -00016df0: 646c 6520 6a6f 696e 7420 6973 2074 6865 dle joint is the │ │ │ │ │ -00016e00: 206e 6578 7420 6f6e 6520 646f 776e 2c20 next one down, │ │ │ │ │ -00016e10: 7769 7468 2072 6f74 6174 696f 6e20 616e with rotation an │ │ │ │ │ -00016e20: 676c 650a e280 986d 6964 646c 655f 726f gle....middle_ro │ │ │ │ │ -00016e30: 745f 31e2 8099 2e20 2057 6865 6e20 7468 t_1.... When th │ │ │ │ │ -00016e40: 6973 2061 6e67 6c65 2063 6861 6e67 6573 is angle changes │ │ │ │ │ -00016e50: 2c20 7765 206e 6565 6420 616c 6c20 7468 , we need all th │ │ │ │ │ -00016e60: 6520 6f62 6a65 6374 7320 696e 0ae2 8098 e objects in.... │ │ │ │ │ -00016e70: 6469 7374 616c 5f31 e280 9920 746f 2072 distal_1... to r │ │ │ │ │ -00016e80: 6f74 6174 6520 6173 2061 2075 6e69 742e otate as a unit. │ │ │ │ │ -00016e90: 2020 5468 6973 2069 7320 7468 6520 7265 This is the re │ │ │ │ │ -00016ea0: 6173 6f6e 696e 6720 6265 6869 6e64 2074 asoning behind t │ │ │ │ │ -00016eb0: 6865 206e 6578 740a 6465 6669 6e69 7469 he next.definiti │ │ │ │ │ -00016ec0: 6f6e 2e0a 2020 6465 6620 6669 6e67 6572 on.. def finger │ │ │ │ │ -00016ed0: 5f31 207b 0a20 2020 2070 7574 207b 2074 _1 {. put { t │ │ │ │ │ -00016ee0: 7261 6e73 6c61 7465 286a 6f69 6e74 5f67 ranslate(joint_g │ │ │ │ │ -00016ef0: 6170 202a 206a 6f69 6e74 5f72 6164 202a ap * joint_rad * │ │ │ │ │ -00016f00: 205b 4a5d 290a 2020 2020 2020 2020 2020 [J]). │ │ │ │ │ -00016f10: 7468 656e 2072 6f74 6174 6528 6d69 6464 then rotate(midd │ │ │ │ │ -00016f20: 6c65 5f31 5f72 6f74 2c20 5b49 5d29 0a20 le_1_rot, [I]). │ │ │ │ │ -00016f30: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr │ │ │ │ │ -00016f40: 616e 736c 6174 6528 286d 6964 646c 655f anslate((middle_ │ │ │ │ │ -00016f50: 7261 7469 6f20 2a20 6469 7374 616c 5f6c ratio * distal_l │ │ │ │ │ -00016f60: 656e 202b 200a 2020 2020 2020 2020 2020 en + . │ │ │ │ │ -00016f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00016f80: 6a6f 696e 745f 6761 7020 2a20 6a6f 696e joint_gap * join │ │ │ │ │ -00016f90: 745f 7261 6429 202a 205b 4a5d 2920 7d0a t_rad) * [J]) }. │ │ │ │ │ -00016fa0: 2020 2020 2020 7b64 6973 7461 6c5f 317d {distal_1} │ │ │ │ │ -00016fb0: 0a20 2020 2070 7574 207b 2073 6361 6c65 . put { scale │ │ │ │ │ -00016fc0: 2870 726f 7869 6d61 6c5f 6469 7374 616c (proximal_distal │ │ │ │ │ -00016fd0: 5f72 6174 696f 290a 2020 2020 2020 2020 _ratio). │ │ │ │ │ -00016fe0: 2020 7468 656e 2072 6f74 6174 6528 6d69 then rotate(mi │ │ │ │ │ -00016ff0: 6464 6c65 5f31 5f72 6f74 202f 2032 2c20 ddle_1_rot / 2, │ │ │ │ │ -00017000: 5b49 5d29 0a20 2020 2020 2020 2020 2074 [I]). t │ │ │ │ │ -00017010: 6865 6e20 7472 616e 736c 6174 6528 286d hen translate((m │ │ │ │ │ -00017020: 6964 646c 655f 7261 7469 6f20 2a20 6469 iddle_ratio * di │ │ │ │ │ -00017030: 7374 616c 5f6c 656e 202b 200a 2020 2020 stal_len + . │ │ │ │ │ +00016480: 3d0a 0a57 6869 6c65 20e2 8098 736b 6574 =..While ...sket │ │ │ │ │ +00016490: 6368 e280 9920 7761 7320 6e65 7665 7220 ch... was never │ │ │ │ │ +000164a0: 6d65 616e 7420 746f 2062 6520 6120 6765 meant to be a ge │ │ │ │ │ +000164b0: 6f6d 6574 7269 6320 6d6f 6465 6c69 6e67 ometric modeling │ │ │ │ │ +000164c0: 206c 616e 6775 6167 652c 2069 740a 636f language, it.co │ │ │ │ │ +000164d0: 6d65 7320 6661 6972 6c79 2063 6c6f 7365 mes fairly close │ │ │ │ │ +000164e0: 2e20 2054 6865 2066 6f6c 6c6f 7769 6e67 . The following │ │ │ │ │ +000164f0: 2065 7861 6d70 6c65 2070 7574 7320 616c example puts al │ │ │ │ │ +00016500: 6c20 7765 2068 6176 6520 7365 656e 2074 l we have seen t │ │ │ │ │ +00016510: 6f20 776f 726b 0a69 6e20 6120 7665 7279 o work.in a very │ │ │ │ │ +00016520: 2073 696d 706c 6520 6d6f 6465 6c20 6f66 simple model of │ │ │ │ │ +00016530: 2074 6865 2068 756d 616e 2068 616e 642e the human hand. │ │ │ │ │ +00016540: 2020 5374 6172 7420 6279 2073 7765 6570 Start by sweep │ │ │ │ │ +00016550: 696e 6720 6120 6c69 6e65 2074 6f0a 6d61 ing a line to.ma │ │ │ │ │ +00016560: 6b65 2061 2074 7275 6e63 6174 6564 2063 ke a truncated c │ │ │ │ │ +00016570: 6f6e 652c 2077 6869 6368 2077 696c 6c20 one, which will │ │ │ │ │ +00016580: 6265 2063 6f70 6965 6420 6f76 6572 2061 be copied over a │ │ │ │ │ +00016590: 6e64 206f 7665 7220 6167 6169 6e20 746f nd over again to │ │ │ │ │ +000165a0: 206d 616b 650a 7468 6520 7365 676d 656e make.the segmen │ │ │ │ │ +000165b0: 7473 206f 6620 6669 6e67 6572 732e 0a20 ts of fingers.. │ │ │ │ │ +000165c0: 2064 6566 204f 2028 302c 302c 3029 2025 def O (0,0,0) % │ │ │ │ │ +000165d0: 206f 7269 6769 6e0a 2020 6465 6620 4920 origin. def I │ │ │ │ │ +000165e0: 5b31 2c30 2c30 5d20 6465 6620 4a20 5b30 [1,0,0] def J [0 │ │ │ │ │ +000165f0: 2c31 2c30 5d20 6465 6620 4b20 5b30 2c30 ,1,0] def K [0,0 │ │ │ │ │ +00016600: 2c31 5d20 2520 6361 6e6f 6e69 6361 6c20 ,1] % canonical │ │ │ │ │ +00016610: 756e 6974 2076 6563 746f 7273 0a20 2064 unit vectors. d │ │ │ │ │ +00016620: 6566 2073 6567 6d65 6e74 207b 0a20 2020 ef segment {. │ │ │ │ │ +00016630: 2064 6566 206e 5f66 6163 6573 2038 0a20 def n_faces 8. │ │ │ │ │ +00016640: 2020 2073 7765 6570 207b 206e 5f66 6163 sweep { n_fac │ │ │ │ │ +00016650: 6573 3c3e 2c20 726f 7461 7465 2833 3630 es<>, rotate(360 │ │ │ │ │ +00016660: 202f 206e 5f66 6163 6573 2c20 5b4a 5d29 / n_faces, [J]) │ │ │ │ │ +00016670: 207d 200a 2020 2020 2020 6c69 6e65 2870 } . line(p │ │ │ │ │ +00016680: 726f 7869 6d61 6c5f 7261 642c 2030 2928 roximal_rad, 0)( │ │ │ │ │ +00016690: 6469 7374 616c 5f72 6164 2c20 6469 7374 distal_rad, dist │ │ │ │ │ +000166a0: 616c 5f6c 656e 290a 2020 7d0a 496e 2068 al_len). }.In h │ │ │ │ │ +000166b0: 616e 6420 616e 6174 6f6d 792c 205f 6469 and anatomy, _di │ │ │ │ │ +000166c0: 7374 616c 5f20 6973 2022 6174 2074 6865 stal_ is "at the │ │ │ │ │ +000166d0: 2074 6970 2220 616e 6420 5f70 726f 7869 tip" and _proxi │ │ │ │ │ +000166e0: 6d61 6c5f 2069 7320 2269 6e20 7468 6520 mal_ is "in the │ │ │ │ │ +000166f0: 6172 6561 0a6f 6620 7468 6520 7061 6c6d area.of the palm │ │ │ │ │ +00016700: 2e22 2020 5765 2068 6176 6520 6f6d 6974 ." We have omit │ │ │ │ │ +00016710: 7465 6420 616c 6c20 7468 6520 7363 616c ted all the scal │ │ │ │ │ +00016720: 6172 2063 6f6e 7374 616e 7473 2e20 2059 ar constants. Y │ │ │ │ │ +00016730: 6f75 2063 616e 2066 696e 640a 7468 656d ou can find.them │ │ │ │ │ +00016740: 2069 6e20 e280 9868 616e 642e 736b e280 in ...hand.sk.. │ │ │ │ │ +00016750: 992c 2077 6869 6368 2069 7320 7072 6f76 ., which is prov │ │ │ │ │ +00016760: 6964 6564 2069 6e20 7468 6520 e280 9873 ided in the ...s │ │ │ │ │ +00016770: 6b65 7463 68e2 8099 2064 6973 7472 6962 ketch... distrib │ │ │ │ │ +00016780: 7574 696f 6e2e 0a0a 2020 2057 6520 616c ution... We al │ │ │ │ │ +00016790: 736f 206e 6565 6420 6120 7072 6f74 6f74 so need a protot │ │ │ │ │ +000167a0: 7970 6963 616c 2073 7068 6572 6520 746f ypical sphere to │ │ │ │ │ +000167b0: 2075 7365 2066 6f72 2074 6865 206a 6f69 use for the joi │ │ │ │ │ +000167c0: 6e74 7320 7468 656d 7365 6c76 6573 2e0a nts themselves.. │ │ │ │ │ +000167d0: 2020 6465 6620 6a6f 696e 745f 7370 6865 def joint_sphe │ │ │ │ │ +000167e0: 7265 207b 0a20 2020 2064 6566 206e 5f6a re {. def n_j │ │ │ │ │ +000167f0: 6f69 6e74 5f66 6163 6573 2038 0a20 2020 oint_faces 8. │ │ │ │ │ +00016800: 2073 7765 6570 205b 6669 6c6c 636f 6c6f sweep [fillcolo │ │ │ │ │ +00016810: 723d 7265 645d 207b 206e 5f6a 6f69 6e74 r=red] { n_joint │ │ │ │ │ +00016820: 5f66 6163 6573 2c20 726f 7461 7465 2833 _faces, rotate(3 │ │ │ │ │ +00016830: 3630 202f 206e 5f6a 6f69 6e74 5f66 6163 60 / n_joint_fac │ │ │ │ │ +00016840: 6573 2c20 5b4a 5d29 207d 0a20 2020 2020 es, [J]) }. │ │ │ │ │ +00016850: 2073 7765 6570 207b 206e 5f6a 6f69 6e74 sweep { n_joint │ │ │ │ │ +00016860: 5f66 6163 6573 2c20 726f 7461 7465 2831 _faces, rotate(1 │ │ │ │ │ +00016870: 3830 202f 206e 5f6a 6f69 6e74 5f66 6163 80 / n_joint_fac │ │ │ │ │ +00016880: 6573 2920 7d20 0a20 2020 2020 2020 2028 es) } . ( │ │ │ │ │ +00016890: 302c 202d 6a6f 696e 745f 7261 6429 0a20 0, -joint_rad). │ │ │ │ │ +000168a0: 207d 0a0a 2020 2057 6527 6c6c 206e 6f77 }.. We'll now │ │ │ │ │ +000168b0: 2064 6573 6967 6e20 7468 6520 696e 6465 design the inde │ │ │ │ │ +000168c0: 7820 6669 6e67 6572 2028 6e75 6d62 6572 x finger (number │ │ │ │ │ +000168d0: 2031 2069 6e20 6f75 7220 6e6f 7461 7469 1 in our notati │ │ │ │ │ +000168e0: 6f6e 616c 0a63 6f6e 7665 6e74 696f 6e3b onal.convention; │ │ │ │ │ +000168f0: 2066 696e 6765 7220 3020 6973 2074 6865 finger 0 is the │ │ │ │ │ +00016900: 2074 6875 6d62 292e 2020 5468 6520 6469 thumb). The di │ │ │ │ │ +00016910: 7374 616c 2072 6f74 6174 696f 6e20 666f stal rotation fo │ │ │ │ │ +00016920: 7220 7468 6520 6669 6e67 6572 0a61 7070 r the finger.app │ │ │ │ │ +00016930: 6c69 6573 206f 6e6c 7920 746f 2074 6865 lies only to the │ │ │ │ │ +00016940: 2074 6970 2c20 736f 2077 6520 6465 6669 tip, so we defi │ │ │ │ │ +00016950: 6e65 2074 6865 2066 6f6c 6c6f 7769 6e67 ne the following │ │ │ │ │ +00016960: 2e0a 2020 6465 6620 6469 7374 616c 5f31 .. def distal_1 │ │ │ │ │ +00016970: 207b 0a20 2020 2070 7574 207b 2074 7261 {. put { tra │ │ │ │ │ +00016980: 6e73 6c61 7465 286a 6f69 6e74 5f67 6170 nslate(joint_gap │ │ │ │ │ +00016990: 202a 206a 6f69 6e74 5f72 6164 202a 205b * joint_rad * [ │ │ │ │ │ +000169a0: 4a5d 2920 0a20 2020 2020 2020 2020 2074 J]) . t │ │ │ │ │ +000169b0: 6865 6e20 726f 7461 7465 2864 6973 7461 hen rotate(dista │ │ │ │ │ +000169c0: 6c5f 315f 726f 742c 205b 495d 2920 0a20 l_1_rot, [I]) . │ │ │ │ │ +000169d0: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr │ │ │ │ │ +000169e0: 616e 736c 6174 6528 2864 6973 7461 6c5f anslate((distal_ │ │ │ │ │ +000169f0: 6c65 6e20 2b20 6a6f 696e 745f 6761 7020 len + joint_gap │ │ │ │ │ +00016a00: 2a20 6a6f 696e 745f 7261 6429 202a 205b * joint_rad) * [ │ │ │ │ │ +00016a10: 4a5d 2920 7d0a 2020 2020 2020 7b73 6567 J]) }. {seg │ │ │ │ │ +00016a20: 6d65 6e74 7d0a 2020 2020 7075 7420 7b20 ment}. put { │ │ │ │ │ +00016a30: 726f 7461 7465 2864 6973 7461 6c5f 315f rotate(distal_1_ │ │ │ │ │ +00016a40: 726f 7420 2f20 322c 205b 495d 290a 2020 rot / 2, [I]). │ │ │ │ │ +00016a50: 2020 2020 2020 2020 7468 656e 2074 7261 then tra │ │ │ │ │ +00016a60: 6e73 6c61 7465 2828 6469 7374 616c 5f6c nslate((distal_l │ │ │ │ │ +00016a70: 656e 202b 206a 6f69 6e74 5f67 6170 202a en + joint_gap * │ │ │ │ │ +00016a80: 206a 6f69 6e74 5f72 6164 2920 2a20 5b4a joint_rad) * [J │ │ │ │ │ +00016a90: 5d29 207d 200a 2020 2020 2020 7b6a 6f69 ]) } . {joi │ │ │ │ │ +00016aa0: 6e74 5f73 7068 6572 657d 0a20 2020 2070 nt_sphere}. p │ │ │ │ │ +00016ab0: 7574 207b 2073 6361 6c65 2820 5b4a 5d20 ut { scale( [J] │ │ │ │ │ +00016ac0: 2b20 7072 6f78 696d 616c 5f64 6973 7461 + proximal_dista │ │ │ │ │ +00016ad0: 6c5f 7261 7469 6f20 2a20 285b 495d 2b5b l_ratio * ([I]+[ │ │ │ │ │ +00016ae0: 4b5d 2920 2920 7d0a 2020 2020 2020 7b73 K]) ) }. {s │ │ │ │ │ +00016af0: 6567 6d65 6e74 7d0a 2020 7d20 200a 5468 egment}. } .Th │ │ │ │ │ +00016b00: 6520 6964 656e 7469 6669 6572 7320 6865 e identifiers he │ │ │ │ │ +00016b10: 7265 2061 7265 2066 6f72 2073 697a 6520 re are for size │ │ │ │ │ +00016b20: 616e 6420 6c6f 6361 7469 6f6e 2063 6f6e and location con │ │ │ │ │ +00016b30: 7374 616e 7473 2e20 2054 6865 2065 7863 stants. The exc │ │ │ │ │ +00016b40: 6570 7469 6f6e 0a69 7320 e280 9864 6973 eption.is ...dis │ │ │ │ │ +00016b50: 7461 6c5f 726f 745f 31e2 8099 2e20 2054 tal_rot_1.... T │ │ │ │ │ +00016b60: 6869 7320 726f 7461 7469 6f6e 2070 6172 his rotation par │ │ │ │ │ +00016b70: 616d 6574 6572 206d 6f64 656c 7320 7468 ameter models th │ │ │ │ │ +00016b80: 6520 666c 6578 696e 6720 6f66 2074 6865 e flexing of the │ │ │ │ │ +00016b90: 0a66 696e 6765 7220 7469 702e 2020 5468 .finger tip. Th │ │ │ │ │ +00016ba0: 6520 6669 7273 7420 e280 9870 7574 e280 e first ...put.. │ │ │ │ │ +00016bb0: 9920 6d61 6b65 7320 6120 636f 7079 206f . makes a copy o │ │ │ │ │ +00016bc0: 6620 7468 6520 6669 6e67 6572 2073 6567 f the finger seg │ │ │ │ │ +00016bd0: 6d65 6e74 2074 6861 7420 6973 0a74 7261 ment that is.tra │ │ │ │ │ +00016be0: 6e73 6c61 7465 6420 7570 7761 7264 206a nslated upward j │ │ │ │ │ +00016bf0: 7573 7420 6661 7220 656e 6f75 6768 2074 ust far enough t │ │ │ │ │ +00016c00: 6f20 6d61 6b65 2072 6f6f 6d20 666f 7220 o make room for │ │ │ │ │ +00016c10: 7468 6520 7370 6865 7269 6361 6c20 6a6f the spherical jo │ │ │ │ │ +00016c20: 696e 742e 0a54 6865 6e20 6974 2061 7070 int..Then it app │ │ │ │ │ +00016c30: 6c69 6573 2074 6865 2064 6973 7461 6c20 lies the distal │ │ │ │ │ +00016c40: 726f 7461 7469 6f6e 2e20 2046 696e 616c rotation. Final │ │ │ │ │ +00016c50: 6c79 2069 7420 7472 616e 736c 6174 6573 ly it translates │ │ │ │ │ +00016c60: 2074 6865 2077 686f 6c65 0a61 7373 656d the whole.assem │ │ │ │ │ +00016c70: 626c 7920 7570 7761 7264 2061 6761 696e bly upward again │ │ │ │ │ +00016c80: 2074 6f20 6d61 6b65 2072 6f6f 6d20 666f to make room fo │ │ │ │ │ +00016c90: 7220 7468 6520 6d69 6464 6c65 2070 686c r the middle phl │ │ │ │ │ +00016ca0: 616e 6765 7320 2874 6865 206e 6578 740a anges (the next. │ │ │ │ │ +00016cb0: 626f 6e65 2074 6f77 6172 6420 7468 6520 bone toward the │ │ │ │ │ +00016cc0: 7061 6c6d 292e 2020 5468 6520 7365 636f palm). The seco │ │ │ │ │ +00016cd0: 6e64 20e2 8098 7075 74e2 8099 2070 6f73 nd ...put... pos │ │ │ │ │ +00016ce0: 6974 696f 6e73 2074 6865 2073 7068 6572 itions the spher │ │ │ │ │ +00016cf0: 652e 2020 5468 6572 6520 6973 0a61 2072 e. There is.a r │ │ │ │ │ +00016d00: 6f74 6174 696f 6e20 746f 2070 6c61 6365 otation to place │ │ │ │ │ +00016d10: 2074 6865 2067 7269 6420 6f6e 2074 6865 the grid on the │ │ │ │ │ +00016d20: 2073 7068 6572 6520 7375 7266 6163 6520 sphere surface │ │ │ │ │ +00016d30: 6174 2061 6e20 6e69 6365 2061 6e67 6c65 at an nice angle │ │ │ │ │ +00016d40: 2c0a 7468 656e 2061 2074 7261 6e73 6c61 ,.then a transla │ │ │ │ │ +00016d50: 7469 6f6e 2074 6f20 7468 6520 6261 7365 tion to the base │ │ │ │ │ +00016d60: 206f 6620 7468 6520 6469 7374 616c 2070 of the distal p │ │ │ │ │ +00016d70: 686c 616e 6765 732c 2077 6869 6368 2069 hlanges, which i │ │ │ │ │ +00016d80: 7320 616c 736f 0a63 656e 7465 7220 6f66 s also.center of │ │ │ │ │ +00016d90: 2069 7473 2072 6f74 6174 696f 6e2e 2020 its rotation. │ │ │ │ │ +00016da0: 4669 6e61 6c6c 792c 2074 6865 206c 6173 Finally, the las │ │ │ │ │ +00016db0: 7420 e280 9870 7574 e280 9920 706f 7369 t ...put... posi │ │ │ │ │ +00016dc0: 7469 6f6e 7320 7468 6520 6d69 6464 6c65 tions the middle │ │ │ │ │ +00016dd0: 0a73 6567 6d65 6e74 2069 7473 656c 662e .segment itself. │ │ │ │ │ +00016de0: 0a0a 2020 2054 6865 206d 6964 646c 6520 .. The middle │ │ │ │ │ +00016df0: 6a6f 696e 7420 6973 2074 6865 206e 6578 joint is the nex │ │ │ │ │ +00016e00: 7420 6f6e 6520 646f 776e 2c20 7769 7468 t one down, with │ │ │ │ │ +00016e10: 2072 6f74 6174 696f 6e20 616e 676c 650a rotation angle. │ │ │ │ │ +00016e20: e280 986d 6964 646c 655f 726f 745f 31e2 ...middle_rot_1. │ │ │ │ │ +00016e30: 8099 2e20 2057 6865 6e20 7468 6973 2061 ... When this a │ │ │ │ │ +00016e40: 6e67 6c65 2063 6861 6e67 6573 2c20 7765 ngle changes, we │ │ │ │ │ +00016e50: 206e 6565 6420 616c 6c20 7468 6520 6f62 need all the ob │ │ │ │ │ +00016e60: 6a65 6374 7320 696e 0ae2 8098 6469 7374 jects in....dist │ │ │ │ │ +00016e70: 616c 5f31 e280 9920 746f 2072 6f74 6174 al_1... to rotat │ │ │ │ │ +00016e80: 6520 6173 2061 2075 6e69 742e 2020 5468 e as a unit. Th │ │ │ │ │ +00016e90: 6973 2069 7320 7468 6520 7265 6173 6f6e is is the reason │ │ │ │ │ +00016ea0: 696e 6720 6265 6869 6e64 2074 6865 206e ing behind the n │ │ │ │ │ +00016eb0: 6578 740a 6465 6669 6e69 7469 6f6e 2e0a ext.definition.. │ │ │ │ │ +00016ec0: 2020 6465 6620 6669 6e67 6572 5f31 207b def finger_1 { │ │ │ │ │ +00016ed0: 0a20 2020 2070 7574 207b 2074 7261 6e73 . put { trans │ │ │ │ │ +00016ee0: 6c61 7465 286a 6f69 6e74 5f67 6170 202a late(joint_gap * │ │ │ │ │ +00016ef0: 206a 6f69 6e74 5f72 6164 202a 205b 4a5d joint_rad * [J] │ │ │ │ │ +00016f00: 290a 2020 2020 2020 2020 2020 7468 656e ). then │ │ │ │ │ +00016f10: 2072 6f74 6174 6528 6d69 6464 6c65 5f31 rotate(middle_1 │ │ │ │ │ +00016f20: 5f72 6f74 2c20 5b49 5d29 0a20 2020 2020 _rot, [I]). │ │ │ │ │ +00016f30: 2020 2020 2074 6865 6e20 7472 616e 736c then transl │ │ │ │ │ +00016f40: 6174 6528 286d 6964 646c 655f 7261 7469 ate((middle_rati │ │ │ │ │ +00016f50: 6f20 2a20 6469 7374 616c 5f6c 656e 202b o * distal_len + │ │ │ │ │ +00016f60: 200a 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00016f70: 2020 2020 2020 2020 2020 2020 6a6f 696e join │ │ │ │ │ +00016f80: 745f 6761 7020 2a20 6a6f 696e 745f 7261 t_gap * joint_ra │ │ │ │ │ +00016f90: 6429 202a 205b 4a5d 2920 7d0a 2020 2020 d) * [J]) }. │ │ │ │ │ +00016fa0: 2020 7b64 6973 7461 6c5f 317d 0a20 2020 {distal_1}. │ │ │ │ │ +00016fb0: 2070 7574 207b 2073 6361 6c65 2870 726f put { scale(pro │ │ │ │ │ +00016fc0: 7869 6d61 6c5f 6469 7374 616c 5f72 6174 ximal_distal_rat │ │ │ │ │ +00016fd0: 696f 290a 2020 2020 2020 2020 2020 7468 io). th │ │ │ │ │ +00016fe0: 656e 2072 6f74 6174 6528 6d69 6464 6c65 en rotate(middle │ │ │ │ │ +00016ff0: 5f31 5f72 6f74 202f 2032 2c20 5b49 5d29 _1_rot / 2, [I]) │ │ │ │ │ +00017000: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then │ │ │ │ │ +00017010: 7472 616e 736c 6174 6528 286d 6964 646c translate((middl │ │ │ │ │ +00017020: 655f 7261 7469 6f20 2a20 6469 7374 616c e_ratio * distal │ │ │ │ │ +00017030: 5f6c 656e 202b 200a 2020 2020 2020 2020 _len + . │ │ │ │ │ 00017040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00017050: 2020 2020 2020 6a6f 696e 745f 6761 7020 joint_gap │ │ │ │ │ -00017060: 2a20 6a6f 696e 745f 7261 6429 202a 205b * joint_rad) * [ │ │ │ │ │ -00017070: 4a5d 2920 7d20 0a20 2020 2020 207b 6a6f J]) } . {jo │ │ │ │ │ -00017080: 696e 745f 7370 6865 7265 7d0a 2020 2020 int_sphere}. │ │ │ │ │ -00017090: 7075 7420 7b20 7363 616c 6528 206d 6964 put { scale( mid │ │ │ │ │ -000170a0: 646c 655f 7261 7469 6f20 2a20 5b4a 5d20 dle_ratio * [J] │ │ │ │ │ -000170b0: 2b20 0a20 2020 2020 2020 2020 2020 2020 + . │ │ │ │ │ -000170c0: 2020 2020 7072 6f78 696d 616c 5f64 6973 proximal_dis │ │ │ │ │ -000170d0: 7461 6c5f 7261 7469 6f5e 3220 2a20 285b tal_ratio^2 * ([ │ │ │ │ │ -000170e0: 495d 2b5b 4b5d 2920 2920 7d0a 2020 2020 I]+[K]) ) }. │ │ │ │ │ -000170f0: 2020 7b73 6567 6d65 6e74 7d0a 2020 7d0a {segment}. }. │ │ │ │ │ -00017100: 5468 6973 206c 6f6f 6b73 2076 6572 7920 This looks very │ │ │ │ │ -00017110: 7369 6d69 6c61 7220 746f 2074 6865 2070 similar to the p │ │ │ │ │ -00017120: 7265 7669 6f75 7320 6465 6669 6e69 7469 revious definiti │ │ │ │ │ -00017130: 6f6e 2c20 616e 6420 6974 2069 732e 2020 on, and it is. │ │ │ │ │ -00017140: 5468 650a 696d 706f 7274 616e 7420 6469 The.important di │ │ │ │ │ -00017150: 6666 6572 656e 6365 2069 7320 7468 6174 fference is that │ │ │ │ │ -00017160: 2072 6174 6865 7220 7468 616e 2070 6f73 rather than pos │ │ │ │ │ -00017170: 6974 696f 6e69 6e67 2061 6e64 2072 6f74 itioning and rot │ │ │ │ │ -00017180: 6174 696e 6720 610a 7369 6e67 6c65 2073 ating a.single s │ │ │ │ │ -00017190: 6567 6d65 6e74 2c20 7765 2070 6f73 6974 egment, we posit │ │ │ │ │ -000171a0: 696f 6e20 616e 6420 726f 7461 7465 2074 ion and rotate t │ │ │ │ │ -000171b0: 6865 2065 6e74 6972 6520 2261 7373 656d he entire "assem │ │ │ │ │ -000171c0: 626c 7922 2064 6566 696e 6564 2061 730a bly" defined as. │ │ │ │ │ -000171d0: e280 9864 6973 7461 6c5f 31e2 8099 2e20 ...distal_1.... │ │ │ │ │ -000171e0: 2054 6865 2072 6573 7420 6973 206a 7573 The rest is jus │ │ │ │ │ -000171f0: 7420 6172 6974 686d 6574 6963 2074 6f20 t arithmetic to │ │ │ │ │ -00017200: 636f 6d70 7574 6520 7369 7a65 7320 616e compute sizes an │ │ │ │ │ -00017210: 6420 706f 7369 7469 6f6e 730a 7468 6174 d positions.that │ │ │ │ │ -00017220: 206c 6f6f 6b20 6e69 6365 2e20 2054 6865 look nice. The │ │ │ │ │ -00017230: 206c 6173 7420 e280 9870 7574 e280 9920 last ...put... │ │ │ │ │ -00017240: 706c 6163 6573 2061 6e20 6170 7072 6f70 places an approp │ │ │ │ │ -00017250: 7269 6174 656c 7920 7368 6170 6564 2073 riately shaped s │ │ │ │ │ -00017260: 6567 6d65 6e74 0a74 6861 7420 6973 2074 egment.that is t │ │ │ │ │ -00017270: 6865 205f 7072 6f78 696d 616c 2070 686c he _proximal phl │ │ │ │ │ -00017280: 616e 6765 735f 2c20 7468 6520 626f 6e65 anges_, the bone │ │ │ │ │ -00017290: 2074 6861 7420 6a6f 696e 7320 7468 6520 that joins the │ │ │ │ │ -000172a0: 7061 6c6d 206f 6620 7468 650a 6861 6e64 palm of the.hand │ │ │ │ │ -000172b0: 2e20 2054 6869 7320 636f 6d70 6c65 7465 . This complete │ │ │ │ │ -000172c0: 7320 7468 6520 6669 6e67 6572 2069 7473 s the finger its │ │ │ │ │ -000172d0: 656c 662e 0a0a 2020 2041 6c6c 2074 6865 elf... All the │ │ │ │ │ -000172e0: 206f 7468 6572 2066 696e 6765 7273 2061 other fingers a │ │ │ │ │ -000172f0: 7265 2064 6573 6372 6962 6564 2069 6465 re described ide │ │ │ │ │ -00017300: 6e74 6963 616c 6c79 2074 6f20 7468 6973 ntically to this │ │ │ │ │ -00017310: 206f 6e65 2e20 2057 650a 6163 636f 756e one. We.accoun │ │ │ │ │ -00017320: 7420 666f 7220 7468 6520 6661 6374 2074 t for the fact t │ │ │ │ │ -00017330: 6861 7420 7265 616c 2066 696e 6765 7273 hat real fingers │ │ │ │ │ -00017340: 2061 7265 2064 6966 6665 7265 6e74 2073 are different s │ │ │ │ │ -00017350: 697a 6573 2069 6e20 7468 6520 6e65 7874 izes in the next │ │ │ │ │ -00017360: 0a73 7465 702c 2077 6869 6368 2069 7320 .step, which is │ │ │ │ │ -00017370: 746f 2062 7569 6c64 2074 6865 2065 6e74 to build the ent │ │ │ │ │ -00017380: 6972 6520 6861 6e64 2e0a 0a20 2020 5468 ire hand... Th │ │ │ │ │ -00017390: 6520 e280 9868 616e 64e2 8099 2064 6566 e ...hand... def │ │ │ │ │ -000173a0: 696e 6974 696f 6e20 7468 6174 2066 6f6c inition that fol │ │ │ │ │ -000173b0: 6c6f 7773 2069 6e63 6c75 6465 7320 6120 lows includes a │ │ │ │ │ -000173c0: 7365 6374 696f 6e20 666f 7220 6561 6368 section for each │ │ │ │ │ -000173d0: 0a66 696e 6765 722e 2020 5765 276c 6c20 .finger. We'll │ │ │ │ │ -000173e0: 636f 6e74 696e 7565 2077 6974 6820 6669 continue with fi │ │ │ │ │ -000173f0: 6e67 6572 2031 2061 6e64 206f 6d69 7420 nger 1 and omit │ │ │ │ │ -00017400: 616c 6c20 7468 6520 6f74 6865 7273 2e20 all the others. │ │ │ │ │ -00017410: 2028 4f66 206e 6f74 650a 6973 2074 6861 (Of note.is tha │ │ │ │ │ -00017420: 7420 7468 6520 7468 756d 6220 6e65 6564 t the thumb need │ │ │ │ │ -00017430: 7320 736c 6967 6874 6c79 2073 7065 6369 s slightly speci │ │ │ │ │ -00017440: 616c 2074 7265 6174 6d65 6e74 2d2d 616e al treatment--an │ │ │ │ │ -00017450: 2065 7874 7261 2072 6f74 6174 696f 6e20 extra rotation │ │ │ │ │ -00017460: 746f 0a61 6363 6f75 6e74 2066 6f72 2069 to.account for i │ │ │ │ │ -00017470: 7473 206f 7070 6f73 696e 6720 616e 676c ts opposing angl │ │ │ │ │ -00017480: 652e 2020 5468 6973 2069 7320 636c 6561 e. This is clea │ │ │ │ │ -00017490: 7220 696e 2074 6865 2066 756c 6c20 736f r in the full so │ │ │ │ │ -000174a0: 7572 6365 2063 6f64 652e 290a 4e6f 7420 urce code.).Not │ │ │ │ │ -000174b0: 7375 7270 7269 7369 6e67 6c79 2c20 7468 surprisingly, th │ │ │ │ │ -000174c0: 6520 e280 9868 616e 64e2 8099 2064 6566 e ...hand... def │ │ │ │ │ -000174d0: 696e 6974 696f 6e20 6c6f 6f6b 7320 7665 inition looks ve │ │ │ │ │ -000174e0: 7279 206d 7563 6820 6c69 6b65 2074 6865 ry much like the │ │ │ │ │ -000174f0: 0a70 7265 7669 6f75 7320 7477 6f2e 2020 .previous two. │ │ │ │ │ -00017500: 4974 2073 686f 756c 6420 6265 206e 6f20 It should be no │ │ │ │ │ -00017510: 7375 7270 7269 7365 2074 6861 7420 7768 surprise that wh │ │ │ │ │ -00017520: 656e 2074 6865 2072 6f74 6174 696f 6e20 en the rotation │ │ │ │ │ -00017530: 7061 7261 6d65 7465 720a e280 986d 6574 parameter....met │ │ │ │ │ -00017540: 615f 315f 726f 74e2 8099 2063 6861 6e67 a_1_rot... chang │ │ │ │ │ -00017550: 6573 2c20 7468 6520 656e 7469 7265 2066 es, the entire f │ │ │ │ │ -00017560: 696e 6765 7220 726f 7461 7465 7321 2020 inger rotates! │ │ │ │ │ -00017570: 5468 6572 6520 6973 2061 6e20 6164 6469 There is an addi │ │ │ │ │ -00017580: 7469 6f6e 616c 0a72 6f74 6174 696f 6e20 tional.rotation │ │ │ │ │ -00017590: 7468 6174 2061 6c6c 6f77 7320 7468 6520 that allows the │ │ │ │ │ -000175a0: 6669 6e67 6572 7320 746f 2073 7072 6561 fingers to sprea │ │ │ │ │ -000175b0: 6420 6c61 7465 7261 6c6c 792e 2020 5765 d laterally. We │ │ │ │ │ -000175c0: 2073 6179 2074 6865 7365 0a6a 6f69 6e74 say these.joint │ │ │ │ │ -000175d0: 7320 6f66 2074 6865 2070 726f 7869 6d61 s of the proxima │ │ │ │ │ -000175e0: 6c20 7068 6c61 6e67 6573 2068 6176 6520 l phlanges have │ │ │ │ │ -000175f0: 7477 6f20 5f64 6567 7265 6573 206f 6620 two _degrees of │ │ │ │ │ -00017600: 6672 6565 646f 6d5f 2e20 2054 6865 0a6a freedom_. The.j │ │ │ │ │ -00017610: 6f69 6e74 7320 6869 6768 6572 206f 6e20 oints higher on │ │ │ │ │ -00017620: 7468 6520 6669 6e67 6572 2068 6176 6520 the finger have │ │ │ │ │ -00017630: 6f6e 6c79 206f 6e65 2e20 2046 696e 616c only one. Final │ │ │ │ │ -00017640: 6c79 2c20 6561 6368 2066 696e 6765 7220 ly, each finger │ │ │ │ │ -00017650: 6973 0a73 6361 6c65 6420 6279 2061 2066 is.scaled by a f │ │ │ │ │ -00017660: 6163 746f 7220 746f 206c 656e 6420 6974 actor to lend it │ │ │ │ │ -00017670: 2070 726f 706f 7274 696f 6e2e 0a20 2064 proportion.. d │ │ │ │ │ -00017680: 6566 2068 616e 6420 7b0a 2020 2020 2520 ef hand {. % │ │ │ │ │ -00017690: 6669 6e67 6572 2031 205b 616c 6c20 6f74 finger 1 [all ot │ │ │ │ │ -000176a0: 6865 7220 6669 6e67 6572 7320 6f6d 6974 her fingers omit │ │ │ │ │ -000176b0: 7465 645d 0a20 2020 2064 6566 2073 6361 ted]. def sca │ │ │ │ │ -000176c0: 6c65 5f31 202e 3835 0a20 2020 2070 7574 le_1 .85. put │ │ │ │ │ -000176d0: 207b 2073 6361 6c65 2873 6361 6c65 5f31 { scale(scale_1 │ │ │ │ │ -000176e0: 2920 0a20 2020 2020 2020 2020 2074 6865 ) . the │ │ │ │ │ -000176f0: 6e20 7472 616e 736c 6174 6528 286a 6f69 n translate((joi │ │ │ │ │ -00017700: 6e74 5f67 6170 202a 206a 6f69 6e74 5f72 nt_gap * joint_r │ │ │ │ │ -00017710: 6164 2920 2a20 5b4a 5d29 0a09 2020 7468 ad) * [J]).. th │ │ │ │ │ -00017720: 656e 2072 6f74 6174 6528 6d65 7461 5f31 en rotate(meta_1 │ │ │ │ │ -00017730: 5f72 6f74 2c20 5b49 5d29 0a20 2020 2020 _rot, [I]). │ │ │ │ │ -00017740: 2020 2020 2074 6865 6e20 726f 7461 7465 then rotate │ │ │ │ │ -00017750: 282d 7370 7265 6164 5f72 6f74 2c20 5b4b (-spread_rot, [K │ │ │ │ │ -00017760: 5d29 0a20 2020 2020 2020 2020 2074 6865 ]). the │ │ │ │ │ -00017770: 6e20 7472 616e 736c 6174 6528 2870 726f n translate((pro │ │ │ │ │ -00017780: 7869 6d61 6c5f 315f 6c6f 6329 202d 2028 ximal_1_loc) - ( │ │ │ │ │ -00017790: 4f29 2920 7d20 0a20 2020 2020 207b 6669 O)) } . {fi │ │ │ │ │ -000177a0: 6e67 6572 5f31 7d0a 2020 2020 7075 7420 nger_1}. put │ │ │ │ │ -000177b0: 7b20 7363 616c 6528 7363 616c 655f 3120 { scale(scale_1 │ │ │ │ │ -000177c0: 2a20 7072 6f78 696d 616c 5f64 6973 7461 * proximal_dista │ │ │ │ │ -000177d0: 6c5f 7261 7469 6f5e 3229 0a20 2020 2020 l_ratio^2). │ │ │ │ │ -000177e0: 2020 2020 2074 6865 6e20 726f 7461 7465 then rotate │ │ │ │ │ -000177f0: 286d 6574 615f 315f 726f 7420 2f20 322c (meta_1_rot / 2, │ │ │ │ │ -00017800: 205b 495d 290a 2020 2020 2020 2020 2020 [I]). │ │ │ │ │ -00017810: 7468 656e 2072 6f74 6174 6528 2d73 7072 then rotate(-spr │ │ │ │ │ -00017820: 6561 645f 726f 742c 205b 4b5d 290a 2020 ead_rot, [K]). │ │ │ │ │ -00017830: 2020 2020 2020 2020 7468 656e 2074 7261 then tra │ │ │ │ │ -00017840: 6e73 6c61 7465 2828 7072 6f78 696d 616c nslate((proximal │ │ │ │ │ -00017850: 5f31 5f6c 6f63 2920 2d20 284f 2929 207d _1_loc) - (O)) } │ │ │ │ │ -00017860: 200a 2020 2020 2020 7b6a 6f69 6e74 5f73 . {joint_s │ │ │ │ │ -00017870: 7068 6572 657d 0a0a 2020 2020 2520 7061 phere}.. % pa │ │ │ │ │ -00017880: 6c6d 0a20 2020 2073 7765 6570 207b 2031 lm. sweep { 1 │ │ │ │ │ -00017890: 2c20 726f 7461 7465 2836 2c20 2830 2c31 , rotate(6, (0,1 │ │ │ │ │ -000178a0: 352c 3029 2c20 5b49 5d29 207d 0a20 2020 5,0), [I]) }. │ │ │ │ │ -000178b0: 2020 2070 7574 207b 2072 6f74 6174 6528 put { rotate( │ │ │ │ │ -000178c0: 2d33 2c20 2830 2c31 352c 3029 2c20 5b49 -3, (0,15,0), [I │ │ │ │ │ -000178d0: 5d29 207d 207b 0a20 2020 2020 2020 2070 ]) } {. p │ │ │ │ │ -000178e0: 6f6c 7967 6f6e 2870 726f 7869 6d61 6c5f olygon(proximal_ │ │ │ │ │ -000178f0: 315f 6c6f 6329 2870 726f 7869 6d61 6c5f 1_loc)(proximal_ │ │ │ │ │ -00017900: 325f 6c6f 6329 0a20 2020 2020 2020 2020 2_loc). │ │ │ │ │ -00017910: 2020 2020 2020 2870 726f 7869 6d61 6c5f (proximal_ │ │ │ │ │ -00017920: 335f 6c6f 6329 2870 726f 7869 6d61 6c5f 3_loc)(proximal_ │ │ │ │ │ -00017930: 345f 6c6f 6329 0a20 2020 2020 2020 2020 4_loc). │ │ │ │ │ -00017940: 2020 2020 2020 2868 3529 2868 3629 2868 (h5)(h6)(h │ │ │ │ │ -00017950: 3661 2928 6839 2928 6831 3029 0a20 2020 6a)(h9)(h10). │ │ │ │ │ -00017960: 2020 2020 2070 6f6c 7967 6f6e 2868 3661 polygon(h6a │ │ │ │ │ -00017970: 2928 6837 2928 6838 2928 6839 290a 2020 )(h7)(h8)(h9). │ │ │ │ │ -00017980: 207d 2020 7d0a 5468 6520 6c61 7374 2073 } }.The last s │ │ │ │ │ -00017990: 6563 7469 6f6e 206f 6620 7468 6520 6465 ection of the de │ │ │ │ │ -000179a0: 6669 6e69 7469 6f6e 2063 7265 6174 6573 finition creates │ │ │ │ │ -000179b0: 2074 6865 2070 6f6c 7974 6f70 6520 666f the polytope fo │ │ │ │ │ -000179c0: 7220 7468 6520 7061 6c6d 206f 660a 7468 r the palm of.th │ │ │ │ │ -000179d0: 6520 6861 6e64 2062 7920 e280 9873 7765 e hand by ...swe │ │ │ │ │ -000179e0: 6570 e280 9969 6e67 2061 2031 302d 7369 ep...ing a 10-si │ │ │ │ │ -000179f0: 6465 6420 706f 6c79 676f 6e20 7468 726f ded polygon thro │ │ │ │ │ -00017a00: 7567 6820 6120 7665 7279 2073 686f 7274 ugh a very short │ │ │ │ │ -00017a10: 2061 7263 0a28 3920 6465 6772 6565 7329 arc.(9 degrees) │ │ │ │ │ -00017a20: 2e20 2054 6869 7320 7072 6f76 6964 6573 . This provides │ │ │ │ │ -00017a30: 2061 2077 6564 6765 2d73 6861 7065 6420 a wedge-shaped │ │ │ │ │ -00017a40: 7072 6f66 696c 6520 7768 656e 2076 6965 profile when vie │ │ │ │ │ -00017a50: 7765 6420 6672 6f6d 2074 6865 0a73 6964 wed from the.sid │ │ │ │ │ -00017a60: 652e 2020 5468 6520 7468 6963 6b20 656e e. The thick en │ │ │ │ │ -00017a70: 6420 6f66 2074 6865 2077 6564 6765 2069 d of the wedge i │ │ │ │ │ -00017a80: 7320 7468 6520 7772 6973 742e 2020 4265 s the wrist. Be │ │ │ │ │ -00017a90: 6361 7573 6520 7468 6520 706f 6c79 676f cause the polygo │ │ │ │ │ -00017aa0: 6e20 6973 0a63 6f6e 6361 7665 2c20 6974 n is.concave, it │ │ │ │ │ -00017ab0: 2069 7320 7370 6c69 7420 696e 746f 2069 is split into i │ │ │ │ │ -00017ac0: 6e74 6f20 7477 6f20 636f 6e76 6578 2073 nto two convex s │ │ │ │ │ -00017ad0: 6861 7065 7320 7769 7468 206e 696e 6520 hapes with nine │ │ │ │ │ -00017ae0: 616e 6420 666f 7572 0a76 6572 7469 6365 and four.vertice │ │ │ │ │ -00017af0: 732e 0a0a 2020 2057 6520 6361 6e20 6e6f s... We can no │ │ │ │ │ -00017b00: 7720 6861 7665 2066 756e 2070 6f73 6974 w have fun posit │ │ │ │ │ -00017b10: 696f 6e69 6e67 2074 6865 2068 616e 6420 ioning the hand │ │ │ │ │ -00017b20: 6279 2061 646a 7573 7469 6e67 2074 6865 by adjusting the │ │ │ │ │ -00017b30: 2076 6172 696f 7573 0a72 6f74 6174 696f various.rotatio │ │ │ │ │ -00017b40: 6e20 616e 676c 6573 2e20 2054 6865 2063 n angles. The c │ │ │ │ │ -00017b50: 6f6d 706c 6574 6520 736f 7572 6365 2069 omplete source i │ │ │ │ │ -00017b60: 6e63 6c75 6465 7320 6465 6669 6e69 7469 ncludes definiti │ │ │ │ │ -00017b70: 6f6e 7320 7769 7468 0a61 6c74 6572 6e61 ons with.alterna │ │ │ │ │ -00017b80: 7469 7665 7320 7468 6174 2069 6e63 6c75 tives that inclu │ │ │ │ │ -00017b90: 6465 2074 6865 2066 6f6c 6c6f 7769 6e67 de the following │ │ │ │ │ -00017ba0: 2076 6965 7773 2061 6e64 206d 6f72 652e views and more. │ │ │ │ │ -00017bb0: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -00017bc0: 6578 3231 302e 706e 6722 2074 6578 743d ex210.png" text= │ │ │ │ │ -00017bd0: 2249 6d61 6765 2065 7832 3130 206f 6d69 "Image ex210 omi │ │ │ │ │ -00017be0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00017bf0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -00017c00: 756d 656e 742e 2200 085d 0008 5b69 6d61 ument."..]..[ima │ │ │ │ │ -00017c10: 6765 2073 7263 3d22 6578 3232 302e 706e ge src="ex220.pn │ │ │ │ │ -00017c20: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -00017c30: 7832 3230 206f 6d69 7474 6564 2069 6e20 x220 omitted in │ │ │ │ │ -00017c40: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -00017c50: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -00017c60: 085d 0008 5b69 6d61 6765 2073 7263 3d22 .]..[image src=" │ │ │ │ │ -00017c70: 6578 3233 302e 706e 6722 2074 6578 743d ex230.png" text= │ │ │ │ │ -00017c80: 2249 6d61 6765 2065 7832 3330 206f 6d69 "Image ex230 omi │ │ │ │ │ -00017c90: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00017ca0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -00017cb0: 756d 656e 742e 2200 085d 0008 5b69 6d61 ument."..]..[ima │ │ │ │ │ -00017cc0: 6765 2073 7263 3d22 6578 3234 302e 706e ge src="ex240.pn │ │ │ │ │ -00017cd0: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -00017ce0: 7832 3430 206f 6d69 7474 6564 2069 6e20 x240 omitted in │ │ │ │ │ -00017cf0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -00017d00: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -00017d10: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket │ │ │ │ │ -00017d20: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -00017d30: 4361 7665 6174 732c 2020 5072 6576 3a20 Caveats, Prev: │ │ │ │ │ -00017d40: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ -00017d50: 6f64 656c 2c20 2055 703a 2042 7569 6c64 odel, Up: Build │ │ │ │ │ -00017d60: 696e 6720 6120 6472 6177 696e 670a 0a34 ing a drawing..4 │ │ │ │ │ -00017d70: 2e34 2043 6176 6561 7473 0a3d 3d3d 3d3d .4 Caveats.===== │ │ │ │ │ -00017d80: 3d3d 3d3d 3d3d 0a0a e280 9853 6b65 7463 ======.....Sketc │ │ │ │ │ -00017d90: 68e2 8099 2069 7320 6120 6661 6972 6c79 h... is a fairly │ │ │ │ │ -00017da0: 2070 6f77 6572 6675 6c20 746f 6f6c 2066 powerful tool f │ │ │ │ │ -00017db0: 6f72 2064 7261 7769 6e67 2c20 6275 742c or drawing, but, │ │ │ │ │ -00017dc0: 206a 7573 7420 6173 2077 6974 6820 5465 just as with Te │ │ │ │ │ -00017dd0: 582c 0a74 6865 2070 6f77 6572 2074 6f20 X,.the power to │ │ │ │ │ -00017de0: 6372 6561 7465 2062 6561 7574 6966 756c create beautiful │ │ │ │ │ -00017df0: 2072 6573 756c 7473 2063 6f6d 6573 2061 results comes a │ │ │ │ │ -00017e00: 6c6f 6e67 2077 6974 6820 7468 6520 706f long with the po │ │ │ │ │ -00017e10: 7765 7220 746f 206d 616b 650a 6d69 7374 wer to make.mist │ │ │ │ │ -00017e20: 616b 6573 2e20 2054 6865 2066 6f6c 6c6f akes. The follo │ │ │ │ │ -00017e30: 7769 6e67 2061 7265 2073 6f6d 6520 706f wing are some po │ │ │ │ │ -00017e40: 696e 7473 2077 6865 7265 2063 6172 6520 ints where care │ │ │ │ │ -00017e50: 6973 206e 6563 6573 7361 7279 2061 6e64 is necessary and │ │ │ │ │ -00017e60: 0a77 6865 7265 2074 6865 2063 7572 7265 .where the curre │ │ │ │ │ -00017e70: 6e74 2076 6572 7369 6f6e 206f 6620 e280 nt version of .. │ │ │ │ │ -00017e80: 9873 6b65 7463 68e2 8099 2069 7320 6c69 .sketch... is li │ │ │ │ │ -00017e90: 6d69 7465 6420 6f72 2068 6173 206b 6e6f mited or has kno │ │ │ │ │ -00017ea0: 776e 2062 7567 732e 0a0a 2a20 4d65 6e75 wn bugs...* Menu │ │ │ │ │ -00017eb0: 3a0a 0a2a 204c 696d 6974 7320 6f6e 2065 :..* Limits on e │ │ │ │ │ -00017ec0: 7272 6f72 2064 6574 6563 7469 6f6e 3a3a rror detection:: │ │ │ │ │ -00017ed0: 2020 2057 6861 7420 736b 6574 6368 2064 What sketch d │ │ │ │ │ -00017ee0: 6f65 736e 2774 2064 6f2e 0a2a 2043 6c69 oesn't do..* Cli │ │ │ │ │ -00017ef0: 7070 696e 673a 3a20 2020 2020 2020 2020 pping:: │ │ │ │ │ -00017f00: 2020 2020 2020 2020 2020 204e 6f20 636c No cl │ │ │ │ │ -00017f10: 6970 7069 6e67 2061 7420 7072 6573 656e ipping at presen │ │ │ │ │ -00017f20: 742e 0a2a 2048 6964 6465 6e20 7375 7266 t..* Hidden surf │ │ │ │ │ -00017f30: 6163 6520 7265 6d6f 7661 6c3a 3a20 2020 ace removal:: │ │ │ │ │ -00017f40: 2020 2049 6d70 6572 6665 6374 696f 6e73 Imperfections │ │ │ │ │ -00017f50: 2074 6f20 6669 782e 0a0a 1f0a 4669 6c65 to fix.....File │ │ │ │ │ -00017f60: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -00017f70: 4e6f 6465 3a20 4c69 6d69 7473 206f 6e20 Node: Limits on │ │ │ │ │ -00017f80: 6572 726f 7220 6465 7465 6374 696f 6e2c error detection, │ │ │ │ │ -00017f90: 2020 4e65 7874 3a20 436c 6970 7069 6e67 Next: Clipping │ │ │ │ │ -00017fa0: 2c20 2050 7265 763a 2043 6176 6561 7473 , Prev: Caveats │ │ │ │ │ -00017fb0: 2c20 2055 703a 2043 6176 6561 7473 0a0a , Up: Caveats.. │ │ │ │ │ -00017fc0: 342e 342e 3120 4c69 6d69 7473 206f 6e20 4.4.1 Limits on │ │ │ │ │ -00017fd0: e280 9873 6b65 7463 68e2 8099 2065 7272 ...sketch... err │ │ │ │ │ -00017fe0: 6f72 2064 6574 6563 7469 6f6e 0a2d 2d2d or detection.--- │ │ │ │ │ +00017050: 2020 6a6f 696e 745f 6761 7020 2a20 6a6f joint_gap * jo │ │ │ │ │ +00017060: 696e 745f 7261 6429 202a 205b 4a5d 2920 int_rad) * [J]) │ │ │ │ │ +00017070: 7d20 0a20 2020 2020 207b 6a6f 696e 745f } . {joint_ │ │ │ │ │ +00017080: 7370 6865 7265 7d0a 2020 2020 7075 7420 sphere}. put │ │ │ │ │ +00017090: 7b20 7363 616c 6528 206d 6964 646c 655f { scale( middle_ │ │ │ │ │ +000170a0: 7261 7469 6f20 2a20 5b4a 5d20 2b20 0a20 ratio * [J] + . │ │ │ │ │ +000170b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000170c0: 7072 6f78 696d 616c 5f64 6973 7461 6c5f proximal_distal_ │ │ │ │ │ +000170d0: 7261 7469 6f5e 3220 2a20 285b 495d 2b5b ratio^2 * ([I]+[ │ │ │ │ │ +000170e0: 4b5d 2920 2920 7d0a 2020 2020 2020 7b73 K]) ) }. {s │ │ │ │ │ +000170f0: 6567 6d65 6e74 7d0a 2020 7d0a 5468 6973 egment}. }.This │ │ │ │ │ +00017100: 206c 6f6f 6b73 2076 6572 7920 7369 6d69 looks very simi │ │ │ │ │ +00017110: 6c61 7220 746f 2074 6865 2070 7265 7669 lar to the previ │ │ │ │ │ +00017120: 6f75 7320 6465 6669 6e69 7469 6f6e 2c20 ous definition, │ │ │ │ │ +00017130: 616e 6420 6974 2069 732e 2020 5468 650a and it is. The. │ │ │ │ │ +00017140: 696d 706f 7274 616e 7420 6469 6666 6572 important differ │ │ │ │ │ +00017150: 656e 6365 2069 7320 7468 6174 2072 6174 ence is that rat │ │ │ │ │ +00017160: 6865 7220 7468 616e 2070 6f73 6974 696f her than positio │ │ │ │ │ +00017170: 6e69 6e67 2061 6e64 2072 6f74 6174 696e ning and rotatin │ │ │ │ │ +00017180: 6720 610a 7369 6e67 6c65 2073 6567 6d65 g a.single segme │ │ │ │ │ +00017190: 6e74 2c20 7765 2070 6f73 6974 696f 6e20 nt, we position │ │ │ │ │ +000171a0: 616e 6420 726f 7461 7465 2074 6865 2065 and rotate the e │ │ │ │ │ +000171b0: 6e74 6972 6520 2261 7373 656d 626c 7922 ntire "assembly" │ │ │ │ │ +000171c0: 2064 6566 696e 6564 2061 730a e280 9864 defined as....d │ │ │ │ │ +000171d0: 6973 7461 6c5f 31e2 8099 2e20 2054 6865 istal_1.... The │ │ │ │ │ +000171e0: 2072 6573 7420 6973 206a 7573 7420 6172 rest is just ar │ │ │ │ │ +000171f0: 6974 686d 6574 6963 2074 6f20 636f 6d70 ithmetic to comp │ │ │ │ │ +00017200: 7574 6520 7369 7a65 7320 616e 6420 706f ute sizes and po │ │ │ │ │ +00017210: 7369 7469 6f6e 730a 7468 6174 206c 6f6f sitions.that loo │ │ │ │ │ +00017220: 6b20 6e69 6365 2e20 2054 6865 206c 6173 k nice. The las │ │ │ │ │ +00017230: 7420 e280 9870 7574 e280 9920 706c 6163 t ...put... plac │ │ │ │ │ +00017240: 6573 2061 6e20 6170 7072 6f70 7269 6174 es an appropriat │ │ │ │ │ +00017250: 656c 7920 7368 6170 6564 2073 6567 6d65 ely shaped segme │ │ │ │ │ +00017260: 6e74 0a74 6861 7420 6973 2074 6865 205f nt.that is the _ │ │ │ │ │ +00017270: 7072 6f78 696d 616c 2070 686c 616e 6765 proximal phlange │ │ │ │ │ +00017280: 735f 2c20 7468 6520 626f 6e65 2074 6861 s_, the bone tha │ │ │ │ │ +00017290: 7420 6a6f 696e 7320 7468 6520 7061 6c6d t joins the palm │ │ │ │ │ +000172a0: 206f 6620 7468 650a 6861 6e64 2e20 2054 of the.hand. T │ │ │ │ │ +000172b0: 6869 7320 636f 6d70 6c65 7465 7320 7468 his completes th │ │ │ │ │ +000172c0: 6520 6669 6e67 6572 2069 7473 656c 662e e finger itself. │ │ │ │ │ +000172d0: 0a0a 2020 2041 6c6c 2074 6865 206f 7468 .. All the oth │ │ │ │ │ +000172e0: 6572 2066 696e 6765 7273 2061 7265 2064 er fingers are d │ │ │ │ │ +000172f0: 6573 6372 6962 6564 2069 6465 6e74 6963 escribed identic │ │ │ │ │ +00017300: 616c 6c79 2074 6f20 7468 6973 206f 6e65 ally to this one │ │ │ │ │ +00017310: 2e20 2057 650a 6163 636f 756e 7420 666f . We.account fo │ │ │ │ │ +00017320: 7220 7468 6520 6661 6374 2074 6861 7420 r the fact that │ │ │ │ │ +00017330: 7265 616c 2066 696e 6765 7273 2061 7265 real fingers are │ │ │ │ │ +00017340: 2064 6966 6665 7265 6e74 2073 697a 6573 different sizes │ │ │ │ │ +00017350: 2069 6e20 7468 6520 6e65 7874 0a73 7465 in the next.ste │ │ │ │ │ +00017360: 702c 2077 6869 6368 2069 7320 746f 2062 p, which is to b │ │ │ │ │ +00017370: 7569 6c64 2074 6865 2065 6e74 6972 6520 uild the entire │ │ │ │ │ +00017380: 6861 6e64 2e0a 0a20 2020 5468 6520 e280 hand... The .. │ │ │ │ │ +00017390: 9868 616e 64e2 8099 2064 6566 696e 6974 .hand... definit │ │ │ │ │ +000173a0: 696f 6e20 7468 6174 2066 6f6c 6c6f 7773 ion that follows │ │ │ │ │ +000173b0: 2069 6e63 6c75 6465 7320 6120 7365 6374 includes a sect │ │ │ │ │ +000173c0: 696f 6e20 666f 7220 6561 6368 0a66 696e ion for each.fin │ │ │ │ │ +000173d0: 6765 722e 2020 5765 276c 6c20 636f 6e74 ger. We'll cont │ │ │ │ │ +000173e0: 696e 7565 2077 6974 6820 6669 6e67 6572 inue with finger │ │ │ │ │ +000173f0: 2031 2061 6e64 206f 6d69 7420 616c 6c20 1 and omit all │ │ │ │ │ +00017400: 7468 6520 6f74 6865 7273 2e20 2028 4f66 the others. (Of │ │ │ │ │ +00017410: 206e 6f74 650a 6973 2074 6861 7420 7468 note.is that th │ │ │ │ │ +00017420: 6520 7468 756d 6220 6e65 6564 7320 736c e thumb needs sl │ │ │ │ │ +00017430: 6967 6874 6c79 2073 7065 6369 616c 2074 ightly special t │ │ │ │ │ +00017440: 7265 6174 6d65 6e74 2d2d 616e 2065 7874 reatment--an ext │ │ │ │ │ +00017450: 7261 2072 6f74 6174 696f 6e20 746f 0a61 ra rotation to.a │ │ │ │ │ +00017460: 6363 6f75 6e74 2066 6f72 2069 7473 206f ccount for its o │ │ │ │ │ +00017470: 7070 6f73 696e 6720 616e 676c 652e 2020 pposing angle. │ │ │ │ │ +00017480: 5468 6973 2069 7320 636c 6561 7220 696e This is clear in │ │ │ │ │ +00017490: 2074 6865 2066 756c 6c20 736f 7572 6365 the full source │ │ │ │ │ +000174a0: 2063 6f64 652e 290a 4e6f 7420 7375 7270 code.).Not surp │ │ │ │ │ +000174b0: 7269 7369 6e67 6c79 2c20 7468 6520 e280 risingly, the .. │ │ │ │ │ +000174c0: 9868 616e 64e2 8099 2064 6566 696e 6974 .hand... definit │ │ │ │ │ +000174d0: 696f 6e20 6c6f 6f6b 7320 7665 7279 206d ion looks very m │ │ │ │ │ +000174e0: 7563 6820 6c69 6b65 2074 6865 0a70 7265 uch like the.pre │ │ │ │ │ +000174f0: 7669 6f75 7320 7477 6f2e 2020 4974 2073 vious two. It s │ │ │ │ │ +00017500: 686f 756c 6420 6265 206e 6f20 7375 7270 hould be no surp │ │ │ │ │ +00017510: 7269 7365 2074 6861 7420 7768 656e 2074 rise that when t │ │ │ │ │ +00017520: 6865 2072 6f74 6174 696f 6e20 7061 7261 he rotation para │ │ │ │ │ +00017530: 6d65 7465 720a e280 986d 6574 615f 315f meter....meta_1_ │ │ │ │ │ +00017540: 726f 74e2 8099 2063 6861 6e67 6573 2c20 rot... changes, │ │ │ │ │ +00017550: 7468 6520 656e 7469 7265 2066 696e 6765 the entire finge │ │ │ │ │ +00017560: 7220 726f 7461 7465 7321 2020 5468 6572 r rotates! Ther │ │ │ │ │ +00017570: 6520 6973 2061 6e20 6164 6469 7469 6f6e e is an addition │ │ │ │ │ +00017580: 616c 0a72 6f74 6174 696f 6e20 7468 6174 al.rotation that │ │ │ │ │ +00017590: 2061 6c6c 6f77 7320 7468 6520 6669 6e67 allows the fing │ │ │ │ │ +000175a0: 6572 7320 746f 2073 7072 6561 6420 6c61 ers to spread la │ │ │ │ │ +000175b0: 7465 7261 6c6c 792e 2020 5765 2073 6179 terally. We say │ │ │ │ │ +000175c0: 2074 6865 7365 0a6a 6f69 6e74 7320 6f66 these.joints of │ │ │ │ │ +000175d0: 2074 6865 2070 726f 7869 6d61 6c20 7068 the proximal ph │ │ │ │ │ +000175e0: 6c61 6e67 6573 2068 6176 6520 7477 6f20 langes have two │ │ │ │ │ +000175f0: 5f64 6567 7265 6573 206f 6620 6672 6565 _degrees of free │ │ │ │ │ +00017600: 646f 6d5f 2e20 2054 6865 0a6a 6f69 6e74 dom_. The.joint │ │ │ │ │ +00017610: 7320 6869 6768 6572 206f 6e20 7468 6520 s higher on the │ │ │ │ │ +00017620: 6669 6e67 6572 2068 6176 6520 6f6e 6c79 finger have only │ │ │ │ │ +00017630: 206f 6e65 2e20 2046 696e 616c 6c79 2c20 one. Finally, │ │ │ │ │ +00017640: 6561 6368 2066 696e 6765 7220 6973 0a73 each finger is.s │ │ │ │ │ +00017650: 6361 6c65 6420 6279 2061 2066 6163 746f caled by a facto │ │ │ │ │ +00017660: 7220 746f 206c 656e 6420 6974 2070 726f r to lend it pro │ │ │ │ │ +00017670: 706f 7274 696f 6e2e 0a20 2064 6566 2068 portion.. def h │ │ │ │ │ +00017680: 616e 6420 7b0a 2020 2020 2520 6669 6e67 and {. % fing │ │ │ │ │ +00017690: 6572 2031 205b 616c 6c20 6f74 6865 7220 er 1 [all other │ │ │ │ │ +000176a0: 6669 6e67 6572 7320 6f6d 6974 7465 645d fingers omitted] │ │ │ │ │ +000176b0: 0a20 2020 2064 6566 2073 6361 6c65 5f31 . def scale_1 │ │ │ │ │ +000176c0: 202e 3835 0a20 2020 2070 7574 207b 2073 .85. put { s │ │ │ │ │ +000176d0: 6361 6c65 2873 6361 6c65 5f31 2920 0a20 cale(scale_1) . │ │ │ │ │ +000176e0: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr │ │ │ │ │ +000176f0: 616e 736c 6174 6528 286a 6f69 6e74 5f67 anslate((joint_g │ │ │ │ │ +00017700: 6170 202a 206a 6f69 6e74 5f72 6164 2920 ap * joint_rad) │ │ │ │ │ +00017710: 2a20 5b4a 5d29 0a09 2020 7468 656e 2072 * [J]).. then r │ │ │ │ │ +00017720: 6f74 6174 6528 6d65 7461 5f31 5f72 6f74 otate(meta_1_rot │ │ │ │ │ +00017730: 2c20 5b49 5d29 0a20 2020 2020 2020 2020 , [I]). │ │ │ │ │ +00017740: 2074 6865 6e20 726f 7461 7465 282d 7370 then rotate(-sp │ │ │ │ │ +00017750: 7265 6164 5f72 6f74 2c20 5b4b 5d29 0a20 read_rot, [K]). │ │ │ │ │ +00017760: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr │ │ │ │ │ +00017770: 616e 736c 6174 6528 2870 726f 7869 6d61 anslate((proxima │ │ │ │ │ +00017780: 6c5f 315f 6c6f 6329 202d 2028 4f29 2920 l_1_loc) - (O)) │ │ │ │ │ +00017790: 7d20 0a20 2020 2020 207b 6669 6e67 6572 } . {finger │ │ │ │ │ +000177a0: 5f31 7d0a 2020 2020 7075 7420 7b20 7363 _1}. put { sc │ │ │ │ │ +000177b0: 616c 6528 7363 616c 655f 3120 2a20 7072 ale(scale_1 * pr │ │ │ │ │ +000177c0: 6f78 696d 616c 5f64 6973 7461 6c5f 7261 oximal_distal_ra │ │ │ │ │ +000177d0: 7469 6f5e 3229 0a20 2020 2020 2020 2020 tio^2). │ │ │ │ │ +000177e0: 2074 6865 6e20 726f 7461 7465 286d 6574 then rotate(met │ │ │ │ │ +000177f0: 615f 315f 726f 7420 2f20 322c 205b 495d a_1_rot / 2, [I] │ │ │ │ │ +00017800: 290a 2020 2020 2020 2020 2020 7468 656e ). then │ │ │ │ │ +00017810: 2072 6f74 6174 6528 2d73 7072 6561 645f rotate(-spread_ │ │ │ │ │ +00017820: 726f 742c 205b 4b5d 290a 2020 2020 2020 rot, [K]). │ │ │ │ │ +00017830: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla │ │ │ │ │ +00017840: 7465 2828 7072 6f78 696d 616c 5f31 5f6c te((proximal_1_l │ │ │ │ │ +00017850: 6f63 2920 2d20 284f 2929 207d 200a 2020 oc) - (O)) } . │ │ │ │ │ +00017860: 2020 2020 7b6a 6f69 6e74 5f73 7068 6572 {joint_spher │ │ │ │ │ +00017870: 657d 0a0a 2020 2020 2520 7061 6c6d 0a20 e}.. % palm. │ │ │ │ │ +00017880: 2020 2073 7765 6570 207b 2031 2c20 726f sweep { 1, ro │ │ │ │ │ +00017890: 7461 7465 2836 2c20 2830 2c31 352c 3029 tate(6, (0,15,0) │ │ │ │ │ +000178a0: 2c20 5b49 5d29 207d 0a20 2020 2020 2070 , [I]) }. p │ │ │ │ │ +000178b0: 7574 207b 2072 6f74 6174 6528 2d33 2c20 ut { rotate(-3, │ │ │ │ │ +000178c0: 2830 2c31 352c 3029 2c20 5b49 5d29 207d (0,15,0), [I]) } │ │ │ │ │ +000178d0: 207b 0a20 2020 2020 2020 2070 6f6c 7967 {. polyg │ │ │ │ │ +000178e0: 6f6e 2870 726f 7869 6d61 6c5f 315f 6c6f on(proximal_1_lo │ │ │ │ │ +000178f0: 6329 2870 726f 7869 6d61 6c5f 325f 6c6f c)(proximal_2_lo │ │ │ │ │ +00017900: 6329 0a20 2020 2020 2020 2020 2020 2020 c). │ │ │ │ │ +00017910: 2020 2870 726f 7869 6d61 6c5f 335f 6c6f (proximal_3_lo │ │ │ │ │ +00017920: 6329 2870 726f 7869 6d61 6c5f 345f 6c6f c)(proximal_4_lo │ │ │ │ │ +00017930: 6329 0a20 2020 2020 2020 2020 2020 2020 c). │ │ │ │ │ +00017940: 2020 2868 3529 2868 3629 2868 3661 2928 (h5)(h6)(h6a)( │ │ │ │ │ +00017950: 6839 2928 6831 3029 0a20 2020 2020 2020 h9)(h10). │ │ │ │ │ +00017960: 2070 6f6c 7967 6f6e 2868 3661 2928 6837 polygon(h6a)(h7 │ │ │ │ │ +00017970: 2928 6838 2928 6839 290a 2020 207d 2020 )(h8)(h9). } │ │ │ │ │ +00017980: 7d0a 5468 6520 6c61 7374 2073 6563 7469 }.The last secti │ │ │ │ │ +00017990: 6f6e 206f 6620 7468 6520 6465 6669 6e69 on of the defini │ │ │ │ │ +000179a0: 7469 6f6e 2063 7265 6174 6573 2074 6865 tion creates the │ │ │ │ │ +000179b0: 2070 6f6c 7974 6f70 6520 666f 7220 7468 polytope for th │ │ │ │ │ +000179c0: 6520 7061 6c6d 206f 660a 7468 6520 6861 e palm of.the ha │ │ │ │ │ +000179d0: 6e64 2062 7920 e280 9873 7765 6570 e280 nd by ...sweep.. │ │ │ │ │ +000179e0: 9969 6e67 2061 2031 302d 7369 6465 6420 .ing a 10-sided │ │ │ │ │ +000179f0: 706f 6c79 676f 6e20 7468 726f 7567 6820 polygon through │ │ │ │ │ +00017a00: 6120 7665 7279 2073 686f 7274 2061 7263 a very short arc │ │ │ │ │ +00017a10: 0a28 3920 6465 6772 6565 7329 2e20 2054 .(9 degrees). T │ │ │ │ │ +00017a20: 6869 7320 7072 6f76 6964 6573 2061 2077 his provides a w │ │ │ │ │ +00017a30: 6564 6765 2d73 6861 7065 6420 7072 6f66 edge-shaped prof │ │ │ │ │ +00017a40: 696c 6520 7768 656e 2076 6965 7765 6420 ile when viewed │ │ │ │ │ +00017a50: 6672 6f6d 2074 6865 0a73 6964 652e 2020 from the.side. │ │ │ │ │ +00017a60: 5468 6520 7468 6963 6b20 656e 6420 6f66 The thick end of │ │ │ │ │ +00017a70: 2074 6865 2077 6564 6765 2069 7320 7468 the wedge is th │ │ │ │ │ +00017a80: 6520 7772 6973 742e 2020 4265 6361 7573 e wrist. Becaus │ │ │ │ │ +00017a90: 6520 7468 6520 706f 6c79 676f 6e20 6973 e the polygon is │ │ │ │ │ +00017aa0: 0a63 6f6e 6361 7665 2c20 6974 2069 7320 .concave, it is │ │ │ │ │ +00017ab0: 7370 6c69 7420 696e 746f 2069 6e74 6f20 split into into │ │ │ │ │ +00017ac0: 7477 6f20 636f 6e76 6578 2073 6861 7065 two convex shape │ │ │ │ │ +00017ad0: 7320 7769 7468 206e 696e 6520 616e 6420 s with nine and │ │ │ │ │ +00017ae0: 666f 7572 0a76 6572 7469 6365 732e 0a0a four.vertices... │ │ │ │ │ +00017af0: 2020 2057 6520 6361 6e20 6e6f 7720 6861 We can now ha │ │ │ │ │ +00017b00: 7665 2066 756e 2070 6f73 6974 696f 6e69 ve fun positioni │ │ │ │ │ +00017b10: 6e67 2074 6865 2068 616e 6420 6279 2061 ng the hand by a │ │ │ │ │ +00017b20: 646a 7573 7469 6e67 2074 6865 2076 6172 djusting the var │ │ │ │ │ +00017b30: 696f 7573 0a72 6f74 6174 696f 6e20 616e ious.rotation an │ │ │ │ │ +00017b40: 676c 6573 2e20 2054 6865 2063 6f6d 706c gles. The compl │ │ │ │ │ +00017b50: 6574 6520 736f 7572 6365 2069 6e63 6c75 ete source inclu │ │ │ │ │ +00017b60: 6465 7320 6465 6669 6e69 7469 6f6e 7320 des definitions │ │ │ │ │ +00017b70: 7769 7468 0a61 6c74 6572 6e61 7469 7665 with.alternative │ │ │ │ │ +00017b80: 7320 7468 6174 2069 6e63 6c75 6465 2074 s that include t │ │ │ │ │ +00017b90: 6865 2066 6f6c 6c6f 7769 6e67 2076 6965 he following vie │ │ │ │ │ +00017ba0: 7773 2061 6e64 206d 6f72 652e 0a0a 0008 ws and more..... │ │ │ │ │ +00017bb0: 5b69 6d61 6765 2073 7263 3d22 6578 3231 [image src="ex21 │ │ │ │ │ +00017bc0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ +00017bd0: 6765 2065 7832 3130 206f 6d69 7474 6564 ge ex210 omitted │ │ │ │ │ +00017be0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ +00017bf0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ +00017c00: 742e 2200 085d 0008 5b69 6d61 6765 2073 t."..]..[image s │ │ │ │ │ +00017c10: 7263 3d22 6578 3232 302e 706e 6722 2074 rc="ex220.png" t │ │ │ │ │ +00017c20: 6578 743d 2249 6d61 6765 2065 7832 3230 ext="Image ex220 │ │ │ │ │ +00017c30: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00017c40: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00017c50: 2064 6f63 756d 656e 742e 2200 085d 0008 document."..].. │ │ │ │ │ +00017c60: 5b69 6d61 6765 2073 7263 3d22 6578 3233 [image src="ex23 │ │ │ │ │ +00017c70: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ +00017c80: 6765 2065 7832 3330 206f 6d69 7474 6564 ge ex230 omitted │ │ │ │ │ +00017c90: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ +00017ca0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ +00017cb0: 742e 2200 085d 0008 5b69 6d61 6765 2073 t."..]..[image s │ │ │ │ │ +00017cc0: 7263 3d22 6578 3234 302e 706e 6722 2074 rc="ex240.png" t │ │ │ │ │ +00017cd0: 6578 743d 2249 6d61 6765 2065 7832 3430 ext="Image ex240 │ │ │ │ │ +00017ce0: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00017cf0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00017d00: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00017d10: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00017d20: 6e66 6f2c 2020 4e6f 6465 3a20 4361 7665 nfo, Node: Cave │ │ │ │ │ +00017d30: 6174 732c 2020 5072 6576 3a20 4120 6869 ats, Prev: A hi │ │ │ │ │ +00017d40: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ +00017d50: 2c20 2055 703a 2042 7569 6c64 696e 6720 , Up: Building │ │ │ │ │ +00017d60: 6120 6472 6177 696e 670a 0a34 2e34 2043 a drawing..4.4 C │ │ │ │ │ +00017d70: 6176 6561 7473 0a3d 3d3d 3d3d 3d3d 3d3d aveats.========= │ │ │ │ │ +00017d80: 3d3d 0a0a e280 9853 6b65 7463 68e2 8099 ==.....Sketch... │ │ │ │ │ +00017d90: 2069 7320 6120 6661 6972 6c79 2070 6f77 is a fairly pow │ │ │ │ │ +00017da0: 6572 6675 6c20 746f 6f6c 2066 6f72 2064 erful tool for d │ │ │ │ │ +00017db0: 7261 7769 6e67 2c20 6275 742c 206a 7573 rawing, but, jus │ │ │ │ │ +00017dc0: 7420 6173 2077 6974 6820 5465 582c 0a74 t as with TeX,.t │ │ │ │ │ +00017dd0: 6865 2070 6f77 6572 2074 6f20 6372 6561 he power to crea │ │ │ │ │ +00017de0: 7465 2062 6561 7574 6966 756c 2072 6573 te beautiful res │ │ │ │ │ +00017df0: 756c 7473 2063 6f6d 6573 2061 6c6f 6e67 ults comes along │ │ │ │ │ +00017e00: 2077 6974 6820 7468 6520 706f 7765 7220 with the power │ │ │ │ │ +00017e10: 746f 206d 616b 650a 6d69 7374 616b 6573 to make.mistakes │ │ │ │ │ +00017e20: 2e20 2054 6865 2066 6f6c 6c6f 7769 6e67 . The following │ │ │ │ │ +00017e30: 2061 7265 2073 6f6d 6520 706f 696e 7473 are some points │ │ │ │ │ +00017e40: 2077 6865 7265 2063 6172 6520 6973 206e where care is n │ │ │ │ │ +00017e50: 6563 6573 7361 7279 2061 6e64 0a77 6865 ecessary and.whe │ │ │ │ │ +00017e60: 7265 2074 6865 2063 7572 7265 6e74 2076 re the current v │ │ │ │ │ +00017e70: 6572 7369 6f6e 206f 6620 e280 9873 6b65 ersion of ...ske │ │ │ │ │ +00017e80: 7463 68e2 8099 2069 7320 6c69 6d69 7465 tch... is limite │ │ │ │ │ +00017e90: 6420 6f72 2068 6173 206b 6e6f 776e 2062 d or has known b │ │ │ │ │ +00017ea0: 7567 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a ugs...* Menu:..* │ │ │ │ │ +00017eb0: 204c 696d 6974 7320 6f6e 2065 7272 6f72 Limits on error │ │ │ │ │ +00017ec0: 2064 6574 6563 7469 6f6e 3a3a 2020 2057 detection:: W │ │ │ │ │ +00017ed0: 6861 7420 736b 6574 6368 2064 6f65 736e hat sketch doesn │ │ │ │ │ +00017ee0: 2774 2064 6f2e 0a2a 2043 6c69 7070 696e 't do..* Clippin │ │ │ │ │ +00017ef0: 673a 3a20 2020 2020 2020 2020 2020 2020 g:: │ │ │ │ │ +00017f00: 2020 2020 2020 204e 6f20 636c 6970 7069 No clippi │ │ │ │ │ +00017f10: 6e67 2061 7420 7072 6573 656e 742e 0a2a ng at present..* │ │ │ │ │ +00017f20: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ +00017f30: 7265 6d6f 7661 6c3a 3a20 2020 2020 2049 removal:: I │ │ │ │ │ +00017f40: 6d70 6572 6665 6374 696f 6e73 2074 6f20 mperfections to │ │ │ │ │ +00017f50: 6669 782e 0a0a 1f0a 4669 6c65 3a20 736b fix.....File: sk │ │ │ │ │ +00017f60: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +00017f70: 3a20 4c69 6d69 7473 206f 6e20 6572 726f : Limits on erro │ │ │ │ │ +00017f80: 7220 6465 7465 6374 696f 6e2c 2020 4e65 r detection, Ne │ │ │ │ │ +00017f90: 7874 3a20 436c 6970 7069 6e67 2c20 2050 xt: Clipping, P │ │ │ │ │ +00017fa0: 7265 763a 2043 6176 6561 7473 2c20 2055 rev: Caveats, U │ │ │ │ │ +00017fb0: 703a 2043 6176 6561 7473 0a0a 342e 342e p: Caveats..4.4. │ │ │ │ │ +00017fc0: 3120 4c69 6d69 7473 206f 6e20 e280 9873 1 Limits on ...s │ │ │ │ │ +00017fd0: 6b65 7463 68e2 8099 2065 7272 6f72 2064 ketch... error d │ │ │ │ │ +00017fe0: 6574 6563 7469 6f6e 0a2d 2d2d 2d2d 2d2d etection.------- │ │ │ │ │ 00017ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00018010: 2d2d 2d2d 2d0a 0ae2 8098 536b 6574 6368 -----.....Sketch │ │ │ │ │ -00018020: e280 9920 6361 7463 6865 7320 6d61 6e79 ... catches many │ │ │ │ │ -00018030: 206b 696e 6473 206f 6620 6572 726f 7273 kinds of errors │ │ │ │ │ -00018040: 2c20 6275 7420 6e6f 7420 616c 6c2e 2020 , but not all. │ │ │ │ │ -00018050: 466f 7220 6578 616d 706c 652c 0a6f 7074 For example,.opt │ │ │ │ │ -00018060: 696f 6e73 2074 6861 7420 736b 6574 6368 ions that sketch │ │ │ │ │ -00018070: 2064 6f65 7320 6e6f 7420 7265 636f 676e does not recogn │ │ │ │ │ -00018080: 697a 652c 2065 7665 6e20 696e 636f 7272 ize, even incorr │ │ │ │ │ -00018090: 6563 7420 6f6e 6573 2c20 6172 6520 7175 ect ones, are qu │ │ │ │ │ -000180a0: 6965 746c 790a 636f 7069 6564 2074 6f20 ietly.copied to │ │ │ │ │ -000180b0: e280 9850 5354 7269 636b 73e2 8099 2063 ...PSTricks... c │ │ │ │ │ -000180c0: 6f6d 6d61 6e64 7320 696e 2074 6865 206f ommands in the o │ │ │ │ │ -000180d0: 7574 7075 742e 2020 4974 2069 7320 616c utput. It is al │ │ │ │ │ -000180e0: 736f 2075 6e66 6f72 7475 6e61 7465 6c79 so unfortunately │ │ │ │ │ -000180f0: 0a65 6173 7920 746f 2070 726f 6475 6365 .easy to produce │ │ │ │ │ -00018100: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in │ │ │ │ │ -00018110: 7075 7473 2074 6861 7420 6c65 6164 2074 puts that lead t │ │ │ │ │ -00018120: 6f20 6e6f 2070 6963 7475 7265 2061 7420 o no picture at │ │ │ │ │ -00018130: 616c 6c20 2869 6d70 726f 7065 720a 7665 all (improper.ve │ │ │ │ │ -00018140: 7274 6578 206f 7264 6572 696e 6720 6361 rtex ordering ca │ │ │ │ │ -00018150: 7573 6573 2065 7665 7279 7468 696e 6720 uses everything │ │ │ │ │ -00018160: 746f 2062 6520 6375 6c6c 6564 292c 2074 to be culled), t │ │ │ │ │ -00018170: 6f20 7069 6374 7572 6573 2074 6861 7420 o pictures that │ │ │ │ │ -00018180: 6172 650a 746f 6f20 6269 6720 6f72 2074 are.too big or t │ │ │ │ │ -00018190: 6f6f 2073 6d61 6c6c 2066 6f72 20e2 8098 oo small for ... │ │ │ │ │ -000181a0: 5053 5472 6963 6b73 e280 9920 746f 2064 PSTricks... to d │ │ │ │ │ -000181b0: 7261 7720 2864 7565 2074 6f20 6c69 6d69 raw (due to limi │ │ │ │ │ -000181c0: 7473 206f 6620 5465 5820 6d61 7468 292c ts of TeX math), │ │ │ │ │ -000181d0: 0a61 6e64 2070 6963 7475 7265 7320 7468 .and pictures th │ │ │ │ │ -000181e0: 6174 206c 6f6f 6b20 6e6f 7468 696e 6720 at look nothing │ │ │ │ │ -000181f0: 6c69 6b65 2077 6861 7420 7761 7320 696e like what was in │ │ │ │ │ -00018200: 7465 6e64 6564 2e20 2041 2070 6963 7475 tended. A pictu │ │ │ │ │ -00018210: 7265 2077 6974 680a 6f6e 6520 6f66 2074 re with.one of t │ │ │ │ │ -00018220: 6865 7365 2070 726f 626c 656d 7320 6361 hese problems ca │ │ │ │ │ -00018230: 6e20 6265 2064 6966 6669 6375 6c74 2074 n be difficult t │ │ │ │ │ -00018240: 6f20 2264 6562 7567 2e22 2020 5765 206f o "debug." We o │ │ │ │ │ -00018250: 6666 6572 2074 6865 0a66 6f6c 6c6f 7769 ffer the.followi │ │ │ │ │ -00018260: 6e67 2073 7567 6765 7374 696f 6e73 2e0a ng suggestions.. │ │ │ │ │ -00018270: 2020 20e2 80a2 2046 6f6c 6c6f 7720 7468 ... Follow th │ │ │ │ │ -00018280: 6520 7375 6767 6573 7465 6420 696e 6372 e suggested incr │ │ │ │ │ -00018290: 656d 656e 7461 6c20 6465 7665 6c6f 706d emental developm │ │ │ │ │ -000182a0: 656e 7420 6d65 7468 6f64 2064 6573 6372 ent method descr │ │ │ │ │ -000182b0: 6962 6564 2069 6e0a 2020 2020 202a 6e6f ibed in. *no │ │ │ │ │ -000182c0: 7465 204f 7665 7276 6965 773a 3a2e 0a20 te Overview::.. │ │ │ │ │ -000182d0: 2020 e280 a220 416c 7761 7973 206d 6169 ... Always mai │ │ │ │ │ -000182e0: 6e74 6169 6e20 6f6e 6520 6f72 2074 776f ntain one or two │ │ │ │ │ -000182f0: 2062 6163 6b2d 7665 7273 696f 6e73 206f back-versions o │ │ │ │ │ -00018300: 6620 6120 6472 6177 696e 6720 736f 2074 f a drawing so t │ │ │ │ │ -00018310: 6861 7420 6974 2069 730a 2020 2020 2065 hat it is. e │ │ │ │ │ -00018320: 6173 7920 746f 2066 616c 6c20 6261 636b asy to fall back │ │ │ │ │ -00018330: 2074 6f20 6120 6b6e 6f77 6e2d 676f 6f64 to a known-good │ │ │ │ │ -00018340: 2069 6e63 7265 6d65 6e74 2e0a 2020 20e2 increment.. . │ │ │ │ │ -00018350: 80a2 2057 6865 6e20 7573 696e 6720 e280 .. When using .. │ │ │ │ │ -00018360: 9870 6572 7370 6563 7469 7665 e280 992c .perspective..., │ │ │ │ │ -00018370: 2065 6e73 7572 6520 616c 6c20 6669 6e61 ensure all fina │ │ │ │ │ -00018380: 6c6c 7920 7472 616e 7366 6f72 6d65 6420 lly transformed │ │ │ │ │ -00018390: 6f62 6a65 6374 730a 2020 2020 2073 6174 objects. sat │ │ │ │ │ -000183a0: 6973 6679 207a 3c30 2061 6e64 2c20 696e isfy z<0 and, in │ │ │ │ │ -000183b0: 2066 6163 742c 2064 6f20 6e6f 7420 636f fact, do not co │ │ │ │ │ -000183c0: 6d65 2076 6572 7920 636c 6f73 6520 746f me very close to │ │ │ │ │ -000183d0: 2074 6865 206f 7269 6769 6e20 6174 0a20 the origin at. │ │ │ │ │ -000183e0: 2020 2020 616c 6c2e 0a20 2020 e280 a220 all.. ... │ │ │ │ │ -000183f0: 5465 6d70 6f72 6172 696c 7920 7573 6520 Temporarily use │ │ │ │ │ -00018400: e280 9863 756c 6c3d 6661 6c73 65e2 8099 ...cull=false... │ │ │ │ │ -00018410: 2074 6f20 7365 6520 7768 6572 6520 7665 to see where ve │ │ │ │ │ -00018420: 7274 6578 206f 7264 6572 696e 6720 7072 rtex ordering pr │ │ │ │ │ -00018430: 6f62 6c65 6d73 0a20 2020 2020 6c69 652e oblems. lie. │ │ │ │ │ -00018440: 0a20 2020 e280 a220 5573 6520 7465 6d70 . ... Use temp │ │ │ │ │ -00018450: 6f72 6172 7920 6368 616e 6765 7320 6f66 orary changes of │ │ │ │ │ -00018460: 2063 6f6c 6f72 206f 6620 6f6e 6520 6f72 color of one or │ │ │ │ │ -00018470: 206d 6f72 6520 6f62 6a65 6374 7320 746f more objects to │ │ │ │ │ -00018480: 2065 6e73 7572 650a 2020 2020 2074 6861 ensure. tha │ │ │ │ │ -00018490: 7420 796f 7572 2075 6e64 6572 7374 616e t your understan │ │ │ │ │ -000184a0: 6469 6e67 206f 6620 7468 6520 7363 656e ding of the scen │ │ │ │ │ -000184b0: 6520 6765 6f6d 6574 7279 2069 7320 636f e geometry is co │ │ │ │ │ -000184c0: 7272 6563 742e 0a20 2020 e280 a220 4966 rrect.. ... If │ │ │ │ │ -000184d0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ -000184e0: 636f 6d70 6c61 696e 7320 6162 6f75 7420 complains about │ │ │ │ │ -000184f0: 736f 6d65 7468 696e 672c 2069 6e73 7065 something, inspe │ │ │ │ │ -00018500: 6374 2074 6865 206f 7574 7075 740a 2020 ct the output. │ │ │ │ │ -00018510: 2020 2064 6972 6563 746c 7920 666f 7220 directly for │ │ │ │ │ -00018520: 636c 7565 732e 0a0a 1f0a 4669 6c65 3a20 clues.....File: │ │ │ │ │ -00018530: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00018540: 6465 3a20 436c 6970 7069 6e67 2c20 204e de: Clipping, N │ │ │ │ │ -00018550: 6578 743a 2048 6964 6465 6e20 7375 7266 ext: Hidden surf │ │ │ │ │ -00018560: 6163 6520 7265 6d6f 7661 6c2c 2020 5072 ace removal, Pr │ │ │ │ │ -00018570: 6576 3a20 4c69 6d69 7473 206f 6e20 6572 ev: Limits on er │ │ │ │ │ -00018580: 726f 7220 6465 7465 6374 696f 6e2c 2020 ror detection, │ │ │ │ │ -00018590: 5570 3a20 4361 7665 6174 730a 0a34 2e34 Up: Caveats..4.4 │ │ │ │ │ -000185a0: 2e32 2043 6c69 7070 696e 670a 2d2d 2d2d .2 Clipping.---- │ │ │ │ │ -000185b0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6520 ----------..The │ │ │ │ │ -000185c0: 6375 7272 656e 7420 7665 7273 696f 6e20 current version │ │ │ │ │ -000185d0: 6f66 20e2 8098 736b 6574 6368 e280 9920 of ...sketch... │ │ │ │ │ -000185e0: 6861 7320 6e6f 2063 6c69 7070 696e 6720 has no clipping │ │ │ │ │ -000185f0: 6f70 6572 6174 696f 6e73 2e20 2054 6865 operations. The │ │ │ │ │ -00018600: 2065 6e74 6972 650a 7363 656e 6520 6973 entire.scene is │ │ │ │ │ -00018610: 2061 6c77 6179 7320 6472 6177 6e2e 2020 always drawn. │ │ │ │ │ -00018620: 5468 6973 206d 6561 6e73 2074 6861 7420 This means that │ │ │ │ │ -00018630: 7768 656e 2061 2070 6572 7370 6563 7469 when a perspecti │ │ │ │ │ -00018640: 7665 2074 7261 6e73 666f 726d 2069 730a ve transform is. │ │ │ │ │ -00018650: 656d 706c 6f79 6564 2c20 6974 2069 7320 employed, it is │ │ │ │ │ -00018660: 7468 6520 7573 6572 2773 2072 6573 706f the user's respo │ │ │ │ │ -00018670: 6e73 6962 696c 6974 7920 746f 206d 616b nsibility to mak │ │ │ │ │ -00018680: 6520 7375 7265 2074 6865 2065 6e74 6972 e sure the entir │ │ │ │ │ -00018690: 6520 7363 656e 650a 7265 6d61 696e 7320 e scene.remains │ │ │ │ │ -000186a0: 696e 2066 726f 6e74 206f 6620 7468 6520 in front of the │ │ │ │ │ -000186b0: 7669 6577 6572 2c20 7468 6520 7265 6769 viewer, the regi │ │ │ │ │ -000186c0: 6f6e 207a 3c30 2e0a 0a1f 0a46 696c 653a on z<0.....File: │ │ │ │ │ -000186d0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -000186e0: 6f64 653a 2048 6964 6465 6e20 7375 7266 ode: Hidden surf │ │ │ │ │ -000186f0: 6163 6520 7265 6d6f 7661 6c2c 2020 5072 ace removal, Pr │ │ │ │ │ -00018700: 6576 3a20 436c 6970 7069 6e67 2c20 2055 ev: Clipping, U │ │ │ │ │ -00018710: 703a 2043 6176 6561 7473 0a0a 342e 342e p: Caveats..4.4. │ │ │ │ │ -00018720: 3320 4869 6464 656e 2073 7572 6661 6365 3 Hidden surface │ │ │ │ │ -00018730: 2072 656d 6f76 616c 2061 6e64 2070 6f6c removal and pol │ │ │ │ │ -00018740: 7967 6f6e 2073 706c 6974 7469 6e67 0a2d ygon splitting.- │ │ │ │ │ +00018010: 2d0a 0ae2 8098 536b 6574 6368 e280 9920 -.....Sketch... │ │ │ │ │ +00018020: 6361 7463 6865 7320 6d61 6e79 206b 696e catches many kin │ │ │ │ │ +00018030: 6473 206f 6620 6572 726f 7273 2c20 6275 ds of errors, bu │ │ │ │ │ +00018040: 7420 6e6f 7420 616c 6c2e 2020 466f 7220 t not all. For │ │ │ │ │ +00018050: 6578 616d 706c 652c 0a6f 7074 696f 6e73 example,.options │ │ │ │ │ +00018060: 2074 6861 7420 736b 6574 6368 2064 6f65 that sketch doe │ │ │ │ │ +00018070: 7320 6e6f 7420 7265 636f 676e 697a 652c s not recognize, │ │ │ │ │ +00018080: 2065 7665 6e20 696e 636f 7272 6563 7420 even incorrect │ │ │ │ │ +00018090: 6f6e 6573 2c20 6172 6520 7175 6965 746c ones, are quietl │ │ │ │ │ +000180a0: 790a 636f 7069 6564 2074 6f20 e280 9850 y.copied to ...P │ │ │ │ │ +000180b0: 5354 7269 636b 73e2 8099 2063 6f6d 6d61 STricks... comma │ │ │ │ │ +000180c0: 6e64 7320 696e 2074 6865 206f 7574 7075 nds in the outpu │ │ │ │ │ +000180d0: 742e 2020 4974 2069 7320 616c 736f 2075 t. It is also u │ │ │ │ │ +000180e0: 6e66 6f72 7475 6e61 7465 6c79 0a65 6173 nfortunately.eas │ │ │ │ │ +000180f0: 7920 746f 2070 726f 6475 6365 20e2 8098 y to produce ... │ │ │ │ │ +00018100: 736b 6574 6368 e280 9920 696e 7075 7473 sketch... inputs │ │ │ │ │ +00018110: 2074 6861 7420 6c65 6164 2074 6f20 6e6f that lead to no │ │ │ │ │ +00018120: 2070 6963 7475 7265 2061 7420 616c 6c20 picture at all │ │ │ │ │ +00018130: 2869 6d70 726f 7065 720a 7665 7274 6578 (improper.vertex │ │ │ │ │ +00018140: 206f 7264 6572 696e 6720 6361 7573 6573 ordering causes │ │ │ │ │ +00018150: 2065 7665 7279 7468 696e 6720 746f 2062 everything to b │ │ │ │ │ +00018160: 6520 6375 6c6c 6564 292c 2074 6f20 7069 e culled), to pi │ │ │ │ │ +00018170: 6374 7572 6573 2074 6861 7420 6172 650a ctures that are. │ │ │ │ │ +00018180: 746f 6f20 6269 6720 6f72 2074 6f6f 2073 too big or too s │ │ │ │ │ +00018190: 6d61 6c6c 2066 6f72 20e2 8098 5053 5472 mall for ...PSTr │ │ │ │ │ +000181a0: 6963 6b73 e280 9920 746f 2064 7261 7720 icks... to draw │ │ │ │ │ +000181b0: 2864 7565 2074 6f20 6c69 6d69 7473 206f (due to limits o │ │ │ │ │ +000181c0: 6620 5465 5820 6d61 7468 292c 0a61 6e64 f TeX math),.and │ │ │ │ │ +000181d0: 2070 6963 7475 7265 7320 7468 6174 206c pictures that l │ │ │ │ │ +000181e0: 6f6f 6b20 6e6f 7468 696e 6720 6c69 6b65 ook nothing like │ │ │ │ │ +000181f0: 2077 6861 7420 7761 7320 696e 7465 6e64 what was intend │ │ │ │ │ +00018200: 6564 2e20 2041 2070 6963 7475 7265 2077 ed. A picture w │ │ │ │ │ +00018210: 6974 680a 6f6e 6520 6f66 2074 6865 7365 ith.one of these │ │ │ │ │ +00018220: 2070 726f 626c 656d 7320 6361 6e20 6265 problems can be │ │ │ │ │ +00018230: 2064 6966 6669 6375 6c74 2074 6f20 2264 difficult to "d │ │ │ │ │ +00018240: 6562 7567 2e22 2020 5765 206f 6666 6572 ebug." We offer │ │ │ │ │ +00018250: 2074 6865 0a66 6f6c 6c6f 7769 6e67 2073 the.following s │ │ │ │ │ +00018260: 7567 6765 7374 696f 6e73 2e0a 2020 20e2 uggestions.. . │ │ │ │ │ +00018270: 80a2 2046 6f6c 6c6f 7720 7468 6520 7375 .. Follow the su │ │ │ │ │ +00018280: 6767 6573 7465 6420 696e 6372 656d 656e ggested incremen │ │ │ │ │ +00018290: 7461 6c20 6465 7665 6c6f 706d 656e 7420 tal development │ │ │ │ │ +000182a0: 6d65 7468 6f64 2064 6573 6372 6962 6564 method described │ │ │ │ │ +000182b0: 2069 6e0a 2020 2020 202a 6e6f 7465 204f in. *note O │ │ │ │ │ +000182c0: 7665 7276 6965 773a 3a2e 0a20 2020 e280 verview::.. .. │ │ │ │ │ +000182d0: a220 416c 7761 7973 206d 6169 6e74 6169 . Always maintai │ │ │ │ │ +000182e0: 6e20 6f6e 6520 6f72 2074 776f 2062 6163 n one or two bac │ │ │ │ │ +000182f0: 6b2d 7665 7273 696f 6e73 206f 6620 6120 k-versions of a │ │ │ │ │ +00018300: 6472 6177 696e 6720 736f 2074 6861 7420 drawing so that │ │ │ │ │ +00018310: 6974 2069 730a 2020 2020 2065 6173 7920 it is. easy │ │ │ │ │ +00018320: 746f 2066 616c 6c20 6261 636b 2074 6f20 to fall back to │ │ │ │ │ +00018330: 6120 6b6e 6f77 6e2d 676f 6f64 2069 6e63 a known-good inc │ │ │ │ │ +00018340: 7265 6d65 6e74 2e0a 2020 20e2 80a2 2057 rement.. ... W │ │ │ │ │ +00018350: 6865 6e20 7573 696e 6720 e280 9870 6572 hen using ...per │ │ │ │ │ +00018360: 7370 6563 7469 7665 e280 992c 2065 6e73 spective..., ens │ │ │ │ │ +00018370: 7572 6520 616c 6c20 6669 6e61 6c6c 7920 ure all finally │ │ │ │ │ +00018380: 7472 616e 7366 6f72 6d65 6420 6f62 6a65 transformed obje │ │ │ │ │ +00018390: 6374 730a 2020 2020 2073 6174 6973 6679 cts. satisfy │ │ │ │ │ +000183a0: 207a 3c30 2061 6e64 2c20 696e 2066 6163 z<0 and, in fac │ │ │ │ │ +000183b0: 742c 2064 6f20 6e6f 7420 636f 6d65 2076 t, do not come v │ │ │ │ │ +000183c0: 6572 7920 636c 6f73 6520 746f 2074 6865 ery close to the │ │ │ │ │ +000183d0: 206f 7269 6769 6e20 6174 0a20 2020 2020 origin at. │ │ │ │ │ +000183e0: 616c 6c2e 0a20 2020 e280 a220 5465 6d70 all.. ... Temp │ │ │ │ │ +000183f0: 6f72 6172 696c 7920 7573 6520 e280 9863 orarily use ...c │ │ │ │ │ +00018400: 756c 6c3d 6661 6c73 65e2 8099 2074 6f20 ull=false... to │ │ │ │ │ +00018410: 7365 6520 7768 6572 6520 7665 7274 6578 see where vertex │ │ │ │ │ +00018420: 206f 7264 6572 696e 6720 7072 6f62 6c65 ordering proble │ │ │ │ │ +00018430: 6d73 0a20 2020 2020 6c69 652e 0a20 2020 ms. lie.. │ │ │ │ │ +00018440: e280 a220 5573 6520 7465 6d70 6f72 6172 ... Use temporar │ │ │ │ │ +00018450: 7920 6368 616e 6765 7320 6f66 2063 6f6c y changes of col │ │ │ │ │ +00018460: 6f72 206f 6620 6f6e 6520 6f72 206d 6f72 or of one or mor │ │ │ │ │ +00018470: 6520 6f62 6a65 6374 7320 746f 2065 6e73 e objects to ens │ │ │ │ │ +00018480: 7572 650a 2020 2020 2074 6861 7420 796f ure. that yo │ │ │ │ │ +00018490: 7572 2075 6e64 6572 7374 616e 6469 6e67 ur understanding │ │ │ │ │ +000184a0: 206f 6620 7468 6520 7363 656e 6520 6765 of the scene ge │ │ │ │ │ +000184b0: 6f6d 6574 7279 2069 7320 636f 7272 6563 ometry is correc │ │ │ │ │ +000184c0: 742e 0a20 2020 e280 a220 4966 20e2 8098 t.. ... If ... │ │ │ │ │ +000184d0: 5053 5472 6963 6b73 e280 9920 636f 6d70 PSTricks... comp │ │ │ │ │ +000184e0: 6c61 696e 7320 6162 6f75 7420 736f 6d65 lains about some │ │ │ │ │ +000184f0: 7468 696e 672c 2069 6e73 7065 6374 2074 thing, inspect t │ │ │ │ │ +00018500: 6865 206f 7574 7075 740a 2020 2020 2064 he output. d │ │ │ │ │ +00018510: 6972 6563 746c 7920 666f 7220 636c 7565 irectly for clue │ │ │ │ │ +00018520: 732e 0a0a 1f0a 4669 6c65 3a20 736b 6574 s.....File: sket │ │ │ │ │ +00018530: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00018540: 436c 6970 7069 6e67 2c20 204e 6578 743a Clipping, Next: │ │ │ │ │ +00018550: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ +00018560: 7265 6d6f 7661 6c2c 2020 5072 6576 3a20 removal, Prev: │ │ │ │ │ +00018570: 4c69 6d69 7473 206f 6e20 6572 726f 7220 Limits on error │ │ │ │ │ +00018580: 6465 7465 6374 696f 6e2c 2020 5570 3a20 detection, Up: │ │ │ │ │ +00018590: 4361 7665 6174 730a 0a34 2e34 2e32 2043 Caveats..4.4.2 C │ │ │ │ │ +000185a0: 6c69 7070 696e 670a 2d2d 2d2d 2d2d 2d2d lipping.-------- │ │ │ │ │ +000185b0: 2d2d 2d2d 2d2d 0a0a 5468 6520 6375 7272 ------..The curr │ │ │ │ │ +000185c0: 656e 7420 7665 7273 696f 6e20 6f66 20e2 ent version of . │ │ │ │ │ +000185d0: 8098 736b 6574 6368 e280 9920 6861 7320 ..sketch... has │ │ │ │ │ +000185e0: 6e6f 2063 6c69 7070 696e 6720 6f70 6572 no clipping oper │ │ │ │ │ +000185f0: 6174 696f 6e73 2e20 2054 6865 2065 6e74 ations. The ent │ │ │ │ │ +00018600: 6972 650a 7363 656e 6520 6973 2061 6c77 ire.scene is alw │ │ │ │ │ +00018610: 6179 7320 6472 6177 6e2e 2020 5468 6973 ays drawn. This │ │ │ │ │ +00018620: 206d 6561 6e73 2074 6861 7420 7768 656e means that when │ │ │ │ │ +00018630: 2061 2070 6572 7370 6563 7469 7665 2074 a perspective t │ │ │ │ │ +00018640: 7261 6e73 666f 726d 2069 730a 656d 706c ransform is.empl │ │ │ │ │ +00018650: 6f79 6564 2c20 6974 2069 7320 7468 6520 oyed, it is the │ │ │ │ │ +00018660: 7573 6572 2773 2072 6573 706f 6e73 6962 user's responsib │ │ │ │ │ +00018670: 696c 6974 7920 746f 206d 616b 6520 7375 ility to make su │ │ │ │ │ +00018680: 7265 2074 6865 2065 6e74 6972 6520 7363 re the entire sc │ │ │ │ │ +00018690: 656e 650a 7265 6d61 696e 7320 696e 2066 ene.remains in f │ │ │ │ │ +000186a0: 726f 6e74 206f 6620 7468 6520 7669 6577 ront of the view │ │ │ │ │ +000186b0: 6572 2c20 7468 6520 7265 6769 6f6e 207a er, the region z │ │ │ │ │ +000186c0: 3c30 2e0a 0a1f 0a46 696c 653a 2073 6b65 <0.....File: ske │ │ │ │ │ +000186d0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +000186e0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ +000186f0: 7265 6d6f 7661 6c2c 2020 5072 6576 3a20 removal, Prev: │ │ │ │ │ +00018700: 436c 6970 7069 6e67 2c20 2055 703a 2043 Clipping, Up: C │ │ │ │ │ +00018710: 6176 6561 7473 0a0a 342e 342e 3320 4869 aveats..4.4.3 Hi │ │ │ │ │ +00018720: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem │ │ │ │ │ +00018730: 6f76 616c 2061 6e64 2070 6f6c 7967 6f6e oval and polygon │ │ │ │ │ +00018740: 2073 706c 6974 7469 6e67 0a2d 2d2d 2d2d splitting.----- │ │ │ │ │ 00018750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00018760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00018770: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00018780: 2d0a 0ae2 8098 536b 6574 6368 e280 9920 -.....Sketch... │ │ │ │ │ -00018790: 7573 6573 2074 6865 20e2 809c 6465 7074 uses the ...dept │ │ │ │ │ -000187a0: 6820 736f 7274 2061 6c67 6f72 6974 686d h sort algorithm │ │ │ │ │ -000187b0: e280 9d20 666f 7220 6869 6464 656e 2073 ... for hidden s │ │ │ │ │ -000187c0: 7572 6661 6365 2072 656d 6f76 616c 2e0a urface removal.. │ │ │ │ │ -000187d0: 5468 6973 2069 7320 6120 7665 7279 206f This is a very o │ │ │ │ │ -000187e0: 6c64 2074 6563 686e 6971 7565 2064 7565 ld technique due │ │ │ │ │ -000187f0: 2074 6f20 4e65 7765 6c6c 2e28 3129 2020 to Newell.(1) │ │ │ │ │ -00018800: 4974 2069 7320 6765 6e65 7261 6c6c 7920 It is generally │ │ │ │ │ -00018810: 7265 6761 7264 6564 0a61 7320 746f 6f20 regarded.as too │ │ │ │ │ -00018820: 736c 6f77 2066 6f72 2072 6561 6c20 7469 slow for real ti │ │ │ │ │ -00018830: 6d65 2067 7261 7068 6963 732c 2062 7574 me graphics, but │ │ │ │ │ -00018840: 2069 7420 6973 2069 6465 616c 2066 6f72 it is ideal for │ │ │ │ │ -00018850: 206f 7572 2070 7572 706f 7365 0a77 6865 our purpose.whe │ │ │ │ │ -00018860: 7265 2073 7065 6564 2069 7320 6e6f 7420 re speed is not │ │ │ │ │ -00018870: 7665 7279 2069 6d70 6f72 7461 6e74 2e28 very important.( │ │ │ │ │ -00018880: 3229 0a0a 2020 2054 6865 2064 6570 7468 2).. The depth │ │ │ │ │ -00018890: 2073 6f72 7420 616c 676f 7269 7468 6d20 sort algorithm │ │ │ │ │ -000188a0: 6d65 7265 6c79 2073 6f72 7473 206f 626a merely sorts obj │ │ │ │ │ -000188b0: 6563 7473 206f 6e20 6120 6b65 7920 6f66 ects on a key of │ │ │ │ │ -000188c0: 2069 6e63 7265 6173 696e 670a 7a2d 636f increasing.z-co │ │ │ │ │ -000188d0: 6f72 6469 6e61 7465 2c20 6571 7569 7661 ordinate, equiva │ │ │ │ │ -000188e0: 6c65 6e74 2074 6f20 6465 6372 6561 7369 lent to decreasi │ │ │ │ │ -000188f0: 6e67 2064 6570 7468 2e20 204f 626a 6563 ng depth. Objec │ │ │ │ │ -00018900: 7473 2061 7265 2074 6865 6e20 6472 6177 ts are then draw │ │ │ │ │ -00018910: 6e20 696e 0a74 6865 2073 6f72 7465 6420 n in.the sorted │ │ │ │ │ -00018920: 7365 7175 656e 6365 2073 6f20 7468 6174 sequence so that │ │ │ │ │ -00018930: 2074 686f 7365 2061 7420 7468 6520 7265 those at the re │ │ │ │ │ -00018940: 6172 206f 6620 7468 6520 7363 656e 6520 ar of the scene │ │ │ │ │ -00018950: 6172 650a 6f76 6572 7772 6974 7465 6e20 are.overwritten │ │ │ │ │ -00018960: 6279 2074 686f 7365 2063 6c6f 7365 7220 by those closer │ │ │ │ │ -00018970: 746f 2074 6865 2076 6965 7765 722e 2020 to the viewer. │ │ │ │ │ -00018980: 5369 6e63 6520 7468 6973 2069 7320 616c Since this is al │ │ │ │ │ -00018990: 736f 2068 6f77 206f 696c 0a70 6169 6e74 so how oil.paint │ │ │ │ │ -000189a0: 6572 7320 7072 6163 7469 6365 2074 6865 ers practice the │ │ │ │ │ -000189b0: 6972 2061 7274 2c20 6465 7074 6820 736f ir art, depth so │ │ │ │ │ -000189c0: 7274 2069 7320 736f 6d65 7469 6d65 7320 rt is sometimes │ │ │ │ │ -000189d0: 6361 6c6c 6564 2022 7468 650a 7061 696e called "the.pain │ │ │ │ │ -000189e0: 7465 7227 7320 616c 676f 7269 7468 6d2e ter's algorithm. │ │ │ │ │ -000189f0: 220a 0a20 2020 496e 2073 6f6d 6520 6361 ".. In some ca │ │ │ │ │ -00018a00: 7365 7320 6974 2069 7320 696d 706f 7373 ses it is imposs │ │ │ │ │ -00018a10: 6962 6c65 2074 6f20 7374 7269 6374 6c79 ible to strictly │ │ │ │ │ -00018a20: 206f 7264 6572 2070 6f6c 7967 6f6e 7320 order polygons │ │ │ │ │ -00018a30: 6163 636f 7264 696e 670a 746f 2064 6570 according.to dep │ │ │ │ │ -00018a40: 7468 2e20 204d 6f72 656f 7665 722c 2065 th. Moreover, e │ │ │ │ │ -00018a50: 7665 6e20 6966 2061 2063 6f72 7265 6374 ven if a correct │ │ │ │ │ -00018a60: 2064 6570 7468 206f 7264 6572 696e 6720 depth ordering │ │ │ │ │ -00018a70: 6578 6973 7473 2c20 7468 650a 636f 6d70 exists, the.comp │ │ │ │ │ -00018a80: 7574 6174 696f 6e20 6e65 6564 6564 2074 utation needed t │ │ │ │ │ -00018a90: 6f20 6669 6e64 2069 7420 6d61 7920 6265 o find it may be │ │ │ │ │ -00018aa0: 2074 6f6f 2063 6f6d 706c 6578 2061 6e64 too complex and │ │ │ │ │ -00018ab0: 2073 6c6f 772e 2020 496e 2074 6865 7365 slow. In these │ │ │ │ │ -00018ac0: 0a63 6173 6573 2c20 e280 9873 6b65 7463 .cases, ...sketc │ │ │ │ │ -00018ad0: 68e2 8099 2073 706c 6974 7320 6f6e 6520 h... splits one │ │ │ │ │ -00018ae0: 6f72 206d 6f72 6520 706f 6c79 676f 6e73 or more polygons │ │ │ │ │ -00018af0: 2069 6e74 6f20 7069 6563 6573 2e20 2054 into pieces. T │ │ │ │ │ -00018b00: 6865 0a65 7870 6563 7461 7469 6f6e 2069 he.expectation i │ │ │ │ │ -00018b10: 7320 7468 6174 2074 6865 206e 6577 2c20 s that the new, │ │ │ │ │ -00018b20: 736d 616c 6c65 7220 706f 6c79 676f 6e73 smaller polygons │ │ │ │ │ -00018b30: 2077 696c 6c20 6265 2073 696d 706c 6572 will be simpler │ │ │ │ │ -00018b40: 2074 6f20 6f72 6465 722e 0ae2 8098 536b to order.....Sk │ │ │ │ │ -00018b50: 6574 6368 e280 9920 7573 6573 2061 2042 etch... uses a B │ │ │ │ │ -00018b60: 5350 2028 6269 6e61 7279 2073 7061 6365 SP (binary space │ │ │ │ │ -00018b70: 2070 6172 7469 7469 6f6e 2920 746f 2068 partition) to h │ │ │ │ │ -00018b80: 616e 646c 6520 7468 6520 7370 6c69 7474 andle the splitt │ │ │ │ │ -00018b90: 696e 670a 6f70 6572 6174 696f 6e2e 0a0a ing.operation... │ │ │ │ │ -00018ba0: 2a20 4d65 6e75 3a0a 0a2a 2053 7461 7469 * Menu:..* Stati │ │ │ │ │ -00018bb0: 7374 6963 733a 3a20 2020 2020 2020 2020 stics:: │ │ │ │ │ -00018bc0: 2020 2020 2020 2020 2050 6572 666f 726d Perform │ │ │ │ │ -00018bd0: 616e 6365 206e 756d 6265 7273 206f 6e20 ance numbers on │ │ │ │ │ -00018be0: 6465 7074 6820 736f 7274 2e0a 2a20 4275 depth sort..* Bu │ │ │ │ │ -00018bf0: 6773 2061 6e64 2061 6e6f 6d61 6c69 6573 gs and anomalies │ │ │ │ │ -00018c00: 3a3a 2020 2020 2020 2020 2020 496d 7065 :: Impe │ │ │ │ │ -00018c10: 7266 6563 7469 6f6e 7320 696e 2074 6869 rfections in thi │ │ │ │ │ -00018c20: 7320 696d 706c 656d 656e 7461 7469 6f6e s implementation │ │ │ │ │ -00018c30: 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d 2d2d ... ---------- │ │ │ │ │ -00018c40: 2046 6f6f 746e 6f74 6573 202d 2d2d 2d2d Footnotes ----- │ │ │ │ │ -00018c50: 2d2d 2d2d 2d0a 0a20 2020 2831 2920 4e65 -----.. (1) Ne │ │ │ │ │ -00018c60: 7765 6c6c 2c20 4d2e 452e 2c20 522e 472e well, M.E., R.G. │ │ │ │ │ -00018c70: 204e 6577 656c 6c2c 2061 6e64 2054 2e4c Newell, and T.L │ │ │ │ │ -00018c80: 2e20 5361 6e63 6861 2c20 4120 736f 6c75 . Sancha, A solu │ │ │ │ │ -00018c90: 7469 6f6e 2074 6f20 7468 650a 6869 6464 tion to the.hidd │ │ │ │ │ -00018ca0: 656e 2073 7572 6661 6365 2070 726f 626c en surface probl │ │ │ │ │ -00018cb0: 656d 2e20 2050 726f 6365 6564 696e 6773 em. Proceedings │ │ │ │ │ -00018cc0: 206f 6620 7468 6520 4143 4d20 616e 6e75 of the ACM annu │ │ │ │ │ -00018cd0: 616c 2063 6f6e 6665 7265 6e63 6520 2d0a al conference -. │ │ │ │ │ -00018ce0: 566f 6c75 6d65 2031 2c20 7061 6765 2034 Volume 1, page 4 │ │ │ │ │ -00018cf0: 3433 2d34 3530 2c20 4143 4d20 5072 6573 43-450, ACM Pres │ │ │ │ │ -00018d00: 732c 2031 3937 322e 0a0a 2020 2028 3229 s, 1972... (2) │ │ │ │ │ -00018d10: 2057 6520 6861 7665 2072 756e 20e2 8098 We have run ... │ │ │ │ │ -00018d20: 736b 6574 6368 e280 9920 6f6e 2074 6865 sketch... on the │ │ │ │ │ -00018d30: 2066 616d 6f75 7320 5374 616e 666f 7264 famous Stanford │ │ │ │ │ -00018d40: 2042 756e 6e79 2c20 7768 6963 6820 636f Bunny, which co │ │ │ │ │ -00018d50: 6e73 6973 7473 0a6f 6620 6e65 6172 6c79 nsists.of nearly │ │ │ │ │ -00018d60: 2037 302c 3030 3020 7472 6961 6e67 6c65 70,000 triangle │ │ │ │ │ -00018d70: 732e 2020 5275 6e20 7469 6d65 2077 6173 s. Run time was │ │ │ │ │ -00018d80: 2061 626f 7574 2036 2073 6563 6f6e 6473 about 6 seconds │ │ │ │ │ -00018d90: 2e20 204d 6f73 7420 6f66 2074 6869 730a . Most of this. │ │ │ │ │ -00018da0: 7761 7320 7370 656e 7420 7772 6974 696e was spent writin │ │ │ │ │ -00018db0: 6720 7468 6520 6f75 7470 7574 2066 696c g the output fil │ │ │ │ │ -00018dc0: 6520 7261 7468 6572 2074 6861 6e20 696e e rather than in │ │ │ │ │ -00018dd0: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf │ │ │ │ │ -00018de0: 6163 650a 616c 676f 7269 7468 6d2e 2020 ace.algorithm. │ │ │ │ │ -00018df0: 4c61 5465 5820 746f 6f6b 206d 7563 6820 LaTeX took much │ │ │ │ │ -00018e00: 6c6f 6e67 6572 2074 6f20 7072 6f63 6573 longer to proces │ │ │ │ │ -00018e10: 7320 7468 6520 7265 7375 6c74 696e 6720 s the resulting │ │ │ │ │ -00018e20: e280 9850 5354 7269 636b 73e2 8099 0a63 ...PSTricks....c │ │ │ │ │ -00018e30: 6f64 652e 2020 5468 6520 6f62 7669 6f75 ode. The obviou │ │ │ │ │ -00018e40: 7320 636f 6e63 6c75 7369 6f6e 2069 7320 s conclusion is │ │ │ │ │ -00018e50: 7468 6174 2074 6865 2073 7065 6564 206f that the speed o │ │ │ │ │ -00018e60: 6620 7468 6520 6465 7074 6820 736f 7274 f the depth sort │ │ │ │ │ -00018e70: 0a61 6c67 6f72 6974 686d 2069 7320 6e6f .algorithm is no │ │ │ │ │ -00018e80: 7420 6120 776f 7272 792e 0a0a 1f0a 4669 t a worry.....Fi │ │ │ │ │ -00018e90: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00018ea0: 2020 4e6f 6465 3a20 5374 6174 6973 7469 Node: Statisti │ │ │ │ │ -00018eb0: 6373 2c20 204e 6578 743a 2042 7567 7320 cs, Next: Bugs │ │ │ │ │ -00018ec0: 616e 6420 616e 6f6d 616c 6965 732c 2020 and anomalies, │ │ │ │ │ -00018ed0: 5072 6576 3a20 4869 6464 656e 2073 7572 Prev: Hidden sur │ │ │ │ │ -00018ee0: 6661 6365 2072 656d 6f76 616c 2c20 2055 face removal, U │ │ │ │ │ -00018ef0: 703a 2048 6964 6465 6e20 7375 7266 6163 p: Hidden surfac │ │ │ │ │ -00018f00: 6520 7265 6d6f 7661 6c0a 0a34 2e34 2e33 e removal..4.4.3 │ │ │ │ │ -00018f10: 2e31 2053 7461 7469 7374 6963 730a 2e2e .1 Statistics... │ │ │ │ │ -00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00018f30: 0a0a 466f 7220 7468 6520 6375 7269 6f75 ..For the curiou │ │ │ │ │ -00018f40: 732c 20e2 8098 736b 6574 6368 e280 9920 s, ...sketch... │ │ │ │ │ -00018f50: 7772 6974 6573 206f 6e65 206c 696e 6520 writes one line │ │ │ │ │ -00018f60: 6f66 2064 6570 7468 2073 6f72 7420 7374 of depth sort st │ │ │ │ │ -00018f70: 6174 6973 7469 6373 2e0a 4865 7265 2069 atistics..Here i │ │ │ │ │ -00018f80: 7320 616e 2065 7861 6d70 6c65 2066 6f72 s an example for │ │ │ │ │ -00018f90: 2061 206c 6172 6765 2063 6f6c 6c65 6374 a large collect │ │ │ │ │ -00018fa0: 696f 6e20 6f66 2074 7269 616e 676c 6573 ion of triangles │ │ │ │ │ -00018fb0: 2e0a 2020 7265 6d61 726b 2c20 6e6f 6465 .. remark, node │ │ │ │ │ -00018fc0: 3d33 3438 3234 2070 726f 6265 3d35 3831 =34824 probe=581 │ │ │ │ │ -00018fd0: 2e39 2073 7761 703d 3520 7370 6c69 743d .9 swap=5 split= │ │ │ │ │ -00018fe0: 3220 2869 6e3d 3420 6f75 743d 3629 206f 2 (in=4 out=6) o │ │ │ │ │ -00018ff0: 6c73 3d32 3438 3531 2f30 0a49 7420 6d65 ls=24851/0.It me │ │ │ │ │ -00019000: 616e 7320 7468 6174 2033 342c 3832 3420 ans that 34,824 │ │ │ │ │ -00019010: 6f62 6a65 6374 7320 7765 7265 2064 6570 objects were dep │ │ │ │ │ -00019020: 7468 2073 6f72 7465 6420 6166 7465 7220 th sorted after │ │ │ │ │ -00019030: 6375 6c6c 696e 672e 2020 466f 7220 6561 culling. For ea │ │ │ │ │ -00019040: 6368 2c0a 616e 2061 7665 7261 6765 206f ch,.an average o │ │ │ │ │ -00019050: 6620 3538 312e 3920 6f74 6865 7273 2068 f 581.9 others h │ │ │ │ │ -00019060: 6164 2074 6f20 6265 2063 6865 636b 6564 ad to be checked │ │ │ │ │ -00019070: 2074 6f20 656e 7375 7265 2074 6861 7420 to ensure that │ │ │ │ │ -00019080: 7468 6520 696e 6974 6961 6c2c 0a61 7070 the initial,.app │ │ │ │ │ -00019090: 726f 7869 6d61 7465 206f 7264 6572 696e roximate orderin │ │ │ │ │ -000190a0: 6720 7761 7320 636f 7272 6563 742e 2020 g was correct. │ │ │ │ │ -000190b0: 416d 6f6e 6720 616c 6c20 7468 6573 6520 Among all these │ │ │ │ │ -000190c0: 6368 6563 6b73 2c20 6f6e 6c79 2035 0a72 checks, only 5.r │ │ │ │ │ -000190d0: 6573 756c 7465 6420 696e 2073 7761 7073 esulted in swaps │ │ │ │ │ -000190e0: 2074 6f20 7265 6f72 6465 7220 7468 6520 to reorder the │ │ │ │ │ -000190f0: 696e 6974 6961 6c20 736f 7274 2e20 2049 initial sort. I │ │ │ │ │ -00019100: 6e20 7477 6f20 6361 7365 732c 2061 2063 n two cases, a c │ │ │ │ │ -00019110: 6f72 7265 6374 0a6f 7264 6572 696e 6720 orrect.ordering │ │ │ │ │ -00019120: 636f 756c 6420 6e6f 7420 6265 2064 6574 could not be det │ │ │ │ │ -00019130: 6572 6d69 6e65 642c 2073 6f20 6269 6e61 ermined, so bina │ │ │ │ │ -00019140: 7279 2073 7061 6365 2070 6172 7469 7469 ry space partiti │ │ │ │ │ -00019150: 6f6e 7320 7765 7265 0a63 6f6e 7374 7275 ons were.constru │ │ │ │ │ -00019160: 6374 6564 2066 6f72 2073 706c 6974 7469 cted for splitti │ │ │ │ │ -00019170: 6e67 2e20 2041 2074 6f74 616c 206f 6620 ng. A total of │ │ │ │ │ -00019180: 3420 6f62 6a65 6374 7320 2874 7269 616e 4 objects (trian │ │ │ │ │ -00019190: 676c 6573 2069 6e20 7468 6973 0a63 6173 gles in this.cas │ │ │ │ │ -000191a0: 6529 2077 6572 6520 696e 7365 7274 6564 e) were inserted │ │ │ │ │ -000191b0: 2069 6e20 7468 6520 7061 7274 6974 696f in the partitio │ │ │ │ │ -000191c0: 6e73 2c20 616e 6420 3620 706f 6c79 676f ns, and 6 polygo │ │ │ │ │ -000191d0: 6e73 2077 6572 6520 7072 6f64 7563 6564 ns were produced │ │ │ │ │ -000191e0: 2e0a 4669 6e61 6c6c 792c 2032 342c 3835 ..Finally, 24,85 │ │ │ │ │ -000191f0: 3120 226c 6173 7420 7265 736f 7274 2220 1 "last resort" │ │ │ │ │ -00019200: 706f 6c79 676f 6e20 6f76 6572 6c61 7020 polygon overlap │ │ │ │ │ -00019210: 6368 6563 6b73 2077 6572 6520 7065 7266 checks were perf │ │ │ │ │ -00019220: 6f72 6d65 640a 6166 7465 7220 7369 6d70 ormed.after simp │ │ │ │ │ -00019230: 6c65 722c 2066 6173 7465 7220 6368 6563 ler, faster chec │ │ │ │ │ -00019240: 6b73 2066 6169 6c65 6420 746f 2079 6965 ks failed to yie │ │ │ │ │ -00019250: 6c64 2063 6f6e 636c 7573 6976 6520 7265 ld conclusive re │ │ │ │ │ -00019260: 7375 6c74 732e 2020 5468 650a 6669 6e61 sults. The.fina │ │ │ │ │ -00019270: 6c20 2f30 2069 7320 666f 7220 6c69 6e65 l /0 is for line │ │ │ │ │ -00019280: 2d70 6f6c 7967 6f6e 206f 7665 726c 6170 -polygon overlap │ │ │ │ │ -00019290: 2063 6865 636b 732e 2020 466f 7220 636f checks. For co │ │ │ │ │ -000192a0: 6d70 6172 6973 6f6e 2c20 7468 650a 7374 mparison, the.st │ │ │ │ │ -000192b0: 6174 6973 7469 6373 2066 6f72 2074 6865 atistics for the │ │ │ │ │ -000192c0: 206c 6173 7420 6669 6775 7265 2069 6e20 last figure in │ │ │ │ │ -000192d0: 2a6e 6f74 6520 4f76 6572 7669 6577 3a3a *note Overview:: │ │ │ │ │ -000192e0: 2066 6f6c 6c6f 772e 0a20 2072 656d 6172 follow.. remar │ │ │ │ │ -000192f0: 6b2c 206e 6f64 653d 3237 2070 726f 6265 k, node=27 probe │ │ │ │ │ -00019300: 3d31 342e 3620 7377 6170 3d33 3620 7370 =14.6 swap=36 sp │ │ │ │ │ -00019310: 6c69 743d 3135 2028 696e 3d33 3020 6f75 lit=15 (in=30 ou │ │ │ │ │ -00019320: 743d 3435 2920 6f6c 733d 302f 3639 0a4e t=45) ols=0/69.N │ │ │ │ │ -00019330: 6f74 6520 7468 6174 2074 6865 7265 2077 ote that there w │ │ │ │ │ -00019340: 6173 2070 726f 706f 7274 696f 6e61 6c6c as proportionall │ │ │ │ │ -00019350: 7920 6d75 6368 206d 6f72 6520 7377 6170 y much more swap │ │ │ │ │ -00019360: 7069 6e67 2061 6e64 2073 706c 6974 7469 ping and splitti │ │ │ │ │ -00019370: 6e67 0a61 6374 6976 6974 7920 696e 2074 ng.activity in t │ │ │ │ │ -00019380: 6869 7320 6869 6768 6c79 2063 6f6e 6e65 his highly conne │ │ │ │ │ -00019390: 6374 6564 2073 6365 6e65 2e0a 0a1f 0a46 cted scene.....F │ │ │ │ │ -000193a0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -000193b0: 2c20 204e 6f64 653a 2042 7567 7320 616e , Node: Bugs an │ │ │ │ │ -000193c0: 6420 616e 6f6d 616c 6965 732c 2020 5072 d anomalies, Pr │ │ │ │ │ -000193d0: 6576 3a20 5374 6174 6973 7469 6373 2c20 ev: Statistics, │ │ │ │ │ -000193e0: 2055 703a 2048 6964 6465 6e20 7375 7266 Up: Hidden surf │ │ │ │ │ -000193f0: 6163 6520 7265 6d6f 7661 6c0a 0a34 2e34 ace removal..4.4 │ │ │ │ │ -00019400: 2e33 2e32 2042 7567 7320 616e 6420 616e .3.2 Bugs and an │ │ │ │ │ -00019410: 6f6d 616c 6965 730a 2e2e 2e2e 2e2e 2e2e omalies......... │ │ │ │ │ -00019420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00019430: 2e2e 0a0a 506f 6c79 676f 6e20 616e 6420 ....Polygon and │ │ │ │ │ -00019440: 6c69 6e65 2073 706c 6974 7469 6e67 2063 line splitting c │ │ │ │ │ -00019450: 616e 2062 6f74 6820 6361 7573 6520 616e an both cause an │ │ │ │ │ -00019460: 6f6d 616c 6965 7320 696e 2074 6865 206f omalies in the o │ │ │ │ │ -00019470: 7574 7075 742e 0ae2 8098 5053 5472 6963 utput.....PSTric │ │ │ │ │ -00019480: 6b73 e280 9920 6461 7368 2070 6174 7465 ks... dash patte │ │ │ │ │ -00019490: 726e 732c 2073 7065 6369 6669 6564 2077 rns, specified w │ │ │ │ │ -000194a0: 6974 6820 e280 986c 696e 6573 7479 6c65 ith ...linestyle │ │ │ │ │ -000194b0: 3d64 6173 6865 64e2 8099 2c20 6361 6e20 =dashed..., can │ │ │ │ │ -000194c0: 6265 0a64 6973 7275 7074 6564 2062 7920 be.disrupted by │ │ │ │ │ -000194d0: 7370 6c69 7474 696e 672e 2020 5468 6973 splitting. This │ │ │ │ │ -000194e0: 206f 6363 7572 7320 7768 656e 2074 6865 occurs when the │ │ │ │ │ -000194f0: 2064 6570 7468 2073 6f72 7420 6769 7665 depth sort give │ │ │ │ │ -00019500: 7320 7570 2074 6f6f 0a65 6172 6c79 2061 s up too.early a │ │ │ │ │ -00019510: 6e64 2073 706c 6974 7320 6120 6c69 6e65 nd splits a line │ │ │ │ │ -00019520: 2077 6865 7265 2069 7420 6973 206e 6f74 where it is not │ │ │ │ │ -00019530: 2072 6561 6c6c 7920 6e65 6365 7373 6172 really necessar │ │ │ │ │ -00019540: 792e 2020 4120 776f 726b 6172 6f75 6e64 y. A workaround │ │ │ │ │ -00019550: 0a69 7320 746f 2075 7365 2067 7261 7920 .is to use gray │ │ │ │ │ -00019560: 6f72 2066 696e 656c 7920 646f 7474 6564 or finely dotted │ │ │ │ │ -00019570: 206c 696e 6573 2069 6e73 7465 6164 2e20 lines instead. │ │ │ │ │ -00019580: 2049 6620 796f 7572 2064 7261 7769 6e67 If your drawing │ │ │ │ │ -00019590: 2069 730a 736d 616c 6c2c 2079 6f75 2063 is.small, you c │ │ │ │ │ -000195a0: 616e 2061 6c73 6f20 6564 6974 2074 6865 an also edit the │ │ │ │ │ -000195b0: 20e2 8098 736b 6574 6368 e280 9920 6f75 ...sketch... ou │ │ │ │ │ -000195c0: 7470 7574 2062 7920 6861 6e64 2074 6f20 tput by hand to │ │ │ │ │ -000195d0: 6d65 7267 6520 7468 6520 7069 6563 6573 merge the pieces │ │ │ │ │ -000195e0: 0a6f 6620 7468 6520 6f66 6665 6e64 696e .of the offendin │ │ │ │ │ -000195f0: 6720 6c69 6e65 2e0a 0a20 2020 416e 6f74 g line... Anot │ │ │ │ │ -00019600: 6865 7220 616e 6f6d 616c 7920 6973 2074 her anomaly is t │ │ │ │ │ -00019610: 696e 7920 286f 7220 696e 2064 6567 656e iny (or in degen │ │ │ │ │ -00019620: 6572 6174 6520 6361 7365 7320 6e6f 742d erate cases not- │ │ │ │ │ -00019630: 736f 2d74 696e 7929 206e 6f74 6368 6573 so-tiny) notches │ │ │ │ │ -00019640: 0a69 6e20 7468 6520 6c69 6e65 7320 7468 .in the lines th │ │ │ │ │ -00019650: 6174 2062 6f72 6465 7220 7370 6c69 7420 at border split │ │ │ │ │ -00019660: 706f 6c79 676f 6e73 2e20 2054 6865 7365 polygons. These │ │ │ │ │ -00019670: 2064 6572 6976 6520 6672 6f6d 2074 6865 derive from the │ │ │ │ │ -00019680: 2077 6179 2065 6163 680a 706f 6c79 676f way each.polygo │ │ │ │ │ -00019690: 6e20 6973 2070 6169 6e74 6564 3a20 6669 n is painted: fi │ │ │ │ │ -000196a0: 7273 742c 2061 6c6c 2070 6978 656c 7320 rst, all pixels │ │ │ │ │ -000196b0: 7769 7468 696e 2074 6865 2062 6f75 6e64 within the bound │ │ │ │ │ -000196c0: 6172 7920 6172 6520 e280 9c66 696c 6c65 ary are ...fille │ │ │ │ │ -000196d0: 64e2 809d 0a77 6974 6820 636f 6c6f 7220 d....with color │ │ │ │ │ -000196e0: 2870 6572 6861 7073 2077 6869 7465 292c (perhaps white), │ │ │ │ │ -000196f0: 2074 6865 6e20 7468 6520 7361 6d65 2062 then the same b │ │ │ │ │ -00019700: 6f75 6e64 6172 7920 6973 20e2 809c 7374 oundary is ...st │ │ │ │ │ -00019710: 726f 6b65 64e2 809d 2028 610a 506f 7374 roked... (a.Post │ │ │ │ │ -00019720: 7363 7269 7074 2074 6572 6d29 2077 6974 script term) wit │ │ │ │ │ -00019730: 6820 6120 6c69 6e65 2e20 2054 6865 2072 h a line. The r │ │ │ │ │ -00019740: 6573 756c 7420 6973 2074 6861 7420 6861 esult is that ha │ │ │ │ │ -00019750: 6c66 2074 6865 206c 696e 6520 6c69 6573 lf the line lies │ │ │ │ │ -00019760: 0a69 6e73 6964 6520 7468 6520 626f 756e .inside the boun │ │ │ │ │ -00019770: 6461 7279 2061 6e64 2068 616c 6620 6f75 dary and half ou │ │ │ │ │ -00019780: 7473 6964 652c 2077 6869 6c65 2074 6865 tside, while the │ │ │ │ │ -00019790: 2050 6169 6e74 6572 2773 2061 6c67 6f72 Painter's algor │ │ │ │ │ -000197a0: 6974 686d 0a61 7373 756d 6573 2074 6865 ithm.assumes the │ │ │ │ │ -000197b0: 2070 6f6c 7967 6f6e 206c 6965 7320 656e polygon lies en │ │ │ │ │ -000197c0: 7469 7265 6c79 2077 6974 6869 6e20 6974 tirely within it │ │ │ │ │ -000197d0: 7320 626f 756e 6461 7279 2e20 2054 6865 s boundary. The │ │ │ │ │ -000197e0: 206e 6f74 6368 6573 2061 7265 0a64 7565 notches are.due │ │ │ │ │ -000197f0: 2074 6f20 6f6e 6520 706f 6c79 676f 6e20 to one polygon │ │ │ │ │ -00019800: 6669 6c6c 206f 7065 7261 7469 6f6e 206f fill operation o │ │ │ │ │ -00019810: 7665 7277 7269 7469 6e67 2074 6865 2061 verwriting the a │ │ │ │ │ -00019820: 6c72 6561 6479 2d64 7261 776e 2069 6e73 lready-drawn ins │ │ │ │ │ -00019830: 6964 650a 6f66 2074 6865 2062 6f72 6465 ide.of the borde │ │ │ │ │ -00019840: 7220 6f66 2061 6e6f 7468 6572 2070 6f6c r of another pol │ │ │ │ │ -00019850: 7967 6f6e 2e28 3129 2020 4f6e 6520 776f ygon.(1) One wo │ │ │ │ │ -00019860: 726b 6172 6f75 6e64 2069 7320 746f 206d rkaround is to m │ │ │ │ │ -00019870: 616b 6520 626f 7264 6572 0a6c 696e 6573 ake border.lines │ │ │ │ │ -00019880: 2076 6572 7920 7468 696e 2e20 2049 6e20 very thin. In │ │ │ │ │ -00019890: 6661 6374 20e2 8098 6c69 6e65 7769 6474 fact ...linewidt │ │ │ │ │ -000198a0: 683d 3070 74e2 8099 2069 7320 6775 6172 h=0pt... is guar │ │ │ │ │ -000198b0: 616e 7465 6564 2074 6f20 656c 696d 696e anteed to elimin │ │ │ │ │ -000198c0: 6174 650a 7468 6973 2070 726f 626c 656d ate.this problem │ │ │ │ │ -000198d0: 2c20 7468 6f75 6768 2074 6869 7320 7265 , though this re │ │ │ │ │ -000198e0: 7375 6c74 7320 696e 2074 6865 2074 6869 sults in the thi │ │ │ │ │ -000198f0: 6e6e 6573 7420 6c69 6e65 2079 6f75 7220 nnest line your │ │ │ │ │ -00019900: 6f75 7470 7574 0a64 6576 6963 6520 6361 output.device ca │ │ │ │ │ -00019910: 6e20 6472 6177 2c20 7768 6963 6820 6973 n draw, which is │ │ │ │ │ -00019920: 2075 7375 616c 6c79 2074 6f6f 2074 6869 usually too thi │ │ │ │ │ -00019930: 6e2e 2020 596f 7520 6d69 6768 7420 6765 n. You might ge │ │ │ │ │ -00019940: 7420 6c75 636b 7920 6279 0a6d 6572 656c t lucky by.merel │ │ │ │ │ -00019950: 7920 7265 6f72 6465 7269 6e67 2074 6869 y reordering thi │ │ │ │ │ -00019960: 6e67 7320 696e 2074 6865 2069 6e70 7574 ngs in the input │ │ │ │ │ -00019970: 2066 696c 652c 2077 6869 6368 2069 7320 file, which is │ │ │ │ │ -00019980: 6c69 6b65 6c79 2074 6f20 6d6f 7665 2074 likely to move t │ │ │ │ │ -00019990: 6865 0a73 706c 6974 7320 746f 2064 6966 he.splits to dif │ │ │ │ │ -000199a0: 6665 7265 6e74 2070 6c61 6365 732e 2020 ferent places. │ │ │ │ │ -000199b0: 5468 6520 6f6e 6c79 2073 7572 652d 6669 The only sure-fi │ │ │ │ │ -000199c0: 7265 2073 6f6c 7574 696f 6e20 6973 2070 re solution is p │ │ │ │ │ -000199d0: 7265 7474 790a 7465 7272 6962 6c65 3a20 retty.terrible: │ │ │ │ │ -000199e0: 6375 7374 6f6d 2066 6974 20e2 8098 7370 custom fit ...sp │ │ │ │ │ -000199f0: 6563 6961 6ce2 8099 206f 7665 726c 6179 ecial... overlay │ │ │ │ │ -00019a00: 206c 696e 6573 2028 7769 7468 20e2 8098 lines (with ... │ │ │ │ │ -00019a10: 5c70 736c 696e 65e2 8099 2920 746f 2063 \psline...) to c │ │ │ │ │ -00019a20: 6f76 6572 0a74 6865 206e 6f74 6368 6573 over.the notches │ │ │ │ │ -00019a30: 2e0a 0a20 2020 506f 6c79 676f 6e20 7370 ... Polygon sp │ │ │ │ │ -00019a40: 6c69 7474 696e 6720 616c 736f 2062 7265 litting also bre │ │ │ │ │ -00019a50: 616b 7320 e280 9850 5354 7269 636b 73e2 aks ...PSTricks. │ │ │ │ │ -00019a60: 8099 2068 6174 6368 2070 6174 7465 726e .. hatch pattern │ │ │ │ │ -00019a70: 732e 2020 5468 6520 6f6e 6c79 0a6b 6e6f s. The only.kno │ │ │ │ │ -00019a80: 776e 2077 6f72 6b61 726f 756e 6420 6973 wn workaround is │ │ │ │ │ -00019a90: 2074 6f20 7375 6273 7469 7475 7465 2061 to substitute a │ │ │ │ │ -00019aa0: 2073 6f6c 6964 2066 696c 6c20 666f 7220 solid fill for │ │ │ │ │ -00019ab0: 7468 6520 6861 7463 682e 0a0a 2020 202d the hatch... - │ │ │ │ │ -00019ac0: 2d2d 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f --------- Footno │ │ │ │ │ -00019ad0: 7465 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a tes ----------.. │ │ │ │ │ -00019ae0: 2020 2028 3129 2049 206b 6e6f 7720 686f (1) I know ho │ │ │ │ │ -00019af0: 7720 746f 2066 6978 2074 6869 7320 7072 w to fix this pr │ │ │ │ │ -00019b00: 6f62 6c65 6d2c 2062 7574 2049 2064 6f6e oblem, but I don │ │ │ │ │ -00019b10: 2774 206c 696b 6520 6d79 2073 6f6c 7574 't like my solut │ │ │ │ │ -00019b20: 696f 6e2c 2061 6e64 0a49 276d 2069 6e74 ion, and.I'm int │ │ │ │ │ -00019b30: 6572 6573 7465 6420 696e 2079 6f75 7273 erested in yours │ │ │ │ │ -00019b40: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -00019b50: 682e 696e 666f 2c20 204e 6f64 653a 2043 h.info, Node: C │ │ │ │ │ -00019b60: 6f6d 6d61 6e64 206c 696e 652c 2020 4e65 ommand line, Ne │ │ │ │ │ -00019b70: 7874 3a20 496e 7374 616c 6c69 6e67 2073 xt: Installing s │ │ │ │ │ -00019b80: 6b65 7463 682c 2020 5072 6576 3a20 4275 ketch, Prev: Bu │ │ │ │ │ -00019b90: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing │ │ │ │ │ -00019ba0: 2c20 2055 703a 2054 6f70 0a0a 3520 436f , Up: Top..5 Co │ │ │ │ │ -00019bb0: 6d6d 616e 6420 6c69 6e65 0a2a 2a2a 2a2a mmand line.***** │ │ │ │ │ -00019bc0: 2a2a 2a2a 2a2a 2a2a 2a0a 0a2a 5379 6e6f *********..*Syno │ │ │ │ │ -00019bd0: 7073 6973 3a2a 0a20 2020 2020 736b 6574 psis:*. sket │ │ │ │ │ -00019be0: 6368 205b 2d68 5d5b 2d56 2078 2e79 5d5b ch [-h][-V x.y][ │ │ │ │ │ -00019bf0: 2d76 5d5b 2d62 5d5b 2d64 5d5b 7420 646f -v][-b][-d][t do │ │ │ │ │ -00019c00: 6374 6d70 5d5b 2d54 5b75 7c65 5d5b 705b ctmp][-T[u|e][p[ │ │ │ │ │ -00019c10: 507c 545d 5b4c 7c43 5d5d 5d5b 2d6f 206f P|T][L|C]]][-o o │ │ │ │ │ -00019c20: 7574 7075 742e 7465 785d 0a20 2020 2020 utput.tex]. │ │ │ │ │ -00019c30: 2020 5b2d 4420 5441 4720 2e2e 2e5d 2069 [-D TAG ...] i │ │ │ │ │ -00019c40: 6e70 7574 312e 736b 205b 2d55 2054 4147 nput1.sk [-U TAG │ │ │ │ │ -00019c50: 202e 2e2e 5d20 696e 7075 7432 2e73 6b20 ...] input2.sk │ │ │ │ │ -00019c60: 2e2e 2e0a 0a2a 4465 7363 7269 7074 696f .....*Descriptio │ │ │ │ │ -00019c70: 6e2a 2050 726f 6365 7373 6573 2074 6865 n* Processes the │ │ │ │ │ -00019c80: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in │ │ │ │ │ -00019c90: 7075 7420 6669 6c65 7320 696e 206f 7264 put files in ord │ │ │ │ │ -00019ca0: 6572 2074 6f20 7072 6f64 7563 650a e280 er to produce... │ │ │ │ │ -00019cb0: 9850 5354 7269 636b 73e2 8099 206f 7574 .PSTricks... out │ │ │ │ │ -00019cc0: 7075 7420 636f 6465 2073 7569 7461 626c put code suitabl │ │ │ │ │ -00019cd0: 6520 666f 7220 696e 636c 7573 696f 6e20 e for inclusion │ │ │ │ │ -00019ce0: 696e 2061 2054 6558 206f 7220 4c61 5465 in a TeX or LaTe │ │ │ │ │ -00019cf0: 580a 646f 6375 6d65 6e74 2e0a 0a2a 4f70 X.document...*Op │ │ │ │ │ -00019d00: 7469 6f6e 733a 2a0a e280 982d 68e2 8099 tions:*....-h... │ │ │ │ │ -00019d10: 0a20 2020 2020 5072 696e 7420 6120 7368 . Print a sh │ │ │ │ │ -00019d20: 6f72 7420 6361 7461 6c6f 6720 6f66 206f ort catalog of o │ │ │ │ │ -00019d30: 7074 696f 6e73 2e0a e280 982d 56e2 8099 ptions.....-V... │ │ │ │ │ -00019d40: 0a20 2020 2020 5365 7420 7468 6520 e280 . Set the .. │ │ │ │ │ -00019d50: 9850 5354 7269 636b 73e2 8099 2076 6572 .PSTricks... ver │ │ │ │ │ -00019d60: 7369 6f6e 2061 7373 756d 6564 2066 6f72 sion assumed for │ │ │ │ │ -00019d70: 206f 7574 7075 7420 7075 7270 6f73 6573 output purposes │ │ │ │ │ -00019d80: 2074 6f20 e280 9878 2e79 e280 992c 0a20 to ...x.y...,. │ │ │ │ │ -00019d90: 2020 2020 666f 7220 6578 616d 706c 6520 for example │ │ │ │ │ -00019da0: 312e 3139 2e20 2055 7375 616c 6c79 206e 1.19. Usually n │ │ │ │ │ -00019db0: 6565 6465 6420 6f6e 6c79 2069 6620 796f eeded only if yo │ │ │ │ │ -00019dc0: 7572 20e2 8098 5053 5472 6963 6b73 e280 ur ...PSTricks.. │ │ │ │ │ -00019dd0: 9920 6973 206f 6c64 0a20 2020 2020 636f . is old. co │ │ │ │ │ -00019de0: 6d70 6172 6564 2074 6f20 796f 7572 20e2 mpared to your . │ │ │ │ │ -00019df0: 8098 736b 6574 6368 e280 992e 2020 5573 ..sketch.... Us │ │ │ │ │ -00019e00: 6520 e280 982d 76e2 8099 2074 6f20 7365 e ...-v... to se │ │ │ │ │ -00019e10: 6520 7768 6174 20e2 8098 736b 6574 6368 e what ...sketch │ │ │ │ │ -00019e20: e280 9920 6173 7375 6d65 730a 2020 2020 ... assumes. │ │ │ │ │ -00019e30: 2062 7920 6465 6661 756c 742e 0ae2 8098 by default..... │ │ │ │ │ -00019e40: 2d76 e280 990a 2020 2020 2050 7269 6e74 -v.... Print │ │ │ │ │ -00019e50: 2076 6572 7369 6f6e 2069 6e66 6f72 6d61 version informa │ │ │ │ │ -00019e60: 7469 6f6e 2074 6f20 7374 616e 6461 7264 tion to standard │ │ │ │ │ -00019e70: 206f 7574 7075 742c 2069 6e63 6c75 6469 output, includi │ │ │ │ │ -00019e80: 6e67 2074 6865 2076 6572 7369 6f6e 0a20 ng the version. │ │ │ │ │ -00019e90: 2020 2020 6f66 20e2 8098 5053 5472 6963 of ...PSTric │ │ │ │ │ -00019ea0: 6b73 e280 9920 6173 7375 6d65 6420 666f ks... assumed fo │ │ │ │ │ -00019eb0: 7220 6f75 7470 7574 2028 6361 6e20 6265 r output (can be │ │ │ │ │ -00019ec0: 2063 6861 6e67 6564 2077 6974 6820 e280 changed with .. │ │ │ │ │ -00019ed0: 982d 56e2 8099 2061 626f 7665 292e 0ae2 .-V... above)... │ │ │ │ │ -00019ee0: 8098 2d62 e280 990a 2020 2020 2055 7365 ..-b.... Use │ │ │ │ │ -00019ef0: 2061 2042 5350 2028 2a4e 6f74 6520 4869 a BSP (*Note Hi │ │ │ │ │ -00019f00: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem │ │ │ │ │ -00019f10: 6f76 616c 3a3a 2e29 2020 666f 7220 5f61 oval::.) for _a │ │ │ │ │ -00019f20: 6c6c 5f20 6869 6464 656e 0a20 2020 2020 ll_ hidden. │ │ │ │ │ -00019f30: 7375 7266 6163 6520 7265 6d6f 7661 6c20 surface removal │ │ │ │ │ -00019f40: 7261 7468 6572 2074 6861 6e20 7468 6520 rather than the │ │ │ │ │ -00019f50: 6465 6661 756c 742c 2077 6869 6368 2069 default, which i │ │ │ │ │ -00019f60: 7320 7468 6520 6465 7074 6820 736f 7274 s the depth sort │ │ │ │ │ -00019f70: 0a20 2020 2020 616c 676f 7269 7468 6d20 . algorithm │ │ │ │ │ -00019f80: 7769 7468 2042 5350 7320 7573 6564 206f with BSPs used o │ │ │ │ │ -00019f90: 6e6c 7920 666f 7220 6379 636c 6520 7265 nly for cycle re │ │ │ │ │ -00019fa0: 736f 6c75 7469 6f6e 2e20 2054 6869 7320 solution. This │ │ │ │ │ -00019fb0: 6d61 790a 2020 2020 2070 726f 6475 6365 may. produce │ │ │ │ │ -00019fc0: 2063 6f72 7265 6374 206f 7574 7075 7420 correct output │ │ │ │ │ -00019fd0: 696e 2063 6572 7461 696e 2064 6567 656e in certain degen │ │ │ │ │ -00019fe0: 6572 6174 6520 6361 7365 7320 7768 6572 erate cases wher │ │ │ │ │ -00019ff0: 6520 7468 6520 6465 7074 680a 2020 2020 e the depth. │ │ │ │ │ -0001a000: 2073 6f72 7420 6361 6e6e 6f74 2c20 6275 sort cannot, bu │ │ │ │ │ -0001a010: 7420 6974 2061 6c73 6f20 6c65 6164 7320 t it also leads │ │ │ │ │ -0001a020: 746f 206d 616e 7920 6772 6174 7569 746f to many gratuito │ │ │ │ │ -0001a030: 7573 2073 706c 6974 732c 2068 656e 6365 us splits, hence │ │ │ │ │ -0001a040: 0a20 2020 2020 6d6f 7265 2061 6e6f 6d61 . more anoma │ │ │ │ │ -0001a050: 6c69 6573 202a 6e6f 7465 2042 7567 7320 lies *note Bugs │ │ │ │ │ -0001a060: 616e 6420 616e 6f6d 616c 6965 733a 3a20 and anomalies:: │ │ │ │ │ -0001a070: 616e 6420 6269 6720 6f75 7470 7574 2066 and big output f │ │ │ │ │ -0001a080: 696c 6573 2e0a e280 982d 64e2 8099 0a20 iles.....-d.... │ │ │ │ │ -0001a090: 2020 2020 5275 6e20 e280 9873 6b65 7463 Run ...sketc │ │ │ │ │ -0001a0a0: 68e2 8099 2773 2070 6172 7365 7220 696e h...'s parser in │ │ │ │ │ -0001a0b0: 2064 6562 7567 6769 6e67 206d 6f64 652e debugging mode. │ │ │ │ │ -0001a0c0: 2020 5468 6973 2069 7320 7072 696d 6172 This is primar │ │ │ │ │ -0001a0d0: 696c 7920 666f 720a 2020 2020 2064 6576 ily for. dev │ │ │ │ │ -0001a0e0: 656c 6f70 6d65 6e74 2e0a e280 982d 74e2 elopment.....-t. │ │ │ │ │ -0001a0f0: 8099 0a20 2020 2020 5573 6520 636f 6e74 ... Use cont │ │ │ │ │ -0001a100: 656e 7473 206f 6620 6669 6c65 20e2 8098 ents of file ... │ │ │ │ │ -0001a110: 646f 6374 6d70 e280 9920 6173 2061 2064 doctmp... as a d │ │ │ │ │ -0001a120: 6f63 756d 656e 7420 7465 6d70 6c61 7465 ocument template │ │ │ │ │ -0001a130: 2069 6e20 7768 6963 6820 746f 0a20 2020 in which to. │ │ │ │ │ -0001a140: 2020 656e 636c 6f73 6520 e280 9850 5354 enclose ...PST │ │ │ │ │ -0001a150: 7269 636b 73e2 8099 206f 7574 7075 7420 ricks... output │ │ │ │ │ -0001a160: 636f 6465 2e20 2054 6865 2063 6f64 6520 code. The code │ │ │ │ │ -0001a170: 6973 2069 6e73 6572 7465 6420 696e 2070 is inserted in p │ │ │ │ │ -0001a180: 6c61 6365 206f 660a 2020 2020 2074 6865 lace of. the │ │ │ │ │ -0001a190: 2066 6972 7374 2069 6e73 7461 6e63 6520 first instance │ │ │ │ │ -0001a1a0: 6f66 2074 6865 2065 7363 6170 6520 7374 of the escape st │ │ │ │ │ -0001a1b0: 7269 6e67 2025 2553 4b45 5443 485f 4f55 ring %%SKETCH_OU │ │ │ │ │ -0001a1c0: 5450 5554 2525 2e0a e280 982d 54e2 8099 TPUT%%.....-T... │ │ │ │ │ -0001a1d0: 0a20 2020 2020 4361 7573 6573 20e2 8098 . Causes ... │ │ │ │ │ -0001a1e0: 5053 5472 6963 6b73 e280 9920 6f75 7470 PSTricks... outp │ │ │ │ │ -0001a1f0: 7574 2074 6f20 6265 2065 6e63 6c6f 7365 ut to be enclose │ │ │ │ │ -0001a200: 6420 696e 2064 6566 6175 6c74 2055 5320 d in default US │ │ │ │ │ -0001a210: 646f 6375 6d65 6e74 0a20 2020 2020 7465 document. te │ │ │ │ │ -0001a220: 6d70 6c61 7465 2074 6578 742e 2020 4f70 mplate text. Op │ │ │ │ │ -0001a230: 7469 6f6e 20e2 8098 2d54 75e2 8099 2069 tion ...-Tu... i │ │ │ │ │ -0001a240: 7320 6120 7379 6e6f 6e79 6d2e 2020 4f70 s a synonym. Op │ │ │ │ │ -0001a250: 7469 6f6e 20e2 8098 2d54 65e2 8099 2063 tion ...-Te... c │ │ │ │ │ -0001a260: 6175 7365 7320 7468 650a 2020 2020 2045 auses the. E │ │ │ │ │ -0001a270: 7572 6f20 7374 616e 6461 7264 2064 6f63 uro standard doc │ │ │ │ │ -0001a280: 756d 656e 7420 7465 6d70 6c61 7465 2074 ument template t │ │ │ │ │ -0001a290: 6f20 6265 2075 7365 642e 2020 4120 e280 o be used. A .. │ │ │ │ │ -0001a2a0: 9870 e280 9920 6170 7065 6e64 6564 2074 .p... appended t │ │ │ │ │ -0001a2b0: 6f20 616e 790a 2020 2020 206f 6620 7468 o any. of th │ │ │ │ │ -0001a2c0: 6573 6520 6f70 7469 6f6e 7320 6361 7573 ese options caus │ │ │ │ │ -0001a2d0: 6573 2074 6865 2072 6573 7065 6374 6976 es the respectiv │ │ │ │ │ -0001a2e0: 6520 6465 6661 756c 7420 e280 9850 5354 e default ...PST │ │ │ │ │ -0001a2f0: 7269 636b 73e2 8099 2064 6f63 756d 656e ricks... documen │ │ │ │ │ -0001a300: 740a 2020 2020 2074 656d 706c 6174 6520 t. template │ │ │ │ │ -0001a310: 746f 2062 6520 7072 696e 7465 6420 746f to be printed to │ │ │ │ │ -0001a320: 2073 7461 6e64 6172 6420 6f75 7470 7574 standard output │ │ │ │ │ -0001a330: 2e20 2041 6e20 6170 7065 6e64 6564 20e2 . An appended . │ │ │ │ │ -0001a340: 8098 50e2 8099 2069 7320 610a 2020 2020 ..P... is a. │ │ │ │ │ -0001a350: 2073 796e 6f6e 796d 2e20 2041 6e20 6170 synonym. An ap │ │ │ │ │ -0001a360: 7065 6e64 6564 20e2 8098 54e2 8099 2063 pended ...T... c │ │ │ │ │ -0001a370: 6175 7365 7320 7468 6520 7468 6520 e280 auses the the .. │ │ │ │ │ -0001a380: 9854 696b 5a2f 5047 46e2 8099 2074 656d .TikZ/PGF... tem │ │ │ │ │ -0001a390: 706c 6174 6520 746f 2062 650a 2020 2020 plate to be. │ │ │ │ │ -0001a3a0: 2070 7269 6e74 6564 2e20 2041 6e20 6170 printed. An ap │ │ │ │ │ -0001a3b0: 7065 6e64 6564 20e2 8098 4ce2 8099 2070 pended ...L... p │ │ │ │ │ -0001a3c0: 7269 6e74 7320 7468 6520 4c61 5465 5820 rints the LaTeX │ │ │ │ │ -0001a3d0: 7665 7273 696f 6e20 6f66 2074 6865 2064 version of the d │ │ │ │ │ -0001a3e0: 6f63 756d 656e 740a 2020 2020 2074 656d ocument. tem │ │ │ │ │ -0001a3f0: 706c 6174 652c 2061 2073 796e 6f6e 796d plate, a synonym │ │ │ │ │ -0001a400: 2066 6f72 2074 6865 2064 6566 6175 6c74 for the default │ │ │ │ │ -0001a410: 2e20 2041 20e2 8098 43e2 8099 2070 7269 . A ...C... pri │ │ │ │ │ -0001a420: 6e74 7320 7468 6520 e280 9843 6f6e 5465 nts the ...ConTe │ │ │ │ │ -0001a430: 5874 e280 990a 2020 2020 2074 656d 706c Xt.... templ │ │ │ │ │ -0001a440: 6174 652e 0ae2 8098 2d6f e280 990a 2020 ate.....-o.... │ │ │ │ │ -0001a450: 2020 2055 7365 20e2 8098 6f75 7470 7574 Use ...output │ │ │ │ │ -0001a460: 2e74 6578 e280 9920 6173 2074 6865 206f .tex... as the o │ │ │ │ │ -0001a470: 7574 7075 7420 6669 6c65 2e20 2054 6865 utput file. The │ │ │ │ │ -0001a480: 2064 6566 6175 6c74 2069 7320 7374 616e default is stan │ │ │ │ │ -0001a490: 6461 7264 0a20 2020 2020 6f75 7470 7574 dard. output │ │ │ │ │ -0001a4a0: 2e0a e280 982d 44e2 8099 0a20 2020 2020 .....-D.... │ │ │ │ │ -0001a4b0: 4465 6669 6e65 2061 2074 6167 2066 6f72 Define a tag for │ │ │ │ │ -0001a4c0: 2070 7572 706f 7365 7320 6f66 2073 656c purposes of sel │ │ │ │ │ -0001a4d0: 6563 7469 6e67 2064 6566 696e 6974 696f ecting definitio │ │ │ │ │ -0001a4e0: 6e20 616c 7465 726e 6174 6976 6573 2e0a n alternatives.. │ │ │ │ │ -0001a4f0: 2020 2020 202a 4e6f 7465 2044 6566 696e *Note Defin │ │ │ │ │ -0001a500: 6974 696f 6e73 3a3a 2e20 2054 6865 2064 itions::. The d │ │ │ │ │ -0001a510: 6566 696e 6974 696f 6e20 6170 706c 6965 efinition applie │ │ │ │ │ -0001a520: 7320 666f 7220 616c 6c20 696e 7075 7420 s for all input │ │ │ │ │ -0001a530: 6669 6c65 730a 2020 2020 2074 6861 7420 files. that │ │ │ │ │ -0001a540: 666f 6c6c 6f77 2075 6e6c 6573 7320 7468 follow unless th │ │ │ │ │ -0001a550: 6520 7461 6720 6973 2075 6e64 6566 696e e tag is undefin │ │ │ │ │ -0001a560: 6564 2077 6974 6820 e280 982d 55e2 8099 ed with ...-U... │ │ │ │ │ -0001a570: 2e0a e280 9869 6e70 7574 692e 736b e280 .....inputi.sk.. │ │ │ │ │ -0001a580: 990a 2020 2020 2049 6e70 7574 2066 696c .. Input fil │ │ │ │ │ -0001a590: 6573 2c20 7265 6164 2069 6e20 7468 6520 es, read in the │ │ │ │ │ -0001a5a0: 7365 7175 656e 6365 2074 6865 7920 6172 sequence they ar │ │ │ │ │ -0001a5b0: 6520 6769 7665 6e2e 0ae2 8098 2d55 e280 e given.....-U.. │ │ │ │ │ -0001a5c0: 990a 2020 2020 2055 6e2d 6465 6669 6e65 .. Un-define │ │ │ │ │ -0001a5d0: 2061 2074 6167 2066 6f72 2070 7572 706f a tag for purpo │ │ │ │ │ -0001a5e0: 7365 7320 6f66 2073 656c 6563 7469 6e67 ses of selecting │ │ │ │ │ -0001a5f0: 2064 6566 696e 6974 696f 6e20 616c 7465 definition alte │ │ │ │ │ -0001a600: 726e 6174 6976 6573 2e0a 0a1f 0a46 696c rnatives.....Fil │ │ │ │ │ -0001a610: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -0001a620: 204e 6f64 653a 2049 6e73 7461 6c6c 696e Node: Installin │ │ │ │ │ -0001a630: 6720 736b 6574 6368 2c20 204e 6578 743a g sketch, Next: │ │ │ │ │ -0001a640: 2049 6e64 6578 206f 6620 7379 6e74 6178 Index of syntax │ │ │ │ │ -0001a650: 2c20 2050 7265 763a 2043 6f6d 6d61 6e64 , Prev: Command │ │ │ │ │ -0001a660: 206c 696e 652c 2020 5570 3a20 546f 700a line, Up: Top. │ │ │ │ │ -0001a670: 0a36 2042 7569 6c64 696e 6720 616e 6420 .6 Building and │ │ │ │ │ -0001a680: 696e 7374 616c 6c69 6e67 20e2 8098 736b installing ...sk │ │ │ │ │ -0001a690: 6574 6368 e280 990a 2a2a 2a2a 2a2a 2a2a etch....******** │ │ │ │ │ +00018770: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0ae2 -------------... │ │ │ │ │ +00018780: 8098 536b 6574 6368 e280 9920 7573 6573 ..Sketch... uses │ │ │ │ │ +00018790: 2074 6865 20e2 809c 6465 7074 6820 736f the ...depth so │ │ │ │ │ +000187a0: 7274 2061 6c67 6f72 6974 686d e280 9d20 rt algorithm... │ │ │ │ │ +000187b0: 666f 7220 6869 6464 656e 2073 7572 6661 for hidden surfa │ │ │ │ │ +000187c0: 6365 2072 656d 6f76 616c 2e0a 5468 6973 ce removal..This │ │ │ │ │ +000187d0: 2069 7320 6120 7665 7279 206f 6c64 2074 is a very old t │ │ │ │ │ +000187e0: 6563 686e 6971 7565 2064 7565 2074 6f20 echnique due to │ │ │ │ │ +000187f0: 4e65 7765 6c6c 2e28 3129 2020 4974 2069 Newell.(1) It i │ │ │ │ │ +00018800: 7320 6765 6e65 7261 6c6c 7920 7265 6761 s generally rega │ │ │ │ │ +00018810: 7264 6564 0a61 7320 746f 6f20 736c 6f77 rded.as too slow │ │ │ │ │ +00018820: 2066 6f72 2072 6561 6c20 7469 6d65 2067 for real time g │ │ │ │ │ +00018830: 7261 7068 6963 732c 2062 7574 2069 7420 raphics, but it │ │ │ │ │ +00018840: 6973 2069 6465 616c 2066 6f72 206f 7572 is ideal for our │ │ │ │ │ +00018850: 2070 7572 706f 7365 0a77 6865 7265 2073 purpose.where s │ │ │ │ │ +00018860: 7065 6564 2069 7320 6e6f 7420 7665 7279 peed is not very │ │ │ │ │ +00018870: 2069 6d70 6f72 7461 6e74 2e28 3229 0a0a important.(2).. │ │ │ │ │ +00018880: 2020 2054 6865 2064 6570 7468 2073 6f72 The depth sor │ │ │ │ │ +00018890: 7420 616c 676f 7269 7468 6d20 6d65 7265 t algorithm mere │ │ │ │ │ +000188a0: 6c79 2073 6f72 7473 206f 626a 6563 7473 ly sorts objects │ │ │ │ │ +000188b0: 206f 6e20 6120 6b65 7920 6f66 2069 6e63 on a key of inc │ │ │ │ │ +000188c0: 7265 6173 696e 670a 7a2d 636f 6f72 6469 reasing.z-coordi │ │ │ │ │ +000188d0: 6e61 7465 2c20 6571 7569 7661 6c65 6e74 nate, equivalent │ │ │ │ │ +000188e0: 2074 6f20 6465 6372 6561 7369 6e67 2064 to decreasing d │ │ │ │ │ +000188f0: 6570 7468 2e20 204f 626a 6563 7473 2061 epth. Objects a │ │ │ │ │ +00018900: 7265 2074 6865 6e20 6472 6177 6e20 696e re then drawn in │ │ │ │ │ +00018910: 0a74 6865 2073 6f72 7465 6420 7365 7175 .the sorted sequ │ │ │ │ │ +00018920: 656e 6365 2073 6f20 7468 6174 2074 686f ence so that tho │ │ │ │ │ +00018930: 7365 2061 7420 7468 6520 7265 6172 206f se at the rear o │ │ │ │ │ +00018940: 6620 7468 6520 7363 656e 6520 6172 650a f the scene are. │ │ │ │ │ +00018950: 6f76 6572 7772 6974 7465 6e20 6279 2074 overwritten by t │ │ │ │ │ +00018960: 686f 7365 2063 6c6f 7365 7220 746f 2074 hose closer to t │ │ │ │ │ +00018970: 6865 2076 6965 7765 722e 2020 5369 6e63 he viewer. Sinc │ │ │ │ │ +00018980: 6520 7468 6973 2069 7320 616c 736f 2068 e this is also h │ │ │ │ │ +00018990: 6f77 206f 696c 0a70 6169 6e74 6572 7320 ow oil.painters │ │ │ │ │ +000189a0: 7072 6163 7469 6365 2074 6865 6972 2061 practice their a │ │ │ │ │ +000189b0: 7274 2c20 6465 7074 6820 736f 7274 2069 rt, depth sort i │ │ │ │ │ +000189c0: 7320 736f 6d65 7469 6d65 7320 6361 6c6c s sometimes call │ │ │ │ │ +000189d0: 6564 2022 7468 650a 7061 696e 7465 7227 ed "the.painter' │ │ │ │ │ +000189e0: 7320 616c 676f 7269 7468 6d2e 220a 0a20 s algorithm.".. │ │ │ │ │ +000189f0: 2020 496e 2073 6f6d 6520 6361 7365 7320 In some cases │ │ │ │ │ +00018a00: 6974 2069 7320 696d 706f 7373 6962 6c65 it is impossible │ │ │ │ │ +00018a10: 2074 6f20 7374 7269 6374 6c79 206f 7264 to strictly ord │ │ │ │ │ +00018a20: 6572 2070 6f6c 7967 6f6e 7320 6163 636f er polygons acco │ │ │ │ │ +00018a30: 7264 696e 670a 746f 2064 6570 7468 2e20 rding.to depth. │ │ │ │ │ +00018a40: 204d 6f72 656f 7665 722c 2065 7665 6e20 Moreover, even │ │ │ │ │ +00018a50: 6966 2061 2063 6f72 7265 6374 2064 6570 if a correct dep │ │ │ │ │ +00018a60: 7468 206f 7264 6572 696e 6720 6578 6973 th ordering exis │ │ │ │ │ +00018a70: 7473 2c20 7468 650a 636f 6d70 7574 6174 ts, the.computat │ │ │ │ │ +00018a80: 696f 6e20 6e65 6564 6564 2074 6f20 6669 ion needed to fi │ │ │ │ │ +00018a90: 6e64 2069 7420 6d61 7920 6265 2074 6f6f nd it may be too │ │ │ │ │ +00018aa0: 2063 6f6d 706c 6578 2061 6e64 2073 6c6f complex and slo │ │ │ │ │ +00018ab0: 772e 2020 496e 2074 6865 7365 0a63 6173 w. In these.cas │ │ │ │ │ +00018ac0: 6573 2c20 e280 9873 6b65 7463 68e2 8099 es, ...sketch... │ │ │ │ │ +00018ad0: 2073 706c 6974 7320 6f6e 6520 6f72 206d splits one or m │ │ │ │ │ +00018ae0: 6f72 6520 706f 6c79 676f 6e73 2069 6e74 ore polygons int │ │ │ │ │ +00018af0: 6f20 7069 6563 6573 2e20 2054 6865 0a65 o pieces. The.e │ │ │ │ │ +00018b00: 7870 6563 7461 7469 6f6e 2069 7320 7468 xpectation is th │ │ │ │ │ +00018b10: 6174 2074 6865 206e 6577 2c20 736d 616c at the new, smal │ │ │ │ │ +00018b20: 6c65 7220 706f 6c79 676f 6e73 2077 696c ler polygons wil │ │ │ │ │ +00018b30: 6c20 6265 2073 696d 706c 6572 2074 6f20 l be simpler to │ │ │ │ │ +00018b40: 6f72 6465 722e 0ae2 8098 536b 6574 6368 order.....Sketch │ │ │ │ │ +00018b50: e280 9920 7573 6573 2061 2042 5350 2028 ... uses a BSP ( │ │ │ │ │ +00018b60: 6269 6e61 7279 2073 7061 6365 2070 6172 binary space par │ │ │ │ │ +00018b70: 7469 7469 6f6e 2920 746f 2068 616e 646c tition) to handl │ │ │ │ │ +00018b80: 6520 7468 6520 7370 6c69 7474 696e 670a e the splitting. │ │ │ │ │ +00018b90: 6f70 6572 6174 696f 6e2e 0a0a 2a20 4d65 operation...* Me │ │ │ │ │ +00018ba0: 6e75 3a0a 0a2a 2053 7461 7469 7374 6963 nu:..* Statistic │ │ │ │ │ +00018bb0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00018bc0: 2020 2020 2050 6572 666f 726d 616e 6365 Performance │ │ │ │ │ +00018bd0: 206e 756d 6265 7273 206f 6e20 6465 7074 numbers on dept │ │ │ │ │ +00018be0: 6820 736f 7274 2e0a 2a20 4275 6773 2061 h sort..* Bugs a │ │ │ │ │ +00018bf0: 6e64 2061 6e6f 6d61 6c69 6573 3a3a 2020 nd anomalies:: │ │ │ │ │ +00018c00: 2020 2020 2020 2020 496d 7065 7266 6563 Imperfec │ │ │ │ │ +00018c10: 7469 6f6e 7320 696e 2074 6869 7320 696d tions in this im │ │ │ │ │ +00018c20: 706c 656d 656e 7461 7469 6f6e 2e0a 0a20 plementation... │ │ │ │ │ +00018c30: 2020 2d2d 2d2d 2d2d 2d2d 2d2d 2046 6f6f ---------- Foo │ │ │ │ │ +00018c40: 746e 6f74 6573 202d 2d2d 2d2d 2d2d 2d2d tnotes --------- │ │ │ │ │ +00018c50: 2d0a 0a20 2020 2831 2920 4e65 7765 6c6c -.. (1) Newell │ │ │ │ │ +00018c60: 2c20 4d2e 452e 2c20 522e 472e 204e 6577 , M.E., R.G. New │ │ │ │ │ +00018c70: 656c 6c2c 2061 6e64 2054 2e4c 2e20 5361 ell, and T.L. Sa │ │ │ │ │ +00018c80: 6e63 6861 2c20 4120 736f 6c75 7469 6f6e ncha, A solution │ │ │ │ │ +00018c90: 2074 6f20 7468 650a 6869 6464 656e 2073 to the.hidden s │ │ │ │ │ +00018ca0: 7572 6661 6365 2070 726f 626c 656d 2e20 urface problem. │ │ │ │ │ +00018cb0: 2050 726f 6365 6564 696e 6773 206f 6620 Proceedings of │ │ │ │ │ +00018cc0: 7468 6520 4143 4d20 616e 6e75 616c 2063 the ACM annual c │ │ │ │ │ +00018cd0: 6f6e 6665 7265 6e63 6520 2d0a 566f 6c75 onference -.Volu │ │ │ │ │ +00018ce0: 6d65 2031 2c20 7061 6765 2034 3433 2d34 me 1, page 443-4 │ │ │ │ │ +00018cf0: 3530 2c20 4143 4d20 5072 6573 732c 2031 50, ACM Press, 1 │ │ │ │ │ +00018d00: 3937 322e 0a0a 2020 2028 3229 2057 6520 972... (2) We │ │ │ │ │ +00018d10: 6861 7665 2072 756e 20e2 8098 736b 6574 have run ...sket │ │ │ │ │ +00018d20: 6368 e280 9920 6f6e 2074 6865 2066 616d ch... on the fam │ │ │ │ │ +00018d30: 6f75 7320 5374 616e 666f 7264 2042 756e ous Stanford Bun │ │ │ │ │ +00018d40: 6e79 2c20 7768 6963 6820 636f 6e73 6973 ny, which consis │ │ │ │ │ +00018d50: 7473 0a6f 6620 6e65 6172 6c79 2037 302c ts.of nearly 70, │ │ │ │ │ +00018d60: 3030 3020 7472 6961 6e67 6c65 732e 2020 000 triangles. │ │ │ │ │ +00018d70: 5275 6e20 7469 6d65 2077 6173 2061 626f Run time was abo │ │ │ │ │ +00018d80: 7574 2036 2073 6563 6f6e 6473 2e20 204d ut 6 seconds. M │ │ │ │ │ +00018d90: 6f73 7420 6f66 2074 6869 730a 7761 7320 ost of this.was │ │ │ │ │ +00018da0: 7370 656e 7420 7772 6974 696e 6720 7468 spent writing th │ │ │ │ │ +00018db0: 6520 6f75 7470 7574 2066 696c 6520 7261 e output file ra │ │ │ │ │ +00018dc0: 7468 6572 2074 6861 6e20 696e 2074 6865 ther than in the │ │ │ │ │ +00018dd0: 2068 6964 6465 6e20 7375 7266 6163 650a hidden surface. │ │ │ │ │ +00018de0: 616c 676f 7269 7468 6d2e 2020 4c61 5465 algorithm. LaTe │ │ │ │ │ +00018df0: 5820 746f 6f6b 206d 7563 6820 6c6f 6e67 X took much long │ │ │ │ │ +00018e00: 6572 2074 6f20 7072 6f63 6573 7320 7468 er to process th │ │ │ │ │ +00018e10: 6520 7265 7375 6c74 696e 6720 e280 9850 e resulting ...P │ │ │ │ │ +00018e20: 5354 7269 636b 73e2 8099 0a63 6f64 652e STricks....code. │ │ │ │ │ +00018e30: 2020 5468 6520 6f62 7669 6f75 7320 636f The obvious co │ │ │ │ │ +00018e40: 6e63 6c75 7369 6f6e 2069 7320 7468 6174 nclusion is that │ │ │ │ │ +00018e50: 2074 6865 2073 7065 6564 206f 6620 7468 the speed of th │ │ │ │ │ +00018e60: 6520 6465 7074 6820 736f 7274 0a61 6c67 e depth sort.alg │ │ │ │ │ +00018e70: 6f72 6974 686d 2069 7320 6e6f 7420 6120 orithm is not a │ │ │ │ │ +00018e80: 776f 7272 792e 0a0a 1f0a 4669 6c65 3a20 worry.....File: │ │ │ │ │ +00018e90: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +00018ea0: 6465 3a20 5374 6174 6973 7469 6373 2c20 de: Statistics, │ │ │ │ │ +00018eb0: 204e 6578 743a 2042 7567 7320 616e 6420 Next: Bugs and │ │ │ │ │ +00018ec0: 616e 6f6d 616c 6965 732c 2020 5072 6576 anomalies, Prev │ │ │ │ │ +00018ed0: 3a20 4869 6464 656e 2073 7572 6661 6365 : Hidden surface │ │ │ │ │ +00018ee0: 2072 656d 6f76 616c 2c20 2055 703a 2048 removal, Up: H │ │ │ │ │ +00018ef0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re │ │ │ │ │ +00018f00: 6d6f 7661 6c0a 0a34 2e34 2e33 2e31 2053 moval..4.4.3.1 S │ │ │ │ │ +00018f10: 7461 7469 7374 6963 730a 2e2e 2e2e 2e2e tatistics....... │ │ │ │ │ +00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 466f ..............Fo │ │ │ │ │ +00018f30: 7220 7468 6520 6375 7269 6f75 732c 20e2 r the curious, . │ │ │ │ │ +00018f40: 8098 736b 6574 6368 e280 9920 7772 6974 ..sketch... writ │ │ │ │ │ +00018f50: 6573 206f 6e65 206c 696e 6520 6f66 2064 es one line of d │ │ │ │ │ +00018f60: 6570 7468 2073 6f72 7420 7374 6174 6973 epth sort statis │ │ │ │ │ +00018f70: 7469 6373 2e0a 4865 7265 2069 7320 616e tics..Here is an │ │ │ │ │ +00018f80: 2065 7861 6d70 6c65 2066 6f72 2061 206c example for a l │ │ │ │ │ +00018f90: 6172 6765 2063 6f6c 6c65 6374 696f 6e20 arge collection │ │ │ │ │ +00018fa0: 6f66 2074 7269 616e 676c 6573 2e0a 2020 of triangles.. │ │ │ │ │ +00018fb0: 7265 6d61 726b 2c20 6e6f 6465 3d33 3438 remark, node=348 │ │ │ │ │ +00018fc0: 3234 2070 726f 6265 3d35 3831 2e39 2073 24 probe=581.9 s │ │ │ │ │ +00018fd0: 7761 703d 3520 7370 6c69 743d 3220 2869 wap=5 split=2 (i │ │ │ │ │ +00018fe0: 6e3d 3420 6f75 743d 3629 206f 6c73 3d32 n=4 out=6) ols=2 │ │ │ │ │ +00018ff0: 3438 3531 2f30 0a49 7420 6d65 616e 7320 4851/0.It means │ │ │ │ │ +00019000: 7468 6174 2033 342c 3832 3420 6f62 6a65 that 34,824 obje │ │ │ │ │ +00019010: 6374 7320 7765 7265 2064 6570 7468 2073 cts were depth s │ │ │ │ │ +00019020: 6f72 7465 6420 6166 7465 7220 6375 6c6c orted after cull │ │ │ │ │ +00019030: 696e 672e 2020 466f 7220 6561 6368 2c0a ing. For each,. │ │ │ │ │ +00019040: 616e 2061 7665 7261 6765 206f 6620 3538 an average of 58 │ │ │ │ │ +00019050: 312e 3920 6f74 6865 7273 2068 6164 2074 1.9 others had t │ │ │ │ │ +00019060: 6f20 6265 2063 6865 636b 6564 2074 6f20 o be checked to │ │ │ │ │ +00019070: 656e 7375 7265 2074 6861 7420 7468 6520 ensure that the │ │ │ │ │ +00019080: 696e 6974 6961 6c2c 0a61 7070 726f 7869 initial,.approxi │ │ │ │ │ +00019090: 6d61 7465 206f 7264 6572 696e 6720 7761 mate ordering wa │ │ │ │ │ +000190a0: 7320 636f 7272 6563 742e 2020 416d 6f6e s correct. Amon │ │ │ │ │ +000190b0: 6720 616c 6c20 7468 6573 6520 6368 6563 g all these chec │ │ │ │ │ +000190c0: 6b73 2c20 6f6e 6c79 2035 0a72 6573 756c ks, only 5.resul │ │ │ │ │ +000190d0: 7465 6420 696e 2073 7761 7073 2074 6f20 ted in swaps to │ │ │ │ │ +000190e0: 7265 6f72 6465 7220 7468 6520 696e 6974 reorder the init │ │ │ │ │ +000190f0: 6961 6c20 736f 7274 2e20 2049 6e20 7477 ial sort. In tw │ │ │ │ │ +00019100: 6f20 6361 7365 732c 2061 2063 6f72 7265 o cases, a corre │ │ │ │ │ +00019110: 6374 0a6f 7264 6572 696e 6720 636f 756c ct.ordering coul │ │ │ │ │ +00019120: 6420 6e6f 7420 6265 2064 6574 6572 6d69 d not be determi │ │ │ │ │ +00019130: 6e65 642c 2073 6f20 6269 6e61 7279 2073 ned, so binary s │ │ │ │ │ +00019140: 7061 6365 2070 6172 7469 7469 6f6e 7320 pace partitions │ │ │ │ │ +00019150: 7765 7265 0a63 6f6e 7374 7275 6374 6564 were.constructed │ │ │ │ │ +00019160: 2066 6f72 2073 706c 6974 7469 6e67 2e20 for splitting. │ │ │ │ │ +00019170: 2041 2074 6f74 616c 206f 6620 3420 6f62 A total of 4 ob │ │ │ │ │ +00019180: 6a65 6374 7320 2874 7269 616e 676c 6573 jects (triangles │ │ │ │ │ +00019190: 2069 6e20 7468 6973 0a63 6173 6529 2077 in this.case) w │ │ │ │ │ +000191a0: 6572 6520 696e 7365 7274 6564 2069 6e20 ere inserted in │ │ │ │ │ +000191b0: 7468 6520 7061 7274 6974 696f 6e73 2c20 the partitions, │ │ │ │ │ +000191c0: 616e 6420 3620 706f 6c79 676f 6e73 2077 and 6 polygons w │ │ │ │ │ +000191d0: 6572 6520 7072 6f64 7563 6564 2e0a 4669 ere produced..Fi │ │ │ │ │ +000191e0: 6e61 6c6c 792c 2032 342c 3835 3120 226c nally, 24,851 "l │ │ │ │ │ +000191f0: 6173 7420 7265 736f 7274 2220 706f 6c79 ast resort" poly │ │ │ │ │ +00019200: 676f 6e20 6f76 6572 6c61 7020 6368 6563 gon overlap chec │ │ │ │ │ +00019210: 6b73 2077 6572 6520 7065 7266 6f72 6d65 ks were performe │ │ │ │ │ +00019220: 640a 6166 7465 7220 7369 6d70 6c65 722c d.after simpler, │ │ │ │ │ +00019230: 2066 6173 7465 7220 6368 6563 6b73 2066 faster checks f │ │ │ │ │ +00019240: 6169 6c65 6420 746f 2079 6965 6c64 2063 ailed to yield c │ │ │ │ │ +00019250: 6f6e 636c 7573 6976 6520 7265 7375 6c74 onclusive result │ │ │ │ │ +00019260: 732e 2020 5468 650a 6669 6e61 6c20 2f30 s. The.final /0 │ │ │ │ │ +00019270: 2069 7320 666f 7220 6c69 6e65 2d70 6f6c is for line-pol │ │ │ │ │ +00019280: 7967 6f6e 206f 7665 726c 6170 2063 6865 ygon overlap che │ │ │ │ │ +00019290: 636b 732e 2020 466f 7220 636f 6d70 6172 cks. For compar │ │ │ │ │ +000192a0: 6973 6f6e 2c20 7468 650a 7374 6174 6973 ison, the.statis │ │ │ │ │ +000192b0: 7469 6373 2066 6f72 2074 6865 206c 6173 tics for the las │ │ │ │ │ +000192c0: 7420 6669 6775 7265 2069 6e20 2a6e 6f74 t figure in *not │ │ │ │ │ +000192d0: 6520 4f76 6572 7669 6577 3a3a 2066 6f6c e Overview:: fol │ │ │ │ │ +000192e0: 6c6f 772e 0a20 2072 656d 6172 6b2c 206e low.. remark, n │ │ │ │ │ +000192f0: 6f64 653d 3237 2070 726f 6265 3d31 342e ode=27 probe=14. │ │ │ │ │ +00019300: 3620 7377 6170 3d33 3620 7370 6c69 743d 6 swap=36 split= │ │ │ │ │ +00019310: 3135 2028 696e 3d33 3020 6f75 743d 3435 15 (in=30 out=45 │ │ │ │ │ +00019320: 2920 6f6c 733d 302f 3639 0a4e 6f74 6520 ) ols=0/69.Note │ │ │ │ │ +00019330: 7468 6174 2074 6865 7265 2077 6173 2070 that there was p │ │ │ │ │ +00019340: 726f 706f 7274 696f 6e61 6c6c 7920 6d75 roportionally mu │ │ │ │ │ +00019350: 6368 206d 6f72 6520 7377 6170 7069 6e67 ch more swapping │ │ │ │ │ +00019360: 2061 6e64 2073 706c 6974 7469 6e67 0a61 and splitting.a │ │ │ │ │ +00019370: 6374 6976 6974 7920 696e 2074 6869 7320 ctivity in this │ │ │ │ │ +00019380: 6869 6768 6c79 2063 6f6e 6e65 6374 6564 highly connected │ │ │ │ │ +00019390: 2073 6365 6e65 2e0a 0a1f 0a46 696c 653a scene.....File: │ │ │ │ │ +000193a0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +000193b0: 6f64 653a 2042 7567 7320 616e 6420 616e ode: Bugs and an │ │ │ │ │ +000193c0: 6f6d 616c 6965 732c 2020 5072 6576 3a20 omalies, Prev: │ │ │ │ │ +000193d0: 5374 6174 6973 7469 6373 2c20 2055 703a Statistics, Up: │ │ │ │ │ +000193e0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ +000193f0: 7265 6d6f 7661 6c0a 0a34 2e34 2e33 2e32 removal..4.4.3.2 │ │ │ │ │ +00019400: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal │ │ │ │ │ +00019410: 6965 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ies............. │ │ │ │ │ +00019420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ +00019430: 506f 6c79 676f 6e20 616e 6420 6c69 6e65 Polygon and line │ │ │ │ │ +00019440: 2073 706c 6974 7469 6e67 2063 616e 2062 splitting can b │ │ │ │ │ +00019450: 6f74 6820 6361 7573 6520 616e 6f6d 616c oth cause anomal │ │ │ │ │ +00019460: 6965 7320 696e 2074 6865 206f 7574 7075 ies in the outpu │ │ │ │ │ +00019470: 742e 0ae2 8098 5053 5472 6963 6b73 e280 t.....PSTricks.. │ │ │ │ │ +00019480: 9920 6461 7368 2070 6174 7465 726e 732c . dash patterns, │ │ │ │ │ +00019490: 2073 7065 6369 6669 6564 2077 6974 6820 specified with │ │ │ │ │ +000194a0: e280 986c 696e 6573 7479 6c65 3d64 6173 ...linestyle=das │ │ │ │ │ +000194b0: 6865 64e2 8099 2c20 6361 6e20 6265 0a64 hed..., can be.d │ │ │ │ │ +000194c0: 6973 7275 7074 6564 2062 7920 7370 6c69 isrupted by spli │ │ │ │ │ +000194d0: 7474 696e 672e 2020 5468 6973 206f 6363 tting. This occ │ │ │ │ │ +000194e0: 7572 7320 7768 656e 2074 6865 2064 6570 urs when the dep │ │ │ │ │ +000194f0: 7468 2073 6f72 7420 6769 7665 7320 7570 th sort gives up │ │ │ │ │ +00019500: 2074 6f6f 0a65 6172 6c79 2061 6e64 2073 too.early and s │ │ │ │ │ +00019510: 706c 6974 7320 6120 6c69 6e65 2077 6865 plits a line whe │ │ │ │ │ +00019520: 7265 2069 7420 6973 206e 6f74 2072 6561 re it is not rea │ │ │ │ │ +00019530: 6c6c 7920 6e65 6365 7373 6172 792e 2020 lly necessary. │ │ │ │ │ +00019540: 4120 776f 726b 6172 6f75 6e64 0a69 7320 A workaround.is │ │ │ │ │ +00019550: 746f 2075 7365 2067 7261 7920 6f72 2066 to use gray or f │ │ │ │ │ +00019560: 696e 656c 7920 646f 7474 6564 206c 696e inely dotted lin │ │ │ │ │ +00019570: 6573 2069 6e73 7465 6164 2e20 2049 6620 es instead. If │ │ │ │ │ +00019580: 796f 7572 2064 7261 7769 6e67 2069 730a your drawing is. │ │ │ │ │ +00019590: 736d 616c 6c2c 2079 6f75 2063 616e 2061 small, you can a │ │ │ │ │ +000195a0: 6c73 6f20 6564 6974 2074 6865 20e2 8098 lso edit the ... │ │ │ │ │ +000195b0: 736b 6574 6368 e280 9920 6f75 7470 7574 sketch... output │ │ │ │ │ +000195c0: 2062 7920 6861 6e64 2074 6f20 6d65 7267 by hand to merg │ │ │ │ │ +000195d0: 6520 7468 6520 7069 6563 6573 0a6f 6620 e the pieces.of │ │ │ │ │ +000195e0: 7468 6520 6f66 6665 6e64 696e 6720 6c69 the offending li │ │ │ │ │ +000195f0: 6e65 2e0a 0a20 2020 416e 6f74 6865 7220 ne... Another │ │ │ │ │ +00019600: 616e 6f6d 616c 7920 6973 2074 696e 7920 anomaly is tiny │ │ │ │ │ +00019610: 286f 7220 696e 2064 6567 656e 6572 6174 (or in degenerat │ │ │ │ │ +00019620: 6520 6361 7365 7320 6e6f 742d 736f 2d74 e cases not-so-t │ │ │ │ │ +00019630: 696e 7929 206e 6f74 6368 6573 0a69 6e20 iny) notches.in │ │ │ │ │ +00019640: 7468 6520 6c69 6e65 7320 7468 6174 2062 the lines that b │ │ │ │ │ +00019650: 6f72 6465 7220 7370 6c69 7420 706f 6c79 order split poly │ │ │ │ │ +00019660: 676f 6e73 2e20 2054 6865 7365 2064 6572 gons. These der │ │ │ │ │ +00019670: 6976 6520 6672 6f6d 2074 6865 2077 6179 ive from the way │ │ │ │ │ +00019680: 2065 6163 680a 706f 6c79 676f 6e20 6973 each.polygon is │ │ │ │ │ +00019690: 2070 6169 6e74 6564 3a20 6669 7273 742c painted: first, │ │ │ │ │ +000196a0: 2061 6c6c 2070 6978 656c 7320 7769 7468 all pixels with │ │ │ │ │ +000196b0: 696e 2074 6865 2062 6f75 6e64 6172 7920 in the boundary │ │ │ │ │ +000196c0: 6172 6520 e280 9c66 696c 6c65 64e2 809d are ...filled... │ │ │ │ │ +000196d0: 0a77 6974 6820 636f 6c6f 7220 2870 6572 .with color (per │ │ │ │ │ +000196e0: 6861 7073 2077 6869 7465 292c 2074 6865 haps white), the │ │ │ │ │ +000196f0: 6e20 7468 6520 7361 6d65 2062 6f75 6e64 n the same bound │ │ │ │ │ +00019700: 6172 7920 6973 20e2 809c 7374 726f 6b65 ary is ...stroke │ │ │ │ │ +00019710: 64e2 809d 2028 610a 506f 7374 7363 7269 d... (a.Postscri │ │ │ │ │ +00019720: 7074 2074 6572 6d29 2077 6974 6820 6120 pt term) with a │ │ │ │ │ +00019730: 6c69 6e65 2e20 2054 6865 2072 6573 756c line. The resul │ │ │ │ │ +00019740: 7420 6973 2074 6861 7420 6861 6c66 2074 t is that half t │ │ │ │ │ +00019750: 6865 206c 696e 6520 6c69 6573 0a69 6e73 he line lies.ins │ │ │ │ │ +00019760: 6964 6520 7468 6520 626f 756e 6461 7279 ide the boundary │ │ │ │ │ +00019770: 2061 6e64 2068 616c 6620 6f75 7473 6964 and half outsid │ │ │ │ │ +00019780: 652c 2077 6869 6c65 2074 6865 2050 6169 e, while the Pai │ │ │ │ │ +00019790: 6e74 6572 2773 2061 6c67 6f72 6974 686d nter's algorithm │ │ │ │ │ +000197a0: 0a61 7373 756d 6573 2074 6865 2070 6f6c .assumes the pol │ │ │ │ │ +000197b0: 7967 6f6e 206c 6965 7320 656e 7469 7265 ygon lies entire │ │ │ │ │ +000197c0: 6c79 2077 6974 6869 6e20 6974 7320 626f ly within its bo │ │ │ │ │ +000197d0: 756e 6461 7279 2e20 2054 6865 206e 6f74 undary. The not │ │ │ │ │ +000197e0: 6368 6573 2061 7265 0a64 7565 2074 6f20 ches are.due to │ │ │ │ │ +000197f0: 6f6e 6520 706f 6c79 676f 6e20 6669 6c6c one polygon fill │ │ │ │ │ +00019800: 206f 7065 7261 7469 6f6e 206f 7665 7277 operation overw │ │ │ │ │ +00019810: 7269 7469 6e67 2074 6865 2061 6c72 6561 riting the alrea │ │ │ │ │ +00019820: 6479 2d64 7261 776e 2069 6e73 6964 650a dy-drawn inside. │ │ │ │ │ +00019830: 6f66 2074 6865 2062 6f72 6465 7220 6f66 of the border of │ │ │ │ │ +00019840: 2061 6e6f 7468 6572 2070 6f6c 7967 6f6e another polygon │ │ │ │ │ +00019850: 2e28 3129 2020 4f6e 6520 776f 726b 6172 .(1) One workar │ │ │ │ │ +00019860: 6f75 6e64 2069 7320 746f 206d 616b 6520 ound is to make │ │ │ │ │ +00019870: 626f 7264 6572 0a6c 696e 6573 2076 6572 border.lines ver │ │ │ │ │ +00019880: 7920 7468 696e 2e20 2049 6e20 6661 6374 y thin. In fact │ │ │ │ │ +00019890: 20e2 8098 6c69 6e65 7769 6474 683d 3070 ...linewidth=0p │ │ │ │ │ +000198a0: 74e2 8099 2069 7320 6775 6172 616e 7465 t... is guarante │ │ │ │ │ +000198b0: 6564 2074 6f20 656c 696d 696e 6174 650a ed to eliminate. │ │ │ │ │ +000198c0: 7468 6973 2070 726f 626c 656d 2c20 7468 this problem, th │ │ │ │ │ +000198d0: 6f75 6768 2074 6869 7320 7265 7375 6c74 ough this result │ │ │ │ │ +000198e0: 7320 696e 2074 6865 2074 6869 6e6e 6573 s in the thinnes │ │ │ │ │ +000198f0: 7420 6c69 6e65 2079 6f75 7220 6f75 7470 t line your outp │ │ │ │ │ +00019900: 7574 0a64 6576 6963 6520 6361 6e20 6472 ut.device can dr │ │ │ │ │ +00019910: 6177 2c20 7768 6963 6820 6973 2075 7375 aw, which is usu │ │ │ │ │ +00019920: 616c 6c79 2074 6f6f 2074 6869 6e2e 2020 ally too thin. │ │ │ │ │ +00019930: 596f 7520 6d69 6768 7420 6765 7420 6c75 You might get lu │ │ │ │ │ +00019940: 636b 7920 6279 0a6d 6572 656c 7920 7265 cky by.merely re │ │ │ │ │ +00019950: 6f72 6465 7269 6e67 2074 6869 6e67 7320 ordering things │ │ │ │ │ +00019960: 696e 2074 6865 2069 6e70 7574 2066 696c in the input fil │ │ │ │ │ +00019970: 652c 2077 6869 6368 2069 7320 6c69 6b65 e, which is like │ │ │ │ │ +00019980: 6c79 2074 6f20 6d6f 7665 2074 6865 0a73 ly to move the.s │ │ │ │ │ +00019990: 706c 6974 7320 746f 2064 6966 6665 7265 plits to differe │ │ │ │ │ +000199a0: 6e74 2070 6c61 6365 732e 2020 5468 6520 nt places. The │ │ │ │ │ +000199b0: 6f6e 6c79 2073 7572 652d 6669 7265 2073 only sure-fire s │ │ │ │ │ +000199c0: 6f6c 7574 696f 6e20 6973 2070 7265 7474 olution is prett │ │ │ │ │ +000199d0: 790a 7465 7272 6962 6c65 3a20 6375 7374 y.terrible: cust │ │ │ │ │ +000199e0: 6f6d 2066 6974 20e2 8098 7370 6563 6961 om fit ...specia │ │ │ │ │ +000199f0: 6ce2 8099 206f 7665 726c 6179 206c 696e l... overlay lin │ │ │ │ │ +00019a00: 6573 2028 7769 7468 20e2 8098 5c70 736c es (with ...\psl │ │ │ │ │ +00019a10: 696e 65e2 8099 2920 746f 2063 6f76 6572 ine...) to cover │ │ │ │ │ +00019a20: 0a74 6865 206e 6f74 6368 6573 2e0a 0a20 .the notches... │ │ │ │ │ +00019a30: 2020 506f 6c79 676f 6e20 7370 6c69 7474 Polygon splitt │ │ │ │ │ +00019a40: 696e 6720 616c 736f 2062 7265 616b 7320 ing also breaks │ │ │ │ │ +00019a50: e280 9850 5354 7269 636b 73e2 8099 2068 ...PSTricks... h │ │ │ │ │ +00019a60: 6174 6368 2070 6174 7465 726e 732e 2020 atch patterns. │ │ │ │ │ +00019a70: 5468 6520 6f6e 6c79 0a6b 6e6f 776e 2077 The only.known w │ │ │ │ │ +00019a80: 6f72 6b61 726f 756e 6420 6973 2074 6f20 orkaround is to │ │ │ │ │ +00019a90: 7375 6273 7469 7475 7465 2061 2073 6f6c substitute a sol │ │ │ │ │ +00019aa0: 6964 2066 696c 6c20 666f 7220 7468 6520 id fill for the │ │ │ │ │ +00019ab0: 6861 7463 682e 0a0a 2020 202d 2d2d 2d2d hatch... ----- │ │ │ │ │ +00019ac0: 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 7320 ----- Footnotes │ │ │ │ │ +00019ad0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 2028 ----------.. ( │ │ │ │ │ +00019ae0: 3129 2049 206b 6e6f 7720 686f 7720 746f 1) I know how to │ │ │ │ │ +00019af0: 2066 6978 2074 6869 7320 7072 6f62 6c65 fix this proble │ │ │ │ │ +00019b00: 6d2c 2062 7574 2049 2064 6f6e 2774 206c m, but I don't l │ │ │ │ │ +00019b10: 696b 6520 6d79 2073 6f6c 7574 696f 6e2c ike my solution, │ │ │ │ │ +00019b20: 2061 6e64 0a49 276d 2069 6e74 6572 6573 and.I'm interes │ │ │ │ │ +00019b30: 7465 6420 696e 2079 6f75 7273 2e0a 0a1f ted in yours.... │ │ │ │ │ +00019b40: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00019b50: 666f 2c20 204e 6f64 653a 2043 6f6d 6d61 fo, Node: Comma │ │ │ │ │ +00019b60: 6e64 206c 696e 652c 2020 4e65 7874 3a20 nd line, Next: │ │ │ │ │ +00019b70: 496e 7374 616c 6c69 6e67 2073 6b65 7463 Installing sketc │ │ │ │ │ +00019b80: 682c 2020 5072 6576 3a20 4275 696c 6469 h, Prev: Buildi │ │ │ │ │ +00019b90: 6e67 2061 2064 7261 7769 6e67 2c20 2055 ng a drawing, U │ │ │ │ │ +00019ba0: 703a 2054 6f70 0a0a 3520 436f 6d6d 616e p: Top..5 Comman │ │ │ │ │ +00019bb0: 6420 6c69 6e65 0a2a 2a2a 2a2a 2a2a 2a2a d line.********* │ │ │ │ │ +00019bc0: 2a2a 2a2a 2a0a 0a2a 5379 6e6f 7073 6973 *****..*Synopsis │ │ │ │ │ +00019bd0: 3a2a 0a20 2020 2020 736b 6574 6368 205b :*. sketch [ │ │ │ │ │ +00019be0: 2d68 5d5b 2d56 2078 2e79 5d5b 2d76 5d5b -h][-V x.y][-v][ │ │ │ │ │ +00019bf0: 2d62 5d5b 2d64 5d5b 7420 646f 6374 6d70 -b][-d][t doctmp │ │ │ │ │ +00019c00: 5d5b 2d54 5b75 7c65 5d5b 705b 507c 545d ][-T[u|e][p[P|T] │ │ │ │ │ +00019c10: 5b4c 7c43 5d5d 5d5b 2d6f 206f 7574 7075 [L|C]]][-o outpu │ │ │ │ │ +00019c20: 742e 7465 785d 0a20 2020 2020 2020 5b2d t.tex]. [- │ │ │ │ │ +00019c30: 4420 5441 4720 2e2e 2e5d 2069 6e70 7574 D TAG ...] input │ │ │ │ │ +00019c40: 312e 736b 205b 2d55 2054 4147 202e 2e2e 1.sk [-U TAG ... │ │ │ │ │ +00019c50: 5d20 696e 7075 7432 2e73 6b20 2e2e 2e0a ] input2.sk .... │ │ │ │ │ +00019c60: 0a2a 4465 7363 7269 7074 696f 6e2a 2050 .*Description* P │ │ │ │ │ +00019c70: 726f 6365 7373 6573 2074 6865 20e2 8098 rocesses the ... │ │ │ │ │ +00019c80: 736b 6574 6368 e280 9920 696e 7075 7420 sketch... input │ │ │ │ │ +00019c90: 6669 6c65 7320 696e 206f 7264 6572 2074 files in order t │ │ │ │ │ +00019ca0: 6f20 7072 6f64 7563 650a e280 9850 5354 o produce....PST │ │ │ │ │ +00019cb0: 7269 636b 73e2 8099 206f 7574 7075 7420 ricks... output │ │ │ │ │ +00019cc0: 636f 6465 2073 7569 7461 626c 6520 666f code suitable fo │ │ │ │ │ +00019cd0: 7220 696e 636c 7573 696f 6e20 696e 2061 r inclusion in a │ │ │ │ │ +00019ce0: 2054 6558 206f 7220 4c61 5465 580a 646f TeX or LaTeX.do │ │ │ │ │ +00019cf0: 6375 6d65 6e74 2e0a 0a2a 4f70 7469 6f6e cument...*Option │ │ │ │ │ +00019d00: 733a 2a0a e280 982d 68e2 8099 0a20 2020 s:*....-h.... │ │ │ │ │ +00019d10: 2020 5072 696e 7420 6120 7368 6f72 7420 Print a short │ │ │ │ │ +00019d20: 6361 7461 6c6f 6720 6f66 206f 7074 696f catalog of optio │ │ │ │ │ +00019d30: 6e73 2e0a e280 982d 56e2 8099 0a20 2020 ns.....-V.... │ │ │ │ │ +00019d40: 2020 5365 7420 7468 6520 e280 9850 5354 Set the ...PST │ │ │ │ │ +00019d50: 7269 636b 73e2 8099 2076 6572 7369 6f6e ricks... version │ │ │ │ │ +00019d60: 2061 7373 756d 6564 2066 6f72 206f 7574 assumed for out │ │ │ │ │ +00019d70: 7075 7420 7075 7270 6f73 6573 2074 6f20 put purposes to │ │ │ │ │ +00019d80: e280 9878 2e79 e280 992c 0a20 2020 2020 ...x.y...,. │ │ │ │ │ +00019d90: 666f 7220 6578 616d 706c 6520 312e 3139 for example 1.19 │ │ │ │ │ +00019da0: 2e20 2055 7375 616c 6c79 206e 6565 6465 . Usually neede │ │ │ │ │ +00019db0: 6420 6f6e 6c79 2069 6620 796f 7572 20e2 d only if your . │ │ │ │ │ +00019dc0: 8098 5053 5472 6963 6b73 e280 9920 6973 ..PSTricks... is │ │ │ │ │ +00019dd0: 206f 6c64 0a20 2020 2020 636f 6d70 6172 old. compar │ │ │ │ │ +00019de0: 6564 2074 6f20 796f 7572 20e2 8098 736b ed to your ...sk │ │ │ │ │ +00019df0: 6574 6368 e280 992e 2020 5573 6520 e280 etch.... Use .. │ │ │ │ │ +00019e00: 982d 76e2 8099 2074 6f20 7365 6520 7768 .-v... to see wh │ │ │ │ │ +00019e10: 6174 20e2 8098 736b 6574 6368 e280 9920 at ...sketch... │ │ │ │ │ +00019e20: 6173 7375 6d65 730a 2020 2020 2062 7920 assumes. by │ │ │ │ │ +00019e30: 6465 6661 756c 742e 0ae2 8098 2d76 e280 default.....-v.. │ │ │ │ │ +00019e40: 990a 2020 2020 2050 7269 6e74 2076 6572 .. Print ver │ │ │ │ │ +00019e50: 7369 6f6e 2069 6e66 6f72 6d61 7469 6f6e sion information │ │ │ │ │ +00019e60: 2074 6f20 7374 616e 6461 7264 206f 7574 to standard out │ │ │ │ │ +00019e70: 7075 742c 2069 6e63 6c75 6469 6e67 2074 put, including t │ │ │ │ │ +00019e80: 6865 2076 6572 7369 6f6e 0a20 2020 2020 he version. │ │ │ │ │ +00019e90: 6f66 20e2 8098 5053 5472 6963 6b73 e280 of ...PSTricks.. │ │ │ │ │ +00019ea0: 9920 6173 7375 6d65 6420 666f 7220 6f75 . assumed for ou │ │ │ │ │ +00019eb0: 7470 7574 2028 6361 6e20 6265 2063 6861 tput (can be cha │ │ │ │ │ +00019ec0: 6e67 6564 2077 6974 6820 e280 982d 56e2 nged with ...-V. │ │ │ │ │ +00019ed0: 8099 2061 626f 7665 292e 0ae2 8098 2d62 .. above).....-b │ │ │ │ │ +00019ee0: e280 990a 2020 2020 2055 7365 2061 2042 .... Use a B │ │ │ │ │ +00019ef0: 5350 2028 2a4e 6f74 6520 4869 6464 656e SP (*Note Hidden │ │ │ │ │ +00019f00: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal │ │ │ │ │ +00019f10: 3a3a 2e29 2020 666f 7220 5f61 6c6c 5f20 ::.) for _all_ │ │ │ │ │ +00019f20: 6869 6464 656e 0a20 2020 2020 7375 7266 hidden. surf │ │ │ │ │ +00019f30: 6163 6520 7265 6d6f 7661 6c20 7261 7468 ace removal rath │ │ │ │ │ +00019f40: 6572 2074 6861 6e20 7468 6520 6465 6661 er than the defa │ │ │ │ │ +00019f50: 756c 742c 2077 6869 6368 2069 7320 7468 ult, which is th │ │ │ │ │ +00019f60: 6520 6465 7074 6820 736f 7274 0a20 2020 e depth sort. │ │ │ │ │ +00019f70: 2020 616c 676f 7269 7468 6d20 7769 7468 algorithm with │ │ │ │ │ +00019f80: 2042 5350 7320 7573 6564 206f 6e6c 7920 BSPs used only │ │ │ │ │ +00019f90: 666f 7220 6379 636c 6520 7265 736f 6c75 for cycle resolu │ │ │ │ │ +00019fa0: 7469 6f6e 2e20 2054 6869 7320 6d61 790a tion. This may. │ │ │ │ │ +00019fb0: 2020 2020 2070 726f 6475 6365 2063 6f72 produce cor │ │ │ │ │ +00019fc0: 7265 6374 206f 7574 7075 7420 696e 2063 rect output in c │ │ │ │ │ +00019fd0: 6572 7461 696e 2064 6567 656e 6572 6174 ertain degenerat │ │ │ │ │ +00019fe0: 6520 6361 7365 7320 7768 6572 6520 7468 e cases where th │ │ │ │ │ +00019ff0: 6520 6465 7074 680a 2020 2020 2073 6f72 e depth. sor │ │ │ │ │ +0001a000: 7420 6361 6e6e 6f74 2c20 6275 7420 6974 t cannot, but it │ │ │ │ │ +0001a010: 2061 6c73 6f20 6c65 6164 7320 746f 206d also leads to m │ │ │ │ │ +0001a020: 616e 7920 6772 6174 7569 746f 7573 2073 any gratuitous s │ │ │ │ │ +0001a030: 706c 6974 732c 2068 656e 6365 0a20 2020 plits, hence. │ │ │ │ │ +0001a040: 2020 6d6f 7265 2061 6e6f 6d61 6c69 6573 more anomalies │ │ │ │ │ +0001a050: 202a 6e6f 7465 2042 7567 7320 616e 6420 *note Bugs and │ │ │ │ │ +0001a060: 616e 6f6d 616c 6965 733a 3a20 616e 6420 anomalies:: and │ │ │ │ │ +0001a070: 6269 6720 6f75 7470 7574 2066 696c 6573 big output files │ │ │ │ │ +0001a080: 2e0a e280 982d 64e2 8099 0a20 2020 2020 .....-d.... │ │ │ │ │ +0001a090: 5275 6e20 e280 9873 6b65 7463 68e2 8099 Run ...sketch... │ │ │ │ │ +0001a0a0: 2773 2070 6172 7365 7220 696e 2064 6562 's parser in deb │ │ │ │ │ +0001a0b0: 7567 6769 6e67 206d 6f64 652e 2020 5468 ugging mode. Th │ │ │ │ │ +0001a0c0: 6973 2069 7320 7072 696d 6172 696c 7920 is is primarily │ │ │ │ │ +0001a0d0: 666f 720a 2020 2020 2064 6576 656c 6f70 for. develop │ │ │ │ │ +0001a0e0: 6d65 6e74 2e0a e280 982d 74e2 8099 0a20 ment.....-t.... │ │ │ │ │ +0001a0f0: 2020 2020 5573 6520 636f 6e74 656e 7473 Use contents │ │ │ │ │ +0001a100: 206f 6620 6669 6c65 20e2 8098 646f 6374 of file ...doct │ │ │ │ │ +0001a110: 6d70 e280 9920 6173 2061 2064 6f63 756d mp... as a docum │ │ │ │ │ +0001a120: 656e 7420 7465 6d70 6c61 7465 2069 6e20 ent template in │ │ │ │ │ +0001a130: 7768 6963 6820 746f 0a20 2020 2020 656e which to. en │ │ │ │ │ +0001a140: 636c 6f73 6520 e280 9850 5354 7269 636b close ...PSTrick │ │ │ │ │ +0001a150: 73e2 8099 206f 7574 7075 7420 636f 6465 s... output code │ │ │ │ │ +0001a160: 2e20 2054 6865 2063 6f64 6520 6973 2069 . The code is i │ │ │ │ │ +0001a170: 6e73 6572 7465 6420 696e 2070 6c61 6365 nserted in place │ │ │ │ │ +0001a180: 206f 660a 2020 2020 2074 6865 2066 6972 of. the fir │ │ │ │ │ +0001a190: 7374 2069 6e73 7461 6e63 6520 6f66 2074 st instance of t │ │ │ │ │ +0001a1a0: 6865 2065 7363 6170 6520 7374 7269 6e67 he escape string │ │ │ │ │ +0001a1b0: 2025 2553 4b45 5443 485f 4f55 5450 5554 %%SKETCH_OUTPUT │ │ │ │ │ +0001a1c0: 2525 2e0a e280 982d 54e2 8099 0a20 2020 %%.....-T.... │ │ │ │ │ +0001a1d0: 2020 4361 7573 6573 20e2 8098 5053 5472 Causes ...PSTr │ │ │ │ │ +0001a1e0: 6963 6b73 e280 9920 6f75 7470 7574 2074 icks... output t │ │ │ │ │ +0001a1f0: 6f20 6265 2065 6e63 6c6f 7365 6420 696e o be enclosed in │ │ │ │ │ +0001a200: 2064 6566 6175 6c74 2055 5320 646f 6375 default US docu │ │ │ │ │ +0001a210: 6d65 6e74 0a20 2020 2020 7465 6d70 6c61 ment. templa │ │ │ │ │ +0001a220: 7465 2074 6578 742e 2020 4f70 7469 6f6e te text. Option │ │ │ │ │ +0001a230: 20e2 8098 2d54 75e2 8099 2069 7320 6120 ...-Tu... is a │ │ │ │ │ +0001a240: 7379 6e6f 6e79 6d2e 2020 4f70 7469 6f6e synonym. Option │ │ │ │ │ +0001a250: 20e2 8098 2d54 65e2 8099 2063 6175 7365 ...-Te... cause │ │ │ │ │ +0001a260: 7320 7468 650a 2020 2020 2045 7572 6f20 s the. Euro │ │ │ │ │ +0001a270: 7374 616e 6461 7264 2064 6f63 756d 656e standard documen │ │ │ │ │ +0001a280: 7420 7465 6d70 6c61 7465 2074 6f20 6265 t template to be │ │ │ │ │ +0001a290: 2075 7365 642e 2020 4120 e280 9870 e280 used. A ...p.. │ │ │ │ │ +0001a2a0: 9920 6170 7065 6e64 6564 2074 6f20 616e . appended to an │ │ │ │ │ +0001a2b0: 790a 2020 2020 206f 6620 7468 6573 6520 y. of these │ │ │ │ │ +0001a2c0: 6f70 7469 6f6e 7320 6361 7573 6573 2074 options causes t │ │ │ │ │ +0001a2d0: 6865 2072 6573 7065 6374 6976 6520 6465 he respective de │ │ │ │ │ +0001a2e0: 6661 756c 7420 e280 9850 5354 7269 636b fault ...PSTrick │ │ │ │ │ +0001a2f0: 73e2 8099 2064 6f63 756d 656e 740a 2020 s... document. │ │ │ │ │ +0001a300: 2020 2074 656d 706c 6174 6520 746f 2062 template to b │ │ │ │ │ +0001a310: 6520 7072 696e 7465 6420 746f 2073 7461 e printed to sta │ │ │ │ │ +0001a320: 6e64 6172 6420 6f75 7470 7574 2e20 2041 ndard output. A │ │ │ │ │ +0001a330: 6e20 6170 7065 6e64 6564 20e2 8098 50e2 n appended ...P. │ │ │ │ │ +0001a340: 8099 2069 7320 610a 2020 2020 2073 796e .. is a. syn │ │ │ │ │ +0001a350: 6f6e 796d 2e20 2041 6e20 6170 7065 6e64 onym. An append │ │ │ │ │ +0001a360: 6564 20e2 8098 54e2 8099 2063 6175 7365 ed ...T... cause │ │ │ │ │ +0001a370: 7320 7468 6520 7468 6520 e280 9854 696b s the the ...Tik │ │ │ │ │ +0001a380: 5a2f 5047 46e2 8099 2074 656d 706c 6174 Z/PGF... templat │ │ │ │ │ +0001a390: 6520 746f 2062 650a 2020 2020 2070 7269 e to be. pri │ │ │ │ │ +0001a3a0: 6e74 6564 2e20 2041 6e20 6170 7065 6e64 nted. An append │ │ │ │ │ +0001a3b0: 6564 20e2 8098 4ce2 8099 2070 7269 6e74 ed ...L... print │ │ │ │ │ +0001a3c0: 7320 7468 6520 4c61 5465 5820 7665 7273 s the LaTeX vers │ │ │ │ │ +0001a3d0: 696f 6e20 6f66 2074 6865 2064 6f63 756d ion of the docum │ │ │ │ │ +0001a3e0: 656e 740a 2020 2020 2074 656d 706c 6174 ent. templat │ │ │ │ │ +0001a3f0: 652c 2061 2073 796e 6f6e 796d 2066 6f72 e, a synonym for │ │ │ │ │ +0001a400: 2074 6865 2064 6566 6175 6c74 2e20 2041 the default. A │ │ │ │ │ +0001a410: 20e2 8098 43e2 8099 2070 7269 6e74 7320 ...C... prints │ │ │ │ │ +0001a420: 7468 6520 e280 9843 6f6e 5465 5874 e280 the ...ConTeXt.. │ │ │ │ │ +0001a430: 990a 2020 2020 2074 656d 706c 6174 652e .. template. │ │ │ │ │ +0001a440: 0ae2 8098 2d6f e280 990a 2020 2020 2055 ....-o.... U │ │ │ │ │ +0001a450: 7365 20e2 8098 6f75 7470 7574 2e74 6578 se ...output.tex │ │ │ │ │ +0001a460: e280 9920 6173 2074 6865 206f 7574 7075 ... as the outpu │ │ │ │ │ +0001a470: 7420 6669 6c65 2e20 2054 6865 2064 6566 t file. The def │ │ │ │ │ +0001a480: 6175 6c74 2069 7320 7374 616e 6461 7264 ault is standard │ │ │ │ │ +0001a490: 0a20 2020 2020 6f75 7470 7574 2e0a e280 . output.... │ │ │ │ │ +0001a4a0: 982d 44e2 8099 0a20 2020 2020 4465 6669 .-D.... Defi │ │ │ │ │ +0001a4b0: 6e65 2061 2074 6167 2066 6f72 2070 7572 ne a tag for pur │ │ │ │ │ +0001a4c0: 706f 7365 7320 6f66 2073 656c 6563 7469 poses of selecti │ │ │ │ │ +0001a4d0: 6e67 2064 6566 696e 6974 696f 6e20 616c ng definition al │ │ │ │ │ +0001a4e0: 7465 726e 6174 6976 6573 2e0a 2020 2020 ternatives.. │ │ │ │ │ +0001a4f0: 202a 4e6f 7465 2044 6566 696e 6974 696f *Note Definitio │ │ │ │ │ +0001a500: 6e73 3a3a 2e20 2054 6865 2064 6566 696e ns::. The defin │ │ │ │ │ +0001a510: 6974 696f 6e20 6170 706c 6965 7320 666f ition applies fo │ │ │ │ │ +0001a520: 7220 616c 6c20 696e 7075 7420 6669 6c65 r all input file │ │ │ │ │ +0001a530: 730a 2020 2020 2074 6861 7420 666f 6c6c s. that foll │ │ │ │ │ +0001a540: 6f77 2075 6e6c 6573 7320 7468 6520 7461 ow unless the ta │ │ │ │ │ +0001a550: 6720 6973 2075 6e64 6566 696e 6564 2077 g is undefined w │ │ │ │ │ +0001a560: 6974 6820 e280 982d 55e2 8099 2e0a e280 ith ...-U....... │ │ │ │ │ +0001a570: 9869 6e70 7574 692e 736b e280 990a 2020 .inputi.sk.... │ │ │ │ │ +0001a580: 2020 2049 6e70 7574 2066 696c 6573 2c20 Input files, │ │ │ │ │ +0001a590: 7265 6164 2069 6e20 7468 6520 7365 7175 read in the sequ │ │ │ │ │ +0001a5a0: 656e 6365 2074 6865 7920 6172 6520 6769 ence they are gi │ │ │ │ │ +0001a5b0: 7665 6e2e 0ae2 8098 2d55 e280 990a 2020 ven.....-U.... │ │ │ │ │ +0001a5c0: 2020 2055 6e2d 6465 6669 6e65 2061 2074 Un-define a t │ │ │ │ │ +0001a5d0: 6167 2066 6f72 2070 7572 706f 7365 7320 ag for purposes │ │ │ │ │ +0001a5e0: 6f66 2073 656c 6563 7469 6e67 2064 6566 of selecting def │ │ │ │ │ +0001a5f0: 696e 6974 696f 6e20 616c 7465 726e 6174 inition alternat │ │ │ │ │ +0001a600: 6976 6573 2e0a 0a1f 0a46 696c 653a 2073 ives.....File: s │ │ │ │ │ +0001a610: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +0001a620: 653a 2049 6e73 7461 6c6c 696e 6720 736b e: Installing sk │ │ │ │ │ +0001a630: 6574 6368 2c20 204e 6578 743a 2049 6e64 etch, Next: Ind │ │ │ │ │ +0001a640: 6578 206f 6620 7379 6e74 6178 2c20 2050 ex of syntax, P │ │ │ │ │ +0001a650: 7265 763a 2043 6f6d 6d61 6e64 206c 696e rev: Command lin │ │ │ │ │ +0001a660: 652c 2020 5570 3a20 546f 700a 0a36 2042 e, Up: Top..6 B │ │ │ │ │ +0001a670: 7569 6c64 696e 6720 616e 6420 696e 7374 uilding and inst │ │ │ │ │ +0001a680: 616c 6c69 6e67 20e2 8098 736b 6574 6368 alling ...sketch │ │ │ │ │ +0001a690: e280 990a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ....************ │ │ │ │ │ 0001a6a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -0001a6b0: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a e280 9853 **********.....S │ │ │ │ │ -0001a6c0: 6b65 7463 68e2 8099 2069 7320 736f 2073 ketch... is so s │ │ │ │ │ -0001a6d0: 6d61 6c6c 2074 6861 7420 636f 6d70 696c mall that compil │ │ │ │ │ -0001a6e0: 696e 6720 6279 2062 7275 7465 2066 6f72 ing by brute for │ │ │ │ │ -0001a6f0: 6365 2069 7320 7072 6f62 6162 6c79 2062 ce is probably b │ │ │ │ │ -0001a700: 6573 742e 0a54 6865 2066 6f6c 6c6f 7769 est..The followi │ │ │ │ │ -0001a710: 6e67 2063 6f6d 6d61 6e64 206f 7567 6874 ng command ought │ │ │ │ │ -0001a720: 2074 6f20 646f 2074 6865 2074 7269 636b to do the trick │ │ │ │ │ -0001a730: 206f 6e20 616e 7920 7379 7374 656d 7320 on any systems │ │ │ │ │ -0001a740: 7768 6572 6520 e280 9867 6363 e280 990a where ...gcc.... │ │ │ │ │ -0001a750: 6973 2069 6e73 7461 6c6c 6564 2e20 204d is installed. M │ │ │ │ │ -0001a760: 616b 6520 7375 7265 2074 6f20 6669 7273 ake sure to firs │ │ │ │ │ -0001a770: 7420 6368 616e 6765 2063 7572 7265 6e74 t change current │ │ │ │ │ -0001a780: 2064 6972 6563 746f 7269 6573 2074 6f20 directories to │ │ │ │ │ -0001a790: 7468 650a 706c 6163 6520 7768 6572 6520 the.place where │ │ │ │ │ -0001a7a0: 796f 7520 6861 7665 2075 6e70 6163 6b65 you have unpacke │ │ │ │ │ -0001a7b0: 6420 7468 6520 736f 7572 6365 732e 0a20 d the sources.. │ │ │ │ │ -0001a7c0: 2020 2020 6763 6320 2a2e 6320 2d6f 2073 gcc *.c -o s │ │ │ │ │ -0001a7d0: 6b65 7463 682e 6578 6520 2d6c 6d0a 5468 ketch.exe -lm.Th │ │ │ │ │ -0001a7e0: 6520 e280 982e 6578 65e2 8099 2061 7420 e ....exe... at │ │ │ │ │ -0001a7f0: 7468 6520 656e 6420 6973 206e 6563 6573 the end is neces │ │ │ │ │ -0001a800: 7361 7279 2066 6f72 2057 696e 646f 7773 sary for Windows │ │ │ │ │ -0001a810: 2073 7973 7465 6d73 2e20 2044 726f 7020 systems. Drop │ │ │ │ │ -0001a820: 6974 2069 6620 796f 7572 0a73 7973 7465 it if your.syste │ │ │ │ │ -0001a830: 6d20 6973 2073 6f6d 6520 7665 7273 696f m is some versio │ │ │ │ │ -0001a840: 6e20 6f66 2055 6e69 782e 2020 4f74 6865 n of Unix. Othe │ │ │ │ │ -0001a850: 7220 4320 636f 6d70 696c 6572 7320 6f75 r C compilers ou │ │ │ │ │ -0001a860: 6768 7420 746f 2077 6f72 6b20 6173 206a ght to work as j │ │ │ │ │ -0001a870: 7573 740a 6173 2077 656c 6c2e 2020 466f ust.as well. Fo │ │ │ │ │ -0001a880: 7220 6578 616d 706c 652c 0a20 2020 2020 r example,. │ │ │ │ │ -0001a890: 636c 202a 2e63 202d 6f20 736b 6574 6368 cl *.c -o sketch │ │ │ │ │ -0001a8a0: 2e65 7865 0a69 7320 7468 6520 636f 7272 .exe.is the corr │ │ │ │ │ -0001a8b0: 6563 7420 636f 6d6d 616e 6420 666f 7220 ect command for │ │ │ │ │ -0001a8c0: 6d61 6e79 2076 6572 7369 6f6e 7320 6f66 many versions of │ │ │ │ │ -0001a8d0: 204d 5320 5669 7375 616c 2043 2e20 496e MS Visual C. In │ │ │ │ │ -0001a8e0: 2074 6865 206c 6174 6573 740a 7665 7273 the latest.vers │ │ │ │ │ -0001a8f0: 696f 6e73 2c20 4d69 6372 6f73 6f66 7420 ions, Microsoft │ │ │ │ │ -0001a900: 6861 7320 6465 7072 6563 6174 6564 2074 has deprecated t │ │ │ │ │ -0001a910: 6865 20e2 8098 2d6f e280 9920 6f70 7469 he ...-o... opti │ │ │ │ │ -0001a920: 6f6e 2061 6e64 2c20 6279 2064 6566 6175 on and, by defau │ │ │ │ │ -0001a930: 6c74 2c20 646f 6573 0a6e 6f74 2064 6566 lt, does.not def │ │ │ │ │ -0001a940: 696e 6520 7468 6520 e280 985f 5f53 5444 ine the ...__STD │ │ │ │ │ -0001a950: 435f 5fe2 8099 206d 6163 726f 2e20 2054 C__... macro. T │ │ │ │ │ -0001a960: 6869 7320 6361 7573 6573 2070 726f 626c his causes probl │ │ │ │ │ -0001a970: 656d 7320 7769 7468 2073 6f6d 650a 7665 ems with some.ve │ │ │ │ │ -0001a980: 7273 696f 6e73 206f 6620 e280 9866 6c65 rsions of ...fle │ │ │ │ │ -0001a990: 78e2 8099 2c20 e280 9862 6973 6f6e e280 x..., ...bison.. │ │ │ │ │ -0001a9a0: 992c 20e2 8098 6c65 78e2 8099 2c20 616e ., ...lex..., an │ │ │ │ │ -0001a9b0: 6420 e280 9879 6163 63e2 8099 2c20 7768 d ...yacc..., wh │ │ │ │ │ -0001a9c0: 6963 6820 6172 6520 7573 6564 2074 6f20 ich are used to │ │ │ │ │ -0001a9d0: 6372 6561 7465 0a74 6865 20e2 8098 736b create.the ...sk │ │ │ │ │ -0001a9e0: 6574 6368 e280 9920 7363 616e 6e65 7220 etch... scanner │ │ │ │ │ -0001a9f0: 616e 6420 7061 7273 6572 2e20 2049 7427 and parser. It' │ │ │ │ │ -0001aa00: 7320 6e65 6172 6c79 2061 6c77 6179 7320 s nearly always │ │ │ │ │ -0001aa10: 706f 7373 6962 6c65 2074 6f20 6669 6e64 possible to find │ │ │ │ │ -0001aa20: 2061 0a73 6574 206f 6620 6f70 7469 6f6e a.set of option │ │ │ │ │ -0001aa30: 7320 7468 6174 2063 6f6d 7069 6c65 7320 s that compiles │ │ │ │ │ -0001aa40: 7769 7468 206e 6f20 6572 726f 7273 206f with no errors o │ │ │ │ │ -0001aa50: 7220 7761 726e 696e 6773 2c20 616e 6420 r warnings, and │ │ │ │ │ -0001aa60: 7468 6973 206d 6561 6e73 0ae2 8098 736b this means....sk │ │ │ │ │ -0001aa70: 6574 6368 e280 9920 6973 205f 7665 7279 etch... is _very │ │ │ │ │ -0001aa80: 5f20 6c69 6b65 6c79 2074 6f20 776f 726b _ likely to work │ │ │ │ │ -0001aa90: 2063 6f72 7265 6374 6c79 2e20 2046 6f72 correctly. For │ │ │ │ │ -0001aaa0: 2065 7861 6d70 6c65 2c20 7468 6520 5669 example, the Vi │ │ │ │ │ -0001aab0: 7375 616c 0a43 2b2b 2032 3030 3520 4578 sual.C++ 2005 Ex │ │ │ │ │ -0001aac0: 7072 6573 7320 4564 6974 696f 6e20 636f press Edition co │ │ │ │ │ -0001aad0: 6d70 696c 6572 2028 6176 6169 6c61 626c mpiler (availabl │ │ │ │ │ -0001aae0: 6520 6672 6565 206f 6620 6368 6172 6765 e free of charge │ │ │ │ │ -0001aaf0: 2066 726f 6d20 7468 650a 4d69 6372 6f73 from the.Micros │ │ │ │ │ -0001ab00: 6f66 7420 7765 6220 7369 7465 292c 20e2 oft web site), . │ │ │ │ │ -0001ab10: 8098 666c 6578 e280 9920 7665 7273 696f ..flex... versio │ │ │ │ │ -0001ab20: 6e20 322e 352e 342c 2061 6e64 20e2 8098 n 2.5.4, and ... │ │ │ │ │ -0001ab30: 6269 736f 6ee2 8099 2076 6572 7369 6f6e bison... version │ │ │ │ │ -0001ab40: 2032 2e31 2062 7569 6c64 0a65 7272 6f72 2.1 build.error │ │ │ │ │ -0001ab50: 2d66 7265 6520 7769 7468 0a20 2020 2020 -free with. │ │ │ │ │ -0001ab60: 636c 202d 4459 595f 4e45 5645 525f 494e cl -DYY_NEVER_IN │ │ │ │ │ -0001ab70: 5445 5241 4354 4956 453d 3120 2d5a 6120 TERACTIVE=1 -Za │ │ │ │ │ -0001ab80: 2d4f 7820 2d46 6573 6b65 7463 682e 6578 -Ox -Fesketch.ex │ │ │ │ │ -0001ab90: 6520 2a2e 630a 0a20 2020 466f 7220 7075 e *.c.. For pu │ │ │ │ │ -0001aba0: 7269 7374 732c 2074 6865 7265 2069 7320 rists, there is │ │ │ │ │ -0001abb0: 616c 736f 2061 20e2 8098 6d61 6b65 6669 also a ...makefi │ │ │ │ │ -0001abc0: 6c65 e280 9920 636f 6d70 6174 6962 6c65 le... compatible │ │ │ │ │ -0001abd0: 2077 6974 6820 474e 5520 e280 986d 616b with GNU ...mak │ │ │ │ │ -0001abe0: 65e2 8099 0a61 6e64 20e2 8098 6763 63e2 e....and ...gcc. │ │ │ │ │ -0001abf0: 8099 2e20 2054 6865 2063 6f6d 6d61 6e64 ... The command │ │ │ │ │ -0001ac00: 0a20 2020 2020 6d61 6b65 0a77 696c 6c20 . make.will │ │ │ │ │ -0001ac10: 6275 696c 6420 7468 6520 6578 6563 7574 build the execut │ │ │ │ │ -0001ac20: 6162 6c65 2c20 696e 636c 7564 696e 6720 able, including │ │ │ │ │ -0001ac30: 7468 6520 7265 6275 696c 6469 6e67 206f the rebuilding o │ │ │ │ │ -0001ac40: 6620 7468 6520 7363 616e 6e65 7220 616e f the scanner an │ │ │ │ │ -0001ac50: 640a 7061 7273 6572 2077 6974 6820 e280 d.parser with .. │ │ │ │ │ -0001ac60: 9866 6c65 78e2 8099 2061 6e64 20e2 8098 .flex... and ... │ │ │ │ │ -0001ac70: 6269 736f 6ee2 8099 2069 6620 796f 7520 bison... if you │ │ │ │ │ -0001ac80: 6861 7665 2063 6861 6e67 6564 20e2 8098 have changed ... │ │ │ │ │ -0001ac90: 736b 6574 6368 2e6c e280 9920 6f72 0ae2 sketch.l... or.. │ │ │ │ │ -0001aca0: 8098 736b 6574 6368 2e79 e280 9920 7265 ..sketch.y... re │ │ │ │ │ -0001acb0: 7370 6563 7469 7665 6c79 2e0a 0a20 2020 spectively... │ │ │ │ │ -0001acc0: 5768 696c 6520 6e6f 7420 6573 7365 6e74 While not essent │ │ │ │ │ -0001acd0: 6961 6c2c 2062 7569 6c64 696e 6720 7468 ial, building th │ │ │ │ │ -0001ace0: 6520 6d61 6e75 616c 2069 7320 616e 2065 e manual is an e │ │ │ │ │ -0001acf0: 7863 656c 6c65 6e74 2074 6573 7420 6f66 xcellent test of │ │ │ │ │ -0001ad00: 2079 6f75 720a e280 9873 6b65 7463 68e2 your....sketch. │ │ │ │ │ -0001ad10: 8099 2069 6e73 7461 6c6c 6174 696f 6e2e .. installation. │ │ │ │ │ -0001ad20: 2020 546f 2062 7569 6c64 2074 6869 7320 To build this │ │ │ │ │ -0001ad30: 646f 6375 6d65 6e74 2069 6e20 616c 6c20 document in all │ │ │ │ │ -0001ad40: 6974 7320 6d79 7269 6164 2066 6f72 6d73 its myriad forms │ │ │ │ │ -0001ad50: 0a28 6173 7375 6d69 6e67 2079 6f75 2068 .(assuming you h │ │ │ │ │ -0001ad60: 6176 6520 7468 6520 6e65 6365 7373 6172 ave the necessar │ │ │ │ │ -0001ad70: 7920 636f 6e76 6572 7369 6f6e 2070 726f y conversion pro │ │ │ │ │ -0001ad80: 6772 616d 7320 6f6e 2079 6f75 7220 7379 grams on your sy │ │ │ │ │ -0001ad90: 7374 656d 292c 0a75 7365 0a20 2020 2020 stem),.use. │ │ │ │ │ -0001ada0: 6d61 6b65 2064 6f63 730a 5468 6520 706f make docs.The po │ │ │ │ │ -0001adb0: 7373 6962 696c 6974 6965 7320 6172 6520 ssibilities are │ │ │ │ │ -0001adc0: 6c69 7374 6564 2069 6e20 7468 6973 2066 listed in this f │ │ │ │ │ -0001add0: 6f6c 6c6f 7769 6e67 2074 6162 6c65 2e0a ollowing table.. │ │ │ │ │ -0001ade0: 466f 726d 6174 2020 2020 2020 2020 2020 Format │ │ │ │ │ -0001adf0: 2020 2020 2020 436f 6e76 6572 7465 7220 Converter │ │ │ │ │ -0001ae00: 2020 2020 2020 2050 6963 7475 7265 7320 Pictures │ │ │ │ │ -0001ae10: 2020 4465 7363 7269 7074 696f 6e0a 2d2d Description.-- │ │ │ │ │ +0001a6b0: 2a2a 2a2a 2a2a 0a0a e280 9853 6b65 7463 ******.....Sketc │ │ │ │ │ +0001a6c0: 68e2 8099 2069 7320 736f 2073 6d61 6c6c h... is so small │ │ │ │ │ +0001a6d0: 2074 6861 7420 636f 6d70 696c 696e 6720 that compiling │ │ │ │ │ +0001a6e0: 6279 2062 7275 7465 2066 6f72 6365 2069 by brute force i │ │ │ │ │ +0001a6f0: 7320 7072 6f62 6162 6c79 2062 6573 742e s probably best. │ │ │ │ │ +0001a700: 0a54 6865 2066 6f6c 6c6f 7769 6e67 2063 .The following c │ │ │ │ │ +0001a710: 6f6d 6d61 6e64 206f 7567 6874 2074 6f20 ommand ought to │ │ │ │ │ +0001a720: 646f 2074 6865 2074 7269 636b 206f 6e20 do the trick on │ │ │ │ │ +0001a730: 616e 7920 7379 7374 656d 7320 7768 6572 any systems wher │ │ │ │ │ +0001a740: 6520 e280 9867 6363 e280 990a 6973 2069 e ...gcc....is i │ │ │ │ │ +0001a750: 6e73 7461 6c6c 6564 2e20 204d 616b 6520 nstalled. Make │ │ │ │ │ +0001a760: 7375 7265 2074 6f20 6669 7273 7420 6368 sure to first ch │ │ │ │ │ +0001a770: 616e 6765 2063 7572 7265 6e74 2064 6972 ange current dir │ │ │ │ │ +0001a780: 6563 746f 7269 6573 2074 6f20 7468 650a ectories to the. │ │ │ │ │ +0001a790: 706c 6163 6520 7768 6572 6520 796f 7520 place where you │ │ │ │ │ +0001a7a0: 6861 7665 2075 6e70 6163 6b65 6420 7468 have unpacked th │ │ │ │ │ +0001a7b0: 6520 736f 7572 6365 732e 0a20 2020 2020 e sources.. │ │ │ │ │ +0001a7c0: 6763 6320 2a2e 6320 2d6f 2073 6b65 7463 gcc *.c -o sketc │ │ │ │ │ +0001a7d0: 682e 6578 6520 2d6c 6d0a 5468 6520 e280 h.exe -lm.The .. │ │ │ │ │ +0001a7e0: 982e 6578 65e2 8099 2061 7420 7468 6520 ..exe... at the │ │ │ │ │ +0001a7f0: 656e 6420 6973 206e 6563 6573 7361 7279 end is necessary │ │ │ │ │ +0001a800: 2066 6f72 2057 696e 646f 7773 2073 7973 for Windows sys │ │ │ │ │ +0001a810: 7465 6d73 2e20 2044 726f 7020 6974 2069 tems. Drop it i │ │ │ │ │ +0001a820: 6620 796f 7572 0a73 7973 7465 6d20 6973 f your.system is │ │ │ │ │ +0001a830: 2073 6f6d 6520 7665 7273 696f 6e20 6f66 some version of │ │ │ │ │ +0001a840: 2055 6e69 782e 2020 4f74 6865 7220 4320 Unix. Other C │ │ │ │ │ +0001a850: 636f 6d70 696c 6572 7320 6f75 6768 7420 compilers ought │ │ │ │ │ +0001a860: 746f 2077 6f72 6b20 6173 206a 7573 740a to work as just. │ │ │ │ │ +0001a870: 6173 2077 656c 6c2e 2020 466f 7220 6578 as well. For ex │ │ │ │ │ +0001a880: 616d 706c 652c 0a20 2020 2020 636c 202a ample,. cl * │ │ │ │ │ +0001a890: 2e63 202d 6f20 736b 6574 6368 2e65 7865 .c -o sketch.exe │ │ │ │ │ +0001a8a0: 0a69 7320 7468 6520 636f 7272 6563 7420 .is the correct │ │ │ │ │ +0001a8b0: 636f 6d6d 616e 6420 666f 7220 6d61 6e79 command for many │ │ │ │ │ +0001a8c0: 2076 6572 7369 6f6e 7320 6f66 204d 5320 versions of MS │ │ │ │ │ +0001a8d0: 5669 7375 616c 2043 2e20 496e 2074 6865 Visual C. In the │ │ │ │ │ +0001a8e0: 206c 6174 6573 740a 7665 7273 696f 6e73 latest.versions │ │ │ │ │ +0001a8f0: 2c20 4d69 6372 6f73 6f66 7420 6861 7320 , Microsoft has │ │ │ │ │ +0001a900: 6465 7072 6563 6174 6564 2074 6865 20e2 deprecated the . │ │ │ │ │ +0001a910: 8098 2d6f e280 9920 6f70 7469 6f6e 2061 ..-o... option a │ │ │ │ │ +0001a920: 6e64 2c20 6279 2064 6566 6175 6c74 2c20 nd, by default, │ │ │ │ │ +0001a930: 646f 6573 0a6e 6f74 2064 6566 696e 6520 does.not define │ │ │ │ │ +0001a940: 7468 6520 e280 985f 5f53 5444 435f 5fe2 the ...__STDC__. │ │ │ │ │ +0001a950: 8099 206d 6163 726f 2e20 2054 6869 7320 .. macro. This │ │ │ │ │ +0001a960: 6361 7573 6573 2070 726f 626c 656d 7320 causes problems │ │ │ │ │ +0001a970: 7769 7468 2073 6f6d 650a 7665 7273 696f with some.versio │ │ │ │ │ +0001a980: 6e73 206f 6620 e280 9866 6c65 78e2 8099 ns of ...flex... │ │ │ │ │ +0001a990: 2c20 e280 9862 6973 6f6e e280 992c 20e2 , ...bison..., . │ │ │ │ │ +0001a9a0: 8098 6c65 78e2 8099 2c20 616e 6420 e280 ..lex..., and .. │ │ │ │ │ +0001a9b0: 9879 6163 63e2 8099 2c20 7768 6963 6820 .yacc..., which │ │ │ │ │ +0001a9c0: 6172 6520 7573 6564 2074 6f20 6372 6561 are used to crea │ │ │ │ │ +0001a9d0: 7465 0a74 6865 20e2 8098 736b 6574 6368 te.the ...sketch │ │ │ │ │ +0001a9e0: e280 9920 7363 616e 6e65 7220 616e 6420 ... scanner and │ │ │ │ │ +0001a9f0: 7061 7273 6572 2e20 2049 7427 7320 6e65 parser. It's ne │ │ │ │ │ +0001aa00: 6172 6c79 2061 6c77 6179 7320 706f 7373 arly always poss │ │ │ │ │ +0001aa10: 6962 6c65 2074 6f20 6669 6e64 2061 0a73 ible to find a.s │ │ │ │ │ +0001aa20: 6574 206f 6620 6f70 7469 6f6e 7320 7468 et of options th │ │ │ │ │ +0001aa30: 6174 2063 6f6d 7069 6c65 7320 7769 7468 at compiles with │ │ │ │ │ +0001aa40: 206e 6f20 6572 726f 7273 206f 7220 7761 no errors or wa │ │ │ │ │ +0001aa50: 726e 696e 6773 2c20 616e 6420 7468 6973 rnings, and this │ │ │ │ │ +0001aa60: 206d 6561 6e73 0ae2 8098 736b 6574 6368 means....sketch │ │ │ │ │ +0001aa70: e280 9920 6973 205f 7665 7279 5f20 6c69 ... is _very_ li │ │ │ │ │ +0001aa80: 6b65 6c79 2074 6f20 776f 726b 2063 6f72 kely to work cor │ │ │ │ │ +0001aa90: 7265 6374 6c79 2e20 2046 6f72 2065 7861 rectly. For exa │ │ │ │ │ +0001aaa0: 6d70 6c65 2c20 7468 6520 5669 7375 616c mple, the Visual │ │ │ │ │ +0001aab0: 0a43 2b2b 2032 3030 3520 4578 7072 6573 .C++ 2005 Expres │ │ │ │ │ +0001aac0: 7320 4564 6974 696f 6e20 636f 6d70 696c s Edition compil │ │ │ │ │ +0001aad0: 6572 2028 6176 6169 6c61 626c 6520 6672 er (available fr │ │ │ │ │ +0001aae0: 6565 206f 6620 6368 6172 6765 2066 726f ee of charge fro │ │ │ │ │ +0001aaf0: 6d20 7468 650a 4d69 6372 6f73 6f66 7420 m the.Microsoft │ │ │ │ │ +0001ab00: 7765 6220 7369 7465 292c 20e2 8098 666c web site), ...fl │ │ │ │ │ +0001ab10: 6578 e280 9920 7665 7273 696f 6e20 322e ex... version 2. │ │ │ │ │ +0001ab20: 352e 342c 2061 6e64 20e2 8098 6269 736f 5.4, and ...biso │ │ │ │ │ +0001ab30: 6ee2 8099 2076 6572 7369 6f6e 2032 2e31 n... version 2.1 │ │ │ │ │ +0001ab40: 2062 7569 6c64 0a65 7272 6f72 2d66 7265 build.error-fre │ │ │ │ │ +0001ab50: 6520 7769 7468 0a20 2020 2020 636c 202d e with. cl - │ │ │ │ │ +0001ab60: 4459 595f 4e45 5645 525f 494e 5445 5241 DYY_NEVER_INTERA │ │ │ │ │ +0001ab70: 4354 4956 453d 3120 2d5a 6120 2d4f 7820 CTIVE=1 -Za -Ox │ │ │ │ │ +0001ab80: 2d46 6573 6b65 7463 682e 6578 6520 2a2e -Fesketch.exe *. │ │ │ │ │ +0001ab90: 630a 0a20 2020 466f 7220 7075 7269 7374 c.. For purist │ │ │ │ │ +0001aba0: 732c 2074 6865 7265 2069 7320 616c 736f s, there is also │ │ │ │ │ +0001abb0: 2061 20e2 8098 6d61 6b65 6669 6c65 e280 a ...makefile.. │ │ │ │ │ +0001abc0: 9920 636f 6d70 6174 6962 6c65 2077 6974 . compatible wit │ │ │ │ │ +0001abd0: 6820 474e 5520 e280 986d 616b 65e2 8099 h GNU ...make... │ │ │ │ │ +0001abe0: 0a61 6e64 20e2 8098 6763 63e2 8099 2e20 .and ...gcc.... │ │ │ │ │ +0001abf0: 2054 6865 2063 6f6d 6d61 6e64 0a20 2020 The command. │ │ │ │ │ +0001ac00: 2020 6d61 6b65 0a77 696c 6c20 6275 696c make.will buil │ │ │ │ │ +0001ac10: 6420 7468 6520 6578 6563 7574 6162 6c65 d the executable │ │ │ │ │ +0001ac20: 2c20 696e 636c 7564 696e 6720 7468 6520 , including the │ │ │ │ │ +0001ac30: 7265 6275 696c 6469 6e67 206f 6620 7468 rebuilding of th │ │ │ │ │ +0001ac40: 6520 7363 616e 6e65 7220 616e 640a 7061 e scanner and.pa │ │ │ │ │ +0001ac50: 7273 6572 2077 6974 6820 e280 9866 6c65 rser with ...fle │ │ │ │ │ +0001ac60: 78e2 8099 2061 6e64 20e2 8098 6269 736f x... and ...biso │ │ │ │ │ +0001ac70: 6ee2 8099 2069 6620 796f 7520 6861 7665 n... if you have │ │ │ │ │ +0001ac80: 2063 6861 6e67 6564 20e2 8098 736b 6574 changed ...sket │ │ │ │ │ +0001ac90: 6368 2e6c e280 9920 6f72 0ae2 8098 736b ch.l... or....sk │ │ │ │ │ +0001aca0: 6574 6368 2e79 e280 9920 7265 7370 6563 etch.y... respec │ │ │ │ │ +0001acb0: 7469 7665 6c79 2e0a 0a20 2020 5768 696c tively... Whil │ │ │ │ │ +0001acc0: 6520 6e6f 7420 6573 7365 6e74 6961 6c2c e not essential, │ │ │ │ │ +0001acd0: 2062 7569 6c64 696e 6720 7468 6520 6d61 building the ma │ │ │ │ │ +0001ace0: 6e75 616c 2069 7320 616e 2065 7863 656c nual is an excel │ │ │ │ │ +0001acf0: 6c65 6e74 2074 6573 7420 6f66 2079 6f75 lent test of you │ │ │ │ │ +0001ad00: 720a e280 9873 6b65 7463 68e2 8099 2069 r....sketch... i │ │ │ │ │ +0001ad10: 6e73 7461 6c6c 6174 696f 6e2e 2020 546f nstallation. To │ │ │ │ │ +0001ad20: 2062 7569 6c64 2074 6869 7320 646f 6375 build this docu │ │ │ │ │ +0001ad30: 6d65 6e74 2069 6e20 616c 6c20 6974 7320 ment in all its │ │ │ │ │ +0001ad40: 6d79 7269 6164 2066 6f72 6d73 0a28 6173 myriad forms.(as │ │ │ │ │ +0001ad50: 7375 6d69 6e67 2079 6f75 2068 6176 6520 suming you have │ │ │ │ │ +0001ad60: 7468 6520 6e65 6365 7373 6172 7920 636f the necessary co │ │ │ │ │ +0001ad70: 6e76 6572 7369 6f6e 2070 726f 6772 616d nversion program │ │ │ │ │ +0001ad80: 7320 6f6e 2079 6f75 7220 7379 7374 656d s on your system │ │ │ │ │ +0001ad90: 292c 0a75 7365 0a20 2020 2020 6d61 6b65 ),.use. make │ │ │ │ │ +0001ada0: 2064 6f63 730a 5468 6520 706f 7373 6962 docs.The possib │ │ │ │ │ +0001adb0: 696c 6974 6965 7320 6172 6520 6c69 7374 ilities are list │ │ │ │ │ +0001adc0: 6564 2069 6e20 7468 6973 2066 6f6c 6c6f ed in this follo │ │ │ │ │ +0001add0: 7769 6e67 2074 6162 6c65 2e0a 466f 726d wing table..Form │ │ │ │ │ +0001ade0: 6174 2020 2020 2020 2020 2020 2020 2020 at │ │ │ │ │ +0001adf0: 2020 436f 6e76 6572 7465 7220 2020 2020 Converter │ │ │ │ │ +0001ae00: 2020 2050 6963 7475 7265 7320 2020 4465 Pictures De │ │ │ │ │ +0001ae10: 7363 7269 7074 696f 6e0a 2d2d 2d2d 2d2d scription.------ │ │ │ │ │ 0001ae20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0001ae30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0001ae40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0001ae50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0001ae60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0001ae70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0001ae80: 2d2d 2d2d 2d2d 2d2d 2d0a 6d61 6e75 616c ---------.manual │ │ │ │ │ -0001ae90: 2e69 6e66 6f20 2020 2020 2020 2020 2020 .info │ │ │ │ │ -0001aea0: 6d61 6b65 696e 666f 2020 2020 2020 2020 makeinfo │ │ │ │ │ -0001aeb0: 20e2 8098 2e74 7874 e280 9920 2020 2020 ....txt... │ │ │ │ │ -0001aec0: 474e 5520 496e 666f 2e0a 6d61 6e75 616c GNU Info..manual │ │ │ │ │ -0001aed0: 2e64 7669 2020 2020 2020 2020 2020 2020 .dvi │ │ │ │ │ -0001aee0: 7465 7869 3264 7669 2020 2020 2020 2020 texi2dvi │ │ │ │ │ -0001aef0: 20e2 8098 2e65 7073 e280 9920 2020 2020 ....eps... │ │ │ │ │ -0001af00: 5465 5820 7479 7065 7365 7420 6f75 7470 TeX typeset outp │ │ │ │ │ -0001af10: 7574 2e0a 6d61 6e75 616c 2e70 7320 2020 ut..manual.ps │ │ │ │ │ -0001af20: 2020 2020 2020 2020 2020 7465 7869 3264 texi2d │ │ │ │ │ -0001af30: 7669 2c64 7669 7073 2020 20e2 8098 2e65 vi,dvips ....e │ │ │ │ │ -0001af40: 7073 e280 9920 2020 2020 506f 7374 7363 ps... Postsc │ │ │ │ │ -0001af50: 7269 7074 2e0a 6d61 6e75 616c 2e70 6466 ript..manual.pdf │ │ │ │ │ -0001af60: 2020 2020 2020 2020 2020 2020 7465 7869 texi │ │ │ │ │ -0001af70: 3264 7669 2020 2020 2020 2020 20e2 8098 2dvi ... │ │ │ │ │ -0001af80: 2e70 6466 e280 9920 2020 2020 4164 6f62 .pdf... Adob │ │ │ │ │ -0001af90: 6520 5044 462e 0a6d 616e 7561 6c2e 6874 e PDF..manual.ht │ │ │ │ │ -0001afa0: 6d6c 2020 2020 2020 2020 2020 206d 616b ml mak │ │ │ │ │ -0001afb0: 6569 6e66 6f20 2020 2020 2020 2020 e280 einfo .. │ │ │ │ │ -0001afc0: 982e 706e 67e2 8099 2020 2020 2041 2073 ..png... A s │ │ │ │ │ -0001afd0: 696e 676c 6520 7765 6220 7061 6765 2e0a ingle web page.. │ │ │ │ │ -0001afe0: 6d61 6e75 616c 2f69 6e64 6578 2e68 746d manual/index.htm │ │ │ │ │ -0001aff0: 6c20 2020 2020 6d61 6b65 696e 666f 2020 l makeinfo │ │ │ │ │ -0001b000: 2020 2020 2020 20e2 8098 2e70 6e67 e280 ....png.. │ │ │ │ │ -0001b010: 9920 2020 2020 4c69 6e6b 6564 2077 6562 . Linked web │ │ │ │ │ -0001b020: 2070 6167 6573 2c20 6f6e 6520 7065 7220 pages, one per │ │ │ │ │ -0001b030: 6e6f 6465 2e0a 2020 2041 6c6c 2074 6865 node.. All the │ │ │ │ │ -0001b040: 2072 6571 7569 7265 6420 746f 6f6c 7320 required tools │ │ │ │ │ -0001b050: 6172 6520 696e 636c 7564 6564 2069 6e20 are included in │ │ │ │ │ -0001b060: 7468 6520 7374 616e 6461 7264 20e2 8098 the standard ... │ │ │ │ │ -0001b070: 5465 5820 4c69 7665 e280 990a 6469 7374 TeX Live....dist │ │ │ │ │ -0001b080: 7269 6275 7469 6f6e 2065 7863 6570 7420 ribution except │ │ │ │ │ -0001b090: 7468 6174 2061 6e20 6164 6469 7469 6f6e that an addition │ │ │ │ │ -0001b0a0: 616c 206f 7065 6e20 736f 7572 6365 2070 al open source p │ │ │ │ │ -0001b0b0: 726f 6772 616d 20e2 8098 6570 7374 6f6f rogram ...epstoo │ │ │ │ │ -0001b0c0: 6ce2 8099 2069 730a 6e65 6564 6564 2074 l... is.needed t │ │ │ │ │ -0001b0d0: 6f20 7265 6669 6e65 2074 6865 2045 6e63 o refine the Enc │ │ │ │ │ -0001b0e0: 6170 7375 6c61 7465 6420 506f 7374 7363 apsulated Postsc │ │ │ │ │ -0001b0f0: 7269 7074 2062 6f75 6e64 696e 6720 626f ript bounding bo │ │ │ │ │ -0001b100: 7865 7320 6f66 0ae2 8098 736b 6574 6368 xes of....sketch │ │ │ │ │ -0001b110: e280 992d 6765 6e65 7261 7465 6420 6669 ...-generated fi │ │ │ │ │ -0001b120: 6775 7265 7320 696e 2074 6865 206d 616e gures in the man │ │ │ │ │ -0001b130: 7561 6c2e 2020 5468 6973 2074 6f6f 6c20 ual. This tool │ │ │ │ │ -0001b140: 6973 2061 7661 696c 6162 6c65 2069 6e0a is available in. │ │ │ │ │ -0001b150: 6269 6e61 7279 2066 6f72 6d20 666f 7220 binary form for │ │ │ │ │ -0001b160: 5769 6e64 6f77 732c 2061 6e64 2069 7420 Windows, and it │ │ │ │ │ -0001b170: 6275 696c 6473 2065 6173 696c 7920 7769 builds easily wi │ │ │ │ │ -0001b180: 7468 2061 2073 696d 706c 6520 e280 986d th a simple ...m │ │ │ │ │ -0001b190: 616b 65e2 8099 2075 6e64 6572 0a6c 696e ake... under.lin │ │ │ │ │ -0001b1a0: 7578 206f 7220 4379 6777 696e 2069 6e73 ux or Cygwin ins │ │ │ │ │ -0001b1b0: 7461 6c6c 6174 696f 6e73 2074 6861 7420 tallations that │ │ │ │ │ -0001b1c0: 6861 7665 2064 6576 656c 6f70 6d65 6e74 have development │ │ │ │ │ -0001b1d0: 2074 6f6f 6c73 2069 6e73 7461 6c6c 6564 tools installed │ │ │ │ │ -0001b1e0: 206f 720a 756e 6465 7220 e280 984d 6163 or.under ...Mac │ │ │ │ │ -0001b1f0: 204f 5320 58e2 8099 2077 6974 6820 e280 OS X... with .. │ │ │ │ │ -0001b200: 9858 436f 6465 e280 9920 696e 7374 616c .XCode... instal │ │ │ │ │ -0001b210: 6c65 642e 0a0a 1f0a 4669 6c65 3a20 736b led.....File: sk │ │ │ │ │ -0001b220: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -0001b230: 3a20 496e 6465 7820 6f66 2073 796e 7461 : Index of synta │ │ │ │ │ -0001b240: 782c 2020 4e65 7874 3a20 496e 6465 782c x, Next: Index, │ │ │ │ │ -0001b250: 2020 5072 6576 3a20 496e 7374 616c 6c69 Prev: Installi │ │ │ │ │ -0001b260: 6e67 2073 6b65 7463 682c 2020 5570 3a20 ng sketch, Up: │ │ │ │ │ -0001b270: 546f 700a 0a49 6e64 6578 206f 6620 7379 Top..Index of sy │ │ │ │ │ -0001b280: 6e74 6178 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a ntax.*********** │ │ │ │ │ -0001b290: 2a2a 2a2a 0a0a 0008 5b69 6e64 6578 0008 ****....[index.. │ │ │ │ │ -0001b2a0: 5d0a 2a20 4d65 6e75 3a0a 0a2a 202d 2c20 ].* Menu:..* -, │ │ │ │ │ -0001b2b0: 6d69 6e75 7320 6f70 6572 6174 6f72 3a20 minus operator: │ │ │ │ │ +0001ae80: 2d2d 2d2d 2d0a 6d61 6e75 616c 2e69 6e66 -----.manual.inf │ │ │ │ │ +0001ae90: 6f20 2020 2020 2020 2020 2020 6d61 6b65 o make │ │ │ │ │ +0001aea0: 696e 666f 2020 2020 2020 2020 20e2 8098 info ... │ │ │ │ │ +0001aeb0: 2e74 7874 e280 9920 2020 2020 474e 5520 .txt... GNU │ │ │ │ │ +0001aec0: 496e 666f 2e0a 6d61 6e75 616c 2e64 7669 Info..manual.dvi │ │ │ │ │ +0001aed0: 2020 2020 2020 2020 2020 2020 7465 7869 texi │ │ │ │ │ +0001aee0: 3264 7669 2020 2020 2020 2020 20e2 8098 2dvi ... │ │ │ │ │ +0001aef0: 2e65 7073 e280 9920 2020 2020 5465 5820 .eps... TeX │ │ │ │ │ +0001af00: 7479 7065 7365 7420 6f75 7470 7574 2e0a typeset output.. │ │ │ │ │ +0001af10: 6d61 6e75 616c 2e70 7320 2020 2020 2020 manual.ps │ │ │ │ │ +0001af20: 2020 2020 2020 7465 7869 3264 7669 2c64 texi2dvi,d │ │ │ │ │ +0001af30: 7669 7073 2020 20e2 8098 2e65 7073 e280 vips ....eps.. │ │ │ │ │ +0001af40: 9920 2020 2020 506f 7374 7363 7269 7074 . Postscript │ │ │ │ │ +0001af50: 2e0a 6d61 6e75 616c 2e70 6466 2020 2020 ..manual.pdf │ │ │ │ │ +0001af60: 2020 2020 2020 2020 7465 7869 3264 7669 texi2dvi │ │ │ │ │ +0001af70: 2020 2020 2020 2020 20e2 8098 2e70 6466 ....pdf │ │ │ │ │ +0001af80: e280 9920 2020 2020 4164 6f62 6520 5044 ... Adobe PD │ │ │ │ │ +0001af90: 462e 0a6d 616e 7561 6c2e 6874 6d6c 2020 F..manual.html │ │ │ │ │ +0001afa0: 2020 2020 2020 2020 206d 616b 6569 6e66 makeinf │ │ │ │ │ +0001afb0: 6f20 2020 2020 2020 2020 e280 982e 706e o ....pn │ │ │ │ │ +0001afc0: 67e2 8099 2020 2020 2041 2073 696e 676c g... A singl │ │ │ │ │ +0001afd0: 6520 7765 6220 7061 6765 2e0a 6d61 6e75 e web page..manu │ │ │ │ │ +0001afe0: 616c 2f69 6e64 6578 2e68 746d 6c20 2020 al/index.html │ │ │ │ │ +0001aff0: 2020 6d61 6b65 696e 666f 2020 2020 2020 makeinfo │ │ │ │ │ +0001b000: 2020 20e2 8098 2e70 6e67 e280 9920 2020 ....png... │ │ │ │ │ +0001b010: 2020 4c69 6e6b 6564 2077 6562 2070 6167 Linked web pag │ │ │ │ │ +0001b020: 6573 2c20 6f6e 6520 7065 7220 6e6f 6465 es, one per node │ │ │ │ │ +0001b030: 2e0a 2020 2041 6c6c 2074 6865 2072 6571 .. All the req │ │ │ │ │ +0001b040: 7569 7265 6420 746f 6f6c 7320 6172 6520 uired tools are │ │ │ │ │ +0001b050: 696e 636c 7564 6564 2069 6e20 7468 6520 included in the │ │ │ │ │ +0001b060: 7374 616e 6461 7264 20e2 8098 5465 5820 standard ...TeX │ │ │ │ │ +0001b070: 4c69 7665 e280 990a 6469 7374 7269 6275 Live....distribu │ │ │ │ │ +0001b080: 7469 6f6e 2065 7863 6570 7420 7468 6174 tion except that │ │ │ │ │ +0001b090: 2061 6e20 6164 6469 7469 6f6e 616c 206f an additional o │ │ │ │ │ +0001b0a0: 7065 6e20 736f 7572 6365 2070 726f 6772 pen source progr │ │ │ │ │ +0001b0b0: 616d 20e2 8098 6570 7374 6f6f 6ce2 8099 am ...epstool... │ │ │ │ │ +0001b0c0: 2069 730a 6e65 6564 6564 2074 6f20 7265 is.needed to re │ │ │ │ │ +0001b0d0: 6669 6e65 2074 6865 2045 6e63 6170 7375 fine the Encapsu │ │ │ │ │ +0001b0e0: 6c61 7465 6420 506f 7374 7363 7269 7074 lated Postscript │ │ │ │ │ +0001b0f0: 2062 6f75 6e64 696e 6720 626f 7865 7320 bounding boxes │ │ │ │ │ +0001b100: 6f66 0ae2 8098 736b 6574 6368 e280 992d of....sketch...- │ │ │ │ │ +0001b110: 6765 6e65 7261 7465 6420 6669 6775 7265 generated figure │ │ │ │ │ +0001b120: 7320 696e 2074 6865 206d 616e 7561 6c2e s in the manual. │ │ │ │ │ +0001b130: 2020 5468 6973 2074 6f6f 6c20 6973 2061 This tool is a │ │ │ │ │ +0001b140: 7661 696c 6162 6c65 2069 6e0a 6269 6e61 vailable in.bina │ │ │ │ │ +0001b150: 7279 2066 6f72 6d20 666f 7220 5769 6e64 ry form for Wind │ │ │ │ │ +0001b160: 6f77 732c 2061 6e64 2069 7420 6275 696c ows, and it buil │ │ │ │ │ +0001b170: 6473 2065 6173 696c 7920 7769 7468 2061 ds easily with a │ │ │ │ │ +0001b180: 2073 696d 706c 6520 e280 986d 616b 65e2 simple ...make. │ │ │ │ │ +0001b190: 8099 2075 6e64 6572 0a6c 696e 7578 206f .. under.linux o │ │ │ │ │ +0001b1a0: 7220 4379 6777 696e 2069 6e73 7461 6c6c r Cygwin install │ │ │ │ │ +0001b1b0: 6174 696f 6e73 2074 6861 7420 6861 7665 ations that have │ │ │ │ │ +0001b1c0: 2064 6576 656c 6f70 6d65 6e74 2074 6f6f development too │ │ │ │ │ +0001b1d0: 6c73 2069 6e73 7461 6c6c 6564 206f 720a ls installed or. │ │ │ │ │ +0001b1e0: 756e 6465 7220 e280 984d 6163 204f 5320 under ...Mac OS │ │ │ │ │ +0001b1f0: 58e2 8099 2077 6974 6820 e280 9858 436f X... with ...XCo │ │ │ │ │ +0001b200: 6465 e280 9920 696e 7374 616c 6c65 642e de... installed. │ │ │ │ │ +0001b210: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +0001b220: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 496e .info, Node: In │ │ │ │ │ +0001b230: 6465 7820 6f66 2073 796e 7461 782c 2020 dex of syntax, │ │ │ │ │ +0001b240: 4e65 7874 3a20 496e 6465 782c 2020 5072 Next: Index, Pr │ │ │ │ │ +0001b250: 6576 3a20 496e 7374 616c 6c69 6e67 2073 ev: Installing s │ │ │ │ │ +0001b260: 6b65 7463 682c 2020 5570 3a20 546f 700a ketch, Up: Top. │ │ │ │ │ +0001b270: 0a49 6e64 6578 206f 6620 7379 6e74 6178 .Index of syntax │ │ │ │ │ +0001b280: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .*************** │ │ │ │ │ +0001b290: 0a0a 0008 5b69 6e64 6578 0008 5d0a 2a20 ....[index..].* │ │ │ │ │ +0001b2a0: 4d65 6e75 3a0a 0a2a 202d 2c20 6d69 6e75 Menu:..* -, minu │ │ │ │ │ +0001b2b0: 7320 6f70 6572 6174 6f72 3a20 2020 2020 s operator: │ │ │ │ │ 0001b2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b2d0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ -0001b2e0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ +0001b2d0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ +0001b2e0: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ 0001b2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b320: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0001b330: 6c69 6e65 2031 3529 0a2a 202d 2c20 756e line 15).* -, un │ │ │ │ │ -0001b340: 6172 7920 6d69 6e75 7320 6f70 6572 6174 ary minus operat │ │ │ │ │ -0001b350: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: │ │ │ │ │ -0001b360: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. │ │ │ │ │ -0001b370: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10 │ │ │ │ │ -0001b380: 290a 2a20 2e2c 2064 6f74 206f 7065 7261 ).* ., dot opera │ │ │ │ │ -0001b390: 746f 723a 2020 2020 2020 2020 2020 2020 tor: │ │ │ │ │ -0001b3a0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ -0001b3b0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -0001b3c0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ +0001b320: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001b330: 2031 3529 0a2a 202d 2c20 756e 6172 7920 15).* -, unary │ │ │ │ │ +0001b340: 6d69 6e75 7320 6f70 6572 6174 6f72 3a20 minus operator: │ │ │ │ │ +0001b350: 2020 2020 2020 2020 2020 2020 2020 556e Un │ │ │ │ │ +0001b360: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. │ │ │ │ │ +0001b370: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ +0001b380: 2e2c 2064 6f74 206f 7065 7261 746f 723a ., dot operator: │ │ │ │ │ +0001b390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001b3a0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera │ │ │ │ │ +0001b3b0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form │ │ │ │ │ +0001b3c0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ 0001b3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b3e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b3f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b400: 2020 2020 2020 286c 696e 6520 3139 290a (line 19). │ │ │ │ │ -0001b410: 2a20 2e2c 2064 6f74 206f 7065 7261 746f * ., dot operato │ │ │ │ │ -0001b420: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: │ │ │ │ │ -0001b430: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ -0001b440: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ -0001b450: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ +0001b400: 2020 286c 696e 6520 3139 290a 2a20 2e2c (line 19).* ., │ │ │ │ │ +0001b410: 2064 6f74 206f 7065 7261 746f 7220 3c31 dot operator <1 │ │ │ │ │ +0001b420: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001b430: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand │ │ │ │ │ +0001b440: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms. │ │ │ │ │ +0001b450: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 0001b460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b490: 2020 2020 286c 696e 6520 3631 290a 2a20 (line 61).* │ │ │ │ │ -0001b4a0: 2778 2c20 2779 2c20 616e 6420 277a 3a20 'x, 'y, and 'z: │ │ │ │ │ +0001b490: 286c 696e 6520 3631 290a 2a20 2778 2c20 (line 61).* 'x, │ │ │ │ │ +0001b4a0: 2779 2c20 616e 6420 277a 3a20 2020 2020 'y, and 'z: │ │ │ │ │ 0001b4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b4c0: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar │ │ │ │ │ -0001b4d0: 6974 686d 6574 6963 2e20 2020 2028 6c69 ithmetic. (li │ │ │ │ │ -0001b4e0: 6e65 2033 3729 0a2a 2027 782c 2027 792c ne 37).* 'x, 'y, │ │ │ │ │ -0001b4f0: 2061 6e64 2027 7a20 3c31 3e3a 2020 2020 and 'z <1>: │ │ │ │ │ -0001b500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b510: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ -0001b520: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ +0001b4c0: 2020 2041 6666 696e 6520 6172 6974 686d Affine arithm │ │ │ │ │ +0001b4d0: 6574 6963 2e20 2020 2028 6c69 6e65 2033 etic. (line 3 │ │ │ │ │ +0001b4e0: 3729 0a2a 2027 782c 2027 792c 2061 6e64 7).* 'x, 'y, and │ │ │ │ │ +0001b4f0: 2027 7a20 3c31 3e3a 2020 2020 2020 2020 'z <1>: │ │ │ │ │ +0001b500: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ +0001b510: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ +0001b520: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ 0001b530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b560: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001b570: 2034 3129 0a2a 2028 2029 2c20 6772 6f75 41).* ( ), grou │ │ │ │ │ -0001b580: 7069 6e67 3a20 2020 2020 2020 2020 2020 ping: │ │ │ │ │ -0001b590: 2020 2020 2020 2020 2020 2020 2020 5477 Tw │ │ │ │ │ -0001b5a0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ -0001b5b0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ +0001b560: 2020 2020 2020 2028 6c69 6e65 2034 3129 (line 41) │ │ │ │ │ +0001b570: 0a2a 2028 2029 2c20 6772 6f75 7069 6e67 .* ( ), grouping │ │ │ │ │ +0001b580: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001b590: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ +0001b5a0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ +0001b5b0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ 0001b5c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b5d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b5f0: 2020 2020 2020 2020 2028 6c69 6e65 2035 (line 5 │ │ │ │ │ -0001b600: 3829 0a2a 2028 666f 6f29 2c20 706f 696e 8).* (foo), poin │ │ │ │ │ -0001b610: 7420 7265 6665 7265 6e63 653a 2020 2020 t reference: │ │ │ │ │ -0001b620: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ -0001b630: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. │ │ │ │ │ -0001b640: 2020 286c 696e 6520 3234 290a 2a20 2866 (line 24).* (f │ │ │ │ │ -0001b650: 6f6f 292c 2070 6f69 6e74 2072 6566 6572 oo), point refer │ │ │ │ │ -0001b660: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: │ │ │ │ │ -0001b670: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re │ │ │ │ │ -0001b680: 6665 7265 6e63 6573 2e20 2028 6c69 6e65 ferences. (line │ │ │ │ │ -0001b690: 2031 3429 0a2a 205b 5b20 5d5b 205d 5b20 14).* [[ ][ ][ │ │ │ │ │ -0001b6a0: 5d5b 205d 5d2c 2074 7261 6e73 666f 726d ][ ]], transform │ │ │ │ │ -0001b6b0: 206c 6974 6572 616c 3a20 2020 2020 5472 literal: Tr │ │ │ │ │ -0001b6c0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -0001b6d0: 2e20 2020 286c 696e 6520 3437 290a 2a20 . (line 47).* │ │ │ │ │ -0001b6e0: 5b5b 205d 5b20 5d5b 205d 5b20 5d5d 2c20 [[ ][ ][ ][ ]], │ │ │ │ │ -0001b6f0: 7472 616e 7366 6f72 6d20 6c69 7465 7261 transform litera │ │ │ │ │ -0001b700: 6c20 3c31 3e3a 2054 7261 6e73 666f 726d l <1>: Transform │ │ │ │ │ -0001b710: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li │ │ │ │ │ -0001b720: 6e65 2035 3329 0a2a 205b 5b66 6f6f 5d5d ne 53).* [[foo]] │ │ │ │ │ -0001b730: 2c20 7472 616e 7366 6f72 6d20 7265 6665 , transform refe │ │ │ │ │ -0001b740: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: │ │ │ │ │ -0001b750: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ -0001b760: 6365 732e 2020 286c 696e 6520 3136 290a ces. (line 16). │ │ │ │ │ -0001b770: 2a20 5b5b 666f 6f5d 5d2c 2074 7261 6e73 * [[foo]], trans │ │ │ │ │ -0001b780: 666f 726d 2072 6566 6572 656e 6365 203c form reference < │ │ │ │ │ -0001b790: 313e 3a20 2020 2020 204f 7665 7276 6965 1>: Overvie │ │ │ │ │ -0001b7a0: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ -0001b7b0: 6c69 6e65 2033 3529 0a2a 205b 5b66 6f6f line 35).* [[foo │ │ │ │ │ -0001b7c0: 5d5d 2c20 7472 616e 7366 6f72 6d20 7265 ]], transform re │ │ │ │ │ -0001b7d0: 6665 7265 6e63 6520 3c32 3e3a 2020 2020 ference <2>: │ │ │ │ │ -0001b7e0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ -0001b7f0: 2020 2020 2020 2020 286c 696e 6520 3335 (line 35 │ │ │ │ │ -0001b800: 290a 2a20 5b66 6f6f 2c2e 2e2e 2c62 6172 ).* [foo,...,bar │ │ │ │ │ -0001b810: 5d2c 206d 756c 7469 706c 6520 6f70 7469 ], multiple opti │ │ │ │ │ -0001b820: 6f6e 7320 7265 6665 7265 6e63 653a 2046 ons reference: F │ │ │ │ │ -0001b830: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ -0001b840: 6573 2e0a 2020 2020 2020 2020 2020 2020 es.. │ │ │ │ │ +0001b5f0: 2020 2020 2028 6c69 6e65 2035 3829 0a2a (line 58).* │ │ │ │ │ +0001b600: 2028 666f 6f29 2c20 706f 696e 7420 7265 (foo), point re │ │ │ │ │ +0001b610: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: │ │ │ │ │ +0001b620: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ +0001b630: 6120 736f 6c69 642e 2020 2020 2020 286c a solid. (l │ │ │ │ │ +0001b640: 696e 6520 3234 290a 2a20 2866 6f6f 292c ine 24).* (foo), │ │ │ │ │ +0001b650: 2070 6f69 6e74 2072 6566 6572 656e 6365 point reference │ │ │ │ │ +0001b660: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001b670: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere │ │ │ │ │ +0001b680: 6e63 6573 2e20 2028 6c69 6e65 2031 3429 nces. (line 14) │ │ │ │ │ +0001b690: 0a2a 205b 5b20 5d5b 205d 5b20 5d5b 205d .* [[ ][ ][ ][ ] │ │ │ │ │ +0001b6a0: 5d2c 2074 7261 6e73 666f 726d 206c 6974 ], transform lit │ │ │ │ │ +0001b6b0: 6572 616c 3a20 2020 2020 5472 616e 7366 eral: Transf │ │ │ │ │ +0001b6c0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. │ │ │ │ │ +0001b6d0: 286c 696e 6520 3437 290a 2a20 5b5b 205d (line 47).* [[ ] │ │ │ │ │ +0001b6e0: 5b20 5d5b 205d 5b20 5d5d 2c20 7472 616e [ ][ ][ ]], tran │ │ │ │ │ +0001b6f0: 7366 6f72 6d20 6c69 7465 7261 6c20 3c31 sform literal <1 │ │ │ │ │ +0001b700: 3e3a 2054 7261 6e73 666f 726d 206c 6974 >: Transform lit │ │ │ │ │ +0001b710: 6572 616c 732e 2020 2028 6c69 6e65 2035 erals. (line 5 │ │ │ │ │ +0001b720: 3329 0a2a 205b 5b66 6f6f 5d5d 2c20 7472 3).* [[foo]], tr │ │ │ │ │ +0001b730: 616e 7366 6f72 6d20 7265 6665 7265 6e63 ansform referenc │ │ │ │ │ +0001b740: 653a 2020 2020 2020 2020 2020 466f 726d e: Form │ │ │ │ │ +0001b750: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ +0001b760: 2020 286c 696e 6520 3136 290a 2a20 5b5b (line 16).* [[ │ │ │ │ │ +0001b770: 666f 6f5d 5d2c 2074 7261 6e73 666f 726d foo]], transform │ │ │ │ │ +0001b780: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: │ │ │ │ │ +0001b790: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ +0001b7a0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001b7b0: 2033 3529 0a2a 205b 5b66 6f6f 5d5d 2c20 35).* [[foo]], │ │ │ │ │ +0001b7c0: 7472 616e 7366 6f72 6d20 7265 6665 7265 transform refere │ │ │ │ │ +0001b7d0: 6e63 6520 3c32 3e3a 2020 2020 2020 4f76 nce <2>: Ov │ │ │ │ │ +0001b7e0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ +0001b7f0: 2020 2020 286c 696e 6520 3335 290a 2a20 (line 35).* │ │ │ │ │ +0001b800: 5b66 6f6f 2c2e 2e2e 2c62 6172 5d2c 206d [foo,...,bar], m │ │ │ │ │ +0001b810: 756c 7469 706c 6520 6f70 7469 6f6e 7320 ultiple options │ │ │ │ │ +0001b820: 7265 6665 7265 6e63 653a 2046 6f72 6d73 reference: Forms │ │ │ │ │ +0001b830: 206f 6620 7265 6665 7265 6e63 6573 2e0a of references.. │ │ │ │ │ +0001b840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b880: 2020 2028 6c69 6e65 2031 3829 0a2a 205b (line 18).* [ │ │ │ │ │ -0001b890: 666f 6f5d 2c20 6f70 7469 6f6e 7320 7265 foo], options re │ │ │ │ │ -0001b8a0: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: │ │ │ │ │ -0001b8b0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -0001b8c0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ -0001b8d0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. │ │ │ │ │ +0001b870: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001b880: 6c69 6e65 2031 3829 0a2a 205b 666f 6f5d line 18).* [foo] │ │ │ │ │ +0001b890: 2c20 6f70 7469 6f6e 7320 7265 6665 7265 , options refere │ │ │ │ │ +0001b8a0: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: │ │ │ │ │ +0001b8b0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ +0001b8c0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure.. │ │ │ │ │ +0001b8d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b8e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b910: 2020 2028 6c69 6e65 2032 3429 0a2a 205b (line 24).* [ │ │ │ │ │ -0001b920: 666f 6f5d 2c20 6f70 7469 6f6e 7320 7265 foo], options re │ │ │ │ │ -0001b930: 6665 7265 6e63 6520 3c31 3e3a 2020 2020 ference <1>: │ │ │ │ │ -0001b940: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ -0001b950: 6566 6572 656e 6365 732e 2020 286c 696e eferences. (lin │ │ │ │ │ -0001b960: 6520 3138 290a 2a20 5b66 6f6f 5d2c 2076 e 18).* [foo], v │ │ │ │ │ -0001b970: 6563 746f 7220 7265 6665 7265 6e63 653a ector reference: │ │ │ │ │ -0001b980: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001b990: 6f6c 796c 696e 6520 7377 6565 7073 2e20 olyline sweeps. │ │ │ │ │ -0001b9a0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).* │ │ │ │ │ -0001b9b0: 205b 666f 6f5d 2c20 7665 6374 6f72 2072 [foo], vector r │ │ │ │ │ -0001b9c0: 6566 6572 656e 6365 203c 313e 3a20 2020 eference <1>: │ │ │ │ │ -0001b9d0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ -0001b9e0: 2072 6566 6572 656e 6365 732e 2020 286c references. (l │ │ │ │ │ -0001b9f0: 696e 6520 3135 290a 2a20 7b20 7d2c 2062 ine 15).* { }, b │ │ │ │ │ -0001ba00: 6c6f 636b 2064 7261 7761 626c 653a 2020 lock drawable: │ │ │ │ │ -0001ba10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ba20: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -0001ba30: 6d73 2e20 2020 2028 6c69 6e65 2032 3429 ms. (line 24) │ │ │ │ │ -0001ba40: 0a2a 207b 207d 2c20 626c 6f63 6b20 6472 .* { }, block dr │ │ │ │ │ -0001ba50: 6177 6162 6c65 203c 313e 3a20 2020 2020 awable <1>: │ │ │ │ │ -0001ba60: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested │ │ │ │ │ -0001ba70: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. │ │ │ │ │ -0001ba80: 286c 696e 6520 3235 290a 2a20 7b20 7d2c (line 25).* { }, │ │ │ │ │ -0001ba90: 2062 6c6f 636b 2064 7261 7761 626c 6520 block drawable │ │ │ │ │ -0001baa0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -0001bab0: 2020 2053 7765 7074 2062 6c6f 636b 732e Swept blocks. │ │ │ │ │ -0001bac0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001bad0: 3729 0a2a 207b 207d 2c20 626c 6f63 6b20 7).* { }, block │ │ │ │ │ -0001bae0: 6472 6177 6162 6c65 203c 333e 3a20 2020 drawable <3>: │ │ │ │ │ -0001baf0: 2020 2020 2020 2020 2020 2020 426c 6f63 Bloc │ │ │ │ │ -0001bb00: 6b73 2e20 2020 2020 2020 2020 2020 2020 ks. │ │ │ │ │ -0001bb10: 2020 286c 696e 6520 2036 290a 2a20 7b20 (line 6).* { │ │ │ │ │ -0001bb20: 7d2c 2062 6c6f 636b 2064 7261 7761 626c }, block drawabl │ │ │ │ │ -0001bb30: 6520 3c34 3e3a 2020 2020 2020 2020 2020 e <4>: │ │ │ │ │ -0001bb40: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -0001bb50: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001bb60: 2033 3729 0a2a 207b 666f 6f7d 2c20 6472 37).* {foo}, dr │ │ │ │ │ -0001bb70: 6177 6162 6c65 2072 6566 6572 656e 6365 awable reference │ │ │ │ │ -0001bb80: 3a20 2020 2020 2020 2020 2020 2020 4f62 : Ob │ │ │ │ │ -0001bb90: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ -0001bba0: 2020 2020 286c 696e 6520 3333 290a 2a20 (line 33).* │ │ │ │ │ -0001bbb0: 7b66 6f6f 7d2c 2064 7261 7761 626c 6520 {foo}, drawable │ │ │ │ │ -0001bbc0: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: │ │ │ │ │ -0001bbd0: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -0001bbe0: 7265 6665 7265 6e63 6573 2e20 2028 6c69 references. (li │ │ │ │ │ -0001bbf0: 6e65 2031 3729 0a2a 207b 666f 6f7d 2c20 ne 17).* {foo}, │ │ │ │ │ -0001bc00: 6472 6177 6162 6c65 2072 6566 6572 656e drawable referen │ │ │ │ │ -0001bc10: 6365 203c 323e 3a20 2020 2020 2020 2020 ce <2>: │ │ │ │ │ -0001bc20: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -0001bc30: 2020 2020 2020 286c 696e 6520 3437 290a (line 47). │ │ │ │ │ -0001bc40: 2a20 7b66 6f6f 7d2c 2064 7261 7761 626c * {foo}, drawabl │ │ │ │ │ -0001bc50: 6520 7265 6665 7265 6e63 6520 3c33 3e3a e reference <3>: │ │ │ │ │ -0001bc60: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -0001bc70: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ -0001bc80: 6c69 6e65 2035 3729 0a2a 202a 2c20 6d75 line 57).* *, mu │ │ │ │ │ -0001bc90: 6c74 6970 6c69 6361 7469 6f6e 206f 7065 ltiplication ope │ │ │ │ │ -0001bca0: 7261 746f 723a 2020 2020 2020 2020 2020 rator: │ │ │ │ │ -0001bcb0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ -0001bcc0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ +0001b900: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001b910: 6c69 6e65 2032 3429 0a2a 205b 666f 6f5d line 24).* [foo] │ │ │ │ │ +0001b920: 2c20 6f70 7469 6f6e 7320 7265 6665 7265 , options refere │ │ │ │ │ +0001b930: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: │ │ │ │ │ +0001b940: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ +0001b950: 656e 6365 732e 2020 286c 696e 6520 3138 ences. (line 18 │ │ │ │ │ +0001b960: 290a 2a20 5b66 6f6f 5d2c 2076 6563 746f ).* [foo], vecto │ │ │ │ │ +0001b970: 7220 7265 6665 7265 6e63 653a 2020 2020 r reference: │ │ │ │ │ +0001b980: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl │ │ │ │ │ +0001b990: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. │ │ │ │ │ +0001b9a0: 2028 6c69 6e65 2032 3029 0a2a 205b 666f (line 20).* [fo │ │ │ │ │ +0001b9b0: 6f5d 2c20 7665 6374 6f72 2072 6566 6572 o], vector refer │ │ │ │ │ +0001b9c0: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: │ │ │ │ │ +0001b9d0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ +0001b9e0: 6572 656e 6365 732e 2020 286c 696e 6520 erences. (line │ │ │ │ │ +0001b9f0: 3135 290a 2a20 7b20 7d2c 2062 6c6f 636b 15).* { }, block │ │ │ │ │ +0001ba00: 2064 7261 7761 626c 653a 2020 2020 2020 drawable: │ │ │ │ │ +0001ba10: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +0001ba20: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +0001ba30: 2020 2028 6c69 6e65 2032 3429 0a2a 207b (line 24).* { │ │ │ │ │ +0001ba40: 207d 2c20 626c 6f63 6b20 6472 6177 6162 }, block drawab │ │ │ │ │ +0001ba50: 6c65 203c 313e 3a20 2020 2020 2020 2020 le <1>: │ │ │ │ │ +0001ba60: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe │ │ │ │ │ +0001ba70: 6570 732e 2020 2020 2020 2020 286c 696e eps. (lin │ │ │ │ │ +0001ba80: 6520 3235 290a 2a20 7b20 7d2c 2062 6c6f e 25).* { }, blo │ │ │ │ │ +0001ba90: 636b 2064 7261 7761 626c 6520 3c32 3e3a ck drawable <2>: │ │ │ │ │ +0001baa0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +0001bab0: 7765 7074 2062 6c6f 636b 732e 2020 2020 wept blocks. │ │ │ │ │ +0001bac0: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).* │ │ │ │ │ +0001bad0: 207b 207d 2c20 626c 6f63 6b20 6472 6177 { }, block draw │ │ │ │ │ +0001bae0: 6162 6c65 203c 333e 3a20 2020 2020 2020 able <3>: │ │ │ │ │ +0001baf0: 2020 2020 2020 2020 426c 6f63 6b73 2e20 Blocks. │ │ │ │ │ +0001bb00: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0001bb10: 696e 6520 2036 290a 2a20 7b20 7d2c 2062 ine 6).* { }, b │ │ │ │ │ +0001bb20: 6c6f 636b 2064 7261 7761 626c 6520 3c34 lock drawable <4 │ │ │ │ │ +0001bb30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001bb40: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ +0001bb50: 2020 2020 2020 2028 6c69 6e65 2033 3729 (line 37) │ │ │ │ │ +0001bb60: 0a2a 207b 666f 6f7d 2c20 6472 6177 6162 .* {foo}, drawab │ │ │ │ │ +0001bb70: 6c65 2072 6566 6572 656e 6365 3a20 2020 le reference: │ │ │ │ │ +0001bb80: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ +0001bb90: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. │ │ │ │ │ +0001bba0: 286c 696e 6520 3333 290a 2a20 7b66 6f6f (line 33).* {foo │ │ │ │ │ +0001bbb0: 7d2c 2064 7261 7761 626c 6520 7265 6665 }, drawable refe │ │ │ │ │ +0001bbc0: 7265 6e63 6520 3c31 3e3a 2020 2020 2020 rence <1>: │ │ │ │ │ +0001bbd0: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe │ │ │ │ │ +0001bbe0: 7265 6e63 6573 2e20 2028 6c69 6e65 2031 rences. (line 1 │ │ │ │ │ +0001bbf0: 3729 0a2a 207b 666f 6f7d 2c20 6472 6177 7).* {foo}, draw │ │ │ │ │ +0001bc00: 6162 6c65 2072 6566 6572 656e 6365 203c able reference < │ │ │ │ │ +0001bc10: 323e 3a20 2020 2020 2020 2020 4f76 6572 2>: Over │ │ │ │ │ +0001bc20: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ +0001bc30: 2020 286c 696e 6520 3437 290a 2a20 7b66 (line 47).* {f │ │ │ │ │ +0001bc40: 6f6f 7d2c 2064 7261 7761 626c 6520 7265 oo}, drawable re │ │ │ │ │ +0001bc50: 6665 7265 6e63 6520 3c33 3e3a 2020 2020 ference <3>: │ │ │ │ │ +0001bc60: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ +0001bc70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001bc80: 2035 3729 0a2a 202a 2c20 6d75 6c74 6970 57).* *, multip │ │ │ │ │ +0001bc90: 6c69 6361 7469 6f6e 206f 7065 7261 746f lication operato │ │ │ │ │ +0001bca0: 723a 2020 2020 2020 2020 2020 2020 5477 r: Tw │ │ │ │ │ +0001bcb0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ +0001bcc0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ 0001bcd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bcf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bd00: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001bd10: 6e65 2031 3929 0a2a 202a 2c20 6d75 6c74 ne 19).* *, mult │ │ │ │ │ -0001bd20: 6970 6c69 6361 7469 6f6e 206f 7065 7261 iplication opera │ │ │ │ │ -0001bd30: 746f 7220 3c31 3e3a 2020 2020 2020 2020 tor <1>: │ │ │ │ │ -0001bd40: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ -0001bd50: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ +0001bd00: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001bd10: 3929 0a2a 202a 2c20 6d75 6c74 6970 6c69 9).* *, multipli │ │ │ │ │ +0001bd20: 6361 7469 6f6e 206f 7065 7261 746f 7220 cation operator │ │ │ │ │ +0001bd30: 3c31 3e3a 2020 2020 2020 2020 5477 6f2d <1>: Two- │ │ │ │ │ +0001bd40: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ +0001bd50: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ 0001bd60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bd70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bd80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bd90: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001bda0: 2036 3829 0a2a 202f 2c20 6469 7669 7369 68).* /, divisi │ │ │ │ │ -0001bdb0: 6f6e 206f 7065 7261 746f 723a 2020 2020 on operator: │ │ │ │ │ -0001bdc0: 2020 2020 2020 2020 2020 2020 2020 5477 Tw │ │ │ │ │ -0001bdd0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ -0001bde0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ +0001bd90: 2020 2020 2020 2028 6c69 6e65 2036 3829 (line 68) │ │ │ │ │ +0001bda0: 0a2a 202f 2c20 6469 7669 7369 6f6e 206f .* /, division o │ │ │ │ │ +0001bdb0: 7065 7261 746f 723a 2020 2020 2020 2020 perator: │ │ │ │ │ +0001bdc0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ +0001bdd0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ +0001bde0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ 0001bdf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001be00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001be10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001be20: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3 │ │ │ │ │ -0001be30: 3829 0a2a 205e 2c20 6578 706f 6e65 6e74 8).* ^, exponent │ │ │ │ │ -0001be40: 6961 7469 6f6e 206f 7065 7261 746f 723a iation operator: │ │ │ │ │ -0001be50: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ -0001be60: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ -0001be70: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ +0001be20: 2020 2020 2028 6c69 6e65 2033 3829 0a2a (line 38).* │ │ │ │ │ +0001be30: 205e 2c20 6578 706f 6e65 6e74 6961 7469 ^, exponentiati │ │ │ │ │ +0001be40: 6f6e 206f 7065 7261 746f 723a 2020 2020 on operator: │ │ │ │ │ +0001be50: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ +0001be60: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ +0001be70: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ 0001be80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001be90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001beb0: 2020 2020 2020 2028 6c69 6e65 2032 3729 (line 27) │ │ │ │ │ -0001bec0: 0a2a 202b 2c20 706c 7573 206f 7065 7261 .* +, plus opera │ │ │ │ │ -0001bed0: 746f 723a 2020 2020 2020 2020 2020 2020 tor: │ │ │ │ │ -0001bee0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ -0001bef0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ -0001bf00: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ +0001beb0: 2020 2028 6c69 6e65 2032 3729 0a2a 202b (line 27).* + │ │ │ │ │ +0001bec0: 2c20 706c 7573 206f 7065 7261 746f 723a , plus operator: │ │ │ │ │ +0001bed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bee0: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ +0001bef0: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ +0001bf00: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 0001bf10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bf20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bf30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bf40: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).* │ │ │ │ │ -0001bf50: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag │ │ │ │ │ -0001bf60: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001bf70: 2020 2020 2020 2020 506f 696e 7420 7377 Point sw │ │ │ │ │ -0001bf80: 6565 7073 2e20 2020 2020 2020 2020 286c eeps. (l │ │ │ │ │ -0001bf90: 696e 6520 3138 290a 2a20 3c3e 2c20 636c ine 18).* <>, cl │ │ │ │ │ -0001bfa0: 6f73 7572 6520 7461 6720 3c31 3e3a 2020 osure tag <1>: │ │ │ │ │ -0001bfb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bfc0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ -0001bfd0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. │ │ │ │ │ +0001bf40: 2028 6c69 6e65 2031 3129 0a2a 203c 3e2c (line 11).* <>, │ │ │ │ │ +0001bf50: 2063 6c6f 7375 7265 2074 6167 3a20 2020 closure tag: │ │ │ │ │ +0001bf60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bf70: 2020 2020 506f 696e 7420 7377 6565 7073 Point sweeps │ │ │ │ │ +0001bf80: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +0001bf90: 3138 290a 2a20 3c3e 2c20 636c 6f73 7572 18).* <>, closur │ │ │ │ │ +0001bfa0: 6520 7461 6720 3c31 3e3a 2020 2020 2020 e tag <1>: │ │ │ │ │ +0001bfb0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ +0001bfc0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +0001bfd0: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. │ │ │ │ │ 0001bfe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c010: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001c020: 696e 6520 2036 290a 2a20 3c3e 2c20 636c ine 6).* <>, cl │ │ │ │ │ -0001c030: 6f73 7572 6520 7461 6720 3c32 3e3a 2020 osure tag <2>: │ │ │ │ │ -0001c040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c050: 2053 7765 6570 732e 2020 2020 2020 2020 Sweeps. │ │ │ │ │ -0001c060: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19) │ │ │ │ │ -0001c070: 0a2a 203c 3e2c 2063 6c6f 7375 7265 2074 .* <>, closure t │ │ │ │ │ -0001c080: 6167 203c 333e 3a20 2020 2020 2020 2020 ag <3>: │ │ │ │ │ -0001c090: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -0001c0a0: 706f 696e 7473 2e20 2020 2020 2020 2020 points. │ │ │ │ │ -0001c0b0: 286c 696e 6520 2036 290a 2a20 3c3e 2c20 (line 6).* <>, │ │ │ │ │ -0001c0c0: 636c 6f73 7572 6520 7461 6720 3c34 3e3a closure tag <4>: │ │ │ │ │ -0001c0d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c0e0: 2020 2053 7765 7074 2070 6f69 6e74 732e Swept points. │ │ │ │ │ -0001c0f0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001c100: 3329 0a2a 203c 3e2c 2063 6c6f 7375 7265 3).* <>, closure │ │ │ │ │ -0001c110: 2074 6167 203c 353e 3a20 2020 2020 2020 tag <5>: │ │ │ │ │ -0001c120: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -0001c130: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. │ │ │ │ │ -0001c140: 2020 286c 696e 6520 2036 290a 2a20 3c3e (line 6).* <> │ │ │ │ │ -0001c150: 2c20 636c 6f73 7572 6520 7461 6720 3c36 , closure tag <6 │ │ │ │ │ -0001c160: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001c170: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines │ │ │ │ │ -0001c180: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line │ │ │ │ │ -0001c190: 2032 3829 0a2a 203c 3e2c 2063 6c6f 7375 28).* <>, closu │ │ │ │ │ -0001c1a0: 7265 2074 6167 203c 373e 3a20 2020 2020 re tag <7>: │ │ │ │ │ -0001c1b0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -0001c1c0: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti │ │ │ │ │ -0001c1d0: 6e67 2e20 286c 696e 6520 3131 290a 2a20 ng. (line 11).* │ │ │ │ │ -0001c1e0: 3c66 6f6f 3e2c 2074 6167 2072 6566 6572 , tag refer │ │ │ │ │ -0001c1f0: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: │ │ │ │ │ -0001c200: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -0001c210: 6465 6669 6e69 7469 6f6e 732e 2028 6c69 definitions. (li │ │ │ │ │ -0001c220: 6e65 2032 3029 0a2a 203c 666f 6f3e 2c20 ne 20).* , │ │ │ │ │ -0001c230: 7461 6720 7265 6665 7265 6e63 6520 3c31 tag reference <1 │ │ │ │ │ -0001c240: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001c250: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ -0001c260: 6365 732e 2020 286c 696e 6520 3139 290a ces. (line 19). │ │ │ │ │ -0001c270: 2a20 7c58 7c2c 206d 6167 6e69 7475 6465 * |X|, magnitude │ │ │ │ │ -0001c280: 206f 7065 7261 746f 723a 2020 2020 2020 operator: │ │ │ │ │ -0001c290: 2020 2020 2020 2020 2055 6e61 7279 2066 Unary f │ │ │ │ │ -0001c2a0: 6f72 6d73 2e20 2020 2020 2020 2020 2028 orms. ( │ │ │ │ │ -0001c2b0: 6c69 6e65 2031 3229 0a2a 2061 636f 733a line 12).* acos: │ │ │ │ │ +0001c010: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001c020: 2036 290a 2a20 3c3e 2c20 636c 6f73 7572 6).* <>, closur │ │ │ │ │ +0001c030: 6520 7461 6720 3c32 3e3a 2020 2020 2020 e tag <2>: │ │ │ │ │ +0001c040: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +0001c050: 6570 732e 2020 2020 2020 2020 2020 2020 eps. │ │ │ │ │ +0001c060: 2020 2028 6c69 6e65 2031 3929 0a2a 203c (line 19).* < │ │ │ │ │ +0001c070: 3e2c 2063 6c6f 7375 7265 2074 6167 203c >, closure tag < │ │ │ │ │ +0001c080: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ +0001c090: 2020 2020 2020 5377 6570 7420 706f 696e Swept poin │ │ │ │ │ +0001c0a0: 7473 2e20 2020 2020 2020 2020 286c 696e ts. (lin │ │ │ │ │ +0001c0b0: 6520 2036 290a 2a20 3c3e 2c20 636c 6f73 e 6).* <>, clos │ │ │ │ │ +0001c0c0: 7572 6520 7461 6720 3c34 3e3a 2020 2020 ure tag <4>: │ │ │ │ │ +0001c0d0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +0001c0e0: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. │ │ │ │ │ +0001c0f0: 2020 2020 2028 6c69 6e65 2031 3329 0a2a (line 13).* │ │ │ │ │ +0001c100: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag │ │ │ │ │ +0001c110: 203c 353e 3a20 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ +0001c120: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li │ │ │ │ │ +0001c130: 6e65 732e 2020 2020 2020 2020 2020 286c nes. (l │ │ │ │ │ +0001c140: 696e 6520 2036 290a 2a20 3c3e 2c20 636c ine 6).* <>, cl │ │ │ │ │ +0001c150: 6f73 7572 6520 7461 6720 3c36 3e3a 2020 osure tag <6>: │ │ │ │ │ +0001c160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c170: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ +0001c180: 2020 2020 2020 2028 6c69 6e65 2032 3829 (line 28) │ │ │ │ │ +0001c190: 0a2a 203c 3e2c 2063 6c6f 7375 7265 2074 .* <>, closure t │ │ │ │ │ +0001c1a0: 6167 203c 373e 3a20 2020 2020 2020 2020 ag <7>: │ │ │ │ │ +0001c1b0: 2020 2020 2020 2020 2020 5377 6565 7020 Sweep │ │ │ │ │ +0001c1c0: 6661 6365 2073 706c 6974 7469 6e67 2e20 face splitting. │ │ │ │ │ +0001c1d0: 286c 696e 6520 3131 290a 2a20 3c66 6f6f (line 11).* , tag reference │ │ │ │ │ +0001c1f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001c200: 2020 2046 6f72 6d73 206f 6620 6465 6669 Forms of defi │ │ │ │ │ +0001c210: 6e69 7469 6f6e 732e 2028 6c69 6e65 2032 nitions. (line 2 │ │ │ │ │ +0001c220: 3029 0a2a 203c 666f 6f3e 2c20 7461 6720 0).* , tag │ │ │ │ │ +0001c230: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: │ │ │ │ │ +0001c240: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ +0001c250: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ +0001c260: 2020 286c 696e 6520 3139 290a 2a20 7c58 (line 19).* |X │ │ │ │ │ +0001c270: 7c2c 206d 6167 6e69 7475 6465 206f 7065 |, magnitude ope │ │ │ │ │ +0001c280: 7261 746f 723a 2020 2020 2020 2020 2020 rator: │ │ │ │ │ +0001c290: 2020 2020 2055 6e61 7279 2066 6f72 6d73 Unary forms │ │ │ │ │ +0001c2a0: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line │ │ │ │ │ +0001c2b0: 2031 3229 0a2a 2061 636f 733a 2020 2020 12).* acos: │ │ │ │ │ 0001c2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c2d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c2e0: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. │ │ │ │ │ -0001c2f0: 2020 2020 2020 2020 286c 696e 6520 3138 (line 18 │ │ │ │ │ -0001c300: 290a 2a20 6172 726f 7773 3a20 2020 2020 ).* arrows: │ │ │ │ │ +0001c2d0: 2020 2020 2020 2020 2020 2020 2020 556e Un │ │ │ │ │ +0001c2e0: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. │ │ │ │ │ +0001c2f0: 2020 2020 286c 696e 6520 3138 290a 2a20 (line 18).* │ │ │ │ │ +0001c300: 6172 726f 7773 3a20 2020 2020 2020 2020 arrows: │ │ │ │ │ 0001c310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c320: 2020 2020 2020 2020 2020 2041 6666 696e Affin │ │ │ │ │ -0001c330: 6520 6172 6974 686d 6574 6963 2e20 2020 e arithmetic. │ │ │ │ │ -0001c340: 2028 6c69 6e65 2031 3129 0a2a 2061 7272 (line 11).* arr │ │ │ │ │ -0001c350: 6f77 7320 3c31 3e3a 2020 2020 2020 2020 ows <1>: │ │ │ │ │ +0001c320: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar │ │ │ │ │ +0001c330: 6974 686d 6574 6963 2e20 2020 2028 6c69 ithmetic. (li │ │ │ │ │ +0001c340: 6e65 2031 3129 0a2a 2061 7272 6f77 7320 ne 11).* arrows │ │ │ │ │ +0001c350: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ 0001c360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c370: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith │ │ │ │ │ -0001c380: 6d65 7469 632e 2020 2020 286c 696e 6520 metic. (line │ │ │ │ │ -0001c390: 3238 290a 2a20 6172 726f 7773 203c 323e 28).* arrows <2> │ │ │ │ │ -0001c3a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001c3b0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ -0001c3c0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -0001c3d0: 2020 2028 6c69 6e65 2036 3929 0a2a 2061 (line 69).* a │ │ │ │ │ -0001c3e0: 7272 6f77 7320 3c33 3e3a 2020 2020 2020 rrows <3>: │ │ │ │ │ +0001c370: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ +0001c380: 632e 2020 2020 286c 696e 6520 3238 290a c. (line 28). │ │ │ │ │ +0001c390: 2a20 6172 726f 7773 203c 323e 3a20 2020 * arrows <2>: │ │ │ │ │ +0001c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c3b0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ +0001c3c0: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ +0001c3d0: 6c69 6e65 2036 3929 0a2a 2061 7272 6f77 line 69).* arrow │ │ │ │ │ +0001c3e0: 7320 3c33 3e3a 2020 2020 2020 2020 2020 s <3>: │ │ │ │ │ 0001c3f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c400: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ -0001c410: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ -0001c420: 6520 3236 290a 2a20 6172 726f 7773 203c e 26).* arrows < │ │ │ │ │ -0001c430: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: │ │ │ │ │ -0001c440: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -0001c450: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ -0001c460: 6e67 2e20 2028 6c69 6e65 2036 3829 0a2a ng. (line 68).* │ │ │ │ │ -0001c470: 2061 7369 6e3a 2020 2020 2020 2020 2020 asin: │ │ │ │ │ +0001c400: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +0001c410: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26 │ │ │ │ │ +0001c420: 290a 2a20 6172 726f 7773 203c 343e 3a20 ).* arrows <4>: │ │ │ │ │ +0001c430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c440: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ +0001c450: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ +0001c460: 2028 6c69 6e65 2036 3829 0a2a 2061 7369 (line 68).* asi │ │ │ │ │ +0001c470: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ 0001c480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c490: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo │ │ │ │ │ -0001c4a0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l │ │ │ │ │ -0001c4b0: 696e 6520 3137 290a 2a20 6174 616e 323a ine 17).* atan2: │ │ │ │ │ +0001c490: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms. │ │ │ │ │ +0001c4a0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001c4b0: 3137 290a 2a20 6174 616e 323a 2020 2020 17).* atan2: │ │ │ │ │ 0001c4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c4e0: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. │ │ │ │ │ -0001c4f0: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19) │ │ │ │ │ -0001c500: 0a2a 2063 616d 6572 613a 2020 2020 2020 .* camera: │ │ │ │ │ +0001c4d0: 2020 2020 2020 2020 2020 2020 2055 6e61 Una │ │ │ │ │ +0001c4e0: 7279 2066 6f72 6d73 2e20 2020 2020 2020 ry forms. │ │ │ │ │ +0001c4f0: 2020 2028 6c69 6e65 2031 3929 0a2a 2063 (line 19).* c │ │ │ │ │ +0001c500: 616d 6572 613a 2020 2020 2020 2020 2020 amera: │ │ │ │ │ 0001c510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c520: 2020 2020 2020 2020 2020 4361 6d65 7261 Camera │ │ │ │ │ -0001c530: 2e20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -0001c540: 286c 696e 6520 2036 290a 2a20 636f 6e74 (line 6).* cont │ │ │ │ │ -0001c550: 6578 743a 2020 2020 2020 2020 2020 2020 ext: │ │ │ │ │ -0001c560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c570: 2020 204c 616e 6775 6167 652e 2020 2020 Language. │ │ │ │ │ -0001c580: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001c590: 3729 0a2a 2063 6f73 3a20 2020 2020 2020 7).* cos: │ │ │ │ │ +0001c520: 2020 2020 2020 4361 6d65 7261 2e20 2020 Camera. │ │ │ │ │ +0001c530: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001c540: 6520 2036 290a 2a20 636f 6e74 6578 743a e 6).* context: │ │ │ │ │ +0001c550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c560: 2020 2020 2020 2020 2020 2020 2020 204c L │ │ │ │ │ +0001c570: 616e 6775 6167 652e 2020 2020 2020 2020 anguage. │ │ │ │ │ +0001c580: 2020 2020 2028 6c69 6e65 2031 3729 0a2a (line 17).* │ │ │ │ │ +0001c590: 2063 6f73 3a20 2020 2020 2020 2020 2020 cos: │ │ │ │ │ 0001c5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c5b0: 2020 2020 2020 2020 2020 2020 556e 6172 Unar │ │ │ │ │ -0001c5c0: 7920 666f 726d 732e 2020 2020 2020 2020 y forms. │ │ │ │ │ -0001c5d0: 2020 286c 696e 6520 3136 290a 2a20 6375 (line 16).* cu │ │ │ │ │ -0001c5e0: 6c6c 3a20 2020 2020 2020 2020 2020 2020 ll: │ │ │ │ │ +0001c5b0: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo │ │ │ │ │ +0001c5c0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l │ │ │ │ │ +0001c5d0: 696e 6520 3136 290a 2a20 6375 6c6c 3a20 ine 16).* cull: │ │ │ │ │ +0001c5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c5f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c600: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s │ │ │ │ │ -0001c610: 6f6c 6964 2e20 2020 2020 2028 6c69 6e65 olid. (line │ │ │ │ │ -0001c620: 2034 3529 0a2a 2063 756c 6c20 3c31 3e3a 45).* cull <1>: │ │ │ │ │ +0001c600: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ +0001c610: 2e20 2020 2020 2028 6c69 6e65 2034 3529 . (line 45) │ │ │ │ │ +0001c620: 0a2a 2063 756c 6c20 3c31 3e3a 2020 2020 .* cull <1>: │ │ │ │ │ 0001c630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c640: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -0001c650: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ -0001c660: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ -0001c670: 6375 6c6c 203c 323e 3a20 2020 2020 2020 cull <2>: │ │ │ │ │ +0001c640: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ +0001c650: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. │ │ │ │ │ +0001c660: 286c 696e 6520 2039 290a 2a20 6375 6c6c (line 9).* cull │ │ │ │ │ +0001c670: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ 0001c680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c690: 2020 2020 2020 2054 7261 6e73 7061 7265 Transpare │ │ │ │ │ -0001c6a0: 6e63 792e 2020 2020 2020 2020 2028 6c69 ncy. (li │ │ │ │ │ -0001c6b0: 6e65 2031 3529 0a2a 2063 756c 6c20 3c33 ne 15).* cull <3 │ │ │ │ │ -0001c6c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001c6d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c6e0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ -0001c6f0: 696e 672e 2020 286c 696e 6520 3230 290a ing. (line 20). │ │ │ │ │ -0001c700: 2a20 6375 6c6c 203c 343e 3a20 2020 2020 * cull <4>: │ │ │ │ │ +0001c690: 2020 2054 7261 6e73 7061 7265 6e63 792e Transparency. │ │ │ │ │ +0001c6a0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001c6b0: 3529 0a2a 2063 756c 6c20 3c33 3e3a 2020 5).* cull <3>: │ │ │ │ │ +0001c6c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c6d0: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001c6e0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001c6f0: 2020 286c 696e 6520 3230 290a 2a20 6375 (line 20).* cu │ │ │ │ │ +0001c700: 6c6c 203c 343e 3a20 2020 2020 2020 2020 ll <4>: │ │ │ │ │ 0001c710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c720: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna │ │ │ │ │ -0001c730: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. ( │ │ │ │ │ -0001c740: 6c69 6e65 2020 3729 0a2a 2063 756c 6c20 line 7).* cull │ │ │ │ │ -0001c750: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ -0001c760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c770: 2020 476c 6f62 616c 206f 7074 696f 6e73 Global options │ │ │ │ │ -0001c780: 2e20 2020 2020 2020 286c 696e 6520 3133 . (line 13 │ │ │ │ │ -0001c790: 290a 2a20 6375 7276 653a 2020 2020 2020 ).* curve: │ │ │ │ │ +0001c720: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op │ │ │ │ │ +0001c730: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line │ │ │ │ │ +0001c740: 2020 3729 0a2a 2063 756c 6c20 3c35 3e3a 7).* cull <5>: │ │ │ │ │ +0001c750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c760: 2020 2020 2020 2020 2020 2020 2020 476c Gl │ │ │ │ │ +0001c770: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. │ │ │ │ │ +0001c780: 2020 2020 286c 696e 6520 3133 290a 2a20 (line 13).* │ │ │ │ │ +0001c790: 6375 7276 653a 2020 2020 2020 2020 2020 curve: │ │ │ │ │ 0001c7a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c7b0: 2020 2020 2020 2020 2020 2043 7572 7665 Curve │ │ │ │ │ -0001c7c0: 732e 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ -0001c7d0: 2028 6c69 6e65 2020 3629 0a2a 2064 6566 (line 6).* def │ │ │ │ │ -0001c7e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001c7b0: 2020 2020 2020 2043 7572 7665 732e 2020 Curves. │ │ │ │ │ +0001c7c0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001c7d0: 6e65 2020 3629 0a2a 2064 6566 3a20 2020 ne 6).* def: │ │ │ │ │ +0001c7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c7f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c800: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so │ │ │ │ │ -0001c810: 6c69 642e 2020 2020 2020 286c 696e 6520 lid. (line │ │ │ │ │ -0001c820: 2039 290a 2a20 6465 6620 3c31 3e3a 2020 9).* def <1>: │ │ │ │ │ +0001c800: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ +0001c810: 2020 2020 2020 286c 696e 6520 2039 290a (line 9). │ │ │ │ │ +0001c820: 2a20 6465 6620 3c31 3e3a 2020 2020 2020 * def <1>: │ │ │ │ │ 0001c830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c840: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ -0001c850: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ -0001c860: 2020 2028 6c69 6e65 2032 3229 0a2a 2064 (line 22).* d │ │ │ │ │ -0001c870: 6566 203c 323e 3a20 2020 2020 2020 2020 ef <2>: │ │ │ │ │ +0001c840: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ +0001c850: 2061 2073 6f6c 6964 2e20 2020 2020 2028 a solid. ( │ │ │ │ │ +0001c860: 6c69 6e65 2032 3229 0a2a 2064 6566 203c line 22).* def < │ │ │ │ │ +0001c870: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ 0001c880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c890: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ -0001c8a0: 6e73 666f 726d 732e 2020 2020 286c 696e nsforms. (lin │ │ │ │ │ -0001c8b0: 6520 3130 290a 2a20 6465 6620 3c33 3e3a e 10).* def <3>: │ │ │ │ │ +0001c890: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ +0001c8a0: 726d 732e 2020 2020 286c 696e 6520 3130 rms. (line 10 │ │ │ │ │ +0001c8b0: 290a 2a20 6465 6620 3c33 3e3a 2020 2020 ).* def <3>: │ │ │ │ │ 0001c8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c8d0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001c8e0: 6f69 6e74 2073 7765 6570 732e 2020 2020 oint sweeps. │ │ │ │ │ -0001c8f0: 2020 2020 2028 6c69 6e65 2031 3929 0a2a (line 19).* │ │ │ │ │ -0001c900: 2064 6566 203c 343e 3a20 2020 2020 2020 def <4>: │ │ │ │ │ +0001c8d0: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point │ │ │ │ │ +0001c8e0: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. │ │ │ │ │ +0001c8f0: 2028 6c69 6e65 2031 3929 0a2a 2064 6566 (line 19).* def │ │ │ │ │ +0001c900: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ 0001c910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c920: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -0001c930: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l │ │ │ │ │ -0001c940: 696e 6520 2039 290a 2a20 6465 6620 3c35 ine 9).* def <5 │ │ │ │ │ -0001c950: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001c960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c970: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. │ │ │ │ │ -0001c980: 2020 2020 2020 2028 6c69 6e65 2020 3829 (line 8) │ │ │ │ │ -0001c990: 0a2a 2064 6566 203c 363e 3a20 2020 2020 .* def <6>: │ │ │ │ │ +0001c920: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +0001c930: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line │ │ │ │ │ +0001c940: 2039 290a 2a20 6465 6620 3c35 3e3a 2020 9).* def <5>: │ │ │ │ │ +0001c950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c960: 2020 2020 2020 2020 2020 2020 204e 6573 Nes │ │ │ │ │ +0001c970: 7465 6420 7377 6565 7073 2e20 2020 2020 ted sweeps. │ │ │ │ │ +0001c980: 2020 2028 6c69 6e65 2020 3829 0a2a 2064 (line 8).* d │ │ │ │ │ +0001c990: 6566 203c 363e 3a20 2020 2020 2020 2020 ef <6>: │ │ │ │ │ 0001c9a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c9b0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -0001c9c0: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ -0001c9d0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. │ │ │ │ │ +0001c9b0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ +0001c9c0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ +0001c9d0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. │ │ │ │ │ 0001c9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c9f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ca00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca10: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10) │ │ │ │ │ -0001ca20: 0a2a 2064 6566 203c 373e 3a20 2020 2020 .* def <7>: │ │ │ │ │ +0001ca10: 2020 2028 6c69 6e65 2031 3029 0a2a 2064 (line 10).* d │ │ │ │ │ +0001ca20: 6566 203c 373e 3a20 2020 2020 2020 2020 ef <7>: │ │ │ │ │ 0001ca30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca40: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine │ │ │ │ │ -0001ca50: 2061 7269 7468 6d65 7469 632e 2020 2020 arithmetic. │ │ │ │ │ -0001ca60: 286c 696e 6520 3131 290a 2a20 6465 6620 (line 11).* def │ │ │ │ │ -0001ca70: 3c38 3e3a 2020 2020 2020 2020 2020 2020 <8>: │ │ │ │ │ -0001ca80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca90: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ -0001caa0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001cab0: 3229 0a2a 2064 6566 203c 393e 3a20 2020 2).* def <9>: │ │ │ │ │ +0001ca40: 2020 2020 2020 4166 6669 6e65 2061 7269 Affine ari │ │ │ │ │ +0001ca50: 7468 6d65 7469 632e 2020 2020 286c 696e thmetic. (lin │ │ │ │ │ +0001ca60: 6520 3131 290a 2a20 6465 6620 3c38 3e3a e 11).* def <8>: │ │ │ │ │ +0001ca70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ca80: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +0001ca90: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +0001caa0: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).* │ │ │ │ │ +0001cab0: 2064 6566 203c 393e 3a20 2020 2020 2020 def <9>: │ │ │ │ │ 0001cac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cad0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ -0001cae0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ -0001caf0: 2020 286c 696e 6520 3337 290a 2a20 6465 (line 37).* de │ │ │ │ │ -0001cb00: 6620 3c31 303e 3a20 2020 2020 2020 2020 f <10>: │ │ │ │ │ +0001cad0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ +0001cae0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ +0001caf0: 696e 6520 3337 290a 2a20 6465 6620 3c31 ine 37).* def <1 │ │ │ │ │ +0001cb00: 303e 3a20 2020 2020 2020 2020 2020 2020 0>: │ │ │ │ │ 0001cb10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cb20: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -0001cb30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001cb40: 2036 3929 0a2a 2064 6566 203c 3131 3e3a 69).* def <11>: │ │ │ │ │ +0001cb20: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ +0001cb30: 2020 2020 2020 2028 6c69 6e65 2036 3929 (line 69) │ │ │ │ │ +0001cb40: 0a2a 2064 6566 203c 3131 3e3a 2020 2020 .* def <11>: │ │ │ │ │ 0001cb50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cb60: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001cb70: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001cb80: 672e 2020 286c 696e 6520 3134 290a 2a20 g. (line 14).* │ │ │ │ │ -0001cb90: 6465 6620 3c31 323e 3a20 2020 2020 2020 def <12>: │ │ │ │ │ +0001cb60: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ +0001cb70: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ +0001cb80: 286c 696e 6520 3134 290a 2a20 6465 6620 (line 14).* def │ │ │ │ │ +0001cb90: 3c31 323e 3a20 2020 2020 2020 2020 2020 <12>: │ │ │ │ │ 0001cba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cbb0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -0001cbc0: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ -0001cbd0: 6e65 2032 3629 0a2a 2064 6566 203c 3133 ne 26).* def <13 │ │ │ │ │ -0001cbe0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001cbf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cc00: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ -0001cc10: 696e 672e 2020 286c 696e 6520 3431 290a ing. (line 41). │ │ │ │ │ -0001cc20: 2a20 6465 6620 3c31 343e 3a20 2020 2020 * def <14>: │ │ │ │ │ +0001cbb0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001cbc0: 7261 7769 6e67 2e20 2028 6c69 6e65 2032 rawing. (line 2 │ │ │ │ │ +0001cbd0: 3629 0a2a 2064 6566 203c 3133 3e3a 2020 6).* def <13>: │ │ │ │ │ +0001cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cbf0: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001cc00: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001cc10: 2020 286c 696e 6520 3431 290a 2a20 6465 (line 41).* de │ │ │ │ │ +0001cc20: 6620 3c31 343e 3a20 2020 2020 2020 2020 f <14>: │ │ │ │ │ 0001cc30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cc40: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ -0001cc50: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ -0001cc60: 6c69 6e65 2036 3829 0a2a 2064 6566 203c line 68).* def < │ │ │ │ │ -0001cc70: 3135 3e3a 2020 2020 2020 2020 2020 2020 15>: │ │ │ │ │ -0001cc80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cc90: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ -0001cca0: 6177 696e 672e 2020 286c 696e 6520 3935 awing. (line 95 │ │ │ │ │ -0001ccb0: 290a 2a20 6465 6620 3c31 363e 3a20 2020 ).* def <16>: │ │ │ │ │ +0001cc40: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ +0001cc50: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ +0001cc60: 2036 3829 0a2a 2064 6566 203c 3135 3e3a 68).* def <15>: │ │ │ │ │ +0001cc70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cc80: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ +0001cc90: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ +0001cca0: 672e 2020 286c 696e 6520 3935 290a 2a20 g. (line 95).* │ │ │ │ │ +0001ccb0: 6465 6620 3c31 363e 3a20 2020 2020 2020 def <16>: │ │ │ │ │ 0001ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ccd0: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ -0001cce0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ -0001ccf0: 2028 6c69 6e65 2031 3029 0a2a 2064 6566 (line 10).* def │ │ │ │ │ -0001cd00: 203c 3137 3e3a 2020 2020 2020 2020 2020 <17>: │ │ │ │ │ +0001ccd0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ +0001cce0: 6869 6361 6c20 6d6f 6465 6c2e 2028 6c69 hical model. (li │ │ │ │ │ +0001ccf0: 6e65 2031 3029 0a2a 2064 6566 203c 3137 ne 10).* def <17 │ │ │ │ │ +0001cd00: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ 0001cd10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cd20: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ -0001cd30: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line │ │ │ │ │ -0001cd40: 3233 290a 2a20 6465 6620 3c31 383e 3a20 23).* def <18>: │ │ │ │ │ +0001cd20: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ +0001cd30: 6f64 656c 2e20 286c 696e 6520 3233 290a odel. (line 23). │ │ │ │ │ +0001cd40: 2a20 6465 6620 3c31 383e 3a20 2020 2020 * def <18>: │ │ │ │ │ 0001cd50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cd60: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -0001cd70: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -0001cd80: 6c2e 2028 6c69 6e65 2033 3229 0a2a 2064 l. (line 32).* d │ │ │ │ │ -0001cd90: 6f74 733a 2020 2020 2020 2020 2020 2020 ots: │ │ │ │ │ +0001cd60: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ +0001cd70: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. ( │ │ │ │ │ +0001cd80: 6c69 6e65 2033 3229 0a2a 2064 6f74 733a line 32).* dots: │ │ │ │ │ +0001cd90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001cda0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cdb0: 2020 2020 2020 446f 7473 2e20 2020 2020 Dots. │ │ │ │ │ -0001cdc0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0001cdd0: 6520 2036 290a 2a20 6669 6c6c 206f 7061 e 6).* fill opa │ │ │ │ │ -0001cde0: 6369 7479 3a20 2020 2020 2020 2020 2020 city: │ │ │ │ │ -0001cdf0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0001ce00: 7261 6e73 7061 7265 6e63 792e 2020 2020 ransparency. │ │ │ │ │ -0001ce10: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).* │ │ │ │ │ -0001ce20: 2066 696c 6c20 7374 796c 653a 2020 2020 fill style: │ │ │ │ │ +0001cdb0: 2020 446f 7473 2e20 2020 2020 2020 2020 Dots. │ │ │ │ │ +0001cdc0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +0001cdd0: 290a 2a20 6669 6c6c 206f 7061 6369 7479 ).* fill opacity │ │ │ │ │ +0001cde0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001cdf0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +0001ce00: 7061 7265 6e63 792e 2020 2020 2020 2020 parency. │ │ │ │ │ +0001ce10: 2028 6c69 6e65 2031 3029 0a2a 2066 696c (line 10).* fil │ │ │ │ │ +0001ce20: 6c20 7374 796c 653a 2020 2020 2020 2020 l style: │ │ │ │ │ 0001ce30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ce40: 2020 2020 2020 2020 5469 6b5a 2f50 4746 TikZ/PGF │ │ │ │ │ -0001ce50: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st │ │ │ │ │ -0001ce60: 796c 6573 2e0a 2020 2020 2020 2020 2020 yles.. │ │ │ │ │ +0001ce40: 2020 2020 5469 6b5a 2f50 4746 2075 7365 TikZ/PGF use │ │ │ │ │ +0001ce50: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles │ │ │ │ │ +0001ce60: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 0001ce70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ce80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ce90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cea0: 2020 2020 2028 6c69 6e65 2032 3529 0a2a (line 25).* │ │ │ │ │ -0001ceb0: 2066 696c 6c63 6f6c 6f72 3a20 2020 2020 fillcolor: │ │ │ │ │ +0001cea0: 2028 6c69 6e65 2032 3529 0a2a 2066 696c (line 25).* fil │ │ │ │ │ +0001ceb0: 6c63 6f6c 6f72 3a20 2020 2020 2020 2020 lcolor: │ │ │ │ │ 0001cec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ced0: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ -0001cee0: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l │ │ │ │ │ -0001cef0: 696e 6520 3130 290a 2a20 6669 6c6c 636f ine 10).* fillco │ │ │ │ │ -0001cf00: 6c6f 7220 3c31 3e3a 2020 2020 2020 2020 lor <1>: │ │ │ │ │ -0001cf10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cf20: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ -0001cf30: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. │ │ │ │ │ +0001ced0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ +0001cee0: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line │ │ │ │ │ +0001cef0: 3130 290a 2a20 6669 6c6c 636f 6c6f 7220 10).* fillcolor │ │ │ │ │ +0001cf00: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001cf10: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ +0001cf20: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +0001cf30: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. │ │ │ │ │ 0001cf40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001cf50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001cf60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cf70: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001cf80: 696e 6520 3130 290a 2a20 6669 6c6c 636f ine 10).* fillco │ │ │ │ │ -0001cf90: 6c6f 7220 3c32 3e3a 2020 2020 2020 2020 lor <2>: │ │ │ │ │ -0001cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cfb0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ -0001cfc0: 2020 2020 2020 2028 6c69 6e65 2033 3729 (line 37) │ │ │ │ │ -0001cfd0: 0a2a 2066 7261 6d65 3a20 2020 2020 2020 .* frame: │ │ │ │ │ +0001cf70: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001cf80: 3130 290a 2a20 6669 6c6c 636f 6c6f 7220 10).* fillcolor │ │ │ │ │ +0001cf90: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001cfa0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ +0001cfb0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ +0001cfc0: 2020 2028 6c69 6e65 2033 3729 0a2a 2066 (line 37).* f │ │ │ │ │ +0001cfd0: 7261 6d65 3a20 2020 2020 2020 2020 2020 rame: │ │ │ │ │ 0001cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cff0: 2020 2020 2020 2020 2020 4672 616d 652e Frame. │ │ │ │ │ -0001d000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d010: 286c 696e 6520 2036 290a 2a20 6672 616d (line 6).* fram │ │ │ │ │ -0001d020: 6573 6570 3a20 2020 2020 2020 2020 2020 esep: │ │ │ │ │ -0001d030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d040: 2020 2046 7261 6d65 2e20 2020 2020 2020 Frame. │ │ │ │ │ -0001d050: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001d060: 3129 0a2a 2067 6c6f 6261 6c3a 2020 2020 1).* global: │ │ │ │ │ +0001cff0: 2020 2020 2020 4672 616d 652e 2020 2020 Frame. │ │ │ │ │ +0001d000: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001d010: 6520 2036 290a 2a20 6672 616d 6573 6570 e 6).* framesep │ │ │ │ │ +0001d020: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d030: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ +0001d040: 7261 6d65 2e20 2020 2020 2020 2020 2020 rame. │ │ │ │ │ +0001d050: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).* │ │ │ │ │ +0001d060: 2067 6c6f 6261 6c3a 2020 2020 2020 2020 global: │ │ │ │ │ 0001d070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d080: 2020 2020 2020 2020 2020 2020 476c 6f62 Glob │ │ │ │ │ -0001d090: 616c 2065 6e76 6972 6f6e 6d65 6e74 2e20 al environment. │ │ │ │ │ -0001d0a0: 2020 286c 696e 6520 3132 290a 2a20 696e (line 12).* in │ │ │ │ │ -0001d0b0: 7075 743a 2020 2020 2020 2020 2020 2020 put: │ │ │ │ │ +0001d080: 2020 2020 2020 2020 476c 6f62 616c 2065 Global e │ │ │ │ │ +0001d090: 6e76 6972 6f6e 6d65 6e74 2e20 2020 286c nvironment. (l │ │ │ │ │ +0001d0a0: 696e 6520 3132 290a 2a20 696e 7075 743a ine 12).* input: │ │ │ │ │ +0001d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d0c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d0d0: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba │ │ │ │ │ -0001d0e0: 7369 6373 2e20 2020 2020 2028 6c69 6e65 sics. (line │ │ │ │ │ -0001d0f0: 2031 3929 0a2a 2069 6e76 6572 7365 3a20 19).* inverse: │ │ │ │ │ +0001d0d0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics │ │ │ │ │ +0001d0e0: 2e20 2020 2020 2028 6c69 6e65 2031 3929 . (line 19) │ │ │ │ │ +0001d0f0: 0a2a 2069 6e76 6572 7365 3a20 2020 2020 .* inverse: │ │ │ │ │ 0001d100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d110: 2020 2020 2020 2020 2020 2020 2020 556e Un │ │ │ │ │ -0001d120: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. │ │ │ │ │ -0001d130: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* │ │ │ │ │ -0001d140: 6c61 6e67 7561 6765 3a20 2020 2020 2020 language: │ │ │ │ │ +0001d110: 2020 2020 2020 2020 2020 556e 6172 7920 Unary │ │ │ │ │ +0001d120: 666f 726d 732e 2020 2020 2020 2020 2020 forms. │ │ │ │ │ +0001d130: 286c 696e 6520 3231 290a 2a20 6c61 6e67 (line 21).* lang │ │ │ │ │ +0001d140: 7561 6765 3a20 2020 2020 2020 2020 2020 uage: │ │ │ │ │ 0001d150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d160: 2020 2020 2020 204c 616e 6775 6167 652e Language. │ │ │ │ │ -0001d170: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001d180: 6e65 2020 3629 0a2a 206c 6174 6578 3a20 ne 6).* latex: │ │ │ │ │ +0001d160: 2020 204c 616e 6775 6167 652e 2020 2020 Language. │ │ │ │ │ +0001d170: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0001d180: 3629 0a2a 206c 6174 6578 3a20 2020 2020 6).* latex: │ │ │ │ │ 0001d190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d1a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d1b0: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. │ │ │ │ │ -0001d1c0: 2020 2020 2020 286c 696e 6520 3137 290a (line 17). │ │ │ │ │ -0001d1d0: 2a20 6c61 793a 2020 2020 2020 2020 2020 * lay: │ │ │ │ │ +0001d1a0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ +0001d1b0: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. │ │ │ │ │ +0001d1c0: 2020 286c 696e 6520 3137 290a 2a20 6c61 (line 17).* la │ │ │ │ │ +0001d1d0: 793a 2020 2020 2020 2020 2020 2020 2020 y: │ │ │ │ │ 0001d1e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d1f0: 2020 2020 2020 2020 2053 7065 6369 616c Special │ │ │ │ │ -0001d200: 206f 626a 6563 7473 2e20 2020 2020 2028 objects. ( │ │ │ │ │ -0001d210: 6c69 6e65 2034 3829 0a2a 206c 6179 203c line 48).* lay < │ │ │ │ │ -0001d220: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -0001d230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d240: 2020 5469 6b5a 2f50 4746 2075 7365 722d TikZ/PGF user- │ │ │ │ │ -0001d250: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined styles.. │ │ │ │ │ +0001d1f0: 2020 2020 2053 7065 6369 616c 206f 626a Special obj │ │ │ │ │ +0001d200: 6563 7473 2e20 2020 2020 2028 6c69 6e65 ects. (line │ │ │ │ │ +0001d210: 2034 3829 0a2a 206c 6179 203c 313e 3a20 48).* lay <1>: │ │ │ │ │ +0001d220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d230: 2020 2020 2020 2020 2020 2020 2020 5469 Ti │ │ │ │ │ +0001d240: 6b5a 2f50 4746 2075 7365 722d 6465 6669 kZ/PGF user-defi │ │ │ │ │ +0001d250: 6e65 6420 7374 796c 6573 2e0a 2020 2020 ned styles.. │ │ │ │ │ 0001d260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d290: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0001d2a0: 6c69 6e65 2033 3629 0a2a 206c 6179 203c line 36).* lay < │ │ │ │ │ -0001d2b0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -0001d2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d2d0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ -0001d2e0: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26 │ │ │ │ │ -0001d2f0: 290a 2a20 6c61 7920 3c33 3e3a 2020 2020 ).* lay <3>: │ │ │ │ │ +0001d290: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001d2a0: 2033 3629 0a2a 206c 6179 203c 323e 3a20 36).* lay <2>: │ │ │ │ │ +0001d2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d2c0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ +0001d2d0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ +0001d2e0: 672e 2020 286c 696e 6520 3236 290a 2a20 g. (line 26).* │ │ │ │ │ +0001d2f0: 6c61 7920 3c33 3e3a 2020 2020 2020 2020 lay <3>: │ │ │ │ │ 0001d300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d310: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001d320: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001d330: 2028 6c69 6e65 2032 3629 0a2a 206c 6179 (line 26).* lay │ │ │ │ │ -0001d340: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ +0001d310: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ +0001d320: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ +0001d330: 6e65 2032 3629 0a2a 206c 6179 203c 343e ne 26).* lay <4> │ │ │ │ │ +0001d340: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ 0001d350: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d360: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001d370: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ -0001d380: 3935 290a 2a20 6c61 7920 3c35 3e3a 2020 95).* lay <5>: │ │ │ │ │ +0001d360: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ +0001d370: 696e 672e 2020 286c 696e 6520 3935 290a ing. (line 95). │ │ │ │ │ +0001d380: 2a20 6c61 7920 3c35 3e3a 2020 2020 2020 * lay <5>: │ │ │ │ │ 0001d390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d3a0: 2020 2020 2020 2020 2020 2020 2049 6e74 Int │ │ │ │ │ -0001d3b0: 6572 6e61 6c20 6f70 7469 6f6e 732e 2020 ernal options. │ │ │ │ │ -0001d3c0: 2020 2028 6c69 6e65 2020 3729 0a2a 206c (line 7).* l │ │ │ │ │ -0001d3d0: 6179 203c 363e 3a20 2020 2020 2020 2020 ay <6>: │ │ │ │ │ +0001d3a0: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna │ │ │ │ │ +0001d3b0: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. ( │ │ │ │ │ +0001d3c0: 6c69 6e65 2020 3729 0a2a 206c 6179 203c line 7).* lay < │ │ │ │ │ +0001d3d0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: │ │ │ │ │ 0001d3e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d3f0: 2020 2020 2020 5370 6563 6961 6c73 2e20 Specials. │ │ │ │ │ -0001d400: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0001d410: 6520 3432 290a 2a20 6c61 7920 3c37 3e3a e 42).* lay <7>: │ │ │ │ │ +0001d3f0: 2020 5370 6563 6961 6c73 2e20 2020 2020 Specials. │ │ │ │ │ +0001d400: 2020 2020 2020 2020 286c 696e 6520 3432 (line 42 │ │ │ │ │ +0001d410: 290a 2a20 6c61 7920 3c37 3e3a 2020 2020 ).* lay <7>: │ │ │ │ │ 0001d420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d430: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ -0001d440: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. │ │ │ │ │ -0001d450: 2020 2020 2028 6c69 6e65 2031 3329 0a2a (line 13).* │ │ │ │ │ -0001d460: 206c 696e 653a 2020 2020 2020 2020 2020 line: │ │ │ │ │ +0001d430: 2020 2020 2020 2020 2020 2047 6c6f 6261 Globa │ │ │ │ │ +0001d440: 6c20 6f70 7469 6f6e 732e 2020 2020 2020 l options. │ │ │ │ │ +0001d450: 2028 6c69 6e65 2031 3329 0a2a 206c 696e (line 13).* lin │ │ │ │ │ +0001d460: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ 0001d470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d480: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ -0001d490: 6f70 7469 6f6e 732e 2020 2020 2020 286c options. (l │ │ │ │ │ -0001d4a0: 696e 6520 2037 290a 2a20 6c69 6e65 203c ine 7).* line < │ │ │ │ │ -0001d4b0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -0001d4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d4d0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -0001d4e0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10) │ │ │ │ │ -0001d4f0: 0a2a 206c 696e 6520 3c32 3e3a 2020 2020 .* line <2>: │ │ │ │ │ +0001d480: 2020 2020 4472 6177 696e 6720 6f70 7469 Drawing opti │ │ │ │ │ +0001d490: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line │ │ │ │ │ +0001d4a0: 2037 290a 2a20 6c69 6e65 203c 313e 3a20 7).* line <1>: │ │ │ │ │ +0001d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d4c0: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +0001d4d0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +0001d4e0: 2020 2028 6c69 6e65 2031 3029 0a2a 206c (line 10).* l │ │ │ │ │ +0001d4f0: 696e 6520 3c32 3e3a 2020 2020 2020 2020 ine <2>: │ │ │ │ │ 0001d500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d510: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -0001d520: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ -0001d530: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. │ │ │ │ │ +0001d510: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ +0001d520: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ +0001d530: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. │ │ │ │ │ 0001d540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d570: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10) │ │ │ │ │ -0001d580: 0a2a 206c 696e 6520 3c33 3e3a 2020 2020 .* line <3>: │ │ │ │ │ +0001d570: 2020 2028 6c69 6e65 2031 3029 0a2a 206c (line 10).* l │ │ │ │ │ +0001d580: 696e 6520 3c33 3e3a 2020 2020 2020 2020 ine <3>: │ │ │ │ │ 0001d590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d5a0: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine │ │ │ │ │ -0001d5b0: 2061 7269 7468 6d65 7469 632e 2020 2020 arithmetic. │ │ │ │ │ -0001d5c0: 286c 696e 6520 3131 290a 2a20 6c69 6e65 (line 11).* line │ │ │ │ │ -0001d5d0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -0001d5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d5f0: 2020 204c 696e 6573 2e20 2020 2020 2020 Lines. │ │ │ │ │ -0001d600: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001d610: 3629 0a2a 206c 696e 6520 3c35 3e3a 2020 6).* line <5>: │ │ │ │ │ +0001d5a0: 2020 2020 2020 4166 6669 6e65 2061 7269 Affine ari │ │ │ │ │ +0001d5b0: 7468 6d65 7469 632e 2020 2020 286c 696e thmetic. (lin │ │ │ │ │ +0001d5c0: 6520 3131 290a 2a20 6c69 6e65 203c 343e e 11).* line <4> │ │ │ │ │ +0001d5d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d5e0: 2020 2020 2020 2020 2020 2020 2020 204c L │ │ │ │ │ +0001d5f0: 696e 6573 2e20 2020 2020 2020 2020 2020 ines. │ │ │ │ │ +0001d600: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ +0001d610: 206c 696e 6520 3c35 3e3a 2020 2020 2020 line <5>: │ │ │ │ │ 0001d620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d630: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -0001d640: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. │ │ │ │ │ -0001d650: 2020 286c 696e 6520 2037 290a 2a20 6c69 (line 7).* li │ │ │ │ │ -0001d660: 6e65 203c 363e 3a20 2020 2020 2020 2020 ne <6>: │ │ │ │ │ +0001d630: 2020 2020 2020 2020 5377 6570 7420 626c Swept bl │ │ │ │ │ +0001d640: 6f63 6b73 2e20 2020 2020 2020 2020 286c ocks. (l │ │ │ │ │ +0001d650: 696e 6520 2037 290a 2a20 6c69 6e65 203c ine 7).* line < │ │ │ │ │ +0001d660: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: │ │ │ │ │ 0001d670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d680: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -0001d690: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001d6a0: 2036 3929 0a2a 206c 696e 6520 3c37 3e3a 69).* line <7>: │ │ │ │ │ +0001d680: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ +0001d690: 2020 2020 2020 2028 6c69 6e65 2036 3929 (line 69) │ │ │ │ │ +0001d6a0: 0a2a 206c 696e 6520 3c37 3e3a 2020 2020 .* line <7>: │ │ │ │ │ 0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d6c0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001d6d0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001d6e0: 672e 2020 286c 696e 6520 3230 290a 2a20 g. (line 20).* │ │ │ │ │ -0001d6f0: 6c69 6e65 203c 383e 3a20 2020 2020 2020 line <8>: │ │ │ │ │ +0001d6c0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ +0001d6d0: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ +0001d6e0: 286c 696e 6520 3230 290a 2a20 6c69 6e65 (line 20).* line │ │ │ │ │ +0001d6f0: 203c 383e 3a20 2020 2020 2020 2020 2020 <8>: │ │ │ │ │ 0001d700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d710: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -0001d720: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ -0001d730: 6e65 2032 3629 0a2a 206c 696e 6520 3c39 ne 26).* line <9 │ │ │ │ │ -0001d740: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001d750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d760: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ -0001d770: 696e 672e 2020 286c 696e 6520 3431 290a ing. (line 41). │ │ │ │ │ -0001d780: 2a20 6c69 6e65 203c 3130 3e3a 2020 2020 * line <10>: │ │ │ │ │ +0001d710: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001d720: 7261 7769 6e67 2e20 2028 6c69 6e65 2032 rawing. (line 2 │ │ │ │ │ +0001d730: 3629 0a2a 206c 696e 6520 3c39 3e3a 2020 6).* line <9>: │ │ │ │ │ +0001d740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d750: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001d760: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001d770: 2020 286c 696e 6520 3431 290a 2a20 6c69 (line 41).* li │ │ │ │ │ +0001d780: 6e65 203c 3130 3e3a 2020 2020 2020 2020 ne <10>: │ │ │ │ │ 0001d790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d7a0: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ -0001d7b0: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ -0001d7c0: 6c69 6e65 2036 3829 0a2a 206c 696e 6520 line 68).* line │ │ │ │ │ -0001d7d0: 3c31 313e 3a20 2020 2020 2020 2020 2020 <11>: │ │ │ │ │ -0001d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d7f0: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ -0001d800: 206d 6f64 656c 2e20 286c 696e 6520 3130 model. (line 10 │ │ │ │ │ -0001d810: 290a 2a20 6c69 6e65 2073 7479 6c65 3a20 ).* line style: │ │ │ │ │ +0001d7a0: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ +0001d7b0: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ +0001d7c0: 2036 3829 0a2a 206c 696e 6520 3c31 313e 68).* line <11> │ │ │ │ │ +0001d7d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d7e0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ +0001d7f0: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ +0001d800: 656c 2e20 286c 696e 6520 3130 290a 2a20 el. (line 10).* │ │ │ │ │ +0001d810: 6c69 6e65 2073 7479 6c65 3a20 2020 2020 line style: │ │ │ │ │ 0001d820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d830: 2020 2020 2020 2020 2020 2054 696b 5a2f TikZ/ │ │ │ │ │ -0001d840: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ -0001d850: 2073 7479 6c65 732e 0a20 2020 2020 2020 styles.. │ │ │ │ │ +0001d830: 2020 2020 2020 2054 696b 5a2f 5047 4620 TikZ/PGF │ │ │ │ │ +0001d840: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ +0001d850: 6c65 732e 0a20 2020 2020 2020 2020 2020 les.. │ │ │ │ │ 0001d860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d890: 2020 2020 2020 2020 286c 696e 6520 3235 (line 25 │ │ │ │ │ -0001d8a0: 290a 2a20 6c69 6e65 636f 6c6f 723a 2020 ).* linecolor: │ │ │ │ │ +0001d890: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* │ │ │ │ │ +0001d8a0: 6c69 6e65 636f 6c6f 723a 2020 2020 2020 linecolor: │ │ │ │ │ 0001d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d8c0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -0001d8d0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -0001d8e0: 2028 6c69 6e65 2031 3029 0a2a 206c 696e (line 10).* lin │ │ │ │ │ -0001d8f0: 6563 6f6c 6f72 203c 313e 3a20 2020 2020 ecolor <1>: │ │ │ │ │ +0001d8c0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +0001d8d0: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li │ │ │ │ │ +0001d8e0: 6e65 2031 3029 0a2a 206c 696e 6563 6f6c ne 10).* linecol │ │ │ │ │ +0001d8f0: 6f72 203c 313e 3a20 2020 2020 2020 2020 or <1>: │ │ │ │ │ 0001d900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d910: 2020 2020 4672 616d 652e 2020 2020 2020 Frame. │ │ │ │ │ -0001d920: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001d930: 3130 290a 2a20 6c69 6e65 636f 6c6f 7220 10).* linecolor │ │ │ │ │ -0001d940: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -0001d950: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ -0001d960: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -0001d970: 2020 2028 6c69 6e65 2036 3929 0a2a 206c (line 69).* l │ │ │ │ │ -0001d980: 696e 6573 7479 6c65 3a20 2020 2020 2020 inestyle: │ │ │ │ │ +0001d910: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. │ │ │ │ │ +0001d920: 2020 2020 2020 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ +0001d930: 2a20 6c69 6e65 636f 6c6f 7220 3c32 3e3a * linecolor <2>: │ │ │ │ │ +0001d940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d950: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ +0001d960: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ +0001d970: 6c69 6e65 2036 3929 0a2a 206c 696e 6573 line 69).* lines │ │ │ │ │ +0001d980: 7479 6c65 3a20 2020 2020 2020 2020 2020 tyle: │ │ │ │ │ 0001d990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d9a0: 2020 2020 2020 4672 616d 652e 2020 2020 Frame. │ │ │ │ │ -0001d9b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0001d9c0: 6520 3130 290a 2a20 6c69 6e65 7374 796c e 10).* linestyl │ │ │ │ │ -0001d9d0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ -0001d9e0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -0001d9f0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ -0001da00: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).* │ │ │ │ │ -0001da10: 206c 696e 6573 7479 6c65 203c 323e 3a20 linestyle <2>: │ │ │ │ │ +0001d9a0: 2020 4672 616d 652e 2020 2020 2020 2020 Frame. │ │ │ │ │ +0001d9b0: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10 │ │ │ │ │ +0001d9c0: 290a 2a20 6c69 6e65 7374 796c 6520 3c31 ).* linestyle <1 │ │ │ │ │ +0001d9d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d9e0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +0001d9f0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001da00: 2028 6c69 6e65 2036 3929 0a2a 206c 696e (line 69).* lin │ │ │ │ │ +0001da10: 6573 7479 6c65 203c 323e 3a20 2020 2020 estyle <2>: │ │ │ │ │ 0001da20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001da30: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ -0001da40: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l │ │ │ │ │ -0001da50: 696e 6520 3236 290a 2a20 6c69 6e65 7374 ine 26).* linest │ │ │ │ │ -0001da60: 796c 6520 3c33 3e3a 2020 2020 2020 2020 yle <3>: │ │ │ │ │ -0001da70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001da80: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal │ │ │ │ │ -0001da90: 6965 732e 2020 2028 6c69 6e65 2020 3729 ies. (line 7) │ │ │ │ │ -0001daa0: 0a2a 206c 696e 6577 6964 7468 3a20 2020 .* linewidth: │ │ │ │ │ +0001da30: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ +0001da40: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ +0001da50: 3236 290a 2a20 6c69 6e65 7374 796c 6520 26).* linestyle │ │ │ │ │ +0001da60: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +0001da70: 2020 2020 2020 2020 2020 2020 2042 7567 Bug │ │ │ │ │ +0001da80: 7320 616e 6420 616e 6f6d 616c 6965 732e s and anomalies. │ │ │ │ │ +0001da90: 2020 2028 6c69 6e65 2020 3729 0a2a 206c (line 7).* l │ │ │ │ │ +0001daa0: 696e 6577 6964 7468 3a20 2020 2020 2020 inewidth: │ │ │ │ │ 0001dab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dac0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -0001dad0: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. │ │ │ │ │ -0001dae0: 286c 696e 6520 2039 290a 2a20 6c69 6e65 (line 9).* line │ │ │ │ │ -0001daf0: 7769 6474 6820 3c31 3e3a 2020 2020 2020 width <1>: │ │ │ │ │ -0001db00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001db10: 2020 2046 7261 6d65 2e20 2020 2020 2020 Frame. │ │ │ │ │ -0001db20: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001db30: 3029 0a2a 206c 696e 6577 6964 7468 203c 0).* linewidth < │ │ │ │ │ -0001db40: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -0001db50: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ -0001db60: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ -0001db70: 2020 286c 696e 6520 3639 290a 2a20 6c69 (line 69).* li │ │ │ │ │ -0001db80: 6e65 7769 6474 6820 3c33 3e3a 2020 2020 newidth <3>: │ │ │ │ │ +0001dac0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ +0001dad0: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin │ │ │ │ │ +0001dae0: 6520 2039 290a 2a20 6c69 6e65 7769 6474 e 9).* linewidt │ │ │ │ │ +0001daf0: 6820 3c31 3e3a 2020 2020 2020 2020 2020 h <1>: │ │ │ │ │ +0001db00: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ +0001db10: 7261 6d65 2e20 2020 2020 2020 2020 2020 rame. │ │ │ │ │ +0001db20: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).* │ │ │ │ │ +0001db30: 206c 696e 6577 6964 7468 203c 323e 3a20 linewidth <2>: │ │ │ │ │ +0001db40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001db50: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ +0001db60: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ +0001db70: 696e 6520 3639 290a 2a20 6c69 6e65 7769 ine 69).* linewi │ │ │ │ │ +0001db80: 6474 6820 3c33 3e3a 2020 2020 2020 2020 dth <3>: │ │ │ │ │ 0001db90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dba0: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -0001dbb0: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ -0001dbc0: 2032 3629 0a2a 206f 7061 6369 7479 3a20 26).* opacity: │ │ │ │ │ +0001dba0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ +0001dbb0: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26) │ │ │ │ │ +0001dbc0: 0a2a 206f 7061 6369 7479 3a20 2020 2020 .* opacity: │ │ │ │ │ 0001dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dbe0: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ -0001dbf0: 616e 7370 6172 656e 6379 2e20 2020 2020 ansparency. │ │ │ │ │ -0001dc00: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ -0001dc10: 7065 7273 7065 6374 6976 653a 2020 2020 perspective: │ │ │ │ │ +0001dbe0: 2020 2020 2020 2020 2020 5472 616e 7370 Transp │ │ │ │ │ +0001dbf0: 6172 656e 6379 2e20 2020 2020 2020 2020 arency. │ │ │ │ │ +0001dc00: 286c 696e 6520 3130 290a 2a20 7065 7273 (line 10).* pers │ │ │ │ │ +0001dc10: 7065 6374 6976 653a 2020 2020 2020 2020 pective: │ │ │ │ │ 0001dc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dc30: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ -0001dc40: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li │ │ │ │ │ -0001dc50: 6e65 2032 3129 0a2a 2070 6963 7475 7265 ne 21).* picture │ │ │ │ │ -0001dc60: 626f 783a 2020 2020 2020 2020 2020 2020 box: │ │ │ │ │ -0001dc70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dc80: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. │ │ │ │ │ -0001dc90: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ -0001dca0: 2a20 706f 696e 7420 6c69 7374 3a20 2020 * point list: │ │ │ │ │ +0001dc30: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ +0001dc40: 6572 616c 732e 2020 2028 6c69 6e65 2032 erals. (line 2 │ │ │ │ │ +0001dc50: 3129 0a2a 2070 6963 7475 7265 626f 783a 1).* picturebox: │ │ │ │ │ +0001dc60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dc70: 2020 2020 2020 2020 2020 2020 5069 6374 Pict │ │ │ │ │ +0001dc80: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. │ │ │ │ │ +0001dc90: 2020 286c 696e 6520 2036 290a 2a20 706f (line 6).* po │ │ │ │ │ +0001dca0: 696e 7420 6c69 7374 3a20 2020 2020 2020 int list: │ │ │ │ │ 0001dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dcc0: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna │ │ │ │ │ -0001dcd0: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. ( │ │ │ │ │ -0001dce0: 6c69 6e65 2032 3429 0a2a 2070 6f6c 7967 line 24).* polyg │ │ │ │ │ -0001dcf0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ -0001dd00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dd10: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ -0001dd20: 2020 2020 2020 2020 286c 696e 6520 3338 (line 38 │ │ │ │ │ -0001dd30: 290a 2a20 706f 6c79 676f 6e20 3c31 3e3a ).* polygon <1>: │ │ │ │ │ +0001dcc0: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op │ │ │ │ │ +0001dcd0: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line │ │ │ │ │ +0001dce0: 2032 3429 0a2a 2070 6f6c 7967 6f6e 3a20 24).* polygon: │ │ │ │ │ +0001dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dd00: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ +0001dd10: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ +0001dd20: 2020 2020 286c 696e 6520 3338 290a 2a20 (line 38).* │ │ │ │ │ +0001dd30: 706f 6c79 676f 6e20 3c31 3e3a 2020 2020 polygon <1>: │ │ │ │ │ 0001dd40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dd50: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ -0001dd60: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ -0001dd70: 2028 6c69 6e65 2020 3929 0a2a 2070 6f6c (line 9).* pol │ │ │ │ │ -0001dd80: 7967 6f6e 203c 323e 3a20 2020 2020 2020 ygon <2>: │ │ │ │ │ +0001dd50: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ +0001dd60: 2073 6f6c 6964 2e20 2020 2020 2028 6c69 solid. (li │ │ │ │ │ +0001dd70: 6e65 2020 3929 0a2a 2070 6f6c 7967 6f6e ne 9).* polygon │ │ │ │ │ +0001dd80: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ 0001dd90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dda0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ -0001ddb0: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line │ │ │ │ │ -0001ddc0: 3130 290a 2a20 706f 6c79 676f 6e20 3c33 10).* polygon <3 │ │ │ │ │ -0001ddd0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001dde0: 2020 2020 2020 2020 2020 2020 2041 6666 Aff │ │ │ │ │ -0001ddf0: 696e 6520 6172 6974 686d 6574 6963 2e20 ine arithmetic. │ │ │ │ │ -0001de00: 2020 2028 6c69 6e65 2031 3129 0a2a 2070 (line 11).* p │ │ │ │ │ -0001de10: 6f6c 7967 6f6e 203c 343e 3a20 2020 2020 olygon <4>: │ │ │ │ │ +0001dda0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ +0001ddb0: 732e 2020 2020 286c 696e 6520 3130 290a s. (line 10). │ │ │ │ │ +0001ddc0: 2a20 706f 6c79 676f 6e20 3c33 3e3a 2020 * polygon <3>: │ │ │ │ │ +0001ddd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dde0: 2020 2020 2020 2020 2041 6666 696e 6520 Affine │ │ │ │ │ +0001ddf0: 6172 6974 686d 6574 6963 2e20 2020 2028 arithmetic. ( │ │ │ │ │ +0001de00: 6c69 6e65 2031 3129 0a2a 2070 6f6c 7967 line 11).* polyg │ │ │ │ │ +0001de10: 6f6e 203c 343e 3a20 2020 2020 2020 2020 on <4>: │ │ │ │ │ 0001de20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001de30: 2020 2020 2020 506f 6c79 676f 6e73 2e20 Polygons. │ │ │ │ │ -0001de40: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0001de50: 6520 2036 290a 2a20 706f 6c79 676f 6e20 e 6).* polygon │ │ │ │ │ -0001de60: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ -0001de70: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0001de80: 7765 7074 2062 6c6f 636b 732e 2020 2020 wept blocks. │ │ │ │ │ -0001de90: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).* │ │ │ │ │ -0001dea0: 2070 6f6c 7967 6f6e 203c 363e 3a20 2020 polygon <6>: │ │ │ │ │ +0001de30: 2020 506f 6c79 676f 6e73 2e20 2020 2020 Polygons. │ │ │ │ │ +0001de40: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +0001de50: 290a 2a20 706f 6c79 676f 6e20 3c35 3e3a ).* polygon <5>: │ │ │ │ │ +0001de60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001de70: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +0001de80: 2062 6c6f 636b 732e 2020 2020 2020 2020 blocks. │ │ │ │ │ +0001de90: 2028 6c69 6e65 2020 3729 0a2a 2070 6f6c (line 7).* pol │ │ │ │ │ +0001dea0: 7967 6f6e 203c 363e 3a20 2020 2020 2020 ygon <6>: │ │ │ │ │ 0001deb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dec0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ -0001ded0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ -0001dee0: 696e 6520 3337 290a 2a20 7072 6f6a 6563 ine 37).* projec │ │ │ │ │ -0001def0: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ -0001df00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001df10: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -0001df20: 616c 732e 2020 2028 6c69 6e65 2031 3829 als. (line 18) │ │ │ │ │ -0001df30: 0a2a 2070 726f 6a65 6374 203c 313e 3a20 .* project <1>: │ │ │ │ │ +0001dec0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ +0001ded0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001dee0: 3337 290a 2a20 7072 6f6a 6563 743a 2020 37).* project: │ │ │ │ │ +0001def0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001df00: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +0001df10: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ +0001df20: 2020 2028 6c69 6e65 2031 3829 0a2a 2070 (line 18).* p │ │ │ │ │ +0001df30: 726f 6a65 6374 203c 313e 3a20 2020 2020 roject <1>: │ │ │ │ │ 0001df40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001df50: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -0001df60: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. │ │ │ │ │ -0001df70: 286c 696e 6520 3139 290a 2a20 7072 6f6a (line 19).* proj │ │ │ │ │ -0001df80: 6563 7420 3c32 3e3a 2020 2020 2020 2020 ect <2>: │ │ │ │ │ -0001df90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dfa0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -0001dfb0: 6572 616c 732e 2020 2028 6c69 6e65 2034 erals. (line 4 │ │ │ │ │ -0001dfc0: 3729 0a2a 2070 7374 7269 636b 733a 2020 7).* pstricks: │ │ │ │ │ +0001df50: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +0001df60: 6c69 7465 7261 6c73 2e20 2020 286c 696e literals. (lin │ │ │ │ │ +0001df70: 6520 3139 290a 2a20 7072 6f6a 6563 7420 e 19).* project │ │ │ │ │ +0001df80: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001df90: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +0001dfa0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ +0001dfb0: 732e 2020 2028 6c69 6e65 2034 3729 0a2a s. (line 47).* │ │ │ │ │ +0001dfc0: 2070 7374 7269 636b 733a 2020 2020 2020 pstricks: │ │ │ │ │ 0001dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dfe0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ -0001dff0: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. │ │ │ │ │ -0001e000: 2020 286c 696e 6520 3130 290a 2a20 7075 (line 10).* pu │ │ │ │ │ -0001e010: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +0001dfe0: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language │ │ │ │ │ +0001dff0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ +0001e000: 696e 6520 3130 290a 2a20 7075 743a 2020 ine 10).* put: │ │ │ │ │ +0001e010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001e020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e030: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -0001e040: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line │ │ │ │ │ -0001e050: 2031 3029 0a2a 2070 7574 203c 313e 3a20 10).* put <1>: │ │ │ │ │ +0001e030: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +0001e040: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10) │ │ │ │ │ +0001e050: 0a2a 2070 7574 203c 313e 3a20 2020 2020 .* put <1>: │ │ │ │ │ 0001e060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e070: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne │ │ │ │ │ -0001e080: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. │ │ │ │ │ -0001e090: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* │ │ │ │ │ -0001e0a0: 7075 7420 3c32 3e3a 2020 2020 2020 2020 put <2>: │ │ │ │ │ +0001e070: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested │ │ │ │ │ +0001e080: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. │ │ │ │ │ +0001e090: 286c 696e 6520 3235 290a 2a20 7075 7420 (line 25).* put │ │ │ │ │ +0001e0a0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ 0001e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e0c0: 2020 2020 2020 2050 7574 732e 2020 2020 Puts. │ │ │ │ │ -0001e0d0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001e0e0: 6e65 2020 3629 0a2a 2070 7574 203c 333e ne 6).* put <3> │ │ │ │ │ -0001e0f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001e100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e110: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ -0001e120: 6f64 656c 2e20 286c 696e 6520 3332 290a odel. (line 32). │ │ │ │ │ -0001e130: 2a20 7265 7065 6174 3a20 2020 2020 2020 * repeat: │ │ │ │ │ +0001e0c0: 2020 2050 7574 732e 2020 2020 2020 2020 Puts. │ │ │ │ │ +0001e0d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0001e0e0: 3629 0a2a 2070 7574 203c 333e 3a20 2020 6).* put <3>: │ │ │ │ │ +0001e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e100: 2020 2020 2020 2020 2020 2020 4120 6869 A hi │ │ │ │ │ +0001e110: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ +0001e120: 2e20 286c 696e 6520 3332 290a 2a20 7265 . (line 32).* re │ │ │ │ │ +0001e130: 7065 6174 3a20 2020 2020 2020 2020 2020 peat: │ │ │ │ │ 0001e140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e150: 2020 2020 2020 2020 2052 6570 6561 7465 Repeate │ │ │ │ │ -0001e160: 6420 6f62 6a65 6374 732e 2020 2020 2028 d objects. ( │ │ │ │ │ -0001e170: 6c69 6e65 2020 3829 0a2a 2072 6570 6561 line 8).* repea │ │ │ │ │ -0001e180: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: │ │ │ │ │ -0001e190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e1a0: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps. │ │ │ │ │ -0001e1b0: 2020 2020 2020 2020 286c 696e 6520 3235 (line 25 │ │ │ │ │ -0001e1c0: 290a 2a20 7265 7065 6174 203c 323e 3a20 ).* repeat <2>: │ │ │ │ │ +0001e150: 2020 2020 2052 6570 6561 7465 6420 6f62 Repeated ob │ │ │ │ │ +0001e160: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line │ │ │ │ │ +0001e170: 2020 3829 0a2a 2072 6570 6561 7420 3c31 8).* repeat <1 │ │ │ │ │ +0001e180: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001e190: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne │ │ │ │ │ +0001e1a0: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. │ │ │ │ │ +0001e1b0: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* │ │ │ │ │ +0001e1c0: 7265 7065 6174 203c 323e 3a20 2020 2020 repeat <2>: │ │ │ │ │ 0001e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e1e0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl │ │ │ │ │ -0001e1f0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with │ │ │ │ │ -0001e200: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. │ │ │ │ │ +0001e1e0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline │ │ │ │ │ +0001e1f0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ +0001e200: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. │ │ │ │ │ 0001e210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001e220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001e230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e240: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10 │ │ │ │ │ -0001e250: 290a 2a20 7265 7065 6174 203c 333e 3a20 ).* repeat <3>: │ │ │ │ │ +0001e240: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ +0001e250: 7265 7065 6174 203c 333e 3a20 2020 2020 repeat <3>: │ │ │ │ │ 0001e260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e270: 2020 2020 2020 2020 2020 2052 6570 6561 Repea │ │ │ │ │ -0001e280: 7473 2e20 2020 2020 2020 2020 2020 2020 ts. │ │ │ │ │ -0001e290: 2028 6c69 6e65 2020 3629 0a2a 2072 6570 (line 6).* rep │ │ │ │ │ -0001e2a0: 6561 7420 3c34 3e3a 2020 2020 2020 2020 eat <4>: │ │ │ │ │ +0001e270: 2020 2020 2020 2052 6570 6561 7473 2e20 Repeats. │ │ │ │ │ +0001e280: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001e290: 6e65 2020 3629 0a2a 2072 6570 6561 7420 ne 6).* repeat │ │ │ │ │ +0001e2a0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ 0001e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e2c0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ -0001e2d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001e2e0: 3537 290a 2a20 726f 7461 7465 3a20 2020 57).* rotate: │ │ │ │ │ +0001e2c0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ +0001e2d0: 2020 2020 2020 286c 696e 6520 3537 290a (line 57). │ │ │ │ │ +0001e2e0: 2a20 726f 7461 7465 3a20 2020 2020 2020 * rotate: │ │ │ │ │ 0001e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e300: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ -0001e310: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ -0001e320: 2020 2028 6c69 6e65 2031 3029 0a2a 2072 (line 10).* r │ │ │ │ │ -0001e330: 6f74 6174 6520 3c31 3e3a 2020 2020 2020 otate <1>: │ │ │ │ │ +0001e300: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +0001e310: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. ( │ │ │ │ │ +0001e320: 6c69 6e65 2031 3029 0a2a 2072 6f74 6174 line 10).* rotat │ │ │ │ │ +0001e330: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ 0001e340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e350: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ -0001e360: 6e73 666f 726d 732e 2020 2020 286c 696e nsforms. (lin │ │ │ │ │ -0001e370: 6520 3339 290a 2a20 726f 7461 7465 203c e 39).* rotate < │ │ │ │ │ -0001e380: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -0001e390: 2020 2020 2020 2020 2020 2020 2020 2052 R │ │ │ │ │ -0001e3a0: 6570 6561 7465 6420 6f62 6a65 6374 732e epeated objects. │ │ │ │ │ -0001e3b0: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).* │ │ │ │ │ -0001e3c0: 2072 6f74 6174 6520 3c33 3e3a 2020 2020 rotate <3>: │ │ │ │ │ +0001e350: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ +0001e360: 726d 732e 2020 2020 286c 696e 6520 3339 rms. (line 39 │ │ │ │ │ +0001e370: 290a 2a20 726f 7461 7465 203c 323e 3a20 ).* rotate <2>: │ │ │ │ │ +0001e380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e390: 2020 2020 2020 2020 2020 2052 6570 6561 Repea │ │ │ │ │ +0001e3a0: 7465 6420 6f62 6a65 6374 732e 2020 2020 ted objects. │ │ │ │ │ +0001e3b0: 2028 6c69 6e65 2020 3829 0a2a 2072 6f74 (line 8).* rot │ │ │ │ │ +0001e3c0: 6174 6520 3c33 3e3a 2020 2020 2020 2020 ate <3>: │ │ │ │ │ 0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e3e0: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob │ │ │ │ │ -0001e3f0: 6a65 6374 732e 2020 2020 2020 2020 286c jects. (l │ │ │ │ │ -0001e400: 696e 6520 2038 290a 2a20 726f 7461 7465 ine 8).* rotate │ │ │ │ │ -0001e410: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -0001e420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e430: 2050 6f69 6e74 2073 7765 6570 732e 2020 Point sweeps. │ │ │ │ │ -0001e440: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19) │ │ │ │ │ -0001e450: 0a2a 2072 6f74 6174 6520 3c35 3e3a 2020 .* rotate <5>: │ │ │ │ │ +0001e3e0: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object │ │ │ │ │ +0001e3f0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ +0001e400: 2038 290a 2a20 726f 7461 7465 203c 343e 8).* rotate <4> │ │ │ │ │ +0001e410: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001e420: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi │ │ │ │ │ +0001e430: 6e74 2073 7765 6570 732e 2020 2020 2020 nt sweeps. │ │ │ │ │ +0001e440: 2020 2028 6c69 6e65 2031 3929 0a2a 2072 (line 19).* r │ │ │ │ │ +0001e450: 6f74 6174 6520 3c35 3e3a 2020 2020 2020 otate <5>: │ │ │ │ │ 0001e460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e470: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -0001e480: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. │ │ │ │ │ -0001e490: 286c 696e 6520 2039 290a 2a20 726f 7461 (line 9).* rota │ │ │ │ │ -0001e4a0: 7465 203c 363e 3a20 2020 2020 2020 2020 te <6>: │ │ │ │ │ -0001e4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e4c0: 2020 204e 6573 7465 6420 7377 6565 7073 Nested sweeps │ │ │ │ │ -0001e4d0: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ -0001e4e0: 3829 0a2a 2072 6f74 6174 6520 3c37 3e3a 8).* rotate <7>: │ │ │ │ │ +0001e470: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ +0001e480: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin │ │ │ │ │ +0001e490: 6520 2039 290a 2a20 726f 7461 7465 203c e 9).* rotate < │ │ │ │ │ +0001e4a0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: │ │ │ │ │ +0001e4b0: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ +0001e4c0: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. │ │ │ │ │ +0001e4d0: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).* │ │ │ │ │ +0001e4e0: 2072 6f74 6174 6520 3c37 3e3a 2020 2020 rotate <7>: │ │ │ │ │ 0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e500: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ -0001e510: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ -0001e520: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. │ │ │ │ │ +0001e500: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +0001e510: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ +0001e520: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ 0001e530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001e540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001e550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e560: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001e570: 3029 0a2a 2072 6f74 6174 6520 3c38 3e3a 0).* rotate <8>: │ │ │ │ │ +0001e560: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).* │ │ │ │ │ +0001e570: 2072 6f74 6174 6520 3c38 3e3a 2020 2020 rotate <8>: │ │ │ │ │ 0001e580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e590: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -0001e5a0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -0001e5b0: 2020 286c 696e 6520 3130 290a 2a20 726f (line 10).* ro │ │ │ │ │ -0001e5c0: 7461 7465 203c 393e 3a20 2020 2020 2020 tate <9>: │ │ │ │ │ +0001e590: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ +0001e5a0: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l │ │ │ │ │ +0001e5b0: 696e 6520 3130 290a 2a20 726f 7461 7465 ine 10).* rotate │ │ │ │ │ +0001e5c0: 203c 393e 3a20 2020 2020 2020 2020 2020 <9>: │ │ │ │ │ 0001e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e5e0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -0001e5f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001e600: 2035 3729 0a2a 2072 6f74 6174 6520 3c31 57).* rotate <1 │ │ │ │ │ -0001e610: 303e 3a20 2020 2020 2020 2020 2020 2020 0>: │ │ │ │ │ -0001e620: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ -0001e630: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ -0001e640: 2020 2020 286c 696e 6520 3639 290a 2a20 (line 69).* │ │ │ │ │ -0001e650: 726f 7461 7465 203c 3131 3e3a 2020 2020 rotate <11>: │ │ │ │ │ +0001e5e0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ +0001e5f0: 2020 2020 2020 2028 6c69 6e65 2035 3729 (line 57) │ │ │ │ │ +0001e600: 0a2a 2072 6f74 6174 6520 3c31 303e 3a20 .* rotate <10>: │ │ │ │ │ +0001e610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e620: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ +0001e630: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. │ │ │ │ │ +0001e640: 286c 696e 6520 3639 290a 2a20 726f 7461 (line 69).* rota │ │ │ │ │ +0001e650: 7465 203c 3131 3e3a 2020 2020 2020 2020 te <11>: │ │ │ │ │ 0001e660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e670: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -0001e680: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ -0001e690: 6e65 2031 3429 0a2a 2072 6f74 6174 6520 ne 14).* rotate │ │ │ │ │ -0001e6a0: 3c31 323e 3a20 2020 2020 2020 2020 2020 <12>: │ │ │ │ │ -0001e6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e6c0: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ -0001e6d0: 6f64 656c 2e20 286c 696e 6520 3130 290a odel. (line 10). │ │ │ │ │ -0001e6e0: 2a20 726f 7461 7465 203c 3133 3e3a 2020 * rotate <13>: │ │ │ │ │ +0001e670: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001e680: 7261 7769 6e67 2e20 2028 6c69 6e65 2031 rawing. (line 1 │ │ │ │ │ +0001e690: 3429 0a2a 2072 6f74 6174 6520 3c31 323e 4).* rotate <12> │ │ │ │ │ +0001e6a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001e6b0: 2020 2020 2020 2020 2020 2020 4120 6869 A hi │ │ │ │ │ +0001e6c0: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ +0001e6d0: 2e20 286c 696e 6520 3130 290a 2a20 726f . (line 10).* ro │ │ │ │ │ +0001e6e0: 7461 7465 203c 3133 3e3a 2020 2020 2020 tate <13>: │ │ │ │ │ 0001e6f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e700: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -0001e710: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. ( │ │ │ │ │ -0001e720: 6c69 6e65 2032 3329 0a2a 2072 6f74 6174 line 23).* rotat │ │ │ │ │ -0001e730: 6520 3c31 343e 3a20 2020 2020 2020 2020 e <14>: │ │ │ │ │ -0001e740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e750: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ -0001e760: 206d 6f64 656c 2e20 286c 696e 6520 3332 model. (line 32 │ │ │ │ │ -0001e770: 290a 2a20 7363 616c 653a 2020 2020 2020 ).* scale: │ │ │ │ │ +0001e700: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ +0001e710: 6361 6c20 6d6f 6465 6c2e 2028 6c69 6e65 cal model. (line │ │ │ │ │ +0001e720: 2032 3329 0a2a 2072 6f74 6174 6520 3c31 23).* rotate <1 │ │ │ │ │ +0001e730: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: │ │ │ │ │ +0001e740: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ +0001e750: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ +0001e760: 656c 2e20 286c 696e 6520 3332 290a 2a20 el. (line 32).* │ │ │ │ │ +0001e770: 7363 616c 653a 2020 2020 2020 2020 2020 scale: │ │ │ │ │ 0001e780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e790: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -0001e7a0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ -0001e7b0: 2028 6c69 6e65 2031 3629 0a2a 2073 6361 (line 16).* sca │ │ │ │ │ -0001e7c0: 6c65 203c 313e 3a20 2020 2020 2020 2020 le <1>: │ │ │ │ │ +0001e790: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +0001e7a0: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li │ │ │ │ │ +0001e7b0: 6e65 2031 3629 0a2a 2073 6361 6c65 203c ne 16).* scale < │ │ │ │ │ +0001e7c0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ 0001e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e7e0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ -0001e7f0: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line │ │ │ │ │ -0001e800: 3137 290a 2a20 7363 616c 6520 3c32 3e3a 17).* scale <2>: │ │ │ │ │ +0001e7e0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +0001e7f0: 6c73 2e20 2020 286c 696e 6520 3137 290a ls. (line 17). │ │ │ │ │ +0001e800: 2a20 7363 616c 6520 3c32 3e3a 2020 2020 * scale <2>: │ │ │ │ │ 0001e810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e820: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ -0001e830: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -0001e840: 2e20 2028 6c69 6e65 2034 3129 0a2a 2073 . (line 41).* s │ │ │ │ │ -0001e850: 6361 6c65 203c 333e 3a20 2020 2020 2020 cale <3>: │ │ │ │ │ +0001e820: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +0001e830: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ +0001e840: 6c69 6e65 2034 3129 0a2a 2073 6361 6c65 line 41).* scale │ │ │ │ │ +0001e850: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ 0001e860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e870: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ -0001e880: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ -0001e890: 6520 3638 290a 2a20 7363 616c 6520 3c34 e 68).* scale <4 │ │ │ │ │ -0001e8a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001e8b0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -0001e8c0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ -0001e8d0: 6465 6c2e 2028 6c69 6e65 2033 3229 0a2a del. (line 32).* │ │ │ │ │ -0001e8e0: 2073 6574 3a20 2020 2020 2020 2020 2020 set: │ │ │ │ │ +0001e870: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +0001e880: 6177 696e 672e 2020 286c 696e 6520 3638 awing. (line 68 │ │ │ │ │ +0001e890: 290a 2a20 7363 616c 6520 3c34 3e3a 2020 ).* scale <4>: │ │ │ │ │ +0001e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e8b0: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +0001e8c0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +0001e8d0: 2028 6c69 6e65 2033 3229 0a2a 2073 6574 (line 32).* set │ │ │ │ │ +0001e8e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ 0001e8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e900: 2020 2020 2020 2020 476c 6f62 616c 206f Global o │ │ │ │ │ -0001e910: 7074 696f 6e73 2e20 2020 2020 2020 286c ptions. (l │ │ │ │ │ -0001e920: 696e 6520 2036 290a 2a20 7369 6e3a 2020 ine 6).* sin: │ │ │ │ │ +0001e900: 2020 2020 476c 6f62 616c 206f 7074 696f Global optio │ │ │ │ │ +0001e910: 6e73 2e20 2020 2020 2020 286c 696e 6520 ns. (line │ │ │ │ │ +0001e920: 2036 290a 2a20 7369 6e3a 2020 2020 2020 6).* sin: │ │ │ │ │ 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e950: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. │ │ │ │ │ -0001e960: 2020 2020 2020 2028 6c69 6e65 2031 3529 (line 15) │ │ │ │ │ -0001e970: 0a2a 2073 7065 6369 616c 3a20 2020 2020 .* special: │ │ │ │ │ +0001e940: 2020 2020 2020 2020 2020 2020 2055 6e61 Una │ │ │ │ │ +0001e950: 7279 2066 6f72 6d73 2e20 2020 2020 2020 ry forms. │ │ │ │ │ +0001e960: 2020 2028 6c69 6e65 2031 3529 0a2a 2073 (line 15).* s │ │ │ │ │ +0001e970: 7065 6369 616c 3a20 2020 2020 2020 2020 pecial: │ │ │ │ │ 0001e980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e990: 2020 2020 2020 2020 2020 5370 6563 6961 Specia │ │ │ │ │ -0001e9a0: 6c20 6f62 6a65 6374 732e 2020 2020 2020 l objects. │ │ │ │ │ -0001e9b0: 286c 696e 6520 2036 290a 2a20 7370 6563 (line 6).* spec │ │ │ │ │ -0001e9c0: 6961 6c20 3c31 3e3a 2020 2020 2020 2020 ial <1>: │ │ │ │ │ -0001e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e9e0: 2020 2053 7065 6369 616c 732e 2020 2020 Specials. │ │ │ │ │ -0001e9f0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001ea00: 3629 0a2a 2073 7065 6369 616c 203c 323e 6).* special <2> │ │ │ │ │ -0001ea10: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001ea20: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ -0001ea30: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ -0001ea40: 2020 286c 696e 6520 3639 290a 2a20 7370 (line 69).* sp │ │ │ │ │ -0001ea50: 6563 6961 6c20 3c33 3e3a 2020 2020 2020 ecial <3>: │ │ │ │ │ +0001e990: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob │ │ │ │ │ +0001e9a0: 6a65 6374 732e 2020 2020 2020 286c 696e jects. (lin │ │ │ │ │ +0001e9b0: 6520 2036 290a 2a20 7370 6563 6961 6c20 e 6).* special │ │ │ │ │ +0001e9c0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001e9d0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +0001e9e0: 7065 6369 616c 732e 2020 2020 2020 2020 pecials. │ │ │ │ │ +0001e9f0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ +0001ea00: 2073 7065 6369 616c 203c 323e 3a20 2020 special <2>: │ │ │ │ │ +0001ea10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ea20: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ +0001ea30: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ +0001ea40: 696e 6520 3639 290a 2a20 7370 6563 6961 ine 69).* specia │ │ │ │ │ +0001ea50: 6c20 3c33 3e3a 2020 2020 2020 2020 2020 l <3>: │ │ │ │ │ 0001ea60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ea70: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -0001ea80: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ -0001ea90: 2032 3629 0a2a 2073 7065 6369 616c 203c 26).* special < │ │ │ │ │ -0001eaa0: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: │ │ │ │ │ -0001eab0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001eac0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001ead0: 672e 2020 286c 696e 6520 3431 290a 2a20 g. (line 41).* │ │ │ │ │ -0001eae0: 7370 6563 6961 6c20 3c35 3e3a 2020 2020 special <5>: │ │ │ │ │ +0001ea70: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ +0001ea80: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26) │ │ │ │ │ +0001ea90: 0a2a 2073 7065 6369 616c 203c 343e 3a20 .* special <4>: │ │ │ │ │ +0001eaa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001eab0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ +0001eac0: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ +0001ead0: 286c 696e 6520 3431 290a 2a20 7370 6563 (line 41).* spec │ │ │ │ │ +0001eae0: 6961 6c20 3c35 3e3a 2020 2020 2020 2020 ial <5>: │ │ │ │ │ 0001eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eb00: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -0001eb10: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ -0001eb20: 6e65 2036 3829 0a2a 2073 7065 6369 616c ne 68).* special │ │ │ │ │ -0001eb30: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: │ │ │ │ │ -0001eb40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eb50: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ -0001eb60: 696e 672e 2020 286c 696e 6520 3935 290a ing. (line 95). │ │ │ │ │ -0001eb70: 2a20 7370 6c69 743a 2020 2020 2020 2020 * split: │ │ │ │ │ +0001eb00: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001eb10: 7261 7769 6e67 2e20 2028 6c69 6e65 2036 rawing. (line 6 │ │ │ │ │ +0001eb20: 3829 0a2a 2073 7065 6369 616c 203c 363e 8).* special <6> │ │ │ │ │ +0001eb30: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001eb40: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001eb50: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001eb60: 2020 286c 696e 6520 3935 290a 2a20 7370 (line 95).* sp │ │ │ │ │ +0001eb70: 6c69 743a 2020 2020 2020 2020 2020 2020 lit: │ │ │ │ │ 0001eb80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eb90: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna │ │ │ │ │ -0001eba0: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. ( │ │ │ │ │ -0001ebb0: 6c69 6e65 2020 3729 0a2a 2073 706c 6974 line 7).* split │ │ │ │ │ -0001ebc0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -0001ebd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ebe0: 2020 476c 6f62 616c 206f 7074 696f 6e73 Global options │ │ │ │ │ -0001ebf0: 2e20 2020 2020 2020 286c 696e 6520 3133 . (line 13 │ │ │ │ │ -0001ec00: 290a 2a20 7371 7274 3a20 2020 2020 2020 ).* sqrt: │ │ │ │ │ +0001eb90: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op │ │ │ │ │ +0001eba0: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line │ │ │ │ │ +0001ebb0: 2020 3729 0a2a 2073 706c 6974 203c 313e 7).* split <1> │ │ │ │ │ +0001ebc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ebd0: 2020 2020 2020 2020 2020 2020 2020 476c Gl │ │ │ │ │ +0001ebe0: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. │ │ │ │ │ +0001ebf0: 2020 2020 286c 696e 6520 3133 290a 2a20 (line 13).* │ │ │ │ │ +0001ec00: 7371 7274 3a20 2020 2020 2020 2020 2020 sqrt: │ │ │ │ │ 0001ec10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ec20: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary │ │ │ │ │ -0001ec30: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. │ │ │ │ │ -0001ec40: 2028 6c69 6e65 2031 3429 0a2a 2073 7765 (line 14).* swe │ │ │ │ │ -0001ec50: 6570 3a20 2020 2020 2020 2020 2020 2020 ep: │ │ │ │ │ +0001ec20: 2020 2020 2020 2055 6e61 7279 2066 6f72 Unary for │ │ │ │ │ +0001ec30: 6d73 2e20 2020 2020 2020 2020 2028 6c69 ms. (li │ │ │ │ │ +0001ec40: 6e65 2031 3429 0a2a 2073 7765 6570 3a20 ne 14).* sweep: │ │ │ │ │ +0001ec50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ec60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ec70: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object │ │ │ │ │ -0001ec80: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ -0001ec90: 2038 290a 2a20 7377 6565 7020 3c31 3e3a 8).* sweep <1>: │ │ │ │ │ +0001ec70: 5377 6570 7420 6f62 6a65 6374 732e 2020 Swept objects. │ │ │ │ │ +0001ec80: 2020 2020 2020 286c 696e 6520 2038 290a (line 8). │ │ │ │ │ +0001ec90: 2a20 7377 6565 7020 3c31 3e3a 2020 2020 * sweep <1>: │ │ │ │ │ 0001eca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ecb0: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi │ │ │ │ │ -0001ecc0: 6e74 2073 7765 6570 732e 2020 2020 2020 nt sweeps. │ │ │ │ │ -0001ecd0: 2020 2028 6c69 6e65 2031 3929 0a2a 2073 (line 19).* s │ │ │ │ │ -0001ece0: 7765 6570 203c 323e 3a20 2020 2020 2020 weep <2>: │ │ │ │ │ +0001ecb0: 2020 2020 2020 2020 2050 6f69 6e74 2073 Point s │ │ │ │ │ +0001ecc0: 7765 6570 732e 2020 2020 2020 2020 2028 weeps. ( │ │ │ │ │ +0001ecd0: 6c69 6e65 2031 3929 0a2a 2073 7765 6570 line 19).* sweep │ │ │ │ │ +0001ece0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ 0001ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ed00: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -0001ed10: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin │ │ │ │ │ -0001ed20: 6520 2039 290a 2a20 7377 6565 7020 3c33 e 9).* sweep <3 │ │ │ │ │ -0001ed30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001ed40: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ -0001ed50: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. │ │ │ │ │ -0001ed60: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).* │ │ │ │ │ -0001ed70: 2073 7765 6570 203c 343e 3a20 2020 2020 sweep <4>: │ │ │ │ │ +0001ed00: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ +0001ed10: 732e 2020 2020 2020 286c 696e 6520 2039 s. (line 9 │ │ │ │ │ +0001ed20: 290a 2a20 7377 6565 7020 3c33 3e3a 2020 ).* sweep <3>: │ │ │ │ │ +0001ed30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ed40: 2020 2020 2020 2020 2020 204e 6573 7465 Neste │ │ │ │ │ +0001ed50: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. │ │ │ │ │ +0001ed60: 2028 6c69 6e65 2020 3829 0a2a 2073 7765 (line 8).* swe │ │ │ │ │ +0001ed70: 6570 203c 343e 3a20 2020 2020 2020 2020 ep <4>: │ │ │ │ │ 0001ed80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ed90: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s │ │ │ │ │ -0001eda0: 7765 6570 732e 2020 2020 2020 2020 286c weeps. (l │ │ │ │ │ -0001edb0: 696e 6520 3232 290a 2a20 7377 6565 7020 ine 22).* sweep │ │ │ │ │ -0001edc0: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ -0001edd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ede0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ -0001edf0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. │ │ │ │ │ +0001ed90: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep │ │ │ │ │ +0001eda0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ +0001edb0: 3232 290a 2a20 7377 6565 7020 3c35 3e3a 22).* sweep <5>: │ │ │ │ │ +0001edc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001edd0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ +0001ede0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +0001edf0: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. │ │ │ │ │ 0001ee00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ee10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ee20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ee30: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001ee40: 696e 6520 3130 290a 2a20 7377 6565 7020 ine 10).* sweep │ │ │ │ │ -0001ee50: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: │ │ │ │ │ -0001ee60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ee70: 2053 7765 6570 732e 2020 2020 2020 2020 Sweeps. │ │ │ │ │ -0001ee80: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ -0001ee90: 0a2a 2073 7765 6570 203c 373e 3a20 2020 .* sweep <7>: │ │ │ │ │ +0001ee30: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001ee40: 3130 290a 2a20 7377 6565 7020 3c36 3e3a 10).* sweep <6>: │ │ │ │ │ +0001ee50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ee60: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +0001ee70: 6570 732e 2020 2020 2020 2020 2020 2020 eps. │ │ │ │ │ +0001ee80: 2020 2028 6c69 6e65 2020 3629 0a2a 2073 (line 6).* s │ │ │ │ │ +0001ee90: 7765 6570 203c 373e 3a20 2020 2020 2020 weep <7>: │ │ │ │ │ 0001eea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eeb0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ -0001eec0: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ -0001eed0: 286c 696e 6520 3230 290a 2a20 7377 6565 (line 20).* swee │ │ │ │ │ -0001eee0: 7020 3c38 3e3a 2020 2020 2020 2020 2020 p <8>: │ │ │ │ │ -0001eef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef00: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ -0001ef10: 6c20 6d6f 6465 6c2e 2028 6c69 6e65 2031 l model. (line 1 │ │ │ │ │ -0001ef20: 3029 0a2a 2073 7765 6570 203c 393e 3a20 0).* sweep <9>: │ │ │ │ │ +0001eeb0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ +0001eec0: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ +0001eed0: 6520 3230 290a 2a20 7377 6565 7020 3c38 e 20).* sweep <8 │ │ │ │ │ +0001eee0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001eef0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001ef00: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +0001ef10: 6465 6c2e 2028 6c69 6e65 2031 3029 0a2a del. (line 10).* │ │ │ │ │ +0001ef20: 2073 7765 6570 203c 393e 3a20 2020 2020 sweep <9>: │ │ │ │ │ 0001ef30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef40: 2020 2020 2020 2020 2020 2020 4120 6869 A hi │ │ │ │ │ -0001ef50: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ -0001ef60: 2e20 286c 696e 6520 3233 290a 2a20 7468 . (line 23).* th │ │ │ │ │ -0001ef70: 656e 3a20 2020 2020 2020 2020 2020 2020 en: │ │ │ │ │ +0001ef40: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar │ │ │ │ │ +0001ef50: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l │ │ │ │ │ +0001ef60: 696e 6520 3233 290a 2a20 7468 656e 3a20 ine 23).* then: │ │ │ │ │ +0001ef70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ef80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef90: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -0001efa0: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line │ │ │ │ │ -0001efb0: 2031 3029 0a2a 2074 6865 6e20 3c31 3e3a 10).* then <1>: │ │ │ │ │ +0001ef90: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +0001efa0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10) │ │ │ │ │ +0001efb0: 0a2a 2074 6865 6e20 3c31 3e3a 2020 2020 .* then <1>: │ │ │ │ │ 0001efc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001efd0: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -0001efe0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ -0001eff0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ +0001efd0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ +0001efe0: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ +0001eff0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. │ │ │ │ │ 0001f000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f030: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001f040: 2031 3029 0a2a 2074 6865 6e20 3c32 3e3a 10).* then <2>: │ │ │ │ │ +0001f030: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10) │ │ │ │ │ +0001f040: 0a2a 2074 6865 6e20 3c32 3e3a 2020 2020 .* then <2>: │ │ │ │ │ 0001f050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f060: 2020 2020 2020 2020 2020 2020 2020 5477 Tw │ │ │ │ │ -0001f070: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ -0001f080: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ +0001f060: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ +0001f070: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ +0001f080: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ 0001f090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f0a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f0c0: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3 │ │ │ │ │ -0001f0d0: 3629 0a2a 2074 6865 6e20 3c33 3e3a 2020 6).* then <3>: │ │ │ │ │ +0001f0c0: 2020 2020 2028 6c69 6e65 2033 3629 0a2a (line 36).* │ │ │ │ │ +0001f0d0: 2074 6865 6e20 3c33 3e3a 2020 2020 2020 then <3>: │ │ │ │ │ 0001f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f0f0: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ -0001f100: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ -0001f110: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ +0001f0f0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ +0001f100: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ +0001f110: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ 0001f120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f150: 2020 2020 2020 2028 6c69 6e65 2036 3329 (line 63) │ │ │ │ │ -0001f160: 0a2a 2074 696b 7a3a 2020 2020 2020 2020 .* tikz: │ │ │ │ │ +0001f150: 2020 2028 6c69 6e65 2036 3329 0a2a 2074 (line 63).* t │ │ │ │ │ +0001f160: 696b 7a3a 2020 2020 2020 2020 2020 2020 ikz: │ │ │ │ │ 0001f170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f180: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua │ │ │ │ │ -0001f190: 6765 2e20 2020 2020 2020 2020 2020 2020 ge. │ │ │ │ │ -0001f1a0: 286c 696e 6520 3130 290a 2a20 7472 616e (line 10).* tran │ │ │ │ │ -0001f1b0: 736c 6174 653a 2020 2020 2020 2020 2020 slate: │ │ │ │ │ -0001f1c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f1d0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ -0001f1e0: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1 │ │ │ │ │ -0001f1f0: 3029 0a2a 2074 7261 6e73 6c61 7465 203c 0).* translate < │ │ │ │ │ -0001f200: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -0001f210: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje │ │ │ │ │ -0001f220: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. │ │ │ │ │ -0001f230: 2020 286c 696e 6520 3437 290a 2a20 7472 (line 47).* tr │ │ │ │ │ -0001f240: 616e 736c 6174 6520 3c32 3e3a 2020 2020 anslate <2>: │ │ │ │ │ +0001f180: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. │ │ │ │ │ +0001f190: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001f1a0: 6520 3130 290a 2a20 7472 616e 736c 6174 e 10).* translat │ │ │ │ │ +0001f1b0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +0001f1c0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +0001f1d0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ +0001f1e0: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).* │ │ │ │ │ +0001f1f0: 2074 7261 6e73 6c61 7465 203c 313e 3a20 translate <1>: │ │ │ │ │ +0001f200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f210: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ +0001f220: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l │ │ │ │ │ +0001f230: 696e 6520 3437 290a 2a20 7472 616e 736c ine 47).* transl │ │ │ │ │ +0001f240: 6174 6520 3c32 3e3a 2020 2020 2020 2020 ate <2>: │ │ │ │ │ 0001f250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f260: 2020 2020 2052 6570 6561 7465 6420 6f62 Repeated ob │ │ │ │ │ -0001f270: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line │ │ │ │ │ -0001f280: 2020 3829 0a2a 2074 7261 6e73 6c61 7465 8).* translate │ │ │ │ │ -0001f290: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ -0001f2a0: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -0001f2b0: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ -0001f2c0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ -0001f2d0: 7472 616e 736c 6174 6520 3c34 3e3a 2020 translate <4>: │ │ │ │ │ +0001f260: 2052 6570 6561 7465 6420 6f62 6a65 6374 Repeated object │ │ │ │ │ +0001f270: 732e 2020 2020 2028 6c69 6e65 2020 3829 s. (line 8) │ │ │ │ │ +0001f280: 0a2a 2074 7261 6e73 6c61 7465 203c 333e .* translate <3> │ │ │ │ │ +0001f290: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001f2a0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ +0001f2b0: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. │ │ │ │ │ +0001f2c0: 286c 696e 6520 2039 290a 2a20 7472 616e (line 9).* tran │ │ │ │ │ +0001f2d0: 736c 6174 6520 3c34 3e3a 2020 2020 2020 slate <4>: │ │ │ │ │ 0001f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f2f0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline │ │ │ │ │ -0001f300: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ -0001f310: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. │ │ │ │ │ +0001f2f0: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ +0001f300: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure. │ │ │ │ │ +0001f310: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 0001f320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f350: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ -0001f360: 7472 616e 736c 6174 6520 3c35 3e3a 2020 translate <5>: │ │ │ │ │ +0001f350: 286c 696e 6520 3130 290a 2a20 7472 616e (line 10).* tran │ │ │ │ │ +0001f360: 736c 6174 6520 3c35 3e3a 2020 2020 2020 slate <5>: │ │ │ │ │ 0001f370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f380: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ -0001f390: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li │ │ │ │ │ -0001f3a0: 6e65 2031 3529 0a2a 2074 7261 6e73 6c61 ne 15).* transla │ │ │ │ │ -0001f3b0: 7465 203c 363e 3a20 2020 2020 2020 2020 te <6>: │ │ │ │ │ -0001f3c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f3d0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -0001f3e0: 2020 2020 2020 286c 696e 6520 3537 290a (line 57). │ │ │ │ │ -0001f3f0: 2a20 7472 616e 736c 6174 6520 3c37 3e3a * translate <7>: │ │ │ │ │ +0001f380: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ +0001f390: 6572 616c 732e 2020 2028 6c69 6e65 2031 erals. (line 1 │ │ │ │ │ +0001f3a0: 3529 0a2a 2074 7261 6e73 6c61 7465 203c 5).* translate < │ │ │ │ │ +0001f3b0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: │ │ │ │ │ +0001f3c0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ +0001f3d0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ +0001f3e0: 2020 286c 696e 6520 3537 290a 2a20 7472 (line 57).* tr │ │ │ │ │ +0001f3f0: 616e 736c 6174 6520 3c37 3e3a 2020 2020 anslate <7>: │ │ │ │ │ 0001f400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f410: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -0001f420: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ -0001f430: 6c69 6e65 2036 3929 0a2a 2074 7261 6e73 line 69).* trans │ │ │ │ │ -0001f440: 6c61 7465 203c 383e 3a20 2020 2020 2020 late <8>: │ │ │ │ │ -0001f450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f460: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ -0001f470: 206d 6f64 656c 2e20 286c 696e 6520 3332 model. (line 32 │ │ │ │ │ -0001f480: 290a 2a20 7472 616e 7370 616c 7068 613a ).* transpalpha: │ │ │ │ │ +0001f410: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ +0001f420: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001f430: 2036 3929 0a2a 2074 7261 6e73 6c61 7465 69).* translate │ │ │ │ │ +0001f440: 203c 383e 3a20 2020 2020 2020 2020 2020 <8>: │ │ │ │ │ +0001f450: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ +0001f460: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ +0001f470: 656c 2e20 286c 696e 6520 3332 290a 2a20 el. (line 32).* │ │ │ │ │ +0001f480: 7472 616e 7370 616c 7068 613a 2020 2020 transpalpha: │ │ │ │ │ 0001f490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f4a0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -0001f4b0: 7061 7265 6e63 792e 2020 2020 2020 2020 parency. │ │ │ │ │ -0001f4c0: 2028 6c69 6e65 2031 3029 0a2a 2075 6e69 (line 10).* uni │ │ │ │ │ -0001f4d0: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +0001f4a0: 2020 2020 2020 2054 7261 6e73 7061 7265 Transpare │ │ │ │ │ +0001f4b0: 6e63 792e 2020 2020 2020 2020 2028 6c69 ncy. (li │ │ │ │ │ +0001f4c0: 6e65 2031 3029 0a2a 2075 6e69 743a 2020 ne 10).* unit: │ │ │ │ │ +0001f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f4f0: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms. │ │ │ │ │ -0001f500: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001f510: 3133 290a 2a20 756e 6974 203c 313e 3a20 13).* unit <1>: │ │ │ │ │ +0001f4f0: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. │ │ │ │ │ +0001f500: 2020 2020 2020 286c 696e 6520 3133 290a (line 13). │ │ │ │ │ +0001f510: 2a20 756e 6974 203c 313e 3a20 2020 2020 * unit <1>: │ │ │ │ │ 0001f520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f530: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ -0001f540: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -0001f550: 2e20 2028 6c69 6e65 2034 3129 0a2a 2076 . (line 41).* v │ │ │ │ │ -0001f560: 6965 773a 2020 2020 2020 2020 2020 2020 iew: │ │ │ │ │ +0001f530: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +0001f540: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ +0001f550: 6c69 6e65 2034 3129 0a2a 2076 6965 773a line 41).* view: │ │ │ │ │ +0001f560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f570: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f580: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ -0001f590: 6c69 7465 7261 6c73 2e20 2020 286c 696e literals. (lin │ │ │ │ │ -0001f5a0: 6520 3235 290a 2a20 7669 6577 203c 313e e 25).* view <1> │ │ │ │ │ -0001f5b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001f5c0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0001f5d0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -0001f5e0: 732e 2020 2028 6c69 6e65 2033 3529 0a0a s. (line 35).. │ │ │ │ │ -0001f5f0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -0001f600: 6e66 6f2c 2020 4e6f 6465 3a20 496e 6465 nfo, Node: Inde │ │ │ │ │ -0001f610: 782c 2020 5072 6576 3a20 496e 6465 7820 x, Prev: Index │ │ │ │ │ -0001f620: 6f66 2073 796e 7461 782c 2020 5570 3a20 of syntax, Up: │ │ │ │ │ -0001f630: 546f 700a 0a49 6e64 6578 206f 6620 636f Top..Index of co │ │ │ │ │ -0001f640: 6e63 6570 7473 0a2a 2a2a 2a2a 2a2a 2a2a ncepts.********* │ │ │ │ │ -0001f650: 2a2a 2a2a 2a2a 2a2a 0a0a 0008 5b69 6e64 ********....[ind │ │ │ │ │ -0001f660: 6578 0008 5d0a 2a20 4d65 6e75 3a0a 0a2a ex..].* Menu:..* │ │ │ │ │ -0001f670: 2061 6666 696e 6520 6172 6974 686d 6574 affine arithmet │ │ │ │ │ -0001f680: 6963 3a20 2020 2020 2020 2020 2020 2020 ic: │ │ │ │ │ -0001f690: 2020 2020 2020 2020 4166 6669 6e65 2061 Affine a │ │ │ │ │ -0001f6a0: 7269 7468 6d65 7469 632e 2020 2028 6c69 rithmetic. (li │ │ │ │ │ -0001f6b0: 6e65 2020 2038 290a 2a20 6166 6669 6e65 ne 8).* affine │ │ │ │ │ -0001f6c0: 2061 7269 7468 6d65 7469 6320 3c31 3e3a arithmetic <1>: │ │ │ │ │ -0001f6d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f6e0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ -0001f6f0: 7769 6e67 2e20 286c 696e 6520 2034 3029 wing. (line 40) │ │ │ │ │ -0001f700: 0a2a 2061 6c74 6572 6e61 7469 7665 732c .* alternatives, │ │ │ │ │ -0001f710: 2064 6566 696e 6974 696f 6e3a 2020 2020 definition: │ │ │ │ │ -0001f720: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ -0001f730: 6f66 2064 6566 696e 6974 696f 6e73 2e0a of definitions.. │ │ │ │ │ +0001f580: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ +0001f590: 7261 6c73 2e20 2020 286c 696e 6520 3235 rals. (line 25 │ │ │ │ │ +0001f5a0: 290a 2a20 7669 6577 203c 313e 3a20 2020 ).* view <1>: │ │ │ │ │ +0001f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f5c0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +0001f5d0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +0001f5e0: 2028 6c69 6e65 2033 3529 0a0a 1f0a 4669 (line 35)....Fi │ │ │ │ │ +0001f5f0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +0001f600: 2020 4e6f 6465 3a20 496e 6465 782c 2020 Node: Index, │ │ │ │ │ +0001f610: 5072 6576 3a20 496e 6465 7820 6f66 2073 Prev: Index of s │ │ │ │ │ +0001f620: 796e 7461 782c 2020 5570 3a20 546f 700a yntax, Up: Top. │ │ │ │ │ +0001f630: 0a49 6e64 6578 206f 6620 636f 6e63 6570 .Index of concep │ │ │ │ │ +0001f640: 7473 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ts.************* │ │ │ │ │ +0001f650: 2a2a 2a2a 0a0a 0008 5b69 6e64 6578 0008 ****....[index.. │ │ │ │ │ +0001f660: 5d0a 2a20 4d65 6e75 3a0a 0a2a 2061 6666 ].* Menu:..* aff │ │ │ │ │ +0001f670: 696e 6520 6172 6974 686d 6574 6963 3a20 ine arithmetic: │ │ │ │ │ +0001f680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f690: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith │ │ │ │ │ +0001f6a0: 6d65 7469 632e 2020 2028 6c69 6e65 2020 metic. (line │ │ │ │ │ +0001f6b0: 2038 290a 2a20 6166 6669 6e65 2061 7269 8).* affine ari │ │ │ │ │ +0001f6c0: 7468 6d65 7469 6320 3c31 3e3a 2020 2020 thmetic <1>: │ │ │ │ │ +0001f6d0: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ +0001f6e0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +0001f6f0: 2e20 286c 696e 6520 2034 3029 0a2a 2061 . (line 40).* a │ │ │ │ │ +0001f700: 6c74 6572 6e61 7469 7665 732c 2064 6566 lternatives, def │ │ │ │ │ +0001f710: 696e 6974 696f 6e3a 2020 2020 2020 2020 inition: │ │ │ │ │ +0001f720: 2020 2020 2020 466f 726d 7320 6f66 2064 Forms of d │ │ │ │ │ +0001f730: 6566 696e 6974 696f 6e73 2e0a 2020 2020 efinitions.. │ │ │ │ │ 0001f740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f770: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001f780: 696e 6520 2020 3629 0a2a 2061 7267 756d ine 6).* argum │ │ │ │ │ -0001f790: 656e 742c 2073 7065 6369 616c 3a20 2020 ent, special: │ │ │ │ │ -0001f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f7b0: 2020 5370 6563 6961 6c20 6f62 6a65 6374 Special object │ │ │ │ │ -0001f7c0: 732e 2020 2020 2028 6c69 6e65 2020 3235 s. (line 25 │ │ │ │ │ -0001f7d0: 290a 2a20 6172 6775 6d65 6e74 2c20 7370 ).* argument, sp │ │ │ │ │ -0001f7e0: 6563 6961 6c20 3c31 3e3a 2020 2020 2020 ecial <1>: │ │ │ │ │ -0001f7f0: 2020 2020 2020 2020 2020 2053 7065 6369 Speci │ │ │ │ │ -0001f800: 616c 732e 2020 2020 2020 2020 2020 2020 als. │ │ │ │ │ -0001f810: 286c 696e 6520 2031 3029 0a2a 2061 7373 (line 10).* ass │ │ │ │ │ -0001f820: 6f63 6961 7469 7669 7479 2c20 6f70 6572 ociativity, oper │ │ │ │ │ -0001f830: 6174 6f72 3a20 2020 2020 2020 2020 2020 ator: │ │ │ │ │ -0001f840: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ -0001f850: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ +0001f770: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001f780: 2020 3629 0a2a 2061 7267 756d 656e 742c 6).* argument, │ │ │ │ │ +0001f790: 2073 7065 6369 616c 3a20 2020 2020 2020 special: │ │ │ │ │ +0001f7a0: 2020 2020 2020 2020 2020 2020 2020 5370 Sp │ │ │ │ │ +0001f7b0: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. │ │ │ │ │ +0001f7c0: 2020 2028 6c69 6e65 2020 3235 290a 2a20 (line 25).* │ │ │ │ │ +0001f7d0: 6172 6775 6d65 6e74 2c20 7370 6563 6961 argument, specia │ │ │ │ │ +0001f7e0: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: │ │ │ │ │ +0001f7f0: 2020 2020 2020 2053 7065 6369 616c 732e Specials. │ │ │ │ │ +0001f800: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001f810: 6520 2031 3029 0a2a 2061 7373 6f63 6961 e 10).* associa │ │ │ │ │ +0001f820: 7469 7669 7479 2c20 6f70 6572 6174 6f72 tivity, operator │ │ │ │ │ +0001f830: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001f840: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ +0001f850: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ 0001f860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f890: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001f8a0: 696e 6520 2035 3829 0a2a 2061 7869 732c ine 58).* axis, │ │ │ │ │ -0001f8b0: 2072 6f74 6174 696f 6e3a 2020 2020 2020 rotation: │ │ │ │ │ -0001f8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f8d0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ -0001f8e0: 726d 732e 2020 2028 6c69 6e65 2020 3430 rms. (line 40 │ │ │ │ │ -0001f8f0: 290a 2a20 6261 636b 2066 6163 653a 2020 ).* back face: │ │ │ │ │ +0001f890: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001f8a0: 2035 3829 0a2a 2061 7869 732c 2072 6f74 58).* axis, rot │ │ │ │ │ +0001f8b0: 6174 696f 6e3a 2020 2020 2020 2020 2020 ation: │ │ │ │ │ +0001f8c0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob │ │ │ │ │ +0001f8d0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ +0001f8e0: 2020 2028 6c69 6e65 2020 3430 290a 2a20 (line 40).* │ │ │ │ │ +0001f8f0: 6261 636b 2066 6163 653a 2020 2020 2020 back face: │ │ │ │ │ 0001f900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f910: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ -0001f920: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ -0001f930: 286c 696e 6520 2033 3529 0a2a 2062 6173 (line 35).* bas │ │ │ │ │ -0001f940: 656c 696e 6520 6672 6163 7469 6f6e 3a20 eline fraction: │ │ │ │ │ +0001f910: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ +0001f920: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin │ │ │ │ │ +0001f930: 6520 2033 3529 0a2a 2062 6173 656c 696e e 35).* baselin │ │ │ │ │ +0001f940: 6520 6672 6163 7469 6f6e 3a20 2020 2020 e fraction: │ │ │ │ │ 0001f950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f960: 2020 2020 5069 6374 7572 6520 626f 782e Picture box. │ │ │ │ │ -0001f970: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001f980: 3130 290a 2a20 6269 6e61 7279 2066 6f72 10).* binary for │ │ │ │ │ -0001f990: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ -0001f9a0: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ -0001f9b0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ -0001f9c0: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ +0001f960: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. │ │ │ │ │ +0001f970: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10). │ │ │ │ │ +0001f980: 2a20 6269 6e61 7279 2066 6f72 6d3a 2020 * binary form: │ │ │ │ │ +0001f990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f9a0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ +0001f9b0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ +0001f9c0: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ 0001f9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f9f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fa00: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -0001fa10: 290a 2a20 6269 6e61 7279 2073 7061 6365 ).* binary space │ │ │ │ │ -0001fa20: 2070 6172 7469 7469 6f6e 3a20 2020 2020 partition: │ │ │ │ │ -0001fa30: 2020 2020 2020 2020 2020 2048 6964 6465 Hidde │ │ │ │ │ -0001fa40: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ -0001fa50: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +0001fa00: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +0001fa10: 6269 6e61 7279 2073 7061 6365 2070 6172 binary space par │ │ │ │ │ +0001fa20: 7469 7469 6f6e 3a20 2020 2020 2020 2020 tition: │ │ │ │ │ +0001fa30: 2020 2020 2020 2048 6964 6465 6e20 7375 Hidden su │ │ │ │ │ +0001fa40: 7266 6163 6520 7265 6d6f 7661 6c2e 0a20 rface removal.. │ │ │ │ │ +0001fa50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fa60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fa70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fa80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fa90: 2028 6c69 6e65 2020 3233 290a 2a20 6269 (line 23).* bi │ │ │ │ │ -0001faa0: 6e61 7279 2073 7061 6365 2070 6172 7469 nary space parti │ │ │ │ │ -0001fab0: 7469 6f6e 203c 313e 3a20 2020 2020 2020 tion <1>: │ │ │ │ │ -0001fac0: 2020 2020 2053 7461 7469 7374 6963 732e Statistics. │ │ │ │ │ -0001fad0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001fae0: 2031 3329 0a2a 2062 696e 6172 7920 7370 13).* binary sp │ │ │ │ │ -0001faf0: 6163 6520 7061 7274 6974 696f 6e20 3c32 ace partition <2 │ │ │ │ │ -0001fb00: 3e3a 2020 2020 2020 2020 2020 2020 436f >: Co │ │ │ │ │ -0001fb10: 6d6d 616e 6420 6c69 6e65 2e20 2020 2020 mmand line. │ │ │ │ │ -0001fb20: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* │ │ │ │ │ -0001fb30: 626c 6f63 6b3a 2020 2020 2020 2020 2020 block: │ │ │ │ │ +0001fa80: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001fa90: 6e65 2020 3233 290a 2a20 6269 6e61 7279 ne 23).* binary │ │ │ │ │ +0001faa0: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition │ │ │ │ │ +0001fab0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001fac0: 2053 7461 7469 7374 6963 732e 2020 2020 Statistics. │ │ │ │ │ +0001fad0: 2020 2020 2020 286c 696e 6520 2031 3329 (line 13) │ │ │ │ │ +0001fae0: 0a2a 2062 696e 6172 7920 7370 6163 6520 .* binary space │ │ │ │ │ +0001faf0: 7061 7274 6974 696f 6e20 3c32 3e3a 2020 partition <2>: │ │ │ │ │ +0001fb00: 2020 2020 2020 2020 2020 436f 6d6d 616e Comman │ │ │ │ │ +0001fb10: 6420 6c69 6e65 2e20 2020 2020 2020 2028 d line. ( │ │ │ │ │ +0001fb20: 6c69 6e65 2020 3236 290a 2a20 626c 6f63 line 26).* bloc │ │ │ │ │ +0001fb30: 6b3a 2020 2020 2020 2020 2020 2020 2020 k: │ │ │ │ │ 0001fb40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fb50: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ -0001fb60: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ -0001fb70: 6520 2032 3429 0a2a 2062 6c6f 636b 203c e 24).* block < │ │ │ │ │ -0001fb80: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -0001fb90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fba0: 5377 6570 7420 626c 6f63 6b73 2e20 2020 Swept blocks. │ │ │ │ │ -0001fbb0: 2020 2020 2028 6c69 6e65 2020 2037 290a (line 7). │ │ │ │ │ -0001fbc0: 2a20 626c 6f63 6b20 3c32 3e3a 2020 2020 * block <2>: │ │ │ │ │ +0001fb50: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +0001fb60: 6f72 6d73 2e20 2020 286c 696e 6520 2032 orms. (line 2 │ │ │ │ │ +0001fb70: 3429 0a2a 2062 6c6f 636b 203c 313e 3a20 4).* block <1>: │ │ │ │ │ +0001fb80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001fb90: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +0001fba0: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. │ │ │ │ │ +0001fbb0: 2028 6c69 6e65 2020 2037 290a 2a20 626c (line 7).* bl │ │ │ │ │ +0001fbc0: 6f63 6b20 3c32 3e3a 2020 2020 2020 2020 ock <2>: │ │ │ │ │ 0001fbd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fbe0: 2020 2020 2020 2020 2042 6c6f 636b 732e Blocks. │ │ │ │ │ -0001fbf0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001fc00: 696e 6520 2020 3629 0a2a 2062 6c6f 636b ine 6).* block │ │ │ │ │ -0001fc10: 2073 7765 6570 3a20 2020 2020 2020 2020 sweep: │ │ │ │ │ -0001fc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fc30: 2020 5377 6570 7420 626c 6f63 6b73 2e20 Swept blocks. │ │ │ │ │ -0001fc40: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -0001fc50: 290a 2a20 626f 6479 2070 6f6c 7967 6f6e ).* body polygon │ │ │ │ │ -0001fc60: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001fc70: 2020 2020 2020 2020 2020 2049 6e74 6572 Inter │ │ │ │ │ -0001fc80: 6e61 6c20 6f70 7469 6f6e 732e 2020 2020 nal options. │ │ │ │ │ -0001fc90: 286c 696e 6520 2031 3629 0a2a 2062 6f64 (line 16).* bod │ │ │ │ │ -0001fca0: 7920 706f 6c79 676f 6e20 3c31 3e3a 2020 y polygon <1>: │ │ │ │ │ +0001fbe0: 2020 2020 2042 6c6f 636b 732e 2020 2020 Blocks. │ │ │ │ │ +0001fbf0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001fc00: 2020 3629 0a2a 2062 6c6f 636b 2073 7765 6).* block swe │ │ │ │ │ +0001fc10: 6570 3a20 2020 2020 2020 2020 2020 2020 ep: │ │ │ │ │ +0001fc20: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +0001fc30: 6570 7420 626c 6f63 6b73 2e20 2020 2020 ept blocks. │ │ │ │ │ +0001fc40: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +0001fc50: 626f 6479 2070 6f6c 7967 6f6e 3a20 2020 body polygon: │ │ │ │ │ +0001fc60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001fc70: 2020 2020 2020 2049 6e74 6572 6e61 6c20 Internal │ │ │ │ │ +0001fc80: 6f70 7469 6f6e 732e 2020 2020 286c 696e options. (lin │ │ │ │ │ +0001fc90: 6520 2031 3629 0a2a 2062 6f64 7920 706f e 16).* body po │ │ │ │ │ +0001fca0: 6c79 676f 6e20 3c31 3e3a 2020 2020 2020 lygon <1>: │ │ │ │ │ 0001fcb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fcc0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines. │ │ │ │ │ -0001fcd0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001fce0: 3130 290a 2a20 626f 6479 2070 6f6c 7967 10).* body polyg │ │ │ │ │ -0001fcf0: 6f6e 203c 323e 3a20 2020 2020 2020 2020 on <2>: │ │ │ │ │ -0001fd00: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -0001fd10: 7074 2070 6f6c 7967 6f6e 732e 2020 2020 pt polygons. │ │ │ │ │ -0001fd20: 2020 286c 696e 6520 2020 3929 0a2a 2062 (line 9).* b │ │ │ │ │ -0001fd30: 6f75 6e64 696e 6720 626f 783a 2020 2020 ounding box: │ │ │ │ │ +0001fcc0: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ +0001fcd0: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10). │ │ │ │ │ +0001fce0: 2a20 626f 6479 2070 6f6c 7967 6f6e 203c * body polygon < │ │ │ │ │ +0001fcf0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +0001fd00: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ +0001fd10: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l │ │ │ │ │ +0001fd20: 696e 6520 2020 3929 0a2a 2062 6f75 6e64 ine 9).* bound │ │ │ │ │ +0001fd30: 696e 6720 626f 783a 2020 2020 2020 2020 ing box: │ │ │ │ │ 0001fd40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fd50: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo │ │ │ │ │ -0001fd60: 782e 2020 2020 2020 2020 2028 6c69 6e65 x. (line │ │ │ │ │ -0001fd70: 2020 3135 290a 2a20 4253 502c 2062 696e 15).* BSP, bin │ │ │ │ │ -0001fd80: 6172 7920 7370 6163 6520 7061 7274 6974 ary space partit │ │ │ │ │ -0001fd90: 696f 6e3a 2020 2020 2020 2020 2020 2048 ion: H │ │ │ │ │ -0001fda0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re │ │ │ │ │ -0001fdb0: 6d6f 7661 6c2e 0a20 2020 2020 2020 2020 moval.. │ │ │ │ │ +0001fd50: 2020 5069 6374 7572 6520 626f 782e 2020 Picture box. │ │ │ │ │ +0001fd60: 2020 2020 2020 2028 6c69 6e65 2020 3135 (line 15 │ │ │ │ │ +0001fd70: 290a 2a20 4253 502c 2062 696e 6172 7920 ).* BSP, binary │ │ │ │ │ +0001fd80: 7370 6163 6520 7061 7274 6974 696f 6e3a space partition: │ │ │ │ │ +0001fd90: 2020 2020 2020 2020 2020 2048 6964 6465 Hidde │ │ │ │ │ +0001fda0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ +0001fdb0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ 0001fdc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fdd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fde0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fdf0: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23). │ │ │ │ │ -0001fe00: 2a20 4253 502c 2062 696e 6172 7920 7370 * BSP, binary sp │ │ │ │ │ -0001fe10: 6163 6520 7061 7274 6974 696f 6e20 3c31 ace partition <1 │ │ │ │ │ -0001fe20: 3e3a 2020 2020 2020 2043 6f6d 6d61 6e64 >: Command │ │ │ │ │ -0001fe30: 206c 696e 652e 2020 2020 2020 2020 286c line. (l │ │ │ │ │ -0001fe40: 696e 6520 2032 3629 0a2a 2063 616d 6572 ine 26).* camer │ │ │ │ │ -0001fe50: 613a 2020 2020 2020 2020 2020 2020 2020 a: │ │ │ │ │ -0001fe60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fe70: 2020 4361 6d65 7261 2e20 2020 2020 2020 Camera. │ │ │ │ │ -0001fe80: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -0001fe90: 290a 2a20 6365 6e74 6572 206f 6620 726f ).* center of ro │ │ │ │ │ -0001fea0: 7461 7469 6f6e 3a20 2020 2020 2020 2020 tation: │ │ │ │ │ -0001feb0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -0001fec0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -0001fed0: 286c 696e 6520 2020 3829 0a2a 2063 656e (line 8).* cen │ │ │ │ │ -0001fee0: 7465 7220 6f66 2072 6f74 6174 696f 6e20 ter of rotation │ │ │ │ │ -0001fef0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -0001ff00: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep │ │ │ │ │ -0001ff10: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line │ │ │ │ │ -0001ff20: 2036 290a 2a20 6365 6e74 726f 6964 3a20 6).* centroid: │ │ │ │ │ +0001fdf0: 2028 6c69 6e65 2020 3233 290a 2a20 4253 (line 23).* BS │ │ │ │ │ +0001fe00: 502c 2062 696e 6172 7920 7370 6163 6520 P, binary space │ │ │ │ │ +0001fe10: 7061 7274 6974 696f 6e20 3c31 3e3a 2020 partition <1>: │ │ │ │ │ +0001fe20: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin │ │ │ │ │ +0001fe30: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line │ │ │ │ │ +0001fe40: 2032 3629 0a2a 2063 616d 6572 613a 2020 26).* camera: │ │ │ │ │ +0001fe50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001fe60: 2020 2020 2020 2020 2020 2020 2020 4361 Ca │ │ │ │ │ +0001fe70: 6d65 7261 2e20 2020 2020 2020 2020 2020 mera. │ │ │ │ │ +0001fe80: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +0001fe90: 6365 6e74 6572 206f 6620 726f 7461 7469 center of rotati │ │ │ │ │ +0001fea0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +0001feb0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +0001fec0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ +0001fed0: 6520 2020 3829 0a2a 2063 656e 7465 7220 e 8).* center │ │ │ │ │ +0001fee0: 6f66 2072 6f74 6174 696f 6e20 3c31 3e3a of rotation <1>: │ │ │ │ │ +0001fef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ff00: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. │ │ │ │ │ +0001ff10: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +0001ff20: 2a20 6365 6e74 726f 6964 3a20 2020 2020 * centroid: │ │ │ │ │ 0001ff30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ff40: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ -0001ff50: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -0001ff60: 2e20 286c 696e 6520 2036 3429 0a2a 2063 . (line 64).* c │ │ │ │ │ -0001ff70: 656e 7472 6f69 6420 3c31 3e3a 2020 2020 entroid <1>: │ │ │ │ │ +0001ff40: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +0001ff50: 6963 616c 2064 7261 7769 6e67 2e20 286c ical drawing. (l │ │ │ │ │ +0001ff60: 696e 6520 2036 3429 0a2a 2063 656e 7472 ine 64).* centr │ │ │ │ │ +0001ff70: 6f69 6420 3c31 3e3a 2020 2020 2020 2020 oid <1>: │ │ │ │ │ 0001ff80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ff90: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ -0001ffa0: 6c20 6472 6177 696e 672e 2028 6c69 6e65 l drawing. (line │ │ │ │ │ -0001ffb0: 2031 3032 290a 2a20 636c 6970 7069 6e67 102).* clipping │ │ │ │ │ -0001ffc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001ffd0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001ffe0: 6963 7475 7265 2062 6f78 2e20 2020 2020 icture box. │ │ │ │ │ -0001fff0: 2020 2020 286c 696e 6520 2031 3729 0a2a (line 17).* │ │ │ │ │ -00020000: 2063 6c69 7070 696e 6720 3c31 3e3a 2020 clipping <1>: │ │ │ │ │ +0001ff90: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +0001ffa0: 6177 696e 672e 2028 6c69 6e65 2031 3032 awing. (line 102 │ │ │ │ │ +0001ffb0: 290a 2a20 636c 6970 7069 6e67 3a20 2020 ).* clipping: │ │ │ │ │ +0001ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ffd0: 2020 2020 2020 2020 2020 2050 6963 7475 Pictu │ │ │ │ │ +0001ffe0: 7265 2062 6f78 2e20 2020 2020 2020 2020 re box. │ │ │ │ │ +0001fff0: 286c 696e 6520 2031 3729 0a2a 2063 6c69 (line 17).* cli │ │ │ │ │ +00020000: 7070 696e 6720 3c31 3e3a 2020 2020 2020 pping <1>: │ │ │ │ │ 00020010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020020: 2020 2020 2020 2020 436c 6970 7069 6e67 Clipping │ │ │ │ │ -00020030: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ -00020040: 6e65 2020 2036 290a 2a20 636c 6f73 7572 ne 6).* closur │ │ │ │ │ -00020050: 6520 7461 672c 203c 3e3a 2020 2020 2020 e tag, <>: │ │ │ │ │ -00020060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020070: 2050 6f69 6e74 2073 7765 6570 732e 2020 Point sweeps. │ │ │ │ │ -00020080: 2020 2020 2020 286c 696e 6520 2031 3829 (line 18) │ │ │ │ │ -00020090: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, │ │ │ │ │ -000200a0: 3c3e 203c 313e 3a20 2020 2020 2020 2020 <> <1>: │ │ │ │ │ -000200b0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -000200c0: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ -000200d0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. │ │ │ │ │ +00020020: 2020 2020 436c 6970 7069 6e67 2e20 2020 Clipping. │ │ │ │ │ +00020030: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00020040: 2036 290a 2a20 636c 6f73 7572 6520 7461 6).* closure ta │ │ │ │ │ +00020050: 672c 203c 3e3a 2020 2020 2020 2020 2020 g, <>: │ │ │ │ │ +00020060: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi │ │ │ │ │ +00020070: 6e74 2073 7765 6570 732e 2020 2020 2020 nt sweeps. │ │ │ │ │ +00020080: 2020 286c 696e 6520 2031 3829 0a2a 2063 (line 18).* c │ │ │ │ │ +00020090: 6c6f 7375 7265 2074 6167 2c20 3c3e 203c losure tag, <> < │ │ │ │ │ +000200a0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +000200b0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ +000200c0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ +000200d0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. │ │ │ │ │ 000200e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000200f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020110: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00020120: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, │ │ │ │ │ -00020130: 3c3e 203c 323e 3a20 2020 2020 2020 2020 <> <2>: │ │ │ │ │ -00020140: 2020 2020 2020 2020 2020 5377 6565 7073 Sweeps │ │ │ │ │ -00020150: 2e20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ │ │ -00020160: 6c69 6e65 2020 3139 290a 2a20 636c 6f73 line 19).* clos │ │ │ │ │ -00020170: 7572 6520 7461 672c 203c 3e20 3c33 3e3a ure tag, <> <3>: │ │ │ │ │ -00020180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020190: 2020 2053 7765 7074 2070 6f69 6e74 732e Swept points. │ │ │ │ │ -000201a0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -000201b0: 3629 0a2a 2063 6c6f 7375 7265 2074 6167 6).* closure tag │ │ │ │ │ -000201c0: 2c20 3c3e 203c 343e 3a20 2020 2020 2020 , <> <4>: │ │ │ │ │ -000201d0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -000201e0: 7420 706f 696e 7473 2e20 2020 2020 2020 t points. │ │ │ │ │ -000201f0: 2028 6c69 6e65 2020 3133 290a 2a20 636c (line 13).* cl │ │ │ │ │ -00020200: 6f73 7572 6520 7461 672c 203c 3e20 3c35 osure tag, <> <5 │ │ │ │ │ -00020210: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00020220: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines │ │ │ │ │ -00020230: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ -00020240: 2020 3629 0a2a 2063 6c6f 7375 7265 2074 6).* closure t │ │ │ │ │ -00020250: 6167 2c20 3c3e 203c 363e 3a20 2020 2020 ag, <> <6>: │ │ │ │ │ -00020260: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -00020270: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. │ │ │ │ │ -00020280: 2020 2028 6c69 6e65 2020 3238 290a 2a20 (line 28).* │ │ │ │ │ -00020290: 636c 6f73 7572 6520 7461 672c 203c 3e20 closure tag, <> │ │ │ │ │ -000202a0: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: │ │ │ │ │ -000202b0: 2020 2020 2020 2053 7765 6570 2066 6163 Sweep fac │ │ │ │ │ -000202c0: 6520 7370 6c69 7474 696e 672e 0a20 2020 e splitting.. │ │ │ │ │ +00020110: 2020 286c 696e 6520 2020 3629 0a2a 2063 (line 6).* c │ │ │ │ │ +00020120: 6c6f 7375 7265 2074 6167 2c20 3c3e 203c losure tag, <> < │ │ │ │ │ +00020130: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +00020140: 2020 2020 2020 5377 6565 7073 2e20 2020 Sweeps. │ │ │ │ │ +00020150: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00020160: 2020 3139 290a 2a20 636c 6f73 7572 6520 19).* closure │ │ │ │ │ +00020170: 7461 672c 203c 3e20 3c33 3e3a 2020 2020 tag, <> <3>: │ │ │ │ │ +00020180: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00020190: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. │ │ │ │ │ +000201a0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +000201b0: 2063 6c6f 7375 7265 2074 6167 2c20 3c3e closure tag, <> │ │ │ │ │ +000201c0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ +000201d0: 2020 2020 2020 2020 5377 6570 7420 706f Swept po │ │ │ │ │ +000201e0: 696e 7473 2e20 2020 2020 2020 2028 6c69 ints. (li │ │ │ │ │ +000201f0: 6e65 2020 3133 290a 2a20 636c 6f73 7572 ne 13).* closur │ │ │ │ │ +00020200: 6520 7461 672c 203c 3e20 3c35 3e3a 2020 e tag, <> <5>: │ │ │ │ │ +00020210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020220: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ +00020230: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ +00020240: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, │ │ │ │ │ +00020250: 3c3e 203c 363e 3a20 2020 2020 2020 2020 <> <6>: │ │ │ │ │ +00020260: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +00020270: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. ( │ │ │ │ │ +00020280: 6c69 6e65 2020 3238 290a 2a20 636c 6f73 line 28).* clos │ │ │ │ │ +00020290: 7572 6520 7461 672c 203c 3e20 3c37 3e3a ure tag, <> <7>: │ │ │ │ │ +000202a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000202b0: 2020 2053 7765 6570 2066 6163 6520 7370 Sweep face sp │ │ │ │ │ +000202c0: 6c69 7474 696e 672e 0a20 2020 2020 2020 litting.. │ │ │ │ │ 000202d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000202e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000202f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020300: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00020310: 2020 3131 290a 2a20 636f 6d6d 616e 6420 11).* command │ │ │ │ │ -00020320: 6c69 6e65 206f 7074 696f 6e3a 2020 2020 line option: │ │ │ │ │ -00020330: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -00020340: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. │ │ │ │ │ -00020350: 2020 2020 286c 696e 6520 2033 3029 0a2a (line 30).* │ │ │ │ │ -00020360: 2063 6f6d 6d61 6e64 206c 696e 6520 6f70 command line op │ │ │ │ │ -00020370: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: │ │ │ │ │ -00020380: 2020 2020 2020 2020 436f 6d6d 616e 6420 Command │ │ │ │ │ -00020390: 6c69 6e65 2e20 2020 2020 2020 2028 6c69 line. (li │ │ │ │ │ -000203a0: 6e65 2020 3134 290a 2a20 636f 6d6d 616e ne 14).* comman │ │ │ │ │ -000203b0: 6420 6c69 6e65 2c20 736b 6574 6368 3a20 d line, sketch: │ │ │ │ │ -000203c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000203d0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. │ │ │ │ │ -000203e0: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9) │ │ │ │ │ -000203f0: 0a2a 2063 6f6d 6d61 6e64 206c 696e 652c .* command line, │ │ │ │ │ -00020400: 2073 6b65 7463 6820 3c31 3e3a 2020 2020 sketch <1>: │ │ │ │ │ -00020410: 2020 2020 2020 2020 2020 436f 6d6d 616e Comman │ │ │ │ │ -00020420: 6420 6c69 6e65 2e20 2020 2020 2020 2028 d line. ( │ │ │ │ │ -00020430: 6c69 6e65 2020 2036 290a 2a20 636f 6d6d line 6).* comm │ │ │ │ │ -00020440: 656e 7473 3a20 2020 2020 2020 2020 2020 ents: │ │ │ │ │ -00020450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020460: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol │ │ │ │ │ -00020470: 6964 2e20 2020 2020 286c 696e 6520 2032 id. (line 2 │ │ │ │ │ -00020480: 3829 0a2a 2063 6f6d 6d65 6e74 7320 3c31 8).* comments <1 │ │ │ │ │ -00020490: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000204a0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ -000204b0: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. │ │ │ │ │ -000204c0: 2028 6c69 6e65 2020 3138 290a 2a20 636f (line 18).* co │ │ │ │ │ -000204d0: 6e73 7472 7563 746f 723a 2020 2020 2020 nstructor: │ │ │ │ │ +00020300: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11 │ │ │ │ │ +00020310: 290a 2a20 636f 6d6d 616e 6420 6c69 6e65 ).* command line │ │ │ │ │ +00020320: 206f 7074 696f 6e3a 2020 2020 2020 2020 option: │ │ │ │ │ +00020330: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello │ │ │ │ │ +00020340: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. │ │ │ │ │ +00020350: 286c 696e 6520 2033 3029 0a2a 2063 6f6d (line 30).* com │ │ │ │ │ +00020360: 6d61 6e64 206c 696e 6520 6f70 7469 6f6e mand line option │ │ │ │ │ +00020370: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +00020380: 2020 2020 436f 6d6d 616e 6420 6c69 6e65 Command line │ │ │ │ │ +00020390: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ +000203a0: 3134 290a 2a20 636f 6d6d 616e 6420 6c69 14).* command li │ │ │ │ │ +000203b0: 6e65 2c20 736b 6574 6368 3a20 2020 2020 ne, sketch: │ │ │ │ │ +000203c0: 2020 2020 2020 2020 2020 2020 2048 656c Hel │ │ │ │ │ +000203d0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. │ │ │ │ │ +000203e0: 2020 286c 696e 6520 2020 3929 0a2a 2063 (line 9).* c │ │ │ │ │ +000203f0: 6f6d 6d61 6e64 206c 696e 652c 2073 6b65 ommand line, ske │ │ │ │ │ +00020400: 7463 6820 3c31 3e3a 2020 2020 2020 2020 tch <1>: │ │ │ │ │ +00020410: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li │ │ │ │ │ +00020420: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line │ │ │ │ │ +00020430: 2020 2036 290a 2a20 636f 6d6d 656e 7473 6).* comments │ │ │ │ │ +00020440: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020450: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ +00020460: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ +00020470: 2020 2020 286c 696e 6520 2032 3829 0a2a (line 28).* │ │ │ │ │ +00020480: 2063 6f6d 6d65 6e74 7320 3c31 3e3a 2020 comments <1>: │ │ │ │ │ +00020490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000204a0: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language │ │ │ │ │ +000204b0: 2062 6173 6963 732e 2020 2020 2028 6c69 basics. (li │ │ │ │ │ +000204c0: 6e65 2020 3138 290a 2a20 636f 6e73 7472 ne 18).* constr │ │ │ │ │ +000204d0: 7563 746f 723a 2020 2020 2020 2020 2020 uctor: │ │ │ │ │ 000204e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000204f0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -00020500: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ -00020510: 2020 3629 0a2a 2063 6f6f 7264 696e 6174 6).* coordinat │ │ │ │ │ -00020520: 6520 7379 7374 656d 2c20 7269 6768 742d e system, right- │ │ │ │ │ -00020530: 6861 6e64 6564 3a20 2020 2020 2020 496e handed: In │ │ │ │ │ -00020540: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex │ │ │ │ │ -00020550: 616d 706c 652e 0a20 2020 2020 2020 2020 ample.. │ │ │ │ │ +000204f0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00020500: 616c 732e 2020 286c 696e 6520 2020 3629 als. (line 6) │ │ │ │ │ +00020510: 0a2a 2063 6f6f 7264 696e 6174 6520 7379 .* coordinate sy │ │ │ │ │ +00020520: 7374 656d 2c20 7269 6768 742d 6861 6e64 stem, right-hand │ │ │ │ │ +00020530: 6564 3a20 2020 2020 2020 496e 7472 6f64 ed: Introd │ │ │ │ │ +00020540: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl │ │ │ │ │ +00020550: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. │ │ │ │ │ 00020560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020570: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020590: 2020 2020 2028 6c69 6e65 2020 3131 290a (line 11). │ │ │ │ │ -000205a0: 2a20 636f 756e 7465 722d 636c 6f63 6b77 * counter-clockw │ │ │ │ │ -000205b0: 6973 6520 706f 6c79 676f 6e20 7665 7274 ise polygon vert │ │ │ │ │ -000205c0: 6578 206f 7264 6572 3a20 4865 6c6c 6f20 ex order: Hello │ │ │ │ │ -000205d0: 776f 726c 642e 2020 2020 2020 2020 286c world. (l │ │ │ │ │ -000205e0: 696e 6520 2033 3929 0a2a 2063 756c 6c69 ine 39).* culli │ │ │ │ │ -000205f0: 6e67 3a20 2020 2020 2020 2020 2020 2020 ng: │ │ │ │ │ -00020600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020610: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ -00020620: 2020 2020 2020 2028 6c69 6e65 2020 3433 (line 43 │ │ │ │ │ -00020630: 290a 2a20 6375 6c6c 696e 6720 3c31 3e3a ).* culling <1>: │ │ │ │ │ +00020590: 2028 6c69 6e65 2020 3131 290a 2a20 636f (line 11).* co │ │ │ │ │ +000205a0: 756e 7465 722d 636c 6f63 6b77 6973 6520 unter-clockwise │ │ │ │ │ +000205b0: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o │ │ │ │ │ +000205c0: 7264 6572 3a20 4865 6c6c 6f20 776f 726c rder: Hello worl │ │ │ │ │ +000205d0: 642e 2020 2020 2020 2020 286c 696e 6520 d. (line │ │ │ │ │ +000205e0: 2033 3929 0a2a 2063 756c 6c69 6e67 3a20 39).* culling: │ │ │ │ │ +000205f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020600: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ +00020610: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ +00020620: 2020 2028 6c69 6e65 2020 3433 290a 2a20 (line 43).* │ │ │ │ │ +00020630: 6375 6c6c 696e 6720 3c31 3e3a 2020 2020 culling <1>: │ │ │ │ │ 00020640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020650: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ -00020660: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ -00020670: 286c 696e 6520 2033 3529 0a2a 2063 756c (line 35).* cul │ │ │ │ │ -00020680: 6c69 6e67 203c 323e 3a20 2020 2020 2020 ling <2>: │ │ │ │ │ +00020650: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ +00020660: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin │ │ │ │ │ +00020670: 6520 2033 3529 0a2a 2063 756c 6c69 6e67 e 35).* culling │ │ │ │ │ +00020680: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ 00020690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000206a0: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so │ │ │ │ │ -000206b0: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line │ │ │ │ │ -000206c0: 3431 290a 2a20 6375 6c6c 696e 6720 3c33 41).* culling <3 │ │ │ │ │ -000206d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000206e0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -000206f0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ -00020700: 2020 286c 696e 6520 2031 3629 0a2a 2064 (line 16).* d │ │ │ │ │ -00020710: 6563 6c61 7261 7469 7665 206c 616e 6775 eclarative langu │ │ │ │ │ -00020720: 6167 653a 2020 2020 2020 2020 2020 2020 age: │ │ │ │ │ -00020730: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b │ │ │ │ │ -00020740: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line │ │ │ │ │ -00020750: 2020 2038 290a 2a20 6465 6669 6e69 7469 8).* definiti │ │ │ │ │ -00020760: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ -00020770: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -00020780: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ -00020790: 2020 2020 286c 696e 6520 2032 3229 0a2a (line 22).* │ │ │ │ │ -000207a0: 2064 6566 696e 6974 696f 6e20 3c31 3e3a definition <1>: │ │ │ │ │ +000206a0: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ +000206b0: 2020 2020 2028 6c69 6e65 2020 3431 290a (line 41). │ │ │ │ │ +000206c0: 2a20 6375 6c6c 696e 6720 3c33 3e3a 2020 * culling <3>: │ │ │ │ │ +000206d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000206e0: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ +000206f0: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ +00020700: 696e 6520 2031 3629 0a2a 2064 6563 6c61 ine 16).* decla │ │ │ │ │ +00020710: 7261 7469 7665 206c 616e 6775 6167 653a rative language: │ │ │ │ │ +00020720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020730: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic │ │ │ │ │ +00020740: 732e 2020 2020 2028 6c69 6e65 2020 2038 s. (line 8 │ │ │ │ │ +00020750: 290a 2a20 6465 6669 6e69 7469 6f6e 3a20 ).* definition: │ │ │ │ │ +00020760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020770: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ +00020780: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ +00020790: 286c 696e 6520 2032 3229 0a2a 2064 6566 (line 22).* def │ │ │ │ │ +000207a0: 696e 6974 696f 6e20 3c31 3e3a 2020 2020 inition <1>: │ │ │ │ │ 000207b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000207c0: 2020 2020 2020 2020 4465 6669 6e69 7469 Definiti │ │ │ │ │ -000207d0: 6f6e 732e 2020 2020 2020 2020 2028 6c69 ons. (li │ │ │ │ │ -000207e0: 6e65 2020 2036 290a 2a20 6465 6669 6e69 ne 6).* defini │ │ │ │ │ -000207f0: 7469 6f6e 2077 6974 6820 616c 7465 726e tion with altern │ │ │ │ │ -00020800: 6174 6976 6573 3a20 2020 2020 2020 2020 atives: │ │ │ │ │ -00020810: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini │ │ │ │ │ -00020820: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. │ │ │ │ │ +000207c0: 2020 2020 4465 6669 6e69 7469 6f6e 732e Definitions. │ │ │ │ │ +000207d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000207e0: 2036 290a 2a20 6465 6669 6e69 7469 6f6e 6).* definition │ │ │ │ │ +000207f0: 2077 6974 6820 616c 7465 726e 6174 6976 with alternativ │ │ │ │ │ +00020800: 6573 3a20 2020 2020 2020 2020 2046 6f72 es: For │ │ │ │ │ +00020810: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition │ │ │ │ │ +00020820: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ 00020830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020860: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00020870: 2a20 6465 6669 6e69 7469 6f6e 2c20 6472 * definition, dr │ │ │ │ │ -00020880: 6177 6162 6c65 3a20 2020 2020 2020 2020 awable: │ │ │ │ │ -00020890: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ -000208a0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ -000208b0: 696e 6520 2032 3729 0a2a 2064 6566 696e ine 27).* defin │ │ │ │ │ -000208c0: 6974 696f 6e2c 206f 7074 696f 6e73 3a20 ition, options: │ │ │ │ │ -000208d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000208e0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -000208f0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure.. │ │ │ │ │ +00020860: 2028 6c69 6e65 2020 2036 290a 2a20 6465 (line 6).* de │ │ │ │ │ +00020870: 6669 6e69 7469 6f6e 2c20 6472 6177 6162 finition, drawab │ │ │ │ │ +00020880: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: │ │ │ │ │ +00020890: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ +000208a0: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line │ │ │ │ │ +000208b0: 2032 3729 0a2a 2064 6566 696e 6974 696f 27).* definitio │ │ │ │ │ +000208c0: 6e2c 206f 7074 696f 6e73 3a20 2020 2020 n, options: │ │ │ │ │ +000208d0: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +000208e0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ +000208f0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ 00020900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020930: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00020940: 696e 6520 2032 3329 0a2a 2064 6566 696e ine 23).* defin │ │ │ │ │ -00020950: 6974 696f 6e2c 2070 6f69 6e74 3a20 2020 ition, point: │ │ │ │ │ -00020960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020970: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli │ │ │ │ │ -00020980: 642e 2020 2020 2028 6c69 6e65 2020 3233 d. (line 23 │ │ │ │ │ -00020990: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, │ │ │ │ │ -000209a0: 7363 616c 6172 3a20 2020 2020 2020 2020 scalar: │ │ │ │ │ -000209b0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -000209c0: 206f 626a 6563 7473 2e20 2020 2020 2020 objects. │ │ │ │ │ -000209d0: 286c 696e 6520 2031 3329 0a2a 2064 6566 (line 13).* def │ │ │ │ │ -000209e0: 696e 6974 696f 6e2c 2073 696d 706c 653a inition, simple: │ │ │ │ │ +00020930: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00020940: 2032 3329 0a2a 2064 6566 696e 6974 696f 23).* definitio │ │ │ │ │ +00020950: 6e2c 2070 6f69 6e74 3a20 2020 2020 2020 n, point: │ │ │ │ │ +00020960: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ +00020970: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. │ │ │ │ │ +00020980: 2020 2028 6c69 6e65 2020 3233 290a 2a20 (line 23).* │ │ │ │ │ +00020990: 6465 6669 6e69 7469 6f6e 2c20 7363 616c definition, scal │ │ │ │ │ +000209a0: 6172 3a20 2020 2020 2020 2020 2020 2020 ar: │ │ │ │ │ +000209b0: 2020 2020 2020 2053 7765 7074 206f 626a Swept obj │ │ │ │ │ +000209c0: 6563 7473 2e20 2020 2020 2020 286c 696e ects. (lin │ │ │ │ │ +000209d0: 6520 2031 3329 0a2a 2064 6566 696e 6974 e 13).* definit │ │ │ │ │ +000209e0: 696f 6e2c 2073 696d 706c 653a 2020 2020 ion, simple: │ │ │ │ │ 000209f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020a00: 2020 2020 466f 726d 7320 6f66 2064 6566 Forms of def │ │ │ │ │ -00020a10: 696e 6974 696f 6e73 2e0a 2020 2020 2020 initions.. │ │ │ │ │ +00020a00: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit │ │ │ │ │ +00020a10: 696f 6e73 2e0a 2020 2020 2020 2020 2020 ions.. │ │ │ │ │ 00020a20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020a30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020a50: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -00020a60: 3629 0a2a 2064 6566 696e 6974 696f 6e2c 6).* definition, │ │ │ │ │ -00020a70: 2074 6167 3a20 2020 2020 2020 2020 2020 tag: │ │ │ │ │ -00020a80: 2020 2020 2020 2020 2020 2020 4465 6669 Defi │ │ │ │ │ -00020a90: 6e69 7469 6f6e 732e 2020 2020 2020 2020 nitions. │ │ │ │ │ -00020aa0: 2028 6c69 6e65 2020 3138 290a 2a20 6465 (line 18).* de │ │ │ │ │ -00020ab0: 6669 6e69 7469 6f6e 2c20 7461 6720 3c31 finition, tag <1 │ │ │ │ │ -00020ac0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00020ad0: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de │ │ │ │ │ -00020ae0: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. │ │ │ │ │ +00020a50: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +00020a60: 2064 6566 696e 6974 696f 6e2c 2074 6167 definition, tag │ │ │ │ │ +00020a70: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020a80: 2020 2020 2020 2020 4465 6669 6e69 7469 Definiti │ │ │ │ │ +00020a90: 6f6e 732e 2020 2020 2020 2020 2028 6c69 ons. (li │ │ │ │ │ +00020aa0: 6e65 2020 3138 290a 2a20 6465 6669 6e69 ne 18).* defini │ │ │ │ │ +00020ab0: 7469 6f6e 2c20 7461 6720 3c31 3e3a 2020 tion, tag <1>: │ │ │ │ │ +00020ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020ad0: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini │ │ │ │ │ +00020ae0: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. │ │ │ │ │ 00020af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020b10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020b20: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00020b30: 2037 290a 2a20 6465 6669 6e69 7469 6f6e 7).* definition │ │ │ │ │ -00020b40: 2c20 7461 6720 3c32 3e3a 2020 2020 2020 , tag <2>: │ │ │ │ │ -00020b50: 2020 2020 2020 2020 2020 2020 2043 6f6d Com │ │ │ │ │ -00020b60: 6d61 6e64 206c 696e 652e 2020 2020 2020 mand line. │ │ │ │ │ -00020b70: 2020 286c 696e 6520 2035 3329 0a2a 2064 (line 53).* d │ │ │ │ │ -00020b80: 6566 696e 6974 696f 6e2c 2074 7261 6e73 efinition, trans │ │ │ │ │ -00020b90: 666f 726d 3a20 2020 2020 2020 2020 2020 form: │ │ │ │ │ -00020ba0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ -00020bb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00020bc0: 2020 3335 290a 2a20 6465 6669 6e69 7469 35).* definiti │ │ │ │ │ -00020bd0: 6f6e 2c20 7665 6374 6f72 3a20 2020 2020 on, vector: │ │ │ │ │ -00020be0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -00020bf0: 6f6c 796c 696e 6520 7377 6565 7073 2e20 olyline sweeps. │ │ │ │ │ -00020c00: 2020 2020 286c 696e 6520 2031 3929 0a2a (line 19).* │ │ │ │ │ -00020c10: 2064 6570 7468 2073 6f72 743a 2020 2020 depth sort: │ │ │ │ │ +00020b20: 2020 2020 2028 6c69 6e65 2020 2037 290a (line 7). │ │ │ │ │ +00020b30: 2a20 6465 6669 6e69 7469 6f6e 2c20 7461 * definition, ta │ │ │ │ │ +00020b40: 6720 3c32 3e3a 2020 2020 2020 2020 2020 g <2>: │ │ │ │ │ +00020b50: 2020 2020 2020 2020 2043 6f6d 6d61 6e64 Command │ │ │ │ │ +00020b60: 206c 696e 652e 2020 2020 2020 2020 286c line. (l │ │ │ │ │ +00020b70: 696e 6520 2035 3329 0a2a 2064 6566 696e ine 53).* defin │ │ │ │ │ +00020b80: 6974 696f 6e2c 2074 7261 6e73 666f 726d ition, transform │ │ │ │ │ +00020b90: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020ba0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +00020bb0: 2020 2020 2020 2028 6c69 6e65 2020 3335 (line 35 │ │ │ │ │ +00020bc0: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, │ │ │ │ │ +00020bd0: 7665 6374 6f72 3a20 2020 2020 2020 2020 vector: │ │ │ │ │ +00020be0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl │ │ │ │ │ +00020bf0: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. │ │ │ │ │ +00020c00: 286c 696e 6520 2031 3929 0a2a 2064 6570 (line 19).* dep │ │ │ │ │ +00020c10: 7468 2073 6f72 743a 2020 2020 2020 2020 th sort: │ │ │ │ │ 00020c20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020c30: 2020 2020 2020 2020 496e 7465 726e 616c Internal │ │ │ │ │ -00020c40: 206f 7074 696f 6e73 2e20 2020 2028 6c69 options. (li │ │ │ │ │ -00020c50: 6e65 2020 3133 290a 2a20 6465 7074 6820 ne 13).* depth │ │ │ │ │ -00020c60: 736f 7274 203c 313e 3a20 2020 2020 2020 sort <1>: │ │ │ │ │ -00020c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020c80: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ -00020c90: 7265 6d6f 7661 6c2e 0a20 2020 2020 2020 removal.. │ │ │ │ │ +00020c30: 2020 2020 496e 7465 726e 616c 206f 7074 Internal opt │ │ │ │ │ +00020c40: 696f 6e73 2e20 2020 2028 6c69 6e65 2020 ions. (line │ │ │ │ │ +00020c50: 3133 290a 2a20 6465 7074 6820 736f 7274 13).* depth sort │ │ │ │ │ +00020c60: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00020c70: 2020 2020 2020 2020 2020 2020 2048 6964 Hid │ │ │ │ │ +00020c80: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo │ │ │ │ │ +00020c90: 7661 6c2e 0a20 2020 2020 2020 2020 2020 val.. │ │ │ │ │ 00020ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020cb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020cc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020cd0: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -00020ce0: 290a 2a20 6465 7074 6820 736f 7274 203c ).* depth sort < │ │ │ │ │ -00020cf0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -00020d00: 2020 2020 2020 2020 2020 2042 7567 7320 Bugs │ │ │ │ │ -00020d10: 616e 6420 616e 6f6d 616c 6965 732e 2020 and anomalies. │ │ │ │ │ -00020d20: 286c 696e 6520 2020 3829 0a2a 2064 6972 (line 8).* dir │ │ │ │ │ -00020d30: 6563 7420 7472 616e 7366 6f72 6d3a 2020 ect transform: │ │ │ │ │ +00020cd0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00020ce0: 6465 7074 6820 736f 7274 203c 323e 3a20 depth sort <2>: │ │ │ │ │ +00020cf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020d00: 2020 2020 2020 2042 7567 7320 616e 6420 Bugs and │ │ │ │ │ +00020d10: 616e 6f6d 616c 6965 732e 2020 286c 696e anomalies. (lin │ │ │ │ │ +00020d20: 6520 2020 3829 0a2a 2064 6972 6563 7420 e 8).* direct │ │ │ │ │ +00020d30: 7472 616e 7366 6f72 6d3a 2020 2020 2020 transform: │ │ │ │ │ 00020d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020d50: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ -00020d60: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line │ │ │ │ │ -00020d70: 3437 290a 2a20 6469 7265 6374 2074 7261 47).* direct tra │ │ │ │ │ -00020d80: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: │ │ │ │ │ -00020d90: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ -00020da0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ -00020db0: 2020 286c 696e 6520 2035 3329 0a2a 2064 (line 53).* d │ │ │ │ │ -00020dc0: 6f63 756d 656e 7420 7465 6d70 6c61 7465 ocument template │ │ │ │ │ -00020dd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00020de0: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ -00020df0: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line │ │ │ │ │ -00020e00: 2020 3332 290a 2a20 646f 6375 6d65 6e74 32).* document │ │ │ │ │ -00020e10: 2074 656d 706c 6174 6520 3c31 3e3a 2020 template <1>: │ │ │ │ │ -00020e20: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ -00020e30: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. │ │ │ │ │ -00020e40: 2020 2020 286c 696e 6520 2033 3629 0a2a (line 36).* │ │ │ │ │ -00020e50: 2064 7261 7761 626c 653a 2020 2020 2020 drawable: │ │ │ │ │ +00020d50: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +00020d60: 6c73 2e20 2028 6c69 6e65 2020 3437 290a ls. (line 47). │ │ │ │ │ +00020d70: 2a20 6469 7265 6374 2074 7261 6e73 666f * direct transfo │ │ │ │ │ +00020d80: 726d 203c 313e 3a20 2020 2020 2020 2020 rm <1>: │ │ │ │ │ +00020d90: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ +00020da0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ +00020db0: 696e 6520 2035 3329 0a2a 2064 6f63 756d ine 53).* docum │ │ │ │ │ +00020dc0: 656e 7420 7465 6d70 6c61 7465 3a20 2020 ent template: │ │ │ │ │ +00020dd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020de0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ +00020df0: 2020 2020 2020 2028 6c69 6e65 2020 3332 (line 32 │ │ │ │ │ +00020e00: 290a 2a20 646f 6375 6d65 6e74 2074 656d ).* document tem │ │ │ │ │ +00020e10: 706c 6174 6520 3c31 3e3a 2020 2020 2020 plate <1>: │ │ │ │ │ +00020e20: 2020 2020 2020 2020 2020 2043 6f6d 6d61 Comma │ │ │ │ │ +00020e30: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. │ │ │ │ │ +00020e40: 286c 696e 6520 2033 3629 0a2a 2064 7261 (line 36).* dra │ │ │ │ │ +00020e50: 7761 626c 653a 2020 2020 2020 2020 2020 wable: │ │ │ │ │ 00020e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020e70: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ -00020e80: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li │ │ │ │ │ -00020e90: 6e65 2020 3237 290a 2a20 6472 6177 6162 ne 27).* drawab │ │ │ │ │ -00020ea0: 6c65 203c 313e 3a20 2020 2020 2020 2020 le <1>: │ │ │ │ │ -00020eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020ec0: 2044 7261 7761 626c 6573 2e20 2020 2020 Drawables. │ │ │ │ │ -00020ed0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00020ee0: 0a2a 2064 7261 7761 626c 6520 6465 6669 .* drawable defi │ │ │ │ │ -00020ef0: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: │ │ │ │ │ -00020f00: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ -00020f10: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. ( │ │ │ │ │ -00020f20: 6c69 6e65 2020 3237 290a 2a20 6472 6177 line 27).* draw │ │ │ │ │ -00020f30: 6162 6c65 2072 6566 6572 656e 6365 3a20 able reference: │ │ │ │ │ -00020f40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020f50: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe │ │ │ │ │ -00020f60: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1 │ │ │ │ │ -00020f70: 3729 0a2a 2065 6e64 2070 6f6c 7967 6f6e 7).* end polygon │ │ │ │ │ -00020f80: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00020f90: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -00020fa0: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. │ │ │ │ │ -00020fb0: 2028 6c69 6e65 2020 3338 290a 2a20 656e (line 38).* en │ │ │ │ │ -00020fc0: 6420 706f 6c79 676f 6e20 3c31 3e3a 2020 d polygon <1>: │ │ │ │ │ +00020e70: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ +00020e80: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line │ │ │ │ │ +00020e90: 3237 290a 2a20 6472 6177 6162 6c65 203c 27).* drawable < │ │ │ │ │ +00020ea0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +00020eb0: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ +00020ec0: 7761 626c 6573 2e20 2020 2020 2020 2020 wables. │ │ │ │ │ +00020ed0: 2020 286c 696e 6520 2020 3629 0a2a 2064 (line 6).* d │ │ │ │ │ +00020ee0: 7261 7761 626c 6520 6465 6669 6e69 7469 rawable definiti │ │ │ │ │ +00020ef0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +00020f00: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ +00020f10: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line │ │ │ │ │ +00020f20: 2020 3237 290a 2a20 6472 6177 6162 6c65 27).* drawable │ │ │ │ │ +00020f30: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: │ │ │ │ │ +00020f40: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ +00020f50: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ +00020f60: 6573 2e20 286c 696e 6520 2031 3729 0a2a es. (line 17).* │ │ │ │ │ +00020f70: 2065 6e64 2070 6f6c 7967 6f6e 3a20 2020 end polygon: │ │ │ │ │ +00020f80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020f90: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li │ │ │ │ │ +00020fa0: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li │ │ │ │ │ +00020fb0: 6e65 2020 3338 290a 2a20 656e 6420 706f ne 38).* end po │ │ │ │ │ +00020fc0: 6c79 676f 6e20 3c31 3e3a 2020 2020 2020 lygon <1>: │ │ │ │ │ 00020fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020fe0: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg │ │ │ │ │ -00020ff0: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line │ │ │ │ │ -00021000: 2031 3529 0a2a 2066 6163 6573 3a20 2020 15).* faces: │ │ │ │ │ +00020fe0: 2053 7765 7074 2070 6f6c 7967 6f6e 732e Swept polygons. │ │ │ │ │ +00020ff0: 2020 2020 2020 286c 696e 6520 2031 3529 (line 15) │ │ │ │ │ +00021000: 0a2a 2066 6163 6573 3a20 2020 2020 2020 .* faces: │ │ │ │ │ 00021010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021020: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ -00021030: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. │ │ │ │ │ -00021040: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* │ │ │ │ │ -00021050: 6661 6365 7320 3c31 3e3a 2020 2020 2020 faces <1>: │ │ │ │ │ +00021020: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ +00021030: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. ( │ │ │ │ │ +00021040: 6c69 6e65 2020 2037 290a 2a20 6661 6365 line 7).* face │ │ │ │ │ +00021050: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: │ │ │ │ │ 00021060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021070: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline │ │ │ │ │ -00021080: 7377 6565 7073 2e20 2020 2020 286c 696e sweeps. (lin │ │ │ │ │ -00021090: 6520 2020 3629 0a2a 2066 696c 652c 2069 e 6).* file, i │ │ │ │ │ -000210a0: 6e63 6c75 6465 3a20 2020 2020 2020 2020 nclude: │ │ │ │ │ -000210b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000210c0: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics. │ │ │ │ │ -000210d0: 2020 2020 2028 6c69 6e65 2020 3139 290a (line 19). │ │ │ │ │ -000210e0: 2a20 6669 6c65 2c20 696e 7075 743a 2020 * file, input: │ │ │ │ │ +00021070: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ +00021080: 7073 2e20 2020 2020 286c 696e 6520 2020 ps. (line │ │ │ │ │ +00021090: 3629 0a2a 2066 696c 652c 2069 6e63 6c75 6).* file, inclu │ │ │ │ │ +000210a0: 6465 3a20 2020 2020 2020 2020 2020 2020 de: │ │ │ │ │ +000210b0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ +000210c0: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. │ │ │ │ │ +000210d0: 2028 6c69 6e65 2020 3139 290a 2a20 6669 (line 19).* fi │ │ │ │ │ +000210e0: 6c65 2c20 696e 7075 743a 2020 2020 2020 le, input: │ │ │ │ │ 000210f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021100: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ -00021110: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l │ │ │ │ │ -00021120: 696e 6520 2020 3629 0a2a 2066 7261 6d65 ine 6).* frame │ │ │ │ │ -00021130: 2062 6f78 3a20 2020 2020 2020 2020 2020 box: │ │ │ │ │ -00021140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021150: 2020 4672 616d 652e 2020 2020 2020 2020 Frame. │ │ │ │ │ -00021160: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -00021170: 290a 2a20 676c 6f62 616c 206f 7074 696f ).* global optio │ │ │ │ │ -00021180: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: │ │ │ │ │ -00021190: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ -000211a0: 6e67 206f 7074 696f 6e73 2e20 2020 2020 ng options. │ │ │ │ │ -000211b0: 286c 696e 6520 2031 3829 0a2a 2067 6c6f (line 18).* glo │ │ │ │ │ -000211c0: 6261 6c20 6f70 7469 6f6e 7320 3c31 3e3a bal options <1>: │ │ │ │ │ +00021100: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba │ │ │ │ │ +00021110: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line │ │ │ │ │ +00021120: 2020 3629 0a2a 2066 7261 6d65 2062 6f78 6).* frame box │ │ │ │ │ +00021130: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00021140: 2020 2020 2020 2020 2020 2020 2020 4672 Fr │ │ │ │ │ +00021150: 616d 652e 2020 2020 2020 2020 2020 2020 ame. │ │ │ │ │ +00021160: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00021170: 676c 6f62 616c 206f 7074 696f 6e73 3a20 global options: │ │ │ │ │ +00021180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021190: 2020 2020 2020 2044 7261 7769 6e67 206f Drawing o │ │ │ │ │ +000211a0: 7074 696f 6e73 2e20 2020 2020 286c 696e ptions. (lin │ │ │ │ │ +000211b0: 6520 2031 3829 0a2a 2067 6c6f 6261 6c20 e 18).* global │ │ │ │ │ +000211c0: 6f70 7469 6f6e 7320 3c31 3e3a 2020 2020 options <1>: │ │ │ │ │ 000211d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000211e0: 2020 2020 476c 6f62 616c 206f 7074 696f Global optio │ │ │ │ │ -000211f0: 6e73 2e20 2020 2020 2028 6c69 6e65 2020 ns. (line │ │ │ │ │ -00021200: 2036 290a 2a20 6865 6c69 783a 2020 2020 6).* helix: │ │ │ │ │ +000211e0: 476c 6f62 616c 206f 7074 696f 6e73 2e20 Global options. │ │ │ │ │ +000211f0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +00021200: 2a20 6865 6c69 783a 2020 2020 2020 2020 * helix: │ │ │ │ │ 00021210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021220: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ -00021230: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ -00021240: 2020 286c 696e 6520 2034 3729 0a2a 2068 (line 47).* h │ │ │ │ │ -00021250: 656c 6978 203c 313e 3a20 2020 2020 2020 elix <1>: │ │ │ │ │ +00021220: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ +00021230: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l │ │ │ │ │ +00021240: 696e 6520 2034 3729 0a2a 2068 656c 6978 ine 47).* helix │ │ │ │ │ +00021250: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ 00021260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021270: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -00021280: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line │ │ │ │ │ -00021290: 2020 3135 290a 2a20 6865 6c6c 6f20 776f 15).* hello wo │ │ │ │ │ -000212a0: 726c 643a 2020 2020 2020 2020 2020 2020 rld: │ │ │ │ │ -000212b0: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -000212c0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. │ │ │ │ │ -000212d0: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).* │ │ │ │ │ -000212e0: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface │ │ │ │ │ -000212f0: 616c 676f 7269 7468 6d3a 2020 2020 2020 algorithm: │ │ │ │ │ -00021300: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ -00021310: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li │ │ │ │ │ -00021320: 6e65 2020 3139 290a 2a20 6869 6464 656e ne 19).* hidden │ │ │ │ │ -00021330: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit │ │ │ │ │ -00021340: 686d 203c 313e 3a20 2020 2020 2020 2020 hm <1>: │ │ │ │ │ -00021350: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ -00021360: 2e20 2020 2020 286c 696e 6520 2034 3829 . (line 48) │ │ │ │ │ -00021370: 0a2a 2068 6964 6465 6e20 7375 7266 6163 .* hidden surfac │ │ │ │ │ -00021380: 6520 616c 676f 7269 7468 6d20 3c32 3e3a e algorithm <2>: │ │ │ │ │ -00021390: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -000213a0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ -000213b0: 6c69 6e65 2020 3234 290a 2a20 6869 6464 line 24).* hidd │ │ │ │ │ -000213c0: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor │ │ │ │ │ -000213d0: 6974 686d 203c 333e 3a20 2020 2020 2020 ithm <3>: │ │ │ │ │ -000213e0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ -000213f0: 7261 7769 6e67 2e20 286c 696e 6520 2032 rawing. (line 2 │ │ │ │ │ -00021400: 3529 0a2a 2068 6964 6465 6e20 7375 7266 5).* hidden surf │ │ │ │ │ -00021410: 6163 6520 616c 676f 7269 7468 6d20 3c34 ace algorithm <4 │ │ │ │ │ -00021420: 3e3a 2020 2020 2020 2020 2020 4869 6464 >: Hidd │ │ │ │ │ -00021430: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov │ │ │ │ │ -00021440: 616c 2e0a 2020 2020 2020 2020 2020 2020 al.. │ │ │ │ │ +00021270: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ +00021280: 732e 2020 2020 2028 6c69 6e65 2020 3135 s. (line 15 │ │ │ │ │ +00021290: 290a 2a20 6865 6c6c 6f20 776f 726c 643a ).* hello world: │ │ │ │ │ +000212a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000212b0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello │ │ │ │ │ +000212c0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. │ │ │ │ │ +000212d0: 286c 696e 6520 2020 3729 0a2a 2068 6964 (line 7).* hid │ │ │ │ │ +000212e0: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo │ │ │ │ │ +000212f0: 7269 7468 6d3a 2020 2020 2020 2020 2020 rithm: │ │ │ │ │ +00021300: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ +00021310: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00021320: 3139 290a 2a20 6869 6464 656e 2073 7572 19).* hidden sur │ │ │ │ │ +00021330: 6661 6365 2061 6c67 6f72 6974 686d 203c face algorithm < │ │ │ │ │ +00021340: 313e 3a20 2020 2020 2020 2020 2053 7065 1>: Spe │ │ │ │ │ +00021350: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. │ │ │ │ │ +00021360: 2020 286c 696e 6520 2034 3829 0a2a 2068 (line 48).* h │ │ │ │ │ +00021370: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al │ │ │ │ │ +00021380: 676f 7269 7468 6d20 3c32 3e3a 2020 2020 gorithm <2>: │ │ │ │ │ +00021390: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +000213a0: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line │ │ │ │ │ +000213b0: 2020 3234 290a 2a20 6869 6464 656e 2073 24).* hidden s │ │ │ │ │ +000213c0: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm │ │ │ │ │ +000213d0: 203c 333e 3a20 2020 2020 2020 2020 2041 <3>: A │ │ │ │ │ +000213e0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +000213f0: 6e67 2e20 286c 696e 6520 2032 3529 0a2a ng. (line 25).* │ │ │ │ │ +00021400: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface │ │ │ │ │ +00021410: 616c 676f 7269 7468 6d20 3c34 3e3a 2020 algorithm <4>: │ │ │ │ │ +00021420: 2020 2020 2020 2020 4869 6464 656e 2073 Hidden s │ │ │ │ │ +00021430: 7572 6661 6365 2072 656d 6f76 616c 2e0a urface removal.. │ │ │ │ │ +00021440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021480: 2020 286c 696e 6520 2020 3629 0a2a 2068 (line 6).* h │ │ │ │ │ -00021490: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -000214a0: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: │ │ │ │ │ -000214b0: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ -000214c0: 6963 616c 206d 6f64 656c 2e0a 2020 2020 ical model.. │ │ │ │ │ +00021470: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +00021480: 696e 6520 2020 3629 0a2a 2068 6965 7261 ine 6).* hiera │ │ │ │ │ +00021490: 7263 6869 6361 6c20 6d6f 6465 6c3a 2020 rchical model: │ │ │ │ │ +000214a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000214b0: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ +000214c0: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. │ │ │ │ │ 000214d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000214e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000214f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021500: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00021510: 2020 3629 0a2a 2069 6465 6e74 6966 6965 6).* identifie │ │ │ │ │ -00021520: 7273 3a20 2020 2020 2020 2020 2020 2020 rs: │ │ │ │ │ -00021530: 2020 2020 2020 2020 2020 2020 2020 4964 Id │ │ │ │ │ -00021540: 656e 7469 6669 6572 732e 2020 2020 2020 entifiers. │ │ │ │ │ -00021550: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* │ │ │ │ │ -00021560: 696e 636c 7564 6520 6669 6c65 3a20 2020 include file: │ │ │ │ │ +00021500: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ +00021510: 0a2a 2069 6465 6e74 6966 6965 7273 3a20 .* identifiers: │ │ │ │ │ +00021520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021530: 2020 2020 2020 2020 2020 4964 656e 7469 Identi │ │ │ │ │ +00021540: 6669 6572 732e 2020 2020 2020 2020 2028 fiers. ( │ │ │ │ │ +00021550: 6c69 6e65 2020 2037 290a 2a20 696e 636c line 7).* incl │ │ │ │ │ +00021560: 7564 6520 6669 6c65 3a20 2020 2020 2020 ude file: │ │ │ │ │ 00021570: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021580: 2020 2020 2020 204c 616e 6775 6167 6520 Language │ │ │ │ │ -00021590: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin │ │ │ │ │ -000215a0: 6520 2031 3929 0a2a 2069 6e70 7574 2066 e 19).* input f │ │ │ │ │ -000215b0: 696c 653a 2020 2020 2020 2020 2020 2020 ile: │ │ │ │ │ -000215c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000215d0: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics. │ │ │ │ │ -000215e0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -000215f0: 2a20 696e 7465 726e 616c 206f 7074 696f * internal optio │ │ │ │ │ -00021600: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ -00021610: 2020 2020 2020 2020 2053 7065 6369 616c Special │ │ │ │ │ -00021620: 206f 626a 6563 7473 2e20 2020 2020 286c objects. (l │ │ │ │ │ -00021630: 696e 6520 2034 3729 0a2a 2069 6e74 6572 ine 47).* inter │ │ │ │ │ -00021640: 6e61 6c20 6f70 7469 6f6e 733a 2020 2020 nal options: │ │ │ │ │ -00021650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021660: 2020 496e 7465 726e 616c 206f 7074 696f Internal optio │ │ │ │ │ -00021670: 6e73 2e20 2020 2028 6c69 6e65 2020 2036 ns. (line 6 │ │ │ │ │ -00021680: 290a 2a20 696e 7465 726e 616c 206f 7074 ).* internal opt │ │ │ │ │ -00021690: 696f 6e73 203c 313e 3a20 2020 2020 2020 ions <1>: │ │ │ │ │ -000216a0: 2020 2020 2020 2020 2020 2047 6c6f 6261 Globa │ │ │ │ │ -000216b0: 6c20 6f70 7469 6f6e 732e 2020 2020 2020 l options. │ │ │ │ │ -000216c0: 286c 696e 6520 2031 3229 0a2a 206b 6579 (line 12).* key │ │ │ │ │ -000216d0: 776f 7264 733a 2020 2020 2020 2020 2020 words: │ │ │ │ │ +00021580: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi │ │ │ │ │ +00021590: 6373 2e20 2020 2020 286c 696e 6520 2031 cs. (line 1 │ │ │ │ │ +000215a0: 3929 0a2a 2069 6e70 7574 2066 696c 653a 9).* input file: │ │ │ │ │ +000215b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000215c0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ +000215d0: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. │ │ │ │ │ +000215e0: 2028 6c69 6e65 2020 2036 290a 2a20 696e (line 6).* in │ │ │ │ │ +000215f0: 7465 726e 616c 206f 7074 696f 6e3a 2020 ternal option: │ │ │ │ │ +00021600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021610: 2020 2020 2053 7065 6369 616c 206f 626a Special obj │ │ │ │ │ +00021620: 6563 7473 2e20 2020 2020 286c 696e 6520 ects. (line │ │ │ │ │ +00021630: 2034 3729 0a2a 2069 6e74 6572 6e61 6c20 47).* internal │ │ │ │ │ +00021640: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: │ │ │ │ │ +00021650: 2020 2020 2020 2020 2020 2020 2020 496e In │ │ │ │ │ +00021660: 7465 726e 616c 206f 7074 696f 6e73 2e20 ternal options. │ │ │ │ │ +00021670: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00021680: 696e 7465 726e 616c 206f 7074 696f 6e73 internal options │ │ │ │ │ +00021690: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000216a0: 2020 2020 2020 2047 6c6f 6261 6c20 6f70 Global op │ │ │ │ │ +000216b0: 7469 6f6e 732e 2020 2020 2020 286c 696e tions. (lin │ │ │ │ │ +000216c0: 6520 2031 3229 0a2a 206b 6579 776f 7264 e 12).* keyword │ │ │ │ │ +000216d0: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ 000216e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000216f0: 2020 2020 4b65 7920 616e 6420 7265 7365 Key and rese │ │ │ │ │ -00021700: 7276 6564 2077 6f72 6473 2e0a 2020 2020 rved words.. │ │ │ │ │ +000216f0: 4b65 7920 616e 6420 7265 7365 7276 6564 Key and reserved │ │ │ │ │ +00021700: 2077 6f72 6473 2e0a 2020 2020 2020 2020 words.. │ │ │ │ │ 00021710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021740: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00021750: 2020 3629 0a2a 206c 6162 656c 733a 2020 6).* labels: │ │ │ │ │ +00021740: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ +00021750: 0a2a 206c 6162 656c 733a 2020 2020 2020 .* labels: │ │ │ │ │ 00021760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021770: 2020 2020 2020 2020 2020 2020 2020 5370 Sp │ │ │ │ │ -00021780: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. │ │ │ │ │ -00021790: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -000217a0: 6c61 6e67 7561 6765 2c20 6465 636c 6172 language, declar │ │ │ │ │ -000217b0: 6174 6976 653a 2020 2020 2020 2020 2020 ative: │ │ │ │ │ -000217c0: 2020 2020 2020 204c 616e 6775 6167 6520 Language │ │ │ │ │ -000217d0: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin │ │ │ │ │ -000217e0: 6520 2020 3829 0a2a 206c 616e 6775 6167 e 8).* languag │ │ │ │ │ -000217f0: 652c 206f 7574 7075 743a 2020 2020 2020 e, output: │ │ │ │ │ -00021800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021810: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. │ │ │ │ │ -00021820: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00021830: 2a20 6c61 6e67 7561 6765 2c20 7363 656e * language, scen │ │ │ │ │ -00021840: 6520 6465 7363 7269 7074 696f 6e3a 2020 e description: │ │ │ │ │ -00021850: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ -00021860: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l │ │ │ │ │ -00021870: 696e 6520 2020 3829 0a2a 206c 6578 6963 ine 8).* lexic │ │ │ │ │ -00021880: 616c 2073 636f 7065 3a20 2020 2020 2020 al scope: │ │ │ │ │ -00021890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000218a0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ -000218b0: 726d 732e 2020 2028 6c69 6e65 2020 3236 rms. (line 26 │ │ │ │ │ -000218c0: 290a 2a20 6c65 7869 6361 6c20 7363 6f70 ).* lexical scop │ │ │ │ │ -000218d0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ -000218e0: 2020 2020 2020 2020 2020 2042 6c6f 636b Block │ │ │ │ │ -000218f0: 732e 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ -00021900: 286c 696e 6520 2031 3329 0a2a 206c 696e (line 13).* lin │ │ │ │ │ -00021910: 6520 7377 6565 703a 2020 2020 2020 2020 e sweep: │ │ │ │ │ +00021770: 2020 2020 2020 2020 2020 5370 6563 6961 Specia │ │ │ │ │ +00021780: 6c20 6f62 6a65 6374 732e 2020 2020 2028 l objects. ( │ │ │ │ │ +00021790: 6c69 6e65 2020 2036 290a 2a20 6c61 6e67 line 6).* lang │ │ │ │ │ +000217a0: 7561 6765 2c20 6465 636c 6172 6174 6976 uage, declarativ │ │ │ │ │ +000217b0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +000217c0: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi │ │ │ │ │ +000217d0: 6373 2e20 2020 2020 286c 696e 6520 2020 cs. (line │ │ │ │ │ +000217e0: 3829 0a2a 206c 616e 6775 6167 652c 206f 8).* language, o │ │ │ │ │ +000217f0: 7574 7075 743a 2020 2020 2020 2020 2020 utput: │ │ │ │ │ +00021800: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ +00021810: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. │ │ │ │ │ +00021820: 2028 6c69 6e65 2020 2036 290a 2a20 6c61 (line 6).* la │ │ │ │ │ +00021830: 6e67 7561 6765 2c20 7363 656e 6520 6465 nguage, scene de │ │ │ │ │ +00021840: 7363 7269 7074 696f 6e3a 2020 2020 2020 scription: │ │ │ │ │ +00021850: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba │ │ │ │ │ +00021860: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line │ │ │ │ │ +00021870: 2020 3829 0a2a 206c 6578 6963 616c 2073 8).* lexical s │ │ │ │ │ +00021880: 636f 7065 3a20 2020 2020 2020 2020 2020 cope: │ │ │ │ │ +00021890: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob │ │ │ │ │ +000218a0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ +000218b0: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* │ │ │ │ │ +000218c0: 6c65 7869 6361 6c20 7363 6f70 6520 3c31 lexical scope <1 │ │ │ │ │ +000218d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +000218e0: 2020 2020 2020 2042 6c6f 636b 732e 2020 Blocks. │ │ │ │ │ +000218f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00021900: 6520 2031 3329 0a2a 206c 696e 6520 7377 e 13).* line sw │ │ │ │ │ +00021910: 6565 703a 2020 2020 2020 2020 2020 2020 eep: │ │ │ │ │ 00021920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021930: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ -00021940: 6570 732e 2020 2020 2028 6c69 6e65 2020 eps. (line │ │ │ │ │ -00021950: 2036 290a 2a20 6c69 6e65 2073 7765 6570 6).* line sweep │ │ │ │ │ -00021960: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00021970: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00021980: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ -00021990: 2020 286c 696e 6520 2020 3629 0a2a 206c (line 6).* l │ │ │ │ │ -000219a0: 696e 6520 7377 6565 7020 3c32 3e3a 2020 ine sweep <2>: │ │ │ │ │ +00021930: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ +00021940: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +00021950: 2a20 6c69 6e65 2073 7765 6570 203c 313e * line sweep <1> │ │ │ │ │ +00021960: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00021970: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ +00021980: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ +00021990: 696e 6520 2020 3629 0a2a 206c 696e 6520 ine 6).* line │ │ │ │ │ +000219a0: 7377 6565 7020 3c32 3e3a 2020 2020 2020 sweep <2>: │ │ │ │ │ 000219b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000219c0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ -000219d0: 6c20 6472 6177 696e 672e 2028 6c69 6e65 l drawing. (line │ │ │ │ │ -000219e0: 2020 3230 290a 2a20 6c69 7465 7261 6c2c 20).* literal, │ │ │ │ │ -000219f0: 2070 6f69 6e74 3a20 2020 2020 2020 2020 point: │ │ │ │ │ -00021a00: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -00021a10: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector │ │ │ │ │ -00021a20: 6c69 7465 7261 6c73 2e0a 2020 2020 2020 literals.. │ │ │ │ │ +000219c0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +000219d0: 6177 696e 672e 2028 6c69 6e65 2020 3230 awing. (line 20 │ │ │ │ │ +000219e0: 290a 2a20 6c69 7465 7261 6c2c 2070 6f69 ).* literal, poi │ │ │ │ │ +000219f0: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: │ │ │ │ │ +00021a00: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point │ │ │ │ │ +00021a10: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite │ │ │ │ │ +00021a20: 7261 6c73 2e0a 2020 2020 2020 2020 2020 rals.. │ │ │ │ │ 00021a30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021a60: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -00021a70: 3629 0a2a 206c 6974 6572 616c 2c20 7363 6).* literal, sc │ │ │ │ │ -00021a80: 616c 6172 3a20 2020 2020 2020 2020 2020 alar: │ │ │ │ │ -00021a90: 2020 2020 2020 2020 2020 2020 5363 616c Scal │ │ │ │ │ -00021aa0: 6172 206c 6974 6572 616c 732e 2020 2020 ar literals. │ │ │ │ │ -00021ab0: 2028 6c69 6e65 2020 2036 290a 2a20 6c69 (line 6).* li │ │ │ │ │ -00021ac0: 7465 7261 6c2c 2074 7261 6e73 666f 726d teral, transform │ │ │ │ │ -00021ad0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00021ae0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -00021af0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ -00021b00: 2020 3629 0a2a 206c 6974 6572 616c 2c20 6).* literal, │ │ │ │ │ -00021b10: 7665 6374 6f72 3a20 2020 2020 2020 2020 vector: │ │ │ │ │ -00021b20: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -00021b30: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l │ │ │ │ │ -00021b40: 6974 6572 616c 732e 0a20 2020 2020 2020 iterals.. │ │ │ │ │ +00021a60: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +00021a70: 206c 6974 6572 616c 2c20 7363 616c 6172 literal, scalar │ │ │ │ │ +00021a80: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00021a90: 2020 2020 2020 2020 5363 616c 6172 206c Scalar l │ │ │ │ │ +00021aa0: 6974 6572 616c 732e 2020 2020 2028 6c69 iterals. (li │ │ │ │ │ +00021ab0: 6e65 2020 2036 290a 2a20 6c69 7465 7261 ne 6).* litera │ │ │ │ │ +00021ac0: 6c2c 2074 7261 6e73 666f 726d 3a20 2020 l, transform: │ │ │ │ │ +00021ad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021ae0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00021af0: 616c 732e 2020 286c 696e 6520 2020 3629 als. (line 6) │ │ │ │ │ +00021b00: 0a2a 206c 6974 6572 616c 2c20 7665 6374 .* literal, vect │ │ │ │ │ +00021b10: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: │ │ │ │ │ +00021b20: 2020 2020 2020 2020 2020 506f 696e 7420 Point │ │ │ │ │ +00021b30: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter │ │ │ │ │ +00021b40: 616c 732e 0a20 2020 2020 2020 2020 2020 als.. │ │ │ │ │ 00021b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021b60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021b80: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -00021b90: 290a 2a20 6e65 7374 696e 672c 2073 7765 ).* nesting, swe │ │ │ │ │ -00021ba0: 7074 206f 626a 6563 743a 2020 2020 2020 pt object: │ │ │ │ │ -00021bb0: 2020 2020 2020 2020 2020 204e 6573 7465 Neste │ │ │ │ │ -00021bc0: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. │ │ │ │ │ -00021bd0: 286c 696e 6520 2032 3229 0a2a 206f 6e65 (line 22).* one │ │ │ │ │ -00021be0: 2d6f 7065 7261 6e64 2066 6f72 6d3a 2020 -operand form: │ │ │ │ │ +00021b80: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00021b90: 6e65 7374 696e 672c 2073 7765 7074 206f nesting, swept o │ │ │ │ │ +00021ba0: 626a 6563 743a 2020 2020 2020 2020 2020 bject: │ │ │ │ │ +00021bb0: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw │ │ │ │ │ +00021bc0: 6565 7073 2e20 2020 2020 2020 286c 696e eeps. (lin │ │ │ │ │ +00021bd0: 6520 2032 3229 0a2a 206f 6e65 2d6f 7065 e 22).* one-ope │ │ │ │ │ +00021be0: 7261 6e64 2066 6f72 6d3a 2020 2020 2020 rand form: │ │ │ │ │ 00021bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021c00: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms. │ │ │ │ │ -00021c10: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00021c20: 2036 290a 2a20 6f70 6572 6174 6f72 2061 6).* operator a │ │ │ │ │ -00021c30: 7373 6f63 6961 7469 7669 7479 3a20 2020 ssociativity: │ │ │ │ │ -00021c40: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ -00021c50: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ -00021c60: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ +00021c00: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. │ │ │ │ │ +00021c10: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +00021c20: 2a20 6f70 6572 6174 6f72 2061 7373 6f63 * operator assoc │ │ │ │ │ +00021c30: 6961 7469 7669 7479 3a20 2020 2020 2020 iativity: │ │ │ │ │ +00021c40: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ +00021c50: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ +00021c60: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ 00021c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021ca0: 2020 2020 2020 2028 6c69 6e65 2020 3538 (line 58 │ │ │ │ │ -00021cb0: 290a 2a20 6f70 6572 6174 6f72 2070 7265 ).* operator pre │ │ │ │ │ -00021cc0: 6365 6465 6e63 653a 2020 2020 2020 2020 cedence: │ │ │ │ │ -00021cd0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ -00021ce0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -00021cf0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ +00021ca0: 2020 2028 6c69 6e65 2020 3538 290a 2a20 (line 58).* │ │ │ │ │ +00021cb0: 6f70 6572 6174 6f72 2070 7265 6365 6465 operator precede │ │ │ │ │ +00021cc0: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: │ │ │ │ │ +00021cd0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera │ │ │ │ │ +00021ce0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form │ │ │ │ │ +00021cf0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ 00021d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021d30: 2020 2020 2028 6c69 6e65 2020 3435 290a (line 45). │ │ │ │ │ -00021d40: 2a20 6f70 7469 6f6e 3a20 2020 2020 2020 * option: │ │ │ │ │ +00021d30: 2028 6c69 6e65 2020 3435 290a 2a20 6f70 (line 45).* op │ │ │ │ │ +00021d40: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ 00021d50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021d60: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -00021d70: 206f 7074 696f 6e73 2e20 2020 2020 286c options. (l │ │ │ │ │ -00021d80: 696e 6520 2020 3629 0a2a 206f 7074 696f ine 6).* optio │ │ │ │ │ -00021d90: 6e2c 2063 6f6d 6d61 6e64 206c 696e 653a n, command line: │ │ │ │ │ -00021da0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021db0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ -00021dc0: 2020 2020 2020 2028 6c69 6e65 2020 3330 (line 30 │ │ │ │ │ -00021dd0: 290a 2a20 6f70 7469 6f6e 2c20 696e 7465 ).* option, inte │ │ │ │ │ -00021de0: 726e 616c 3a20 2020 2020 2020 2020 2020 rnal: │ │ │ │ │ -00021df0: 2020 2020 2020 2020 2020 2053 7065 6369 Speci │ │ │ │ │ -00021e00: 616c 206f 626a 6563 7473 2e20 2020 2020 al objects. │ │ │ │ │ -00021e10: 286c 696e 6520 2034 3729 0a2a 206f 7074 (line 47).* opt │ │ │ │ │ -00021e20: 696f 6e73 3a20 2020 2020 2020 2020 2020 ions: │ │ │ │ │ +00021d60: 2020 2020 2044 7261 7769 6e67 206f 7074 Drawing opt │ │ │ │ │ +00021d70: 696f 6e73 2e20 2020 2020 286c 696e 6520 ions. (line │ │ │ │ │ +00021d80: 2020 3629 0a2a 206f 7074 696f 6e2c 2063 6).* option, c │ │ │ │ │ +00021d90: 6f6d 6d61 6e64 206c 696e 653a 2020 2020 ommand line: │ │ │ │ │ +00021da0: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ +00021db0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ +00021dc0: 2020 2028 6c69 6e65 2020 3330 290a 2a20 (line 30).* │ │ │ │ │ +00021dd0: 6f70 7469 6f6e 2c20 696e 7465 726e 616c option, internal │ │ │ │ │ +00021de0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00021df0: 2020 2020 2020 2053 7065 6369 616c 206f Special o │ │ │ │ │ +00021e00: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin │ │ │ │ │ +00021e10: 6520 2034 3729 0a2a 206f 7074 696f 6e73 e 47).* options │ │ │ │ │ +00021e20: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ 00021e30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021e40: 2020 2020 4f70 7469 6f6e 732e 2020 2020 Options. │ │ │ │ │ -00021e50: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00021e60: 2036 290a 2a20 6f70 7469 6f6e 7320 6465 6).* options de │ │ │ │ │ -00021e70: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: │ │ │ │ │ -00021e80: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ -00021e90: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ -00021ea0: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. │ │ │ │ │ +00021e40: 4f70 7469 6f6e 732e 2020 2020 2020 2020 Options. │ │ │ │ │ +00021e50: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +00021e60: 2a20 6f70 7469 6f6e 7320 6465 6669 6e69 * options defini │ │ │ │ │ +00021e70: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ +00021e80: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin │ │ │ │ │ +00021e90: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl │ │ │ │ │ +00021ea0: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. │ │ │ │ │ 00021eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021ec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021ed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021ee0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00021ef0: 3233 290a 2a20 6f70 7469 6f6e 7320 6d75 23).* options mu │ │ │ │ │ -00021f00: 6c74 6970 6c65 2072 6566 6572 656e 6365 ltiple reference │ │ │ │ │ -00021f10: 3a20 2020 2020 2020 2020 2020 2046 6f72 : For │ │ │ │ │ -00021f20: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ -00021f30: 2e20 286c 696e 6520 2031 3829 0a2a 206f . (line 18).* o │ │ │ │ │ -00021f40: 7074 696f 6e73 2072 6566 6572 656e 6365 ptions reference │ │ │ │ │ -00021f50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00021f60: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ -00021f70: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line │ │ │ │ │ -00021f80: 2020 3138 290a 2a20 6f70 7469 6f6e 732c 18).* options, │ │ │ │ │ -00021f90: 2063 6f6d 6d61 6e64 206c 696e 653a 2020 command line: │ │ │ │ │ -00021fa0: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ -00021fb0: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. │ │ │ │ │ -00021fc0: 2020 2020 286c 696e 6520 2031 3429 0a2a (line 14).* │ │ │ │ │ -00021fd0: 206f 7074 696f 6e73 2c20 676c 6f62 616c options, global │ │ │ │ │ -00021fe0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00021ff0: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ -00022000: 6f70 7469 6f6e 732e 2020 2020 2028 6c69 options. (li │ │ │ │ │ -00022010: 6e65 2020 3138 290a 2a20 6f70 7469 6f6e ne 18).* option │ │ │ │ │ -00022020: 732c 2067 6c6f 6261 6c20 3c31 3e3a 2020 s, global <1>: │ │ │ │ │ -00022030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022040: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732e Global options. │ │ │ │ │ -00022050: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00022060: 0a2a 206f 7074 696f 6e73 2c20 696e 7465 .* options, inte │ │ │ │ │ -00022070: 726e 616c 3a20 2020 2020 2020 2020 2020 rnal: │ │ │ │ │ -00022080: 2020 2020 2020 2020 2020 496e 7465 726e Intern │ │ │ │ │ -00022090: 616c 206f 7074 696f 6e73 2e20 2020 2028 al options. ( │ │ │ │ │ -000220a0: 6c69 6e65 2020 2036 290a 2a20 6f70 7469 line 6).* opti │ │ │ │ │ -000220b0: 6f6e 732c 2069 6e74 6572 6e61 6c20 3c31 ons, internal <1 │ │ │ │ │ -000220c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000220d0: 2020 2047 6c6f 6261 6c20 6f70 7469 6f6e Global option │ │ │ │ │ -000220e0: 732e 2020 2020 2020 286c 696e 6520 2031 s. (line 1 │ │ │ │ │ -000220f0: 3229 0a2a 206f 7074 696f 6e73 2c20 7377 2).* options, sw │ │ │ │ │ -00022100: 6565 703a 2020 2020 2020 2020 2020 2020 eep: │ │ │ │ │ -00022110: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ -00022120: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ -00022130: 2028 6c69 6e65 2020 3136 290a 2a20 6f70 (line 16).* op │ │ │ │ │ -00022140: 7469 6f6e 732c 2073 7765 6570 203c 313e tions, sweep <1> │ │ │ │ │ -00022150: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00022160: 2020 2020 2050 6f6c 7967 6f6e 2073 7765 Polygon swe │ │ │ │ │ -00022170: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line │ │ │ │ │ -00022180: 2020 3929 0a2a 206f 7074 696f 6e73 2c20 9).* options, │ │ │ │ │ -00022190: 7377 6565 7020 3c32 3e3a 2020 2020 2020 sweep <2>: │ │ │ │ │ -000221a0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -000221b0: 6570 7420 706f 696e 7473 2e20 2020 2020 ept points. │ │ │ │ │ -000221c0: 2020 2028 6c69 6e65 2020 3231 290a 2a20 (line 21).* │ │ │ │ │ -000221d0: 6f70 7469 6f6e 732c 2073 7765 6570 203c options, sweep < │ │ │ │ │ -000221e0: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ -000221f0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin │ │ │ │ │ -00022200: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin │ │ │ │ │ -00022210: 6520 2032 3529 0a2a 206f 7074 696f 6e73 e 25).* options │ │ │ │ │ -00022220: 2c20 7377 6565 7020 3c34 3e3a 2020 2020 , sweep <4>: │ │ │ │ │ -00022230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022240: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ -00022250: 2020 2020 2028 6c69 6e65 2020 3438 290a (line 48). │ │ │ │ │ -00022260: 2a20 6f70 7469 6f6e 732c 2073 7765 7074 * options, swept │ │ │ │ │ -00022270: 206f 626a 6563 743a 2020 2020 2020 2020 object: │ │ │ │ │ -00022280: 2020 2020 2020 2020 2050 6f6c 7967 6f6e Polygon │ │ │ │ │ -00022290: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l │ │ │ │ │ -000222a0: 696e 6520 2020 3829 0a2a 206f 7074 696f ine 8).* optio │ │ │ │ │ -000222b0: 6e73 2c20 7377 6570 7420 6f62 6a65 6374 ns, swept object │ │ │ │ │ -000222c0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -000222d0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -000222e0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure.. │ │ │ │ │ +00021ee0: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23). │ │ │ │ │ +00021ef0: 2a20 6f70 7469 6f6e 7320 6d75 6c74 6970 * options multip │ │ │ │ │ +00021f00: 6c65 2072 6566 6572 656e 6365 3a20 2020 le reference: │ │ │ │ │ +00021f10: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ +00021f20: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l │ │ │ │ │ +00021f30: 696e 6520 2031 3829 0a2a 206f 7074 696f ine 18).* optio │ │ │ │ │ +00021f40: 6e73 2072 6566 6572 656e 6365 3a20 2020 ns reference: │ │ │ │ │ +00021f50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021f60: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ +00021f70: 656e 6365 732e 2028 6c69 6e65 2020 3138 ences. (line 18 │ │ │ │ │ +00021f80: 290a 2a20 6f70 7469 6f6e 732c 2063 6f6d ).* options, com │ │ │ │ │ +00021f90: 6d61 6e64 206c 696e 653a 2020 2020 2020 mand line: │ │ │ │ │ +00021fa0: 2020 2020 2020 2020 2020 2043 6f6d 6d61 Comma │ │ │ │ │ +00021fb0: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. │ │ │ │ │ +00021fc0: 286c 696e 6520 2031 3429 0a2a 206f 7074 (line 14).* opt │ │ │ │ │ +00021fd0: 696f 6e73 2c20 676c 6f62 616c 3a20 2020 ions, global: │ │ │ │ │ +00021fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021ff0: 2020 2020 4472 6177 696e 6720 6f70 7469 Drawing opti │ │ │ │ │ +00022000: 6f6e 732e 2020 2020 2028 6c69 6e65 2020 ons. (line │ │ │ │ │ +00022010: 3138 290a 2a20 6f70 7469 6f6e 732c 2067 18).* options, g │ │ │ │ │ +00022020: 6c6f 6261 6c20 3c31 3e3a 2020 2020 2020 lobal <1>: │ │ │ │ │ +00022030: 2020 2020 2020 2020 2020 2020 2047 6c6f Glo │ │ │ │ │ +00022040: 6261 6c20 6f70 7469 6f6e 732e 2020 2020 bal options. │ │ │ │ │ +00022050: 2020 286c 696e 6520 2020 3629 0a2a 206f (line 6).* o │ │ │ │ │ +00022060: 7074 696f 6e73 2c20 696e 7465 726e 616c ptions, internal │ │ │ │ │ +00022070: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00022080: 2020 2020 2020 496e 7465 726e 616c 206f Internal o │ │ │ │ │ +00022090: 7074 696f 6e73 2e20 2020 2028 6c69 6e65 ptions. (line │ │ │ │ │ +000220a0: 2020 2036 290a 2a20 6f70 7469 6f6e 732c 6).* options, │ │ │ │ │ +000220b0: 2069 6e74 6572 6e61 6c20 3c31 3e3a 2020 internal <1>: │ │ │ │ │ +000220c0: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ +000220d0: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. │ │ │ │ │ +000220e0: 2020 2020 286c 696e 6520 2031 3229 0a2a (line 12).* │ │ │ │ │ +000220f0: 206f 7074 696f 6e73 2c20 7377 6565 703a options, sweep: │ │ │ │ │ +00022100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022110: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +00022120: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ +00022130: 6e65 2020 3136 290a 2a20 6f70 7469 6f6e ne 16).* option │ │ │ │ │ +00022140: 732c 2073 7765 6570 203c 313e 3a20 2020 s, sweep <1>: │ │ │ │ │ +00022150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022160: 2050 6f6c 7967 6f6e 2073 7765 6570 732e Polygon sweeps. │ │ │ │ │ +00022170: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9) │ │ │ │ │ +00022180: 0a2a 206f 7074 696f 6e73 2c20 7377 6565 .* options, swee │ │ │ │ │ +00022190: 7020 3c32 3e3a 2020 2020 2020 2020 2020 p <2>: │ │ │ │ │ +000221a0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +000221b0: 706f 696e 7473 2e20 2020 2020 2020 2028 points. ( │ │ │ │ │ +000221c0: 6c69 6e65 2020 3231 290a 2a20 6f70 7469 line 21).* opti │ │ │ │ │ +000221d0: 6f6e 732c 2073 7765 6570 203c 333e 3a20 ons, sweep <3>: │ │ │ │ │ +000221e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000221f0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ +00022200: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2 │ │ │ │ │ +00022210: 3529 0a2a 206f 7074 696f 6e73 2c20 7377 5).* options, sw │ │ │ │ │ +00022220: 6565 7020 3c34 3e3a 2020 2020 2020 2020 eep <4>: │ │ │ │ │ +00022230: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +00022240: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. │ │ │ │ │ +00022250: 2028 6c69 6e65 2020 3438 290a 2a20 6f70 (line 48).* op │ │ │ │ │ +00022260: 7469 6f6e 732c 2073 7765 7074 206f 626a tions, swept obj │ │ │ │ │ +00022270: 6563 743a 2020 2020 2020 2020 2020 2020 ect: │ │ │ │ │ +00022280: 2020 2020 2050 6f6c 7967 6f6e 2073 7765 Polygon swe │ │ │ │ │ +00022290: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line │ │ │ │ │ +000222a0: 2020 3829 0a2a 206f 7074 696f 6e73 2c20 8).* options, │ │ │ │ │ +000222b0: 7377 6570 7420 6f62 6a65 6374 203c 313e swept object <1> │ │ │ │ │ +000222c0: 3a20 2020 2020 2020 2020 2020 2020 506f : Po │ │ │ │ │ +000222d0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ +000222e0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ 000222f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022320: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00022330: 696e 6520 2032 3229 0a2a 206f 7074 696f ine 22).* optio │ │ │ │ │ -00022340: 6e73 2c20 7377 6570 7420 6f62 6a65 6374 ns, swept object │ │ │ │ │ -00022350: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -00022360: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ -00022370: 2020 2020 2020 2028 6c69 6e65 2020 3236 (line 26 │ │ │ │ │ -00022380: 290a 2a20 6f70 7469 6f6e 732c 2073 7765 ).* options, swe │ │ │ │ │ -00022390: 7074 206f 626a 6563 7420 3c33 3e3a 2020 pt object <3>: │ │ │ │ │ -000223a0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -000223b0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ -000223c0: 286c 696e 6520 2034 3829 0a2a 206f 7264 (line 48).* ord │ │ │ │ │ -000223d0: 6572 2c20 706f 6c79 676f 6e20 7665 7274 er, polygon vert │ │ │ │ │ -000223e0: 6578 3a20 2020 2020 2020 2020 2020 2020 ex: │ │ │ │ │ -000223f0: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ -00022400: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00022410: 3339 290a 2a20 6f72 6465 722c 2070 6f6c 39).* order, pol │ │ │ │ │ -00022420: 7967 6f6e 2076 6572 7465 7820 3c31 3e3a ygon vertex <1>: │ │ │ │ │ -00022430: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00022440: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ -00022450: 2020 286c 696e 6520 2031 3429 0a2a 206f (line 14).* o │ │ │ │ │ -00022460: 7264 6572 2c20 706f 6c79 676f 6e20 7665 rder, polygon ve │ │ │ │ │ -00022470: 7274 6578 203c 323e 3a20 2020 2020 2020 rtex <2>: │ │ │ │ │ -00022480: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line │ │ │ │ │ -00022490: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ -000224a0: 2020 3430 290a 2a20 6f72 6465 722c 2070 40).* order, p │ │ │ │ │ -000224b0: 6f6c 7967 6f6e 2076 6572 7465 7820 3c33 olygon vertex <3 │ │ │ │ │ -000224c0: 3e3a 2020 2020 2020 2020 2020 2020 2053 >: S │ │ │ │ │ -000224d0: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. │ │ │ │ │ -000224e0: 2020 2020 286c 696e 6520 2031 3929 0a2a (line 19).* │ │ │ │ │ -000224f0: 206f 7264 6572 2c20 706f 6c79 676f 6e20 order, polygon │ │ │ │ │ -00022500: 7665 7274 6578 203c 343e 3a20 2020 2020 vertex <4>: │ │ │ │ │ -00022510: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ -00022520: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ -00022530: 6e65 2020 3337 290a 2a20 6f72 6465 722c ne 37).* order, │ │ │ │ │ -00022540: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex │ │ │ │ │ -00022550: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ -00022560: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ -00022570: 2020 2020 2020 286c 696e 6520 2035 3529 (line 55) │ │ │ │ │ -00022580: 0a2a 206f 7574 7075 7420 6c61 6e67 7561 .* output langua │ │ │ │ │ -00022590: 6765 3a20 2020 2020 2020 2020 2020 2020 ge: │ │ │ │ │ -000225a0: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua │ │ │ │ │ -000225b0: 6765 2e20 2020 2020 2020 2020 2020 2028 ge. ( │ │ │ │ │ -000225c0: 6c69 6e65 2020 2036 290a 2a20 6f75 7473 line 6).* outs │ │ │ │ │ -000225d0: 6964 6520 6f66 2061 2070 6f6c 7967 6f6e ide of a polygon │ │ │ │ │ -000225e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000225f0: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. │ │ │ │ │ -00022600: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3 │ │ │ │ │ -00022610: 3729 0a2a 2070 6172 616c 6c65 6c20 7072 7).* parallel pr │ │ │ │ │ -00022620: 6f6a 6563 7469 6f6e 3a20 2020 2020 2020 ojection: │ │ │ │ │ -00022630: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell │ │ │ │ │ -00022640: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. │ │ │ │ │ -00022650: 2028 6c69 6e65 2020 3236 290a 2a20 7061 (line 26).* pa │ │ │ │ │ -00022660: 7261 6c6c 656c 2070 726f 6a65 6374 696f rallel projectio │ │ │ │ │ -00022670: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ -00022680: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -00022690: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ -000226a0: 2031 3829 0a2a 2070 6172 616c 6c65 6c20 18).* parallel │ │ │ │ │ -000226b0: 7072 6f6a 6563 7469 6f6e 203c 323e 3a20 projection <2>: │ │ │ │ │ -000226c0: 2020 2020 2020 2020 2020 2020 2020 5069 Pi │ │ │ │ │ -000226d0: 6374 7572 6520 626f 782e 2020 2020 2020 cture box. │ │ │ │ │ -000226e0: 2020 2028 6c69 6e65 2020 3135 290a 2a20 (line 15).* │ │ │ │ │ -000226f0: 7061 7265 6e74 6865 7365 733a 2020 2020 parentheses: │ │ │ │ │ +00022320: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00022330: 2032 3229 0a2a 206f 7074 696f 6e73 2c20 22).* options, │ │ │ │ │ +00022340: 7377 6570 7420 6f62 6a65 6374 203c 323e swept object <2> │ │ │ │ │ +00022350: 3a20 2020 2020 2020 2020 2020 2020 5377 : Sw │ │ │ │ │ +00022360: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. │ │ │ │ │ +00022370: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* │ │ │ │ │ +00022380: 6f70 7469 6f6e 732c 2073 7765 7074 206f options, swept o │ │ │ │ │ +00022390: 626a 6563 7420 3c33 3e3a 2020 2020 2020 bject <3>: │ │ │ │ │ +000223a0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin │ │ │ │ │ +000223b0: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin │ │ │ │ │ +000223c0: 6520 2034 3829 0a2a 206f 7264 6572 2c20 e 48).* order, │ │ │ │ │ +000223d0: 706f 6c79 676f 6e20 7665 7274 6578 3a20 polygon vertex: │ │ │ │ │ +000223e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000223f0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ +00022400: 2020 2020 2028 6c69 6e65 2020 3339 290a (line 39). │ │ │ │ │ +00022410: 2a20 6f72 6465 722c 2070 6f6c 7967 6f6e * order, polygon │ │ │ │ │ +00022420: 2076 6572 7465 7820 3c31 3e3a 2020 2020 vertex <1>: │ │ │ │ │ +00022430: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ +00022440: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ +00022450: 696e 6520 2031 3429 0a2a 206f 7264 6572 ine 14).* order │ │ │ │ │ +00022460: 2c20 706f 6c79 676f 6e20 7665 7274 6578 , polygon vertex │ │ │ │ │ +00022470: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00022480: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ +00022490: 2020 2020 2020 2028 6c69 6e65 2020 3430 (line 40 │ │ │ │ │ +000224a0: 290a 2a20 6f72 6465 722c 2070 6f6c 7967 ).* order, polyg │ │ │ │ │ +000224b0: 6f6e 2076 6572 7465 7820 3c33 3e3a 2020 on vertex <3>: │ │ │ │ │ +000224c0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +000224d0: 2070 6f6c 7967 6f6e 732e 2020 2020 2020 polygons. │ │ │ │ │ +000224e0: 286c 696e 6520 2031 3929 0a2a 206f 7264 (line 19).* ord │ │ │ │ │ +000224f0: 6572 2c20 706f 6c79 676f 6e20 7665 7274 er, polygon vert │ │ │ │ │ +00022500: 6578 203c 343e 3a20 2020 2020 2020 2020 ex <4>: │ │ │ │ │ +00022510: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ +00022520: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00022530: 3337 290a 2a20 6f72 6465 722c 2070 6f6c 37).* order, pol │ │ │ │ │ +00022540: 7967 6f6e 2076 6572 7465 7820 3c35 3e3a ygon vertex <5>: │ │ │ │ │ +00022550: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ +00022560: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ +00022570: 2020 286c 696e 6520 2035 3529 0a2a 206f (line 55).* o │ │ │ │ │ +00022580: 7574 7075 7420 6c61 6e67 7561 6765 3a20 utput language: │ │ │ │ │ +00022590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000225a0: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. │ │ │ │ │ +000225b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +000225c0: 2020 2036 290a 2a20 6f75 7473 6964 6520 6).* outside │ │ │ │ │ +000225d0: 6f66 2061 2070 6f6c 7967 6f6e 3a20 2020 of a polygon: │ │ │ │ │ +000225e0: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ +000225f0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. │ │ │ │ │ +00022600: 2020 2020 286c 696e 6520 2033 3729 0a2a (line 37).* │ │ │ │ │ +00022610: 2070 6172 616c 6c65 6c20 7072 6f6a 6563 parallel projec │ │ │ │ │ +00022620: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ +00022630: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ +00022640: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li │ │ │ │ │ +00022650: 6e65 2020 3236 290a 2a20 7061 7261 6c6c ne 26).* parall │ │ │ │ │ +00022660: 656c 2070 726f 6a65 6374 696f 6e20 3c31 el projection <1 │ │ │ │ │ +00022670: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00022680: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00022690: 616c 732e 2020 286c 696e 6520 2031 3829 als. (line 18) │ │ │ │ │ +000226a0: 0a2a 2070 6172 616c 6c65 6c20 7072 6f6a .* parallel proj │ │ │ │ │ +000226b0: 6563 7469 6f6e 203c 323e 3a20 2020 2020 ection <2>: │ │ │ │ │ +000226c0: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur │ │ │ │ │ +000226d0: 6520 626f 782e 2020 2020 2020 2020 2028 e box. ( │ │ │ │ │ +000226e0: 6c69 6e65 2020 3135 290a 2a20 7061 7265 line 15).* pare │ │ │ │ │ +000226f0: 6e74 6865 7365 733a 2020 2020 2020 2020 ntheses: │ │ │ │ │ 00022700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022710: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera │ │ │ │ │ -00022720: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form │ │ │ │ │ -00022730: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ +00022710: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand ( │ │ │ │ │ +00022720: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. │ │ │ │ │ +00022730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022770: 2028 6c69 6e65 2020 3538 290a 2a20 7065 (line 58).* pe │ │ │ │ │ -00022780: 7273 7065 6374 6976 6520 7072 6f6a 6563 rspective projec │ │ │ │ │ -00022790: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ -000227a0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -000227b0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ -000227c0: 2031 3929 0a2a 2070 6572 7370 6563 7469 19).* perspecti │ │ │ │ │ -000227d0: 7665 2070 726f 6a65 6374 696f 6e20 3c31 ve projection <1 │ │ │ │ │ -000227e0: 3e3a 2020 2020 2020 2020 2020 2020 5472 >: Tr │ │ │ │ │ -000227f0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -00022800: 2e20 2028 6c69 6e65 2020 3231 290a 2a20 . (line 21).* │ │ │ │ │ -00022810: 7065 7273 7065 6374 6976 6520 7072 6f6a perspective proj │ │ │ │ │ -00022820: 6563 7469 6f6e 203c 323e 3a20 2020 2020 ection <2>: │ │ │ │ │ -00022830: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ -00022840: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -00022850: 6520 2020 3729 0a2a 2070 6963 7475 7265 e 7).* picture │ │ │ │ │ -00022860: 2062 6f78 3a20 2020 2020 2020 2020 2020 box: │ │ │ │ │ -00022870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022880: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. │ │ │ │ │ -00022890: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -000228a0: 2a20 706c 616e 6172 6974 7920 6f66 2070 * planarity of p │ │ │ │ │ -000228b0: 6f6c 7967 6f6e 733a 2020 2020 2020 2020 olygons: │ │ │ │ │ -000228c0: 2020 2020 2020 2020 2050 6f6c 7967 6f6e Polygon │ │ │ │ │ -000228d0: 732e 2020 2020 2020 2020 2020 2020 286c s. (l │ │ │ │ │ -000228e0: 696e 6520 2031 3029 0a2a 2070 6c61 6e61 ine 10).* plana │ │ │ │ │ -000228f0: 7269 7479 206f 6620 706f 6c79 676f 6e73 rity of polygons │ │ │ │ │ -00022900: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00022910: 2020 5377 6565 7020 6661 6365 2073 706c Sweep face spl │ │ │ │ │ -00022920: 6974 7469 6e67 2e0a 2020 2020 2020 2020 itting.. │ │ │ │ │ +00022760: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00022770: 6e65 2020 3538 290a 2a20 7065 7273 7065 ne 58).* perspe │ │ │ │ │ +00022780: 6374 6976 6520 7072 6f6a 6563 7469 6f6e ctive projection │ │ │ │ │ +00022790: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000227a0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +000227b0: 616c 732e 2020 286c 696e 6520 2031 3929 als. (line 19) │ │ │ │ │ +000227c0: 0a2a 2070 6572 7370 6563 7469 7665 2070 .* perspective p │ │ │ │ │ +000227d0: 726f 6a65 6374 696f 6e20 3c31 3e3a 2020 rojection <1>: │ │ │ │ │ +000227e0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ +000227f0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ +00022800: 6c69 6e65 2020 3231 290a 2a20 7065 7273 line 21).* pers │ │ │ │ │ +00022810: 7065 6374 6976 6520 7072 6f6a 6563 7469 pective projecti │ │ │ │ │ +00022820: 6f6e 203c 323e 3a20 2020 2020 2020 2020 on <2>: │ │ │ │ │ +00022830: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +00022840: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +00022850: 3729 0a2a 2070 6963 7475 7265 2062 6f78 7).* picture box │ │ │ │ │ +00022860: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00022870: 2020 2020 2020 2020 2020 2020 5069 6374 Pict │ │ │ │ │ +00022880: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. │ │ │ │ │ +00022890: 2028 6c69 6e65 2020 2036 290a 2a20 706c (line 6).* pl │ │ │ │ │ +000228a0: 616e 6172 6974 7920 6f66 2070 6f6c 7967 anarity of polyg │ │ │ │ │ +000228b0: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: │ │ │ │ │ +000228c0: 2020 2020 2050 6f6c 7967 6f6e 732e 2020 Polygons. │ │ │ │ │ +000228d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +000228e0: 2031 3029 0a2a 2070 6c61 6e61 7269 7479 10).* planarity │ │ │ │ │ +000228f0: 206f 6620 706f 6c79 676f 6e73 203c 313e of polygons <1> │ │ │ │ │ +00022900: 3a20 2020 2020 2020 2020 2020 2020 5377 : Sw │ │ │ │ │ +00022910: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti │ │ │ │ │ +00022920: 6e67 2e0a 2020 2020 2020 2020 2020 2020 ng.. │ │ │ │ │ 00022930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022960: 2020 2020 2020 286c 696e 6520 2020 3729 (line 7) │ │ │ │ │ -00022970: 0a2a 2070 6f69 6e74 2064 6566 696e 6974 .* point definit │ │ │ │ │ -00022980: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: │ │ │ │ │ -00022990: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ -000229a0: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. ( │ │ │ │ │ -000229b0: 6c69 6e65 2020 3233 290a 2a20 706f 696e line 23).* poin │ │ │ │ │ -000229c0: 7420 6c69 7374 3a20 2020 2020 2020 2020 t list: │ │ │ │ │ -000229d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000229e0: 2020 2053 7765 7074 2070 6f69 6e74 732e Swept points. │ │ │ │ │ -000229f0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -00022a00: 3929 0a2a 2070 6f69 6e74 206c 6974 6572 9).* point liter │ │ │ │ │ -00022a10: 616c 3a20 2020 2020 2020 2020 2020 2020 al: │ │ │ │ │ -00022a20: 2020 2020 2020 2020 2020 2020 506f 696e Poin │ │ │ │ │ -00022a30: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit │ │ │ │ │ -00022a40: 6572 616c 732e 0a20 2020 2020 2020 2020 erals.. │ │ │ │ │ +00022960: 2020 286c 696e 6520 2020 3729 0a2a 2070 (line 7).* p │ │ │ │ │ +00022970: 6f69 6e74 2064 6566 696e 6974 696f 6e3a oint definition: │ │ │ │ │ +00022980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022990: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a │ │ │ │ │ +000229a0: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line │ │ │ │ │ +000229b0: 2020 3233 290a 2a20 706f 696e 7420 6c69 23).* point li │ │ │ │ │ +000229c0: 7374 3a20 2020 2020 2020 2020 2020 2020 st: │ │ │ │ │ +000229d0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +000229e0: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. │ │ │ │ │ +000229f0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).* │ │ │ │ │ +00022a00: 2070 6f69 6e74 206c 6974 6572 616c 3a20 point literal: │ │ │ │ │ +00022a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022a20: 2020 2020 2020 2020 506f 696e 7420 616e Point an │ │ │ │ │ +00022a30: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal │ │ │ │ │ +00022a40: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ 00022a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022a60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022a70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022a80: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00022a90: 2a20 706f 696e 7420 7265 6665 7265 6e63 * point referenc │ │ │ │ │ -00022aa0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -00022ab0: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ -00022ac0: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l │ │ │ │ │ -00022ad0: 696e 6520 2031 3429 0a2a 2070 6f69 6e74 ine 14).* point │ │ │ │ │ -00022ae0: 2073 7765 6570 3a20 2020 2020 2020 2020 sweep: │ │ │ │ │ -00022af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022b00: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects. │ │ │ │ │ -00022b10: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11 │ │ │ │ │ -00022b20: 290a 2a20 706f 696e 7420 7377 6565 7020 ).* point sweep │ │ │ │ │ -00022b30: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00022b40: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00022b50: 2070 6f69 6e74 732e 2020 2020 2020 2020 points. │ │ │ │ │ -00022b60: 286c 696e 6520 2020 3629 0a2a 2070 6f6c (line 6).* pol │ │ │ │ │ -00022b70: 7967 6f6e 2073 7765 6570 3a20 2020 2020 ygon sweep: │ │ │ │ │ +00022a80: 2028 6c69 6e65 2020 2036 290a 2a20 706f (line 6).* po │ │ │ │ │ +00022a90: 696e 7420 7265 6665 7265 6e63 653a 2020 int reference: │ │ │ │ │ +00022aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022ab0: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re │ │ │ │ │ +00022ac0: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line │ │ │ │ │ +00022ad0: 2031 3429 0a2a 2070 6f69 6e74 2073 7765 14).* point swe │ │ │ │ │ +00022ae0: 6570 3a20 2020 2020 2020 2020 2020 2020 ep: │ │ │ │ │ +00022af0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +00022b00: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. │ │ │ │ │ +00022b10: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* │ │ │ │ │ +00022b20: 706f 696e 7420 7377 6565 7020 3c31 3e3a point sweep <1>: │ │ │ │ │ +00022b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022b40: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi │ │ │ │ │ +00022b50: 6e74 732e 2020 2020 2020 2020 286c 696e nts. (lin │ │ │ │ │ +00022b60: 6520 2020 3629 0a2a 2070 6f6c 7967 6f6e e 6).* polygon │ │ │ │ │ +00022b70: 2073 7765 6570 3a20 2020 2020 2020 2020 sweep: │ │ │ │ │ 00022b80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022b90: 2020 2020 506f 6c79 676f 6e20 7377 6565 Polygon swee │ │ │ │ │ -00022ba0: 7073 2e20 2020 2020 2028 6c69 6e65 2020 ps. (line │ │ │ │ │ -00022bb0: 2036 290a 2a20 706f 6c79 676f 6e20 7377 6).* polygon sw │ │ │ │ │ -00022bc0: 6565 7020 3c31 3e3a 2020 2020 2020 2020 eep <1>: │ │ │ │ │ -00022bd0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00022be0: 7074 2070 6f6c 7967 6f6e 732e 2020 2020 pt polygons. │ │ │ │ │ -00022bf0: 2020 286c 696e 6520 2020 3629 0a2a 2070 (line 6).* p │ │ │ │ │ -00022c00: 6f6c 7967 6f6e 2073 7765 6570 203c 323e olygon sweep <2> │ │ │ │ │ -00022c10: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00022c20: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ -00022c30: 6963 616c 206d 6f64 656c 2e0a 2020 2020 ical model.. │ │ │ │ │ +00022b90: 506f 6c79 676f 6e20 7377 6565 7073 2e20 Polygon sweeps. │ │ │ │ │ +00022ba0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +00022bb0: 2a20 706f 6c79 676f 6e20 7377 6565 7020 * polygon sweep │ │ │ │ │ +00022bc0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00022bd0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ +00022be0: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l │ │ │ │ │ +00022bf0: 696e 6520 2020 3629 0a2a 2070 6f6c 7967 ine 6).* polyg │ │ │ │ │ +00022c00: 6f6e 2073 7765 6570 203c 323e 3a20 2020 on sweep <2>: │ │ │ │ │ +00022c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022c20: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ +00022c30: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. │ │ │ │ │ 00022c40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022c70: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00022c80: 3132 3229 0a2a 2070 6f6c 7967 6f6e 2076 122).* polygon v │ │ │ │ │ -00022c90: 6572 7465 7820 6f72 6465 723a 2020 2020 ertex order: │ │ │ │ │ -00022ca0: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ -00022cb0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ -00022cc0: 2020 2028 6c69 6e65 2020 3339 290a 2a20 (line 39).* │ │ │ │ │ -00022cd0: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o │ │ │ │ │ -00022ce0: 7264 6572 203c 313e 3a20 2020 2020 2020 rder <1>: │ │ │ │ │ -00022cf0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin │ │ │ │ │ -00022d00: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin │ │ │ │ │ -00022d10: 6520 2031 3429 0a2a 2070 6f6c 7967 6f6e e 14).* polygon │ │ │ │ │ -00022d20: 2076 6572 7465 7820 6f72 6465 7220 3c32 vertex order <2 │ │ │ │ │ -00022d30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00022d40: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ -00022d50: 2020 2020 2028 6c69 6e65 2020 3430 290a (line 40). │ │ │ │ │ -00022d60: 2a20 706f 6c79 676f 6e20 7665 7274 6578 * polygon vertex │ │ │ │ │ -00022d70: 206f 7264 6572 203c 333e 3a20 2020 2020 order <3>: │ │ │ │ │ -00022d80: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ -00022d90: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l │ │ │ │ │ -00022da0: 696e 6520 2031 3929 0a2a 2070 6f6c 7967 ine 19).* polyg │ │ │ │ │ -00022db0: 6f6e 2076 6572 7465 7820 6f72 6465 7220 on vertex order │ │ │ │ │ -00022dc0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -00022dd0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ -00022de0: 2020 2020 2020 2028 6c69 6e65 2020 3337 (line 37 │ │ │ │ │ -00022df0: 290a 2a20 706f 6c79 676f 6e20 7665 7274 ).* polygon vert │ │ │ │ │ -00022e00: 6578 206f 7264 6572 203c 353e 3a20 2020 ex order <5>: │ │ │ │ │ -00022e10: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ -00022e20: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ -00022e30: 286c 696e 6520 2035 3529 0a2a 2070 6f6c (line 55).* pol │ │ │ │ │ -00022e40: 7967 6f6e 2c20 626f 6479 3a20 2020 2020 ygon, body: │ │ │ │ │ +00022c70: 2020 2020 2020 286c 696e 6520 3132 3229 (line 122) │ │ │ │ │ +00022c80: 0a2a 2070 6f6c 7967 6f6e 2076 6572 7465 .* polygon verte │ │ │ │ │ +00022c90: 7820 6f72 6465 723a 2020 2020 2020 2020 x order: │ │ │ │ │ +00022ca0: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello │ │ │ │ │ +00022cb0: 776f 726c 642e 2020 2020 2020 2020 2028 world. ( │ │ │ │ │ +00022cc0: 6c69 6e65 2020 3339 290a 2a20 706f 6c79 line 39).* poly │ │ │ │ │ +00022cd0: 676f 6e20 7665 7274 6578 206f 7264 6572 gon vertex order │ │ │ │ │ +00022ce0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00022cf0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ +00022d00: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ +00022d10: 3429 0a2a 2070 6f6c 7967 6f6e 2076 6572 4).* polygon ver │ │ │ │ │ +00022d20: 7465 7820 6f72 6465 7220 3c32 3e3a 2020 tex order <2>: │ │ │ │ │ +00022d30: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +00022d40: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. │ │ │ │ │ +00022d50: 2028 6c69 6e65 2020 3430 290a 2a20 706f (line 40).* po │ │ │ │ │ +00022d60: 6c79 676f 6e20 7665 7274 6578 206f 7264 lygon vertex ord │ │ │ │ │ +00022d70: 6572 203c 333e 3a20 2020 2020 2020 2020 er <3>: │ │ │ │ │ +00022d80: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg │ │ │ │ │ +00022d90: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line │ │ │ │ │ +00022da0: 2031 3929 0a2a 2070 6f6c 7967 6f6e 2076 19).* polygon v │ │ │ │ │ +00022db0: 6572 7465 7820 6f72 6465 7220 3c34 3e3a ertex order <4>: │ │ │ │ │ +00022dc0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ +00022dd0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ +00022de0: 2020 2028 6c69 6e65 2020 3337 290a 2a20 (line 37).* │ │ │ │ │ +00022df0: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o │ │ │ │ │ +00022e00: 7264 6572 203c 353e 3a20 2020 2020 2020 rder <5>: │ │ │ │ │ +00022e10: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +00022e20: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00022e30: 6520 2035 3529 0a2a 2070 6f6c 7967 6f6e e 55).* polygon │ │ │ │ │ +00022e40: 2c20 626f 6479 3a20 2020 2020 2020 2020 , body: │ │ │ │ │ 00022e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022e60: 2020 2020 496e 7465 726e 616c 206f 7074 Internal opt │ │ │ │ │ -00022e70: 696f 6e73 2e20 2020 2028 6c69 6e65 2020 ions. (line │ │ │ │ │ -00022e80: 3136 290a 2a20 706f 6c79 676f 6e2c 2062 16).* polygon, b │ │ │ │ │ -00022e90: 6f64 7920 3c31 3e3a 2020 2020 2020 2020 ody <1>: │ │ │ │ │ -00022ea0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00022eb0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ -00022ec0: 2020 286c 696e 6520 2031 3029 0a2a 2070 (line 10).* p │ │ │ │ │ -00022ed0: 6f6c 7967 6f6e 2c20 626f 6479 203c 323e olygon, body <2> │ │ │ │ │ -00022ee0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00022ef0: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly │ │ │ │ │ -00022f00: 676f 6e73 2e20 2020 2020 2028 6c69 6e65 gons. (line │ │ │ │ │ -00022f10: 2020 2039 290a 2a20 706f 6c79 676f 6e2c 9).* polygon, │ │ │ │ │ -00022f20: 2065 6e64 3a20 2020 2020 2020 2020 2020 end: │ │ │ │ │ -00022f30: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00022f40: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. │ │ │ │ │ -00022f50: 2020 2020 286c 696e 6520 2033 3829 0a2a (line 38).* │ │ │ │ │ -00022f60: 2070 6f6c 7967 6f6e 2c20 656e 6420 3c31 polygon, end <1 │ │ │ │ │ -00022f70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00022f80: 2020 2020 2020 2020 5377 6570 7420 706f Swept po │ │ │ │ │ -00022f90: 6c79 676f 6e73 2e20 2020 2020 2028 6c69 lygons. (li │ │ │ │ │ -00022fa0: 6e65 2020 3135 290a 2a20 706f 6c79 676f ne 15).* polygo │ │ │ │ │ -00022fb0: 6e2c 206f 7574 7369 6465 206f 663a 2020 n, outside of: │ │ │ │ │ -00022fc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022fd0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. │ │ │ │ │ -00022fe0: 2020 2020 2020 286c 696e 6520 2033 3729 (line 37) │ │ │ │ │ -00022ff0: 0a2a 2070 6f6c 7967 6f6e 2c20 706c 616e .* polygon, plan │ │ │ │ │ -00023000: 6172 3a20 2020 2020 2020 2020 2020 2020 ar: │ │ │ │ │ -00023010: 2020 2020 2020 2020 2020 506f 6c79 676f Polygo │ │ │ │ │ -00023020: 6e73 2e20 2020 2020 2020 2020 2020 2028 ns. ( │ │ │ │ │ -00023030: 6c69 6e65 2020 3130 290a 2a20 706f 6c79 line 10).* poly │ │ │ │ │ -00023040: 676f 6e2c 2070 6c61 6e61 7220 3c31 3e3a gon, planar <1>: │ │ │ │ │ -00023050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023060: 2020 2053 7765 6570 2066 6163 6520 7370 Sweep face sp │ │ │ │ │ -00023070: 6c69 7474 696e 672e 0a20 2020 2020 2020 litting.. │ │ │ │ │ +00022e60: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options │ │ │ │ │ +00022e70: 2e20 2020 2028 6c69 6e65 2020 3136 290a . (line 16). │ │ │ │ │ +00022e80: 2a20 706f 6c79 676f 6e2c 2062 6f64 7920 * polygon, body │ │ │ │ │ +00022e90: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00022ea0: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ +00022eb0: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ +00022ec0: 696e 6520 2031 3029 0a2a 2070 6f6c 7967 ine 10).* polyg │ │ │ │ │ +00022ed0: 6f6e 2c20 626f 6479 203c 323e 3a20 2020 on, body <2>: │ │ │ │ │ +00022ee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022ef0: 2020 5377 6570 7420 706f 6c79 676f 6e73 Swept polygons │ │ │ │ │ +00022f00: 2e20 2020 2020 2028 6c69 6e65 2020 2039 . (line 9 │ │ │ │ │ +00022f10: 290a 2a20 706f 6c79 676f 6e2c 2065 6e64 ).* polygon, end │ │ │ │ │ +00022f20: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00022f30: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +00022f40: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ +00022f50: 286c 696e 6520 2033 3829 0a2a 2070 6f6c (line 38).* pol │ │ │ │ │ +00022f60: 7967 6f6e 2c20 656e 6420 3c31 3e3a 2020 ygon, end <1>: │ │ │ │ │ +00022f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022f80: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo │ │ │ │ │ +00022f90: 6e73 2e20 2020 2020 2028 6c69 6e65 2020 ns. (line │ │ │ │ │ +00022fa0: 3135 290a 2a20 706f 6c79 676f 6e2c 206f 15).* polygon, o │ │ │ │ │ +00022fb0: 7574 7369 6465 206f 663a 2020 2020 2020 utside of: │ │ │ │ │ +00022fc0: 2020 2020 2020 2020 2020 2020 2048 656c Hel │ │ │ │ │ +00022fd0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. │ │ │ │ │ +00022fe0: 2020 286c 696e 6520 2033 3729 0a2a 2070 (line 37).* p │ │ │ │ │ +00022ff0: 6f6c 7967 6f6e 2c20 706c 616e 6172 3a20 olygon, planar: │ │ │ │ │ +00023000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023010: 2020 2020 2020 506f 6c79 676f 6e73 2e20 Polygons. │ │ │ │ │ +00023020: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00023030: 2020 3130 290a 2a20 706f 6c79 676f 6e2c 10).* polygon, │ │ │ │ │ +00023040: 2070 6c61 6e61 7220 3c31 3e3a 2020 2020 planar <1>: │ │ │ │ │ +00023050: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00023060: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt │ │ │ │ │ +00023070: 696e 672e 0a20 2020 2020 2020 2020 2020 ing.. │ │ │ │ │ 00023080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000230a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000230b0: 2020 2020 2020 2028 6c69 6e65 2020 2037 (line 7 │ │ │ │ │ -000230c0: 290a 2a20 7072 6563 6564 656e 6365 2c20 ).* precedence, │ │ │ │ │ -000230d0: 6f70 6572 6174 6f72 3a20 2020 2020 2020 operator: │ │ │ │ │ -000230e0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ -000230f0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -00023100: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ +000230b0: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* │ │ │ │ │ +000230c0: 7072 6563 6564 656e 6365 2c20 6f70 6572 precedence, oper │ │ │ │ │ +000230d0: 6174 6f72 3a20 2020 2020 2020 2020 2020 ator: │ │ │ │ │ +000230e0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera │ │ │ │ │ +000230f0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form │ │ │ │ │ +00023100: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ 00023110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023140: 2020 2020 2028 6c69 6e65 2020 3435 290a (line 45). │ │ │ │ │ -00023150: 2a20 7072 6f67 7261 6d2c 2068 656c 6c6f * program, hello │ │ │ │ │ -00023160: 2077 6f72 6c64 3a20 2020 2020 2020 2020 world: │ │ │ │ │ -00023170: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w │ │ │ │ │ -00023180: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l │ │ │ │ │ -00023190: 696e 6520 2020 3729 0a2a 2070 726f 6a65 ine 7).* proje │ │ │ │ │ -000231a0: 6374 696f 6e2c 2070 6172 616c 6c65 6c3a ction, parallel: │ │ │ │ │ -000231b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000231c0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ -000231d0: 2020 2020 2020 2028 6c69 6e65 2020 3236 (line 26 │ │ │ │ │ -000231e0: 290a 2a20 7072 6f6a 6563 7469 6f6e 2c20 ).* projection, │ │ │ │ │ -000231f0: 7061 7261 6c6c 656c 203c 313e 3a20 2020 parallel <1>: │ │ │ │ │ -00023200: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -00023210: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ -00023220: 286c 696e 6520 2031 3829 0a2a 2070 726f (line 18).* pro │ │ │ │ │ -00023230: 6a65 6374 696f 6e2c 2070 6172 616c 6c65 jection, paralle │ │ │ │ │ -00023240: 6c20 3c32 3e3a 2020 2020 2020 2020 2020 l <2>: │ │ │ │ │ -00023250: 2020 2020 5069 6374 7572 6520 626f 782e Picture box. │ │ │ │ │ -00023260: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00023270: 3135 290a 2a20 7072 6f6a 6563 7469 6f6e 15).* projection │ │ │ │ │ -00023280: 2c20 7065 7273 7065 6374 6976 653a 2020 , perspective: │ │ │ │ │ -00023290: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ -000232a0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ -000232b0: 2020 286c 696e 6520 2031 3929 0a2a 2070 (line 19).* p │ │ │ │ │ -000232c0: 726f 6a65 6374 696f 6e2c 2070 6572 7370 rojection, persp │ │ │ │ │ -000232d0: 6563 7469 7665 203c 313e 3a20 2020 2020 ective <1>: │ │ │ │ │ -000232e0: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ -000232f0: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line │ │ │ │ │ -00023300: 2020 3231 290a 2a20 7072 6f6a 6563 7469 21).* projecti │ │ │ │ │ -00023310: 6f6e 2c20 7065 7273 7065 6374 6976 6520 on, perspective │ │ │ │ │ -00023320: 3c32 3e3a 2020 2020 2020 2020 2020 204f <2>: O │ │ │ │ │ -00023330: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ -00023340: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).* │ │ │ │ │ -00023350: 2070 7365 7564 6f2d 6f70 7469 6f6e 733a pseudo-options: │ │ │ │ │ +00023140: 2028 6c69 6e65 2020 3435 290a 2a20 7072 (line 45).* pr │ │ │ │ │ +00023150: 6f67 7261 6d2c 2068 656c 6c6f 2077 6f72 ogram, hello wor │ │ │ │ │ +00023160: 6c64 3a20 2020 2020 2020 2020 2020 2020 ld: │ │ │ │ │ +00023170: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world │ │ │ │ │ +00023180: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +00023190: 2020 3729 0a2a 2070 726f 6a65 6374 696f 7).* projectio │ │ │ │ │ +000231a0: 6e2c 2070 6172 616c 6c65 6c3a 2020 2020 n, parallel: │ │ │ │ │ +000231b0: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ +000231c0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ +000231d0: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* │ │ │ │ │ +000231e0: 7072 6f6a 6563 7469 6f6e 2c20 7061 7261 projection, para │ │ │ │ │ +000231f0: 6c6c 656c 203c 313e 3a20 2020 2020 2020 llel <1>: │ │ │ │ │ +00023200: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +00023210: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +00023220: 6520 2031 3829 0a2a 2070 726f 6a65 6374 e 18).* project │ │ │ │ │ +00023230: 696f 6e2c 2070 6172 616c 6c65 6c20 3c32 ion, parallel <2 │ │ │ │ │ +00023240: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00023250: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. │ │ │ │ │ +00023260: 2020 2020 2028 6c69 6e65 2020 3135 290a (line 15). │ │ │ │ │ +00023270: 2a20 7072 6f6a 6563 7469 6f6e 2c20 7065 * projection, pe │ │ │ │ │ +00023280: 7273 7065 6374 6976 653a 2020 2020 2020 rspective: │ │ │ │ │ +00023290: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ +000232a0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ +000232b0: 696e 6520 2031 3929 0a2a 2070 726f 6a65 ine 19).* proje │ │ │ │ │ +000232c0: 6374 696f 6e2c 2070 6572 7370 6563 7469 ction, perspecti │ │ │ │ │ +000232d0: 7665 203c 313e 3a20 2020 2020 2020 2020 ve <1>: │ │ │ │ │ +000232e0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ +000232f0: 7261 6c73 2e20 2028 6c69 6e65 2020 3231 rals. (line 21 │ │ │ │ │ +00023300: 290a 2a20 7072 6f6a 6563 7469 6f6e 2c20 ).* projection, │ │ │ │ │ +00023310: 7065 7273 7065 6374 6976 6520 3c32 3e3a perspective <2>: │ │ │ │ │ +00023320: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +00023330: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +00023340: 286c 696e 6520 2020 3729 0a2a 2070 7365 (line 7).* pse │ │ │ │ │ +00023350: 7564 6f2d 6f70 7469 6f6e 733a 2020 2020 udo-options: │ │ │ │ │ 00023360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023370: 2020 2020 2020 2020 5469 6b5a 2f50 4746 TikZ/PGF │ │ │ │ │ -00023380: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st │ │ │ │ │ -00023390: 796c 6573 2e0a 2020 2020 2020 2020 2020 yles.. │ │ │ │ │ +00023370: 2020 2020 5469 6b5a 2f50 4746 2075 7365 TikZ/PGF use │ │ │ │ │ +00023380: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles │ │ │ │ │ +00023390: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 000233a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000233b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000233c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000233d0: 2020 2020 286c 696e 6520 2032 3529 0a2a (line 25).* │ │ │ │ │ -000233e0: 2070 7366 7261 6d65 626f 783a 2020 2020 psframebox: │ │ │ │ │ +000233d0: 286c 696e 6520 2032 3529 0a2a 2070 7366 (line 25).* psf │ │ │ │ │ +000233e0: 7261 6d65 626f 783a 2020 2020 2020 2020 ramebox: │ │ │ │ │ 000233f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023400: 2020 2020 2020 2020 4672 616d 652e 2020 Frame. │ │ │ │ │ -00023410: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00023420: 6e65 2020 2038 290a 2a20 7073 7069 6374 ne 8).* pspict │ │ │ │ │ -00023430: 7572 653a 2020 2020 2020 2020 2020 2020 ure: │ │ │ │ │ -00023440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023450: 2050 6963 7475 7265 2062 6f78 2e20 2020 Picture box. │ │ │ │ │ -00023460: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10) │ │ │ │ │ -00023470: 0a2a 2050 5354 7269 636b 733a 2020 2020 .* PSTricks: │ │ │ │ │ +00023400: 2020 2020 4672 616d 652e 2020 2020 2020 Frame. │ │ │ │ │ +00023410: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00023420: 2038 290a 2a20 7073 7069 6374 7572 653a 8).* pspicture: │ │ │ │ │ +00023430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023440: 2020 2020 2020 2020 2020 2020 2050 6963 Pic │ │ │ │ │ +00023450: 7475 7265 2062 6f78 2e20 2020 2020 2020 ture box. │ │ │ │ │ +00023460: 2020 286c 696e 6520 2031 3029 0a2a 2050 (line 10).* P │ │ │ │ │ +00023470: 5354 7269 636b 733a 2020 2020 2020 2020 STricks: │ │ │ │ │ 00023480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023490: 2020 2020 2020 2020 2020 4162 6f75 7420 About │ │ │ │ │ -000234a0: 736b 6574 6368 2e20 2020 2020 2020 2028 sketch. ( │ │ │ │ │ -000234b0: 6c69 6e65 2020 3231 290a 2a20 7175 6f74 line 21).* quot │ │ │ │ │ -000234c0: 696e 672c 2073 7065 6369 616c 3a20 2020 ing, special: │ │ │ │ │ -000234d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000234e0: 2020 2053 7065 6369 616c 206f 626a 6563 Special objec │ │ │ │ │ -000234f0: 7473 2e20 2020 2020 286c 696e 6520 2032 ts. (line 2 │ │ │ │ │ -00023500: 3029 0a2a 2071 756f 7469 6e67 2c20 7370 0).* quoting, sp │ │ │ │ │ -00023510: 6563 6961 6c20 3c31 3e3a 2020 2020 2020 ecial <1>: │ │ │ │ │ -00023520: 2020 2020 2020 2020 2020 2020 5370 6563 Spec │ │ │ │ │ -00023530: 6961 6c73 2e20 2020 2020 2020 2020 2020 ials. │ │ │ │ │ -00023540: 2028 6c69 6e65 2020 2038 290a 2a20 7265 (line 8).* re │ │ │ │ │ -00023550: 6665 7265 6e63 652c 2064 7261 7761 626c ference, drawabl │ │ │ │ │ -00023560: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -00023570: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -00023580: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line │ │ │ │ │ -00023590: 2033 3329 0a2a 2072 6566 6572 656e 6365 33).* reference │ │ │ │ │ -000235a0: 2c20 6472 6177 6162 6c65 203c 313e 3a20 , drawable <1>: │ │ │ │ │ -000235b0: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ -000235c0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ -000235d0: 732e 2028 6c69 6e65 2020 3137 290a 2a20 s. (line 17).* │ │ │ │ │ -000235e0: 7265 6665 7265 6e63 652c 2064 7261 7761 reference, drawa │ │ │ │ │ -000235f0: 626c 6520 3c32 3e3a 2020 2020 2020 2020 ble <2>: │ │ │ │ │ -00023600: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ -00023610: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -00023620: 6520 2034 3729 0a2a 2072 6566 6572 656e e 47).* referen │ │ │ │ │ -00023630: 6365 2c20 6472 6177 6162 6c65 203c 333e ce, drawable <3> │ │ │ │ │ -00023640: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023650: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -00023660: 2020 2020 2028 6c69 6e65 2020 3537 290a (line 57). │ │ │ │ │ -00023670: 2a20 7265 6665 7265 6e63 652c 206d 756c * reference, mul │ │ │ │ │ -00023680: 7469 706c 6520 6f70 7469 6f6e 733a 2020 tiple options: │ │ │ │ │ -00023690: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ -000236a0: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l │ │ │ │ │ -000236b0: 696e 6520 2031 3829 0a2a 2072 6566 6572 ine 18).* refer │ │ │ │ │ -000236c0: 656e 6365 2c20 6f70 7469 6f6e 733a 2020 ence, options: │ │ │ │ │ -000236d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000236e0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -000236f0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure.. │ │ │ │ │ +00023490: 2020 2020 2020 4162 6f75 7420 736b 6574 About sket │ │ │ │ │ +000234a0: 6368 2e20 2020 2020 2020 2028 6c69 6e65 ch. (line │ │ │ │ │ +000234b0: 2020 3231 290a 2a20 7175 6f74 696e 672c 21).* quoting, │ │ │ │ │ +000234c0: 2073 7065 6369 616c 3a20 2020 2020 2020 special: │ │ │ │ │ +000234d0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +000234e0: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. │ │ │ │ │ +000234f0: 2020 2020 286c 696e 6520 2032 3029 0a2a (line 20).* │ │ │ │ │ +00023500: 2071 756f 7469 6e67 2c20 7370 6563 6961 quoting, specia │ │ │ │ │ +00023510: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: │ │ │ │ │ +00023520: 2020 2020 2020 2020 5370 6563 6961 6c73 Specials │ │ │ │ │ +00023530: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ +00023540: 6e65 2020 2038 290a 2a20 7265 6665 7265 ne 8).* refere │ │ │ │ │ +00023550: 6e63 652c 2064 7261 7761 626c 653a 2020 nce, drawable: │ │ │ │ │ +00023560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023570: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +00023580: 6d73 2e20 2020 286c 696e 6520 2033 3329 ms. (line 33) │ │ │ │ │ +00023590: 0a2a 2072 6566 6572 656e 6365 2c20 6472 .* reference, dr │ │ │ │ │ +000235a0: 6177 6162 6c65 203c 313e 3a20 2020 2020 awable <1>: │ │ │ │ │ +000235b0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ +000235c0: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. ( │ │ │ │ │ +000235d0: 6c69 6e65 2020 3137 290a 2a20 7265 6665 line 17).* refe │ │ │ │ │ +000235e0: 7265 6e63 652c 2064 7261 7761 626c 6520 rence, drawable │ │ │ │ │ +000235f0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00023600: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +00023610: 2020 2020 2020 2020 286c 696e 6520 2034 (line 4 │ │ │ │ │ +00023620: 3729 0a2a 2072 6566 6572 656e 6365 2c20 7).* reference, │ │ │ │ │ +00023630: 6472 6177 6162 6c65 203c 333e 3a20 2020 drawable <3>: │ │ │ │ │ +00023640: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ +00023650: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ +00023660: 2028 6c69 6e65 2020 3537 290a 2a20 7265 (line 57).* re │ │ │ │ │ +00023670: 6665 7265 6e63 652c 206d 756c 7469 706c ference, multipl │ │ │ │ │ +00023680: 6520 6f70 7469 6f6e 733a 2020 2020 2020 e options: │ │ │ │ │ +00023690: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re │ │ │ │ │ +000236a0: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line │ │ │ │ │ +000236b0: 2031 3829 0a2a 2072 6566 6572 656e 6365 18).* reference │ │ │ │ │ +000236c0: 2c20 6f70 7469 6f6e 733a 2020 2020 2020 , options: │ │ │ │ │ +000236d0: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +000236e0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ +000236f0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ 00023700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023730: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00023740: 696e 6520 2032 3429 0a2a 2072 6566 6572 ine 24).* refer │ │ │ │ │ -00023750: 656e 6365 2c20 6f70 7469 6f6e 7320 3c31 ence, options <1 │ │ │ │ │ -00023760: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00023770: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ -00023780: 656e 6365 732e 2028 6c69 6e65 2020 3138 ences. (line 18 │ │ │ │ │ -00023790: 290a 2a20 7265 6665 7265 6e63 652c 2070 ).* reference, p │ │ │ │ │ -000237a0: 6f69 6e74 3a20 2020 2020 2020 2020 2020 oint: │ │ │ │ │ -000237b0: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ -000237c0: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ -000237d0: 286c 696e 6520 2032 3329 0a2a 2072 6566 (line 23).* ref │ │ │ │ │ -000237e0: 6572 656e 6365 2c20 706f 696e 7420 3c31 erence, point <1 │ │ │ │ │ -000237f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00023800: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ -00023810: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line │ │ │ │ │ -00023820: 3134 290a 2a20 7265 6665 7265 6e63 652c 14).* reference, │ │ │ │ │ -00023830: 2073 6361 6c61 723a 2020 2020 2020 2020 scalar: │ │ │ │ │ -00023840: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00023850: 7074 206f 626a 6563 7473 2e20 2020 2020 pt objects. │ │ │ │ │ -00023860: 2020 286c 696e 6520 2031 3329 0a2a 2072 (line 13).* r │ │ │ │ │ -00023870: 6566 6572 656e 6365 2c20 7363 616c 6172 eference, scalar │ │ │ │ │ -00023880: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00023890: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ -000238a0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line │ │ │ │ │ -000238b0: 2020 3133 290a 2a20 7265 6665 7265 6e63 13).* referenc │ │ │ │ │ -000238c0: 652c 2074 6167 3a20 2020 2020 2020 2020 e, tag: │ │ │ │ │ -000238d0: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ -000238e0: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti │ │ │ │ │ -000238f0: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. │ │ │ │ │ +00023730: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00023740: 2032 3429 0a2a 2072 6566 6572 656e 6365 24).* reference │ │ │ │ │ +00023750: 2c20 6f70 7469 6f6e 7320 3c31 3e3a 2020 , options <1>: │ │ │ │ │ +00023760: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ +00023770: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ +00023780: 732e 2028 6c69 6e65 2020 3138 290a 2a20 s. (line 18).* │ │ │ │ │ +00023790: 7265 6665 7265 6e63 652c 2070 6f69 6e74 reference, point │ │ │ │ │ +000237a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000237b0: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ +000237c0: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin │ │ │ │ │ +000237d0: 6520 2032 3329 0a2a 2072 6566 6572 656e e 23).* referen │ │ │ │ │ +000237e0: 6365 2c20 706f 696e 7420 3c31 3e3a 2020 ce, point <1>: │ │ │ │ │ +000237f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023800: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ +00023810: 6365 732e 2028 6c69 6e65 2020 3134 290a ces. (line 14). │ │ │ │ │ +00023820: 2a20 7265 6665 7265 6e63 652c 2073 6361 * reference, sca │ │ │ │ │ +00023830: 6c61 723a 2020 2020 2020 2020 2020 2020 lar: │ │ │ │ │ +00023840: 2020 2020 2020 2020 2053 7765 7074 206f Swept o │ │ │ │ │ +00023850: 626a 6563 7473 2e20 2020 2020 2020 286c bjects. (l │ │ │ │ │ +00023860: 696e 6520 2031 3329 0a2a 2072 6566 6572 ine 13).* refer │ │ │ │ │ +00023870: 656e 6365 2c20 7363 616c 6172 203c 313e ence, scalar <1> │ │ │ │ │ +00023880: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00023890: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ +000238a0: 656e 6365 732e 2028 6c69 6e65 2020 3133 ences. (line 13 │ │ │ │ │ +000238b0: 290a 2a20 7265 6665 7265 6e63 652c 2074 ).* reference, t │ │ │ │ │ +000238c0: 6167 3a20 2020 2020 2020 2020 2020 2020 ag: │ │ │ │ │ +000238d0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ +000238e0: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions. │ │ │ │ │ +000238f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 00023900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023930: 2020 2028 6c69 6e65 2020 3230 290a 2a20 (line 20).* │ │ │ │ │ -00023940: 7265 6665 7265 6e63 652c 2074 6167 203c reference, tag < │ │ │ │ │ -00023950: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00023960: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -00023970: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin │ │ │ │ │ -00023980: 6520 2031 3929 0a2a 2072 6566 6572 656e e 19).* referen │ │ │ │ │ -00023990: 6365 2c20 7472 616e 7366 6f72 6d3a 2020 ce, transform: │ │ │ │ │ -000239a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000239b0: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ -000239c0: 6365 732e 2028 6c69 6e65 2020 3136 290a ces. (line 16). │ │ │ │ │ -000239d0: 2a20 7265 6665 7265 6e63 652c 2074 7261 * reference, tra │ │ │ │ │ -000239e0: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: │ │ │ │ │ -000239f0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -00023a00: 772e 2020 2020 2020 2020 2020 2020 286c w. (l │ │ │ │ │ -00023a10: 696e 6520 2033 3529 0a2a 2072 6566 6572 ine 35).* refer │ │ │ │ │ -00023a20: 656e 6365 2c20 7665 6374 6f72 3a20 2020 ence, vector: │ │ │ │ │ -00023a30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023a40: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -00023a50: 732e 2020 2020 2028 6c69 6e65 2020 3230 s. (line 20 │ │ │ │ │ -00023a60: 290a 2a20 7265 6665 7265 6e63 652c 2076 ).* reference, v │ │ │ │ │ -00023a70: 6563 746f 7220 3c31 3e3a 2020 2020 2020 ector <1>: │ │ │ │ │ -00023a80: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ -00023a90: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ -00023aa0: 286c 696e 6520 2031 3529 0a2a 2072 6570 (line 15).* rep │ │ │ │ │ -00023ab0: 6561 7465 6420 6f62 6a65 6374 3a20 2020 eated object: │ │ │ │ │ +00023920: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00023930: 6c69 6e65 2020 3230 290a 2a20 7265 6665 line 20).* refe │ │ │ │ │ +00023940: 7265 6e63 652c 2074 6167 203c 313e 3a20 rence, tag <1>: │ │ │ │ │ +00023950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023960: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe │ │ │ │ │ +00023970: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1 │ │ │ │ │ +00023980: 3929 0a2a 2072 6566 6572 656e 6365 2c20 9).* reference, │ │ │ │ │ +00023990: 7472 616e 7366 6f72 6d3a 2020 2020 2020 transform: │ │ │ │ │ +000239a0: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ +000239b0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ +000239c0: 2028 6c69 6e65 2020 3136 290a 2a20 7265 (line 16).* re │ │ │ │ │ +000239d0: 6665 7265 6e63 652c 2074 7261 6e73 666f ference, transfo │ │ │ │ │ +000239e0: 726d 203c 313e 3a20 2020 2020 2020 2020 rm <1>: │ │ │ │ │ +000239f0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ +00023a00: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00023a10: 2033 3529 0a2a 2072 6566 6572 656e 6365 35).* reference │ │ │ │ │ +00023a20: 2c20 7665 6374 6f72 3a20 2020 2020 2020 , vector: │ │ │ │ │ +00023a30: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +00023a40: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ +00023a50: 2020 2028 6c69 6e65 2020 3230 290a 2a20 (line 20).* │ │ │ │ │ +00023a60: 7265 6665 7265 6e63 652c 2076 6563 746f reference, vecto │ │ │ │ │ +00023a70: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: │ │ │ │ │ +00023a80: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ +00023a90: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin │ │ │ │ │ +00023aa0: 6520 2031 3529 0a2a 2072 6570 6561 7465 e 15).* repeate │ │ │ │ │ +00023ab0: 6420 6f62 6a65 6374 3a20 2020 2020 2020 d object: │ │ │ │ │ 00023ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023ad0: 2020 2020 5265 7065 6174 732e 2020 2020 Repeats. │ │ │ │ │ -00023ae0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00023af0: 2036 290a 2a20 7265 7365 7276 6564 2077 6).* reserved w │ │ │ │ │ -00023b00: 6f72 6473 3a20 2020 2020 2020 2020 2020 ords: │ │ │ │ │ -00023b10: 2020 2020 2020 2020 2020 2020 204b 6579 Key │ │ │ │ │ -00023b20: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo │ │ │ │ │ -00023b30: 7264 732e 0a20 2020 2020 2020 2020 2020 rds.. │ │ │ │ │ +00023ad0: 5265 7065 6174 732e 2020 2020 2020 2020 Repeats. │ │ │ │ │ +00023ae0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +00023af0: 2a20 7265 7365 7276 6564 2077 6f72 6473 * reserved words │ │ │ │ │ +00023b00: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00023b10: 2020 2020 2020 2020 204b 6579 2061 6e64 Key and │ │ │ │ │ +00023b20: 2072 6573 6572 7665 6420 776f 7264 732e reserved words. │ │ │ │ │ +00023b30: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 00023b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023b60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023b70: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* │ │ │ │ │ -00023b80: 7269 6768 7420 6861 6e64 2072 756c 653a right hand rule: │ │ │ │ │ +00023b60: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00023b70: 6c69 6e65 2020 3131 290a 2a20 7269 6768 line 11).* righ │ │ │ │ │ +00023b80: 7420 6861 6e64 2072 756c 653a 2020 2020 t hand rule: │ │ │ │ │ 00023b90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023ba0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ -00023bb0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ -00023bc0: 6520 2034 3129 0a2a 2072 6967 6874 2d68 e 41).* right-h │ │ │ │ │ -00023bd0: 616e 6420 636f 6f72 6469 6e61 7465 2073 and coordinate s │ │ │ │ │ -00023be0: 7973 7465 6d3a 2020 2020 2020 2020 2020 ystem: │ │ │ │ │ -00023bf0: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by │ │ │ │ │ -00023c00: 6578 616d 706c 652e 0a20 2020 2020 2020 example.. │ │ │ │ │ +00023ba0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +00023bb0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4 │ │ │ │ │ +00023bc0: 3129 0a2a 2072 6967 6874 2d68 616e 6420 1).* right-hand │ │ │ │ │ +00023bd0: 636f 6f72 6469 6e61 7465 2073 7973 7465 coordinate syste │ │ │ │ │ +00023be0: 6d3a 2020 2020 2020 2020 2020 496e 7472 m: Intr │ │ │ │ │ +00023bf0: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ +00023c00: 706c 652e 0a20 2020 2020 2020 2020 2020 ple.. │ │ │ │ │ 00023c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023c20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023c30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023c40: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11 │ │ │ │ │ -00023c50: 290a 2a20 726f 7461 7469 6f6e 3a20 2020 ).* rotation: │ │ │ │ │ +00023c40: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* │ │ │ │ │ +00023c50: 726f 7461 7469 6f6e 3a20 2020 2020 2020 rotation: │ │ │ │ │ 00023c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023c70: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -00023c80: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -00023c90: 286c 696e 6520 2033 3929 0a2a 2072 6f74 (line 39).* rot │ │ │ │ │ -00023ca0: 6174 696f 6e20 7472 616e 7366 6f72 6d3a ation transform: │ │ │ │ │ +00023c70: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +00023c80: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ +00023c90: 6520 2033 3929 0a2a 2072 6f74 6174 696f e 39).* rotatio │ │ │ │ │ +00023ca0: 6e20 7472 616e 7366 6f72 6d3a 2020 2020 n transform: │ │ │ │ │ 00023cb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023cc0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ -00023cd0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line │ │ │ │ │ -00023ce0: 3130 290a 2a20 726f 7461 7469 6f6e 2074 10).* rotation t │ │ │ │ │ -00023cf0: 7261 6e73 666f 726d 203c 313e 3a20 2020 ransform <1>: │ │ │ │ │ -00023d00: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -00023d10: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -00023d20: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +00023cc0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +00023cd0: 6c73 2e20 2028 6c69 6e65 2020 3130 290a ls. (line 10). │ │ │ │ │ +00023ce0: 2a20 726f 7461 7469 6f6e 2074 7261 6e73 * rotation trans │ │ │ │ │ +00023cf0: 666f 726d 203c 313e 3a20 2020 2020 2020 form <1>: │ │ │ │ │ +00023d00: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ +00023d10: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ +00023d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023d30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023d50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023d60: 2028 6c69 6e65 2020 3438 290a 2a20 726f (line 48).* ro │ │ │ │ │ -00023d70: 7461 7469 6f6e 2074 7261 6e73 666f 726d tation transform │ │ │ │ │ -00023d80: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -00023d90: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ -00023da0: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. │ │ │ │ │ +00023d50: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00023d60: 6e65 2020 3438 290a 2a20 726f 7461 7469 ne 48).* rotati │ │ │ │ │ +00023d70: 6f6e 2074 7261 6e73 666f 726d 203c 323e on transform <2> │ │ │ │ │ +00023d80: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00023d90: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ +00023da0: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ 00023db0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023dc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023dd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023de0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00023df0: 3538 290a 2a20 726f 7461 7469 6f6e 2074 58).* rotation t │ │ │ │ │ -00023e00: 7261 6e73 666f 726d 203c 333e 3a20 2020 ransform <3>: │ │ │ │ │ -00023e10: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -00023e20: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -00023e30: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +00023de0: 2020 2020 2028 6c69 6e65 2020 3538 290a (line 58). │ │ │ │ │ +00023df0: 2a20 726f 7461 7469 6f6e 2074 7261 6e73 * rotation trans │ │ │ │ │ +00023e00: 666f 726d 203c 333e 3a20 2020 2020 2020 form <3>: │ │ │ │ │ +00023e10: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ +00023e20: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ +00023e30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023e70: 2028 6c69 6e65 2020 3738 290a 2a20 726f (line 78).* ro │ │ │ │ │ -00023e80: 7461 7469 6f6e 2074 7261 6e73 666f 726d tation transform │ │ │ │ │ -00023e90: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -00023ea0: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ -00023eb0: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. │ │ │ │ │ +00023e60: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00023e70: 6e65 2020 3738 290a 2a20 726f 7461 7469 ne 78).* rotati │ │ │ │ │ +00023e80: 6f6e 2074 7261 6e73 666f 726d 203c 343e on transform <4> │ │ │ │ │ +00023e90: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00023ea0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ +00023eb0: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ 00023ec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023ed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023ee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023ef0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00023f00: 3933 290a 2a20 726f 7461 7469 6f6e 2c20 93).* rotation, │ │ │ │ │ -00023f10: 6365 6e74 6572 206f 663a 2020 2020 2020 center of: │ │ │ │ │ -00023f20: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ -00023f30: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ -00023f40: 2020 286c 696e 6520 2020 3829 0a2a 2072 (line 8).* r │ │ │ │ │ -00023f50: 6f74 6174 696f 6e2c 2063 656e 7465 7220 otation, center │ │ │ │ │ -00023f60: 6f66 203c 313e 3a20 2020 2020 2020 2020 of <1>: │ │ │ │ │ -00023f70: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe │ │ │ │ │ -00023f80: 6570 732e 2020 2020 2020 2028 6c69 6e65 eps. (line │ │ │ │ │ -00023f90: 2020 2036 290a 2a20 7275 6e6e 696e 6720 6).* running │ │ │ │ │ -00023fa0: 736b 6574 6368 3a20 2020 2020 2020 2020 sketch: │ │ │ │ │ -00023fb0: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -00023fc0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. │ │ │ │ │ -00023fd0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).* │ │ │ │ │ -00023fe0: 2073 6361 6c61 7220 6465 6669 6e69 7469 scalar definiti │ │ │ │ │ -00023ff0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ -00024000: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob │ │ │ │ │ -00024010: 6a65 6374 732e 2020 2020 2020 2028 6c69 jects. (li │ │ │ │ │ -00024020: 6e65 2020 3133 290a 2a20 7363 616c 6172 ne 13).* scalar │ │ │ │ │ -00024030: 206c 6974 6572 616c 3a20 2020 2020 2020 literal: │ │ │ │ │ -00024040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024050: 2053 6361 6c61 7220 6c69 7465 7261 6c73 Scalar literals │ │ │ │ │ -00024060: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6) │ │ │ │ │ -00024070: 0a2a 2073 6361 6c61 7220 7265 6665 7265 .* scalar refere │ │ │ │ │ -00024080: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: │ │ │ │ │ -00024090: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ -000240a0: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. ( │ │ │ │ │ -000240b0: 6c69 6e65 2020 3133 290a 2a20 7363 616c line 13).* scal │ │ │ │ │ -000240c0: 6520 7472 616e 7366 6f72 6d3a 2020 2020 e transform: │ │ │ │ │ -000240d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000240e0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -000240f0: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1 │ │ │ │ │ -00024100: 3629 0a2a 2073 6361 6c65 2074 7261 6e73 6).* scale trans │ │ │ │ │ -00024110: 666f 726d 203c 313e 3a20 2020 2020 2020 form <1>: │ │ │ │ │ -00024120: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -00024130: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -00024140: 2028 6c69 6e65 2020 3137 290a 2a20 7363 (line 17).* sc │ │ │ │ │ -00024150: 656e 6520 6465 7363 7269 7074 696f 6e20 ene description │ │ │ │ │ -00024160: 6c61 6e67 7561 6765 3a20 2020 2020 2020 language: │ │ │ │ │ -00024170: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba │ │ │ │ │ -00024180: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line │ │ │ │ │ -00024190: 2020 3829 0a2a 2073 6365 6e65 2064 6573 8).* scene des │ │ │ │ │ -000241a0: 6372 6970 7469 6f6e 206c 616e 6775 6167 cription languag │ │ │ │ │ -000241b0: 6520 3c31 3e3a 2020 2020 2020 2020 4275 e <1>: Bu │ │ │ │ │ -000241c0: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing │ │ │ │ │ -000241d0: 2e20 2028 6c69 6e65 2020 2037 290a 2a20 . (line 7).* │ │ │ │ │ -000241e0: 7363 6f70 652c 2069 6465 6e74 6966 6965 scope, identifie │ │ │ │ │ -000241f0: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ -00024200: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ -00024210: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ -00024220: 6520 2032 3629 0a2a 2073 636f 7065 2c20 e 26).* scope, │ │ │ │ │ -00024230: 6964 656e 7469 6669 6572 203c 313e 3a20 identifier <1>: │ │ │ │ │ -00024240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024250: 426c 6f63 6b73 2e20 2020 2020 2020 2020 Blocks. │ │ │ │ │ -00024260: 2020 2020 2028 6c69 6e65 2020 3133 290a (line 13). │ │ │ │ │ -00024270: 2a20 7369 6d70 6c65 2064 6566 696e 6974 * simple definit │ │ │ │ │ -00024280: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: │ │ │ │ │ -00024290: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ -000242a0: 6620 6465 6669 6e69 7469 6f6e 732e 0a20 f definitions.. │ │ │ │ │ +00023ef0: 2020 2020 2028 6c69 6e65 2020 3933 290a (line 93). │ │ │ │ │ +00023f00: 2a20 726f 7461 7469 6f6e 2c20 6365 6e74 * rotation, cent │ │ │ │ │ +00023f10: 6572 206f 663a 2020 2020 2020 2020 2020 er of: │ │ │ │ │ +00023f20: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +00023f30: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ +00023f40: 696e 6520 2020 3829 0a2a 2072 6f74 6174 ine 8).* rotat │ │ │ │ │ +00023f50: 696f 6e2c 2063 656e 7465 7220 6f66 203c ion, center of < │ │ │ │ │ +00023f60: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +00023f70: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps. │ │ │ │ │ +00023f80: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ +00023f90: 290a 2a20 7275 6e6e 696e 6720 736b 6574 ).* running sket │ │ │ │ │ +00023fa0: 6368 3a20 2020 2020 2020 2020 2020 2020 ch: │ │ │ │ │ +00023fb0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello │ │ │ │ │ +00023fc0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. │ │ │ │ │ +00023fd0: 286c 696e 6520 2020 3929 0a2a 2073 6361 (line 9).* sca │ │ │ │ │ +00023fe0: 6c61 7220 6465 6669 6e69 7469 6f6e 3a20 lar definition: │ │ │ │ │ +00023ff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024000: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object │ │ │ │ │ +00024010: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line │ │ │ │ │ +00024020: 3133 290a 2a20 7363 616c 6172 206c 6974 13).* scalar lit │ │ │ │ │ +00024030: 6572 616c 3a20 2020 2020 2020 2020 2020 eral: │ │ │ │ │ +00024040: 2020 2020 2020 2020 2020 2020 2053 6361 Sca │ │ │ │ │ +00024050: 6c61 7220 6c69 7465 7261 6c73 2e20 2020 lar literals. │ │ │ │ │ +00024060: 2020 286c 696e 6520 2020 3629 0a2a 2073 (line 6).* s │ │ │ │ │ +00024070: 6361 6c61 7220 7265 6665 7265 6e63 653a calar reference: │ │ │ │ │ +00024080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024090: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ +000240a0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line │ │ │ │ │ +000240b0: 2020 3133 290a 2a20 7363 616c 6520 7472 13).* scale tr │ │ │ │ │ +000240c0: 616e 7366 6f72 6d3a 2020 2020 2020 2020 ansform: │ │ │ │ │ +000240d0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +000240e0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ +000240f0: 732e 2020 286c 696e 6520 2031 3629 0a2a s. (line 16).* │ │ │ │ │ +00024100: 2073 6361 6c65 2074 7261 6e73 666f 726d scale transform │ │ │ │ │ +00024110: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00024120: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ +00024130: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ +00024140: 6e65 2020 3137 290a 2a20 7363 656e 6520 ne 17).* scene │ │ │ │ │ +00024150: 6465 7363 7269 7074 696f 6e20 6c61 6e67 description lang │ │ │ │ │ +00024160: 7561 6765 3a20 2020 2020 2020 2020 2020 uage: │ │ │ │ │ +00024170: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics │ │ │ │ │ +00024180: 2e20 2020 2020 286c 696e 6520 2020 3829 . (line 8) │ │ │ │ │ +00024190: 0a2a 2073 6365 6e65 2064 6573 6372 6970 .* scene descrip │ │ │ │ │ +000241a0: 7469 6f6e 206c 616e 6775 6167 6520 3c31 tion language <1 │ │ │ │ │ +000241b0: 3e3a 2020 2020 2020 2020 4275 696c 6469 >: Buildi │ │ │ │ │ +000241c0: 6e67 2061 2064 7261 7769 6e67 2e20 2028 ng a drawing. ( │ │ │ │ │ +000241d0: 6c69 6e65 2020 2037 290a 2a20 7363 6f70 line 7).* scop │ │ │ │ │ +000241e0: 652c 2069 6465 6e74 6966 6965 723a 2020 e, identifier: │ │ │ │ │ +000241f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024200: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +00024210: 6f72 6d73 2e20 2020 286c 696e 6520 2032 orms. (line 2 │ │ │ │ │ +00024220: 3629 0a2a 2073 636f 7065 2c20 6964 656e 6).* scope, iden │ │ │ │ │ +00024230: 7469 6669 6572 203c 313e 3a20 2020 2020 tifier <1>: │ │ │ │ │ +00024240: 2020 2020 2020 2020 2020 2020 426c 6f63 Bloc │ │ │ │ │ +00024250: 6b73 2e20 2020 2020 2020 2020 2020 2020 ks. │ │ │ │ │ +00024260: 2028 6c69 6e65 2020 3133 290a 2a20 7369 (line 13).* si │ │ │ │ │ +00024270: 6d70 6c65 2064 6566 696e 6974 696f 6e3a mple definition: │ │ │ │ │ +00024280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024290: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de │ │ │ │ │ +000242a0: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. │ │ │ │ │ 000242b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000242c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000242d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000242e0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -000242f0: 6e65 2020 2036 290a 2a20 736f 6c69 643a ne 6).* solid: │ │ │ │ │ +000242e0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000242f0: 2036 290a 2a20 736f 6c69 643a 2020 2020 6).* solid: │ │ │ │ │ 00024300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024320: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ -00024330: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6) │ │ │ │ │ -00024340: 0a2a 2073 7065 6369 616c 2061 7267 756d .* special argum │ │ │ │ │ -00024350: 656e 7420 7375 6273 7469 7475 7469 6f6e ent substitution │ │ │ │ │ -00024360: 3a20 2020 2020 2020 2020 5370 6563 6961 : Specia │ │ │ │ │ -00024370: 6c20 6f62 6a65 6374 732e 2020 2020 2028 l objects. ( │ │ │ │ │ -00024380: 6c69 6e65 2020 3238 290a 2a20 7370 6563 line 28).* spec │ │ │ │ │ -00024390: 6961 6c20 6172 6775 6d65 6e74 2073 7562 ial argument sub │ │ │ │ │ -000243a0: 7374 6974 7574 696f 6e20 3c31 3e3a 2020 stitution <1>: │ │ │ │ │ -000243b0: 2020 2053 7065 6369 616c 732e 2020 2020 Specials. │ │ │ │ │ -000243c0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ -000243d0: 3029 0a2a 2073 7065 6369 616c 206f 626a 0).* special obj │ │ │ │ │ -000243e0: 6563 743a 2020 2020 2020 2020 2020 2020 ect: │ │ │ │ │ -000243f0: 2020 2020 2020 2020 2020 2020 5370 6563 Spec │ │ │ │ │ -00024400: 6961 6c20 6f62 6a65 6374 732e 2020 2020 ial objects. │ │ │ │ │ -00024410: 2028 6c69 6e65 2020 2036 290a 2a20 7370 (line 6).* sp │ │ │ │ │ -00024420: 6563 6961 6c20 6f62 6a65 6374 733a 2020 ecial objects: │ │ │ │ │ +00024310: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ +00024320: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ +00024330: 2020 286c 696e 6520 2020 3629 0a2a 2073 (line 6).* s │ │ │ │ │ +00024340: 7065 6369 616c 2061 7267 756d 656e 7420 pecial argument │ │ │ │ │ +00024350: 7375 6273 7469 7475 7469 6f6e 3a20 2020 substitution: │ │ │ │ │ +00024360: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob │ │ │ │ │ +00024370: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line │ │ │ │ │ +00024380: 2020 3238 290a 2a20 7370 6563 6961 6c20 28).* special │ │ │ │ │ +00024390: 6172 6775 6d65 6e74 2073 7562 7374 6974 argument substit │ │ │ │ │ +000243a0: 7574 696f 6e20 3c31 3e3a 2020 2020 2053 ution <1>: S │ │ │ │ │ +000243b0: 7065 6369 616c 732e 2020 2020 2020 2020 pecials. │ │ │ │ │ +000243c0: 2020 2020 286c 696e 6520 2031 3029 0a2a (line 10).* │ │ │ │ │ +000243d0: 2073 7065 6369 616c 206f 626a 6563 743a special object: │ │ │ │ │ +000243e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000243f0: 2020 2020 2020 2020 5370 6563 6961 6c20 Special │ │ │ │ │ +00024400: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li │ │ │ │ │ +00024410: 6e65 2020 2036 290a 2a20 7370 6563 6961 ne 6).* specia │ │ │ │ │ +00024420: 6c20 6f62 6a65 6374 733a 2020 2020 2020 l objects: │ │ │ │ │ 00024430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024440: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -00024450: 2064 7261 7769 6e67 2e20 286c 696e 6520 drawing. (line │ │ │ │ │ -00024460: 2033 3829 0a2a 2073 706c 6974 7469 6e67 38).* splitting │ │ │ │ │ -00024470: 2c20 6c69 6e65 2061 6e64 2073 7572 6661 , line and surfa │ │ │ │ │ -00024480: 6365 3a20 2020 2020 2020 2020 2020 4865 ce: He │ │ │ │ │ -00024490: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ -000244a0: 2020 2028 6c69 6e65 2020 3139 290a 2a20 (line 19).* │ │ │ │ │ -000244b0: 7370 6c69 7474 696e 672c 206c 696e 6520 splitting, line │ │ │ │ │ -000244c0: 616e 6420 7375 7266 6163 6520 3c31 3e3a and surface <1>: │ │ │ │ │ -000244d0: 2020 2020 2020 2048 6964 6465 6e20 7375 Hidden su │ │ │ │ │ -000244e0: 7266 6163 6520 7265 6d6f 7661 6c2e 0a20 rface removal.. │ │ │ │ │ +00024440: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ +00024450: 7769 6e67 2e20 286c 696e 6520 2033 3829 wing. (line 38) │ │ │ │ │ +00024460: 0a2a 2073 706c 6974 7469 6e67 2c20 6c69 .* splitting, li │ │ │ │ │ +00024470: 6e65 2061 6e64 2073 7572 6661 6365 3a20 ne and surface: │ │ │ │ │ +00024480: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello │ │ │ │ │ +00024490: 776f 726c 642e 2020 2020 2020 2020 2028 world. ( │ │ │ │ │ +000244a0: 6c69 6e65 2020 3139 290a 2a20 7370 6c69 line 19).* spli │ │ │ │ │ +000244b0: 7474 696e 672c 206c 696e 6520 616e 6420 tting, line and │ │ │ │ │ +000244c0: 7375 7266 6163 6520 3c31 3e3a 2020 2020 surface <1>: │ │ │ │ │ +000244d0: 2020 2048 6964 6465 6e20 7375 7266 6163 Hidden surfac │ │ │ │ │ +000244e0: 6520 7265 6d6f 7661 6c2e 0a20 2020 2020 e removal.. │ │ │ │ │ 000244f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024520: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00024530: 6e65 2020 3231 290a 2a20 7375 6273 7469 ne 21).* substi │ │ │ │ │ -00024540: 7475 7469 6f6e 2c20 7370 6563 6961 6c3a tution, special: │ │ │ │ │ -00024550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024560: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ -00024570: 2e20 2020 2020 286c 696e 6520 2032 3829 . (line 28) │ │ │ │ │ -00024580: 0a2a 2073 7572 6661 6365 3a20 2020 2020 .* surface: │ │ │ │ │ +00024520: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00024530: 3231 290a 2a20 7375 6273 7469 7475 7469 21).* substituti │ │ │ │ │ +00024540: 6f6e 2c20 7370 6563 6961 6c3a 2020 2020 on, special: │ │ │ │ │ +00024550: 2020 2020 2020 2020 2020 2020 2053 7065 Spe │ │ │ │ │ +00024560: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. │ │ │ │ │ +00024570: 2020 286c 696e 6520 2032 3829 0a2a 2073 (line 28).* s │ │ │ │ │ +00024580: 7572 6661 6365 3a20 2020 2020 2020 2020 urface: │ │ │ │ │ 00024590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000245a0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -000245b0: 6e65 2073 7765 6570 732e 2020 2020 2028 ne sweeps. ( │ │ │ │ │ -000245c0: 6c69 6e65 2020 2036 290a 2a20 7377 6565 line 6).* swee │ │ │ │ │ -000245d0: 703a 2020 2020 2020 2020 2020 2020 2020 p: │ │ │ │ │ -000245e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000245f0: 2020 2053 7765 7074 206f 626a 6563 7473 Swept objects │ │ │ │ │ -00024600: 2e20 2020 2020 2020 286c 696e 6520 2020 . (line │ │ │ │ │ -00024610: 3629 0a2a 2073 7765 7074 2062 6f63 6b3a 6).* swept bock: │ │ │ │ │ +000245a0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ +000245b0: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line │ │ │ │ │ +000245c0: 2020 2036 290a 2a20 7377 6565 703a 2020 6).* sweep: │ │ │ │ │ +000245d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000245e0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +000245f0: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. │ │ │ │ │ +00024600: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +00024610: 2073 7765 7074 2062 6f63 6b3a 2020 2020 swept bock: │ │ │ │ │ 00024620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024630: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -00024640: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. │ │ │ │ │ -00024650: 2028 6c69 6e65 2020 2036 290a 2a20 7377 (line 6).* sw │ │ │ │ │ -00024660: 6570 7420 6c69 6e65 3a20 2020 2020 2020 ept line: │ │ │ │ │ +00024630: 2020 2020 2020 2020 5377 6570 7420 626c Swept bl │ │ │ │ │ +00024640: 6f63 6b73 2e20 2020 2020 2020 2028 6c69 ocks. (li │ │ │ │ │ +00024650: 6e65 2020 2036 290a 2a20 7377 6570 7420 ne 6).* swept │ │ │ │ │ +00024660: 6c69 6e65 3a20 2020 2020 2020 2020 2020 line: │ │ │ │ │ 00024670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024680: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ -00024690: 6565 7073 2e20 2020 2020 286c 696e 6520 eeps. (line │ │ │ │ │ -000246a0: 2020 3629 0a2a 2073 7765 7074 206c 696e 6).* swept lin │ │ │ │ │ -000246b0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ -000246c0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -000246d0: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. │ │ │ │ │ -000246e0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -000246f0: 7377 6570 7420 6c69 6e65 203c 323e 3a20 swept line <2>: │ │ │ │ │ +00024680: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ +00024690: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6) │ │ │ │ │ +000246a0: 0a2a 2073 7765 7074 206c 696e 6520 3c31 .* swept line <1 │ │ │ │ │ +000246b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +000246c0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +000246d0: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. ( │ │ │ │ │ +000246e0: 6c69 6e65 2020 2036 290a 2a20 7377 6570 line 6).* swep │ │ │ │ │ +000246f0: 7420 6c69 6e65 203c 323e 3a20 2020 2020 t line <2>: │ │ │ │ │ 00024700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024710: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -00024720: 616c 2064 7261 7769 6e67 2e20 286c 696e al drawing. (lin │ │ │ │ │ -00024730: 6520 2032 3029 0a2a 2073 7765 7074 206f e 20).* swept o │ │ │ │ │ -00024740: 626a 6563 743a 2020 2020 2020 2020 2020 bject: │ │ │ │ │ -00024750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024760: 5377 6570 7420 6f62 6a65 6374 732e 2020 Swept objects. │ │ │ │ │ -00024770: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00024780: 2a20 7377 6570 7420 6f62 6a65 6374 203c * swept object < │ │ │ │ │ -00024790: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -000247a0: 2020 2020 2020 2020 2053 7765 6570 732e Sweeps. │ │ │ │ │ -000247b0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -000247c0: 696e 6520 2020 3929 0a2a 2073 7765 7074 ine 9).* swept │ │ │ │ │ -000247d0: 2070 6f69 6e74 3a20 2020 2020 2020 2020 point: │ │ │ │ │ -000247e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000247f0: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects. │ │ │ │ │ -00024800: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11 │ │ │ │ │ -00024810: 290a 2a20 7377 6570 7420 706f 696e 7420 ).* swept point │ │ │ │ │ -00024820: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00024830: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00024840: 2070 6f69 6e74 732e 2020 2020 2020 2020 points. │ │ │ │ │ -00024850: 286c 696e 6520 2020 3629 0a2a 2073 7765 (line 6).* swe │ │ │ │ │ -00024860: 7074 2070 6f6c 7967 6f6e 3a20 2020 2020 pt polygon: │ │ │ │ │ +00024710: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +00024720: 7261 7769 6e67 2e20 286c 696e 6520 2032 rawing. (line 2 │ │ │ │ │ +00024730: 3029 0a2a 2073 7765 7074 206f 626a 6563 0).* swept objec │ │ │ │ │ +00024740: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +00024750: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +00024760: 7420 6f62 6a65 6374 732e 2020 2020 2020 t objects. │ │ │ │ │ +00024770: 2028 6c69 6e65 2020 2036 290a 2a20 7377 (line 6).* sw │ │ │ │ │ +00024780: 6570 7420 6f62 6a65 6374 203c 313e 3a20 ept object <1>: │ │ │ │ │ +00024790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000247a0: 2020 2020 2053 7765 6570 732e 2020 2020 Sweeps. │ │ │ │ │ +000247b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +000247c0: 2020 3929 0a2a 2073 7765 7074 2070 6f69 9).* swept poi │ │ │ │ │ +000247d0: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: │ │ │ │ │ +000247e0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +000247f0: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. │ │ │ │ │ +00024800: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* │ │ │ │ │ +00024810: 7377 6570 7420 706f 696e 7420 3c31 3e3a swept point <1>: │ │ │ │ │ +00024820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024830: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi │ │ │ │ │ +00024840: 6e74 732e 2020 2020 2020 2020 286c 696e nts. (lin │ │ │ │ │ +00024850: 6520 2020 3629 0a2a 2073 7765 7074 2070 e 6).* swept p │ │ │ │ │ +00024860: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: │ │ │ │ │ 00024870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024880: 2020 2020 506f 6c79 676f 6e20 7377 6565 Polygon swee │ │ │ │ │ -00024890: 7073 2e20 2020 2020 2028 6c69 6e65 2020 ps. (line │ │ │ │ │ -000248a0: 2036 290a 2a20 7377 6570 7420 706f 6c79 6).* swept poly │ │ │ │ │ -000248b0: 676f 6e20 3c31 3e3a 2020 2020 2020 2020 gon <1>: │ │ │ │ │ -000248c0: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -000248d0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -000248e0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +00024880: 506f 6c79 676f 6e20 7377 6565 7073 2e20 Polygon sweeps. │ │ │ │ │ +00024890: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +000248a0: 2a20 7377 6570 7420 706f 6c79 676f 6e20 * swept polygon │ │ │ │ │ +000248b0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000248c0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ +000248d0: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ +000248e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000248f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024920: 2028 6c69 6e65 2031 3232 290a 2a20 7461 (line 122).* ta │ │ │ │ │ -00024930: 6720 6465 6669 6e69 7469 6f6e 3a20 2020 g definition: │ │ │ │ │ +00024910: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00024920: 6e65 2031 3232 290a 2a20 7461 6720 6465 ne 122).* tag de │ │ │ │ │ +00024930: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: │ │ │ │ │ 00024940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024950: 2020 2020 2044 6566 696e 6974 696f 6e73 Definitions │ │ │ │ │ -00024960: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ -00024970: 2031 3829 0a2a 2074 6167 2064 6566 696e 18).* tag defin │ │ │ │ │ -00024980: 6974 696f 6e20 3c31 3e3a 2020 2020 2020 ition <1>: │ │ │ │ │ -00024990: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ -000249a0: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio │ │ │ │ │ -000249b0: 6e73 2e0a 2020 2020 2020 2020 2020 2020 ns.. │ │ │ │ │ +00024950: 2044 6566 696e 6974 696f 6e73 2e20 2020 Definitions. │ │ │ │ │ +00024960: 2020 2020 2020 286c 696e 6520 2031 3829 (line 18) │ │ │ │ │ +00024970: 0a2a 2074 6167 2064 6566 696e 6974 696f .* tag definitio │ │ │ │ │ +00024980: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ +00024990: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ +000249a0: 6f66 2064 6566 696e 6974 696f 6e73 2e0a of definitions.. │ │ │ │ │ +000249b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000249c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000249d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000249e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000249f0: 2020 286c 696e 6520 2020 3729 0a2a 2074 (line 7).* t │ │ │ │ │ -00024a00: 6167 2064 6566 696e 6974 696f 6e20 3c32 ag definition <2 │ │ │ │ │ -00024a10: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00024a20: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li │ │ │ │ │ -00024a30: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line │ │ │ │ │ -00024a40: 2020 3533 290a 2a20 7461 6720 7265 6665 53).* tag refe │ │ │ │ │ -00024a50: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: │ │ │ │ │ -00024a60: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ -00024a70: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti │ │ │ │ │ -00024a80: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. │ │ │ │ │ +000249e0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +000249f0: 696e 6520 2020 3729 0a2a 2074 6167 2064 ine 7).* tag d │ │ │ │ │ +00024a00: 6566 696e 6974 696f 6e20 3c32 3e3a 2020 efinition <2>: │ │ │ │ │ +00024a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024a20: 2020 436f 6d6d 616e 6420 6c69 6e65 2e20 Command line. │ │ │ │ │ +00024a30: 2020 2020 2020 2028 6c69 6e65 2020 3533 (line 53 │ │ │ │ │ +00024a40: 290a 2a20 7461 6720 7265 6665 7265 6e63 ).* tag referenc │ │ │ │ │ +00024a50: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +00024a60: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ +00024a70: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions. │ │ │ │ │ +00024a80: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 00024a90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024ab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024ac0: 2020 2028 6c69 6e65 2020 3230 290a 2a20 (line 20).* │ │ │ │ │ -00024ad0: 7461 6720 7265 6665 7265 6e63 6520 3c31 tag reference <1 │ │ │ │ │ -00024ae0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00024af0: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -00024b00: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin │ │ │ │ │ -00024b10: 6520 2031 3929 0a2a 2074 656d 706c 6174 e 19).* templat │ │ │ │ │ -00024b20: 652c 2064 6f63 756d 656e 743a 2020 2020 e, document: │ │ │ │ │ -00024b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024b40: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ -00024b50: 2020 2020 2028 6c69 6e65 2020 3332 290a (line 32). │ │ │ │ │ -00024b60: 2a20 7465 6d70 6c61 7465 2c20 646f 6375 * template, docu │ │ │ │ │ -00024b70: 6d65 6e74 203c 313e 3a20 2020 2020 2020 ment <1>: │ │ │ │ │ -00024b80: 2020 2020 2020 2020 2043 6f6d 6d61 6e64 Command │ │ │ │ │ -00024b90: 206c 696e 652e 2020 2020 2020 2020 286c line. (l │ │ │ │ │ -00024ba0: 696e 6520 2033 3629 0a2a 2074 6574 7261 ine 36).* tetra │ │ │ │ │ -00024bb0: 6865 6472 6f6e 3a20 2020 2020 2020 2020 hedron: │ │ │ │ │ -00024bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024bd0: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli │ │ │ │ │ -00024be0: 642e 2020 2020 2028 6c69 6e65 2020 2039 d. (line 9 │ │ │ │ │ -00024bf0: 290a 2a20 7469 636b 206f 7065 7261 746f ).* tick operato │ │ │ │ │ -00024c00: 7220 2827 293a 2020 2020 2020 2020 2020 r ('): │ │ │ │ │ -00024c10: 2020 2020 2020 2020 2020 2041 6666 696e Affin │ │ │ │ │ -00024c20: 6520 6172 6974 686d 6574 6963 2e20 2020 e arithmetic. │ │ │ │ │ -00024c30: 286c 696e 6520 2033 3729 0a2a 2074 6963 (line 37).* tic │ │ │ │ │ -00024c40: 6b20 6f70 6572 6174 6f72 2028 2729 203c k operator (') < │ │ │ │ │ -00024c50: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00024c60: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ -00024c70: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ +00024ab0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00024ac0: 6c69 6e65 2020 3230 290a 2a20 7461 6720 line 20).* tag │ │ │ │ │ +00024ad0: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: │ │ │ │ │ +00024ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024af0: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe │ │ │ │ │ +00024b00: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1 │ │ │ │ │ +00024b10: 3929 0a2a 2074 656d 706c 6174 652c 2064 9).* template, d │ │ │ │ │ +00024b20: 6f63 756d 656e 743a 2020 2020 2020 2020 ocument: │ │ │ │ │ +00024b30: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell │ │ │ │ │ +00024b40: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. │ │ │ │ │ +00024b50: 2028 6c69 6e65 2020 3332 290a 2a20 7465 (line 32).* te │ │ │ │ │ +00024b60: 6d70 6c61 7465 2c20 646f 6375 6d65 6e74 mplate, document │ │ │ │ │ +00024b70: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00024b80: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin │ │ │ │ │ +00024b90: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line │ │ │ │ │ +00024ba0: 2033 3629 0a2a 2074 6574 7261 6865 6472 36).* tetrahedr │ │ │ │ │ +00024bb0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +00024bc0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ +00024bd0: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. │ │ │ │ │ +00024be0: 2020 2028 6c69 6e65 2020 2039 290a 2a20 (line 9).* │ │ │ │ │ +00024bf0: 7469 636b 206f 7065 7261 746f 7220 2827 tick operator (' │ │ │ │ │ +00024c00: 293a 2020 2020 2020 2020 2020 2020 2020 ): │ │ │ │ │ +00024c10: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar │ │ │ │ │ +00024c20: 6974 686d 6574 6963 2e20 2020 286c 696e ithmetic. (lin │ │ │ │ │ +00024c30: 6520 2033 3729 0a2a 2074 6963 6b20 6f70 e 37).* tick op │ │ │ │ │ +00024c40: 6572 6174 6f72 2028 2729 203c 313e 3a20 erator (') <1>: │ │ │ │ │ +00024c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024c60: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ +00024c70: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ 00024c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024cb0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00024cc0: 696e 6520 2034 3129 0a2a 2054 696b 5a2f ine 41).* TikZ/ │ │ │ │ │ -00024cd0: 5047 463a 2020 2020 2020 2020 2020 2020 PGF: │ │ │ │ │ -00024ce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024cf0: 2020 4162 6f75 7420 736b 6574 6368 2e20 About sketch. │ │ │ │ │ -00024d00: 2020 2020 2020 2028 6c69 6e65 2020 3232 (line 22 │ │ │ │ │ -00024d10: 290a 2a20 746f 726f 6964 3a20 2020 2020 ).* toroid: │ │ │ │ │ +00024cb0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00024cc0: 2034 3129 0a2a 2054 696b 5a2f 5047 463a 41).* TikZ/PGF: │ │ │ │ │ +00024cd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024ce0: 2020 2020 2020 2020 2020 2020 2020 4162 Ab │ │ │ │ │ +00024cf0: 6f75 7420 736b 6574 6368 2e20 2020 2020 out sketch. │ │ │ │ │ +00024d00: 2020 2028 6c69 6e65 2020 3232 290a 2a20 (line 22).* │ │ │ │ │ +00024d10: 746f 726f 6964 3a20 2020 2020 2020 2020 toroid: │ │ │ │ │ 00024d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024d30: 2020 2020 2020 2020 2020 204e 6573 7465 Neste │ │ │ │ │ -00024d40: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. │ │ │ │ │ -00024d50: 286c 696e 6520 2020 3829 0a2a 2074 7261 (line 8).* tra │ │ │ │ │ -00024d60: 6e73 666f 726d 3a20 2020 2020 2020 2020 nsform: │ │ │ │ │ +00024d30: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw │ │ │ │ │ +00024d40: 6565 7073 2e20 2020 2020 2020 286c 696e eeps. (lin │ │ │ │ │ +00024d50: 6520 2020 3829 0a2a 2074 7261 6e73 666f e 8).* transfo │ │ │ │ │ +00024d60: 726d 3a20 2020 2020 2020 2020 2020 2020 rm: │ │ │ │ │ 00024d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024d80: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ -00024d90: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line │ │ │ │ │ -00024da0: 2036 290a 2a20 7472 616e 7366 6f72 6d20 6).* transform │ │ │ │ │ -00024db0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00024dc0: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ -00024dd0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ -00024de0: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ +00024d80: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ +00024d90: 732e 2020 2028 6c69 6e65 2020 2036 290a s. (line 6). │ │ │ │ │ +00024da0: 2a20 7472 616e 7366 6f72 6d20 3c31 3e3a * transform <1>: │ │ │ │ │ +00024db0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024dc0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ +00024dd0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ +00024de0: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ 00024df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024e10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024e20: 2020 2020 2020 2028 6c69 6e65 2020 3238 (line 28 │ │ │ │ │ -00024e30: 290a 2a20 7472 616e 7366 6f72 6d20 3c32 ).* transform <2 │ │ │ │ │ -00024e40: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00024e50: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep │ │ │ │ │ -00024e60: 732e 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ -00024e70: 286c 696e 6520 2031 3129 0a2a 2074 7261 (line 11).* tra │ │ │ │ │ -00024e80: 6e73 666f 726d 203c 333e 3a20 2020 2020 nsform <3>: │ │ │ │ │ +00024e20: 2020 2028 6c69 6e65 2020 3238 290a 2a20 (line 28).* │ │ │ │ │ +00024e30: 7472 616e 7366 6f72 6d20 3c32 3e3a 2020 transform <2>: │ │ │ │ │ +00024e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024e50: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. │ │ │ │ │ +00024e60: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00024e70: 6520 2031 3129 0a2a 2074 7261 6e73 666f e 11).* transfo │ │ │ │ │ +00024e80: 726d 203c 333e 3a20 2020 2020 2020 2020 rm <3>: │ │ │ │ │ 00024e90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024ea0: 2020 2020 5265 7065 6174 732e 2020 2020 Repeats. │ │ │ │ │ -00024eb0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00024ec0: 2039 290a 2a20 7472 616e 7366 6f72 6d20 9).* transform │ │ │ │ │ -00024ed0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -00024ee0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ -00024ef0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -00024f00: 2020 286c 696e 6520 2020 3729 0a2a 2074 (line 7).* t │ │ │ │ │ -00024f10: 7261 6e73 666f 726d 2064 6566 696e 6974 ransform definit │ │ │ │ │ -00024f20: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: │ │ │ │ │ -00024f30: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ -00024f40: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00024f50: 2020 3335 290a 2a20 7472 616e 7366 6f72 35).* transfor │ │ │ │ │ -00024f60: 6d20 6c69 7465 7261 6c3a 2020 2020 2020 m literal: │ │ │ │ │ -00024f70: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -00024f80: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -00024f90: 732e 2020 286c 696e 6520 2020 3629 0a2a s. (line 6).* │ │ │ │ │ -00024fa0: 2074 7261 6e73 666f 726d 2072 6566 6572 transform refer │ │ │ │ │ -00024fb0: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: │ │ │ │ │ -00024fc0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ -00024fd0: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li │ │ │ │ │ -00024fe0: 6e65 2020 3136 290a 2a20 7472 616e 7366 ne 16).* transf │ │ │ │ │ -00024ff0: 6f72 6d20 7265 6665 7265 6e63 6520 3c31 orm reference <1 │ │ │ │ │ -00025000: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00025010: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ -00025020: 2020 2020 2020 286c 696e 6520 2033 3529 (line 35) │ │ │ │ │ -00025030: 0a2a 2074 7261 6e73 666f 726d 2c20 6469 .* transform, di │ │ │ │ │ -00025040: 7265 6374 3a20 2020 2020 2020 2020 2020 rect: │ │ │ │ │ -00025050: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -00025060: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ -00025070: 6c69 6e65 2020 3437 290a 2a20 7472 616e line 47).* tran │ │ │ │ │ -00025080: 7366 6f72 6d2c 2064 6972 6563 7420 3c31 sform, direct <1 │ │ │ │ │ -00025090: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000250a0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -000250b0: 6572 616c 732e 2020 286c 696e 6520 2035 erals. (line 5 │ │ │ │ │ -000250c0: 3329 0a2a 2074 7261 6e73 666f 726d 2c20 3).* transform, │ │ │ │ │ -000250d0: 726f 7461 7469 6f6e 3a20 2020 2020 2020 rotation: │ │ │ │ │ -000250e0: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -000250f0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -00025100: 2028 6c69 6e65 2020 3130 290a 2a20 7472 (line 10).* tr │ │ │ │ │ -00025110: 616e 7366 6f72 6d2c 2072 6f74 6174 696f ansform, rotatio │ │ │ │ │ -00025120: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ -00025130: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ -00025140: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. │ │ │ │ │ +00024ea0: 5265 7065 6174 732e 2020 2020 2020 2020 Repeats. │ │ │ │ │ +00024eb0: 2020 2020 2028 6c69 6e65 2020 2039 290a (line 9). │ │ │ │ │ +00024ec0: 2a20 7472 616e 7366 6f72 6d20 3c34 3e3a * transform <4>: │ │ │ │ │ +00024ed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024ee0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ +00024ef0: 772e 2020 2020 2020 2020 2020 2020 286c w. (l │ │ │ │ │ +00024f00: 696e 6520 2020 3729 0a2a 2074 7261 6e73 ine 7).* trans │ │ │ │ │ +00024f10: 666f 726d 2064 6566 696e 6974 696f 6e3a form definition: │ │ │ │ │ +00024f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024f30: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +00024f40: 2020 2020 2020 2028 6c69 6e65 2020 3335 (line 35 │ │ │ │ │ +00024f50: 290a 2a20 7472 616e 7366 6f72 6d20 6c69 ).* transform li │ │ │ │ │ +00024f60: 7465 7261 6c3a 2020 2020 2020 2020 2020 teral: │ │ │ │ │ +00024f70: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +00024f80: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +00024f90: 286c 696e 6520 2020 3629 0a2a 2074 7261 (line 6).* tra │ │ │ │ │ +00024fa0: 6e73 666f 726d 2072 6566 6572 656e 6365 nsform reference │ │ │ │ │ +00024fb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00024fc0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ +00024fd0: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line │ │ │ │ │ +00024fe0: 3136 290a 2a20 7472 616e 7366 6f72 6d20 16).* transform │ │ │ │ │ +00024ff0: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: │ │ │ │ │ +00025000: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ +00025010: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ +00025020: 2020 286c 696e 6520 2033 3529 0a2a 2074 (line 35).* t │ │ │ │ │ +00025030: 7261 6e73 666f 726d 2c20 6469 7265 6374 ransform, direct │ │ │ │ │ +00025040: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00025050: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +00025060: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line │ │ │ │ │ +00025070: 2020 3437 290a 2a20 7472 616e 7366 6f72 47).* transfor │ │ │ │ │ +00025080: 6d2c 2064 6972 6563 7420 3c31 3e3a 2020 m, direct <1>: │ │ │ │ │ +00025090: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +000250a0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ +000250b0: 732e 2020 286c 696e 6520 2035 3329 0a2a s. (line 53).* │ │ │ │ │ +000250c0: 2074 7261 6e73 666f 726d 2c20 726f 7461 transform, rota │ │ │ │ │ +000250d0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ +000250e0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ +000250f0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ +00025100: 6e65 2020 3130 290a 2a20 7472 616e 7366 ne 10).* transf │ │ │ │ │ +00025110: 6f72 6d2c 2072 6f74 6174 696f 6e20 3c31 orm, rotation <1 │ │ │ │ │ +00025120: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00025130: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ +00025140: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ 00025150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025180: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00025190: 3438 290a 2a20 7472 616e 7366 6f72 6d2c 48).* transform, │ │ │ │ │ -000251a0: 2072 6f74 6174 696f 6e20 3c32 3e3a 2020 rotation <2>: │ │ │ │ │ -000251b0: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -000251c0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -000251d0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +00025180: 2020 2020 2028 6c69 6e65 2020 3438 290a (line 48). │ │ │ │ │ +00025190: 2a20 7472 616e 7366 6f72 6d2c 2072 6f74 * transform, rot │ │ │ │ │ +000251a0: 6174 696f 6e20 3c32 3e3a 2020 2020 2020 ation <2>: │ │ │ │ │ +000251b0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ +000251c0: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ +000251d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000251e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000251f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025210: 2028 6c69 6e65 2020 3538 290a 2a20 7472 (line 58).* tr │ │ │ │ │ -00025220: 616e 7366 6f72 6d2c 2072 6f74 6174 696f ansform, rotatio │ │ │ │ │ -00025230: 6e20 3c33 3e3a 2020 2020 2020 2020 2020 n <3>: │ │ │ │ │ -00025240: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ -00025250: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. │ │ │ │ │ +00025200: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00025210: 6e65 2020 3538 290a 2a20 7472 616e 7366 ne 58).* transf │ │ │ │ │ +00025220: 6f72 6d2c 2072 6f74 6174 696f 6e20 3c33 orm, rotation <3 │ │ │ │ │ +00025230: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00025240: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ +00025250: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ 00025260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025290: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -000252a0: 3738 290a 2a20 7472 616e 7366 6f72 6d2c 78).* transform, │ │ │ │ │ -000252b0: 2072 6f74 6174 696f 6e20 3c34 3e3a 2020 rotation <4>: │ │ │ │ │ -000252c0: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -000252d0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -000252e0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +00025290: 2020 2020 2028 6c69 6e65 2020 3738 290a (line 78). │ │ │ │ │ +000252a0: 2a20 7472 616e 7366 6f72 6d2c 2072 6f74 * transform, rot │ │ │ │ │ +000252b0: 6174 696f 6e20 3c34 3e3a 2020 2020 2020 ation <4>: │ │ │ │ │ +000252c0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ +000252d0: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ +000252e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000252f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025320: 2028 6c69 6e65 2020 3933 290a 2a20 7472 (line 93).* tr │ │ │ │ │ -00025330: 616e 7366 6f72 6d2c 2073 6361 6c65 3a20 ansform, scale: │ │ │ │ │ +00025310: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00025320: 6e65 2020 3933 290a 2a20 7472 616e 7366 ne 93).* transf │ │ │ │ │ +00025330: 6f72 6d2c 2073 6361 6c65 3a20 2020 2020 orm, scale: │ │ │ │ │ 00025340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025350: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -00025360: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ -00025370: 2031 3629 0a2a 2074 7261 6e73 666f 726d 16).* transform │ │ │ │ │ -00025380: 2c20 7363 616c 6520 3c31 3e3a 2020 2020 , scale <1>: │ │ │ │ │ -00025390: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ -000253a0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -000253b0: 2e20 2028 6c69 6e65 2020 3137 290a 2a20 . (line 17).* │ │ │ │ │ -000253c0: 7472 616e 7366 6f72 6d2c 2074 7261 6e73 transform, trans │ │ │ │ │ -000253d0: 6c61 7469 6f6e 3a20 2020 2020 2020 2020 lation: │ │ │ │ │ -000253e0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ -000253f0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ -00025400: 6520 2034 3729 0a2a 2074 7261 6e73 666f e 47).* transfo │ │ │ │ │ -00025410: 726d 2c20 7472 616e 736c 6174 696f 6e20 rm, translation │ │ │ │ │ -00025420: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00025430: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ -00025440: 6c73 2e20 2028 6c69 6e65 2020 3135 290a ls. (line 15). │ │ │ │ │ -00025450: 2a20 7472 616e 7366 6f72 6d2c 2074 7261 * transform, tra │ │ │ │ │ -00025460: 6e73 6c61 7469 6f6e 203c 323e 3a20 2020 nslation <2>: │ │ │ │ │ -00025470: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -00025480: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ +00025350: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00025360: 616c 732e 2020 286c 696e 6520 2031 3629 als. (line 16) │ │ │ │ │ +00025370: 0a2a 2074 7261 6e73 666f 726d 2c20 7363 .* transform, sc │ │ │ │ │ +00025380: 616c 6520 3c31 3e3a 2020 2020 2020 2020 ale <1>: │ │ │ │ │ +00025390: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ +000253a0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ +000253b0: 6c69 6e65 2020 3137 290a 2a20 7472 616e line 17).* tran │ │ │ │ │ +000253c0: 7366 6f72 6d2c 2074 7261 6e73 6c61 7469 sform, translati │ │ │ │ │ +000253d0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +000253e0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +000253f0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4 │ │ │ │ │ +00025400: 3729 0a2a 2074 7261 6e73 666f 726d 2c20 7).* transform, │ │ │ │ │ +00025410: 7472 616e 736c 6174 696f 6e20 3c31 3e3a translation <1>: │ │ │ │ │ +00025420: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ +00025430: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ +00025440: 2028 6c69 6e65 2020 3135 290a 2a20 7472 (line 15).* tr │ │ │ │ │ +00025450: 616e 7366 6f72 6d2c 2074 7261 6e73 6c61 ansform, transla │ │ │ │ │ +00025460: 7469 6f6e 203c 323e 3a20 2020 2020 2020 tion <2>: │ │ │ │ │ +00025470: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ +00025480: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. │ │ │ │ │ 00025490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000254a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000254b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000254c0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -000254d0: 6e65 2020 3437 290a 2a20 7472 616e 7366 ne 47).* transf │ │ │ │ │ -000254e0: 6f72 6d2c 2076 6965 773a 2020 2020 2020 orm, view: │ │ │ │ │ -000254f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025500: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -00025510: 616c 732e 2020 286c 696e 6520 2032 3529 als. (line 25) │ │ │ │ │ -00025520: 0a2a 2074 7261 6e73 666f 726d 2c20 7669 .* transform, vi │ │ │ │ │ -00025530: 6577 203c 313e 3a20 2020 2020 2020 2020 ew <1>: │ │ │ │ │ -00025540: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -00025550: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ -00025560: 6c69 6e65 2020 3335 290a 2a20 7472 616e line 35).* tran │ │ │ │ │ -00025570: 736c 6174 696f 6e20 7472 616e 7366 6f72 slation transfor │ │ │ │ │ -00025580: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ -00025590: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ -000255a0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4 │ │ │ │ │ -000255b0: 3729 0a2a 2074 7261 6e73 6c61 7469 6f6e 7).* translation │ │ │ │ │ -000255c0: 2074 7261 6e73 666f 726d 203c 313e 3a20 transform <1>: │ │ │ │ │ -000255d0: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -000255e0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -000255f0: 2028 6c69 6e65 2020 3135 290a 2a20 7472 (line 15).* tr │ │ │ │ │ -00025600: 616e 736c 6174 696f 6e20 7472 616e 7366 anslation transf │ │ │ │ │ -00025610: 6f72 6d20 3c32 3e3a 2020 2020 2020 2020 orm <2>: │ │ │ │ │ -00025620: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ -00025630: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. │ │ │ │ │ +000254c0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000254d0: 3437 290a 2a20 7472 616e 7366 6f72 6d2c 47).* transform, │ │ │ │ │ +000254e0: 2076 6965 773a 2020 2020 2020 2020 2020 view: │ │ │ │ │ +000254f0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +00025500: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ +00025510: 2020 286c 696e 6520 2032 3529 0a2a 2074 (line 25).* t │ │ │ │ │ +00025520: 7261 6e73 666f 726d 2c20 7669 6577 203c ransform, view < │ │ │ │ │ +00025530: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +00025540: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +00025550: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line │ │ │ │ │ +00025560: 2020 3335 290a 2a20 7472 616e 736c 6174 35).* translat │ │ │ │ │ +00025570: 696f 6e20 7472 616e 7366 6f72 6d3a 2020 ion transform: │ │ │ │ │ +00025580: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +00025590: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ +000255a0: 2e20 2020 286c 696e 6520 2034 3729 0a2a . (line 47).* │ │ │ │ │ +000255b0: 2074 7261 6e73 6c61 7469 6f6e 2074 7261 translation tra │ │ │ │ │ +000255c0: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: │ │ │ │ │ +000255d0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ +000255e0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ +000255f0: 6e65 2020 3135 290a 2a20 7472 616e 736c ne 15).* transl │ │ │ │ │ +00025600: 6174 696f 6e20 7472 616e 7366 6f72 6d20 ation transform │ │ │ │ │ +00025610: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00025620: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ +00025630: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ 00025640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025670: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00025680: 3437 290a 2a20 7472 616e 7370 6172 656e 47).* transparen │ │ │ │ │ -00025690: 6379 3a20 2020 2020 2020 2020 2020 2020 cy: │ │ │ │ │ -000256a0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ -000256b0: 6e73 7061 7265 6e63 792e 2020 2020 2020 nsparency. │ │ │ │ │ -000256c0: 2020 286c 696e 6520 2020 3629 0a2a 2074 (line 6).* t │ │ │ │ │ -000256d0: 776f 2d6f 7065 7261 6e64 2066 6f72 6d3a wo-operand form: │ │ │ │ │ +00025670: 2020 2020 2028 6c69 6e65 2020 3437 290a (line 47). │ │ │ │ │ +00025680: 2a20 7472 616e 7370 6172 656e 6379 3a20 * transparency: │ │ │ │ │ +00025690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000256a0: 2020 2020 2020 2020 2054 7261 6e73 7061 Transpa │ │ │ │ │ +000256b0: 7265 6e63 792e 2020 2020 2020 2020 286c rency. (l │ │ │ │ │ +000256c0: 696e 6520 2020 3629 0a2a 2074 776f 2d6f ine 6).* two-o │ │ │ │ │ +000256d0: 7065 7261 6e64 2066 6f72 6d3a 2020 2020 perand form: │ │ │ │ │ 000256e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000256f0: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ -00025700: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ -00025710: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +000256f0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ +00025700: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ +00025710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025750: 286c 696e 6520 2020 3629 0a2a 2075 6e61 (line 6).* una │ │ │ │ │ -00025760: 7279 2066 6f72 6d3a 2020 2020 2020 2020 ry form: │ │ │ │ │ +00025740: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00025750: 6520 2020 3629 0a2a 2075 6e61 7279 2066 e 6).* unary f │ │ │ │ │ +00025760: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ 00025770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025780: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms. │ │ │ │ │ -00025790: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -000257a0: 2036 290a 2a20 7665 6374 6f72 3a20 2020 6).* vector: │ │ │ │ │ +00025780: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. │ │ │ │ │ +00025790: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +000257a0: 2a20 7665 6374 6f72 3a20 2020 2020 2020 * vector: │ │ │ │ │ 000257b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000257c0: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ -000257d0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ -000257e0: 2020 286c 696e 6520 2034 3829 0a2a 2076 (line 48).* v │ │ │ │ │ -000257f0: 6563 746f 7220 6465 6669 6e69 7469 6f6e ector definition │ │ │ │ │ -00025800: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00025810: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -00025820: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line │ │ │ │ │ -00025830: 2020 3139 290a 2a20 7665 6374 6f72 206c 19).* vector l │ │ │ │ │ -00025840: 6974 6572 616c 3a20 2020 2020 2020 2020 iteral: │ │ │ │ │ -00025850: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -00025860: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector │ │ │ │ │ -00025870: 6c69 7465 7261 6c73 2e0a 2020 2020 2020 literals.. │ │ │ │ │ +000257c0: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +000257d0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ +000257e0: 696e 6520 2034 3829 0a2a 2076 6563 746f ine 48).* vecto │ │ │ │ │ +000257f0: 7220 6465 6669 6e69 7469 6f6e 3a20 2020 r definition: │ │ │ │ │ +00025800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025810: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ +00025820: 732e 2020 2020 2028 6c69 6e65 2020 3139 s. (line 19 │ │ │ │ │ +00025830: 290a 2a20 7665 6374 6f72 206c 6974 6572 ).* vector liter │ │ │ │ │ +00025840: 616c 3a20 2020 2020 2020 2020 2020 2020 al: │ │ │ │ │ +00025850: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point │ │ │ │ │ +00025860: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite │ │ │ │ │ +00025870: 7261 6c73 2e0a 2020 2020 2020 2020 2020 rals.. │ │ │ │ │ 00025880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000258a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000258b0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -000258c0: 3629 0a2a 2076 6563 746f 7220 7265 6665 6).* vector refe │ │ │ │ │ -000258d0: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: │ │ │ │ │ -000258e0: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ -000258f0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ -00025900: 2028 6c69 6e65 2020 3135 290a 2a20 7669 (line 15).* vi │ │ │ │ │ -00025910: 6577 2074 7261 6e73 666f 726d 3a20 2020 ew transform: │ │ │ │ │ +000258b0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +000258c0: 2076 6563 746f 7220 7265 6665 7265 6e63 vector referenc │ │ │ │ │ +000258d0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +000258e0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ +000258f0: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li │ │ │ │ │ +00025900: 6e65 2020 3135 290a 2a20 7669 6577 2074 ne 15).* view t │ │ │ │ │ +00025910: 7261 6e73 666f 726d 3a20 2020 2020 2020 ransform: │ │ │ │ │ 00025920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025930: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -00025940: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ -00025950: 2032 3529 0a2a 2076 6965 7720 7472 616e 25).* view tran │ │ │ │ │ -00025960: 7366 6f72 6d20 3c31 3e3a 2020 2020 2020 sform <1>: │ │ │ │ │ -00025970: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ -00025980: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -00025990: 2e20 2028 6c69 6e65 2020 3335 290a 2a20 . (line 35).* │ │ │ │ │ -000259a0: 7669 7274 7561 6c20 6361 6d65 7261 3a20 virtual camera: │ │ │ │ │ +00025930: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00025940: 616c 732e 2020 286c 696e 6520 2032 3529 als. (line 25) │ │ │ │ │ +00025950: 0a2a 2076 6965 7720 7472 616e 7366 6f72 .* view transfor │ │ │ │ │ +00025960: 6d20 3c31 3e3a 2020 2020 2020 2020 2020 m <1>: │ │ │ │ │ +00025970: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ +00025980: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ +00025990: 6c69 6e65 2020 3335 290a 2a20 7669 7274 line 35).* virt │ │ │ │ │ +000259a0: 7561 6c20 6361 6d65 7261 3a20 2020 2020 ual camera: │ │ │ │ │ 000259b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000259c0: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ -000259d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -000259e0: 6520 2038 3129 0a2a 2077 6869 7465 2073 e 81).* white s │ │ │ │ │ -000259f0: 7061 6365 3a20 2020 2020 2020 2020 2020 pace: │ │ │ │ │ -00025a00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025a10: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ -00025a20: 2020 2020 2028 6c69 6e65 2020 3235 290a (line 25). │ │ │ │ │ -00025a30: 2a20 7768 6974 6520 7370 6163 6520 3c31 * white space <1 │ │ │ │ │ -00025a40: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00025a50: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -00025a60: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l │ │ │ │ │ -00025a70: 696e 6520 2032 3929 0a2a 2077 6869 7465 ine 29).* white │ │ │ │ │ -00025a80: 2073 7061 6365 203c 323e 3a20 2020 2020 space <2>: │ │ │ │ │ -00025a90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025aa0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ -00025ab0: 726d 732e 2020 2028 6c69 6e65 2020 3332 rms. (line 32 │ │ │ │ │ -00025ac0: 290a 2a20 7768 6974 6520 7370 6163 6520 ).* white space │ │ │ │ │ -00025ad0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ -00025ae0: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ -00025af0: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. │ │ │ │ │ -00025b00: 286c 696e 6520 2031 3629 0a0a 0a1f 0a54 (line 16).....T │ │ │ │ │ -00025b10: 6167 2054 6162 6c65 3a0a 4e6f 6465 3a20 ag Table:.Node: │ │ │ │ │ -00025b20: 546f 707f 3131 3638 0a4e 6f64 653a 2041 Top.1168.Node: A │ │ │ │ │ -00025b30: 626f 7574 2073 6b65 7463 687f 3731 3932 bout sketch.7192 │ │ │ │ │ -00025b40: 0a4e 6f64 653a 2052 6570 6f72 7469 6e67 .Node: Reporting │ │ │ │ │ -00025b50: 2062 7567 737f 3834 3534 0a4e 6f64 653a bugs.8454.Node: │ │ │ │ │ -00025b60: 2043 6f6e 7472 6962 7574 696f 6e73 7f39 Contributions.9 │ │ │ │ │ -00025b70: 3439 330a 5265 663a 2053 6f6c 6964 2063 493.Ref: Solid c │ │ │ │ │ -00025b80: 6f69 6c20 6578 616d 706c 657f 3939 3131 oil example.9911 │ │ │ │ │ -00025b90: 0a4e 6f64 653a 2049 6e74 726f 6475 6374 .Node: Introduct │ │ │ │ │ -00025ba0: 696f 6e20 6279 2065 7861 6d70 6c65 7f39 ion by example.9 │ │ │ │ │ -00025bb0: 3931 320a 4e6f 6465 3a20 4865 6c6c 6f20 912.Node: Hello │ │ │ │ │ -00025bc0: 776f 726c 647f 3130 3934 360a 5265 663a world.10946.Ref: │ │ │ │ │ -00025bd0: 2048 656c 6c6f 2077 6f72 6c64 2d46 6f6f Hello world-Foo │ │ │ │ │ -00025be0: 746e 6f74 652d 317f 3133 3133 380a 4e6f tnote-1.13138.No │ │ │ │ │ -00025bf0: 6465 3a20 4472 6177 696e 6720 6f70 7469 de: Drawing opti │ │ │ │ │ -00025c00: 6f6e 737f 3133 3139 370a 4e6f 6465 3a20 ons.13197.Node: │ │ │ │ │ -00025c10: 4472 6177 696e 6720 6120 736f 6c69 647f Drawing a solid. │ │ │ │ │ -00025c20: 3134 3338 330a 5265 663a 2048 656c 6978 14383.Ref: Helix │ │ │ │ │ -00025c30: 2077 6974 6820 6375 6c6c 2073 6574 2066 with cull set f │ │ │ │ │ -00025c40: 616c 7365 2074 6865 6e20 7472 7565 7f31 alse then true.1 │ │ │ │ │ -00025c50: 3637 3536 0a4e 6f64 653a 2053 7065 6369 6756.Node: Speci │ │ │ │ │ -00025c60: 616c 206f 626a 6563 7473 7f31 3732 3839 al objects.17289 │ │ │ │ │ -00025c70: 0a4e 6f64 653a 204f 626a 6563 7420 7472 .Node: Object tr │ │ │ │ │ -00025c80: 616e 7366 6f72 6d73 7f32 3033 3837 0a52 ansforms.20387.R │ │ │ │ │ -00025c90: 6566 3a20 5269 6768 7420 6861 6e64 2072 ef: Right hand r │ │ │ │ │ -00025ca0: 756c 657f 3232 3634 340a 4e6f 6465 3a20 ule.22644.Node: │ │ │ │ │ -00025cb0: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects │ │ │ │ │ -00025cc0: 7f32 3330 3932 0a4e 6f64 653a 2053 7765 .23092.Node: Swe │ │ │ │ │ -00025cd0: 7074 206f 626a 6563 7473 7f32 3336 3531 pt objects.23651 │ │ │ │ │ -00025ce0: 0a4e 6f64 653a 2050 6f69 6e74 2073 7765 .Node: Point swe │ │ │ │ │ -00025cf0: 6570 737f 3234 3736 340a 4e6f 6465 3a20 eps.24764.Node: │ │ │ │ │ -00025d00: 506f 6c79 6c69 6e65 2073 7765 6570 737f Polyline sweeps. │ │ │ │ │ -00025d10: 3235 3737 360a 4e6f 6465 3a20 4e65 7374 25776.Node: Nest │ │ │ │ │ -00025d20: 6564 2073 7765 6570 737f 3236 3731 320a ed sweeps.26712. │ │ │ │ │ -00025d30: 4e6f 6465 3a20 506f 6c79 676f 6e20 7377 Node: Polygon sw │ │ │ │ │ -00025d40: 6565 7073 7f32 3830 3234 0a4e 6f64 653a eeps.28024.Node: │ │ │ │ │ -00025d50: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ -00025d60: 2077 6974 6820 636c 6f73 7572 657f 3238 with closure.28 │ │ │ │ │ -00025d70: 3437 370a 4e6f 6465 3a20 4166 6669 6e65 477.Node: Affine │ │ │ │ │ -00025d80: 2061 7269 7468 6d65 7469 637f 3330 3137 arithmetic.3017 │ │ │ │ │ -00025d90: 360a 4e6f 6465 3a20 4d6f 7265 2074 6f20 6.Node: More to │ │ │ │ │ -00025da0: 6c65 6172 6e7f 3332 3131 340a 4e6f 6465 learn.32114.Node │ │ │ │ │ -00025db0: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language │ │ │ │ │ -00025dc0: 7f33 3235 3034 0a4e 6f64 653a 204c 616e .32504.Node: Lan │ │ │ │ │ -00025dd0: 6775 6167 6520 6261 7369 6373 7f33 3239 guage basics.329 │ │ │ │ │ -00025de0: 3639 0a4e 6f64 653a 2049 6465 6e74 6966 69.Node: Identif │ │ │ │ │ -00025df0: 6965 7273 7f33 3434 3037 0a4e 6f64 653a iers.34407.Node: │ │ │ │ │ -00025e00: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve │ │ │ │ │ -00025e10: 6420 776f 7264 737f 3334 3939 380a 4e6f d words.34998.No │ │ │ │ │ -00025e20: 6465 3a20 4c69 7465 7261 6c73 7f33 3538 de: Literals.358 │ │ │ │ │ -00025e30: 3731 0a4e 6f64 653a 2053 6361 6c61 7220 71.Node: Scalar │ │ │ │ │ -00025e40: 6c69 7465 7261 6c73 7f33 3633 3435 0a4e literals.36345.N │ │ │ │ │ -00025e50: 6f64 653a 2050 6f69 6e74 2061 6e64 2076 ode: Point and v │ │ │ │ │ -00025e60: 6563 746f 7220 6c69 7465 7261 6c73 7f33 ector literals.3 │ │ │ │ │ -00025e70: 3637 3236 0a4e 6f64 653a 2054 7261 6e73 6726.Node: Trans │ │ │ │ │ -00025e80: 666f 726d 206c 6974 6572 616c 737f 3337 form literals.37 │ │ │ │ │ -00025e90: 3130 330a 4e6f 6465 3a20 4172 6974 686d 103.Node: Arithm │ │ │ │ │ -00025ea0: 6574 6963 7f34 3231 3833 0a4e 6f64 653a etic.42183.Node: │ │ │ │ │ -00025eb0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ -00025ec0: 6e61 7279 2920 666f 726d 737f 3432 3535 nary) forms.4255 │ │ │ │ │ -00025ed0: 310a 4e6f 6465 3a20 556e 6172 7920 666f 1.Node: Unary fo │ │ │ │ │ -00025ee0: 726d 737f 3436 3233 320a 4e6f 6465 3a20 rms.46232.Node: │ │ │ │ │ -00025ef0: 4f70 7469 6f6e 737f 3437 3538 300a 4e6f Options.47580.No │ │ │ │ │ -00025f00: 6465 3a20 5053 5472 6963 6b73 206f 7074 de: PSTricks opt │ │ │ │ │ -00025f10: 696f 6e73 7f34 3832 3939 0a4e 6f64 653a ions.48299.Node: │ │ │ │ │ -00025f20: 2054 696b 5a2f 5047 4620 6f70 7469 6f6e TikZ/PGF option │ │ │ │ │ -00025f30: 737f 3439 3431 310a 4e6f 6465 3a20 446f s.49411.Node: Do │ │ │ │ │ -00025f40: 7473 2069 6e20 5469 6b5a 2f50 4746 7f35 ts in TikZ/PGF.5 │ │ │ │ │ -00025f50: 3131 3532 0a4e 6f64 653a 2054 696b 5a2f 1152.Node: TikZ/ │ │ │ │ │ -00025f60: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ -00025f70: 2073 7479 6c65 737f 3531 3737 330a 5265 styles.51773.Re │ │ │ │ │ -00025f80: 663a 2054 696b 5a2f 5047 4620 7573 6572 f: TikZ/PGF user │ │ │ │ │ -00025f90: 2d64 6566 696e 6564 2073 7479 6c65 732d -defined styles- │ │ │ │ │ -00025fa0: 466f 6f74 6e6f 7465 2d31 7f35 3338 3331 Footnote-1.53831 │ │ │ │ │ -00025fb0: 0a4e 6f64 653a 2054 7261 6e73 7061 7265 .Node: Transpare │ │ │ │ │ -00025fc0: 6e63 797f 3533 3838 370a 4e6f 6465 3a20 ncy.53887.Node: │ │ │ │ │ -00025fd0: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options │ │ │ │ │ -00025fe0: 7f35 3437 3335 0a4e 6f64 653a 2044 7261 .54735.Node: Dra │ │ │ │ │ -00025ff0: 7761 626c 6573 7f35 3635 3036 0a4e 6f64 wables.56506.Nod │ │ │ │ │ -00026000: 653a 2044 6f74 737f 3537 3530 350a 4e6f e: Dots.57505.No │ │ │ │ │ -00026010: 6465 3a20 4c69 6e65 737f 3537 3734 350a de: Lines.57745. │ │ │ │ │ -00026020: 4e6f 6465 3a20 4375 7276 6573 7f35 3739 Node: Curves.579 │ │ │ │ │ -00026030: 3834 0a4e 6f64 653a 2050 6f6c 7967 6f6e 84.Node: Polygon │ │ │ │ │ -00026040: 737f 3538 3239 340a 4e6f 6465 3a20 5370 s.58294.Node: Sp │ │ │ │ │ -00026050: 6563 6961 6c73 7f35 3837 3331 0a4e 6f64 ecials.58731.Nod │ │ │ │ │ -00026060: 653a 2053 7765 6570 737f 3631 3130 360a e: Sweeps.61106. │ │ │ │ │ -00026070: 4e6f 6465 3a20 5377 6570 7420 706f 696e Node: Swept poin │ │ │ │ │ -00026080: 7473 7f36 3233 3839 0a4e 6f64 653a 2053 ts.62389.Node: S │ │ │ │ │ -00026090: 7765 7074 206c 696e 6573 7f36 3334 3838 wept lines.63488 │ │ │ │ │ -000260a0: 0a4e 6f64 653a 2053 7765 7074 2070 6f6c .Node: Swept pol │ │ │ │ │ -000260b0: 7967 6f6e 737f 3636 3131 340a 4e6f 6465 ygons.66114.Node │ │ │ │ │ -000260c0: 3a20 5377 6570 7420 626c 6f63 6b73 7f36 : Swept blocks.6 │ │ │ │ │ -000260d0: 3736 3837 0a4e 6f64 653a 2053 7765 6570 7687.Node: Sweep │ │ │ │ │ -000260e0: 2066 6163 6520 7370 6c69 7474 696e 677f face splitting. │ │ │ │ │ -000260f0: 3638 3235 350a 4e6f 6465 3a20 426c 6f63 68255.Node: Bloc │ │ │ │ │ -00026100: 6b73 7f36 3838 3631 0a4e 6f64 653a 2052 ks.68861.Node: R │ │ │ │ │ -00026110: 6570 6561 7473 7f36 3934 3636 0a4e 6f64 epeats.69466.Nod │ │ │ │ │ -00026120: 653a 2050 7574 737f 3730 3131 360a 4e6f e: Puts.70116.No │ │ │ │ │ -00026130: 6465 3a20 4465 6669 6e69 7469 6f6e 737f de: Definitions. │ │ │ │ │ -00026140: 3730 3330 310a 4e6f 6465 3a20 466f 726d 70301.Node: Form │ │ │ │ │ -00026150: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions │ │ │ │ │ -00026160: 7f37 3135 3437 0a4e 6f64 653a 2046 6f72 .71547.Node: For │ │ │ │ │ -00026170: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ -00026180: 7f37 3234 3734 0a4e 6f64 653a 2047 6c6f .72474.Node: Glo │ │ │ │ │ -00026190: 6261 6c20 656e 7669 726f 6e6d 656e 747f bal environment. │ │ │ │ │ -000261a0: 3733 3532 350a 4e6f 6465 3a20 476c 6f62 73525.Node: Glob │ │ │ │ │ -000261b0: 616c 206f 7074 696f 6e73 7f37 3434 3237 al options.74427 │ │ │ │ │ -000261c0: 0a4e 6f64 653a 2043 616d 6572 617f 3734 .Node: Camera.74 │ │ │ │ │ -000261d0: 3939 300a 4e6f 6465 3a20 5069 6374 7572 990.Node: Pictur │ │ │ │ │ -000261e0: 6520 626f 787f 3735 3430 310a 4e6f 6465 e box.75401.Node │ │ │ │ │ -000261f0: 3a20 4672 616d 657f 3736 3435 320a 4e6f : Frame.76452.No │ │ │ │ │ -00026200: 6465 3a20 4c61 6e67 7561 6765 7f37 3639 de: Language.769 │ │ │ │ │ -00026210: 3230 0a4e 6f64 653a 2042 7569 6c64 696e 20.Node: Buildin │ │ │ │ │ -00026220: 6720 6120 6472 6177 696e 677f 3737 3934 g a drawing.7794 │ │ │ │ │ -00026230: 330a 4e6f 6465 3a20 4f76 6572 7669 6577 3.Node: Overview │ │ │ │ │ -00026240: 7f37 3837 3532 0a4e 6f64 653a 2041 2074 .78752.Node: A t │ │ │ │ │ -00026250: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -00026260: 7f38 3632 3836 0a4e 6f64 653a 2041 2068 .86286.Node: A h │ │ │ │ │ -00026270: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -00026280: 6c7f 3931 3130 310a 4e6f 6465 3a20 4361 l.91101.Node: Ca │ │ │ │ │ -00026290: 7665 6174 737f 3937 3535 360a 4e6f 6465 veats.97556.Node │ │ │ │ │ -000262a0: 3a20 4c69 6d69 7473 206f 6e20 6572 726f : Limits on erro │ │ │ │ │ -000262b0: 7220 6465 7465 6374 696f 6e7f 3938 3133 r detection.9813 │ │ │ │ │ -000262c0: 380a 4e6f 6465 3a20 436c 6970 7069 6e67 8.Node: Clipping │ │ │ │ │ -000262d0: 7f39 3936 3234 0a4e 6f64 653a 2048 6964 .99624.Node: Hid │ │ │ │ │ -000262e0: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo │ │ │ │ │ -000262f0: 7661 6c7f 3130 3030 3431 0a52 6566 3a20 val.100041.Ref: │ │ │ │ │ -00026300: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r │ │ │ │ │ -00026310: 656d 6f76 616c 2d46 6f6f 746e 6f74 652d emoval-Footnote- │ │ │ │ │ -00026320: 317f 3130 3134 3633 0a52 6566 3a20 4869 1.101463.Ref: Hi │ │ │ │ │ -00026330: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem │ │ │ │ │ -00026340: 6f76 616c 2d46 6f6f 746e 6f74 652d 327f oval-Footnote-2. │ │ │ │ │ -00026350: 3130 3136 3432 0a4e 6f64 653a 2053 7461 101642.Node: Sta │ │ │ │ │ -00026360: 7469 7374 6963 737f 3130 3230 3238 0a4e tistics.102028.N │ │ │ │ │ -00026370: 6f64 653a 2042 7567 7320 616e 6420 616e ode: Bugs and an │ │ │ │ │ -00026380: 6f6d 616c 6965 737f 3130 3333 3235 0a52 omalies.103325.R │ │ │ │ │ -00026390: 6566 3a20 4275 6773 2061 6e64 2061 6e6f ef: Bugs and ano │ │ │ │ │ -000263a0: 6d61 6c69 6573 2d46 6f6f 746e 6f74 652d malies-Footnote- │ │ │ │ │ -000263b0: 317f 3130 3531 3834 0a4e 6f64 653a 2043 1.105184.Node: C │ │ │ │ │ -000263c0: 6f6d 6d61 6e64 206c 696e 657f 3130 3532 ommand line.1052 │ │ │ │ │ -000263d0: 3833 0a4e 6f64 653a 2049 6e73 7461 6c6c 83.Node: Install │ │ │ │ │ -000263e0: 696e 6720 736b 6574 6368 7f31 3038 3034 ing sketch.10804 │ │ │ │ │ -000263f0: 330a 4e6f 6465 3a20 496e 6465 7820 6f66 3.Node: Index of │ │ │ │ │ -00026400: 2073 796e 7461 787f 3131 3131 3236 0a4e syntax.111126.N │ │ │ │ │ -00026410: 6f64 653a 2049 6e64 6578 7f31 3238 3439 ode: Index.12849 │ │ │ │ │ -00026420: 360a 1f0a 456e 6420 5461 6720 5461 626c 6...End Tag Tabl │ │ │ │ │ -00026430: 650a 0a1f 0a4c 6f63 616c 2056 6172 6961 e....Local Varia │ │ │ │ │ -00026440: 626c 6573 3a0a 636f 6469 6e67 3a20 7574 bles:.coding: ut │ │ │ │ │ -00026450: 662d 380a 456e 643a 0a f-8.End:. │ │ │ │ │ +000259c0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +000259d0: 2020 2020 2020 2020 286c 696e 6520 2038 (line 8 │ │ │ │ │ +000259e0: 3129 0a2a 2077 6869 7465 2073 7061 6365 1).* white space │ │ │ │ │ +000259f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00025a00: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ +00025a10: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. │ │ │ │ │ +00025a20: 2028 6c69 6e65 2020 3235 290a 2a20 7768 (line 25).* wh │ │ │ │ │ +00025a30: 6974 6520 7370 6163 6520 3c31 3e3a 2020 ite space <1>: │ │ │ │ │ +00025a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025a50: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s │ │ │ │ │ +00025a60: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line │ │ │ │ │ +00025a70: 2032 3929 0a2a 2077 6869 7465 2073 7061 29).* white spa │ │ │ │ │ +00025a80: 6365 203c 323e 3a20 2020 2020 2020 2020 ce <2>: │ │ │ │ │ +00025a90: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob │ │ │ │ │ +00025aa0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ +00025ab0: 2020 2028 6c69 6e65 2020 3332 290a 2a20 (line 32).* │ │ │ │ │ +00025ac0: 7768 6974 6520 7370 6163 6520 3c33 3e3a white space <3>: │ │ │ │ │ +00025ad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025ae0: 2020 2020 2020 204c 616e 6775 6167 6520 Language │ │ │ │ │ +00025af0: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin │ │ │ │ │ +00025b00: 6520 2031 3629 0a0a 0a1f 0a54 6167 2054 e 16).....Tag T │ │ │ │ │ +00025b10: 6162 6c65 3a0a 4e6f 6465 3a20 546f 707f able:.Node: Top. │ │ │ │ │ +00025b20: 3131 3636 0a4e 6f64 653a 2041 626f 7574 1166.Node: About │ │ │ │ │ +00025b30: 2073 6b65 7463 687f 3731 3838 0a4e 6f64 sketch.7188.Nod │ │ │ │ │ +00025b40: 653a 2052 6570 6f72 7469 6e67 2062 7567 e: Reporting bug │ │ │ │ │ +00025b50: 737f 3834 3530 0a4e 6f64 653a 2043 6f6e s.8450.Node: Con │ │ │ │ │ +00025b60: 7472 6962 7574 696f 6e73 7f39 3438 390a tributions.9489. │ │ │ │ │ +00025b70: 5265 663a 2053 6f6c 6964 2063 6f69 6c20 Ref: Solid coil │ │ │ │ │ +00025b80: 6578 616d 706c 657f 3939 3037 0a4e 6f64 example.9907.Nod │ │ │ │ │ +00025b90: 653a 2049 6e74 726f 6475 6374 696f 6e20 e: Introduction │ │ │ │ │ +00025ba0: 6279 2065 7861 6d70 6c65 7f39 3930 380a by example.9908. │ │ │ │ │ +00025bb0: 4e6f 6465 3a20 4865 6c6c 6f20 776f 726c Node: Hello worl │ │ │ │ │ +00025bc0: 647f 3130 3934 320a 5265 663a 2048 656c d.10942.Ref: Hel │ │ │ │ │ +00025bd0: 6c6f 2077 6f72 6c64 2d46 6f6f 746e 6f74 lo world-Footnot │ │ │ │ │ +00025be0: 652d 317f 3133 3133 340a 4e6f 6465 3a20 e-1.13134.Node: │ │ │ │ │ +00025bf0: 4472 6177 696e 6720 6f70 7469 6f6e 737f Drawing options. │ │ │ │ │ +00025c00: 3133 3139 330a 4e6f 6465 3a20 4472 6177 13193.Node: Draw │ │ │ │ │ +00025c10: 696e 6720 6120 736f 6c69 647f 3134 3337 ing a solid.1437 │ │ │ │ │ +00025c20: 390a 5265 663a 2048 656c 6978 2077 6974 9.Ref: Helix wit │ │ │ │ │ +00025c30: 6820 6375 6c6c 2073 6574 2066 616c 7365 h cull set false │ │ │ │ │ +00025c40: 2074 6865 6e20 7472 7565 7f31 3637 3532 then true.16752 │ │ │ │ │ +00025c50: 0a4e 6f64 653a 2053 7065 6369 616c 206f .Node: Special o │ │ │ │ │ +00025c60: 626a 6563 7473 7f31 3732 3835 0a4e 6f64 bjects.17285.Nod │ │ │ │ │ +00025c70: 653a 204f 626a 6563 7420 7472 616e 7366 e: Object transf │ │ │ │ │ +00025c80: 6f72 6d73 7f32 3033 3833 0a52 6566 3a20 orms.20383.Ref: │ │ │ │ │ +00025c90: 5269 6768 7420 6861 6e64 2072 756c 657f Right hand rule. │ │ │ │ │ +00025ca0: 3232 3634 300a 4e6f 6465 3a20 5265 7065 22640.Node: Repe │ │ │ │ │ +00025cb0: 6174 6564 206f 626a 6563 7473 7f32 3330 ated objects.230 │ │ │ │ │ +00025cc0: 3838 0a4e 6f64 653a 2053 7765 7074 206f 88.Node: Swept o │ │ │ │ │ +00025cd0: 626a 6563 7473 7f32 3336 3437 0a4e 6f64 bjects.23647.Nod │ │ │ │ │ +00025ce0: 653a 2050 6f69 6e74 2073 7765 6570 737f e: Point sweeps. │ │ │ │ │ +00025cf0: 3234 3736 300a 4e6f 6465 3a20 506f 6c79 24760.Node: Poly │ │ │ │ │ +00025d00: 6c69 6e65 2073 7765 6570 737f 3235 3737 line sweeps.2577 │ │ │ │ │ +00025d10: 320a 4e6f 6465 3a20 4e65 7374 6564 2073 2.Node: Nested s │ │ │ │ │ +00025d20: 7765 6570 737f 3236 3730 380a 4e6f 6465 weeps.26708.Node │ │ │ │ │ +00025d30: 3a20 506f 6c79 676f 6e20 7377 6565 7073 : Polygon sweeps │ │ │ │ │ +00025d40: 7f32 3830 3230 0a4e 6f64 653a 2050 6f6c .28020.Node: Pol │ │ │ │ │ +00025d50: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +00025d60: 6820 636c 6f73 7572 657f 3238 3437 330a h closure.28473. │ │ │ │ │ +00025d70: 4e6f 6465 3a20 4166 6669 6e65 2061 7269 Node: Affine ari │ │ │ │ │ +00025d80: 7468 6d65 7469 637f 3330 3137 320a 4e6f thmetic.30172.No │ │ │ │ │ +00025d90: 6465 3a20 4d6f 7265 2074 6f20 6c65 6172 de: More to lear │ │ │ │ │ +00025da0: 6e7f 3332 3131 300a 4e6f 6465 3a20 496e n.32110.Node: In │ │ │ │ │ +00025db0: 7075 7420 6c61 6e67 7561 6765 7f33 3235 put language.325 │ │ │ │ │ +00025dc0: 3030 0a4e 6f64 653a 204c 616e 6775 6167 00.Node: Languag │ │ │ │ │ +00025dd0: 6520 6261 7369 6373 7f33 3239 3635 0a4e e basics.32965.N │ │ │ │ │ +00025de0: 6f64 653a 2049 6465 6e74 6966 6965 7273 ode: Identifiers │ │ │ │ │ +00025df0: 7f33 3434 3033 0a4e 6f64 653a 204b 6579 .34403.Node: Key │ │ │ │ │ +00025e00: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo │ │ │ │ │ +00025e10: 7264 737f 3334 3939 340a 4e6f 6465 3a20 rds.34994.Node: │ │ │ │ │ +00025e20: 4c69 7465 7261 6c73 7f33 3538 3637 0a4e Literals.35867.N │ │ │ │ │ +00025e30: 6f64 653a 2053 6361 6c61 7220 6c69 7465 ode: Scalar lite │ │ │ │ │ +00025e40: 7261 6c73 7f33 3633 3431 0a4e 6f64 653a rals.36341.Node: │ │ │ │ │ +00025e50: 2050 6f69 6e74 2061 6e64 2076 6563 746f Point and vecto │ │ │ │ │ +00025e60: 7220 6c69 7465 7261 6c73 7f33 3637 3232 r literals.36722 │ │ │ │ │ +00025e70: 0a4e 6f64 653a 2054 7261 6e73 666f 726d .Node: Transform │ │ │ │ │ +00025e80: 206c 6974 6572 616c 737f 3337 3039 390a literals.37099. │ │ │ │ │ +00025e90: 4e6f 6465 3a20 4172 6974 686d 6574 6963 Node: Arithmetic │ │ │ │ │ +00025ea0: 7f34 3231 3739 0a4e 6f64 653a 2054 776f .42179.Node: Two │ │ │ │ │ +00025eb0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ +00025ec0: 2920 666f 726d 737f 3432 3534 370a 4e6f ) forms.42547.No │ │ │ │ │ +00025ed0: 6465 3a20 556e 6172 7920 666f 726d 737f de: Unary forms. │ │ │ │ │ +00025ee0: 3436 3232 380a 4e6f 6465 3a20 4f70 7469 46228.Node: Opti │ │ │ │ │ +00025ef0: 6f6e 737f 3437 3537 360a 4e6f 6465 3a20 ons.47576.Node: │ │ │ │ │ +00025f00: 5053 5472 6963 6b73 206f 7074 696f 6e73 PSTricks options │ │ │ │ │ +00025f10: 7f34 3832 3935 0a4e 6f64 653a 2054 696b .48295.Node: Tik │ │ │ │ │ +00025f20: 5a2f 5047 4620 6f70 7469 6f6e 737f 3439 Z/PGF options.49 │ │ │ │ │ +00025f30: 3430 370a 4e6f 6465 3a20 446f 7473 2069 407.Node: Dots i │ │ │ │ │ +00025f40: 6e20 5469 6b5a 2f50 4746 7f35 3131 3438 n TikZ/PGF.51148 │ │ │ │ │ +00025f50: 0a4e 6f64 653a 2054 696b 5a2f 5047 4620 .Node: TikZ/PGF │ │ │ │ │ +00025f60: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ +00025f70: 6c65 737f 3531 3736 390a 5265 663a 2054 les.51769.Ref: T │ │ │ │ │ +00025f80: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ +00025f90: 696e 6564 2073 7479 6c65 732d 466f 6f74 ined styles-Foot │ │ │ │ │ +00025fa0: 6e6f 7465 2d31 7f35 3338 3237 0a4e 6f64 note-1.53827.Nod │ │ │ │ │ +00025fb0: 653a 2054 7261 6e73 7061 7265 6e63 797f e: Transparency. │ │ │ │ │ +00025fc0: 3533 3838 330a 4e6f 6465 3a20 496e 7465 53883.Node: Inte │ │ │ │ │ +00025fd0: 726e 616c 206f 7074 696f 6e73 7f35 3437 rnal options.547 │ │ │ │ │ +00025fe0: 3331 0a4e 6f64 653a 2044 7261 7761 626c 31.Node: Drawabl │ │ │ │ │ +00025ff0: 6573 7f35 3635 3032 0a4e 6f64 653a 2044 es.56502.Node: D │ │ │ │ │ +00026000: 6f74 737f 3537 3530 310a 4e6f 6465 3a20 ots.57501.Node: │ │ │ │ │ +00026010: 4c69 6e65 737f 3537 3734 310a 4e6f 6465 Lines.57741.Node │ │ │ │ │ +00026020: 3a20 4375 7276 6573 7f35 3739 3830 0a4e : Curves.57980.N │ │ │ │ │ +00026030: 6f64 653a 2050 6f6c 7967 6f6e 737f 3538 ode: Polygons.58 │ │ │ │ │ +00026040: 3239 300a 4e6f 6465 3a20 5370 6563 6961 290.Node: Specia │ │ │ │ │ +00026050: 6c73 7f35 3837 3237 0a4e 6f64 653a 2053 ls.58727.Node: S │ │ │ │ │ +00026060: 7765 6570 737f 3631 3130 320a 4e6f 6465 weeps.61102.Node │ │ │ │ │ +00026070: 3a20 5377 6570 7420 706f 696e 7473 7f36 : Swept points.6 │ │ │ │ │ +00026080: 3233 3835 0a4e 6f64 653a 2053 7765 7074 2385.Node: Swept │ │ │ │ │ +00026090: 206c 696e 6573 7f36 3334 3834 0a4e 6f64 lines.63484.Nod │ │ │ │ │ +000260a0: 653a 2053 7765 7074 2070 6f6c 7967 6f6e e: Swept polygon │ │ │ │ │ +000260b0: 737f 3636 3131 300a 4e6f 6465 3a20 5377 s.66110.Node: Sw │ │ │ │ │ +000260c0: 6570 7420 626c 6f63 6b73 7f36 3736 3833 ept blocks.67683 │ │ │ │ │ +000260d0: 0a4e 6f64 653a 2053 7765 6570 2066 6163 .Node: Sweep fac │ │ │ │ │ +000260e0: 6520 7370 6c69 7474 696e 677f 3638 3235 e splitting.6825 │ │ │ │ │ +000260f0: 310a 4e6f 6465 3a20 426c 6f63 6b73 7f36 1.Node: Blocks.6 │ │ │ │ │ +00026100: 3838 3537 0a4e 6f64 653a 2052 6570 6561 8857.Node: Repea │ │ │ │ │ +00026110: 7473 7f36 3934 3632 0a4e 6f64 653a 2050 ts.69462.Node: P │ │ │ │ │ +00026120: 7574 737f 3730 3131 320a 4e6f 6465 3a20 uts.70112.Node: │ │ │ │ │ +00026130: 4465 6669 6e69 7469 6f6e 737f 3730 3239 Definitions.7029 │ │ │ │ │ +00026140: 370a 4e6f 6465 3a20 466f 726d 7320 6f66 7.Node: Forms of │ │ │ │ │ +00026150: 2064 6566 696e 6974 696f 6e73 7f37 3135 definitions.715 │ │ │ │ │ +00026160: 3433 0a4e 6f64 653a 2046 6f72 6d73 206f 43.Node: Forms o │ │ │ │ │ +00026170: 6620 7265 6665 7265 6e63 6573 7f37 3234 f references.724 │ │ │ │ │ +00026180: 3730 0a4e 6f64 653a 2047 6c6f 6261 6c20 70.Node: Global │ │ │ │ │ +00026190: 656e 7669 726f 6e6d 656e 747f 3733 3532 environment.7352 │ │ │ │ │ +000261a0: 310a 4e6f 6465 3a20 476c 6f62 616c 206f 1.Node: Global o │ │ │ │ │ +000261b0: 7074 696f 6e73 7f37 3434 3233 0a4e 6f64 ptions.74423.Nod │ │ │ │ │ +000261c0: 653a 2043 616d 6572 617f 3734 3938 360a e: Camera.74986. │ │ │ │ │ +000261d0: 4e6f 6465 3a20 5069 6374 7572 6520 626f Node: Picture bo │ │ │ │ │ +000261e0: 787f 3735 3339 370a 4e6f 6465 3a20 4672 x.75397.Node: Fr │ │ │ │ │ +000261f0: 616d 657f 3736 3434 380a 4e6f 6465 3a20 ame.76448.Node: │ │ │ │ │ +00026200: 4c61 6e67 7561 6765 7f37 3639 3136 0a4e Language.76916.N │ │ │ │ │ +00026210: 6f64 653a 2042 7569 6c64 696e 6720 6120 ode: Building a │ │ │ │ │ +00026220: 6472 6177 696e 677f 3737 3933 390a 4e6f drawing.77939.No │ │ │ │ │ +00026230: 6465 3a20 4f76 6572 7669 6577 7f37 3837 de: Overview.787 │ │ │ │ │ +00026240: 3438 0a4e 6f64 653a 2041 2074 6563 686e 48.Node: A techn │ │ │ │ │ +00026250: 6963 616c 2064 7261 7769 6e67 7f38 3632 ical drawing.862 │ │ │ │ │ +00026260: 3832 0a4e 6f64 653a 2041 2068 6965 7261 82.Node: A hiera │ │ │ │ │ +00026270: 7263 6869 6361 6c20 6d6f 6465 6c7f 3931 rchical model.91 │ │ │ │ │ +00026280: 3039 370a 4e6f 6465 3a20 4361 7665 6174 097.Node: Caveat │ │ │ │ │ +00026290: 737f 3937 3535 320a 4e6f 6465 3a20 4c69 s.97552.Node: Li │ │ │ │ │ +000262a0: 6d69 7473 206f 6e20 6572 726f 7220 6465 mits on error de │ │ │ │ │ +000262b0: 7465 6374 696f 6e7f 3938 3133 340a 4e6f tection.98134.No │ │ │ │ │ +000262c0: 6465 3a20 436c 6970 7069 6e67 7f39 3936 de: Clipping.996 │ │ │ │ │ +000262d0: 3230 0a4e 6f64 653a 2048 6964 6465 6e20 20.Node: Hidden │ │ │ │ │ +000262e0: 7375 7266 6163 6520 7265 6d6f 7661 6c7f surface removal. │ │ │ │ │ +000262f0: 3130 3030 3337 0a52 6566 3a20 4869 6464 100037.Ref: Hidd │ │ │ │ │ +00026300: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov │ │ │ │ │ +00026310: 616c 2d46 6f6f 746e 6f74 652d 317f 3130 al-Footnote-1.10 │ │ │ │ │ +00026320: 3134 3539 0a52 6566 3a20 4869 6464 656e 1459.Ref: Hidden │ │ │ │ │ +00026330: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal │ │ │ │ │ +00026340: 2d46 6f6f 746e 6f74 652d 327f 3130 3136 -Footnote-2.1016 │ │ │ │ │ +00026350: 3338 0a4e 6f64 653a 2053 7461 7469 7374 38.Node: Statist │ │ │ │ │ +00026360: 6963 737f 3130 3230 3234 0a4e 6f64 653a ics.102024.Node: │ │ │ │ │ +00026370: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal │ │ │ │ │ +00026380: 6965 737f 3130 3333 3231 0a52 6566 3a20 ies.103321.Ref: │ │ │ │ │ +00026390: 4275 6773 2061 6e64 2061 6e6f 6d61 6c69 Bugs and anomali │ │ │ │ │ +000263a0: 6573 2d46 6f6f 746e 6f74 652d 317f 3130 es-Footnote-1.10 │ │ │ │ │ +000263b0: 3531 3830 0a4e 6f64 653a 2043 6f6d 6d61 5180.Node: Comma │ │ │ │ │ +000263c0: 6e64 206c 696e 657f 3130 3532 3739 0a4e nd line.105279.N │ │ │ │ │ +000263d0: 6f64 653a 2049 6e73 7461 6c6c 696e 6720 ode: Installing │ │ │ │ │ +000263e0: 736b 6574 6368 7f31 3038 3033 390a 4e6f sketch.108039.No │ │ │ │ │ +000263f0: 6465 3a20 496e 6465 7820 6f66 2073 796e de: Index of syn │ │ │ │ │ +00026400: 7461 787f 3131 3131 3232 0a4e 6f64 653a tax.111122.Node: │ │ │ │ │ +00026410: 2049 6e64 6578 7f31 3238 3439 320a 1f0a Index.128492... │ │ │ │ │ +00026420: 456e 6420 5461 6720 5461 626c 650a 0a1f End Tag Table... │ │ │ │ │ +00026430: 0a4c 6f63 616c 2056 6172 6961 626c 6573 .Local Variables │ │ │ │ │ +00026440: 3a0a 636f 6469 6e67 3a20 7574 662d 380a :.coding: utf-8. │ │ │ │ │ +00026450: 456e 643a 0a End:. ├── sketch_0.3.7-12_armhf.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2020-11-07 02:36:18.000000 debian-binary │ │ -rw-r--r-- 0 0 0 1040 2020-11-07 02:36:18.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 50316 2020-11-07 02:36:18.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 50312 2020-11-07 02:36:18.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── ./usr/bin/sketch │ │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied. │ │ │ │ ├── readelf --wide --notes {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ │ Owner Data size Description │ │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: c08333325b51c97c3f1b44136c39ed9ac4c086c3 │ │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 9c066756886786171e6d0b5ee7b88d9fee8a224b │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.ABI-tag │ │ │ │ │ Owner Data size Description │ │ │ │ │ GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 3.2.0 │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -77,15 +77,15 @@ │ │ │ │ │ missing document template file name after -t │ │ │ │ │ -tP with two graphics package specs │ │ │ │ │ -tP with two macro package specs │ │ │ │ │ unrecognized language spec after -Tp, '%c' │ │ │ │ │ %% %s document template: │ │ │ │ │ unrecognized modifier of option '-T%c' │ │ │ │ │ missing PSTricks or TikZ version after -V │ │ │ │ │ -0.3 (build 7d, Thu Nov 7 02:21:39 2024) │ │ │ │ │ +0.3 (build 7d, Fri Nov 8 04:52:49 2024) │ │ │ │ │ %% sketch version %s │ │ │ │ │ %% assumes PSTricks version %s │ │ │ │ │ %% assumes TikZ version %s │ │ │ │ │ %% use -V to select earlier versions │ │ │ │ │ unrecognized option '%s' │ │ │ │ │ advance_to_next_file_name: unexpected option %c │ │ │ │ │ \stoppspicture%s} │ │ │ │ │ @@ -129,15 +129,15 @@ │ │ │ │ │ unknown special arg from flatten │ │ │ │ │ use of '#' not as special arg (try ##) │ │ │ │ │ can't open document template '%s%' for input │ │ │ │ │ no objects to write │ │ │ │ │ scene bb=(%s,%s)(%s,%s) │ │ │ │ │ actual bb=(%s,%s)(%s,%s) │ │ │ │ │ writing %d objects │ │ │ │ │ -%% Sketch output, version 0.3 (build 7d, Thu Nov 7 02:21:39 2024) │ │ │ │ │ +%% Sketch output, version 0.3 (build 7d, Fri Nov 8 04:52:49 2024) │ │ │ │ │ %% Output language: %s │ │ │ │ │ %%SKETCH_OUTPUT%% │ │ │ │ │ document template with no escape '%s' has been ignored │ │ │ │ │ emit: bad tag %d │ │ │ │ │ more than one escape in document template; all but first ignored │ │ │ │ │ %% End sketch output │ │ │ │ │ summary: │ │ │ │ ├── readelf --wide --decompress --hex-dump=.rodata {} │ │ │ │ │ @@ -130,16 +130,16 @@ │ │ │ │ │ 0x00011984 6e742074 656d706c 6174653a 0a257300 nt template:.%s. │ │ │ │ │ 0x00011994 756e7265 636f676e 697a6564 206d6f64 unrecognized mod │ │ │ │ │ 0x000119a4 69666965 72206f66 206f7074 696f6e20 ifier of option │ │ │ │ │ 0x000119b4 272d5425 63270000 6d697373 696e6720 '-T%c'..missing │ │ │ │ │ 0x000119c4 50535472 69636b73 206f7220 54696b5a PSTricks or TikZ │ │ │ │ │ 0x000119d4 20766572 73696f6e 20616674 6572202d version after - │ │ │ │ │ 0x000119e4 56000000 302e3320 28627569 6c642037 V...0.3 (build 7 │ │ │ │ │ - 0x000119f4 642c2054 6875204e 6f762037 2030323a d, Thu Nov 7 02: │ │ │ │ │ - 0x00011a04 32313a33 39203230 32342900 25252073 21:39 2024).%% s │ │ │ │ │ + 0x000119f4 642c2046 7269204e 6f762038 2030343a d, Fri Nov 8 04: │ │ │ │ │ + 0x00011a04 35323a34 39203230 32342900 25252073 52:49 2024).%% s │ │ │ │ │ 0x00011a14 6b657463 68207665 7273696f 6e202573 ketch version %s │ │ │ │ │ 0x00011a24 0a000000 25252061 7373756d 65732050 ....%% assumes P │ │ │ │ │ 0x00011a34 53547269 636b7320 76657273 696f6e20 STricks version │ │ │ │ │ 0x00011a44 25730a00 25252061 7373756d 65732054 %s..%% assumes T │ │ │ │ │ 0x00011a54 696b5a20 76657273 696f6e20 25730a00 ikZ version %s.. │ │ │ │ │ 0x00011a64 25252075 7365202d 5620746f 2073656c %% use -V to sel │ │ │ │ │ 0x00011a74 65637420 6561726c 69657220 76657273 ect earlier vers │ │ │ │ │ @@ -244,16 +244,16 @@ │ │ │ │ │ 0x000120a4 69746500 7363656e 65206262 3d282573 ite.scene bb=(%s │ │ │ │ │ 0x000120b4 2c257329 2825732c 25732900 61637475 ,%s)(%s,%s).actu │ │ │ │ │ 0x000120c4 616c2062 623d2825 732c2573 29282573 al bb=(%s,%s)(%s │ │ │ │ │ 0x000120d4 2c257329 00000000 77726974 696e6720 ,%s)....writing │ │ │ │ │ 0x000120e4 2564206f 626a6563 74730000 25252053 %d objects..%% S │ │ │ │ │ 0x000120f4 6b657463 68206f75 74707574 2c207665 ketch output, ve │ │ │ │ │ 0x00012104 7273696f 6e20302e 33202862 75696c64 rsion 0.3 (build │ │ │ │ │ - 0x00012114 2037642c 20546875 204e6f76 20372030 7d, Thu Nov 7 0 │ │ │ │ │ - 0x00012124 323a3231 3a333920 32303234 290a2525 2:21:39 2024).%% │ │ │ │ │ + 0x00012114 2037642c 20467269 204e6f76 20382030 7d, Fri Nov 8 0 │ │ │ │ │ + 0x00012124 343a3532 3a343920 32303234 290a2525 4:52:49 2024).%% │ │ │ │ │ 0x00012134 204f7574 70757420 6c616e67 75616765 Output language │ │ │ │ │ 0x00012144 3a202573 0a000000 2525534b 45544348 : %s....%%SKETCH │ │ │ │ │ 0x00012154 5f4f5554 50555425 25000000 646f6375 _OUTPUT%%...docu │ │ │ │ │ 0x00012164 6d656e74 2074656d 706c6174 65207769 ment template wi │ │ │ │ │ 0x00012174 7468206e 6f206573 63617065 20272573 th no escape '%s │ │ │ │ │ 0x00012184 27206861 73206265 656e2069 676e6f72 ' has been ignor │ │ │ │ │ 0x00012194 65640000 656d6974 3a206261 64207461 ed..emit: bad ta │ │ │ │ ├── readelf --wide --decompress --hex-dump=.gnu_debuglink {} │ │ │ │ │┄ 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 │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Hex dump of section '.gnu_debuglink': │ │ │ │ │ - 0x00000000 38333333 33323562 35316339 37633366 8333325b51c97c3f │ │ │ │ │ - 0x00000010 31623434 31333663 33396564 39616334 1b44136c39ed9ac4 │ │ │ │ │ - 0x00000020 63303836 63332e64 65627567 00000000 c086c3.debug.... │ │ │ │ │ - 0x00000030 01370be6 .7.. │ │ │ │ │ + 0x00000000 30363637 35363838 36373836 31373165 066756886786171e │ │ │ │ │ + 0x00000010 36643062 35656537 62383864 39666565 6d0b5ee7b88d9fee │ │ │ │ │ + 0x00000020 38613232 34622e64 65627567 00000000 8a224b.debug.... │ │ │ │ │ + 0x00000030 3a06d07a :..z ├── sketch-dbgsym_0.3.7-12_armhf.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2020-11-07 02:36:18.000000 debian-binary │ │ --rw-r--r-- 0 0 0 532 2020-11-07 02:36:18.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 194216 2020-11-07 02:36:18.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 536 2020-11-07 02:36:18.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 194220 2020-11-07 02:36:18.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -5,8 +5,8 @@ │ │ │ │ Architecture: armhf │ │ │ │ Maintainer: Debian Science Maintainers │ │ │ │ Installed-Size: 223 │ │ │ │ Depends: sketch (= 1:0.3.7-12) │ │ │ │ Section: debug │ │ │ │ Priority: optional │ │ │ │ Description: debug symbols for sketch │ │ │ │ -Build-Ids: c08333325b51c97c3f1b44136c39ed9ac4c086c3 │ │ │ │ +Build-Ids: 9c066756886786171e6d0b5ee7b88d9fee8a224b │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ │ │ │ ├── line order │ │ │ │ │ @@ -1 +1 @@ │ │ │ │ │ -usr/lib/debug/.build-id/c0/8333325b51c97c3f1b44136c39ed9ac4c086c3.debug │ │ │ │ │ +usr/lib/debug/.build-id/9c/066756886786171e6d0b5ee7b88d9fee8a224b.debug │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/ │ │ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/c0/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 217788 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/c0/8333325b51c97c3f1b44136c39ed9ac4c086c3.debug │ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/9c/ │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 217788 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/9c/066756886786171e6d0b5ee7b88d9fee8a224b.debug │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/doc/ │ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-dbgsym -> sketch │ │ │ │ --- ./usr/lib/debug/.build-id/c0/8333325b51c97c3f1b44136c39ed9ac4c086c3.debug │ │ │ ├── +++ ./usr/lib/debug/.build-id/9c/066756886786171e6d0b5ee7b88d9fee8a224b.debug │ │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied. │ │ │ │┄ Files 99% similar despite different names │ │ │ │ ├── readelf --wide --notes {} │ │ │ │ │┄ error from `readelf --wide --notes {}`: │ │ │ │ │┄ readelf: Error: Unable to find program interpreter name │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ │ Owner Data size Description │ │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: c08333325b51c97c3f1b44136c39ed9ac4c086c3 │ │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 9c066756886786171e6d0b5ee7b88d9fee8a224b │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.ABI-tag │ │ │ │ │ Owner Data size Description │ │ │ │ │ GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 3.2.0