--- /srv/reproducible-results/rbuild-debian/r-b-build.5dAs03Eb/b1/sketch_0.3.7-12_armhf.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.5dAs03Eb/b2/sketch_0.3.7-12_armhf.changes ├── Files │ @@ -1,4 +1,4 @@ │ │ - c37f60d7d0ed4169b48d4aa5ca7656f6 194948 debug optional sketch-dbgsym_0.3.7-12_armhf.deb │ - 3ca3ee629f9e72686e4f2dadf0f41c46 1175648 doc optional sketch-doc_0.3.7-12_all.deb │ - 3ef7177fc7c34b931e23a369c3a3b841 51552 graphics optional sketch_0.3.7-12_armhf.deb │ + df1859d0b2c55b7a3d5658be092fd527 194948 debug optional sketch-dbgsym_0.3.7-12_armhf.deb │ + c7213f8861b47b2eb550b2dc7c58c863 1175540 doc optional sketch-doc_0.3.7-12_all.deb │ + 71810ea0618806755e6857be10cd98d7 51528 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 1171156 2020-11-07 02:36:18.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 1171048 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) 718029 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 717962 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) 40129 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 40137 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,15 +1,15 @@ │ │ │ │ │ │ Sketch │ │ │ │ │ │ Simple 3D sketching │ │ │ │ │ │ -Version 0.3 (build 7), Tuesday, November 05, 2024 │ │ │ │ │ │ +Version 0.3 (build 7), Wednesday, November 06, 2024 │ │ │ │ │ │ │ │ │ │ │ │ Gene Ressler │ │ │ │ │ │ │ │ │ │ │ │ Copyright c 2005 to 2012 Eugene K. Ressler. │ │ │ │ │ │ -This manual is for sketch, version 0.3 (build 7), Tuesday, November 05, 2024, a program that converts descriptions of simple three-dimensional scenes into line drawings. This │ │ │ │ │ │ +This manual is for sketch, version 0.3 (build 7), Wednesday, November 06, 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. │ │ │ ├── ./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 5475 6573 6461 792c 204e 6f76 7), Tuesday, Nov │ │ │ │ │ -000000c0: 656d 6265 720a 3035 2c20 3230 3234 2c20 ember.05, 2024, │ │ │ │ │ -000000d0: 6120 7072 6f67 7261 6d20 7468 6174 2063 a program that c │ │ │ │ │ -000000e0: 6f6e 7665 7274 7320 6465 7363 7269 7074 onverts descript │ │ │ │ │ -000000f0: 696f 6e73 206f 6620 7369 6d70 6c65 0a74 ions of simple.t │ │ │ │ │ -00000100: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional │ │ │ │ │ -00000110: 2073 6365 6e65 7320 696e 746f 206c 696e scenes into lin │ │ │ │ │ -00000120: 6520 6472 6177 696e 6773 2e20 2054 6869 e drawings. Thi │ │ │ │ │ -00000130: 7320 7665 7273 696f 6e20 6765 6e65 7261 s version genera │ │ │ │ │ -00000140: 7465 730a e280 9850 5354 7269 636b 73e2 tes....PSTricks. │ │ │ │ │ -00000150: 8099 206f 7220 e280 9850 4746 2f54 696b .. or ...PGF/Tik │ │ │ │ │ -00000160: 5ae2 8099 2063 6f64 6520 7375 6974 6162 Z... code suitab │ │ │ │ │ -00000170: 6c65 2066 6f72 2075 7365 2077 6974 6820 le for use with │ │ │ │ │ -00000180: 7468 6520 5465 5820 646f 6375 6d65 6e74 the TeX document │ │ │ │ │ -00000190: 0a70 726f 6365 7373 696e 6720 7379 7374 .processing syst │ │ │ │ │ -000001a0: 656d 2e0a 0a20 2020 e280 9853 6b65 7463 em... ...Sketc │ │ │ │ │ -000001b0: 68e2 8099 2069 7320 6672 6565 2073 6f66 h... is free sof │ │ │ │ │ -000001c0: 7477 6172 652e 2020 596f 7520 6361 6e20 tware. You can │ │ │ │ │ -000001d0: 7265 6469 7374 7269 6275 7465 2069 7420 redistribute it │ │ │ │ │ -000001e0: 616e 642f 6f72 206d 6f64 6966 7920 6974 and/or modify it │ │ │ │ │ -000001f0: 0a75 6e64 6572 2074 6865 2074 6572 6d73 .under the terms │ │ │ │ │ -00000200: 206f 6620 7468 6520 474e 5520 4765 6e65 of the GNU Gene │ │ │ │ │ -00000210: 7261 6c20 5075 626c 6963 204c 6963 656e ral Public Licen │ │ │ │ │ -00000220: 7365 2061 7320 7075 626c 6973 6865 6420 se as published │ │ │ │ │ -00000230: 6279 2074 6865 0a46 7265 6520 536f 6674 by the.Free Soft │ │ │ │ │ -00000240: 7761 7265 2046 6f75 6e64 6174 696f 6e3b ware Foundation; │ │ │ │ │ -00000250: 2065 6974 6865 7220 7665 7273 696f 6e20 either version │ │ │ │ │ -00000260: 332c 206f 7220 2861 7420 796f 7572 206f 3, or (at your o │ │ │ │ │ -00000270: 7074 696f 6e29 2061 6e79 0a6c 6174 6572 ption) any.later │ │ │ │ │ -00000280: 2076 6572 7369 6f6e 2e0a 0a20 2020 536b version... Sk │ │ │ │ │ -00000290: 6574 6368 2069 7320 6469 7374 7269 6275 etch is distribu │ │ │ │ │ -000002a0: 7465 6420 696e 2074 6865 2068 6f70 6520 ted in the hope │ │ │ │ │ -000002b0: 7468 6174 2069 7420 7769 6c6c 2062 6520 that it will be │ │ │ │ │ -000002c0: 7573 6566 756c 2c20 6275 7420 5749 5448 useful, but WITH │ │ │ │ │ -000002d0: 4f55 540a 414e 5920 5741 5252 414e 5459 OUT.ANY WARRANTY │ │ │ │ │ -000002e0: 3b20 7769 7468 6f75 7420 6576 656e 2074 ; without even t │ │ │ │ │ -000002f0: 6865 2069 6d70 6c69 6564 2077 6172 7261 he implied warra │ │ │ │ │ -00000300: 6e74 7920 6f66 204d 4552 4348 414e 5441 nty of MERCHANTA │ │ │ │ │ -00000310: 4249 4c49 5459 206f 720a 4649 544e 4553 BILITY or.FITNES │ │ │ │ │ -00000320: 5320 464f 5220 4120 5041 5254 4943 554c S FOR A PARTICUL │ │ │ │ │ -00000330: 4152 2050 5552 504f 5345 2e20 5365 6520 AR PURPOSE. See │ │ │ │ │ -00000340: 7468 6520 474e 5520 4765 6e65 7261 6c20 the GNU General │ │ │ │ │ -00000350: 5075 626c 6963 204c 6963 656e 7365 2066 Public License f │ │ │ │ │ -00000360: 6f72 0a6d 6f72 6520 6465 7461 696c 732e or.more details. │ │ │ │ │ -00000370: 0a0a 2020 2059 6f75 2073 686f 756c 6420 .. You should │ │ │ │ │ -00000380: 6861 7665 2072 6563 6569 7665 6420 6120 have received a │ │ │ │ │ -00000390: 636f 7079 206f 6620 7468 6520 474e 5520 copy of the GNU │ │ │ │ │ -000003a0: 4765 6e65 7261 6c20 5075 626c 6963 204c General Public L │ │ │ │ │ -000003b0: 6963 656e 7365 0a61 6c6f 6e67 2077 6974 icense.along wit │ │ │ │ │ -000003c0: 6820 e280 9873 6b65 7463 68e2 8099 3b20 h ...sketch...; │ │ │ │ │ -000003d0: 7365 6520 7468 6520 6669 6c65 2043 4f50 see the file COP │ │ │ │ │ -000003e0: 5949 4e47 2e74 7874 2e20 2049 6620 6e6f YING.txt. If no │ │ │ │ │ -000003f0: 742c 2073 6565 0a68 7474 703a 2f2f 7777 t, see.http://ww │ │ │ │ │ -00000400: 772e 676e 752e 6f72 672f 636f 7079 6c65 w.gnu.org/copyle │ │ │ │ │ -00000410: 6674 2e0a 0a49 4e46 4f2d 4449 522d 5345 ft...INFO-DIR-SE │ │ │ │ │ -00000420: 4354 494f 4e20 5465 580a 5354 4152 542d CTION TeX.START- │ │ │ │ │ -00000430: 494e 464f 2d44 4952 2d45 4e54 5259 0a2a INFO-DIR-ENTRY.* │ │ │ │ │ -00000440: 2053 6b65 7463 683a 2028 736b 6574 6368 Sketch: (sketch │ │ │ │ │ -00000450: 292e 2020 2020 2020 2020 2020 2020 2053 ). S │ │ │ │ │ -00000460: 696d 706c 6520 3344 2073 6b65 7463 6869 imple 3D sketchi │ │ │ │ │ -00000470: 6e67 2066 6f72 2054 6558 0a45 4e44 2d49 ng for TeX.END-I │ │ │ │ │ -00000480: 4e46 4f2d 4449 522d 454e 5452 590a 0a1f NFO-DIR-ENTRY... │ │ │ │ │ -00000490: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -000004a0: 666f 2c20 204e 6f64 653a 2054 6f70 2c20 fo, Node: Top, │ │ │ │ │ -000004b0: 204e 6578 743a 2041 626f 7574 2073 6b65 Next: About ske │ │ │ │ │ -000004c0: 7463 682c 2020 5072 6576 3a20 2864 6972 tch, Prev: (dir │ │ │ │ │ -000004d0: 292c 2020 5570 3a20 2864 6972 290a 0a53 ), Up: (dir)..S │ │ │ │ │ -000004e0: 6b65 7463 680a 2a2a 2a2a 2a2a 0a0a 436f ketch.******..Co │ │ │ │ │ -000004f0: 7079 7269 6768 7420 c2a9 2032 3030 3520 pyright .. 2005 │ │ │ │ │ -00000500: 746f 2032 3031 3220 4575 6765 6e65 204b to 2012 Eugene K │ │ │ │ │ -00000510: 2e20 5265 7373 6c65 722e 0a0a 2020 2054 . Ressler... T │ │ │ │ │ -00000520: 6869 7320 6d61 6e75 616c 2069 7320 666f his manual is fo │ │ │ │ │ -00000530: 7220 e280 9873 6b65 7463 68e2 8099 2c20 r ...sketch..., │ │ │ │ │ -00000540: 7665 7273 696f 6e20 302e 3320 2862 7569 version 0.3 (bui │ │ │ │ │ -00000550: 6c64 2037 292c 2054 7565 7364 6179 2c20 ld 7), Tuesday, │ │ │ │ │ -00000560: 4e6f 7665 6d62 6572 0a30 352c 2032 3032 November.05, 202 │ │ │ │ │ -00000570: 342c 2061 2070 726f 6772 616d 2074 6861 4, a program tha │ │ │ │ │ -00000580: 7420 636f 6e76 6572 7473 2064 6573 6372 t converts descr │ │ │ │ │ -00000590: 6970 7469 6f6e 7320 6f66 2073 696d 706c iptions of simpl │ │ │ │ │ -000005a0: 650a 7468 7265 652d 6469 6d65 6e73 696f e.three-dimensio │ │ │ │ │ -000005b0: 6e61 6c20 7363 656e 6573 2069 6e74 6f20 nal scenes into │ │ │ │ │ -000005c0: 6c69 6e65 2064 7261 7769 6e67 732e 2020 line drawings. │ │ │ │ │ -000005d0: 5468 6973 2076 6572 7369 6f6e 2067 656e This version gen │ │ │ │ │ -000005e0: 6572 6174 6573 0ae2 8098 5053 5472 6963 erates....PSTric │ │ │ │ │ -000005f0: 6b73 e280 9920 6f72 20e2 8098 5047 462f ks... or ...PGF/ │ │ │ │ │ -00000600: 5469 6b5a e280 9920 636f 6465 2073 7569 TikZ... code sui │ │ │ │ │ -00000610: 7461 626c 6520 666f 7220 7573 6520 7769 table for use wi │ │ │ │ │ -00000620: 7468 2074 6865 2054 6558 2064 6f63 756d th the TeX docum │ │ │ │ │ -00000630: 656e 740a 7072 6f63 6573 7369 6e67 2073 ent.processing s │ │ │ │ │ -00000640: 7973 7465 6d2e 0a0a 2020 20e2 8098 536b ystem... ...Sk │ │ │ │ │ -00000650: 6574 6368 e280 9920 6973 2066 7265 6520 etch... is free │ │ │ │ │ -00000660: 736f 6674 7761 7265 2e20 2059 6f75 2063 software. You c │ │ │ │ │ -00000670: 616e 2072 6564 6973 7472 6962 7574 6520 an redistribute │ │ │ │ │ -00000680: 6974 2061 6e64 2f6f 7220 6d6f 6469 6679 it and/or modify │ │ │ │ │ -00000690: 2069 740a 756e 6465 7220 7468 6520 7465 it.under the te │ │ │ │ │ -000006a0: 726d 7320 6f66 2074 6865 2047 4e55 2047 rms of the GNU G │ │ │ │ │ -000006b0: 656e 6572 616c 2050 7562 6c69 6320 4c69 eneral Public Li │ │ │ │ │ -000006c0: 6365 6e73 6520 6173 2070 7562 6c69 7368 cense as publish │ │ │ │ │ -000006d0: 6564 2062 7920 7468 650a 4672 6565 2053 ed by the.Free S │ │ │ │ │ -000006e0: 6f66 7477 6172 6520 466f 756e 6461 7469 oftware Foundati │ │ │ │ │ -000006f0: 6f6e 3b20 6569 7468 6572 2076 6572 7369 on; either versi │ │ │ │ │ -00000700: 6f6e 2033 2c20 6f72 2028 6174 2079 6f75 on 3, or (at you │ │ │ │ │ -00000710: 7220 6f70 7469 6f6e 2920 616e 790a 6c61 r option) any.la │ │ │ │ │ -00000720: 7465 7220 7665 7273 696f 6e2e 0a0a 2020 ter version... │ │ │ │ │ -00000730: 2053 6b65 7463 6820 6973 2064 6973 7472 Sketch is distr │ │ │ │ │ -00000740: 6962 7574 6564 2069 6e20 7468 6520 686f ibuted in the ho │ │ │ │ │ -00000750: 7065 2074 6861 7420 6974 2077 696c 6c20 pe that it will │ │ │ │ │ -00000760: 6265 2075 7365 6675 6c2c 2062 7574 2057 be useful, but W │ │ │ │ │ -00000770: 4954 484f 5554 0a41 4e59 2057 4152 5241 ITHOUT.ANY WARRA │ │ │ │ │ -00000780: 4e54 593b 2077 6974 686f 7574 2065 7665 NTY; without eve │ │ │ │ │ -00000790: 6e20 7468 6520 696d 706c 6965 6420 7761 n the implied wa │ │ │ │ │ -000007a0: 7272 616e 7479 206f 6620 4d45 5243 4841 rranty of MERCHA │ │ │ │ │ -000007b0: 4e54 4142 494c 4954 5920 6f72 0a46 4954 NTABILITY or.FIT │ │ │ │ │ -000007c0: 4e45 5353 2046 4f52 2041 2050 4152 5449 NESS FOR A PARTI │ │ │ │ │ -000007d0: 4355 4c41 5220 5055 5250 4f53 452e 2053 CULAR PURPOSE. S │ │ │ │ │ -000007e0: 6565 2074 6865 2047 4e55 2047 656e 6572 ee the GNU Gener │ │ │ │ │ -000007f0: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens │ │ │ │ │ -00000800: 6520 666f 720a 6d6f 7265 2064 6574 6169 e for.more detai │ │ │ │ │ -00000810: 6c73 2e0a 0a20 2020 596f 7520 7368 6f75 ls... You shou │ │ │ │ │ -00000820: 6c64 2068 6176 6520 7265 6365 6976 6564 ld have received │ │ │ │ │ -00000830: 2061 2063 6f70 7920 6f66 2074 6865 2047 a copy of the G │ │ │ │ │ -00000840: 4e55 2047 656e 6572 616c 2050 7562 6c69 NU General Publi │ │ │ │ │ -00000850: 6320 4c69 6365 6e73 650a 616c 6f6e 6720 c License.along │ │ │ │ │ -00000860: 7769 7468 20e2 8098 736b 6574 6368 e280 with ...sketch.. │ │ │ │ │ -00000870: 993b 2073 6565 2074 6865 2066 696c 6520 .; see the file │ │ │ │ │ -00000880: 434f 5059 494e 472e 7478 742e 2020 4966 COPYING.txt. If │ │ │ │ │ -00000890: 206e 6f74 2c20 7365 650a 6874 7470 3a2f not, see.http:/ │ │ │ │ │ -000008a0: 2f77 7777 2e67 6e75 2e6f 7267 2f63 6f70 /www.gnu.org/cop │ │ │ │ │ -000008b0: 796c 6566 742e 0a0a 2a20 4d65 6e75 3a0a yleft...* Menu:. │ │ │ │ │ -000008c0: 0a2a 2041 626f 7574 2073 6b65 7463 683a .* About sketch: │ │ │ │ │ -000008d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000008e0: 2057 6879 2073 6b65 7463 6820 6578 6973 Why sketch exis │ │ │ │ │ -000008f0: 7473 2061 6e64 2077 6861 7420 6974 2064 ts and what it d │ │ │ │ │ -00000900: 6f65 732e 0a2a 2049 6e74 726f 6475 6374 oes..* Introduct │ │ │ │ │ -00000910: 696f 6e20 6279 2065 7861 6d70 6c65 3a3a ion by example:: │ │ │ │ │ -00000920: 2020 2020 204d 6f73 7420 6665 6174 7572 Most featur │ │ │ │ │ -00000930: 6573 2073 686f 776e 2061 7320 776f 726b es shown as work │ │ │ │ │ -00000940: 696e 6720 636f 6465 2e0a 2a20 496e 7075 ing code..* Inpu │ │ │ │ │ -00000950: 7420 6c61 6e67 7561 6765 3a3a 2020 2020 t language:: │ │ │ │ │ -00000960: 2020 2020 2020 2020 2020 5379 6e74 6178 Syntax │ │ │ │ │ -00000970: 2061 6e64 2073 656d 616e 7469 6373 206f and semantics o │ │ │ │ │ -00000980: 6620 e280 9873 6b65 7463 68e2 8099 2063 f ...sketch... c │ │ │ │ │ -00000990: 6f6d 6d61 6e64 732e 0a2a 2042 7569 6c64 ommands..* Build │ │ │ │ │ -000009a0: 696e 6720 6120 6472 6177 696e 673a 3a20 ing a drawing:: │ │ │ │ │ -000009b0: 2020 2020 2020 2020 2048 6f77 2074 6f20 How to │ │ │ │ │ -000009c0: 7573 6520 e280 9873 6b65 7463 68e2 8099 use ...sketch... │ │ │ │ │ -000009d0: 2070 726f 6475 6374 6976 656c 792e 0a2a productively..* │ │ │ │ │ -000009e0: 2043 6f6d 6d61 6e64 206c 696e 653a 3a20 Command line:: │ │ │ │ │ -000009f0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -00000a00: 7074 696f 6e73 2061 6e64 2074 6865 6972 ptions and their │ │ │ │ │ -00000a10: 2075 7361 6765 2e0a 2a20 496e 7374 616c usage..* Instal │ │ │ │ │ -00000a20: 6c69 6e67 2073 6b65 7463 683a 3a20 2020 ling sketch:: │ │ │ │ │ -00000a30: 2020 2020 2020 2020 4275 696c 6469 6e67 Building │ │ │ │ │ -00000a40: 2061 6e64 2069 6e73 7461 6c6c 696e 6720 and installing │ │ │ │ │ -00000a50: 6672 6f6d 2073 6f75 7263 6573 2e0a 2a20 from sources..* │ │ │ │ │ -00000a60: 496e 6465 7820 6f66 2073 796e 7461 783a Index of syntax: │ │ │ │ │ -00000a70: 3a0a 2a20 496e 6465 783a 3a0a 0a20 2d2d :.* Index::.. -- │ │ │ │ │ -00000a80: 2054 6865 2044 6574 6169 6c65 6420 4e6f The Detailed No │ │ │ │ │ -00000a90: 6465 204c 6973 7469 6e67 202d 2d0a 0a41 de Listing --..A │ │ │ │ │ -00000aa0: 626f 7574 2073 6b65 7463 680a 0a2a 2052 bout sketch..* R │ │ │ │ │ -00000ab0: 6570 6f72 7469 6e67 2062 7567 733a 3a20 eporting bugs:: │ │ │ │ │ -00000ac0: 2020 2020 2020 2020 2020 2020 204c 6574 Let │ │ │ │ │ -00000ad0: 2075 7365 206b 6e6f 7720 7768 6174 2773 use know what's │ │ │ │ │ -00000ae0: 2077 726f 6e67 210a 2a20 436f 6e74 7269 wrong!.* Contri │ │ │ │ │ -00000af0: 6275 7469 6f6e 733a 3a20 2020 2020 2020 butions:: │ │ │ │ │ -00000b00: 2020 2020 2020 2020 486f 7720 796f 7520 How you │ │ │ │ │ -00000b10: 6361 6e20 6865 6c70 2e2e 2e2e 0a0a 496e can help......In │ │ │ │ │ -00000b20: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex │ │ │ │ │ -00000b30: 616d 706c 650a 0a2a 2048 656c 6c6f 2077 ample..* Hello w │ │ │ │ │ -00000b40: 6f72 6c64 3a3a 2020 2020 2020 2020 2020 orld:: │ │ │ │ │ -00000b50: 2020 2020 2020 2053 696d 706c 6573 7420 Simplest │ │ │ │ │ -00000b60: 706f 7373 6962 6c65 20e2 8098 736b 6574 possible ...sket │ │ │ │ │ -00000b70: 6368 e280 9920 7072 6f67 7261 6d2e 0a2a ch... program..* │ │ │ │ │ -00000b80: 2044 7261 7769 6e67 206f 7074 696f 6e73 Drawing options │ │ │ │ │ -00000b90: 3a3a 2020 2020 2020 2020 2020 2020 2043 :: C │ │ │ │ │ -00000ba0: 6f6e 7472 6f6c 6c69 6e67 206f 626a 6563 ontrolling objec │ │ │ │ │ -00000bb0: 7420 6170 7065 6172 616e 6365 2e0a 2a20 t appearance..* │ │ │ │ │ -00000bc0: 4472 6177 696e 6720 6120 736f 6c69 643a Drawing a solid: │ │ │ │ │ -00000bd0: 3a20 2020 2020 2020 2020 2020 2020 4472 : Dr │ │ │ │ │ -00000be0: 6177 696e 6720 616e 206f 626a 6563 7420 awing an object │ │ │ │ │ -00000bf0: 7769 7468 2033 6420 6170 7065 6172 616e with 3d appearan │ │ │ │ │ -00000c00: 6365 2e0a 2a20 5370 6563 6961 6c20 6f62 ce..* Special ob │ │ │ │ │ -00000c10: 6a65 6374 733a 3a20 2020 2020 2020 2020 jects:: │ │ │ │ │ -00000c20: 2020 2020 4c61 7969 6e67 2054 6558 206f Laying TeX o │ │ │ │ │ -00000c30: 7665 722c 2069 6e2c 206f 7220 756e 6465 ver, in, or unde │ │ │ │ │ -00000c40: 7220 6472 6177 696e 6773 2e0a 2a20 4f62 r drawings..* Ob │ │ │ │ │ -00000c50: 6a65 6374 2074 7261 6e73 666f 726d 733a ject transforms: │ │ │ │ │ -00000c60: 3a20 2020 2020 2020 2020 2020 526f 7461 : Rota │ │ │ │ │ -00000c70: 7465 2c20 7472 616e 736c 6174 652c 2073 te, translate, s │ │ │ │ │ -00000c80: 6361 6c65 2c20 616e 6420 6f74 6865 7273 cale, and others │ │ │ │ │ -00000c90: 2e0a 2a20 5265 7065 6174 6564 206f 626a ..* Repeated obj │ │ │ │ │ -00000ca0: 6563 7473 3a3a 2020 2020 2020 2020 2020 ects:: │ │ │ │ │ -00000cb0: 2020 4d61 6b69 6e67 2074 7261 6e73 666f Making transfo │ │ │ │ │ -00000cc0: 726d 6564 2063 6f70 6965 732e 0a2a 2053 rmed copies..* S │ │ │ │ │ -00000cd0: 7765 7074 206f 626a 6563 7473 3a3a 2020 wept objects:: │ │ │ │ │ -00000ce0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00000cf0: 6570 696e 6720 6f62 6a65 6374 7320 696e eping objects in │ │ │ │ │ -00000d00: 2073 7061 6365 2074 6f20 6d61 6b65 206e space to make n │ │ │ │ │ -00000d10: 6577 2073 6861 7065 732e 0a0a 5377 6570 ew shapes...Swep │ │ │ │ │ -00000d20: 7420 6f62 6a65 6374 730a 0a2a 2050 6f69 t objects..* Poi │ │ │ │ │ -00000d30: 6e74 2073 7765 6570 733a 3a20 2020 2020 nt sweeps:: │ │ │ │ │ -00000d40: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00000d50: 2070 6f69 6e74 7320 6d61 6b65 206c 696e points make lin │ │ │ │ │ -00000d60: 6573 2061 6e64 2070 6f6c 7967 6f6e 732e es and polygons. │ │ │ │ │ -00000d70: 0a2a 2050 6f6c 796c 696e 6520 7377 6565 .* Polyline swee │ │ │ │ │ -00000d80: 7073 3a3a 2020 2020 2020 2020 2020 2020 ps:: │ │ │ │ │ -00000d90: 2053 7765 7074 206c 696e 6573 206d 616b Swept lines mak │ │ │ │ │ -00000da0: 6520 7375 7266 6163 6573 2e0a 2a20 4e65 e surfaces..* Ne │ │ │ │ │ -00000db0: 7374 6564 2073 7765 6570 733a 3a20 2020 sted sweeps:: │ │ │ │ │ -00000dc0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -00000dd0: 7420 7377 6565 7073 2061 7265 2075 7365 t sweeps are use │ │ │ │ │ -00000de0: 6675 6c21 0a2a 2050 6f6c 7967 6f6e 2073 ful!.* Polygon s │ │ │ │ │ -00000df0: 7765 6570 733a 3a20 2020 2020 2020 2020 weeps:: │ │ │ │ │ -00000e00: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg │ │ │ │ │ -00000e10: 6f6e 7320 6d61 6b65 2073 6f6c 6964 732e ons make solids. │ │ │ │ │ -00000e20: 2e2e 0a2a 2050 6f6c 796c 696e 6520 7377 ...* Polyline sw │ │ │ │ │ -00000e30: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur │ │ │ │ │ -00000e40: 653a 3a20 2061 6e64 2073 6f20 646f 2063 e:: and so do c │ │ │ │ │ -00000e50: 6c6f 7365 6420 706f 6c79 6c69 6e65 2073 losed polyline s │ │ │ │ │ -00000e60: 7765 6570 732e 0a2a 2041 6666 696e 6520 weeps..* Affine │ │ │ │ │ -00000e70: 6172 6974 686d 6574 6963 3a3a 2020 2020 arithmetic:: │ │ │ │ │ -00000e80: 2020 2020 2020 2053 6b65 7463 6820 7573 Sketch us │ │ │ │ │ -00000e90: 6566 756c 206d 6174 6820 6578 7072 6573 eful math expres │ │ │ │ │ -00000ea0: 7369 6f6e 2e0a 2a20 4d6f 7265 2074 6f20 sion..* More to │ │ │ │ │ -00000eb0: 6c65 6172 6e3a 3a20 2020 2020 2020 2020 learn:: │ │ │ │ │ -00000ec0: 2020 2020 2020 4368 6563 6b20 6f75 7420 Check out │ │ │ │ │ -00000ed0: 7468 6520 4d6f 6269 7573 2073 7472 6970 the Mobius strip │ │ │ │ │ -00000ee0: 210a 0a49 6e70 7574 206c 616e 6775 6167 !..Input languag │ │ │ │ │ -00000ef0: 650a 0a2a 204c 616e 6775 6167 6520 6261 e..* Language ba │ │ │ │ │ -00000f00: 7369 6373 3a3a 2020 2020 2020 2020 2020 sics:: │ │ │ │ │ -00000f10: 2020 2043 6173 652c 2073 7061 6365 2c20 Case, space, │ │ │ │ │ -00000f20: 636f 6d6d 656e 7473 2c20 696e 636c 7564 comments, includ │ │ │ │ │ -00000f30: 6520 6669 6c65 732e 0a2a 2044 7261 7761 e files..* Drawa │ │ │ │ │ -00000f40: 626c 6573 3a3a 2020 2020 2020 2020 2020 bles:: │ │ │ │ │ -00000f50: 2020 2020 2020 2020 2054 6869 6e67 7320 Things │ │ │ │ │ -00000f60: 7468 6174 2063 616e 2062 6520 6472 6177 that can be draw │ │ │ │ │ -00000f70: 6e2e 0a2a 2044 6566 696e 6974 696f 6e73 n..* Definitions │ │ │ │ │ -00000f80: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00000f90: 2020 2047 6976 696e 6720 7468 696e 6773 Giving things │ │ │ │ │ -00000fa0: 206e 616d 6573 2e0a 2a20 476c 6f62 616c names..* Global │ │ │ │ │ -00000fb0: 2065 6e76 6972 6f6e 6d65 6e74 3a3a 2020 environment:: │ │ │ │ │ -00000fc0: 2020 2020 2020 2020 4166 6665 6374 2074 Affect t │ │ │ │ │ -00000fd0: 6865 2065 6e74 6972 6520 6472 6177 696e he entire drawin │ │ │ │ │ -00000fe0: 672e 0a0a 4261 7369 6373 0a0a 2a20 4964 g...Basics..* Id │ │ │ │ │ -00000ff0: 656e 7469 6669 6572 733a 3a20 2020 2020 entifiers:: │ │ │ │ │ -00001000: 2020 2020 2020 2020 2020 2020 4e61 6d65 Name │ │ │ │ │ -00001010: 7320 666f 7220 7468 696e 6773 2e0a 2a20 s for things..* │ │ │ │ │ -00001020: 4b65 7920 616e 6420 7265 7365 7276 6564 Key and reserved │ │ │ │ │ -00001030: 2077 6f72 6473 3a3a 2020 2020 2020 4e61 words:: Na │ │ │ │ │ -00001040: 6d65 7320 796f 7520 7368 6f75 6c64 6e27 mes you shouldn' │ │ │ │ │ -00001050: 7420 7573 652e 0a2a 204c 6974 6572 616c t use..* Literal │ │ │ │ │ -00001060: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -00001070: 2020 2020 2020 2043 6f6e 7374 616e 7473 Constants │ │ │ │ │ -00001080: 2061 6e64 2063 6f6e 7374 7275 6374 6f72 and constructor │ │ │ │ │ -00001090: 732e 0a2a 2041 7269 7468 6d65 7469 633a s..* Arithmetic: │ │ │ │ │ -000010a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000010b0: 2020 2052 756c 6573 2066 6f72 2065 7870 Rules for exp │ │ │ │ │ -000010c0: 7265 7373 696f 6e73 2e0a 2a20 4f70 7469 ressions..* Opti │ │ │ │ │ -000010d0: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: │ │ │ │ │ -000010e0: 2020 2020 2020 2020 2020 4d6f 6469 6679 Modify │ │ │ │ │ -000010f0: 696e 6720 6f62 6a65 6374 2061 7070 6561 ing object appea │ │ │ │ │ -00001100: 7261 6e63 652e 0a0a 4c69 7465 7261 6c73 rance...Literals │ │ │ │ │ -00001110: 0a0a 2a20 5363 616c 6172 206c 6974 6572 ..* Scalar liter │ │ │ │ │ -00001120: 616c 733a 3a20 2020 2020 2020 2020 2020 als:: │ │ │ │ │ -00001130: 2020 4a75 7374 2074 6865 206e 756d 6265 Just the numbe │ │ │ │ │ -00001140: 7273 2e0a 2a20 506f 696e 7420 616e 6420 rs..* Point and │ │ │ │ │ -00001150: 7665 6374 6f72 206c 6974 6572 616c 733a vector literals: │ │ │ │ │ -00001160: 3a20 2020 3364 2071 7561 6e74 6974 6965 : 3d quantitie │ │ │ │ │ -00001170: 732e 0a2a 2054 7261 6e73 666f 726d 206c s..* Transform l │ │ │ │ │ -00001180: 6974 6572 616c 733a 3a20 2020 2020 2020 iterals:: │ │ │ │ │ -00001190: 2020 204d 6174 7269 7820 666f 726d 2e0a Matrix form.. │ │ │ │ │ -000011a0: 0a41 7269 7468 6d65 7469 6320 6578 7072 .Arithmetic expr │ │ │ │ │ -000011b0: 6573 7369 6f6e 730a 0a2a 2054 776f 2d6f essions..* Two-o │ │ │ │ │ -000011c0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -000011d0: 666f 726d 733a 3a20 2041 206f 7020 420a forms:: A op B. │ │ │ │ │ -000011e0: 2a20 556e 6172 7920 666f 726d 733a 3a20 * Unary forms:: │ │ │ │ │ -000011f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001200: 6f70 2041 2028 616e 6420 6f74 6865 7273 op A (and others │ │ │ │ │ -00001210: 290a 0a4f 7074 696f 6e73 0a0a 2a20 5053 )..Options..* PS │ │ │ │ │ -00001220: 5472 6963 6b73 206f 7074 696f 6e73 3a3a Tricks options:: │ │ │ │ │ -00001230: 2020 2020 2020 2020 2020 2020 4f70 7469 Opti │ │ │ │ │ -00001240: 6f6e 7320 696e 6865 7269 7465 6420 6672 ons inherited fr │ │ │ │ │ -00001250: 6f6d 20e2 8098 5053 5472 6963 6b73 e280 om ...PSTricks.. │ │ │ │ │ -00001260: 992e 0a2a 2054 696b 5a2f 5047 4620 6f70 ...* TikZ/PGF op │ │ │ │ │ -00001270: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: │ │ │ │ │ -00001280: 2020 204f 7074 696f 6e73 2069 6e68 6572 Options inher │ │ │ │ │ -00001290: 6974 6564 2066 726f 6d20 e280 9854 696b ited from ...Tik │ │ │ │ │ -000012a0: 5a2f 5047 46e2 8099 2e0a 2a20 446f 7473 Z/PGF.....* Dots │ │ │ │ │ -000012b0: 2069 6e20 5469 6b5a 2f50 4746 3a3a 2020 in TikZ/PGF:: │ │ │ │ │ -000012c0: 2020 2020 2020 2020 2020 536b 6574 6368 Sketch │ │ │ │ │ -000012d0: 2075 7365 7320 e280 9854 696b 5a2f 5047 uses ...TikZ/PG │ │ │ │ │ -000012e0: 46e2 8099 2063 6972 636c 6573 2066 6f72 F... circles for │ │ │ │ │ -000012f0: 2064 6f74 732e 0a2a 2054 696b 5a2f 5047 dots..* TikZ/PG │ │ │ │ │ -00001300: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ -00001310: 7479 6c65 733a 3a20 2053 7570 706f 7274 tyles:: Support │ │ │ │ │ -00001320: 2066 6f72 20e2 8098 5469 6b5a 2f50 4746 for ...TikZ/PGF │ │ │ │ │ -00001330: e280 9920 6e61 6d65 642c 2075 7365 722d ... named, user- │ │ │ │ │ -00001340: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined styles.. │ │ │ │ │ -00001350: 2a20 5472 616e 7370 6172 656e 6379 3a3a * Transparency:: │ │ │ │ │ -00001360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001370: 5365 652d 7468 726f 7567 6820 706f 6c79 See-through poly │ │ │ │ │ -00001380: 676f 6e73 2e0a 2a20 496e 7465 726e 616c gons..* Internal │ │ │ │ │ -00001390: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: │ │ │ │ │ -000013a0: 2020 2020 2020 4f70 7469 6f6e 7320 7573 Options us │ │ │ │ │ -000013b0: 6564 2062 7920 e280 9873 6b65 7463 68e2 ed by ...sketch. │ │ │ │ │ -000013c0: 8099 2e0a 0a50 6f69 6e74 206c 6973 7473 .....Point lists │ │ │ │ │ -000013d0: 0a0a 2a20 4472 6177 6162 6c65 733a 3a20 ..* Drawables:: │ │ │ │ │ -000013e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000013f0: 2020 5468 696e 6773 2074 6861 7420 6172 Things that ar │ │ │ │ │ -00001400: 6520 6472 6177 6e2e 0a2a 2044 6566 696e e drawn..* Defin │ │ │ │ │ -00001410: 6974 696f 6e73 3a3a 2020 2020 2020 2020 itions:: │ │ │ │ │ -00001420: 2020 2020 2020 2020 2054 6869 6e67 7320 Things │ │ │ │ │ -00001430: 7769 7468 206e 616d 6573 2e0a 0a44 7261 with names...Dra │ │ │ │ │ -00001440: 7761 626c 6573 0a0a 2a20 446f 7473 3a3a wables..* Dots:: │ │ │ │ │ -00001450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001460: 2020 2020 2020 2020 4472 6177 2064 6f74 Draw dot │ │ │ │ │ -00001470: 732e 0a2a 204c 696e 6573 3a3a 2020 2020 s..* Lines:: │ │ │ │ │ +000000b0: 3729 2c20 5765 646e 6573 6461 792c 0a4e 7), Wednesday,.N │ │ │ │ │ +000000c0: 6f76 656d 6265 7220 3036 2c20 3230 3234 ovember 06, 2024 │ │ │ │ │ +000000d0: 2c20 6120 7072 6f67 7261 6d20 7468 6174 , a program that │ │ │ │ │ +000000e0: 2063 6f6e 7665 7274 7320 6465 7363 7269 converts descri │ │ │ │ │ +000000f0: 7074 696f 6e73 206f 6620 7369 6d70 6c65 ptions of simple │ │ │ │ │ +00000100: 0a74 6872 6565 2d64 696d 656e 7369 6f6e .three-dimension │ │ │ │ │ +00000110: 616c 2073 6365 6e65 7320 696e 746f 206c al scenes into l │ │ │ │ │ +00000120: 696e 6520 6472 6177 696e 6773 2e20 2054 ine drawings. T │ │ │ │ │ +00000130: 6869 7320 7665 7273 696f 6e20 6765 6e65 his version gene │ │ │ │ │ +00000140: 7261 7465 730a e280 9850 5354 7269 636b rates....PSTrick │ │ │ │ │ +00000150: 73e2 8099 206f 7220 e280 9850 4746 2f54 s... or ...PGF/T │ │ │ │ │ +00000160: 696b 5ae2 8099 2063 6f64 6520 7375 6974 ikZ... code suit │ │ │ │ │ +00000170: 6162 6c65 2066 6f72 2075 7365 2077 6974 able for use wit │ │ │ │ │ +00000180: 6820 7468 6520 5465 5820 646f 6375 6d65 h the TeX docume │ │ │ │ │ +00000190: 6e74 0a70 726f 6365 7373 696e 6720 7379 nt.processing sy │ │ │ │ │ +000001a0: 7374 656d 2e0a 0a20 2020 e280 9853 6b65 stem... ...Ske │ │ │ │ │ +000001b0: 7463 68e2 8099 2069 7320 6672 6565 2073 tch... is free s │ │ │ │ │ +000001c0: 6f66 7477 6172 652e 2020 596f 7520 6361 oftware. You ca │ │ │ │ │ +000001d0: 6e20 7265 6469 7374 7269 6275 7465 2069 n redistribute i │ │ │ │ │ +000001e0: 7420 616e 642f 6f72 206d 6f64 6966 7920 t and/or modify │ │ │ │ │ +000001f0: 6974 0a75 6e64 6572 2074 6865 2074 6572 it.under the ter │ │ │ │ │ +00000200: 6d73 206f 6620 7468 6520 474e 5520 4765 ms of the GNU Ge │ │ │ │ │ +00000210: 6e65 7261 6c20 5075 626c 6963 204c 6963 neral Public Lic │ │ │ │ │ +00000220: 656e 7365 2061 7320 7075 626c 6973 6865 ense as publishe │ │ │ │ │ +00000230: 6420 6279 2074 6865 0a46 7265 6520 536f d by the.Free So │ │ │ │ │ +00000240: 6674 7761 7265 2046 6f75 6e64 6174 696f ftware Foundatio │ │ │ │ │ +00000250: 6e3b 2065 6974 6865 7220 7665 7273 696f n; either versio │ │ │ │ │ +00000260: 6e20 332c 206f 7220 2861 7420 796f 7572 n 3, or (at your │ │ │ │ │ +00000270: 206f 7074 696f 6e29 2061 6e79 0a6c 6174 option) any.lat │ │ │ │ │ +00000280: 6572 2076 6572 7369 6f6e 2e0a 0a20 2020 er version... │ │ │ │ │ +00000290: 536b 6574 6368 2069 7320 6469 7374 7269 Sketch is distri │ │ │ │ │ +000002a0: 6275 7465 6420 696e 2074 6865 2068 6f70 buted in the hop │ │ │ │ │ +000002b0: 6520 7468 6174 2069 7420 7769 6c6c 2062 e that it will b │ │ │ │ │ +000002c0: 6520 7573 6566 756c 2c20 6275 7420 5749 e useful, but WI │ │ │ │ │ +000002d0: 5448 4f55 540a 414e 5920 5741 5252 414e THOUT.ANY WARRAN │ │ │ │ │ +000002e0: 5459 3b20 7769 7468 6f75 7420 6576 656e TY; without even │ │ │ │ │ +000002f0: 2074 6865 2069 6d70 6c69 6564 2077 6172 the implied war │ │ │ │ │ +00000300: 7261 6e74 7920 6f66 204d 4552 4348 414e ranty of MERCHAN │ │ │ │ │ +00000310: 5441 4249 4c49 5459 206f 720a 4649 544e TABILITY or.FITN │ │ │ │ │ +00000320: 4553 5320 464f 5220 4120 5041 5254 4943 ESS FOR A PARTIC │ │ │ │ │ +00000330: 554c 4152 2050 5552 504f 5345 2e20 5365 ULAR PURPOSE. Se │ │ │ │ │ +00000340: 6520 7468 6520 474e 5520 4765 6e65 7261 e the GNU Genera │ │ │ │ │ +00000350: 6c20 5075 626c 6963 204c 6963 656e 7365 l Public License │ │ │ │ │ +00000360: 2066 6f72 0a6d 6f72 6520 6465 7461 696c for.more detail │ │ │ │ │ +00000370: 732e 0a0a 2020 2059 6f75 2073 686f 756c s... You shoul │ │ │ │ │ +00000380: 6420 6861 7665 2072 6563 6569 7665 6420 d have received │ │ │ │ │ +00000390: 6120 636f 7079 206f 6620 7468 6520 474e a copy of the GN │ │ │ │ │ +000003a0: 5520 4765 6e65 7261 6c20 5075 626c 6963 U General Public │ │ │ │ │ +000003b0: 204c 6963 656e 7365 0a61 6c6f 6e67 2077 License.along w │ │ │ │ │ +000003c0: 6974 6820 e280 9873 6b65 7463 68e2 8099 ith ...sketch... │ │ │ │ │ +000003d0: 3b20 7365 6520 7468 6520 6669 6c65 2043 ; see the file C │ │ │ │ │ +000003e0: 4f50 5949 4e47 2e74 7874 2e20 2049 6620 OPYING.txt. If │ │ │ │ │ +000003f0: 6e6f 742c 2073 6565 0a68 7474 703a 2f2f not, see.http:// │ │ │ │ │ +00000400: 7777 772e 676e 752e 6f72 672f 636f 7079 www.gnu.org/copy │ │ │ │ │ +00000410: 6c65 6674 2e0a 0a49 4e46 4f2d 4449 522d left...INFO-DIR- │ │ │ │ │ +00000420: 5345 4354 494f 4e20 5465 580a 5354 4152 SECTION TeX.STAR │ │ │ │ │ +00000430: 542d 494e 464f 2d44 4952 2d45 4e54 5259 T-INFO-DIR-ENTRY │ │ │ │ │ +00000440: 0a2a 2053 6b65 7463 683a 2028 736b 6574 .* Sketch: (sket │ │ │ │ │ +00000450: 6368 292e 2020 2020 2020 2020 2020 2020 ch). │ │ │ │ │ +00000460: 2053 696d 706c 6520 3344 2073 6b65 7463 Simple 3D sketc │ │ │ │ │ +00000470: 6869 6e67 2066 6f72 2054 6558 0a45 4e44 hing for TeX.END │ │ │ │ │ +00000480: 2d49 4e46 4f2d 4449 522d 454e 5452 590a -INFO-DIR-ENTRY. │ │ │ │ │ +00000490: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +000004a0: 696e 666f 2c20 204e 6f64 653a 2054 6f70 info, Node: Top │ │ │ │ │ +000004b0: 2c20 204e 6578 743a 2041 626f 7574 2073 , Next: About s │ │ │ │ │ +000004c0: 6b65 7463 682c 2020 5072 6576 3a20 2864 ketch, Prev: (d │ │ │ │ │ +000004d0: 6972 292c 2020 5570 3a20 2864 6972 290a ir), Up: (dir). │ │ │ │ │ +000004e0: 0a53 6b65 7463 680a 2a2a 2a2a 2a2a 0a0a .Sketch.******.. │ │ │ │ │ +000004f0: 436f 7079 7269 6768 7420 c2a9 2032 3030 Copyright .. 200 │ │ │ │ │ +00000500: 3520 746f 2032 3031 3220 4575 6765 6e65 5 to 2012 Eugene │ │ │ │ │ +00000510: 204b 2e20 5265 7373 6c65 722e 0a0a 2020 K. Ressler... │ │ │ │ │ +00000520: 2054 6869 7320 6d61 6e75 616c 2069 7320 This manual is │ │ │ │ │ +00000530: 666f 7220 e280 9873 6b65 7463 68e2 8099 for ...sketch... │ │ │ │ │ +00000540: 2c20 7665 7273 696f 6e20 302e 3320 2862 , version 0.3 (b │ │ │ │ │ +00000550: 7569 6c64 2037 292c 2057 6564 6e65 7364 uild 7), Wednesd │ │ │ │ │ +00000560: 6179 2c0a 4e6f 7665 6d62 6572 2030 362c ay,.November 06, │ │ │ │ │ +00000570: 2032 3032 342c 2061 2070 726f 6772 616d 2024, a program │ │ │ │ │ +00000580: 2074 6861 7420 636f 6e76 6572 7473 2064 that converts d │ │ │ │ │ +00000590: 6573 6372 6970 7469 6f6e 7320 6f66 2073 escriptions of s │ │ │ │ │ +000005a0: 696d 706c 650a 7468 7265 652d 6469 6d65 imple.three-dime │ │ │ │ │ +000005b0: 6e73 696f 6e61 6c20 7363 656e 6573 2069 nsional scenes i │ │ │ │ │ +000005c0: 6e74 6f20 6c69 6e65 2064 7261 7769 6e67 nto line drawing │ │ │ │ │ +000005d0: 732e 2020 5468 6973 2076 6572 7369 6f6e s. This version │ │ │ │ │ +000005e0: 2067 656e 6572 6174 6573 0ae2 8098 5053 generates....PS │ │ │ │ │ +000005f0: 5472 6963 6b73 e280 9920 6f72 20e2 8098 Tricks... or ... │ │ │ │ │ +00000600: 5047 462f 5469 6b5a e280 9920 636f 6465 PGF/TikZ... code │ │ │ │ │ +00000610: 2073 7569 7461 626c 6520 666f 7220 7573 suitable for us │ │ │ │ │ +00000620: 6520 7769 7468 2074 6865 2054 6558 2064 e with the TeX d │ │ │ │ │ +00000630: 6f63 756d 656e 740a 7072 6f63 6573 7369 ocument.processi │ │ │ │ │ +00000640: 6e67 2073 7973 7465 6d2e 0a0a 2020 20e2 ng system... . │ │ │ │ │ +00000650: 8098 536b 6574 6368 e280 9920 6973 2066 ..Sketch... is f │ │ │ │ │ +00000660: 7265 6520 736f 6674 7761 7265 2e20 2059 ree software. Y │ │ │ │ │ +00000670: 6f75 2063 616e 2072 6564 6973 7472 6962 ou can redistrib │ │ │ │ │ +00000680: 7574 6520 6974 2061 6e64 2f6f 7220 6d6f ute it and/or mo │ │ │ │ │ +00000690: 6469 6679 2069 740a 756e 6465 7220 7468 dify it.under th │ │ │ │ │ +000006a0: 6520 7465 726d 7320 6f66 2074 6865 2047 e terms of the G │ │ │ │ │ +000006b0: 4e55 2047 656e 6572 616c 2050 7562 6c69 NU General Publi │ │ │ │ │ +000006c0: 6320 4c69 6365 6e73 6520 6173 2070 7562 c License as pub │ │ │ │ │ +000006d0: 6c69 7368 6564 2062 7920 7468 650a 4672 lished by the.Fr │ │ │ │ │ +000006e0: 6565 2053 6f66 7477 6172 6520 466f 756e ee Software Foun │ │ │ │ │ +000006f0: 6461 7469 6f6e 3b20 6569 7468 6572 2076 dation; either v │ │ │ │ │ +00000700: 6572 7369 6f6e 2033 2c20 6f72 2028 6174 ersion 3, or (at │ │ │ │ │ +00000710: 2079 6f75 7220 6f70 7469 6f6e 2920 616e your option) an │ │ │ │ │ +00000720: 790a 6c61 7465 7220 7665 7273 696f 6e2e y.later version. │ │ │ │ │ +00000730: 0a0a 2020 2053 6b65 7463 6820 6973 2064 .. Sketch is d │ │ │ │ │ +00000740: 6973 7472 6962 7574 6564 2069 6e20 7468 istributed in th │ │ │ │ │ +00000750: 6520 686f 7065 2074 6861 7420 6974 2077 e hope that it w │ │ │ │ │ +00000760: 696c 6c20 6265 2075 7365 6675 6c2c 2062 ill be useful, b │ │ │ │ │ +00000770: 7574 2057 4954 484f 5554 0a41 4e59 2057 ut WITHOUT.ANY W │ │ │ │ │ +00000780: 4152 5241 4e54 593b 2077 6974 686f 7574 ARRANTY; without │ │ │ │ │ +00000790: 2065 7665 6e20 7468 6520 696d 706c 6965 even the implie │ │ │ │ │ +000007a0: 6420 7761 7272 616e 7479 206f 6620 4d45 d warranty of ME │ │ │ │ │ +000007b0: 5243 4841 4e54 4142 494c 4954 5920 6f72 RCHANTABILITY or │ │ │ │ │ +000007c0: 0a46 4954 4e45 5353 2046 4f52 2041 2050 .FITNESS FOR A P │ │ │ │ │ +000007d0: 4152 5449 4355 4c41 5220 5055 5250 4f53 ARTICULAR PURPOS │ │ │ │ │ +000007e0: 452e 2053 6565 2074 6865 2047 4e55 2047 E. See the GNU G │ │ │ │ │ +000007f0: 656e 6572 616c 2050 7562 6c69 6320 4c69 eneral Public Li │ │ │ │ │ +00000800: 6365 6e73 6520 666f 720a 6d6f 7265 2064 cense for.more d │ │ │ │ │ +00000810: 6574 6169 6c73 2e0a 0a20 2020 596f 7520 etails... You │ │ │ │ │ +00000820: 7368 6f75 6c64 2068 6176 6520 7265 6365 should have rece │ │ │ │ │ +00000830: 6976 6564 2061 2063 6f70 7920 6f66 2074 ived a copy of t │ │ │ │ │ +00000840: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P │ │ │ │ │ +00000850: 7562 6c69 6320 4c69 6365 6e73 650a 616c ublic License.al │ │ │ │ │ +00000860: 6f6e 6720 7769 7468 20e2 8098 736b 6574 ong with ...sket │ │ │ │ │ +00000870: 6368 e280 993b 2073 6565 2074 6865 2066 ch...; see the f │ │ │ │ │ +00000880: 696c 6520 434f 5059 494e 472e 7478 742e ile COPYING.txt. │ │ │ │ │ +00000890: 2020 4966 206e 6f74 2c20 7365 650a 6874 If not, see.ht │ │ │ │ │ +000008a0: 7470 3a2f 2f77 7777 2e67 6e75 2e6f 7267 tp://www.gnu.org │ │ │ │ │ +000008b0: 2f63 6f70 796c 6566 742e 0a0a 2a20 4d65 /copyleft...* Me │ │ │ │ │ +000008c0: 6e75 3a0a 0a2a 2041 626f 7574 2073 6b65 nu:..* About ske │ │ │ │ │ +000008d0: 7463 683a 3a20 2020 2020 2020 2020 2020 tch:: │ │ │ │ │ +000008e0: 2020 2020 2057 6879 2073 6b65 7463 6820 Why sketch │ │ │ │ │ +000008f0: 6578 6973 7473 2061 6e64 2077 6861 7420 exists and what │ │ │ │ │ +00000900: 6974 2064 6f65 732e 0a2a 2049 6e74 726f it does..* Intro │ │ │ │ │ +00000910: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp │ │ │ │ │ +00000920: 6c65 3a3a 2020 2020 204d 6f73 7420 6665 le:: Most fe │ │ │ │ │ +00000930: 6174 7572 6573 2073 686f 776e 2061 7320 atures shown as │ │ │ │ │ +00000940: 776f 726b 696e 6720 636f 6465 2e0a 2a20 working code..* │ │ │ │ │ +00000950: 496e 7075 7420 6c61 6e67 7561 6765 3a3a Input language:: │ │ │ │ │ +00000960: 2020 2020 2020 2020 2020 2020 2020 5379 Sy │ │ │ │ │ +00000970: 6e74 6178 2061 6e64 2073 656d 616e 7469 ntax and semanti │ │ │ │ │ +00000980: 6373 206f 6620 e280 9873 6b65 7463 68e2 cs of ...sketch. │ │ │ │ │ +00000990: 8099 2063 6f6d 6d61 6e64 732e 0a2a 2042 .. commands..* B │ │ │ │ │ +000009a0: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin │ │ │ │ │ +000009b0: 673a 3a20 2020 2020 2020 2020 2048 6f77 g:: How │ │ │ │ │ +000009c0: 2074 6f20 7573 6520 e280 9873 6b65 7463 to use ...sketc │ │ │ │ │ +000009d0: 68e2 8099 2070 726f 6475 6374 6976 656c h... productivel │ │ │ │ │ +000009e0: 792e 0a2a 2043 6f6d 6d61 6e64 206c 696e y..* Command lin │ │ │ │ │ +000009f0: 653a 3a20 2020 2020 2020 2020 2020 2020 e:: │ │ │ │ │ +00000a00: 2020 204f 7074 696f 6e73 2061 6e64 2074 Options and t │ │ │ │ │ +00000a10: 6865 6972 2075 7361 6765 2e0a 2a20 496e heir usage..* In │ │ │ │ │ +00000a20: 7374 616c 6c69 6e67 2073 6b65 7463 683a stalling sketch: │ │ │ │ │ +00000a30: 3a20 2020 2020 2020 2020 2020 4275 696c : Buil │ │ │ │ │ +00000a40: 6469 6e67 2061 6e64 2069 6e73 7461 6c6c ding and install │ │ │ │ │ +00000a50: 696e 6720 6672 6f6d 2073 6f75 7263 6573 ing from sources │ │ │ │ │ +00000a60: 2e0a 2a20 496e 6465 7820 6f66 2073 796e ..* Index of syn │ │ │ │ │ +00000a70: 7461 783a 3a0a 2a20 496e 6465 783a 3a0a tax::.* Index::. │ │ │ │ │ +00000a80: 0a20 2d2d 2054 6865 2044 6574 6169 6c65 . -- The Detaile │ │ │ │ │ +00000a90: 6420 4e6f 6465 204c 6973 7469 6e67 202d d Node Listing - │ │ │ │ │ +00000aa0: 2d0a 0a41 626f 7574 2073 6b65 7463 680a -..About sketch. │ │ │ │ │ +00000ab0: 0a2a 2052 6570 6f72 7469 6e67 2062 7567 .* Reporting bug │ │ │ │ │ +00000ac0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00000ad0: 204c 6574 2075 7365 206b 6e6f 7720 7768 Let use know wh │ │ │ │ │ +00000ae0: 6174 2773 2077 726f 6e67 210a 2a20 436f at's wrong!.* Co │ │ │ │ │ +00000af0: 6e74 7269 6275 7469 6f6e 733a 3a20 2020 ntributions:: │ │ │ │ │ +00000b00: 2020 2020 2020 2020 2020 2020 486f 7720 How │ │ │ │ │ +00000b10: 796f 7520 6361 6e20 6865 6c70 2e2e 2e2e you can help.... │ │ │ │ │ +00000b20: 0a0a 496e 7472 6f64 7563 7469 6f6e 2062 ..Introduction b │ │ │ │ │ +00000b30: 7920 6578 616d 706c 650a 0a2a 2048 656c y example..* Hel │ │ │ │ │ +00000b40: 6c6f 2077 6f72 6c64 3a3a 2020 2020 2020 lo world:: │ │ │ │ │ +00000b50: 2020 2020 2020 2020 2020 2053 696d 706c Simpl │ │ │ │ │ +00000b60: 6573 7420 706f 7373 6962 6c65 20e2 8098 est possible ... │ │ │ │ │ +00000b70: 736b 6574 6368 e280 9920 7072 6f67 7261 sketch... progra │ │ │ │ │ +00000b80: 6d2e 0a2a 2044 7261 7769 6e67 206f 7074 m..* Drawing opt │ │ │ │ │ +00000b90: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ +00000ba0: 2020 2043 6f6e 7472 6f6c 6c69 6e67 206f Controlling o │ │ │ │ │ +00000bb0: 626a 6563 7420 6170 7065 6172 616e 6365 bject appearance │ │ │ │ │ +00000bc0: 2e0a 2a20 4472 6177 696e 6720 6120 736f ..* Drawing a so │ │ │ │ │ +00000bd0: 6c69 643a 3a20 2020 2020 2020 2020 2020 lid:: │ │ │ │ │ +00000be0: 2020 4472 6177 696e 6720 616e 206f 626a Drawing an obj │ │ │ │ │ +00000bf0: 6563 7420 7769 7468 2033 6420 6170 7065 ect with 3d appe │ │ │ │ │ +00000c00: 6172 616e 6365 2e0a 2a20 5370 6563 6961 arance..* Specia │ │ │ │ │ +00000c10: 6c20 6f62 6a65 6374 733a 3a20 2020 2020 l objects:: │ │ │ │ │ +00000c20: 2020 2020 2020 2020 4c61 7969 6e67 2054 Laying T │ │ │ │ │ +00000c30: 6558 206f 7665 722c 2069 6e2c 206f 7220 eX over, in, or │ │ │ │ │ +00000c40: 756e 6465 7220 6472 6177 696e 6773 2e0a under drawings.. │ │ │ │ │ +00000c50: 2a20 4f62 6a65 6374 2074 7261 6e73 666f * Object transfo │ │ │ │ │ +00000c60: 726d 733a 3a20 2020 2020 2020 2020 2020 rms:: │ │ │ │ │ +00000c70: 526f 7461 7465 2c20 7472 616e 736c 6174 Rotate, translat │ │ │ │ │ +00000c80: 652c 2073 6361 6c65 2c20 616e 6420 6f74 e, scale, and ot │ │ │ │ │ +00000c90: 6865 7273 2e0a 2a20 5265 7065 6174 6564 hers..* Repeated │ │ │ │ │ +00000ca0: 206f 626a 6563 7473 3a3a 2020 2020 2020 objects:: │ │ │ │ │ +00000cb0: 2020 2020 2020 4d61 6b69 6e67 2074 7261 Making tra │ │ │ │ │ +00000cc0: 6e73 666f 726d 6564 2063 6f70 6965 732e nsformed copies. │ │ │ │ │ +00000cd0: 0a2a 2053 7765 7074 206f 626a 6563 7473 .* Swept objects │ │ │ │ │ +00000ce0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00000cf0: 2053 7765 6570 696e 6720 6f62 6a65 6374 Sweeping object │ │ │ │ │ +00000d00: 7320 696e 2073 7061 6365 2074 6f20 6d61 s in space to ma │ │ │ │ │ +00000d10: 6b65 206e 6577 2073 6861 7065 732e 0a0a ke new shapes... │ │ │ │ │ +00000d20: 5377 6570 7420 6f62 6a65 6374 730a 0a2a Swept objects..* │ │ │ │ │ +00000d30: 2050 6f69 6e74 2073 7765 6570 733a 3a20 Point sweeps:: │ │ │ │ │ +00000d40: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00000d50: 7765 7074 2070 6f69 6e74 7320 6d61 6b65 wept points make │ │ │ │ │ +00000d60: 206c 696e 6573 2061 6e64 2070 6f6c 7967 lines and polyg │ │ │ │ │ +00000d70: 6f6e 732e 0a2a 2050 6f6c 796c 696e 6520 ons..* Polyline │ │ │ │ │ +00000d80: 7377 6565 7073 3a3a 2020 2020 2020 2020 sweeps:: │ │ │ │ │ +00000d90: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines │ │ │ │ │ +00000da0: 206d 616b 6520 7375 7266 6163 6573 2e0a make surfaces.. │ │ │ │ │ +00000db0: 2a20 4e65 7374 6564 2073 7765 6570 733a * Nested sweeps: │ │ │ │ │ +00000dc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00000dd0: 5377 6570 7420 7377 6565 7073 2061 7265 Swept sweeps are │ │ │ │ │ +00000de0: 2075 7365 6675 6c21 0a2a 2050 6f6c 7967 useful!.* Polyg │ │ │ │ │ +00000df0: 6f6e 2073 7765 6570 733a 3a20 2020 2020 on sweeps:: │ │ │ │ │ +00000e00: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ +00000e10: 6f6c 7967 6f6e 7320 6d61 6b65 2073 6f6c olygons make sol │ │ │ │ │ +00000e20: 6964 732e 2e2e 0a2a 2050 6f6c 796c 696e ids....* Polylin │ │ │ │ │ +00000e30: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl │ │ │ │ │ +00000e40: 6f73 7572 653a 3a20 2061 6e64 2073 6f20 osure:: and so │ │ │ │ │ +00000e50: 646f 2063 6c6f 7365 6420 706f 6c79 6c69 do closed polyli │ │ │ │ │ +00000e60: 6e65 2073 7765 6570 732e 0a2a 2041 6666 ne sweeps..* Aff │ │ │ │ │ +00000e70: 696e 6520 6172 6974 686d 6574 6963 3a3a ine arithmetic:: │ │ │ │ │ +00000e80: 2020 2020 2020 2020 2020 2053 6b65 7463 Sketc │ │ │ │ │ +00000e90: 6820 7573 6566 756c 206d 6174 6820 6578 h useful math ex │ │ │ │ │ +00000ea0: 7072 6573 7369 6f6e 2e0a 2a20 4d6f 7265 pression..* More │ │ │ │ │ +00000eb0: 2074 6f20 6c65 6172 6e3a 3a20 2020 2020 to learn:: │ │ │ │ │ +00000ec0: 2020 2020 2020 2020 2020 4368 6563 6b20 Check │ │ │ │ │ +00000ed0: 6f75 7420 7468 6520 4d6f 6269 7573 2073 out the Mobius s │ │ │ │ │ +00000ee0: 7472 6970 210a 0a49 6e70 7574 206c 616e trip!..Input lan │ │ │ │ │ +00000ef0: 6775 6167 650a 0a2a 204c 616e 6775 6167 guage..* Languag │ │ │ │ │ +00000f00: 6520 6261 7369 6373 3a3a 2020 2020 2020 e basics:: │ │ │ │ │ +00000f10: 2020 2020 2020 2043 6173 652c 2073 7061 Case, spa │ │ │ │ │ +00000f20: 6365 2c20 636f 6d6d 656e 7473 2c20 696e ce, comments, in │ │ │ │ │ +00000f30: 636c 7564 6520 6669 6c65 732e 0a2a 2044 clude files..* D │ │ │ │ │ +00000f40: 7261 7761 626c 6573 3a3a 2020 2020 2020 rawables:: │ │ │ │ │ +00000f50: 2020 2020 2020 2020 2020 2020 2054 6869 Thi │ │ │ │ │ +00000f60: 6e67 7320 7468 6174 2063 616e 2062 6520 ngs that can be │ │ │ │ │ +00000f70: 6472 6177 6e2e 0a2a 2044 6566 696e 6974 drawn..* Definit │ │ │ │ │ +00000f80: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ +00000f90: 2020 2020 2020 2047 6976 696e 6720 7468 Giving th │ │ │ │ │ +00000fa0: 696e 6773 206e 616d 6573 2e0a 2a20 476c ings names..* Gl │ │ │ │ │ +00000fb0: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment │ │ │ │ │ +00000fc0: 3a3a 2020 2020 2020 2020 2020 4166 6665 :: Affe │ │ │ │ │ +00000fd0: 6374 2074 6865 2065 6e74 6972 6520 6472 ct the entire dr │ │ │ │ │ +00000fe0: 6177 696e 672e 0a0a 4261 7369 6373 0a0a awing...Basics.. │ │ │ │ │ +00000ff0: 2a20 4964 656e 7469 6669 6572 733a 3a20 * Identifiers:: │ │ │ │ │ +00001000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00001010: 4e61 6d65 7320 666f 7220 7468 696e 6773 Names for things │ │ │ │ │ +00001020: 2e0a 2a20 4b65 7920 616e 6420 7265 7365 ..* Key and rese │ │ │ │ │ +00001030: 7276 6564 2077 6f72 6473 3a3a 2020 2020 rved words:: │ │ │ │ │ +00001040: 2020 4e61 6d65 7320 796f 7520 7368 6f75 Names you shou │ │ │ │ │ +00001050: 6c64 6e27 7420 7573 652e 0a2a 204c 6974 ldn't use..* Lit │ │ │ │ │ +00001060: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: │ │ │ │ │ +00001070: 2020 2020 2020 2020 2020 2043 6f6e 7374 Const │ │ │ │ │ +00001080: 616e 7473 2061 6e64 2063 6f6e 7374 7275 ants and constru │ │ │ │ │ +00001090: 6374 6f72 732e 0a2a 2041 7269 7468 6d65 ctors..* Arithme │ │ │ │ │ +000010a0: 7469 633a 3a20 2020 2020 2020 2020 2020 tic:: │ │ │ │ │ +000010b0: 2020 2020 2020 2052 756c 6573 2066 6f72 Rules for │ │ │ │ │ +000010c0: 2065 7870 7265 7373 696f 6e73 2e0a 2a20 expressions..* │ │ │ │ │ +000010d0: 4f70 7469 6f6e 733a 3a20 2020 2020 2020 Options:: │ │ │ │ │ +000010e0: 2020 2020 2020 2020 2020 2020 2020 4d6f Mo │ │ │ │ │ +000010f0: 6469 6679 696e 6720 6f62 6a65 6374 2061 difying object a │ │ │ │ │ +00001100: 7070 6561 7261 6e63 652e 0a0a 4c69 7465 ppearance...Lite │ │ │ │ │ +00001110: 7261 6c73 0a0a 2a20 5363 616c 6172 206c rals..* Scalar l │ │ │ │ │ +00001120: 6974 6572 616c 733a 3a20 2020 2020 2020 iterals:: │ │ │ │ │ +00001130: 2020 2020 2020 4a75 7374 2074 6865 206e Just the n │ │ │ │ │ +00001140: 756d 6265 7273 2e0a 2a20 506f 696e 7420 umbers..* Point │ │ │ │ │ +00001150: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter │ │ │ │ │ +00001160: 616c 733a 3a20 2020 3364 2071 7561 6e74 als:: 3d quant │ │ │ │ │ +00001170: 6974 6965 732e 0a2a 2054 7261 6e73 666f ities..* Transfo │ │ │ │ │ +00001180: 726d 206c 6974 6572 616c 733a 3a20 2020 rm literals:: │ │ │ │ │ +00001190: 2020 2020 2020 204d 6174 7269 7820 666f Matrix fo │ │ │ │ │ +000011a0: 726d 2e0a 0a41 7269 7468 6d65 7469 6320 rm...Arithmetic │ │ │ │ │ +000011b0: 6578 7072 6573 7369 6f6e 730a 0a2a 2054 expressions..* T │ │ │ │ │ +000011c0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ +000011d0: 7279 2920 666f 726d 733a 3a20 2041 206f ry) forms:: A o │ │ │ │ │ +000011e0: 7020 420a 2a20 556e 6172 7920 666f 726d p B.* Unary form │ │ │ │ │ +000011f0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00001200: 2020 2020 6f70 2041 2028 616e 6420 6f74 op A (and ot │ │ │ │ │ +00001210: 6865 7273 290a 0a4f 7074 696f 6e73 0a0a hers)..Options.. │ │ │ │ │ +00001220: 2a20 5053 5472 6963 6b73 206f 7074 696f * PSTricks optio │ │ │ │ │ +00001230: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ +00001240: 4f70 7469 6f6e 7320 696e 6865 7269 7465 Options inherite │ │ │ │ │ +00001250: 6420 6672 6f6d 20e2 8098 5053 5472 6963 d from ...PSTric │ │ │ │ │ +00001260: 6b73 e280 992e 0a2a 2054 696b 5a2f 5047 ks.....* TikZ/PG │ │ │ │ │ +00001270: 4620 6f70 7469 6f6e 733a 3a20 2020 2020 F options:: │ │ │ │ │ +00001280: 2020 2020 2020 204f 7074 696f 6e73 2069 Options i │ │ │ │ │ +00001290: 6e68 6572 6974 6564 2066 726f 6d20 e280 nherited from .. │ │ │ │ │ +000012a0: 9854 696b 5a2f 5047 46e2 8099 2e0a 2a20 .TikZ/PGF.....* │ │ │ │ │ +000012b0: 446f 7473 2069 6e20 5469 6b5a 2f50 4746 Dots in TikZ/PGF │ │ │ │ │ +000012c0: 3a3a 2020 2020 2020 2020 2020 2020 536b :: Sk │ │ │ │ │ +000012d0: 6574 6368 2075 7365 7320 e280 9854 696b etch uses ...Tik │ │ │ │ │ +000012e0: 5a2f 5047 46e2 8099 2063 6972 636c 6573 Z/PGF... circles │ │ │ │ │ +000012f0: 2066 6f72 2064 6f74 732e 0a2a 2054 696b for dots..* Tik │ │ │ │ │ +00001300: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin │ │ │ │ │ +00001310: 6564 2073 7479 6c65 733a 3a20 2053 7570 ed styles:: Sup │ │ │ │ │ +00001320: 706f 7274 2066 6f72 20e2 8098 5469 6b5a port for ...TikZ │ │ │ │ │ +00001330: 2f50 4746 e280 9920 6e61 6d65 642c 2075 /PGF... named, u │ │ │ │ │ +00001340: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl │ │ │ │ │ +00001350: 6573 2e0a 2a20 5472 616e 7370 6172 656e es..* Transparen │ │ │ │ │ +00001360: 6379 3a3a 2020 2020 2020 2020 2020 2020 cy:: │ │ │ │ │ +00001370: 2020 2020 5365 652d 7468 726f 7567 6820 See-through │ │ │ │ │ +00001380: 706f 6c79 676f 6e73 2e0a 2a20 496e 7465 polygons..* Inte │ │ │ │ │ +00001390: 726e 616c 206f 7074 696f 6e73 3a3a 2020 rnal options:: │ │ │ │ │ +000013a0: 2020 2020 2020 2020 2020 4f70 7469 6f6e Option │ │ │ │ │ +000013b0: 7320 7573 6564 2062 7920 e280 9873 6b65 s used by ...ske │ │ │ │ │ +000013c0: 7463 68e2 8099 2e0a 0a50 6f69 6e74 206c tch......Point l │ │ │ │ │ +000013d0: 6973 7473 0a0a 2a20 4472 6177 6162 6c65 ists..* Drawable │ │ │ │ │ +000013e0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +000013f0: 2020 2020 2020 5468 696e 6773 2074 6861 Things tha │ │ │ │ │ +00001400: 7420 6172 6520 6472 6177 6e2e 0a2a 2044 t are drawn..* D │ │ │ │ │ +00001410: 6566 696e 6974 696f 6e73 3a3a 2020 2020 efinitions:: │ │ │ │ │ +00001420: 2020 2020 2020 2020 2020 2020 2054 6869 Thi │ │ │ │ │ +00001430: 6e67 7320 7769 7468 206e 616d 6573 2e0a ngs with names.. │ │ │ │ │ +00001440: 0a44 7261 7761 626c 6573 0a0a 2a20 446f .Drawables..* Do │ │ │ │ │ +00001450: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: │ │ │ │ │ +00001460: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ +00001470: 2064 6f74 732e 0a2a 204c 696e 6573 3a3a dots..* Lines:: │ │ │ │ │ 00001480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001490: 2020 2044 7261 7720 706f 6c79 6c69 6e65 Draw polyline │ │ │ │ │ -000014a0: 732e 0a2a 2043 7572 7665 733a 3a20 2020 s..* Curves:: │ │ │ │ │ -000014b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000014c0: 2020 2044 7261 7720 6375 7276 6573 2e0a Draw curves.. │ │ │ │ │ -000014d0: 2a20 506f 6c79 676f 6e73 3a3a 2020 2020 * Polygons:: │ │ │ │ │ +00001490: 2020 2020 2020 2044 7261 7720 706f 6c79 Draw poly │ │ │ │ │ +000014a0: 6c69 6e65 732e 0a2a 2043 7572 7665 733a lines..* Curves: │ │ │ │ │ +000014b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000014c0: 2020 2020 2020 2044 7261 7720 6375 7276 Draw curv │ │ │ │ │ +000014d0: 6573 2e0a 2a20 506f 6c79 676f 6e73 3a3a es..* Polygons:: │ │ │ │ │ 000014e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000014f0: 4472 6177 2070 6f6c 7967 6f6e 732e 0a2a Draw polygons..* │ │ │ │ │ -00001500: 2053 7065 6369 616c 733a 3a20 2020 2020 Specials:: │ │ │ │ │ -00001510: 2020 2020 2020 2020 2020 2020 2020 2045 E │ │ │ │ │ -00001520: 6d62 6564 2072 6177 204c 6154 6558 2061 mbed raw LaTeX a │ │ │ │ │ -00001530: 6e64 20e2 8098 5053 5472 6963 6b73 e280 nd ...PSTricks.. │ │ │ │ │ -00001540: 992e 0a2a 2053 7765 6570 733a 3a20 2020 ...* Sweeps:: │ │ │ │ │ -00001550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001560: 2020 2044 7261 7720 7377 6565 7073 206f Draw sweeps o │ │ │ │ │ -00001570: 6620 646f 7473 2061 6e64 2070 6f6c 796c f dots and polyl │ │ │ │ │ -00001580: 696e 6573 2e0a 2a20 426c 6f63 6b73 3a3a ines..* Blocks:: │ │ │ │ │ -00001590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000015a0: 2020 2020 2020 4772 6f75 7020 6f74 6865 Group othe │ │ │ │ │ -000015b0: 7220 6472 6177 6162 6c65 732e 0a2a 2052 r drawables..* R │ │ │ │ │ -000015c0: 6570 6561 7473 3a3a 2020 2020 2020 2020 epeats:: │ │ │ │ │ -000015d0: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ -000015e0: 7720 7472 616e 7366 6f72 6d65 6420 636f w transformed co │ │ │ │ │ -000015f0: 7069 6573 206f 6620 6f62 6a65 6374 732e pies of objects. │ │ │ │ │ -00001600: 0a2a 2050 7574 733a 3a20 2020 2020 2020 .* Puts:: │ │ │ │ │ +000014f0: 2020 2020 4472 6177 2070 6f6c 7967 6f6e Draw polygon │ │ │ │ │ +00001500: 732e 0a2a 2053 7065 6369 616c 733a 3a20 s..* Specials:: │ │ │ │ │ +00001510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00001520: 2020 2045 6d62 6564 2072 6177 204c 6154 Embed raw LaT │ │ │ │ │ +00001530: 6558 2061 6e64 20e2 8098 5053 5472 6963 eX and ...PSTric │ │ │ │ │ +00001540: 6b73 e280 992e 0a2a 2053 7765 6570 733a ks.....* Sweeps: │ │ │ │ │ +00001550: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00001560: 2020 2020 2020 2044 7261 7720 7377 6565 Draw swee │ │ │ │ │ +00001570: 7073 206f 6620 646f 7473 2061 6e64 2070 ps of dots and p │ │ │ │ │ +00001580: 6f6c 796c 696e 6573 2e0a 2a20 426c 6f63 olylines..* Bloc │ │ │ │ │ +00001590: 6b73 3a3a 2020 2020 2020 2020 2020 2020 ks:: │ │ │ │ │ +000015a0: 2020 2020 2020 2020 2020 4772 6f75 7020 Group │ │ │ │ │ +000015b0: 6f74 6865 7220 6472 6177 6162 6c65 732e other drawables. │ │ │ │ │ +000015c0: 0a2a 2052 6570 6561 7473 3a3a 2020 2020 .* Repeats:: │ │ │ │ │ +000015d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000015e0: 2044 7261 7720 7472 616e 7366 6f72 6d65 Draw transforme │ │ │ │ │ +000015f0: 6420 636f 7069 6573 206f 6620 6f62 6a65 d copies of obje │ │ │ │ │ +00001600: 6374 732e 0a2a 2050 7574 733a 3a20 2020 cts..* Puts:: │ │ │ │ │ 00001610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001620: 2044 7261 7720 6f6e 6520 6f62 6a65 6374 Draw one object │ │ │ │ │ -00001630: 2074 7261 6e73 666f 726d 6564 2e0a 0a53 transformed...S │ │ │ │ │ -00001640: 7765 6570 730a 0a2a 2053 7765 7074 2070 weeps..* Swept p │ │ │ │ │ -00001650: 6f69 6e74 733a 3a20 2020 2020 2020 2020 oints:: │ │ │ │ │ -00001660: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi │ │ │ │ │ -00001670: 6e74 7320 6d61 6b65 206c 696e 6573 206f nts make lines o │ │ │ │ │ -00001680: 7220 706f 6c79 676f 6e73 2e0a 2a20 5377 r polygons..* Sw │ │ │ │ │ -00001690: 6570 7420 6c69 6e65 733a 3a20 2020 2020 ept lines:: │ │ │ │ │ -000016a0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -000016b0: 7420 6c69 6e65 7320 6d61 6b65 206f 7065 t lines make ope │ │ │ │ │ -000016c0: 6e20 6f72 2063 6c6f 7365 6420 7375 7266 n or closed surf │ │ │ │ │ -000016d0: 6163 6573 2e0a 2a20 5377 6570 7420 706f aces..* Swept po │ │ │ │ │ -000016e0: 6c79 676f 6e73 3a3a 2020 2020 2020 2020 lygons:: │ │ │ │ │ -000016f0: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly │ │ │ │ │ -00001700: 676f 6e73 206d 616b 6520 636c 6f73 6564 gons make closed │ │ │ │ │ -00001710: 2073 7572 6661 6365 732e 0a2a 2053 7765 surfaces..* Swe │ │ │ │ │ -00001720: 7074 2062 6c6f 636b 733a 3a20 2020 2020 pt blocks:: │ │ │ │ │ -00001730: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00001740: 2062 6c6f 636b 20e2 89a1 2062 6c6f 636b block ... block │ │ │ │ │ -00001750: 206f 6620 7377 6565 7073 2e0a 2a20 5377 of sweeps..* Sw │ │ │ │ │ -00001760: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti │ │ │ │ │ -00001770: 6e67 3a3a 2020 2020 2020 2020 4669 7869 ng:: Fixi │ │ │ │ │ -00001780: 6e67 2077 6172 7065 6420 6661 6365 7320 ng warped faces │ │ │ │ │ -00001790: 7769 7468 2074 7269 616e 676c 6573 2e0a with triangles.. │ │ │ │ │ -000017a0: 0a44 6566 696e 6974 696f 6e73 0a0a 2a20 .Definitions..* │ │ │ │ │ -000017b0: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit │ │ │ │ │ -000017c0: 696f 6e73 3a3a 2020 2020 2020 2020 4469 ions:: Di │ │ │ │ │ -000017d0: 6666 6572 656e 7420 6465 6673 2066 6f72 fferent defs for │ │ │ │ │ -000017e0: 2064 6966 6665 7265 6e74 2070 7572 706f different purpo │ │ │ │ │ -000017f0: 7365 732e 0a2a 2046 6f72 6d73 206f 6620 ses..* Forms of │ │ │ │ │ -00001800: 7265 6665 7265 6e63 6573 3a3a 2020 2020 references:: │ │ │ │ │ -00001810: 2020 2020 2048 6f77 2072 6566 6572 656e How referen │ │ │ │ │ -00001820: 6365 7320 6465 6e6f 7465 2074 7970 6573 ces denote types │ │ │ │ │ -00001830: 2e0a 0a47 6c6f 6261 6c20 656e 7669 726f ...Global enviro │ │ │ │ │ -00001840: 6e6d 656e 740a 0a2a 2047 6c6f 6261 6c20 nment..* Global │ │ │ │ │ -00001850: 6f70 7469 6f6e 733a 3a20 2020 2020 2020 options:: │ │ │ │ │ -00001860: 2020 2020 2020 2041 7474 7269 6275 7465 Attribute │ │ │ │ │ -00001870: 7320 6f66 2074 6865 2065 6e74 6972 6520 s of the entire │ │ │ │ │ -00001880: 6472 6177 696e 672e 0a2a 2043 616d 6572 drawing..* Camer │ │ │ │ │ -00001890: 613a 3a20 2020 2020 2020 2020 2020 2020 a:: │ │ │ │ │ -000018a0: 2020 2020 2020 2020 2041 2066 696e 616c A final │ │ │ │ │ -000018b0: 2063 616d 6572 6120 7472 616e 7366 6f72 camera transfor │ │ │ │ │ -000018c0: 6d61 7469 6f6e 206f 6620 7468 6520 7363 mation of the sc │ │ │ │ │ -000018d0: 656e 652e 0a2a 2050 6963 7475 7265 2062 ene..* Picture b │ │ │ │ │ -000018e0: 6f78 3a3a 2020 2020 2020 2020 2020 2020 ox:: │ │ │ │ │ -000018f0: 2020 2020 2053 6574 7469 6e67 2074 6865 Setting the │ │ │ │ │ -00001900: 2062 6f75 6e64 696e 6720 626f 7820 616e bounding box an │ │ │ │ │ -00001910: 6420 3264 2063 6c69 7070 696e 672e 0a2a d 2d clipping..* │ │ │ │ │ -00001920: 2046 7261 6d65 3a3a 2020 2020 2020 2020 Frame:: │ │ │ │ │ -00001930: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -00001940: 6464 696e 6720 6120 626f 7820 6172 6f75 dding a box arou │ │ │ │ │ -00001950: 6e64 2074 6865 2064 7261 7769 6e67 2e0a nd the drawing.. │ │ │ │ │ -00001960: 2a20 4c61 6e67 7561 6765 3a3a 2020 2020 * Language:: │ │ │ │ │ +00001620: 2020 2020 2044 7261 7720 6f6e 6520 6f62 Draw one ob │ │ │ │ │ +00001630: 6a65 6374 2074 7261 6e73 666f 726d 6564 ject transformed │ │ │ │ │ +00001640: 2e0a 0a53 7765 6570 730a 0a2a 2053 7765 ...Sweeps..* Swe │ │ │ │ │ +00001650: 7074 2070 6f69 6e74 733a 3a20 2020 2020 pt points:: │ │ │ │ │ +00001660: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +00001670: 2070 6f69 6e74 7320 6d61 6b65 206c 696e points make lin │ │ │ │ │ +00001680: 6573 206f 7220 706f 6c79 676f 6e73 2e0a es or polygons.. │ │ │ │ │ +00001690: 2a20 5377 6570 7420 6c69 6e65 733a 3a20 * Swept lines:: │ │ │ │ │ +000016a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000016b0: 5377 6570 7420 6c69 6e65 7320 6d61 6b65 Swept lines make │ │ │ │ │ +000016c0: 206f 7065 6e20 6f72 2063 6c6f 7365 6420 open or closed │ │ │ │ │ +000016d0: 7375 7266 6163 6573 2e0a 2a20 5377 6570 surfaces..* Swep │ │ │ │ │ +000016e0: 7420 706f 6c79 676f 6e73 3a3a 2020 2020 t polygons:: │ │ │ │ │ +000016f0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +00001700: 706f 6c79 676f 6e73 206d 616b 6520 636c polygons make cl │ │ │ │ │ +00001710: 6f73 6564 2073 7572 6661 6365 732e 0a2a osed surfaces..* │ │ │ │ │ +00001720: 2053 7765 7074 2062 6c6f 636b 733a 3a20 Swept blocks:: │ │ │ │ │ +00001730: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00001740: 7765 7074 2062 6c6f 636b 20e2 89a1 2062 wept block ... b │ │ │ │ │ +00001750: 6c6f 636b 206f 6620 7377 6565 7073 2e0a lock of sweeps.. │ │ │ │ │ +00001760: 2a20 5377 6565 7020 6661 6365 2073 706c * Sweep face spl │ │ │ │ │ +00001770: 6974 7469 6e67 3a3a 2020 2020 2020 2020 itting:: │ │ │ │ │ +00001780: 4669 7869 6e67 2077 6172 7065 6420 6661 Fixing warped fa │ │ │ │ │ +00001790: 6365 7320 7769 7468 2074 7269 616e 676c ces with triangl │ │ │ │ │ +000017a0: 6573 2e0a 0a44 6566 696e 6974 696f 6e73 es...Definitions │ │ │ │ │ +000017b0: 0a0a 2a20 466f 726d 7320 6f66 2064 6566 ..* Forms of def │ │ │ │ │ +000017c0: 696e 6974 696f 6e73 3a3a 2020 2020 2020 initions:: │ │ │ │ │ +000017d0: 2020 4469 6666 6572 656e 7420 6465 6673 Different defs │ │ │ │ │ +000017e0: 2066 6f72 2064 6966 6665 7265 6e74 2070 for different p │ │ │ │ │ +000017f0: 7572 706f 7365 732e 0a2a 2046 6f72 6d73 urposes..* Forms │ │ │ │ │ +00001800: 206f 6620 7265 6665 7265 6e63 6573 3a3a of references:: │ │ │ │ │ +00001810: 2020 2020 2020 2020 2048 6f77 2072 6566 How ref │ │ │ │ │ +00001820: 6572 656e 6365 7320 6465 6e6f 7465 2074 erences denote t │ │ │ │ │ +00001830: 7970 6573 2e0a 0a47 6c6f 6261 6c20 656e ypes...Global en │ │ │ │ │ +00001840: 7669 726f 6e6d 656e 740a 0a2a 2047 6c6f vironment..* Glo │ │ │ │ │ +00001850: 6261 6c20 6f70 7469 6f6e 733a 3a20 2020 bal options:: │ │ │ │ │ +00001860: 2020 2020 2020 2020 2020 2041 7474 7269 Attri │ │ │ │ │ +00001870: 6275 7465 7320 6f66 2074 6865 2065 6e74 butes of the ent │ │ │ │ │ +00001880: 6972 6520 6472 6177 696e 672e 0a2a 2043 ire drawing..* C │ │ │ │ │ +00001890: 616d 6572 613a 3a20 2020 2020 2020 2020 amera:: │ │ │ │ │ +000018a0: 2020 2020 2020 2020 2020 2020 2041 2066 A f │ │ │ │ │ +000018b0: 696e 616c 2063 616d 6572 6120 7472 616e inal camera tran │ │ │ │ │ +000018c0: 7366 6f72 6d61 7469 6f6e 206f 6620 7468 sformation of th │ │ │ │ │ +000018d0: 6520 7363 656e 652e 0a2a 2050 6963 7475 e scene..* Pictu │ │ │ │ │ +000018e0: 7265 2062 6f78 3a3a 2020 2020 2020 2020 re box:: │ │ │ │ │ +000018f0: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting │ │ │ │ │ +00001900: 2074 6865 2062 6f75 6e64 696e 6720 626f the bounding bo │ │ │ │ │ +00001910: 7820 616e 6420 3264 2063 6c69 7070 696e x and 2d clippin │ │ │ │ │ +00001920: 672e 0a2a 2046 7261 6d65 3a3a 2020 2020 g..* Frame:: │ │ │ │ │ +00001930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00001940: 2020 2041 6464 696e 6720 6120 626f 7820 Adding a box │ │ │ │ │ +00001950: 6172 6f75 6e64 2074 6865 2064 7261 7769 around the drawi │ │ │ │ │ +00001960: 6e67 2e0a 2a20 4c61 6e67 7561 6765 3a3a ng..* Language:: │ │ │ │ │ 00001970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001980: 5365 7474 696e 6720 7468 6520 6f75 7470 Setting the outp │ │ │ │ │ -00001990: 7574 206c 616e 6775 6167 652e 0a0a 4275 ut language...Bu │ │ │ │ │ -000019a0: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing │ │ │ │ │ -000019b0: 0a0a 2a20 4f76 6572 7669 6577 3a3a 2020 ..* Overview:: │ │ │ │ │ -000019c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000019d0: 2020 4275 696c 6469 6e67 2061 2073 7562 Building a sub │ │ │ │ │ -000019e0: 7374 616e 7469 616c 2064 7261 7769 6e67 stantial drawing │ │ │ │ │ -000019f0: 2e0a 2a20 4120 7465 6368 6e69 6361 6c20 ..* A technical │ │ │ │ │ -00001a00: 6472 6177 696e 673a 3a20 2020 2020 2020 drawing:: │ │ │ │ │ -00001a10: 2020 416e 2065 7861 6d70 6c65 2077 6974 An example wit │ │ │ │ │ -00001a20: 6820 6669 6e65 2070 6c61 6365 6d65 6e74 h fine placement │ │ │ │ │ -00001a30: 2e0a 2a20 4120 6869 6572 6172 6368 6963 ..* A hierarchic │ │ │ │ │ -00001a40: 616c 206d 6f64 656c 3a3a 2020 2020 2020 al model:: │ │ │ │ │ -00001a50: 2020 416e 2065 7861 6d70 6c65 2077 6974 An example wit │ │ │ │ │ -00001a60: 6820 7377 6565 7073 2061 6e64 2070 7574 h sweeps and put │ │ │ │ │ -00001a70: 732e 0a2a 2043 6176 6561 7473 3a3a 2020 s..* Caveats:: │ │ │ │ │ -00001a80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001a90: 2020 2057 6865 7265 2074 726f 7562 6c65 Where trouble │ │ │ │ │ -00001aa0: 2063 616e 206f 6363 7572 2e0a 0a43 6176 can occur...Cav │ │ │ │ │ -00001ab0: 6561 7473 0a0a 2a20 4c69 6d69 7473 206f eats..* Limits o │ │ │ │ │ -00001ac0: 6e20 6572 726f 7220 6465 7465 6374 696f n error detectio │ │ │ │ │ -00001ad0: 6e3a 3a20 2020 5768 6174 2073 6b65 7463 n:: What sketc │ │ │ │ │ -00001ae0: 6820 646f 6573 6e27 7420 646f 2e0a 2a20 h doesn't do..* │ │ │ │ │ -00001af0: 436c 6970 7069 6e67 3a3a 2020 2020 2020 Clipping:: │ │ │ │ │ -00001b00: 2020 2020 2020 2020 2020 2020 2020 4e6f No │ │ │ │ │ -00001b10: 2063 6c69 7070 696e 6720 6174 2070 7265 clipping at pre │ │ │ │ │ -00001b20: 7365 6e74 2e0a 2a20 4869 6464 656e 2073 sent..* Hidden s │ │ │ │ │ -00001b30: 7572 6661 6365 2072 656d 6f76 616c 3a3a urface removal:: │ │ │ │ │ -00001b40: 2020 2020 2020 496d 7065 7266 6563 7469 Imperfecti │ │ │ │ │ -00001b50: 6f6e 7320 746f 2066 6978 2e0a 0a48 6964 ons to fix...Hid │ │ │ │ │ -00001b60: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo │ │ │ │ │ -00001b70: 7661 6c20 616e 6420 706f 6c79 676f 6e20 val and polygon │ │ │ │ │ -00001b80: 7370 6c69 7474 696e 670a 0a2a 2053 7461 splitting..* Sta │ │ │ │ │ -00001b90: 7469 7374 6963 733a 3a20 2020 2020 2020 tistics:: │ │ │ │ │ -00001ba0: 2020 2020 2020 2020 2020 2050 6572 666f Perfo │ │ │ │ │ -00001bb0: 726d 616e 6365 206e 756d 6265 7273 206f rmance numbers o │ │ │ │ │ -00001bc0: 6e20 6465 7074 6820 736f 7274 2e0a 2a20 n depth sort..* │ │ │ │ │ -00001bd0: 4275 6773 2061 6e64 2061 6e6f 6d61 6c69 Bugs and anomali │ │ │ │ │ -00001be0: 6573 3a3a 2020 2020 2020 2020 2020 496d es:: Im │ │ │ │ │ -00001bf0: 7065 7266 6563 7469 6f6e 7320 696e 2074 perfections in t │ │ │ │ │ -00001c00: 6869 7320 696d 706c 656d 656e 7461 7469 his implementati │ │ │ │ │ -00001c10: 6f6e 2e0a 0a0a 1f0a 4669 6c65 3a20 736b on......File: sk │ │ │ │ │ -00001c20: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00001c30: 3a20 4162 6f75 7420 736b 6574 6368 2c20 : About sketch, │ │ │ │ │ -00001c40: 204e 6578 743a 2049 6e74 726f 6475 6374 Next: Introduct │ │ │ │ │ -00001c50: 696f 6e20 6279 2065 7861 6d70 6c65 2c20 ion by example, │ │ │ │ │ -00001c60: 2050 7265 763a 2054 6f70 2c20 2055 703a Prev: Top, Up: │ │ │ │ │ -00001c70: 2054 6f70 0a0a 3120 4162 6f75 7420 736b Top..1 About sk │ │ │ │ │ -00001c80: 6574 6368 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a etch.*********** │ │ │ │ │ -00001c90: 2a2a 2a0a 0a2a 204d 656e 753a 0a0a 2a20 ***..* Menu:..* │ │ │ │ │ -00001ca0: 5265 706f 7274 696e 6720 6275 6773 3a3a Reporting bugs:: │ │ │ │ │ -00001cb0: 2020 2020 2020 2020 2020 2020 2020 4c65 Le │ │ │ │ │ -00001cc0: 7420 7573 6520 6b6e 6f77 2077 6861 7427 t use know what' │ │ │ │ │ -00001cd0: 7320 7772 6f6e 6721 0a2a 2043 6f6e 7472 s wrong!.* Contr │ │ │ │ │ -00001ce0: 6962 7574 696f 6e73 3a3a 2020 2020 2020 ibutions:: │ │ │ │ │ -00001cf0: 2020 2020 2020 2020 2048 6f77 2079 6f75 How you │ │ │ │ │ -00001d00: 2063 616e 2068 656c 702e 2e2e 2e0a 0ae2 can help....... │ │ │ │ │ -00001d10: 8098 536b 6574 6368 e280 9920 6973 2061 ..Sketch... is a │ │ │ │ │ -00001d20: 2073 6d61 6c6c 2c20 7369 6d70 6c65 2073 small, simple s │ │ │ │ │ -00001d30: 7973 7465 6d20 666f 7220 7072 6f64 7563 ystem for produc │ │ │ │ │ -00001d40: 696e 6720 6c69 6e65 2064 7261 7769 6e67 ing line drawing │ │ │ │ │ -00001d50: 7320 6f66 2074 776f 2d0a 6f72 2074 6872 s of two-.or thr │ │ │ │ │ -00001d60: 6565 2d64 696d 656e 7369 6f6e 616c 206f ee-dimensional o │ │ │ │ │ -00001d70: 626a 6563 7473 2061 6e64 2073 6365 6e65 bjects and scene │ │ │ │ │ -00001d80: 732e 2020 4974 2062 6567 616e 2061 7320 s. It began as │ │ │ │ │ -00001d90: 6120 7761 7920 746f 206d 616b 650a 696c a way to make.il │ │ │ │ │ -00001da0: 6c75 7374 7261 7469 6f6e 7320 666f 7220 lustrations for │ │ │ │ │ -00001db0: 6120 7465 7874 626f 6f6b 2061 6674 6572 a textbook after │ │ │ │ │ -00001dc0: 2077 6520 636f 756c 6420 6669 6e64 206e we could find n │ │ │ │ │ -00001dd0: 6f20 7375 6974 6162 6c65 2074 6f6f 6c20 o suitable tool │ │ │ │ │ -00001de0: 666f 720a 7468 6973 2070 7572 706f 7365 for.this purpose │ │ │ │ │ -00001df0: 2e20 2045 7869 7374 696e 6720 7363 656e . Existing scen │ │ │ │ │ -00001e00: 6520 7072 6f63 6573 736f 7273 2065 6d70 e processors emp │ │ │ │ │ -00001e10: 6861 7369 7a65 6420 4755 4973 2061 6e64 hasized GUIs and │ │ │ │ │ -00001e20: 2f6f 720a 7068 6f74 6f2d 7265 616c 6973 /or.photo-realis │ │ │ │ │ -00001e30: 6d2c 2062 6f74 6820 756e 2d75 7365 6675 m, both un-usefu │ │ │ │ │ -00001e40: 6c20 746f 2075 732e 2020 5765 2077 616e l to us. We wan │ │ │ │ │ -00001e50: 7465 6420 746f 2070 726f 6475 6365 2066 ted to produce f │ │ │ │ │ -00001e60: 696e 656c 790a 7772 6f75 6768 742c 206d inely.wrought, m │ │ │ │ │ -00001e70: 6174 6865 6d61 7469 6361 6c6c 792d 6261 athematically-ba │ │ │ │ │ -00001e80: 7365 6420 696c 6c75 7374 7261 7469 6f6e sed illustration │ │ │ │ │ -00001e90: 7320 7769 7468 206e 6f20 6578 7472 616e s with no extran │ │ │ │ │ -00001ea0: 656f 7573 2064 6574 6169 6c2e 0a0a 2020 eous detail... │ │ │ │ │ -00001eb0: 20e2 8098 536b 6574 6368 e280 9920 6163 ...Sketch... ac │ │ │ │ │ -00001ec0: 6365 7074 7320 6120 7469 6e79 2073 6365 cepts a tiny sce │ │ │ │ │ -00001ed0: 6e65 2064 6573 6372 6970 7469 6f6e 206c ne description l │ │ │ │ │ -00001ee0: 616e 6775 6167 6520 616e 6420 6765 6e65 anguage and gene │ │ │ │ │ -00001ef0: 7261 7465 730a e280 9850 5354 7269 636b rates....PSTrick │ │ │ │ │ -00001f00: 73e2 8099 206f 7220 e280 9854 696b 5a2f s... or ...TikZ/ │ │ │ │ │ -00001f10: 5047 46e2 8099 2063 6f64 6520 666f 7220 PGF... code for │ │ │ │ │ -00001f20: 4c61 5465 582e 2020 5468 6520 e280 9873 LaTeX. The ...s │ │ │ │ │ -00001f30: 6b65 7463 68e2 8099 206c 616e 6775 6167 ketch... languag │ │ │ │ │ -00001f40: 6520 6973 0a73 696d 696c 6172 2074 6f20 e is.similar to │ │ │ │ │ -00001f50: e280 9850 5354 7269 636b 73e2 8099 2c20 ...PSTricks..., │ │ │ │ │ -00001f60: 6d61 6b69 6e67 2069 7420 6561 7379 2074 making it easy t │ │ │ │ │ -00001f70: 6f20 6c65 6172 6e20 666f 7220 6375 7272 o learn for curr │ │ │ │ │ -00001f80: 656e 7420 e280 9850 5354 7269 636b 73e2 ent ...PSTricks. │ │ │ │ │ -00001f90: 8099 0a75 7365 7273 2e20 2053 6565 2077 ...users. See w │ │ │ │ │ -00001fa0: 7777 2e70 7374 7269 636b 732e 6465 2066 ww.pstricks.de f │ │ │ │ │ -00001fb0: 6f72 2069 6e66 6f72 6d61 7469 6f6e 206f or information o │ │ │ │ │ -00001fc0: 6e20 e280 9850 5354 7269 636b 73e2 8099 n ...PSTricks... │ │ │ │ │ -00001fd0: 2e20 20e2 8098 5469 6b5a 2f50 4746 e280 . ...TikZ/PGF.. │ │ │ │ │ -00001fe0: 990a 6973 2073 696d 696c 6172 2e20 2053 ..is similar. S │ │ │ │ │ -00001ff0: 6565 2068 7474 703a 2f2f 736f 7572 6365 ee http://source │ │ │ │ │ -00002000: 666f 7267 652e 6e65 742f 7072 6f6a 6563 forge.net/projec │ │ │ │ │ -00002010: 7473 2f70 6766 2e20 204f 6e65 2063 616e ts/pgf. One can │ │ │ │ │ -00002020: 2065 6173 696c 790a 696e 636c 7564 6520 easily.include │ │ │ │ │ -00002030: 6172 6269 7472 6172 7920 e280 9850 5354 arbitrary ...PST │ │ │ │ │ -00002040: 7269 636b 73e2 8099 206f 7220 e280 9854 ricks... or ...T │ │ │ │ │ -00002050: 696b 5a2f 5047 46e2 8099 2064 7261 7769 ikZ/PGF... drawi │ │ │ │ │ -00002060: 6e67 7320 616e 6420 7465 7874 206f 7665 ngs and text ove │ │ │ │ │ -00002070: 722c 2069 6e2c 0a6f 7220 756e 6465 7220 r, in,.or under │ │ │ │ │ -00002080: e280 9873 6b65 7463 68e2 8099 2064 7261 ...sketch... dra │ │ │ │ │ -00002090: 7769 6e67 732c 2070 726f 7669 6469 6e67 wings, providing │ │ │ │ │ -000020a0: 2061 6363 6573 7320 746f 2074 6865 2066 access to the f │ │ │ │ │ -000020b0: 756c 6c20 706f 7765 7220 6f66 204c 6154 ull power of LaT │ │ │ │ │ -000020c0: 6558 0a74 6578 7420 616e 6420 6d61 7468 eX.text and math │ │ │ │ │ -000020d0: 656d 6174 6963 7320 666f 726d 6174 7469 ematics formatti │ │ │ │ │ -000020e0: 6e67 2069 6e20 6120 7468 7265 652d 6469 ng in a three-di │ │ │ │ │ -000020f0: 6d65 6e73 696f 6e61 6c20 7365 7474 696e mensional settin │ │ │ │ │ -00002100: 672e 0a0a 1f0a 4669 6c65 3a20 736b 6574 g.....File: sket │ │ │ │ │ -00002110: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -00002120: 5265 706f 7274 696e 6720 6275 6773 2c20 Reporting bugs, │ │ │ │ │ -00002130: 204e 6578 743a 2043 6f6e 7472 6962 7574 Next: Contribut │ │ │ │ │ -00002140: 696f 6e73 2c20 2050 7265 763a 2041 626f ions, Prev: Abo │ │ │ │ │ -00002150: 7574 2073 6b65 7463 682c 2020 5570 3a20 ut sketch, Up: │ │ │ │ │ -00002160: 4162 6f75 7420 736b 6574 6368 0a0a 312e About sketch..1. │ │ │ │ │ -00002170: 3120 5265 706f 7274 696e 6720 6275 6773 1 Reporting bugs │ │ │ │ │ -00002180: 2061 6e64 2072 6563 6f6d 6d65 6e64 696e and recommendin │ │ │ │ │ -00002190: 6720 696d 7072 6f76 656d 656e 7473 2e0a g improvements.. │ │ │ │ │ -000021a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ +00001980: 2020 2020 5365 7474 696e 6720 7468 6520 Setting the │ │ │ │ │ +00001990: 6f75 7470 7574 206c 616e 6775 6167 652e output language. │ │ │ │ │ +000019a0: 0a0a 4275 696c 6469 6e67 2061 2064 7261 ..Building a dra │ │ │ │ │ +000019b0: 7769 6e67 0a0a 2a20 4f76 6572 7669 6577 wing..* Overview │ │ │ │ │ +000019c0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +000019d0: 2020 2020 2020 4275 696c 6469 6e67 2061 Building a │ │ │ │ │ +000019e0: 2073 7562 7374 616e 7469 616c 2064 7261 substantial dra │ │ │ │ │ +000019f0: 7769 6e67 2e0a 2a20 4120 7465 6368 6e69 wing..* A techni │ │ │ │ │ +00001a00: 6361 6c20 6472 6177 696e 673a 3a20 2020 cal drawing:: │ │ │ │ │ +00001a10: 2020 2020 2020 416e 2065 7861 6d70 6c65 An example │ │ │ │ │ +00001a20: 2077 6974 6820 6669 6e65 2070 6c61 6365 with fine place │ │ │ │ │ +00001a30: 6d65 6e74 2e0a 2a20 4120 6869 6572 6172 ment..* A hierar │ │ │ │ │ +00001a40: 6368 6963 616c 206d 6f64 656c 3a3a 2020 chical model:: │ │ │ │ │ +00001a50: 2020 2020 2020 416e 2065 7861 6d70 6c65 An example │ │ │ │ │ +00001a60: 2077 6974 6820 7377 6565 7073 2061 6e64 with sweeps and │ │ │ │ │ +00001a70: 2070 7574 732e 0a2a 2043 6176 6561 7473 puts..* Caveats │ │ │ │ │ +00001a80: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00001a90: 2020 2020 2020 2057 6865 7265 2074 726f Where tro │ │ │ │ │ +00001aa0: 7562 6c65 2063 616e 206f 6363 7572 2e0a uble can occur.. │ │ │ │ │ +00001ab0: 0a43 6176 6561 7473 0a0a 2a20 4c69 6d69 .Caveats..* Limi │ │ │ │ │ +00001ac0: 7473 206f 6e20 6572 726f 7220 6465 7465 ts on error dete │ │ │ │ │ +00001ad0: 6374 696f 6e3a 3a20 2020 5768 6174 2073 ction:: What s │ │ │ │ │ +00001ae0: 6b65 7463 6820 646f 6573 6e27 7420 646f ketch doesn't do │ │ │ │ │ +00001af0: 2e0a 2a20 436c 6970 7069 6e67 3a3a 2020 ..* Clipping:: │ │ │ │ │ +00001b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00001b10: 2020 4e6f 2063 6c69 7070 696e 6720 6174 No clipping at │ │ │ │ │ +00001b20: 2070 7265 7365 6e74 2e0a 2a20 4869 6464 present..* Hidd │ │ │ │ │ +00001b30: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov │ │ │ │ │ +00001b40: 616c 3a3a 2020 2020 2020 496d 7065 7266 al:: Imperf │ │ │ │ │ +00001b50: 6563 7469 6f6e 7320 746f 2066 6978 2e0a ections to fix.. │ │ │ │ │ +00001b60: 0a48 6964 6465 6e20 7375 7266 6163 6520 .Hidden surface │ │ │ │ │ +00001b70: 7265 6d6f 7661 6c20 616e 6420 706f 6c79 removal and poly │ │ │ │ │ +00001b80: 676f 6e20 7370 6c69 7474 696e 670a 0a2a gon splitting..* │ │ │ │ │ +00001b90: 2053 7461 7469 7374 6963 733a 3a20 2020 Statistics:: │ │ │ │ │ +00001ba0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ +00001bb0: 6572 666f 726d 616e 6365 206e 756d 6265 erformance numbe │ │ │ │ │ +00001bc0: 7273 206f 6e20 6465 7074 6820 736f 7274 rs on depth sort │ │ │ │ │ +00001bd0: 2e0a 2a20 4275 6773 2061 6e64 2061 6e6f ..* Bugs and ano │ │ │ │ │ +00001be0: 6d61 6c69 6573 3a3a 2020 2020 2020 2020 malies:: │ │ │ │ │ +00001bf0: 2020 496d 7065 7266 6563 7469 6f6e 7320 Imperfections │ │ │ │ │ +00001c00: 696e 2074 6869 7320 696d 706c 656d 656e in this implemen │ │ │ │ │ +00001c10: 7461 7469 6f6e 2e0a 0a0a 1f0a 4669 6c65 tation......File │ │ │ │ │ +00001c20: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00001c30: 4e6f 6465 3a20 4162 6f75 7420 736b 6574 Node: About sket │ │ │ │ │ +00001c40: 6368 2c20 204e 6578 743a 2049 6e74 726f ch, Next: Intro │ │ │ │ │ +00001c50: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp │ │ │ │ │ +00001c60: 6c65 2c20 2050 7265 763a 2054 6f70 2c20 le, Prev: Top, │ │ │ │ │ +00001c70: 2055 703a 2054 6f70 0a0a 3120 4162 6f75 Up: Top..1 Abou │ │ │ │ │ +00001c80: 7420 736b 6574 6368 0a2a 2a2a 2a2a 2a2a t sketch.******* │ │ │ │ │ +00001c90: 2a2a 2a2a 2a2a 2a0a 0a2a 204d 656e 753a *******..* Menu: │ │ │ │ │ +00001ca0: 0a0a 2a20 5265 706f 7274 696e 6720 6275 ..* Reporting bu │ │ │ │ │ +00001cb0: 6773 3a3a 2020 2020 2020 2020 2020 2020 gs:: │ │ │ │ │ +00001cc0: 2020 4c65 7420 7573 6520 6b6e 6f77 2077 Let use know w │ │ │ │ │ +00001cd0: 6861 7427 7320 7772 6f6e 6721 0a2a 2043 hat's wrong!.* C │ │ │ │ │ +00001ce0: 6f6e 7472 6962 7574 696f 6e73 3a3a 2020 ontributions:: │ │ │ │ │ +00001cf0: 2020 2020 2020 2020 2020 2020 2048 6f77 How │ │ │ │ │ +00001d00: 2079 6f75 2063 616e 2068 656c 702e 2e2e you can help... │ │ │ │ │ +00001d10: 2e0a 0ae2 8098 536b 6574 6368 e280 9920 ......Sketch... │ │ │ │ │ +00001d20: 6973 2061 2073 6d61 6c6c 2c20 7369 6d70 is a small, simp │ │ │ │ │ +00001d30: 6c65 2073 7973 7465 6d20 666f 7220 7072 le system for pr │ │ │ │ │ +00001d40: 6f64 7563 696e 6720 6c69 6e65 2064 7261 oducing line dra │ │ │ │ │ +00001d50: 7769 6e67 7320 6f66 2074 776f 2d0a 6f72 wings of two-.or │ │ │ │ │ +00001d60: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension │ │ │ │ │ +00001d70: 616c 206f 626a 6563 7473 2061 6e64 2073 al objects and s │ │ │ │ │ +00001d80: 6365 6e65 732e 2020 4974 2062 6567 616e cenes. It began │ │ │ │ │ +00001d90: 2061 7320 6120 7761 7920 746f 206d 616b as a way to mak │ │ │ │ │ +00001da0: 650a 696c 6c75 7374 7261 7469 6f6e 7320 e.illustrations │ │ │ │ │ +00001db0: 666f 7220 6120 7465 7874 626f 6f6b 2061 for a textbook a │ │ │ │ │ +00001dc0: 6674 6572 2077 6520 636f 756c 6420 6669 fter we could fi │ │ │ │ │ +00001dd0: 6e64 206e 6f20 7375 6974 6162 6c65 2074 nd no suitable t │ │ │ │ │ +00001de0: 6f6f 6c20 666f 720a 7468 6973 2070 7572 ool for.this pur │ │ │ │ │ +00001df0: 706f 7365 2e20 2045 7869 7374 696e 6720 pose. Existing │ │ │ │ │ +00001e00: 7363 656e 6520 7072 6f63 6573 736f 7273 scene processors │ │ │ │ │ +00001e10: 2065 6d70 6861 7369 7a65 6420 4755 4973 emphasized GUIs │ │ │ │ │ +00001e20: 2061 6e64 2f6f 720a 7068 6f74 6f2d 7265 and/or.photo-re │ │ │ │ │ +00001e30: 616c 6973 6d2c 2062 6f74 6820 756e 2d75 alism, both un-u │ │ │ │ │ +00001e40: 7365 6675 6c20 746f 2075 732e 2020 5765 seful to us. We │ │ │ │ │ +00001e50: 2077 616e 7465 6420 746f 2070 726f 6475 wanted to produ │ │ │ │ │ +00001e60: 6365 2066 696e 656c 790a 7772 6f75 6768 ce finely.wrough │ │ │ │ │ +00001e70: 742c 206d 6174 6865 6d61 7469 6361 6c6c t, mathematicall │ │ │ │ │ +00001e80: 792d 6261 7365 6420 696c 6c75 7374 7261 y-based illustra │ │ │ │ │ +00001e90: 7469 6f6e 7320 7769 7468 206e 6f20 6578 tions with no ex │ │ │ │ │ +00001ea0: 7472 616e 656f 7573 2064 6574 6169 6c2e traneous detail. │ │ │ │ │ +00001eb0: 0a0a 2020 20e2 8098 536b 6574 6368 e280 .. ...Sketch.. │ │ │ │ │ +00001ec0: 9920 6163 6365 7074 7320 6120 7469 6e79 . accepts a tiny │ │ │ │ │ +00001ed0: 2073 6365 6e65 2064 6573 6372 6970 7469 scene descripti │ │ │ │ │ +00001ee0: 6f6e 206c 616e 6775 6167 6520 616e 6420 on language and │ │ │ │ │ +00001ef0: 6765 6e65 7261 7465 730a e280 9850 5354 generates....PST │ │ │ │ │ +00001f00: 7269 636b 73e2 8099 206f 7220 e280 9854 ricks... or ...T │ │ │ │ │ +00001f10: 696b 5a2f 5047 46e2 8099 2063 6f64 6520 ikZ/PGF... code │ │ │ │ │ +00001f20: 666f 7220 4c61 5465 582e 2020 5468 6520 for LaTeX. The │ │ │ │ │ +00001f30: e280 9873 6b65 7463 68e2 8099 206c 616e ...sketch... lan │ │ │ │ │ +00001f40: 6775 6167 6520 6973 0a73 696d 696c 6172 guage is.similar │ │ │ │ │ +00001f50: 2074 6f20 e280 9850 5354 7269 636b 73e2 to ...PSTricks. │ │ │ │ │ +00001f60: 8099 2c20 6d61 6b69 6e67 2069 7420 6561 .., making it ea │ │ │ │ │ +00001f70: 7379 2074 6f20 6c65 6172 6e20 666f 7220 sy to learn for │ │ │ │ │ +00001f80: 6375 7272 656e 7420 e280 9850 5354 7269 current ...PSTri │ │ │ │ │ +00001f90: 636b 73e2 8099 0a75 7365 7273 2e20 2053 cks....users. S │ │ │ │ │ +00001fa0: 6565 2077 7777 2e70 7374 7269 636b 732e ee www.pstricks. │ │ │ │ │ +00001fb0: 6465 2066 6f72 2069 6e66 6f72 6d61 7469 de for informati │ │ │ │ │ +00001fc0: 6f6e 206f 6e20 e280 9850 5354 7269 636b on on ...PSTrick │ │ │ │ │ +00001fd0: 73e2 8099 2e20 20e2 8098 5469 6b5a 2f50 s.... ...TikZ/P │ │ │ │ │ +00001fe0: 4746 e280 990a 6973 2073 696d 696c 6172 GF....is similar │ │ │ │ │ +00001ff0: 2e20 2053 6565 2068 7474 703a 2f2f 736f . See http://so │ │ │ │ │ +00002000: 7572 6365 666f 7267 652e 6e65 742f 7072 urceforge.net/pr │ │ │ │ │ +00002010: 6f6a 6563 7473 2f70 6766 2e20 204f 6e65 ojects/pgf. One │ │ │ │ │ +00002020: 2063 616e 2065 6173 696c 790a 696e 636c can easily.incl │ │ │ │ │ +00002030: 7564 6520 6172 6269 7472 6172 7920 e280 ude arbitrary .. │ │ │ │ │ +00002040: 9850 5354 7269 636b 73e2 8099 206f 7220 .PSTricks... or │ │ │ │ │ +00002050: e280 9854 696b 5a2f 5047 46e2 8099 2064 ...TikZ/PGF... d │ │ │ │ │ +00002060: 7261 7769 6e67 7320 616e 6420 7465 7874 rawings and text │ │ │ │ │ +00002070: 206f 7665 722c 2069 6e2c 0a6f 7220 756e over, in,.or un │ │ │ │ │ +00002080: 6465 7220 e280 9873 6b65 7463 68e2 8099 der ...sketch... │ │ │ │ │ +00002090: 2064 7261 7769 6e67 732c 2070 726f 7669 drawings, provi │ │ │ │ │ +000020a0: 6469 6e67 2061 6363 6573 7320 746f 2074 ding access to t │ │ │ │ │ +000020b0: 6865 2066 756c 6c20 706f 7765 7220 6f66 he full power of │ │ │ │ │ +000020c0: 204c 6154 6558 0a74 6578 7420 616e 6420 LaTeX.text and │ │ │ │ │ +000020d0: 6d61 7468 656d 6174 6963 7320 666f 726d mathematics form │ │ │ │ │ +000020e0: 6174 7469 6e67 2069 6e20 6120 7468 7265 atting in a thre │ │ │ │ │ +000020f0: 652d 6469 6d65 6e73 696f 6e61 6c20 7365 e-dimensional se │ │ │ │ │ +00002100: 7474 696e 672e 0a0a 1f0a 4669 6c65 3a20 tting.....File: │ │ │ │ │ +00002110: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +00002120: 6465 3a20 5265 706f 7274 696e 6720 6275 de: Reporting bu │ │ │ │ │ +00002130: 6773 2c20 204e 6578 743a 2043 6f6e 7472 gs, Next: Contr │ │ │ │ │ +00002140: 6962 7574 696f 6e73 2c20 2050 7265 763a ibutions, Prev: │ │ │ │ │ +00002150: 2041 626f 7574 2073 6b65 7463 682c 2020 About sketch, │ │ │ │ │ +00002160: 5570 3a20 4162 6f75 7420 736b 6574 6368 Up: About sketch │ │ │ │ │ +00002170: 0a0a 312e 3120 5265 706f 7274 696e 6720 ..1.1 Reporting │ │ │ │ │ +00002180: 6275 6773 2061 6e64 2072 6563 6f6d 6d65 bugs and recomme │ │ │ │ │ +00002190: 6e64 696e 6720 696d 7072 6f76 656d 656e nding improvemen │ │ │ │ │ +000021a0: 7473 2e0a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ts..============ │ │ │ │ │ 000021b0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ 000021c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -000021d0: 3d0a 0a54 6865 2067 726f 7570 2068 7474 =..The group htt │ │ │ │ │ -000021e0: 703a 2f2f 6772 6f75 7073 2e67 6f6f 676c p://groups.googl │ │ │ │ │ -000021f0: 652e 636f 6d2f 6772 6f75 702f 736b 6574 e.com/group/sket │ │ │ │ │ -00002200: 6368 2d75 7365 7273 2069 7320 7468 6520 ch-users is the │ │ │ │ │ -00002210: 6265 7374 2070 6c61 6365 0a74 6f20 7265 best place.to re │ │ │ │ │ -00002220: 706f 7274 2062 7567 7320 616e 6420 6d61 port bugs and ma │ │ │ │ │ -00002230: 6b65 2069 6d70 726f 7665 6d65 6e74 732e ke improvements. │ │ │ │ │ -00002240: 2020 4120 7365 636f 6e64 206d 6574 686f A second metho │ │ │ │ │ -00002250: 6420 7468 6174 2077 696c 6c0a 7072 6f62 d that will.prob │ │ │ │ │ -00002260: 6162 6c79 2070 726f 6475 6365 2061 2073 ably produce a s │ │ │ │ │ -00002270: 6c6f 7765 7220 7265 7370 6f6e 7365 2069 lower response i │ │ │ │ │ -00002280: 7320 656d 6169 6c20 746f 2073 6b65 7463 s email to sketc │ │ │ │ │ -00002290: 6840 6672 6f6e 7469 6572 6e65 742e 6e65 h@frontiernet.ne │ │ │ │ │ -000022a0: 742e 0a57 6520 7769 6c6c 2074 7279 2074 t..We will try t │ │ │ │ │ -000022b0: 6f20 7265 7370 6f6e 642c 2062 7574 2063 o respond, but c │ │ │ │ │ -000022c0: 616e 2774 2070 726f 6d69 7365 2e20 2049 an't promise. I │ │ │ │ │ -000022d0: 6e20 616e 7920 6576 656e 742c 2064 6f6e n any event, don │ │ │ │ │ -000022e0: 2774 2062 650a 6f66 6665 6e64 6564 2069 't be.offended i │ │ │ │ │ -000022f0: 6620 6120 7265 706c 7920 6973 206e 6f74 f a reply is not │ │ │ │ │ -00002300: 2066 6f72 7468 636f 6d69 6e67 2e20 2057 forthcoming. W │ │ │ │ │ -00002310: 6527 7265 206a 7573 7420 6275 7379 2061 e're just busy a │ │ │ │ │ -00002320: 6e64 2077 696c 6c20 6765 7420 746f 0a79 nd will get to.y │ │ │ │ │ -00002330: 6f75 7220 7375 6767 6573 7469 6f6e 2065 our suggestion e │ │ │ │ │ -00002340: 7665 6e74 7561 6c6c 792e 0a0a 2020 2046 ventually... F │ │ │ │ │ -00002350: 6f72 2062 7567 732c 2061 7474 6163 6820 or bugs, attach │ │ │ │ │ -00002360: 6120 e280 9873 6b65 7463 68e2 8099 2069 a ...sketch... i │ │ │ │ │ -00002370: 6e70 7574 2066 696c 6520 7468 6174 2063 nput file that c │ │ │ │ │ -00002380: 6175 7365 7320 7468 6520 6261 6420 6265 auses the bad be │ │ │ │ │ -00002390: 6861 7669 6f72 2e0a 456d 6265 6420 636f havior..Embed co │ │ │ │ │ -000023a0: 6d6d 656e 7473 2074 6861 7420 6578 706c mments that expl │ │ │ │ │ -000023b0: 6169 6e20 7768 6174 2074 6f20 6c6f 6f6b ain what to look │ │ │ │ │ -000023c0: 2066 6f72 2069 6e20 7468 6520 6265 6861 for in the beha │ │ │ │ │ -000023d0: 7669 6f72 206f 6620 e280 9873 6b65 7463 vior of ...sketc │ │ │ │ │ -000023e0: 68e2 8099 0a6f 7220 6974 7320 6f75 7470 h....or its outp │ │ │ │ │ -000023f0: 7574 2e0a 0a20 2020 4120 7265 636f 6d6d ut... A recomm │ │ │ │ │ -00002400: 656e 6461 7469 6f6e 2066 6f72 2069 6d70 endation for imp │ │ │ │ │ -00002410: 726f 7665 6d65 6e74 2066 726f 6d20 6f6e rovement from on │ │ │ │ │ -00002420: 6520 756e 6b6e 6f77 6e20 7065 7273 6f6e e unknown person │ │ │ │ │ -00002430: 2063 6f75 6e74 7320 6173 0a6f 6e65 2076 counts as.one v │ │ │ │ │ -00002440: 6f74 652e 2020 5765 2075 7365 206f 7665 ote. We use ove │ │ │ │ │ -00002450: 7261 6c6c 2076 6f74 6520 7461 6c6c 6965 rall vote tallie │ │ │ │ │ -00002460: 7320 746f 2064 6563 6964 6520 7768 6174 s to decide what │ │ │ │ │ -00002470: 2074 6f20 646f 206e 6578 7420 6173 0a72 to do next as.r │ │ │ │ │ -00002480: 6573 6f75 7263 6573 2070 6572 6d69 742e esources permit. │ │ │ │ │ -00002490: 2020 5765 2072 6573 6572 7665 2074 6865 We reserve the │ │ │ │ │ -000024a0: 2072 6967 6874 2074 6f20 6173 7369 676e right to assign │ │ │ │ │ -000024b0: 2061 6e79 206e 756d 6265 7220 6f66 2076 any number of v │ │ │ │ │ -000024c0: 6f74 6573 2074 6f0a 7375 6767 6573 7469 otes to.suggesti │ │ │ │ │ -000024d0: 6f6e 7320 6672 6f6d 2070 656f 706c 6520 ons from people │ │ │ │ │ -000024e0: 7768 6f20 6861 7665 2062 6565 6e20 6865 who have been he │ │ │ │ │ -000024f0: 6c70 6675 6c20 616e 6420 7375 7070 6f72 lpful and suppor │ │ │ │ │ -00002500: 7469 7665 2069 6e20 7468 650a 7061 7374 tive in the.past │ │ │ │ │ -00002510: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -00002520: 682e 696e 666f 2c20 204e 6f64 653a 2043 h.info, Node: C │ │ │ │ │ -00002530: 6f6e 7472 6962 7574 696f 6e73 2c20 2050 ontributions, P │ │ │ │ │ -00002540: 7265 763a 2052 6570 6f72 7469 6e67 2062 rev: Reporting b │ │ │ │ │ -00002550: 7567 732c 2020 5570 3a20 4162 6f75 7420 ugs, Up: About │ │ │ │ │ -00002560: 736b 6574 6368 0a0a 312e 3220 436f 6e74 sketch..1.2 Cont │ │ │ │ │ -00002570: 7269 6275 7469 6f6e 730a 3d3d 3d3d 3d3d ributions.====== │ │ │ │ │ -00002580: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a49 6620 ===========..If │ │ │ │ │ -00002590: 796f 7520 696e 7465 6e64 2074 6f20 696d you intend to im │ │ │ │ │ -000025a0: 706c 656d 656e 7420 616e 2065 6e68 616e plement an enhan │ │ │ │ │ -000025b0: 6365 6d65 6e74 206f 6620 796f 7572 206f cement of your o │ │ │ │ │ -000025c0: 776e 2c20 7468 6174 2773 2074 6572 7269 wn, that's terri │ │ │ │ │ -000025d0: 6669 6321 0a43 6f6e 7369 6465 7220 636f fic!.Consider co │ │ │ │ │ -000025e0: 6c6c 6162 6f72 6174 696e 6720 7769 7468 llaborating with │ │ │ │ │ -000025f0: 2075 7320 6669 7273 7420 746f 2073 6565 us first to see │ │ │ │ │ -00002600: 2069 6620 7765 2772 6520 616c 7265 6164 if we're alread │ │ │ │ │ -00002610: 7920 776f 726b 696e 6720 6f6e 0a79 6f75 y working on.you │ │ │ │ │ -00002620: 7220 6964 6561 206f 7220 6966 2077 6520 r idea or if we │ │ │ │ │ -00002630: 6361 6e20 7573 6520 796f 7572 2077 6f72 can use your wor │ │ │ │ │ -00002640: 6b20 696e 2074 6865 206f 6666 6963 6961 k in the officia │ │ │ │ │ -00002650: 6c20 7265 6c65 6173 652e 0a0a 0008 5b69 l release.....[i │ │ │ │ │ -00002660: 6d61 6765 2073 7263 3d22 6578 3030 302e mage src="ex000. │ │ │ │ │ -00002670: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ -00002680: 2065 7830 3030 206f 6d69 7474 6564 2069 ex000 omitted i │ │ │ │ │ -00002690: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ -000026a0: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ -000026b0: 2200 085d 0a0a 1f0a 4669 6c65 3a20 736b "..]....File: sk │ │ │ │ │ -000026c0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -000026d0: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b │ │ │ │ │ -000026e0: 7920 6578 616d 706c 652c 2020 4e65 7874 y example, Next │ │ │ │ │ -000026f0: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language │ │ │ │ │ -00002700: 2c20 2050 7265 763a 2041 626f 7574 2073 , Prev: About s │ │ │ │ │ -00002710: 6b65 7463 682c 2020 5570 3a20 546f 700a ketch, Up: Top. │ │ │ │ │ -00002720: 0a32 2049 6e74 726f 6475 6374 696f 6e20 .2 Introduction │ │ │ │ │ -00002730: 6279 2065 7861 6d70 6c65 0a2a 2a2a 2a2a by example.***** │ │ │ │ │ +000021d0: 3d3d 3d3d 3d0a 0a54 6865 2067 726f 7570 =====..The group │ │ │ │ │ +000021e0: 2068 7474 703a 2f2f 6772 6f75 7073 2e67 http://groups.g │ │ │ │ │ +000021f0: 6f6f 676c 652e 636f 6d2f 6772 6f75 702f oogle.com/group/ │ │ │ │ │ +00002200: 736b 6574 6368 2d75 7365 7273 2069 7320 sketch-users is │ │ │ │ │ +00002210: 7468 6520 6265 7374 2070 6c61 6365 0a74 the best place.t │ │ │ │ │ +00002220: 6f20 7265 706f 7274 2062 7567 7320 616e o report bugs an │ │ │ │ │ +00002230: 6420 6d61 6b65 2069 6d70 726f 7665 6d65 d make improveme │ │ │ │ │ +00002240: 6e74 732e 2020 4120 7365 636f 6e64 206d nts. A second m │ │ │ │ │ +00002250: 6574 686f 6420 7468 6174 2077 696c 6c0a ethod that will. │ │ │ │ │ +00002260: 7072 6f62 6162 6c79 2070 726f 6475 6365 probably produce │ │ │ │ │ +00002270: 2061 2073 6c6f 7765 7220 7265 7370 6f6e a slower respon │ │ │ │ │ +00002280: 7365 2069 7320 656d 6169 6c20 746f 2073 se is email to s │ │ │ │ │ +00002290: 6b65 7463 6840 6672 6f6e 7469 6572 6e65 ketch@frontierne │ │ │ │ │ +000022a0: 742e 6e65 742e 0a57 6520 7769 6c6c 2074 t.net..We will t │ │ │ │ │ +000022b0: 7279 2074 6f20 7265 7370 6f6e 642c 2062 ry to respond, b │ │ │ │ │ +000022c0: 7574 2063 616e 2774 2070 726f 6d69 7365 ut can't promise │ │ │ │ │ +000022d0: 2e20 2049 6e20 616e 7920 6576 656e 742c . In any event, │ │ │ │ │ +000022e0: 2064 6f6e 2774 2062 650a 6f66 6665 6e64 don't be.offend │ │ │ │ │ +000022f0: 6564 2069 6620 6120 7265 706c 7920 6973 ed if a reply is │ │ │ │ │ +00002300: 206e 6f74 2066 6f72 7468 636f 6d69 6e67 not forthcoming │ │ │ │ │ +00002310: 2e20 2057 6527 7265 206a 7573 7420 6275 . We're just bu │ │ │ │ │ +00002320: 7379 2061 6e64 2077 696c 6c20 6765 7420 sy and will get │ │ │ │ │ +00002330: 746f 0a79 6f75 7220 7375 6767 6573 7469 to.your suggesti │ │ │ │ │ +00002340: 6f6e 2065 7665 6e74 7561 6c6c 792e 0a0a on eventually... │ │ │ │ │ +00002350: 2020 2046 6f72 2062 7567 732c 2061 7474 For bugs, att │ │ │ │ │ +00002360: 6163 6820 6120 e280 9873 6b65 7463 68e2 ach a ...sketch. │ │ │ │ │ +00002370: 8099 2069 6e70 7574 2066 696c 6520 7468 .. input file th │ │ │ │ │ +00002380: 6174 2063 6175 7365 7320 7468 6520 6261 at causes the ba │ │ │ │ │ +00002390: 6420 6265 6861 7669 6f72 2e0a 456d 6265 d behavior..Embe │ │ │ │ │ +000023a0: 6420 636f 6d6d 656e 7473 2074 6861 7420 d comments that │ │ │ │ │ +000023b0: 6578 706c 6169 6e20 7768 6174 2074 6f20 explain what to │ │ │ │ │ +000023c0: 6c6f 6f6b 2066 6f72 2069 6e20 7468 6520 look for in the │ │ │ │ │ +000023d0: 6265 6861 7669 6f72 206f 6620 e280 9873 behavior of ...s │ │ │ │ │ +000023e0: 6b65 7463 68e2 8099 0a6f 7220 6974 7320 ketch....or its │ │ │ │ │ +000023f0: 6f75 7470 7574 2e0a 0a20 2020 4120 7265 output... A re │ │ │ │ │ +00002400: 636f 6d6d 656e 6461 7469 6f6e 2066 6f72 commendation for │ │ │ │ │ +00002410: 2069 6d70 726f 7665 6d65 6e74 2066 726f improvement fro │ │ │ │ │ +00002420: 6d20 6f6e 6520 756e 6b6e 6f77 6e20 7065 m one unknown pe │ │ │ │ │ +00002430: 7273 6f6e 2063 6f75 6e74 7320 6173 0a6f rson counts as.o │ │ │ │ │ +00002440: 6e65 2076 6f74 652e 2020 5765 2075 7365 ne vote. We use │ │ │ │ │ +00002450: 206f 7665 7261 6c6c 2076 6f74 6520 7461 overall vote ta │ │ │ │ │ +00002460: 6c6c 6965 7320 746f 2064 6563 6964 6520 llies to decide │ │ │ │ │ +00002470: 7768 6174 2074 6f20 646f 206e 6578 7420 what to do next │ │ │ │ │ +00002480: 6173 0a72 6573 6f75 7263 6573 2070 6572 as.resources per │ │ │ │ │ +00002490: 6d69 742e 2020 5765 2072 6573 6572 7665 mit. We reserve │ │ │ │ │ +000024a0: 2074 6865 2072 6967 6874 2074 6f20 6173 the right to as │ │ │ │ │ +000024b0: 7369 676e 2061 6e79 206e 756d 6265 7220 sign any number │ │ │ │ │ +000024c0: 6f66 2076 6f74 6573 2074 6f0a 7375 6767 of votes to.sugg │ │ │ │ │ +000024d0: 6573 7469 6f6e 7320 6672 6f6d 2070 656f estions from peo │ │ │ │ │ +000024e0: 706c 6520 7768 6f20 6861 7665 2062 6565 ple who have bee │ │ │ │ │ +000024f0: 6e20 6865 6c70 6675 6c20 616e 6420 7375 n helpful and su │ │ │ │ │ +00002500: 7070 6f72 7469 7665 2069 6e20 7468 650a pportive in the. │ │ │ │ │ +00002510: 7061 7374 2e0a 0a1f 0a46 696c 653a 2073 past.....File: s │ │ │ │ │ +00002520: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +00002530: 653a 2043 6f6e 7472 6962 7574 696f 6e73 e: Contributions │ │ │ │ │ +00002540: 2c20 2050 7265 763a 2052 6570 6f72 7469 , Prev: Reporti │ │ │ │ │ +00002550: 6e67 2062 7567 732c 2020 5570 3a20 4162 ng bugs, Up: Ab │ │ │ │ │ +00002560: 6f75 7420 736b 6574 6368 0a0a 312e 3220 out sketch..1.2 │ │ │ │ │ +00002570: 436f 6e74 7269 6275 7469 6f6e 730a 3d3d Contributions.== │ │ │ │ │ +00002580: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============. │ │ │ │ │ +00002590: 0a49 6620 796f 7520 696e 7465 6e64 2074 .If you intend t │ │ │ │ │ +000025a0: 6f20 696d 706c 656d 656e 7420 616e 2065 o implement an e │ │ │ │ │ +000025b0: 6e68 616e 6365 6d65 6e74 206f 6620 796f nhancement of yo │ │ │ │ │ +000025c0: 7572 206f 776e 2c20 7468 6174 2773 2074 ur own, that's t │ │ │ │ │ +000025d0: 6572 7269 6669 6321 0a43 6f6e 7369 6465 errific!.Conside │ │ │ │ │ +000025e0: 7220 636f 6c6c 6162 6f72 6174 696e 6720 r collaborating │ │ │ │ │ +000025f0: 7769 7468 2075 7320 6669 7273 7420 746f with us first to │ │ │ │ │ +00002600: 2073 6565 2069 6620 7765 2772 6520 616c see if we're al │ │ │ │ │ +00002610: 7265 6164 7920 776f 726b 696e 6720 6f6e ready working on │ │ │ │ │ +00002620: 0a79 6f75 7220 6964 6561 206f 7220 6966 .your idea or if │ │ │ │ │ +00002630: 2077 6520 6361 6e20 7573 6520 796f 7572 we can use your │ │ │ │ │ +00002640: 2077 6f72 6b20 696e 2074 6865 206f 6666 work in the off │ │ │ │ │ +00002650: 6963 6961 6c20 7265 6c65 6173 652e 0a0a icial release... │ │ │ │ │ +00002660: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00002670: 3030 302e 706e 6722 2074 6578 743d 2249 000.png" text="I │ │ │ │ │ +00002680: 6d61 6765 2065 7830 3030 206f 6d69 7474 mage ex000 omitt │ │ │ │ │ +00002690: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +000026a0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +000026b0: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent."..]....File │ │ │ │ │ +000026c0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +000026d0: 4e6f 6465 3a20 496e 7472 6f64 7563 7469 Node: Introducti │ │ │ │ │ +000026e0: 6f6e 2062 7920 6578 616d 706c 652c 2020 on by example, │ │ │ │ │ +000026f0: 4e65 7874 3a20 496e 7075 7420 6c61 6e67 Next: Input lang │ │ │ │ │ +00002700: 7561 6765 2c20 2050 7265 763a 2041 626f uage, Prev: Abo │ │ │ │ │ +00002710: 7574 2073 6b65 7463 682c 2020 5570 3a20 ut sketch, Up: │ │ │ │ │ +00002720: 546f 700a 0a32 2049 6e74 726f 6475 6374 Top..2 Introduct │ │ │ │ │ +00002730: 696f 6e20 6279 2065 7861 6d70 6c65 0a2a ion by example.* │ │ │ │ │ 00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -00002750: 2a2a 2a2a 0a0a 5468 6520 e280 9873 6b65 ****..The ...ske │ │ │ │ │ -00002760: 7463 68e2 8099 2069 6e70 7574 206c 616e tch... input lan │ │ │ │ │ -00002770: 6775 6167 6520 7769 6c6c 2073 6565 6d20 guage will seem │ │ │ │ │ -00002780: 6661 6d69 6c69 6172 2074 6f20 7573 6572 familiar to user │ │ │ │ │ -00002790: 7320 6f66 2074 6865 0ae2 8098 5053 5472 s of the....PSTr │ │ │ │ │ -000027a0: 6963 6b73 e280 9920 7061 636b 6167 6520 icks... package │ │ │ │ │ -000027b0: 666f 7220 4c61 5465 582e 2020 5468 6520 for LaTeX. The │ │ │ │ │ -000027c0: 666f 6c6c 6f77 696e 6720 7072 6f67 7261 following progra │ │ │ │ │ -000027d0: 6d20 6472 6177 7320 6120 7472 6961 6e67 m draws a triang │ │ │ │ │ -000027e0: 756c 6172 0a70 6f6c 7967 6f6e 2070 6965 ular.polygon pie │ │ │ │ │ -000027f0: 7263 6564 2062 7920 6120 6c69 6e65 2e0a rced by a line.. │ │ │ │ │ -00002800: 2020 706f 6c79 676f 6e28 302c 302c 3129 polygon(0,0,1) │ │ │ │ │ -00002810: 2831 2c30 2c30 2928 302c 312c 3029 0a20 (1,0,0)(0,1,0). │ │ │ │ │ -00002820: 206c 696e 6528 2d31 2c2d 312c 2d31 2928 line(-1,-1,-1)( │ │ │ │ │ -00002830: 322c 322c 3229 0a54 6865 2063 6f6f 7264 2,2,2).The coord │ │ │ │ │ -00002840: 696e 6174 6520 7379 7374 656d 2069 7320 inate system is │ │ │ │ │ -00002850: 6120 7374 616e 6461 7264 2072 6967 6874 a standard right │ │ │ │ │ -00002860: 2d68 616e 6465 6420 4361 7274 6573 6961 -handed Cartesia │ │ │ │ │ -00002870: 6e20 6f6e 652e 0a0a 0008 5b69 6d61 6765 n one.....[image │ │ │ │ │ -00002880: 2073 7263 3d22 6578 3031 302e 706e 6722 src="ex010.png" │ │ │ │ │ -00002890: 2074 6578 743d 2249 6d61 6765 2065 7830 text="Image ex0 │ │ │ │ │ -000028a0: 3130 206f 6d69 7474 6564 2069 6e20 7465 10 omitted in te │ │ │ │ │ -000028b0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -000028c0: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -000028d0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2048 656c ..* Menu:..* Hel │ │ │ │ │ -000028e0: 6c6f 2077 6f72 6c64 3a3a 2020 2020 2020 lo world:: │ │ │ │ │ -000028f0: 2020 2020 2020 2020 2020 2053 696d 706c Simpl │ │ │ │ │ -00002900: 6573 7420 706f 7373 6962 6c65 20e2 8098 est possible ... │ │ │ │ │ -00002910: 736b 6574 6368 e280 9920 7072 6f67 7261 sketch... progra │ │ │ │ │ -00002920: 6d2e 0a2a 2044 7261 7769 6e67 206f 7074 m..* Drawing opt │ │ │ │ │ -00002930: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ -00002940: 2020 2043 6f6e 7472 6f6c 6c69 6e67 206f Controlling o │ │ │ │ │ -00002950: 626a 6563 7420 6170 7065 6172 616e 6365 bject appearance │ │ │ │ │ -00002960: 2e0a 2a20 4472 6177 696e 6720 6120 736f ..* Drawing a so │ │ │ │ │ -00002970: 6c69 643a 3a20 2020 2020 2020 2020 2020 lid:: │ │ │ │ │ -00002980: 2020 4472 6177 696e 6720 616e 206f 626a Drawing an obj │ │ │ │ │ -00002990: 6563 7420 7769 7468 2033 6420 6170 7065 ect with 3d appe │ │ │ │ │ -000029a0: 6172 616e 6365 2e0a 2a20 5370 6563 6961 arance..* Specia │ │ │ │ │ -000029b0: 6c20 6f62 6a65 6374 733a 3a20 2020 2020 l objects:: │ │ │ │ │ -000029c0: 2020 2020 2020 2020 4c61 7969 6e67 2054 Laying T │ │ │ │ │ -000029d0: 6558 206f 7665 722c 2069 6e2c 206f 7220 eX over, in, or │ │ │ │ │ -000029e0: 756e 6465 7220 6472 6177 696e 6773 2e0a under drawings.. │ │ │ │ │ -000029f0: 2a20 4f62 6a65 6374 2074 7261 6e73 666f * Object transfo │ │ │ │ │ -00002a00: 726d 733a 3a20 2020 2020 2020 2020 2020 rms:: │ │ │ │ │ -00002a10: 526f 7461 7465 2c20 7472 616e 736c 6174 Rotate, translat │ │ │ │ │ -00002a20: 652c 2073 6361 6c65 2c20 616e 6420 6f74 e, scale, and ot │ │ │ │ │ -00002a30: 6865 7273 2e0a 2a20 5265 7065 6174 6564 hers..* Repeated │ │ │ │ │ -00002a40: 206f 626a 6563 7473 3a3a 2020 2020 2020 objects:: │ │ │ │ │ -00002a50: 2020 2020 2020 4d61 6b69 6e67 2074 7261 Making tra │ │ │ │ │ -00002a60: 6e73 666f 726d 6564 2063 6f70 6965 732e nsformed copies. │ │ │ │ │ -00002a70: 0a2a 2053 7765 7074 206f 626a 6563 7473 .* Swept objects │ │ │ │ │ -00002a80: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00002a90: 2053 7765 6570 696e 6720 6f62 6a65 6374 Sweeping object │ │ │ │ │ -00002aa0: 7320 696e 2073 7061 6365 2074 6f20 6d61 s in space to ma │ │ │ │ │ -00002ab0: 6b65 206e 6577 2073 6861 7065 732e 0a0a ke new shapes... │ │ │ │ │ -00002ac0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -00002ad0: 6e66 6f2c 2020 4e6f 6465 3a20 4865 6c6c nfo, Node: Hell │ │ │ │ │ -00002ae0: 6f20 776f 726c 642c 2020 4e65 7874 3a20 o world, Next: │ │ │ │ │ -00002af0: 4472 6177 696e 6720 6f70 7469 6f6e 732c Drawing options, │ │ │ │ │ -00002b00: 2020 5072 6576 3a20 496e 7472 6f64 7563 Prev: Introduc │ │ │ │ │ -00002b10: 7469 6f6e 2062 7920 6578 616d 706c 652c tion by example, │ │ │ │ │ -00002b20: 2020 5570 3a20 496e 7472 6f64 7563 7469 Up: Introducti │ │ │ │ │ -00002b30: 6f6e 2062 7920 6578 616d 706c 650a 0a32 on by example..2 │ │ │ │ │ -00002b40: 2e31 2048 656c 6c6f 2077 6f72 6c64 0a3d .1 Hello world.= │ │ │ │ │ -00002b50: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============.. │ │ │ │ │ -00002b60: 5468 6520 e280 9873 6b65 7463 68e2 8099 The ...sketch... │ │ │ │ │ -00002b70: 2070 726f 6772 616d 2061 626f 7665 2069 program above i │ │ │ │ │ -00002b80: 7320 6e65 6172 6c79 2074 6865 2073 696d s nearly the sim │ │ │ │ │ -00002b90: 706c 6573 7420 6f6e 6520 706f 7373 6962 plest one possib │ │ │ │ │ -00002ba0: 6c65 2c20 7468 650a 6571 7569 7661 6c65 le, the.equivale │ │ │ │ │ -00002bb0: 6e74 206f 6620 6120 2268 656c 6c6f 2077 nt of a "hello w │ │ │ │ │ -00002bc0: 6f72 6c64 2220 7072 6f67 7261 6d20 796f orld" program yo │ │ │ │ │ -00002bd0: 7520 6d69 6768 7420 6669 6e64 2061 7420 u might find at │ │ │ │ │ -00002be0: 7468 6520 7374 6172 7420 6f66 2061 0a70 the start of a.p │ │ │ │ │ -00002bf0: 726f 6772 616d 6d69 6e67 206c 616e 6775 rogramming langu │ │ │ │ │ -00002c00: 6167 6520 7465 7874 2e20 2049 6620 6974 age text. If it │ │ │ │ │ -00002c10: 2069 7320 7361 7665 6420 696e 2074 6865 is saved in the │ │ │ │ │ -00002c20: 2066 696c 6520 e280 9873 696d 706c 652e file ...simple. │ │ │ │ │ -00002c30: 736b e280 992c 2074 6865 6e0a 7468 6520 sk..., then.the │ │ │ │ │ -00002c40: 636f 6d6d 616e 640a 2020 736b 6574 6368 command. sketch │ │ │ │ │ -00002c50: 2073 696d 706c 652e 736b 202d 6f20 7369 simple.sk -o si │ │ │ │ │ -00002c60: 6d70 6c65 2e74 6578 0a63 7265 6174 6573 mple.tex.creates │ │ │ │ │ -00002c70: 2061 2066 696c 6520 e280 9873 696d 706c a file ...simpl │ │ │ │ │ -00002c80: 652e 7465 78e2 8099 2063 6f6e 7461 696e e.tex... contain │ │ │ │ │ -00002c90: 696e 6720 e280 9850 5354 7269 636b 73e2 ing ...PSTricks. │ │ │ │ │ -00002ca0: 8099 2063 6f6d 6d61 6e64 7320 746f 2064 .. commands to d │ │ │ │ │ -00002cb0: 7261 7720 7468 6573 650a 6f62 6a65 6374 raw these.object │ │ │ │ │ -00002cc0: 7320 6f6e 2070 6170 6572 2e20 2054 6865 s on paper. The │ │ │ │ │ -00002cd0: 2063 6f6e 7465 6e74 7320 6f66 20e2 8098 contents of ... │ │ │ │ │ -00002ce0: 7369 6d70 6c65 2e74 6578 e280 9920 6c6f simple.tex... lo │ │ │ │ │ -00002cf0: 6f6b 206c 696b 6520 7468 6973 2e0a 2020 ok like this.. │ │ │ │ │ -00002d00: 5c62 6567 696e 7b70 7370 6963 7475 7265 \begin{pspicture │ │ │ │ │ -00002d10: 7d28 2d31 2c2d 3129 2832 2c32 290a 2020 }(-1,-1)(2,2). │ │ │ │ │ -00002d20: 5c70 7374 5665 7262 7b31 2073 6574 6c69 \pstVerb{1 setli │ │ │ │ │ -00002d30: 6e65 6a6f 696e 7d0a 2020 5c70 736c 696e nejoin}. \pslin │ │ │ │ │ -00002d40: 6528 2d31 2c2d 3129 282e 3333 332c 2e33 e(-1,-1)(.333,.3 │ │ │ │ │ -00002d50: 3333 290a 2020 5c70 7370 6f6c 7967 6f6e 33). \pspolygon │ │ │ │ │ -00002d60: 5b66 696c 6c73 7479 6c65 3d73 6f6c 6964 [fillstyle=solid │ │ │ │ │ -00002d70: 2c66 696c 6c63 6f6c 6f72 3d77 6869 7465 ,fillcolor=white │ │ │ │ │ -00002d80: 5d28 302c 3029 2831 2c30 2928 302c 3129 ](0,0)(1,0)(0,1) │ │ │ │ │ -00002d90: 0a20 205c 7073 6c69 6e65 282e 3333 332c . \psline(.333, │ │ │ │ │ -00002da0: 2e33 3333 2928 322c 3229 0a20 205c 656e .333)(2,2). \en │ │ │ │ │ -00002db0: 647b 7073 7069 6374 7572 657d 0a54 6865 d{pspicture}.The │ │ │ │ │ -00002dc0: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface │ │ │ │ │ -00002dd0: 616c 676f 7269 7468 6d20 6f66 20e2 8098 algorithm of ... │ │ │ │ │ -00002de0: 736b 6574 6368 e280 9920 6861 7320 7370 sketch... has sp │ │ │ │ │ -00002df0: 6c69 7420 7468 6520 6c69 6e65 2069 6e74 lit the line int │ │ │ │ │ -00002e00: 6f20 7477 6f0a 7069 6563 6573 2061 6e64 o two.pieces and │ │ │ │ │ -00002e10: 206f 7264 6572 6564 2074 6865 2074 6872 ordered the thr │ │ │ │ │ -00002e20: 6565 2072 6573 756c 7469 6e67 206f 626a ee resulting obj │ │ │ │ │ -00002e30: 6563 7473 2073 6f20 7468 6174 2074 6865 ects so that the │ │ │ │ │ -00002e40: 2063 6f72 7265 6374 0a70 6f72 7469 6f6e correct.portion │ │ │ │ │ -00002e50: 206f 6620 7468 6520 6c69 6e65 2069 7320 of the line is │ │ │ │ │ -00002e60: 6869 6464 656e 2e0a 0a20 2020 4966 2079 hidden... If y │ │ │ │ │ -00002e70: 6f75 2776 6520 6e6f 7469 6365 6420 7468 ou've noticed th │ │ │ │ │ -00002e80: 6174 2074 6865 2070 726f 6a65 6374 696f at the projectio │ │ │ │ │ -00002e90: 6e20 7765 2061 7265 2075 7369 6e67 2073 n we are using s │ │ │ │ │ -00002ea0: 6565 6d73 2065 7175 6976 616c 656e 740a eems equivalent. │ │ │ │ │ -00002eb0: 746f 2065 7261 7369 6e67 2074 6865 207a to erasing the z │ │ │ │ │ -00002ec0: 2d63 6f6f 7264 696e 6174 6520 6f66 2074 -coordinate of t │ │ │ │ │ -00002ed0: 6865 2074 6872 6565 2d64 696d 656e 7369 he three-dimensi │ │ │ │ │ -00002ee0: 6f6e 616c 2069 6e70 7574 2070 6f69 6e74 onal input point │ │ │ │ │ -00002ef0: 732c 2070 6174 0a79 6f75 7273 656c 6620 s, pat.yourself │ │ │ │ │ -00002f00: 6f6e 2074 6865 2062 6163 6b2e 2020 596f on the back. Yo │ │ │ │ │ -00002f10: 7520 6172 6520 636f 7272 6563 742e 2020 u are correct. │ │ │ │ │ -00002f20: 5468 6973 2069 7320 6361 6c6c 6564 2061 This is called a │ │ │ │ │ -00002f30: 20e2 809c 7061 7261 6c6c 656c 0a70 726f ...parallel.pro │ │ │ │ │ -00002f40: 6a65 6374 696f 6ee2 809d 2e20 2054 6865 jection.... The │ │ │ │ │ -00002f50: 207a 2d63 6f6f 7264 696e 6174 6520 6178 z-coordinate ax │ │ │ │ │ -00002f60: 6973 2069 7320 706f 696e 7469 6e67 2073 is is pointing s │ │ │ │ │ -00002f70: 7472 6169 6768 7420 6f75 7420 6f66 2074 traight out of t │ │ │ │ │ -00002f80: 6865 0a70 6170 6572 2061 7420 7573 2c20 he.paper at us, │ │ │ │ │ -00002f90: 7768 696c 6520 7468 6520 782d 2061 6e64 while the x- and │ │ │ │ │ -00002fa0: 2079 2d61 7865 7320 706f 696e 7420 746f y-axes point to │ │ │ │ │ -00002fb0: 2074 6865 2072 6967 6874 2061 6e64 2075 the right and u │ │ │ │ │ -00002fc0: 7020 6173 2075 7375 616c 2e0a 0a20 2020 p as usual... │ │ │ │ │ -00002fd0: 5468 6520 7265 7375 6c74 696e 6720 7069 The resulting pi │ │ │ │ │ -00002fe0: 6374 7572 6520 6669 6c65 2063 616e 2062 cture file can b │ │ │ │ │ -00002ff0: 6520 696e 636c 7564 6564 2069 6e20 6120 e included in a │ │ │ │ │ -00003000: 4c61 5465 5820 646f 6375 6d65 6e74 2077 LaTeX document w │ │ │ │ │ -00003010: 6974 680a 5c69 6e70 7574 7b73 696d 706c ith.\input{simpl │ │ │ │ │ -00003020: 657d 2e20 2041 6c74 6572 6e61 7465 6c79 e}. Alternately │ │ │ │ │ -00003030: 2c20 6164 6469 6e67 2074 6865 2063 6f6d , adding the com │ │ │ │ │ -00003040: 6d61 6e64 206c 696e 6520 6f70 7469 6f6e mand line option │ │ │ │ │ -00003050: 20e2 8098 2d54 e280 9928 3129 0a63 6175 ...-T...(1).cau │ │ │ │ │ -00003060: 7365 7320 7468 6520 e280 9870 7370 6963 ses the ...pspic │ │ │ │ │ -00003070: 7475 7265 e280 9920 746f 2062 6520 7772 ture... to be wr │ │ │ │ │ -00003080: 6170 7065 6420 696e 2061 2073 686f 7274 apped in a short │ │ │ │ │ -00003090: 2062 7574 2063 6f6d 706c 6574 6520 646f but complete do │ │ │ │ │ -000030a0: 6375 6d65 6e74 2c0a 7265 6164 7920 746f cument,.ready to │ │ │ │ │ -000030b0: 2072 756e 2074 686f 7567 6820 4c61 5465 run though LaTe │ │ │ │ │ -000030c0: 582e 2020 496e 2061 2066 696e 6973 6865 X. In a finishe │ │ │ │ │ -000030d0: 642c 2074 7970 6573 6574 2064 6f63 756d d, typeset docum │ │ │ │ │ -000030e0: 656e 742c 2074 6865 2070 6963 7475 7265 ent, the picture │ │ │ │ │ -000030f0: 0a6c 6f6f 6b73 206c 696b 6520 7468 6973 .looks like this │ │ │ │ │ -00003100: 2e20 2028 5468 6520 6178 6573 2068 6176 . (The axes hav │ │ │ │ │ -00003110: 6520 6265 656e 2061 6464 6564 2069 6e20 e been added in │ │ │ │ │ -00003120: 6c69 6768 7420 6772 6179 2e29 0a0a 0008 light gray.).... │ │ │ │ │ -00003130: 5b69 6d61 6765 2073 7263 3d22 6578 3032 [image src="ex02 │ │ │ │ │ -00003140: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00003150: 6765 2065 7830 3230 206f 6d69 7474 6564 ge ex020 omitted │ │ │ │ │ -00003160: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00003170: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00003180: 742e 2200 085d 0a0a 4974 2069 7320 696d t."..]..It is im │ │ │ │ │ -00003190: 706f 7274 616e 7420 746f 206b 6e6f 7720 portant to know │ │ │ │ │ -000031a0: 7468 6174 206f 6e6c 7920 7468 6520 226f that only the "o │ │ │ │ │ -000031b0: 7574 7369 6465 2220 6f66 2061 2070 6f6c utside" of a pol │ │ │ │ │ -000031c0: 7967 6f6e 2069 7320 6e6f 726d 616c 6c79 ygon is normally │ │ │ │ │ -000031d0: 0a64 7261 776e 2e20 2054 6865 20e2 809c .drawn. The ... │ │ │ │ │ -000031e0: 6f75 7473 6964 65e2 809d 2069 7320 7768 outside... is wh │ │ │ │ │ -000031f0: 6572 6520 7468 6520 7665 7274 6963 6573 ere the vertices │ │ │ │ │ -00003200: 2067 6976 656e 2069 6e20 7468 6520 e280 given in the .. │ │ │ │ │ -00003210: 9870 6f6c 7967 6f6e e280 990a 636f 6d6d .polygon....comm │ │ │ │ │ -00003220: 616e 6420 6170 7065 6172 2069 6e20 5f63 and appear in _c │ │ │ │ │ -00003230: 6f75 6e74 6572 2d63 6c6f 636b 7769 7365 ounter-clockwise │ │ │ │ │ -00003240: 5f20 6f72 6465 722e 2020 5468 7573 2c20 _ order. Thus, │ │ │ │ │ -00003250: 6966 2074 6865 2063 6f6d 6d61 6e64 2061 if the command a │ │ │ │ │ -00003260: 626f 7665 0a68 6164 2062 6565 6e0a 2020 bove.had been. │ │ │ │ │ -00003270: 706f 6c79 676f 6e28 302c 312c 3029 2831 polygon(0,1,0)(1 │ │ │ │ │ -00003280: 2c30 2c30 2928 302c 302c 3129 0a74 6865 ,0,0)(0,0,1).the │ │ │ │ │ -00003290: 2070 6f6c 7967 6f6e 2077 6f75 6c64 206e polygon would n │ │ │ │ │ -000032a0: 6f74 2061 7070 6561 7220 696e 2074 6865 ot appear in the │ │ │ │ │ -000032b0: 2070 6963 7475 7265 2061 7420 616c 6c2e picture at all. │ │ │ │ │ -000032c0: 2020 4974 2077 6f75 6c64 2068 6176 6520 It would have │ │ │ │ │ -000032d0: 6265 656e 0ae2 809c 6375 6c6c 6564 e280 been....culled.. │ │ │ │ │ -000032e0: 9d20 6672 6f6d 2074 6865 2073 6365 6e65 . from the scene │ │ │ │ │ -000032f0: 2e20 2054 6869 7320 6375 6c6c 696e 6720 . This culling │ │ │ │ │ -00003300: 6265 6861 7669 6f72 206d 6179 2073 6565 behavior may see │ │ │ │ │ -00003310: 6d20 7374 7261 6e67 652c 2062 7574 0a73 m strange, but.s │ │ │ │ │ -00003320: 7461 7920 7475 6e65 642e 0a0a 2020 202d tay tuned... - │ │ │ │ │ -00003330: 2d2d 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f --------- Footno │ │ │ │ │ -00003340: 7465 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a tes ----------.. │ │ │ │ │ -00003350: 2020 2028 3129 204f 7220 666f 7220 4575 (1) Or for Eu │ │ │ │ │ -00003360: 726f 7065 616e 2075 7365 7273 206f 6620 ropean users of │ │ │ │ │ -00003370: 4134 2073 697a 6520 7061 7065 722c 20e2 A4 size paper, . │ │ │ │ │ -00003380: 8098 2d54 65e2 8099 2e0a 0a1f 0a46 696c ..-Te........Fil │ │ │ │ │ -00003390: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -000033a0: 204e 6f64 653a 2044 7261 7769 6e67 206f Node: Drawing o │ │ │ │ │ -000033b0: 7074 696f 6e73 2c20 204e 6578 743a 2044 ptions, Next: D │ │ │ │ │ -000033c0: 7261 7769 6e67 2061 2073 6f6c 6964 2c20 rawing a solid, │ │ │ │ │ -000033d0: 2050 7265 763a 2048 656c 6c6f 2077 6f72 Prev: Hello wor │ │ │ │ │ -000033e0: 6c64 2c20 2055 703a 2049 6e74 726f 6475 ld, Up: Introdu │ │ │ │ │ -000033f0: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example │ │ │ │ │ -00003400: 0a0a 322e 3220 4f70 7469 6f6e 730a 3d3d ..2.2 Options.== │ │ │ │ │ -00003410: 3d3d 3d3d 3d3d 3d3d 3d0a 0a4d 616e 7920 =========..Many │ │ │ │ │ -00003420: e280 9850 5354 7269 636b 73e2 8099 2061 ...PSTricks... a │ │ │ │ │ -00003430: 6e64 20e2 8098 5469 6b5a 2f50 4746 e280 nd ...TikZ/PGF.. │ │ │ │ │ -00003440: 9920 6f70 7469 6f6e 7320 776f 726b 206a . options work j │ │ │ │ │ -00003450: 7573 7420 6669 6e65 2069 6e20 e280 9873 ust fine in ...s │ │ │ │ │ -00003460: 6b65 7463 68e2 8099 2e20 2049 660a 6765 ketch.... If.ge │ │ │ │ │ -00003470: 6e65 7261 7469 6e67 20e2 8098 5053 5472 nerating ...PSTr │ │ │ │ │ -00003480: 6963 6b73 e280 992c 2074 6865 2063 6f64 icks..., the cod │ │ │ │ │ -00003490: 650a 2020 706f 6c79 676f 6e5b 6669 6c6c e. polygon[fill │ │ │ │ │ -000034a0: 636f 6c6f 723d 6c69 6768 7467 7261 792c color=lightgray, │ │ │ │ │ -000034b0: 6c69 6e65 7769 6474 683d 3370 745d 2830 linewidth=3pt](0 │ │ │ │ │ -000034c0: 2c30 2c31 2928 312c 302c 3029 2830 2c31 ,0,1)(1,0,0)(0,1 │ │ │ │ │ -000034d0: 2c30 290a 2020 6c69 6e65 5b6c 696e 6573 ,0). line[lines │ │ │ │ │ -000034e0: 7479 6c65 3d64 6f74 7465 645d 282d 312c tyle=dotted](-1, │ │ │ │ │ -000034f0: 2d31 2c2d 3129 2832 2c32 2c32 290a 7072 -1,-1)(2,2,2).pr │ │ │ │ │ -00003500: 6f64 7563 6573 0a0a 0008 5b69 6d61 6765 oduces....[image │ │ │ │ │ -00003510: 2073 7263 3d22 6578 3033 302e 706e 6722 src="ex030.png" │ │ │ │ │ -00003520: 2074 6578 743d 2249 6d61 6765 2065 7830 text="Image ex0 │ │ │ │ │ -00003530: 3330 206f 6d69 7474 6564 2069 6e20 7465 30 omitted in te │ │ │ │ │ -00003540: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00003550: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00003560: 0a0a 2020 2054 6f20 7072 6f64 7563 6520 .. To produce │ │ │ │ │ -00003570: e280 9854 696b 5a2f 5047 46e2 8099 2c20 ...TikZ/PGF..., │ │ │ │ │ -00003580: 7468 6520 636f 7272 6573 706f 6e64 696e the correspondin │ │ │ │ │ -00003590: 6720 636f 6465 2069 730a 2020 706f 6c79 g code is. poly │ │ │ │ │ -000035a0: 676f 6e5b 6669 6c6c 3d6c 6967 6874 6772 gon[fill=lightgr │ │ │ │ │ -000035b0: 6179 2c6c 696e 6520 7769 6474 683d 3370 ay,line width=3p │ │ │ │ │ -000035c0: 745d 2830 2c30 2c31 2928 312c 302c 3029 t](0,0,1)(1,0,0) │ │ │ │ │ -000035d0: 2830 2c31 2c30 290a 2020 6c69 6e65 5b73 (0,1,0). line[s │ │ │ │ │ -000035e0: 7479 6c65 3d64 6f74 7465 645d 282d 312c tyle=dotted](-1, │ │ │ │ │ -000035f0: 2d31 2c2d 3129 2832 2c32 2c32 290a 2020 -1,-1)(2,2,2). │ │ │ │ │ -00003600: 676c 6f62 616c 207b 206c 616e 6775 6167 global { languag │ │ │ │ │ -00003610: 6520 7469 6b7a 207d 0a54 6865 2066 696e e tikz }.The fin │ │ │ │ │ -00003620: 616c 20e2 8098 676c 6f62 616c e280 9920 al ...global... │ │ │ │ │ -00003630: 696e 7374 7275 6374 7320 e280 9873 6b65 instructs ...ske │ │ │ │ │ -00003640: 7463 68e2 8099 2074 6f20 7072 6f64 7563 tch... to produc │ │ │ │ │ -00003650: 6520 e280 9854 696b 5a2f 5047 46e2 8099 e ...TikZ/PGF... │ │ │ │ │ -00003660: 2063 6f64 6520 6173 0a6f 7574 7075 7420 code as.output │ │ │ │ │ -00003670: 7261 7468 6572 2074 6861 6e20 7468 6520 rather than the │ │ │ │ │ -00003680: 6465 6661 756c 742c 20e2 8098 5053 5472 default, ...PSTr │ │ │ │ │ -00003690: 6963 6b73 e280 992e 2020 4e6f 7465 2074 icks.... Note t │ │ │ │ │ -000036a0: 6861 7420 e280 9870 6f6c 7967 6f6e e280 hat ...polygon.. │ │ │ │ │ -000036b0: 9920 6669 6c6c 0a63 6f6c 6f72 2061 6e64 . fill.color and │ │ │ │ │ -000036c0: 20e2 8098 6c69 6e65 e280 9920 7374 796c ...line... styl │ │ │ │ │ -000036d0: 6520 6f70 7469 6f6e 7320 626f 7468 2063 e options both c │ │ │ │ │ -000036e0: 6f6e 666f 726d 2074 6f20 e280 9854 696b onform to ...Tik │ │ │ │ │ -000036f0: 5ae2 8099 2073 796e 7461 7820 7275 6c65 Z... syntax rule │ │ │ │ │ -00003700: 732e 2020 5468 650a 7265 7375 6c74 696e s. The.resultin │ │ │ │ │ -00003710: 6720 e280 9854 696b 5a2f 5047 46e2 8099 g ...TikZ/PGF... │ │ │ │ │ -00003720: 206f 7574 7075 7420 6973 0a20 205c 6265 output is. \be │ │ │ │ │ -00003730: 6769 6e7b 7469 6b7a 7069 6374 7572 657d gin{tikzpicture} │ │ │ │ │ -00003740: 5b6a 6f69 6e3d 726f 756e 645d 0a20 205c [join=round]. \ │ │ │ │ │ -00003750: 6472 6177 5b64 6f74 7465 645d 282d 312c draw[dotted](-1, │ │ │ │ │ -00003760: 2d31 292d 2d28 2e33 3333 2c2e 3333 3329 -1)--(.333,.333) │ │ │ │ │ -00003770: 3b0a 2020 5c66 696c 6c64 7261 775b 6669 ;. \filldraw[fi │ │ │ │ │ -00003780: 6c6c 3d6c 6967 6874 6772 6179 2c6c 696e ll=lightgray,lin │ │ │ │ │ -00003790: 6520 7769 6474 683d 3370 745d 2830 2c30 e width=3pt](0,0 │ │ │ │ │ -000037a0: 292d 2d28 312c 3029 2d2d 2830 2c31 292d )--(1,0)--(0,1)- │ │ │ │ │ -000037b0: 2d63 7963 6c65 3b0a 2020 5c64 7261 775b -cycle;. \draw[ │ │ │ │ │ -000037c0: 646f 7474 6564 5d28 2e33 3333 2c2e 3333 dotted](.333,.33 │ │ │ │ │ -000037d0: 3329 2d2d 2832 2c32 293b 0a20 205c 656e 3)--(2,2);. \en │ │ │ │ │ -000037e0: 647b 7469 6b7a 7069 6374 7572 657d 0a54 d{tikzpicture}.T │ │ │ │ │ -000037f0: 6865 2072 656d 6169 6e69 6e67 2065 7861 he remaining exa │ │ │ │ │ -00003800: 6d70 6c65 7320 6f66 2074 6869 7320 6d61 mples of this ma │ │ │ │ │ -00003810: 6e75 616c 2061 7265 2069 6e20 5053 5472 nual are in PSTr │ │ │ │ │ -00003820: 6963 6b73 2073 7479 6c65 2e0a 0a1f 0a46 icks style.....F │ │ │ │ │ -00003830: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00003840: 2c20 204e 6f64 653a 2044 7261 7769 6e67 , Node: Drawing │ │ │ │ │ -00003850: 2061 2073 6f6c 6964 2c20 204e 6578 743a a solid, Next: │ │ │ │ │ -00003860: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ -00003870: 2c20 2050 7265 763a 2044 7261 7769 6e67 , Prev: Drawing │ │ │ │ │ -00003880: 206f 7074 696f 6e73 2c20 2055 703a 2049 options, Up: I │ │ │ │ │ -00003890: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e │ │ │ │ │ -000038a0: 7861 6d70 6c65 0a0a 322e 3320 4472 6177 xample..2.3 Draw │ │ │ │ │ -000038b0: 696e 6720 6120 736f 6c69 640a 3d3d 3d3d ing a solid.==== │ │ │ │ │ -000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============. │ │ │ │ │ -000038d0: 0a4c 6574 2773 2074 7279 2073 6f6d 6574 .Let's try somet │ │ │ │ │ -000038e0: 6869 6e67 206d 6f72 6520 6578 6369 7469 hing more exciti │ │ │ │ │ -000038f0: 6e67 2e20 20e2 8098 536b 6574 6368 e280 ng. ...Sketch.. │ │ │ │ │ -00003900: 9920 6861 7320 6e6f 206e 6f74 696f 6e20 . has no notion │ │ │ │ │ -00003910: 6f66 2061 2073 6f6c 6964 2c0a 6275 7420 of a solid,.but │ │ │ │ │ -00003920: 706f 6c79 676f 6e61 6c20 e280 9c66 6163 polygonal ...fac │ │ │ │ │ -00003930: 6573 e280 9d20 6361 6e20 6265 2075 7365 es... can be use │ │ │ │ │ -00003940: 6420 746f 2072 6570 7265 7365 6e74 2074 d to represent t │ │ │ │ │ -00003950: 6865 2062 6f75 6e64 6172 7920 6f66 2061 he boundary of a │ │ │ │ │ -00003960: 2073 6f6c 6964 2e0a 546f 2074 6865 2070 solid..To the p │ │ │ │ │ -00003970: 7265 7669 6f75 7320 6578 616d 706c 652c revious example, │ │ │ │ │ -00003980: 206c 6574 2773 2061 6464 2074 6872 6565 let's add three │ │ │ │ │ -00003990: 206d 6f72 6520 7472 6961 6e67 756c 6172 more triangular │ │ │ │ │ -000039a0: 2070 6f6c 7967 6f6e 7320 746f 0a6d 616b polygons to.mak │ │ │ │ │ -000039b0: 6520 7468 6520 6661 6365 7320 6f66 2061 e the faces of a │ │ │ │ │ -000039c0: 6e20 6972 7265 6775 6c61 7220 7465 7472 n irregular tetr │ │ │ │ │ -000039d0: 6168 6564 726f 6e2e 0a20 2025 2076 6572 ahedron.. % ver │ │ │ │ │ -000039e0: 7469 6365 7320 6f66 2074 6865 2074 6574 tices of the tet │ │ │ │ │ -000039f0: 7261 6865 6472 6f6e 0a20 2064 6566 2070 rahedron. def p │ │ │ │ │ -00003a00: 3120 2830 2c30 2c31 2920 6465 6620 7032 1 (0,0,1) def p2 │ │ │ │ │ -00003a10: 2028 312c 302c 3029 0a20 2064 6566 2070 (1,0,0). def p │ │ │ │ │ -00003a20: 3320 2830 2c31 2c30 2920 6465 6620 7034 3 (0,1,0) def p4 │ │ │ │ │ -00003a30: 2028 2d2e 332c 2d2e 352c 2d2e 3829 0a0a (-.3,-.5,-.8).. │ │ │ │ │ -00003a40: 2020 2520 6661 6365 7320 6f66 2074 6865 % faces of the │ │ │ │ │ -00003a50: 2074 6574 7261 6865 6472 6f6e 2e0a 2020 tetrahedron.. │ │ │ │ │ -00003a60: 706f 6c79 676f 6e28 7031 2928 7032 2928 polygon(p1)(p2)( │ │ │ │ │ -00003a70: 7033 2920 2520 6f72 6967 696e 616c 2066 p3) % original f │ │ │ │ │ -00003a80: 726f 6e74 2070 6f6c 7967 6f6e 0a20 2070 ront polygon. p │ │ │ │ │ -00003a90: 6f6c 7967 6f6e 2870 3129 2870 3429 2870 olygon(p1)(p4)(p │ │ │ │ │ -00003aa0: 3229 2025 2062 6f74 746f 6d0a 2020 706f 2) % bottom. po │ │ │ │ │ -00003ab0: 6c79 676f 6e28 7031 2928 7033 2928 7034 lygon(p1)(p3)(p4 │ │ │ │ │ -00003ac0: 2920 2520 6c65 6674 0a20 2070 6f6c 7967 ) % left. polyg │ │ │ │ │ -00003ad0: 6f6e 2870 3329 2870 3229 2870 3429 2025 on(p3)(p2)(p4) % │ │ │ │ │ -00003ae0: 2072 6561 720a 0a20 2025 206c 696e 6520 rear.. % line │ │ │ │ │ -00003af0: 746f 2070 6965 7263 6520 7468 6520 7465 to pierce the te │ │ │ │ │ -00003b00: 7472 6168 6564 726f 6e0a 2020 6c69 6e65 trahedron. line │ │ │ │ │ -00003b10: 5b6c 696e 6563 6f6c 6f72 3d72 6564 5d28 [linecolor=red]( │ │ │ │ │ -00003b20: 2d31 2c2d 312c 2d31 2928 322c 322c 3229 -1,-1,-1)(2,2,2) │ │ │ │ │ -00003b30: 0a54 6869 7320 6578 616d 706c 6520 7573 .This example us │ │ │ │ │ -00003b40: 6573 20e2 809c 6465 6669 6e69 7469 6f6e es ...definition │ │ │ │ │ -00003b50: 73e2 809d 2c20 7768 6963 6820 6265 6769 s..., which begi │ │ │ │ │ -00003b60: 6e20 7769 7468 20e2 8098 6465 66e2 8099 n with ...def... │ │ │ │ │ -00003b70: 2e20 2054 6865 7365 20e2 809c 6465 6669 . These ...defi │ │ │ │ │ -00003b80: 6e65 e280 9d0a 6f72 2067 6976 6520 6e61 ne....or give na │ │ │ │ │ -00003b90: 6d65 7320 746f 2070 6f69 6e74 732c 2077 mes to points, w │ │ │ │ │ -00003ba0: 6869 6368 2061 7265 2074 6865 6e20 6176 hich are then av │ │ │ │ │ -00003bb0: 6169 6c61 626c 6520 6173 20e2 809c 7265 ailable as ...re │ │ │ │ │ -00003bc0: 6665 7265 6e63 6573 e280 9d20 6279 0a65 ferences... by.e │ │ │ │ │ -00003bd0: 6e63 6c6f 7369 6e67 2074 6865 206e 616d nclosing the nam │ │ │ │ │ -00003be0: 6573 2069 6e20 7061 7265 6e74 6865 7365 es in parenthese │ │ │ │ │ -00003bf0: 732c 2065 2e67 2e20 2866 6f6f 292e 2020 s, e.g. (foo). │ │ │ │ │ -00003c00: 5468 6520 7061 7265 6e74 6865 7365 7320 The parentheses │ │ │ │ │ -00003c10: 6465 6e6f 7465 0a74 6861 7420 7468 6520 denote.that the │ │ │ │ │ -00003c20: 6e61 6d65 7320 7265 6665 7220 746f 2070 names refer to p │ │ │ │ │ -00003c30: 6f69 6e74 733b 2074 6865 7920 6172 6520 oints; they are │ │ │ │ │ -00003c40: 7265 7175 6972 6564 2e20 2054 6865 7265 required. There │ │ │ │ │ -00003c50: 2063 616e 2062 6520 6e6f 0a77 6869 7465 can be no.white │ │ │ │ │ -00003c60: 2073 7061 6365 2062 6574 7765 656e 2074 space between t │ │ │ │ │ -00003c70: 6865 6d20 616e 6420 7468 6520 6e61 6d65 hem and the name │ │ │ │ │ -00003c80: 2e0a 0a20 2020 4173 2079 6f75 2063 616e ... As you can │ │ │ │ │ -00003c90: 2073 6565 2c20 636f 6d6d 656e 7473 2073 see, comments s │ │ │ │ │ -00003ca0: 7461 7274 2077 6974 6820 2520 6173 2069 tart with % as i │ │ │ │ │ -00003cb0: 6e20 5465 5820 616e 6420 6578 7465 6e64 n TeX and extend │ │ │ │ │ -00003cc0: 2074 6f20 7468 6520 656e 640a 6f66 2074 to the end.of t │ │ │ │ │ -00003cd0: 6865 206c 696e 6520 2874 686f 7567 6820 he line (though │ │ │ │ │ -00003ce0: 2320 7769 6c6c 2077 6f72 6b20 6173 2077 # will work as w │ │ │ │ │ -00003cf0: 656c 6c29 2e20 2057 6869 7465 2073 7061 ell). White spa │ │ │ │ │ -00003d00: 6365 2c20 696e 636c 7564 696e 670a 7370 ce, including.sp │ │ │ │ │ -00003d10: 6163 6573 2c20 7461 6273 2061 6e64 2062 aces, tabs and b │ │ │ │ │ -00003d20: 6c61 6e6b 206c 696e 6573 2c20 6861 7320 lank lines, has │ │ │ │ │ -00003d30: 6e6f 2065 6666 6563 7420 696e 2074 6865 no effect in the │ │ │ │ │ -00003d40: 20e2 8098 736b 6574 6368 e280 9920 6c61 ...sketch... la │ │ │ │ │ -00003d50: 6e67 7561 6765 2e0a 0a00 085b 696d 6167 nguage.....[imag │ │ │ │ │ -00003d60: 6520 7372 633d 2265 7830 3430 2e70 6e67 e src="ex040.png │ │ │ │ │ -00003d70: 2220 7465 7874 3d22 496d 6167 6520 6578 " text="Image ex │ │ │ │ │ -00003d80: 3034 3020 6f6d 6974 7465 6420 696e 2074 040 omitted in t │ │ │ │ │ -00003d90: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t │ │ │ │ │ -00003da0: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.".. │ │ │ │ │ -00003db0: 5d0a 0a49 6620 7765 206c 6f6f 6b20 696e ]..If we look in │ │ │ │ │ -00003dc0: 7369 6465 2074 6865 2054 6558 2066 696c side the TeX fil │ │ │ │ │ -00003dd0: 6520 7072 6f64 7563 6564 2062 7920 e280 e produced by .. │ │ │ │ │ -00003de0: 9873 6b65 7463 68e2 8099 2c20 7468 6572 .sketch..., ther │ │ │ │ │ -00003df0: 6520 7769 6c6c 2062 6520 6f6e 6c79 0a74 e will be only.t │ │ │ │ │ -00003e00: 6872 6565 2070 6f6c 7967 6f6e 732e 2020 hree polygons. │ │ │ │ │ -00003e10: 5468 6520 666f 7572 7468 2068 6173 2062 The fourth has b │ │ │ │ │ -00003e20: 6565 6e20 6375 6c6c 6564 2062 6563 6175 een culled becau │ │ │ │ │ -00003e30: 7365 2069 7420 6973 2061 2022 6261 636b se it is a "back │ │ │ │ │ -00003e40: 2066 6163 6522 0a6f 6620 7468 6520 7465 face".of the te │ │ │ │ │ -00003e50: 7472 6168 6564 726f 6e2c 2069 6e76 6973 trahedron, invis │ │ │ │ │ -00003e60: 6962 6c65 2074 6f20 6f75 7220 7669 6577 ible to our view │ │ │ │ │ -00003e70: 2e20 2049 7420 6973 2075 6e6e 6563 6573 . It is unneces │ │ │ │ │ -00003e80: 7361 7279 2c20 616e 6420 736f 2069 740a sary, and so it. │ │ │ │ │ -00003e90: 6973 2072 656d 6f76 6564 2e0a 0a20 2020 is removed... │ │ │ │ │ -00003ea0: 496e 2073 6f6d 6520 6472 6177 696e 6773 In some drawings │ │ │ │ │ -00003eb0: 2c20 706f 6c79 676f 6e73 2061 6374 2061 , polygons act a │ │ │ │ │ -00003ec0: 7320 7a65 726f 2d74 6869 636b 6e65 7373 s zero-thickness │ │ │ │ │ -00003ed0: 2073 6f6c 6964 2073 7572 6661 6365 7320 solid surfaces │ │ │ │ │ -00003ee0: 7769 7468 0a62 6f74 6820 7369 6465 7320 with.both sides │ │ │ │ │ -00003ef0: 7669 7369 626c 6520 7261 7468 6572 2074 visible rather t │ │ │ │ │ -00003f00: 6861 6e20 6173 2074 6865 2066 6163 6573 han as the faces │ │ │ │ │ -00003f10: 206f 6620 736f 6c69 6420 6f62 6a65 6374 of solid object │ │ │ │ │ -00003f20: 732c 2077 6865 7265 2062 6163 6b0a 6661 s, where back.fa │ │ │ │ │ -00003f30: 6365 7320 6361 6e20 6265 2063 756c 6c65 ces can be culle │ │ │ │ │ -00003f40: 642e 2020 466f 7220 7a65 726f 2d74 6869 d. For zero-thi │ │ │ │ │ -00003f50: 636b 6e65 7373 2073 6f6c 6964 732c 2063 ckness solids, c │ │ │ │ │ -00003f60: 756c 6c69 6e67 2069 7320 6120 7072 6f62 ulling is a prob │ │ │ │ │ -00003f70: 6c65 6d2e 0a4f 6e65 2073 6f6c 7574 696f lem..One solutio │ │ │ │ │ -00003f80: 6e20 6973 2074 6f20 7573 6520 6120 7061 n is to use a pa │ │ │ │ │ -00003f90: 6972 206f 6620 e280 9873 6b65 7463 68e2 ir of ...sketch. │ │ │ │ │ -00003fa0: 8099 2070 6f6c 7967 6f6e 7320 666f 7220 .. polygons for │ │ │ │ │ -00003fb0: 6561 6368 0a7a 6572 6f2d 7468 6963 6b6e each.zero-thickn │ │ │ │ │ -00003fc0: 6573 7320 6661 6365 2c20 6964 656e 7469 ess face, identi │ │ │ │ │ -00003fd0: 6361 6c20 6578 6365 7074 2077 6974 6820 cal except with │ │ │ │ │ -00003fe0: 6f70 706f 7369 7465 2076 6572 7465 7820 opposite vertex │ │ │ │ │ -00003ff0: 6f72 6465 7273 2e20 2054 6869 730a 6973 orders. This.is │ │ │ │ │ -00004000: 2075 6e77 6965 6c64 7920 616e 6420 6578 unwieldy and ex │ │ │ │ │ -00004010: 7065 6e73 6976 652e 2020 4120 6265 7474 pensive. A bett │ │ │ │ │ -00004020: 6572 2077 6179 2069 7320 746f 2073 6574 er way is to set │ │ │ │ │ -00004030: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch.. │ │ │ │ │ -00004040: 9920 696e 7465 726e 616c 0a6f 7074 696f . internal.optio │ │ │ │ │ -00004050: 6e20 e280 9863 756c 6ce2 8099 2074 6f20 n ...cull... to │ │ │ │ │ -00004060: e280 9866 616c 7365 e280 9920 696e 2074 ...false... in t │ │ │ │ │ -00004070: 6865 2075 7375 616c 20e2 8098 5053 5472 he usual ...PSTr │ │ │ │ │ -00004080: 6963 6b73 e280 9920 6d61 6e6e 6572 2e0a icks... manner.. │ │ │ │ │ -00004090: 2020 706f 6c79 676f 6e5b 6375 6c6c 3d66 polygon[cull=f │ │ │ │ │ -000040a0: 616c 7365 5d28 7031 2928 7032 2928 7033 alse](p1)(p2)(p3 │ │ │ │ │ -000040b0: 290a 5468 6520 666f 6c6c 6f77 696e 6720 ).The following │ │ │ │ │ -000040c0: 7368 6f77 7320 7468 6520 7361 6d65 2068 shows the same h │ │ │ │ │ -000040d0: 656c 6978 2073 6861 7065 2064 7261 776e elix shape drawn │ │ │ │ │ -000040e0: 2066 6972 7374 2077 6974 6820 6375 6c6c first with cull │ │ │ │ │ -000040f0: 3d74 7275 6520 2874 6865 0a64 6566 6175 =true (the.defau │ │ │ │ │ -00004100: 6c74 2920 616e 6420 7468 656e 2063 756c lt) and then cul │ │ │ │ │ -00004110: 6c3d 6661 6c73 652e 0a0a 0008 5b69 6d61 l=false.....[ima │ │ │ │ │ -00004120: 6765 2073 7263 3d22 6578 3034 352e 706e ge src="ex045.pn │ │ │ │ │ -00004130: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -00004140: 7830 3435 206f 6d69 7474 6564 2069 6e20 x045 omitted in │ │ │ │ │ -00004150: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -00004160: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -00004170: 085d 0a0a 5765 276c 6c20 736f 6f6e 2073 .]..We'll soon s │ │ │ │ │ -00004180: 6565 2068 6f77 2074 6f20 7072 6f64 7563 ee how to produc │ │ │ │ │ -00004190: 6520 7468 6573 6520 6865 6c69 7865 7320 e these helixes │ │ │ │ │ -000041a0: 7769 7468 2061 2066 6577 206c 696e 6573 with a few lines │ │ │ │ │ -000041b0: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ -000041c0: 0a6c 616e 6775 6167 6520 636f 6465 2e0a .language code.. │ │ │ │ │ -000041d0: 0a20 2020 4974 206d 6179 2062 6520 7465 . It may be te │ │ │ │ │ -000041e0: 6d70 7469 6e67 2074 6f20 7475 726e 2063 mpting to turn c │ │ │ │ │ -000041f0: 756c 6c69 6e67 206f 6666 2067 7261 7475 ulling off gratu │ │ │ │ │ -00004200: 6974 6f75 736c 7920 736f 2074 6861 7420 itously so that │ │ │ │ │ -00004210: 7665 7274 6578 0a6f 7264 6572 2063 616e vertex.order can │ │ │ │ │ -00004220: 2062 6520 6967 6e6f 7265 642e 2020 5468 be ignored. Th │ │ │ │ │ -00004230: 6973 2069 7320 6e6f 7420 6120 676f 6f64 is is not a good │ │ │ │ │ -00004240: 2069 6465 6120 6265 6361 7573 6520 6f75 idea because ou │ │ │ │ │ -00004250: 7470 7574 2066 696c 6520 7369 7a65 0a61 tput file size.a │ │ │ │ │ -00004260: 6e64 2054 6558 2061 6e64 2050 6f73 7473 nd TeX and Posts │ │ │ │ │ -00004270: 6372 6970 7420 7072 6f63 6573 7369 6e67 cript processing │ │ │ │ │ -00004280: 2074 696d 6520 626f 7468 2064 6570 656e time both depen │ │ │ │ │ -00004290: 6420 6f6e 2074 6865 206e 756d 6265 7220 d on the number │ │ │ │ │ -000042a0: 6f66 0a6f 7574 7075 7420 706f 6c79 676f of.output polygo │ │ │ │ │ -000042b0: 6e73 2e20 2043 756c 6c69 6e67 2075 7375 ns. Culling usu │ │ │ │ │ -000042c0: 616c 6c79 2069 6d70 726f 7665 7320 7065 ally improves pe │ │ │ │ │ -000042d0: 7266 6f72 6d61 6e63 6520 6279 2061 2066 rformance by a f │ │ │ │ │ -000042e0: 6163 746f 7220 6f66 0a74 776f 2e20 204f actor of.two. O │ │ │ │ │ -000042f0: 6e20 7468 6520 6f74 6865 7220 6861 6e64 n the other hand │ │ │ │ │ -00004300: 2c20 676c 6f62 616c 6c79 2073 6574 7469 , globally setti │ │ │ │ │ -00004310: 6e67 20e2 8098 6375 6c6c 3d66 616c 7365 ng ...cull=false │ │ │ │ │ -00004320: e280 9920 6973 2072 6561 736f 6e61 626c ... is reasonabl │ │ │ │ │ -00004330: 650a 7768 696c 6520 6465 6275 6767 696e e.while debuggin │ │ │ │ │ -00004340: 672e 2020 5365 6520 2a6e 6f74 6520 476c g. See *note Gl │ │ │ │ │ -00004350: 6f62 616c 206f 7074 696f 6e73 3a3a 2061 obal options:: a │ │ │ │ │ -00004360: 6e64 202a 6e6f 7465 204c 696d 6974 7320 nd *note Limits │ │ │ │ │ -00004370: 6f6e 2065 7272 6f72 0a64 6574 6563 7469 on error.detecti │ │ │ │ │ -00004380: 6f6e 3a3a 2e0a 0a1f 0a46 696c 653a 2073 on::.....File: s │ │ │ │ │ -00004390: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -000043a0: 653a 2053 7065 6369 616c 206f 626a 6563 e: Special objec │ │ │ │ │ -000043b0: 7473 2c20 204e 6578 743a 204f 626a 6563 ts, Next: Objec │ │ │ │ │ -000043c0: 7420 7472 616e 7366 6f72 6d73 2c20 2050 t transforms, P │ │ │ │ │ -000043d0: 7265 763a 2044 7261 7769 6e67 2061 2073 rev: Drawing a s │ │ │ │ │ -000043e0: 6f6c 6964 2c20 2055 703a 2049 6e74 726f olid, Up: Intro │ │ │ │ │ -000043f0: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp │ │ │ │ │ -00004400: 6c65 0a0a 322e 3420 5370 6563 6961 6c20 le..2.4 Special │ │ │ │ │ -00004410: 6f62 6a65 6374 730a 3d3d 3d3d 3d3d 3d3d objects.======== │ │ │ │ │ -00004420: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 6520 ===========..We │ │ │ │ │ -00004430: 6361 6e20 6164 6420 6c61 6265 6c73 2074 can add labels t │ │ │ │ │ -00004440: 6f20 6120 6472 6177 696e 6720 6279 2075 o a drawing by u │ │ │ │ │ -00004450: 7369 6e67 2073 7065 6369 616c 206f 626a sing special obj │ │ │ │ │ -00004460: 6563 7473 2c20 7768 6963 6820 7072 6f76 ects, which prov │ │ │ │ │ -00004470: 6964 6520 610a 7761 7920 746f 2065 6d62 ide a.way to emb │ │ │ │ │ -00004480: 6564 2072 6177 204c 6154 6558 2061 6e64 ed raw LaTeX and │ │ │ │ │ -00004490: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ -000044a0: 636f 6465 2e20 2041 6464 696e 6720 7468 code. Adding th │ │ │ │ │ -000044b0: 6973 2074 6f20 7468 650a 7465 7472 6168 is to the.tetrah │ │ │ │ │ -000044c0: 6564 726f 6e20 646f 6573 2074 6865 2074 edron does the t │ │ │ │ │ -000044d0: 7269 636b 2e0a 2020 7370 6563 6961 6c20 rick.. special │ │ │ │ │ -000044e0: 7c5c 666f 6f74 6e6f 7465 7369 7a65 0a20 |\footnotesize. │ │ │ │ │ -000044f0: 2020 2020 2020 2020 2020 5c75 7075 747b \uput{ │ │ │ │ │ -00004500: 3270 747d 5b75 725d 2331 7b24 5031 247d 2pt}[ur]#1{$P1$} │ │ │ │ │ -00004510: 0a20 2020 2020 2020 2020 2020 5c75 7075 . \upu │ │ │ │ │ -00004520: 745b 725d 2332 7b24 5032 247d 0a20 2020 t[r]#2{$P2$}. │ │ │ │ │ -00004530: 2020 2020 2020 2020 5c75 7075 745b 755d \uput[u] │ │ │ │ │ -00004540: 2333 7b24 5033 247d 0a20 2020 2020 2020 #3{$P3$}. │ │ │ │ │ -00004550: 2020 2020 5c75 7075 745b 645d 2334 7b24 \uput[d]#4{$ │ │ │ │ │ -00004560: 5034 247d 7c0a 2020 2020 2870 3129 2870 P4$}|. (p1)(p │ │ │ │ │ -00004570: 3229 2870 3329 2870 3429 0a48 6572 6520 2)(p3)(p4).Here │ │ │ │ │ -00004580: 6973 2074 6865 2072 6573 756c 742e 0a0a is the result... │ │ │ │ │ -00004590: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ -000045a0: 3034 322e 706e 6722 2074 6578 743d 2249 042.png" text="I │ │ │ │ │ -000045b0: 6d61 6765 2065 7830 3432 206f 6d69 7474 mage ex042 omitt │ │ │ │ │ -000045c0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ -000045d0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ -000045e0: 656e 742e 2200 085d 0a0a 2020 2054 6865 ent."..].. The │ │ │ │ │ -000045f0: 7265 2061 7265 2073 6576 6572 616c 2064 re are several d │ │ │ │ │ -00004600: 6574 6169 6c73 2074 6f20 6e6f 7465 2068 etails to note h │ │ │ │ │ -00004610: 6572 652e 2020 4669 7273 742c 2074 6865 ere. First, the │ │ │ │ │ -00004620: 2071 756f 7469 6e67 0a63 6f6e 7665 6e74 quoting.convent │ │ │ │ │ -00004630: 696f 6e20 666f 7220 7468 6520 7261 7720 ion for the raw │ │ │ │ │ -00004640: 636f 6465 2069 7320 7369 6d69 6c61 7220 code is similar │ │ │ │ │ -00004650: 746f 2074 6865 204c 6154 6558 205c 7665 to the LaTeX \ve │ │ │ │ │ -00004660: 7262 2063 6f6d 6d61 6e64 2e20 2054 6865 rb command. The │ │ │ │ │ -00004670: 0a66 6972 7374 206e 6f6e 2d77 6869 7465 .first non-white │ │ │ │ │ -00004680: 2073 7061 6365 2063 6861 7261 6374 6572 space character │ │ │ │ │ -00004690: 2066 6f6c 6c6f 7769 6e67 2073 7065 6369 following speci │ │ │ │ │ -000046a0: 616c 2069 7320 756e 6465 7273 746f 6f64 al is understood │ │ │ │ │ -000046b0: 2074 6f20 6265 0a74 6865 2071 756f 7465 to be.the quote │ │ │ │ │ -000046c0: 2063 6861 7261 6374 6572 2c20 696e 2074 character, in t │ │ │ │ │ -000046d0: 6869 7320 6361 7365 20e2 8098 7ce2 8099 his case ...|... │ │ │ │ │ -000046e0: 2e20 2054 6865 2072 6177 2074 6578 7420 . The raw text │ │ │ │ │ -000046f0: 636f 6e74 696e 7565 7320 756e 7469 6c0a continues until. │ │ │ │ │ -00004700: 7468 6973 2063 6861 7261 6374 6572 2072 this character r │ │ │ │ │ -00004710: 6563 7572 732e 0a0a 2020 2053 6563 6f6e ecurs... Secon │ │ │ │ │ -00004720: 642c 2074 6865 2061 7267 756d 656e 7420 d, the argument │ │ │ │ │ -00004730: 7265 6665 7265 6e63 6573 2023 312c 2023 references #1, # │ │ │ │ │ -00004740: 322c 2023 332c 2061 6e64 2023 3420 7265 2, #3, and #4 re │ │ │ │ │ -00004750: 6665 7220 746f 2070 6f69 6e74 2c0a 7665 fer to point,.ve │ │ │ │ │ -00004760: 6374 6f72 2c20 6f72 2073 6361 6c61 7220 ctor, or scalar │ │ │ │ │ -00004770: 7661 6c75 6573 2069 6e20 7468 6520 6c69 values in the li │ │ │ │ │ -00004780: 7374 2074 6861 7420 666f 6c6c 6f77 2e20 st that follow. │ │ │ │ │ -00004790: 2054 6869 7320 6973 2073 696d 696c 6172 This is similar │ │ │ │ │ -000047a0: 2074 6f0a 5465 5820 6d61 6372 6f20 7379 to.TeX macro sy │ │ │ │ │ -000047b0: 6e74 6178 2e20 2054 6865 2074 7261 6e73 ntax. The trans │ │ │ │ │ -000047c0: 666f 726d 6564 2061 6e64 2074 776f 2d64 formed and two-d │ │ │ │ │ -000047d0: 696d 656e 7369 6f6e 616c 2070 726f 6a65 imensional proje │ │ │ │ │ -000047e0: 6374 696f 6e73 206f 660a 7468 6573 6520 ctions of.these │ │ │ │ │ -000047f0: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona │ │ │ │ │ -00004800: 6c20 706f 696e 7473 2061 7265 2073 7562 l points are sub │ │ │ │ │ -00004810: 7374 6974 7574 6564 2069 6e20 7468 6520 stituted in the │ │ │ │ │ -00004820: 6669 6e61 6c20 6f75 7470 7574 2e20 2041 final output. A │ │ │ │ │ -00004830: 6e0a 6172 6775 6d65 6e74 2072 6566 6572 n.argument refer │ │ │ │ │ -00004840: 656e 6365 206f 6620 7468 6520 666f 726d ence of the form │ │ │ │ │ -00004850: 2023 312d 3220 6973 2072 6570 6c61 6365 #1-2 is replace │ │ │ │ │ -00004860: 6420 7769 7468 2074 6865 2061 6e67 6c65 d with the angle │ │ │ │ │ -00004870: 2069 6e0a 6465 6772 6565 7320 6f66 2074 in.degrees of t │ │ │ │ │ -00004880: 6865 2074 776f 2d64 696d 656e 7369 6f6e he two-dimension │ │ │ │ │ -00004890: 616c 2076 6563 746f 7220 7468 6174 2063 al vector that c │ │ │ │ │ -000048a0: 6f6e 6e65 6374 7320 7468 6520 7072 6f6a onnects the proj │ │ │ │ │ -000048b0: 6563 7469 6f6e 7320 6f66 0a74 6865 2074 ections of.the t │ │ │ │ │ -000048c0: 776f 2072 6573 7065 6374 6976 6520 6172 wo respective ar │ │ │ │ │ -000048d0: 6775 6d65 6e74 2070 6f69 6e74 732c 2068 gument points, h │ │ │ │ │ -000048e0: 6572 6520 2331 2061 6e64 2023 322e 2020 ere #1 and #2. │ │ │ │ │ -000048f0: 5468 6520 7375 6273 7469 7475 7465 640a The substituted. │ │ │ │ │ -00004900: 616e 676c 6520 6973 2065 6e63 6c6f 7365 angle is enclose │ │ │ │ │ -00004910: 6420 696e 2063 7572 6c79 2062 7261 6365 d in curly brace │ │ │ │ │ -00004920: 7320 e280 987b 207d e280 992e 2020 5768 s ...{ }.... Wh │ │ │ │ │ -00004930: 656e 20e2 8098 5469 6b5a 2f50 4746 e280 en ...TikZ/PGF.. │ │ │ │ │ -00004940: 9920 6f75 7470 7574 2069 730a 6265 696e . output is.bein │ │ │ │ │ -00004950: 6720 6765 6e65 7261 7465 642c 2074 6865 g generated, the │ │ │ │ │ -00004960: 2061 6e67 6c65 2069 7320 726f 756e 6465 angle is rounde │ │ │ │ │ -00004970: 6420 746f 2074 6865 206e 6561 7265 7374 d to the nearest │ │ │ │ │ -00004980: 2064 6567 7265 6520 6265 6361 7573 650a degree because. │ │ │ │ │ -00004990: 6e6f 6e2d 696e 7465 6765 7220 616e 676c non-integer angl │ │ │ │ │ -000049a0: 6573 2061 7265 206e 6f74 2061 6c6c 6f77 es are not allow │ │ │ │ │ -000049b0: 6564 2062 7920 e280 9854 696b 5a2f 5047 ed by ...TikZ/PG │ │ │ │ │ -000049c0: 46e2 8099 2070 7269 6d69 7469 7665 732e F... primitives. │ │ │ │ │ -000049d0: 0a0a 2020 2041 7320 6f66 2056 6572 7369 .. As of Versi │ │ │ │ │ -000049e0: 6f6e 2030 2e33 206f 6620 e280 9873 6b65 on 0.3 of ...ske │ │ │ │ │ -000049f0: 7463 68e2 8099 2c20 7370 6563 6961 6c20 tch..., special │ │ │ │ │ -00004a00: 6172 6775 6d65 6e74 7320 6d61 7920 6265 arguments may be │ │ │ │ │ -00004a10: 2073 6361 6c61 7273 206f 720a 7665 6374 scalars or.vect │ │ │ │ │ -00004a20: 6f72 7320 696e 2061 6464 6974 696f 6e20 ors in addition │ │ │ │ │ -00004a30: 746f 2070 6f69 6e74 732e 2020 5265 6665 to points. Refe │ │ │ │ │ -00004a40: 7265 6e63 6573 2074 6f20 7363 616c 6172 rences to scalar │ │ │ │ │ -00004a50: 2061 7267 756d 656e 7473 2061 7265 0a6d arguments are.m │ │ │ │ │ -00004a60: 6572 656c 7920 7265 706c 6163 6564 2077 erely replaced w │ │ │ │ │ -00004a70: 6974 6820 6120 6e75 6d62 6572 2066 6f72 ith a number for │ │ │ │ │ -00004a80: 6d61 7474 6564 206a 7573 7420 6173 2061 matted just as a │ │ │ │ │ -00004a90: 6e79 2070 6f69 6e74 2063 6f6f 7264 696e ny point coordin │ │ │ │ │ -00004aa0: 6174 652e 0a52 6566 6572 656e 6365 7320 ate..References │ │ │ │ │ -00004ab0: 746f 2076 6563 746f 7273 2062 6563 6f6d to vectors becom │ │ │ │ │ -00004ac0: 6520 7477 6f2d 6469 6d65 6e73 696f 6e61 e two-dimensiona │ │ │ │ │ -00004ad0: 6c20 706f 696e 7473 2e20 2054 6865 2074 l points. The t │ │ │ │ │ -00004ae0: 6963 6b20 6f70 6572 6174 6f72 0a74 6861 ick operator.tha │ │ │ │ │ -00004af0: 7420 7365 6c65 6374 7320 696e 6469 7669 t selects indivi │ │ │ │ │ -00004b00: 6475 616c 2063 6f6d 706f 6e65 6e74 7320 dual components │ │ │ │ │ -00004b10: 6f66 2070 6f69 6e74 7320 616e 6420 7665 of points and ve │ │ │ │ │ -00004b20: 6374 6f72 7320 656c 7365 7768 6572 6520 ctors elsewhere │ │ │ │ │ -00004b30: 696e 0ae2 8098 736b 6574 6368 e280 9920 in....sketch... │ │ │ │ │ -00004b40: 2873 6565 2066 6f72 2065 7861 6d70 6c65 (see for example │ │ │ │ │ -00004b50: 202a 6e6f 7465 2041 6666 696e 6520 6172 *note Affine ar │ │ │ │ │ -00004b60: 6974 686d 6574 6963 3a3a 2920 6361 6e20 ithmetic::) can │ │ │ │ │ -00004b70: 616c 736f 2062 6520 6170 706c 6965 640a also be applied. │ │ │ │ │ -00004b80: 746f 2070 6f69 6e74 2061 6e64 2076 6563 to point and vec │ │ │ │ │ -00004b90: 746f 7220 6172 6775 6d65 6e74 2072 6566 tor argument ref │ │ │ │ │ -00004ba0: 6572 656e 6365 732e 2020 416c 6c20 7468 erences. All th │ │ │ │ │ -00004bb0: 7265 6520 6469 6d65 6e73 696f 6e73 206f ree dimensions o │ │ │ │ │ -00004bc0: 6620 610a 7472 616e 7366 6f72 6d65 6420 f a.transformed │ │ │ │ │ -00004bd0: 706f 696e 7420 6f72 2076 6563 746f 7220 point or vector │ │ │ │ │ -00004be0: 6361 6e20 616c 736f 2062 6520 7375 6273 can also be subs │ │ │ │ │ -00004bf0: 7469 7475 6564 2077 6974 6820 e280 9827 titued with ...' │ │ │ │ │ -00004c00: 33e2 8099 2e20 2053 6565 202a 6e6f 7465 3.... See *note │ │ │ │ │ -00004c10: 0a53 7065 6369 616c 733a 3a20 666f 7220 .Specials:: for │ │ │ │ │ -00004c20: 6465 7461 696c 732e 0a0a 2020 2042 7920 details... By │ │ │ │ │ -00004c30: 6465 6661 756c 742c 20e2 8098 7370 6563 default, ...spec │ │ │ │ │ -00004c40: 6961 6ce2 8099 206f 626a 6563 7473 2061 ial... objects a │ │ │ │ │ -00004c50: 7265 2070 7269 6e74 6564 206c 6173 742c re printed last, │ │ │ │ │ -00004c60: 206f 7665 726c 6179 696e 6720 616c 6c20 overlaying all │ │ │ │ │ -00004c70: 6f74 6865 720a 6f62 6a65 6374 7320 696e other.objects in │ │ │ │ │ -00004c80: 2074 6865 2073 6365 6e65 2e20 2049 6620 the scene. If │ │ │ │ │ -00004c90: 796f 7520 7370 6563 6966 7920 7468 6520 you specify the │ │ │ │ │ -00004ca0: 696e 7465 726e 616c 206f 7074 696f 6e20 internal option │ │ │ │ │ -00004cb0: e280 986c 6179 3d69 6ee2 8099 2c20 7468 ...lay=in..., th │ │ │ │ │ -00004cc0: 650a 6869 6464 656e 2073 7572 6661 6365 e.hidden surface │ │ │ │ │ -00004cd0: 2061 6c67 6f72 6974 686d 2063 6f6e 7369 algorithm consi │ │ │ │ │ -00004ce0: 6465 7273 2074 6865 2065 6e74 6972 6520 ders the entire │ │ │ │ │ -00004cf0: 7370 6563 6961 6c20 6f62 6a65 6374 2074 special object t │ │ │ │ │ -00004d00: 6f20 6265 2074 6865 0a66 6972 7374 2070 o be the.first p │ │ │ │ │ -00004d10: 6f69 6e74 2028 2331 2920 696e 2074 6865 oint (#1) in the │ │ │ │ │ -00004d20: 2061 7267 756d 656e 7420 6c69 7374 2e20 argument list. │ │ │ │ │ -00004d30: 2049 6620 7468 6174 2070 6f69 6e74 2069 If that point i │ │ │ │ │ -00004d40: 7320 6265 6869 6e64 2028 6f66 0a73 6d61 s behind (of.sma │ │ │ │ │ -00004d50: 6c6c 6572 207a 2d63 6f6d 706f 6e65 6e74 ller z-component │ │ │ │ │ -00004d60: 2074 6861 6e29 2061 6e79 2064 7261 7761 than) any drawa │ │ │ │ │ -00004d70: 626c 652c 2074 6865 6e20 7468 6520 656e ble, then the en │ │ │ │ │ -00004d80: 7469 7265 2073 7065 6369 616c 206f 626a tire special obj │ │ │ │ │ -00004d90: 6563 740a 6973 2064 7261 776e 2062 6566 ect.is drawn bef │ │ │ │ │ -00004da0: 6f72 6520 7468 6174 2064 7261 7761 626c ore that drawabl │ │ │ │ │ -00004db0: 652c 2073 6f20 7468 6520 6472 6177 6162 e, so the drawab │ │ │ │ │ -00004dc0: 6c65 206f 6273 6375 7265 7320 7061 7274 le obscures part │ │ │ │ │ -00004dd0: 7320 6f66 2074 6865 0a73 7065 6369 616c s of the.special │ │ │ │ │ -00004de0: 206f 626a 6563 7420 7468 6174 206f 7665 object that ove │ │ │ │ │ -00004df0: 726c 6170 7320 6974 2e20 2049 6e20 6f75 rlaps it. In ou │ │ │ │ │ -00004e00: 7220 6578 616d 706c 652c 2070 3120 6973 r example, p1 is │ │ │ │ │ -00004e10: 2074 6865 2066 726f 6e74 2d6d 6f73 740a the front-most. │ │ │ │ │ -00004e20: 706f 696e 7420 696e 2074 6865 2073 6365 point in the sce │ │ │ │ │ -00004e30: 6e65 2028 6861 7320 7468 6520 6c61 7267 ne (has the larg │ │ │ │ │ -00004e40: 6573 7420 7a2d 636f 6d70 6f6e 656e 7429 est z-component) │ │ │ │ │ -00004e50: 2c20 736f 2061 6464 696e 6720 e280 986c , so adding ...l │ │ │ │ │ -00004e60: 6179 3d69 6ee2 8099 2068 6173 0a6e 6f20 ay=in... has.no │ │ │ │ │ -00004e70: 6566 6665 6374 2e0a 0a20 2020 5769 7468 effect... With │ │ │ │ │ -00004e80: 206f 7074 696f 6e20 e280 986c 6179 3d75 option ...lay=u │ │ │ │ │ -00004e90: 6e64 6572 e280 992c 2061 2073 7065 6369 nder..., a speci │ │ │ │ │ -00004ea0: 616c 2069 7320 6472 6177 6e20 5f62 6566 al is drawn _bef │ │ │ │ │ -00004eb0: 6f72 655f 2c20 6865 6e63 6520 6170 7065 ore_, hence appe │ │ │ │ │ -00004ec0: 6172 730a 5f75 6e64 6572 5f20 616e 7920 ars._under_ any │ │ │ │ │ -00004ed0: 6f66 2074 6865 206f 626a 6563 7473 2068 of the objects h │ │ │ │ │ -00004ee0: 616e 646c 6564 2062 7920 7468 6520 6869 andled by the hi │ │ │ │ │ -00004ef0: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg │ │ │ │ │ -00004f00: 6f72 6974 686d 2e0a 5468 6973 2069 7320 orithm..This is │ │ │ │ │ -00004f10: 686f 7720 7468 6520 6c69 6768 7420 6772 how the light gr │ │ │ │ │ -00004f20: 6179 2061 7865 7320 7765 7265 2061 6464 ay axes were add │ │ │ │ │ -00004f30: 6564 2074 6f20 7468 6520 2268 656c 6c6f ed to the "hello │ │ │ │ │ -00004f40: 2077 6f72 6c64 2220 6578 616d 706c 650a world" example. │ │ │ │ │ -00004f50: 2a6e 6f74 6520 4865 6c6c 6f20 776f 726c *note Hello worl │ │ │ │ │ -00004f60: 643a 3a2e 0a0a 2020 2053 7065 6369 616c d::... Special │ │ │ │ │ -00004f70: 206f 626a 6563 7473 2061 7265 2070 6f77 objects are pow │ │ │ │ │ -00004f80: 6572 6675 6c2c 2077 6974 6820 6d61 6e79 erful, with many │ │ │ │ │ -00004f90: 2070 6f73 7369 626c 6520 7573 6573 2e0a possible uses.. │ │ │ │ │ -00004fa0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -00004fb0: 696e 666f 2c20 204e 6f64 653a 204f 626a info, Node: Obj │ │ │ │ │ -00004fc0: 6563 7420 7472 616e 7366 6f72 6d73 2c20 ect transforms, │ │ │ │ │ -00004fd0: 204e 6578 743a 2052 6570 6561 7465 6420 Next: Repeated │ │ │ │ │ -00004fe0: 6f62 6a65 6374 732c 2020 5072 6576 3a20 objects, Prev: │ │ │ │ │ -00004ff0: 5370 6563 6961 6c20 6f62 6a65 6374 732c Special objects, │ │ │ │ │ -00005000: 2020 5570 3a20 496e 7472 6f64 7563 7469 Up: Introducti │ │ │ │ │ -00005010: 6f6e 2062 7920 6578 616d 706c 650a 0a32 on by example..2 │ │ │ │ │ -00005020: 2e35 2054 7261 6e73 666f 726d 730a 3d3d .5 Transforms.== │ │ │ │ │ -00005030: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4e6f ============..No │ │ │ │ │ -00005040: 7720 6c65 7427 7320 6164 6420 6120 7365 w let's add a se │ │ │ │ │ -00005050: 636f 6e64 2063 6f70 7920 6f66 2074 6865 cond copy of the │ │ │ │ │ -00005060: 2070 6965 7263 6564 2074 6574 7261 6865 pierced tetrahe │ │ │ │ │ -00005070: 6472 6f6e 2e20 2057 6527 6c6c 2072 6f74 dron. We'll rot │ │ │ │ │ -00005080: 6174 650a 7468 6520 636f 7079 2039 3020 ate.the copy 90 │ │ │ │ │ -00005090: 6465 6772 6565 7320 6162 6f75 7420 7468 degrees about th │ │ │ │ │ -000050a0: 6520 782d 6178 6973 2077 6974 6820 7468 e x-axis with th │ │ │ │ │ -000050b0: 6520 6f72 6967 696e 2061 7320 e280 9c63 e origin as ...c │ │ │ │ │ -000050c0: 656e 7465 7220 6f66 0a72 6f74 6174 696f enter of.rotatio │ │ │ │ │ -000050d0: 6ee2 809d 2073 6f20 7765 2063 616e 2073 n... so we can s │ │ │ │ │ -000050e0: 6565 2074 6865 2062 6163 6b2c 2074 6865 ee the back, the │ │ │ │ │ -000050f0: 6e20 7472 616e 736c 6174 6520 6974 2074 n translate it t │ │ │ │ │ -00005100: 6f20 7468 6520 7269 6768 742d 2d69 6e20 o the right--in │ │ │ │ │ -00005110: 7468 650a 706f 7369 7469 7665 2078 2d64 the.positive x-d │ │ │ │ │ -00005120: 6972 6563 7469 6f6e 2d2d 736f 2069 7420 irection--so it │ │ │ │ │ -00005130: 646f 6573 6e27 7420 636f 6c6c 6964 6520 doesn't collide │ │ │ │ │ -00005140: 7769 7468 2074 6865 206f 7269 6769 6e61 with the origina │ │ │ │ │ -00005150: 6c2e 2020 546f 2068 656c 700a 7573 2073 l. To help.us s │ │ │ │ │ -00005160: 6565 2077 6861 7427 7320 676f 696e 6720 ee what's going │ │ │ │ │ -00005170: 6f6e 2c20 6d61 6b65 2074 6865 2062 6163 on, make the bac │ │ │ │ │ -00005180: 6b20 7369 6465 2067 7261 792e 0a20 2064 k side gray.. d │ │ │ │ │ -00005190: 6566 2070 6965 7263 6564 5f74 6574 7261 ef pierced_tetra │ │ │ │ │ -000051a0: 6865 6472 6f6e 207b 0a20 2020 2064 6566 hedron {. def │ │ │ │ │ -000051b0: 2070 3120 2830 2c30 2c31 2920 6465 6620 p1 (0,0,1) def │ │ │ │ │ -000051c0: 7032 2028 312c 302c 3029 0a20 2020 2064 p2 (1,0,0). d │ │ │ │ │ -000051d0: 6566 2070 3320 2830 2c31 2c30 2920 6465 ef p3 (0,1,0) de │ │ │ │ │ -000051e0: 6620 7034 2028 2d2e 332c 2d2e 352c 2d2e f p4 (-.3,-.5,-. │ │ │ │ │ -000051f0: 3829 0a20 2020 2070 6f6c 7967 6f6e 2870 8). polygon(p │ │ │ │ │ -00005200: 3129 2870 3229 2870 3329 2020 2020 2020 1)(p2)(p3) │ │ │ │ │ +00002750: 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6520 e280 ********..The .. │ │ │ │ │ +00002760: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input │ │ │ │ │ +00002770: 206c 616e 6775 6167 6520 7769 6c6c 2073 language will s │ │ │ │ │ +00002780: 6565 6d20 6661 6d69 6c69 6172 2074 6f20 eem familiar to │ │ │ │ │ +00002790: 7573 6572 7320 6f66 2074 6865 0ae2 8098 users of the.... │ │ │ │ │ +000027a0: 5053 5472 6963 6b73 e280 9920 7061 636b PSTricks... pack │ │ │ │ │ +000027b0: 6167 6520 666f 7220 4c61 5465 582e 2020 age for LaTeX. │ │ │ │ │ +000027c0: 5468 6520 666f 6c6c 6f77 696e 6720 7072 The following pr │ │ │ │ │ +000027d0: 6f67 7261 6d20 6472 6177 7320 6120 7472 ogram draws a tr │ │ │ │ │ +000027e0: 6961 6e67 756c 6172 0a70 6f6c 7967 6f6e iangular.polygon │ │ │ │ │ +000027f0: 2070 6965 7263 6564 2062 7920 6120 6c69 pierced by a li │ │ │ │ │ +00002800: 6e65 2e0a 2020 706f 6c79 676f 6e28 302c ne.. polygon(0, │ │ │ │ │ +00002810: 302c 3129 2831 2c30 2c30 2928 302c 312c 0,1)(1,0,0)(0,1, │ │ │ │ │ +00002820: 3029 0a20 206c 696e 6528 2d31 2c2d 312c 0). line(-1,-1, │ │ │ │ │ +00002830: 2d31 2928 322c 322c 3229 0a54 6865 2063 -1)(2,2,2).The c │ │ │ │ │ +00002840: 6f6f 7264 696e 6174 6520 7379 7374 656d oordinate system │ │ │ │ │ +00002850: 2069 7320 6120 7374 616e 6461 7264 2072 is a standard r │ │ │ │ │ +00002860: 6967 6874 2d68 616e 6465 6420 4361 7274 ight-handed Cart │ │ │ │ │ +00002870: 6573 6961 6e20 6f6e 652e 0a0a 0008 5b69 esian one.....[i │ │ │ │ │ +00002880: 6d61 6765 2073 7263 3d22 6578 3031 302e mage src="ex010. │ │ │ │ │ +00002890: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +000028a0: 2065 7830 3130 206f 6d69 7474 6564 2069 ex010 omitted i │ │ │ │ │ +000028b0: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +000028c0: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +000028d0: 2200 085d 0a0a 2a20 4d65 6e75 3a0a 0a2a "..]..* Menu:..* │ │ │ │ │ +000028e0: 2048 656c 6c6f 2077 6f72 6c64 3a3a 2020 Hello world:: │ │ │ │ │ +000028f0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00002900: 696d 706c 6573 7420 706f 7373 6962 6c65 implest possible │ │ │ │ │ +00002910: 20e2 8098 736b 6574 6368 e280 9920 7072 ...sketch... pr │ │ │ │ │ +00002920: 6f67 7261 6d2e 0a2a 2044 7261 7769 6e67 ogram..* Drawing │ │ │ │ │ +00002930: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: │ │ │ │ │ +00002940: 2020 2020 2020 2043 6f6e 7472 6f6c 6c69 Controlli │ │ │ │ │ +00002950: 6e67 206f 626a 6563 7420 6170 7065 6172 ng object appear │ │ │ │ │ +00002960: 616e 6365 2e0a 2a20 4472 6177 696e 6720 ance..* Drawing │ │ │ │ │ +00002970: 6120 736f 6c69 643a 3a20 2020 2020 2020 a solid:: │ │ │ │ │ +00002980: 2020 2020 2020 4472 6177 696e 6720 616e Drawing an │ │ │ │ │ +00002990: 206f 626a 6563 7420 7769 7468 2033 6420 object with 3d │ │ │ │ │ +000029a0: 6170 7065 6172 616e 6365 2e0a 2a20 5370 appearance..* Sp │ │ │ │ │ +000029b0: 6563 6961 6c20 6f62 6a65 6374 733a 3a20 ecial objects:: │ │ │ │ │ +000029c0: 2020 2020 2020 2020 2020 2020 4c61 7969 Layi │ │ │ │ │ +000029d0: 6e67 2054 6558 206f 7665 722c 2069 6e2c ng TeX over, in, │ │ │ │ │ +000029e0: 206f 7220 756e 6465 7220 6472 6177 696e or under drawin │ │ │ │ │ +000029f0: 6773 2e0a 2a20 4f62 6a65 6374 2074 7261 gs..* Object tra │ │ │ │ │ +00002a00: 6e73 666f 726d 733a 3a20 2020 2020 2020 nsforms:: │ │ │ │ │ +00002a10: 2020 2020 526f 7461 7465 2c20 7472 616e Rotate, tran │ │ │ │ │ +00002a20: 736c 6174 652c 2073 6361 6c65 2c20 616e slate, scale, an │ │ │ │ │ +00002a30: 6420 6f74 6865 7273 2e0a 2a20 5265 7065 d others..* Repe │ │ │ │ │ +00002a40: 6174 6564 206f 626a 6563 7473 3a3a 2020 ated objects:: │ │ │ │ │ +00002a50: 2020 2020 2020 2020 2020 4d61 6b69 6e67 Making │ │ │ │ │ +00002a60: 2074 7261 6e73 666f 726d 6564 2063 6f70 transformed cop │ │ │ │ │ +00002a70: 6965 732e 0a2a 2053 7765 7074 206f 626a ies..* Swept obj │ │ │ │ │ +00002a80: 6563 7473 3a3a 2020 2020 2020 2020 2020 ects:: │ │ │ │ │ +00002a90: 2020 2020 2053 7765 6570 696e 6720 6f62 Sweeping ob │ │ │ │ │ +00002aa0: 6a65 6374 7320 696e 2073 7061 6365 2074 jects in space t │ │ │ │ │ +00002ab0: 6f20 6d61 6b65 206e 6577 2073 6861 7065 o make new shape │ │ │ │ │ +00002ac0: 732e 0a0a 1f0a 4669 6c65 3a20 736b 6574 s.....File: sket │ │ │ │ │ +00002ad0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00002ae0: 4865 6c6c 6f20 776f 726c 642c 2020 4e65 Hello world, Ne │ │ │ │ │ +00002af0: 7874 3a20 4472 6177 696e 6720 6f70 7469 xt: Drawing opti │ │ │ │ │ +00002b00: 6f6e 732c 2020 5072 6576 3a20 496e 7472 ons, Prev: Intr │ │ │ │ │ +00002b10: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ +00002b20: 706c 652c 2020 5570 3a20 496e 7472 6f64 ple, Up: Introd │ │ │ │ │ +00002b30: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl │ │ │ │ │ +00002b40: 650a 0a32 2e31 2048 656c 6c6f 2077 6f72 e..2.1 Hello wor │ │ │ │ │ +00002b50: 6c64 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ld.============= │ │ │ │ │ +00002b60: 3d3d 0a0a 5468 6520 e280 9873 6b65 7463 ==..The ...sketc │ │ │ │ │ +00002b70: 68e2 8099 2070 726f 6772 616d 2061 626f h... program abo │ │ │ │ │ +00002b80: 7665 2069 7320 6e65 6172 6c79 2074 6865 ve is nearly the │ │ │ │ │ +00002b90: 2073 696d 706c 6573 7420 6f6e 6520 706f simplest one po │ │ │ │ │ +00002ba0: 7373 6962 6c65 2c20 7468 650a 6571 7569 ssible, the.equi │ │ │ │ │ +00002bb0: 7661 6c65 6e74 206f 6620 6120 2268 656c valent of a "hel │ │ │ │ │ +00002bc0: 6c6f 2077 6f72 6c64 2220 7072 6f67 7261 lo world" progra │ │ │ │ │ +00002bd0: 6d20 796f 7520 6d69 6768 7420 6669 6e64 m you might find │ │ │ │ │ +00002be0: 2061 7420 7468 6520 7374 6172 7420 6f66 at the start of │ │ │ │ │ +00002bf0: 2061 0a70 726f 6772 616d 6d69 6e67 206c a.programming l │ │ │ │ │ +00002c00: 616e 6775 6167 6520 7465 7874 2e20 2049 anguage text. I │ │ │ │ │ +00002c10: 6620 6974 2069 7320 7361 7665 6420 696e f it is saved in │ │ │ │ │ +00002c20: 2074 6865 2066 696c 6520 e280 9873 696d the file ...sim │ │ │ │ │ +00002c30: 706c 652e 736b e280 992c 2074 6865 6e0a ple.sk..., then. │ │ │ │ │ +00002c40: 7468 6520 636f 6d6d 616e 640a 2020 736b the command. sk │ │ │ │ │ +00002c50: 6574 6368 2073 696d 706c 652e 736b 202d etch simple.sk - │ │ │ │ │ +00002c60: 6f20 7369 6d70 6c65 2e74 6578 0a63 7265 o simple.tex.cre │ │ │ │ │ +00002c70: 6174 6573 2061 2066 696c 6520 e280 9873 ates a file ...s │ │ │ │ │ +00002c80: 696d 706c 652e 7465 78e2 8099 2063 6f6e imple.tex... con │ │ │ │ │ +00002c90: 7461 696e 696e 6720 e280 9850 5354 7269 taining ...PSTri │ │ │ │ │ +00002ca0: 636b 73e2 8099 2063 6f6d 6d61 6e64 7320 cks... commands │ │ │ │ │ +00002cb0: 746f 2064 7261 7720 7468 6573 650a 6f62 to draw these.ob │ │ │ │ │ +00002cc0: 6a65 6374 7320 6f6e 2070 6170 6572 2e20 jects on paper. │ │ │ │ │ +00002cd0: 2054 6865 2063 6f6e 7465 6e74 7320 6f66 The contents of │ │ │ │ │ +00002ce0: 20e2 8098 7369 6d70 6c65 2e74 6578 e280 ...simple.tex.. │ │ │ │ │ +00002cf0: 9920 6c6f 6f6b 206c 696b 6520 7468 6973 . look like this │ │ │ │ │ +00002d00: 2e0a 2020 5c62 6567 696e 7b70 7370 6963 .. \begin{pspic │ │ │ │ │ +00002d10: 7475 7265 7d28 2d31 2c2d 3129 2832 2c32 ture}(-1,-1)(2,2 │ │ │ │ │ +00002d20: 290a 2020 5c70 7374 5665 7262 7b31 2073 ). \pstVerb{1 s │ │ │ │ │ +00002d30: 6574 6c69 6e65 6a6f 696e 7d0a 2020 5c70 etlinejoin}. \p │ │ │ │ │ +00002d40: 736c 696e 6528 2d31 2c2d 3129 282e 3333 sline(-1,-1)(.33 │ │ │ │ │ +00002d50: 332c 2e33 3333 290a 2020 5c70 7370 6f6c 3,.333). \pspol │ │ │ │ │ +00002d60: 7967 6f6e 5b66 696c 6c73 7479 6c65 3d73 ygon[fillstyle=s │ │ │ │ │ +00002d70: 6f6c 6964 2c66 696c 6c63 6f6c 6f72 3d77 olid,fillcolor=w │ │ │ │ │ +00002d80: 6869 7465 5d28 302c 3029 2831 2c30 2928 hite](0,0)(1,0)( │ │ │ │ │ +00002d90: 302c 3129 0a20 205c 7073 6c69 6e65 282e 0,1). \psline(. │ │ │ │ │ +00002da0: 3333 332c 2e33 3333 2928 322c 3229 0a20 333,.333)(2,2). │ │ │ │ │ +00002db0: 205c 656e 647b 7073 7069 6374 7572 657d \end{pspicture} │ │ │ │ │ +00002dc0: 0a54 6865 2068 6964 6465 6e20 7375 7266 .The hidden surf │ │ │ │ │ +00002dd0: 6163 6520 616c 676f 7269 7468 6d20 6f66 ace algorithm of │ │ │ │ │ +00002de0: 20e2 8098 736b 6574 6368 e280 9920 6861 ...sketch... ha │ │ │ │ │ +00002df0: 7320 7370 6c69 7420 7468 6520 6c69 6e65 s split the line │ │ │ │ │ +00002e00: 2069 6e74 6f20 7477 6f0a 7069 6563 6573 into two.pieces │ │ │ │ │ +00002e10: 2061 6e64 206f 7264 6572 6564 2074 6865 and ordered the │ │ │ │ │ +00002e20: 2074 6872 6565 2072 6573 756c 7469 6e67 three resulting │ │ │ │ │ +00002e30: 206f 626a 6563 7473 2073 6f20 7468 6174 objects so that │ │ │ │ │ +00002e40: 2074 6865 2063 6f72 7265 6374 0a70 6f72 the correct.por │ │ │ │ │ +00002e50: 7469 6f6e 206f 6620 7468 6520 6c69 6e65 tion of the line │ │ │ │ │ +00002e60: 2069 7320 6869 6464 656e 2e0a 0a20 2020 is hidden... │ │ │ │ │ +00002e70: 4966 2079 6f75 2776 6520 6e6f 7469 6365 If you've notice │ │ │ │ │ +00002e80: 6420 7468 6174 2074 6865 2070 726f 6a65 d that the proje │ │ │ │ │ +00002e90: 6374 696f 6e20 7765 2061 7265 2075 7369 ction we are usi │ │ │ │ │ +00002ea0: 6e67 2073 6565 6d73 2065 7175 6976 616c ng seems equival │ │ │ │ │ +00002eb0: 656e 740a 746f 2065 7261 7369 6e67 2074 ent.to erasing t │ │ │ │ │ +00002ec0: 6865 207a 2d63 6f6f 7264 696e 6174 6520 he z-coordinate │ │ │ │ │ +00002ed0: 6f66 2074 6865 2074 6872 6565 2d64 696d of the three-dim │ │ │ │ │ +00002ee0: 656e 7369 6f6e 616c 2069 6e70 7574 2070 ensional input p │ │ │ │ │ +00002ef0: 6f69 6e74 732c 2070 6174 0a79 6f75 7273 oints, pat.yours │ │ │ │ │ +00002f00: 656c 6620 6f6e 2074 6865 2062 6163 6b2e elf on the back. │ │ │ │ │ +00002f10: 2020 596f 7520 6172 6520 636f 7272 6563 You are correc │ │ │ │ │ +00002f20: 742e 2020 5468 6973 2069 7320 6361 6c6c t. This is call │ │ │ │ │ +00002f30: 6564 2061 20e2 809c 7061 7261 6c6c 656c ed a ...parallel │ │ │ │ │ +00002f40: 0a70 726f 6a65 6374 696f 6ee2 809d 2e20 .projection.... │ │ │ │ │ +00002f50: 2054 6865 207a 2d63 6f6f 7264 696e 6174 The z-coordinat │ │ │ │ │ +00002f60: 6520 6178 6973 2069 7320 706f 696e 7469 e axis is pointi │ │ │ │ │ +00002f70: 6e67 2073 7472 6169 6768 7420 6f75 7420 ng straight out │ │ │ │ │ +00002f80: 6f66 2074 6865 0a70 6170 6572 2061 7420 of the.paper at │ │ │ │ │ +00002f90: 7573 2c20 7768 696c 6520 7468 6520 782d us, while the x- │ │ │ │ │ +00002fa0: 2061 6e64 2079 2d61 7865 7320 706f 696e and y-axes poin │ │ │ │ │ +00002fb0: 7420 746f 2074 6865 2072 6967 6874 2061 t to the right a │ │ │ │ │ +00002fc0: 6e64 2075 7020 6173 2075 7375 616c 2e0a nd up as usual.. │ │ │ │ │ +00002fd0: 0a20 2020 5468 6520 7265 7375 6c74 696e . The resultin │ │ │ │ │ +00002fe0: 6720 7069 6374 7572 6520 6669 6c65 2063 g picture file c │ │ │ │ │ +00002ff0: 616e 2062 6520 696e 636c 7564 6564 2069 an be included i │ │ │ │ │ +00003000: 6e20 6120 4c61 5465 5820 646f 6375 6d65 n a LaTeX docume │ │ │ │ │ +00003010: 6e74 2077 6974 680a 5c69 6e70 7574 7b73 nt with.\input{s │ │ │ │ │ +00003020: 696d 706c 657d 2e20 2041 6c74 6572 6e61 imple}. Alterna │ │ │ │ │ +00003030: 7465 6c79 2c20 6164 6469 6e67 2074 6865 tely, adding the │ │ │ │ │ +00003040: 2063 6f6d 6d61 6e64 206c 696e 6520 6f70 command line op │ │ │ │ │ +00003050: 7469 6f6e 20e2 8098 2d54 e280 9928 3129 tion ...-T...(1) │ │ │ │ │ +00003060: 0a63 6175 7365 7320 7468 6520 e280 9870 .causes the ...p │ │ │ │ │ +00003070: 7370 6963 7475 7265 e280 9920 746f 2062 spicture... to b │ │ │ │ │ +00003080: 6520 7772 6170 7065 6420 696e 2061 2073 e wrapped in a s │ │ │ │ │ +00003090: 686f 7274 2062 7574 2063 6f6d 706c 6574 hort but complet │ │ │ │ │ +000030a0: 6520 646f 6375 6d65 6e74 2c0a 7265 6164 e document,.read │ │ │ │ │ +000030b0: 7920 746f 2072 756e 2074 686f 7567 6820 y to run though │ │ │ │ │ +000030c0: 4c61 5465 582e 2020 496e 2061 2066 696e LaTeX. In a fin │ │ │ │ │ +000030d0: 6973 6865 642c 2074 7970 6573 6574 2064 ished, typeset d │ │ │ │ │ +000030e0: 6f63 756d 656e 742c 2074 6865 2070 6963 ocument, the pic │ │ │ │ │ +000030f0: 7475 7265 0a6c 6f6f 6b73 206c 696b 6520 ture.looks like │ │ │ │ │ +00003100: 7468 6973 2e20 2028 5468 6520 6178 6573 this. (The axes │ │ │ │ │ +00003110: 2068 6176 6520 6265 656e 2061 6464 6564 have been added │ │ │ │ │ +00003120: 2069 6e20 6c69 6768 7420 6772 6179 2e29 in light gray.) │ │ │ │ │ +00003130: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ +00003140: 6578 3032 302e 706e 6722 2074 6578 743d ex020.png" text= │ │ │ │ │ +00003150: 2249 6d61 6765 2065 7830 3230 206f 6d69 "Image ex020 omi │ │ │ │ │ +00003160: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ +00003170: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ +00003180: 756d 656e 742e 2200 085d 0a0a 4974 2069 ument."..]..It i │ │ │ │ │ +00003190: 7320 696d 706f 7274 616e 7420 746f 206b s important to k │ │ │ │ │ +000031a0: 6e6f 7720 7468 6174 206f 6e6c 7920 7468 now that only th │ │ │ │ │ +000031b0: 6520 226f 7574 7369 6465 2220 6f66 2061 e "outside" of a │ │ │ │ │ +000031c0: 2070 6f6c 7967 6f6e 2069 7320 6e6f 726d polygon is norm │ │ │ │ │ +000031d0: 616c 6c79 0a64 7261 776e 2e20 2054 6865 ally.drawn. The │ │ │ │ │ +000031e0: 20e2 809c 6f75 7473 6964 65e2 809d 2069 ...outside... i │ │ │ │ │ +000031f0: 7320 7768 6572 6520 7468 6520 7665 7274 s where the vert │ │ │ │ │ +00003200: 6963 6573 2067 6976 656e 2069 6e20 7468 ices given in th │ │ │ │ │ +00003210: 6520 e280 9870 6f6c 7967 6f6e e280 990a e ...polygon.... │ │ │ │ │ +00003220: 636f 6d6d 616e 6420 6170 7065 6172 2069 command appear i │ │ │ │ │ +00003230: 6e20 5f63 6f75 6e74 6572 2d63 6c6f 636b n _counter-clock │ │ │ │ │ +00003240: 7769 7365 5f20 6f72 6465 722e 2020 5468 wise_ order. Th │ │ │ │ │ +00003250: 7573 2c20 6966 2074 6865 2063 6f6d 6d61 us, if the comma │ │ │ │ │ +00003260: 6e64 2061 626f 7665 0a68 6164 2062 6565 nd above.had bee │ │ │ │ │ +00003270: 6e0a 2020 706f 6c79 676f 6e28 302c 312c n. polygon(0,1, │ │ │ │ │ +00003280: 3029 2831 2c30 2c30 2928 302c 302c 3129 0)(1,0,0)(0,0,1) │ │ │ │ │ +00003290: 0a74 6865 2070 6f6c 7967 6f6e 2077 6f75 .the polygon wou │ │ │ │ │ +000032a0: 6c64 206e 6f74 2061 7070 6561 7220 696e ld not appear in │ │ │ │ │ +000032b0: 2074 6865 2070 6963 7475 7265 2061 7420 the picture at │ │ │ │ │ +000032c0: 616c 6c2e 2020 4974 2077 6f75 6c64 2068 all. It would h │ │ │ │ │ +000032d0: 6176 6520 6265 656e 0ae2 809c 6375 6c6c ave been....cull │ │ │ │ │ +000032e0: 6564 e280 9d20 6672 6f6d 2074 6865 2073 ed... from the s │ │ │ │ │ +000032f0: 6365 6e65 2e20 2054 6869 7320 6375 6c6c cene. This cull │ │ │ │ │ +00003300: 696e 6720 6265 6861 7669 6f72 206d 6179 ing behavior may │ │ │ │ │ +00003310: 2073 6565 6d20 7374 7261 6e67 652c 2062 seem strange, b │ │ │ │ │ +00003320: 7574 0a73 7461 7920 7475 6e65 642e 0a0a ut.stay tuned... │ │ │ │ │ +00003330: 2020 202d 2d2d 2d2d 2d2d 2d2d 2d20 466f ---------- Fo │ │ │ │ │ +00003340: 6f74 6e6f 7465 7320 2d2d 2d2d 2d2d 2d2d otnotes -------- │ │ │ │ │ +00003350: 2d2d 0a0a 2020 2028 3129 204f 7220 666f --.. (1) Or fo │ │ │ │ │ +00003360: 7220 4575 726f 7065 616e 2075 7365 7273 r European users │ │ │ │ │ +00003370: 206f 6620 4134 2073 697a 6520 7061 7065 of A4 size pape │ │ │ │ │ +00003380: 722c 20e2 8098 2d54 65e2 8099 2e0a 0a1f r, ...-Te....... │ │ │ │ │ +00003390: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +000033a0: 666f 2c20 204e 6f64 653a 2044 7261 7769 fo, Node: Drawi │ │ │ │ │ +000033b0: 6e67 206f 7074 696f 6e73 2c20 204e 6578 ng options, Nex │ │ │ │ │ +000033c0: 743a 2044 7261 7769 6e67 2061 2073 6f6c t: Drawing a sol │ │ │ │ │ +000033d0: 6964 2c20 2050 7265 763a 2048 656c 6c6f id, Prev: Hello │ │ │ │ │ +000033e0: 2077 6f72 6c64 2c20 2055 703a 2049 6e74 world, Up: Int │ │ │ │ │ +000033f0: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa │ │ │ │ │ +00003400: 6d70 6c65 0a0a 322e 3220 4f70 7469 6f6e mple..2.2 Option │ │ │ │ │ +00003410: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4d s.===========..M │ │ │ │ │ +00003420: 616e 7920 e280 9850 5354 7269 636b 73e2 any ...PSTricks. │ │ │ │ │ +00003430: 8099 2061 6e64 20e2 8098 5469 6b5a 2f50 .. and ...TikZ/P │ │ │ │ │ +00003440: 4746 e280 9920 6f70 7469 6f6e 7320 776f GF... options wo │ │ │ │ │ +00003450: 726b 206a 7573 7420 6669 6e65 2069 6e20 rk just fine in │ │ │ │ │ +00003460: e280 9873 6b65 7463 68e2 8099 2e20 2049 ...sketch.... I │ │ │ │ │ +00003470: 660a 6765 6e65 7261 7469 6e67 20e2 8098 f.generating ... │ │ │ │ │ +00003480: 5053 5472 6963 6b73 e280 992c 2074 6865 PSTricks..., the │ │ │ │ │ +00003490: 2063 6f64 650a 2020 706f 6c79 676f 6e5b code. polygon[ │ │ │ │ │ +000034a0: 6669 6c6c 636f 6c6f 723d 6c69 6768 7467 fillcolor=lightg │ │ │ │ │ +000034b0: 7261 792c 6c69 6e65 7769 6474 683d 3370 ray,linewidth=3p │ │ │ │ │ +000034c0: 745d 2830 2c30 2c31 2928 312c 302c 3029 t](0,0,1)(1,0,0) │ │ │ │ │ +000034d0: 2830 2c31 2c30 290a 2020 6c69 6e65 5b6c (0,1,0). line[l │ │ │ │ │ +000034e0: 696e 6573 7479 6c65 3d64 6f74 7465 645d inestyle=dotted] │ │ │ │ │ +000034f0: 282d 312c 2d31 2c2d 3129 2832 2c32 2c32 (-1,-1,-1)(2,2,2 │ │ │ │ │ +00003500: 290a 7072 6f64 7563 6573 0a0a 0008 5b69 ).produces....[i │ │ │ │ │ +00003510: 6d61 6765 2073 7263 3d22 6578 3033 302e mage src="ex030. │ │ │ │ │ +00003520: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00003530: 2065 7830 3330 206f 6d69 7474 6564 2069 ex030 omitted i │ │ │ │ │ +00003540: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00003550: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +00003560: 2200 085d 0a0a 2020 2054 6f20 7072 6f64 "..].. To prod │ │ │ │ │ +00003570: 7563 6520 e280 9854 696b 5a2f 5047 46e2 uce ...TikZ/PGF. │ │ │ │ │ +00003580: 8099 2c20 7468 6520 636f 7272 6573 706f .., the correspo │ │ │ │ │ +00003590: 6e64 696e 6720 636f 6465 2069 730a 2020 nding code is. │ │ │ │ │ +000035a0: 706f 6c79 676f 6e5b 6669 6c6c 3d6c 6967 polygon[fill=lig │ │ │ │ │ +000035b0: 6874 6772 6179 2c6c 696e 6520 7769 6474 htgray,line widt │ │ │ │ │ +000035c0: 683d 3370 745d 2830 2c30 2c31 2928 312c h=3pt](0,0,1)(1, │ │ │ │ │ +000035d0: 302c 3029 2830 2c31 2c30 290a 2020 6c69 0,0)(0,1,0). li │ │ │ │ │ +000035e0: 6e65 5b73 7479 6c65 3d64 6f74 7465 645d ne[style=dotted] │ │ │ │ │ +000035f0: 282d 312c 2d31 2c2d 3129 2832 2c32 2c32 (-1,-1,-1)(2,2,2 │ │ │ │ │ +00003600: 290a 2020 676c 6f62 616c 207b 206c 616e ). global { lan │ │ │ │ │ +00003610: 6775 6167 6520 7469 6b7a 207d 0a54 6865 guage tikz }.The │ │ │ │ │ +00003620: 2066 696e 616c 20e2 8098 676c 6f62 616c final ...global │ │ │ │ │ +00003630: e280 9920 696e 7374 7275 6374 7320 e280 ... instructs .. │ │ │ │ │ +00003640: 9873 6b65 7463 68e2 8099 2074 6f20 7072 .sketch... to pr │ │ │ │ │ +00003650: 6f64 7563 6520 e280 9854 696b 5a2f 5047 oduce ...TikZ/PG │ │ │ │ │ +00003660: 46e2 8099 2063 6f64 6520 6173 0a6f 7574 F... code as.out │ │ │ │ │ +00003670: 7075 7420 7261 7468 6572 2074 6861 6e20 put rather than │ │ │ │ │ +00003680: 7468 6520 6465 6661 756c 742c 20e2 8098 the default, ... │ │ │ │ │ +00003690: 5053 5472 6963 6b73 e280 992e 2020 4e6f PSTricks.... No │ │ │ │ │ +000036a0: 7465 2074 6861 7420 e280 9870 6f6c 7967 te that ...polyg │ │ │ │ │ +000036b0: 6f6e e280 9920 6669 6c6c 0a63 6f6c 6f72 on... fill.color │ │ │ │ │ +000036c0: 2061 6e64 20e2 8098 6c69 6e65 e280 9920 and ...line... │ │ │ │ │ +000036d0: 7374 796c 6520 6f70 7469 6f6e 7320 626f style options bo │ │ │ │ │ +000036e0: 7468 2063 6f6e 666f 726d 2074 6f20 e280 th conform to .. │ │ │ │ │ +000036f0: 9854 696b 5ae2 8099 2073 796e 7461 7820 .TikZ... syntax │ │ │ │ │ +00003700: 7275 6c65 732e 2020 5468 650a 7265 7375 rules. The.resu │ │ │ │ │ +00003710: 6c74 696e 6720 e280 9854 696b 5a2f 5047 lting ...TikZ/PG │ │ │ │ │ +00003720: 46e2 8099 206f 7574 7075 7420 6973 0a20 F... output is. │ │ │ │ │ +00003730: 205c 6265 6769 6e7b 7469 6b7a 7069 6374 \begin{tikzpict │ │ │ │ │ +00003740: 7572 657d 5b6a 6f69 6e3d 726f 756e 645d ure}[join=round] │ │ │ │ │ +00003750: 0a20 205c 6472 6177 5b64 6f74 7465 645d . \draw[dotted] │ │ │ │ │ +00003760: 282d 312c 2d31 292d 2d28 2e33 3333 2c2e (-1,-1)--(.333,. │ │ │ │ │ +00003770: 3333 3329 3b0a 2020 5c66 696c 6c64 7261 333);. \filldra │ │ │ │ │ +00003780: 775b 6669 6c6c 3d6c 6967 6874 6772 6179 w[fill=lightgray │ │ │ │ │ +00003790: 2c6c 696e 6520 7769 6474 683d 3370 745d ,line width=3pt] │ │ │ │ │ +000037a0: 2830 2c30 292d 2d28 312c 3029 2d2d 2830 (0,0)--(1,0)--(0 │ │ │ │ │ +000037b0: 2c31 292d 2d63 7963 6c65 3b0a 2020 5c64 ,1)--cycle;. \d │ │ │ │ │ +000037c0: 7261 775b 646f 7474 6564 5d28 2e33 3333 raw[dotted](.333 │ │ │ │ │ +000037d0: 2c2e 3333 3329 2d2d 2832 2c32 293b 0a20 ,.333)--(2,2);. │ │ │ │ │ +000037e0: 205c 656e 647b 7469 6b7a 7069 6374 7572 \end{tikzpictur │ │ │ │ │ +000037f0: 657d 0a54 6865 2072 656d 6169 6e69 6e67 e}.The remaining │ │ │ │ │ +00003800: 2065 7861 6d70 6c65 7320 6f66 2074 6869 examples of thi │ │ │ │ │ +00003810: 7320 6d61 6e75 616c 2061 7265 2069 6e20 s manual are in │ │ │ │ │ +00003820: 5053 5472 6963 6b73 2073 7479 6c65 2e0a PSTricks style.. │ │ │ │ │ +00003830: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +00003840: 696e 666f 2c20 204e 6f64 653a 2044 7261 info, Node: Dra │ │ │ │ │ +00003850: 7769 6e67 2061 2073 6f6c 6964 2c20 204e wing a solid, N │ │ │ │ │ +00003860: 6578 743a 2053 7065 6369 616c 206f 626a ext: Special obj │ │ │ │ │ +00003870: 6563 7473 2c20 2050 7265 763a 2044 7261 ects, Prev: Dra │ │ │ │ │ +00003880: 7769 6e67 206f 7074 696f 6e73 2c20 2055 wing options, U │ │ │ │ │ +00003890: 703a 2049 6e74 726f 6475 6374 696f 6e20 p: Introduction │ │ │ │ │ +000038a0: 6279 2065 7861 6d70 6c65 0a0a 322e 3320 by example..2.3 │ │ │ │ │ +000038b0: 4472 6177 696e 6720 6120 736f 6c69 640a Drawing a solid. │ │ │ │ │ +000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ +000038d0: 3d3d 3d0a 0a4c 6574 2773 2074 7279 2073 ===..Let's try s │ │ │ │ │ +000038e0: 6f6d 6574 6869 6e67 206d 6f72 6520 6578 omething more ex │ │ │ │ │ +000038f0: 6369 7469 6e67 2e20 20e2 8098 536b 6574 citing. ...Sket │ │ │ │ │ +00003900: 6368 e280 9920 6861 7320 6e6f 206e 6f74 ch... has no not │ │ │ │ │ +00003910: 696f 6e20 6f66 2061 2073 6f6c 6964 2c0a ion of a solid,. │ │ │ │ │ +00003920: 6275 7420 706f 6c79 676f 6e61 6c20 e280 but polygonal .. │ │ │ │ │ +00003930: 9c66 6163 6573 e280 9d20 6361 6e20 6265 .faces... can be │ │ │ │ │ +00003940: 2075 7365 6420 746f 2072 6570 7265 7365 used to represe │ │ │ │ │ +00003950: 6e74 2074 6865 2062 6f75 6e64 6172 7920 nt the boundary │ │ │ │ │ +00003960: 6f66 2061 2073 6f6c 6964 2e0a 546f 2074 of a solid..To t │ │ │ │ │ +00003970: 6865 2070 7265 7669 6f75 7320 6578 616d he previous exam │ │ │ │ │ +00003980: 706c 652c 206c 6574 2773 2061 6464 2074 ple, let's add t │ │ │ │ │ +00003990: 6872 6565 206d 6f72 6520 7472 6961 6e67 hree more triang │ │ │ │ │ +000039a0: 756c 6172 2070 6f6c 7967 6f6e 7320 746f ular polygons to │ │ │ │ │ +000039b0: 0a6d 616b 6520 7468 6520 6661 6365 7320 .make the faces │ │ │ │ │ +000039c0: 6f66 2061 6e20 6972 7265 6775 6c61 7220 of an irregular │ │ │ │ │ +000039d0: 7465 7472 6168 6564 726f 6e2e 0a20 2025 tetrahedron.. % │ │ │ │ │ +000039e0: 2076 6572 7469 6365 7320 6f66 2074 6865 vertices of the │ │ │ │ │ +000039f0: 2074 6574 7261 6865 6472 6f6e 0a20 2064 tetrahedron. d │ │ │ │ │ +00003a00: 6566 2070 3120 2830 2c30 2c31 2920 6465 ef p1 (0,0,1) de │ │ │ │ │ +00003a10: 6620 7032 2028 312c 302c 3029 0a20 2064 f p2 (1,0,0). d │ │ │ │ │ +00003a20: 6566 2070 3320 2830 2c31 2c30 2920 6465 ef p3 (0,1,0) de │ │ │ │ │ +00003a30: 6620 7034 2028 2d2e 332c 2d2e 352c 2d2e f p4 (-.3,-.5,-. │ │ │ │ │ +00003a40: 3829 0a0a 2020 2520 6661 6365 7320 6f66 8).. % faces of │ │ │ │ │ +00003a50: 2074 6865 2074 6574 7261 6865 6472 6f6e the tetrahedron │ │ │ │ │ +00003a60: 2e0a 2020 706f 6c79 676f 6e28 7031 2928 .. polygon(p1)( │ │ │ │ │ +00003a70: 7032 2928 7033 2920 2520 6f72 6967 696e p2)(p3) % origin │ │ │ │ │ +00003a80: 616c 2066 726f 6e74 2070 6f6c 7967 6f6e al front polygon │ │ │ │ │ +00003a90: 0a20 2070 6f6c 7967 6f6e 2870 3129 2870 . polygon(p1)(p │ │ │ │ │ +00003aa0: 3429 2870 3229 2025 2062 6f74 746f 6d0a 4)(p2) % bottom. │ │ │ │ │ +00003ab0: 2020 706f 6c79 676f 6e28 7031 2928 7033 polygon(p1)(p3 │ │ │ │ │ +00003ac0: 2928 7034 2920 2520 6c65 6674 0a20 2070 )(p4) % left. p │ │ │ │ │ +00003ad0: 6f6c 7967 6f6e 2870 3329 2870 3229 2870 olygon(p3)(p2)(p │ │ │ │ │ +00003ae0: 3429 2025 2072 6561 720a 0a20 2025 206c 4) % rear.. % l │ │ │ │ │ +00003af0: 696e 6520 746f 2070 6965 7263 6520 7468 ine to pierce th │ │ │ │ │ +00003b00: 6520 7465 7472 6168 6564 726f 6e0a 2020 e tetrahedron. │ │ │ │ │ +00003b10: 6c69 6e65 5b6c 696e 6563 6f6c 6f72 3d72 line[linecolor=r │ │ │ │ │ +00003b20: 6564 5d28 2d31 2c2d 312c 2d31 2928 322c ed](-1,-1,-1)(2, │ │ │ │ │ +00003b30: 322c 3229 0a54 6869 7320 6578 616d 706c 2,2).This exampl │ │ │ │ │ +00003b40: 6520 7573 6573 20e2 809c 6465 6669 6e69 e uses ...defini │ │ │ │ │ +00003b50: 7469 6f6e 73e2 809d 2c20 7768 6963 6820 tions..., which │ │ │ │ │ +00003b60: 6265 6769 6e20 7769 7468 20e2 8098 6465 begin with ...de │ │ │ │ │ +00003b70: 66e2 8099 2e20 2054 6865 7365 20e2 809c f.... These ... │ │ │ │ │ +00003b80: 6465 6669 6e65 e280 9d0a 6f72 2067 6976 define....or giv │ │ │ │ │ +00003b90: 6520 6e61 6d65 7320 746f 2070 6f69 6e74 e names to point │ │ │ │ │ +00003ba0: 732c 2077 6869 6368 2061 7265 2074 6865 s, which are the │ │ │ │ │ +00003bb0: 6e20 6176 6169 6c61 626c 6520 6173 20e2 n available as . │ │ │ │ │ +00003bc0: 809c 7265 6665 7265 6e63 6573 e280 9d20 ..references... │ │ │ │ │ +00003bd0: 6279 0a65 6e63 6c6f 7369 6e67 2074 6865 by.enclosing the │ │ │ │ │ +00003be0: 206e 616d 6573 2069 6e20 7061 7265 6e74 names in parent │ │ │ │ │ +00003bf0: 6865 7365 732c 2065 2e67 2e20 2866 6f6f heses, e.g. (foo │ │ │ │ │ +00003c00: 292e 2020 5468 6520 7061 7265 6e74 6865 ). The parenthe │ │ │ │ │ +00003c10: 7365 7320 6465 6e6f 7465 0a74 6861 7420 ses denote.that │ │ │ │ │ +00003c20: 7468 6520 6e61 6d65 7320 7265 6665 7220 the names refer │ │ │ │ │ +00003c30: 746f 2070 6f69 6e74 733b 2074 6865 7920 to points; they │ │ │ │ │ +00003c40: 6172 6520 7265 7175 6972 6564 2e20 2054 are required. T │ │ │ │ │ +00003c50: 6865 7265 2063 616e 2062 6520 6e6f 0a77 here can be no.w │ │ │ │ │ +00003c60: 6869 7465 2073 7061 6365 2062 6574 7765 hite space betwe │ │ │ │ │ +00003c70: 656e 2074 6865 6d20 616e 6420 7468 6520 en them and the │ │ │ │ │ +00003c80: 6e61 6d65 2e0a 0a20 2020 4173 2079 6f75 name... As you │ │ │ │ │ +00003c90: 2063 616e 2073 6565 2c20 636f 6d6d 656e can see, commen │ │ │ │ │ +00003ca0: 7473 2073 7461 7274 2077 6974 6820 2520 ts start with % │ │ │ │ │ +00003cb0: 6173 2069 6e20 5465 5820 616e 6420 6578 as in TeX and ex │ │ │ │ │ +00003cc0: 7465 6e64 2074 6f20 7468 6520 656e 640a tend to the end. │ │ │ │ │ +00003cd0: 6f66 2074 6865 206c 696e 6520 2874 686f of the line (tho │ │ │ │ │ +00003ce0: 7567 6820 2320 7769 6c6c 2077 6f72 6b20 ugh # will work │ │ │ │ │ +00003cf0: 6173 2077 656c 6c29 2e20 2057 6869 7465 as well). White │ │ │ │ │ +00003d00: 2073 7061 6365 2c20 696e 636c 7564 696e space, includin │ │ │ │ │ +00003d10: 670a 7370 6163 6573 2c20 7461 6273 2061 g.spaces, tabs a │ │ │ │ │ +00003d20: 6e64 2062 6c61 6e6b 206c 696e 6573 2c20 nd blank lines, │ │ │ │ │ +00003d30: 6861 7320 6e6f 2065 6666 6563 7420 696e has no effect in │ │ │ │ │ +00003d40: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch.. │ │ │ │ │ +00003d50: 9920 6c61 6e67 7561 6765 2e0a 0a00 085b . language.....[ │ │ │ │ │ +00003d60: 696d 6167 6520 7372 633d 2265 7830 3430 image src="ex040 │ │ │ │ │ +00003d70: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png" text="Imag │ │ │ │ │ +00003d80: 6520 6578 3034 3020 6f6d 6974 7465 6420 e ex040 omitted │ │ │ │ │ +00003d90: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version │ │ │ │ │ +00003da0: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document │ │ │ │ │ +00003db0: 2e22 0008 5d0a 0a49 6620 7765 206c 6f6f ."..]..If we loo │ │ │ │ │ +00003dc0: 6b20 696e 7369 6465 2074 6865 2054 6558 k inside the TeX │ │ │ │ │ +00003dd0: 2066 696c 6520 7072 6f64 7563 6564 2062 file produced b │ │ │ │ │ +00003de0: 7920 e280 9873 6b65 7463 68e2 8099 2c20 y ...sketch..., │ │ │ │ │ +00003df0: 7468 6572 6520 7769 6c6c 2062 6520 6f6e there will be on │ │ │ │ │ +00003e00: 6c79 0a74 6872 6565 2070 6f6c 7967 6f6e ly.three polygon │ │ │ │ │ +00003e10: 732e 2020 5468 6520 666f 7572 7468 2068 s. The fourth h │ │ │ │ │ +00003e20: 6173 2062 6565 6e20 6375 6c6c 6564 2062 as been culled b │ │ │ │ │ +00003e30: 6563 6175 7365 2069 7420 6973 2061 2022 ecause it is a " │ │ │ │ │ +00003e40: 6261 636b 2066 6163 6522 0a6f 6620 7468 back face".of th │ │ │ │ │ +00003e50: 6520 7465 7472 6168 6564 726f 6e2c 2069 e tetrahedron, i │ │ │ │ │ +00003e60: 6e76 6973 6962 6c65 2074 6f20 6f75 7220 nvisible to our │ │ │ │ │ +00003e70: 7669 6577 2e20 2049 7420 6973 2075 6e6e view. It is unn │ │ │ │ │ +00003e80: 6563 6573 7361 7279 2c20 616e 6420 736f ecessary, and so │ │ │ │ │ +00003e90: 2069 740a 6973 2072 656d 6f76 6564 2e0a it.is removed.. │ │ │ │ │ +00003ea0: 0a20 2020 496e 2073 6f6d 6520 6472 6177 . In some draw │ │ │ │ │ +00003eb0: 696e 6773 2c20 706f 6c79 676f 6e73 2061 ings, polygons a │ │ │ │ │ +00003ec0: 6374 2061 7320 7a65 726f 2d74 6869 636b ct as zero-thick │ │ │ │ │ +00003ed0: 6e65 7373 2073 6f6c 6964 2073 7572 6661 ness solid surfa │ │ │ │ │ +00003ee0: 6365 7320 7769 7468 0a62 6f74 6820 7369 ces with.both si │ │ │ │ │ +00003ef0: 6465 7320 7669 7369 626c 6520 7261 7468 des visible rath │ │ │ │ │ +00003f00: 6572 2074 6861 6e20 6173 2074 6865 2066 er than as the f │ │ │ │ │ +00003f10: 6163 6573 206f 6620 736f 6c69 6420 6f62 aces of solid ob │ │ │ │ │ +00003f20: 6a65 6374 732c 2077 6865 7265 2062 6163 jects, where bac │ │ │ │ │ +00003f30: 6b0a 6661 6365 7320 6361 6e20 6265 2063 k.faces can be c │ │ │ │ │ +00003f40: 756c 6c65 642e 2020 466f 7220 7a65 726f ulled. For zero │ │ │ │ │ +00003f50: 2d74 6869 636b 6e65 7373 2073 6f6c 6964 -thickness solid │ │ │ │ │ +00003f60: 732c 2063 756c 6c69 6e67 2069 7320 6120 s, culling is a │ │ │ │ │ +00003f70: 7072 6f62 6c65 6d2e 0a4f 6e65 2073 6f6c problem..One sol │ │ │ │ │ +00003f80: 7574 696f 6e20 6973 2074 6f20 7573 6520 ution is to use │ │ │ │ │ +00003f90: 6120 7061 6972 206f 6620 e280 9873 6b65 a pair of ...ske │ │ │ │ │ +00003fa0: 7463 68e2 8099 2070 6f6c 7967 6f6e 7320 tch... polygons │ │ │ │ │ +00003fb0: 666f 7220 6561 6368 0a7a 6572 6f2d 7468 for each.zero-th │ │ │ │ │ +00003fc0: 6963 6b6e 6573 7320 6661 6365 2c20 6964 ickness face, id │ │ │ │ │ +00003fd0: 656e 7469 6361 6c20 6578 6365 7074 2077 entical except w │ │ │ │ │ +00003fe0: 6974 6820 6f70 706f 7369 7465 2076 6572 ith opposite ver │ │ │ │ │ +00003ff0: 7465 7820 6f72 6465 7273 2e20 2054 6869 tex orders. Thi │ │ │ │ │ +00004000: 730a 6973 2075 6e77 6965 6c64 7920 616e s.is unwieldy an │ │ │ │ │ +00004010: 6420 6578 7065 6e73 6976 652e 2020 4120 d expensive. A │ │ │ │ │ +00004020: 6265 7474 6572 2077 6179 2069 7320 746f better way is to │ │ │ │ │ +00004030: 2073 6574 2074 6865 20e2 8098 736b 6574 set the ...sket │ │ │ │ │ +00004040: 6368 e280 9920 696e 7465 726e 616c 0a6f ch... internal.o │ │ │ │ │ +00004050: 7074 696f 6e20 e280 9863 756c 6ce2 8099 ption ...cull... │ │ │ │ │ +00004060: 2074 6f20 e280 9866 616c 7365 e280 9920 to ...false... │ │ │ │ │ +00004070: 696e 2074 6865 2075 7375 616c 20e2 8098 in the usual ... │ │ │ │ │ +00004080: 5053 5472 6963 6b73 e280 9920 6d61 6e6e PSTricks... mann │ │ │ │ │ +00004090: 6572 2e0a 2020 706f 6c79 676f 6e5b 6375 er.. polygon[cu │ │ │ │ │ +000040a0: 6c6c 3d66 616c 7365 5d28 7031 2928 7032 ll=false](p1)(p2 │ │ │ │ │ +000040b0: 2928 7033 290a 5468 6520 666f 6c6c 6f77 )(p3).The follow │ │ │ │ │ +000040c0: 696e 6720 7368 6f77 7320 7468 6520 7361 ing shows the sa │ │ │ │ │ +000040d0: 6d65 2068 656c 6978 2073 6861 7065 2064 me helix shape d │ │ │ │ │ +000040e0: 7261 776e 2066 6972 7374 2077 6974 6820 rawn first with │ │ │ │ │ +000040f0: 6375 6c6c 3d74 7275 6520 2874 6865 0a64 cull=true (the.d │ │ │ │ │ +00004100: 6566 6175 6c74 2920 616e 6420 7468 656e efault) and then │ │ │ │ │ +00004110: 2063 756c 6c3d 6661 6c73 652e 0a0a 0008 cull=false..... │ │ │ │ │ +00004120: 5b69 6d61 6765 2073 7263 3d22 6578 3034 [image src="ex04 │ │ │ │ │ +00004130: 352e 706e 6722 2074 6578 743d 2249 6d61 5.png" text="Ima │ │ │ │ │ +00004140: 6765 2065 7830 3435 206f 6d69 7474 6564 ge ex045 omitted │ │ │ │ │ +00004150: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ +00004160: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ +00004170: 742e 2200 085d 0a0a 5765 276c 6c20 736f t."..]..We'll so │ │ │ │ │ +00004180: 6f6e 2073 6565 2068 6f77 2074 6f20 7072 on see how to pr │ │ │ │ │ +00004190: 6f64 7563 6520 7468 6573 6520 6865 6c69 oduce these heli │ │ │ │ │ +000041a0: 7865 7320 7769 7468 2061 2066 6577 206c xes with a few l │ │ │ │ │ +000041b0: 696e 6573 206f 6620 e280 9873 6b65 7463 ines of ...sketc │ │ │ │ │ +000041c0: 68e2 8099 0a6c 616e 6775 6167 6520 636f h....language co │ │ │ │ │ +000041d0: 6465 2e0a 0a20 2020 4974 206d 6179 2062 de... It may b │ │ │ │ │ +000041e0: 6520 7465 6d70 7469 6e67 2074 6f20 7475 e tempting to tu │ │ │ │ │ +000041f0: 726e 2063 756c 6c69 6e67 206f 6666 2067 rn culling off g │ │ │ │ │ +00004200: 7261 7475 6974 6f75 736c 7920 736f 2074 ratuitously so t │ │ │ │ │ +00004210: 6861 7420 7665 7274 6578 0a6f 7264 6572 hat vertex.order │ │ │ │ │ +00004220: 2063 616e 2062 6520 6967 6e6f 7265 642e can be ignored. │ │ │ │ │ +00004230: 2020 5468 6973 2069 7320 6e6f 7420 6120 This is not a │ │ │ │ │ +00004240: 676f 6f64 2069 6465 6120 6265 6361 7573 good idea becaus │ │ │ │ │ +00004250: 6520 6f75 7470 7574 2066 696c 6520 7369 e output file si │ │ │ │ │ +00004260: 7a65 0a61 6e64 2054 6558 2061 6e64 2050 ze.and TeX and P │ │ │ │ │ +00004270: 6f73 7473 6372 6970 7420 7072 6f63 6573 ostscript proces │ │ │ │ │ +00004280: 7369 6e67 2074 696d 6520 626f 7468 2064 sing time both d │ │ │ │ │ +00004290: 6570 656e 6420 6f6e 2074 6865 206e 756d epend on the num │ │ │ │ │ +000042a0: 6265 7220 6f66 0a6f 7574 7075 7420 706f ber of.output po │ │ │ │ │ +000042b0: 6c79 676f 6e73 2e20 2043 756c 6c69 6e67 lygons. Culling │ │ │ │ │ +000042c0: 2075 7375 616c 6c79 2069 6d70 726f 7665 usually improve │ │ │ │ │ +000042d0: 7320 7065 7266 6f72 6d61 6e63 6520 6279 s performance by │ │ │ │ │ +000042e0: 2061 2066 6163 746f 7220 6f66 0a74 776f a factor of.two │ │ │ │ │ +000042f0: 2e20 204f 6e20 7468 6520 6f74 6865 7220 . On the other │ │ │ │ │ +00004300: 6861 6e64 2c20 676c 6f62 616c 6c79 2073 hand, globally s │ │ │ │ │ +00004310: 6574 7469 6e67 20e2 8098 6375 6c6c 3d66 etting ...cull=f │ │ │ │ │ +00004320: 616c 7365 e280 9920 6973 2072 6561 736f alse... is reaso │ │ │ │ │ +00004330: 6e61 626c 650a 7768 696c 6520 6465 6275 nable.while debu │ │ │ │ │ +00004340: 6767 696e 672e 2020 5365 6520 2a6e 6f74 gging. See *not │ │ │ │ │ +00004350: 6520 476c 6f62 616c 206f 7074 696f 6e73 e Global options │ │ │ │ │ +00004360: 3a3a 2061 6e64 202a 6e6f 7465 204c 696d :: and *note Lim │ │ │ │ │ +00004370: 6974 7320 6f6e 2065 7272 6f72 0a64 6574 its on error.det │ │ │ │ │ +00004380: 6563 7469 6f6e 3a3a 2e0a 0a1f 0a46 696c ection::.....Fil │ │ │ │ │ +00004390: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +000043a0: 204e 6f64 653a 2053 7065 6369 616c 206f Node: Special o │ │ │ │ │ +000043b0: 626a 6563 7473 2c20 204e 6578 743a 204f bjects, Next: O │ │ │ │ │ +000043c0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ +000043d0: 2c20 2050 7265 763a 2044 7261 7769 6e67 , Prev: Drawing │ │ │ │ │ +000043e0: 2061 2073 6f6c 6964 2c20 2055 703a 2049 a solid, Up: I │ │ │ │ │ +000043f0: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e │ │ │ │ │ +00004400: 7861 6d70 6c65 0a0a 322e 3420 5370 6563 xample..2.4 Spec │ │ │ │ │ +00004410: 6961 6c20 6f62 6a65 6374 730a 3d3d 3d3d ial objects.==== │ │ │ │ │ +00004420: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============. │ │ │ │ │ +00004430: 0a57 6520 6361 6e20 6164 6420 6c61 6265 .We can add labe │ │ │ │ │ +00004440: 6c73 2074 6f20 6120 6472 6177 696e 6720 ls to a drawing │ │ │ │ │ +00004450: 6279 2075 7369 6e67 2073 7065 6369 616c by using special │ │ │ │ │ +00004460: 206f 626a 6563 7473 2c20 7768 6963 6820 objects, which │ │ │ │ │ +00004470: 7072 6f76 6964 6520 610a 7761 7920 746f provide a.way to │ │ │ │ │ +00004480: 2065 6d62 6564 2072 6177 204c 6154 6558 embed raw LaTeX │ │ │ │ │ +00004490: 2061 6e64 20e2 8098 5053 5472 6963 6b73 and ...PSTricks │ │ │ │ │ +000044a0: e280 9920 636f 6465 2e20 2041 6464 696e ... code. Addin │ │ │ │ │ +000044b0: 6720 7468 6973 2074 6f20 7468 650a 7465 g this to the.te │ │ │ │ │ +000044c0: 7472 6168 6564 726f 6e20 646f 6573 2074 trahedron does t │ │ │ │ │ +000044d0: 6865 2074 7269 636b 2e0a 2020 7370 6563 he trick.. spec │ │ │ │ │ +000044e0: 6961 6c20 7c5c 666f 6f74 6e6f 7465 7369 ial |\footnotesi │ │ │ │ │ +000044f0: 7a65 0a20 2020 2020 2020 2020 2020 5c75 ze. \u │ │ │ │ │ +00004500: 7075 747b 3270 747d 5b75 725d 2331 7b24 put{2pt}[ur]#1{$ │ │ │ │ │ +00004510: 5031 247d 0a20 2020 2020 2020 2020 2020 P1$}. │ │ │ │ │ +00004520: 5c75 7075 745b 725d 2332 7b24 5032 247d \uput[r]#2{$P2$} │ │ │ │ │ +00004530: 0a20 2020 2020 2020 2020 2020 5c75 7075 . \upu │ │ │ │ │ +00004540: 745b 755d 2333 7b24 5033 247d 0a20 2020 t[u]#3{$P3$}. │ │ │ │ │ +00004550: 2020 2020 2020 2020 5c75 7075 745b 645d \uput[d] │ │ │ │ │ +00004560: 2334 7b24 5034 247d 7c0a 2020 2020 2870 #4{$P4$}|. (p │ │ │ │ │ +00004570: 3129 2870 3229 2870 3329 2870 3429 0a48 1)(p2)(p3)(p4).H │ │ │ │ │ +00004580: 6572 6520 6973 2074 6865 2072 6573 756c ere is the resul │ │ │ │ │ +00004590: 742e 0a0a 0008 5b69 6d61 6765 2073 7263 t.....[image src │ │ │ │ │ +000045a0: 3d22 6578 3034 322e 706e 6722 2074 6578 ="ex042.png" tex │ │ │ │ │ +000045b0: 743d 2249 6d61 6765 2065 7830 3432 206f t="Image ex042 o │ │ │ │ │ +000045c0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ +000045d0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ +000045e0: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument."..].. │ │ │ │ │ +000045f0: 2054 6865 7265 2061 7265 2073 6576 6572 There are sever │ │ │ │ │ +00004600: 616c 2064 6574 6169 6c73 2074 6f20 6e6f al details to no │ │ │ │ │ +00004610: 7465 2068 6572 652e 2020 4669 7273 742c te here. First, │ │ │ │ │ +00004620: 2074 6865 2071 756f 7469 6e67 0a63 6f6e the quoting.con │ │ │ │ │ +00004630: 7665 6e74 696f 6e20 666f 7220 7468 6520 vention for the │ │ │ │ │ +00004640: 7261 7720 636f 6465 2069 7320 7369 6d69 raw code is simi │ │ │ │ │ +00004650: 6c61 7220 746f 2074 6865 204c 6154 6558 lar to the LaTeX │ │ │ │ │ +00004660: 205c 7665 7262 2063 6f6d 6d61 6e64 2e20 \verb command. │ │ │ │ │ +00004670: 2054 6865 0a66 6972 7374 206e 6f6e 2d77 The.first non-w │ │ │ │ │ +00004680: 6869 7465 2073 7061 6365 2063 6861 7261 hite space chara │ │ │ │ │ +00004690: 6374 6572 2066 6f6c 6c6f 7769 6e67 2073 cter following s │ │ │ │ │ +000046a0: 7065 6369 616c 2069 7320 756e 6465 7273 pecial is unders │ │ │ │ │ +000046b0: 746f 6f64 2074 6f20 6265 0a74 6865 2071 tood to be.the q │ │ │ │ │ +000046c0: 756f 7465 2063 6861 7261 6374 6572 2c20 uote character, │ │ │ │ │ +000046d0: 696e 2074 6869 7320 6361 7365 20e2 8098 in this case ... │ │ │ │ │ +000046e0: 7ce2 8099 2e20 2054 6865 2072 6177 2074 |.... The raw t │ │ │ │ │ +000046f0: 6578 7420 636f 6e74 696e 7565 7320 756e ext continues un │ │ │ │ │ +00004700: 7469 6c0a 7468 6973 2063 6861 7261 6374 til.this charact │ │ │ │ │ +00004710: 6572 2072 6563 7572 732e 0a0a 2020 2053 er recurs... S │ │ │ │ │ +00004720: 6563 6f6e 642c 2074 6865 2061 7267 756d econd, the argum │ │ │ │ │ +00004730: 656e 7420 7265 6665 7265 6e63 6573 2023 ent references # │ │ │ │ │ +00004740: 312c 2023 322c 2023 332c 2061 6e64 2023 1, #2, #3, and # │ │ │ │ │ +00004750: 3420 7265 6665 7220 746f 2070 6f69 6e74 4 refer to point │ │ │ │ │ +00004760: 2c0a 7665 6374 6f72 2c20 6f72 2073 6361 ,.vector, or sca │ │ │ │ │ +00004770: 6c61 7220 7661 6c75 6573 2069 6e20 7468 lar values in th │ │ │ │ │ +00004780: 6520 6c69 7374 2074 6861 7420 666f 6c6c e list that foll │ │ │ │ │ +00004790: 6f77 2e20 2054 6869 7320 6973 2073 696d ow. This is sim │ │ │ │ │ +000047a0: 696c 6172 2074 6f0a 5465 5820 6d61 6372 ilar to.TeX macr │ │ │ │ │ +000047b0: 6f20 7379 6e74 6178 2e20 2054 6865 2074 o syntax. The t │ │ │ │ │ +000047c0: 7261 6e73 666f 726d 6564 2061 6e64 2074 ransformed and t │ │ │ │ │ +000047d0: 776f 2d64 696d 656e 7369 6f6e 616c 2070 wo-dimensional p │ │ │ │ │ +000047e0: 726f 6a65 6374 696f 6e73 206f 660a 7468 rojections of.th │ │ │ │ │ +000047f0: 6573 6520 7468 7265 652d 6469 6d65 6e73 ese three-dimens │ │ │ │ │ +00004800: 696f 6e61 6c20 706f 696e 7473 2061 7265 ional points are │ │ │ │ │ +00004810: 2073 7562 7374 6974 7574 6564 2069 6e20 substituted in │ │ │ │ │ +00004820: 7468 6520 6669 6e61 6c20 6f75 7470 7574 the final output │ │ │ │ │ +00004830: 2e20 2041 6e0a 6172 6775 6d65 6e74 2072 . An.argument r │ │ │ │ │ +00004840: 6566 6572 656e 6365 206f 6620 7468 6520 eference of the │ │ │ │ │ +00004850: 666f 726d 2023 312d 3220 6973 2072 6570 form #1-2 is rep │ │ │ │ │ +00004860: 6c61 6365 6420 7769 7468 2074 6865 2061 laced with the a │ │ │ │ │ +00004870: 6e67 6c65 2069 6e0a 6465 6772 6565 7320 ngle in.degrees │ │ │ │ │ +00004880: 6f66 2074 6865 2074 776f 2d64 696d 656e of the two-dimen │ │ │ │ │ +00004890: 7369 6f6e 616c 2076 6563 746f 7220 7468 sional vector th │ │ │ │ │ +000048a0: 6174 2063 6f6e 6e65 6374 7320 7468 6520 at connects the │ │ │ │ │ +000048b0: 7072 6f6a 6563 7469 6f6e 7320 6f66 0a74 projections of.t │ │ │ │ │ +000048c0: 6865 2074 776f 2072 6573 7065 6374 6976 he two respectiv │ │ │ │ │ +000048d0: 6520 6172 6775 6d65 6e74 2070 6f69 6e74 e argument point │ │ │ │ │ +000048e0: 732c 2068 6572 6520 2331 2061 6e64 2023 s, here #1 and # │ │ │ │ │ +000048f0: 322e 2020 5468 6520 7375 6273 7469 7475 2. The substitu │ │ │ │ │ +00004900: 7465 640a 616e 676c 6520 6973 2065 6e63 ted.angle is enc │ │ │ │ │ +00004910: 6c6f 7365 6420 696e 2063 7572 6c79 2062 losed in curly b │ │ │ │ │ +00004920: 7261 6365 7320 e280 987b 207d e280 992e races ...{ }.... │ │ │ │ │ +00004930: 2020 5768 656e 20e2 8098 5469 6b5a 2f50 When ...TikZ/P │ │ │ │ │ +00004940: 4746 e280 9920 6f75 7470 7574 2069 730a GF... output is. │ │ │ │ │ +00004950: 6265 696e 6720 6765 6e65 7261 7465 642c being generated, │ │ │ │ │ +00004960: 2074 6865 2061 6e67 6c65 2069 7320 726f the angle is ro │ │ │ │ │ +00004970: 756e 6465 6420 746f 2074 6865 206e 6561 unded to the nea │ │ │ │ │ +00004980: 7265 7374 2064 6567 7265 6520 6265 6361 rest degree beca │ │ │ │ │ +00004990: 7573 650a 6e6f 6e2d 696e 7465 6765 7220 use.non-integer │ │ │ │ │ +000049a0: 616e 676c 6573 2061 7265 206e 6f74 2061 angles are not a │ │ │ │ │ +000049b0: 6c6c 6f77 6564 2062 7920 e280 9854 696b llowed by ...Tik │ │ │ │ │ +000049c0: 5a2f 5047 46e2 8099 2070 7269 6d69 7469 Z/PGF... primiti │ │ │ │ │ +000049d0: 7665 732e 0a0a 2020 2041 7320 6f66 2056 ves... As of V │ │ │ │ │ +000049e0: 6572 7369 6f6e 2030 2e33 206f 6620 e280 ersion 0.3 of .. │ │ │ │ │ +000049f0: 9873 6b65 7463 68e2 8099 2c20 7370 6563 .sketch..., spec │ │ │ │ │ +00004a00: 6961 6c20 6172 6775 6d65 6e74 7320 6d61 ial arguments ma │ │ │ │ │ +00004a10: 7920 6265 2073 6361 6c61 7273 206f 720a y be scalars or. │ │ │ │ │ +00004a20: 7665 6374 6f72 7320 696e 2061 6464 6974 vectors in addit │ │ │ │ │ +00004a30: 696f 6e20 746f 2070 6f69 6e74 732e 2020 ion to points. │ │ │ │ │ +00004a40: 5265 6665 7265 6e63 6573 2074 6f20 7363 References to sc │ │ │ │ │ +00004a50: 616c 6172 2061 7267 756d 656e 7473 2061 alar arguments a │ │ │ │ │ +00004a60: 7265 0a6d 6572 656c 7920 7265 706c 6163 re.merely replac │ │ │ │ │ +00004a70: 6564 2077 6974 6820 6120 6e75 6d62 6572 ed with a number │ │ │ │ │ +00004a80: 2066 6f72 6d61 7474 6564 206a 7573 7420 formatted just │ │ │ │ │ +00004a90: 6173 2061 6e79 2070 6f69 6e74 2063 6f6f as any point coo │ │ │ │ │ +00004aa0: 7264 696e 6174 652e 0a52 6566 6572 656e rdinate..Referen │ │ │ │ │ +00004ab0: 6365 7320 746f 2076 6563 746f 7273 2062 ces to vectors b │ │ │ │ │ +00004ac0: 6563 6f6d 6520 7477 6f2d 6469 6d65 6e73 ecome two-dimens │ │ │ │ │ +00004ad0: 696f 6e61 6c20 706f 696e 7473 2e20 2054 ional points. T │ │ │ │ │ +00004ae0: 6865 2074 6963 6b20 6f70 6572 6174 6f72 he tick operator │ │ │ │ │ +00004af0: 0a74 6861 7420 7365 6c65 6374 7320 696e .that selects in │ │ │ │ │ +00004b00: 6469 7669 6475 616c 2063 6f6d 706f 6e65 dividual compone │ │ │ │ │ +00004b10: 6e74 7320 6f66 2070 6f69 6e74 7320 616e nts of points an │ │ │ │ │ +00004b20: 6420 7665 6374 6f72 7320 656c 7365 7768 d vectors elsewh │ │ │ │ │ +00004b30: 6572 6520 696e 0ae2 8098 736b 6574 6368 ere in....sketch │ │ │ │ │ +00004b40: e280 9920 2873 6565 2066 6f72 2065 7861 ... (see for exa │ │ │ │ │ +00004b50: 6d70 6c65 202a 6e6f 7465 2041 6666 696e mple *note Affin │ │ │ │ │ +00004b60: 6520 6172 6974 686d 6574 6963 3a3a 2920 e arithmetic::) │ │ │ │ │ +00004b70: 6361 6e20 616c 736f 2062 6520 6170 706c can also be appl │ │ │ │ │ +00004b80: 6965 640a 746f 2070 6f69 6e74 2061 6e64 ied.to point and │ │ │ │ │ +00004b90: 2076 6563 746f 7220 6172 6775 6d65 6e74 vector argument │ │ │ │ │ +00004ba0: 2072 6566 6572 656e 6365 732e 2020 416c references. Al │ │ │ │ │ +00004bb0: 6c20 7468 7265 6520 6469 6d65 6e73 696f l three dimensio │ │ │ │ │ +00004bc0: 6e73 206f 6620 610a 7472 616e 7366 6f72 ns of a.transfor │ │ │ │ │ +00004bd0: 6d65 6420 706f 696e 7420 6f72 2076 6563 med point or vec │ │ │ │ │ +00004be0: 746f 7220 6361 6e20 616c 736f 2062 6520 tor can also be │ │ │ │ │ +00004bf0: 7375 6273 7469 7475 6564 2077 6974 6820 substitued with │ │ │ │ │ +00004c00: e280 9827 33e2 8099 2e20 2053 6565 202a ...'3.... See * │ │ │ │ │ +00004c10: 6e6f 7465 0a53 7065 6369 616c 733a 3a20 note.Specials:: │ │ │ │ │ +00004c20: 666f 7220 6465 7461 696c 732e 0a0a 2020 for details... │ │ │ │ │ +00004c30: 2042 7920 6465 6661 756c 742c 20e2 8098 By default, ... │ │ │ │ │ +00004c40: 7370 6563 6961 6ce2 8099 206f 626a 6563 special... objec │ │ │ │ │ +00004c50: 7473 2061 7265 2070 7269 6e74 6564 206c ts are printed l │ │ │ │ │ +00004c60: 6173 742c 206f 7665 726c 6179 696e 6720 ast, overlaying │ │ │ │ │ +00004c70: 616c 6c20 6f74 6865 720a 6f62 6a65 6374 all other.object │ │ │ │ │ +00004c80: 7320 696e 2074 6865 2073 6365 6e65 2e20 s in the scene. │ │ │ │ │ +00004c90: 2049 6620 796f 7520 7370 6563 6966 7920 If you specify │ │ │ │ │ +00004ca0: 7468 6520 696e 7465 726e 616c 206f 7074 the internal opt │ │ │ │ │ +00004cb0: 696f 6e20 e280 986c 6179 3d69 6ee2 8099 ion ...lay=in... │ │ │ │ │ +00004cc0: 2c20 7468 650a 6869 6464 656e 2073 7572 , the.hidden sur │ │ │ │ │ +00004cd0: 6661 6365 2061 6c67 6f72 6974 686d 2063 face algorithm c │ │ │ │ │ +00004ce0: 6f6e 7369 6465 7273 2074 6865 2065 6e74 onsiders the ent │ │ │ │ │ +00004cf0: 6972 6520 7370 6563 6961 6c20 6f62 6a65 ire special obje │ │ │ │ │ +00004d00: 6374 2074 6f20 6265 2074 6865 0a66 6972 ct to be the.fir │ │ │ │ │ +00004d10: 7374 2070 6f69 6e74 2028 2331 2920 696e st point (#1) in │ │ │ │ │ +00004d20: 2074 6865 2061 7267 756d 656e 7420 6c69 the argument li │ │ │ │ │ +00004d30: 7374 2e20 2049 6620 7468 6174 2070 6f69 st. If that poi │ │ │ │ │ +00004d40: 6e74 2069 7320 6265 6869 6e64 2028 6f66 nt is behind (of │ │ │ │ │ +00004d50: 0a73 6d61 6c6c 6572 207a 2d63 6f6d 706f .smaller z-compo │ │ │ │ │ +00004d60: 6e65 6e74 2074 6861 6e29 2061 6e79 2064 nent than) any d │ │ │ │ │ +00004d70: 7261 7761 626c 652c 2074 6865 6e20 7468 rawable, then th │ │ │ │ │ +00004d80: 6520 656e 7469 7265 2073 7065 6369 616c e entire special │ │ │ │ │ +00004d90: 206f 626a 6563 740a 6973 2064 7261 776e object.is drawn │ │ │ │ │ +00004da0: 2062 6566 6f72 6520 7468 6174 2064 7261 before that dra │ │ │ │ │ +00004db0: 7761 626c 652c 2073 6f20 7468 6520 6472 wable, so the dr │ │ │ │ │ +00004dc0: 6177 6162 6c65 206f 6273 6375 7265 7320 awable obscures │ │ │ │ │ +00004dd0: 7061 7274 7320 6f66 2074 6865 0a73 7065 parts of the.spe │ │ │ │ │ +00004de0: 6369 616c 206f 626a 6563 7420 7468 6174 cial object that │ │ │ │ │ +00004df0: 206f 7665 726c 6170 7320 6974 2e20 2049 overlaps it. I │ │ │ │ │ +00004e00: 6e20 6f75 7220 6578 616d 706c 652c 2070 n our example, p │ │ │ │ │ +00004e10: 3120 6973 2074 6865 2066 726f 6e74 2d6d 1 is the front-m │ │ │ │ │ +00004e20: 6f73 740a 706f 696e 7420 696e 2074 6865 ost.point in the │ │ │ │ │ +00004e30: 2073 6365 6e65 2028 6861 7320 7468 6520 scene (has the │ │ │ │ │ +00004e40: 6c61 7267 6573 7420 7a2d 636f 6d70 6f6e largest z-compon │ │ │ │ │ +00004e50: 656e 7429 2c20 736f 2061 6464 696e 6720 ent), so adding │ │ │ │ │ +00004e60: e280 986c 6179 3d69 6ee2 8099 2068 6173 ...lay=in... has │ │ │ │ │ +00004e70: 0a6e 6f20 6566 6665 6374 2e0a 0a20 2020 .no effect... │ │ │ │ │ +00004e80: 5769 7468 206f 7074 696f 6e20 e280 986c With option ...l │ │ │ │ │ +00004e90: 6179 3d75 6e64 6572 e280 992c 2061 2073 ay=under..., a s │ │ │ │ │ +00004ea0: 7065 6369 616c 2069 7320 6472 6177 6e20 pecial is drawn │ │ │ │ │ +00004eb0: 5f62 6566 6f72 655f 2c20 6865 6e63 6520 _before_, hence │ │ │ │ │ +00004ec0: 6170 7065 6172 730a 5f75 6e64 6572 5f20 appears._under_ │ │ │ │ │ +00004ed0: 616e 7920 6f66 2074 6865 206f 626a 6563 any of the objec │ │ │ │ │ +00004ee0: 7473 2068 616e 646c 6564 2062 7920 7468 ts handled by th │ │ │ │ │ +00004ef0: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface │ │ │ │ │ +00004f00: 2061 6c67 6f72 6974 686d 2e0a 5468 6973 algorithm..This │ │ │ │ │ +00004f10: 2069 7320 686f 7720 7468 6520 6c69 6768 is how the ligh │ │ │ │ │ +00004f20: 7420 6772 6179 2061 7865 7320 7765 7265 t gray axes were │ │ │ │ │ +00004f30: 2061 6464 6564 2074 6f20 7468 6520 2268 added to the "h │ │ │ │ │ +00004f40: 656c 6c6f 2077 6f72 6c64 2220 6578 616d ello world" exam │ │ │ │ │ +00004f50: 706c 650a 2a6e 6f74 6520 4865 6c6c 6f20 ple.*note Hello │ │ │ │ │ +00004f60: 776f 726c 643a 3a2e 0a0a 2020 2053 7065 world::... Spe │ │ │ │ │ +00004f70: 6369 616c 206f 626a 6563 7473 2061 7265 cial objects are │ │ │ │ │ +00004f80: 2070 6f77 6572 6675 6c2c 2077 6974 6820 powerful, with │ │ │ │ │ +00004f90: 6d61 6e79 2070 6f73 7369 626c 6520 7573 many possible us │ │ │ │ │ +00004fa0: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske │ │ │ │ │ +00004fb0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00004fc0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +00004fd0: 6d73 2c20 204e 6578 743a 2052 6570 6561 ms, Next: Repea │ │ │ │ │ +00004fe0: 7465 6420 6f62 6a65 6374 732c 2020 5072 ted objects, Pr │ │ │ │ │ +00004ff0: 6576 3a20 5370 6563 6961 6c20 6f62 6a65 ev: Special obje │ │ │ │ │ +00005000: 6374 732c 2020 5570 3a20 496e 7472 6f64 cts, Up: Introd │ │ │ │ │ +00005010: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl │ │ │ │ │ +00005020: 650a 0a32 2e35 2054 7261 6e73 666f 726d e..2.5 Transform │ │ │ │ │ +00005030: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d s.============== │ │ │ │ │ +00005040: 0a0a 4e6f 7720 6c65 7427 7320 6164 6420 ..Now let's add │ │ │ │ │ +00005050: 6120 7365 636f 6e64 2063 6f70 7920 6f66 a second copy of │ │ │ │ │ +00005060: 2074 6865 2070 6965 7263 6564 2074 6574 the pierced tet │ │ │ │ │ +00005070: 7261 6865 6472 6f6e 2e20 2057 6527 6c6c rahedron. We'll │ │ │ │ │ +00005080: 2072 6f74 6174 650a 7468 6520 636f 7079 rotate.the copy │ │ │ │ │ +00005090: 2039 3020 6465 6772 6565 7320 6162 6f75 90 degrees abou │ │ │ │ │ +000050a0: 7420 7468 6520 782d 6178 6973 2077 6974 t the x-axis wit │ │ │ │ │ +000050b0: 6820 7468 6520 6f72 6967 696e 2061 7320 h the origin as │ │ │ │ │ +000050c0: e280 9c63 656e 7465 7220 6f66 0a72 6f74 ...center of.rot │ │ │ │ │ +000050d0: 6174 696f 6ee2 809d 2073 6f20 7765 2063 ation... so we c │ │ │ │ │ +000050e0: 616e 2073 6565 2074 6865 2062 6163 6b2c an see the back, │ │ │ │ │ +000050f0: 2074 6865 6e20 7472 616e 736c 6174 6520 then translate │ │ │ │ │ +00005100: 6974 2074 6f20 7468 6520 7269 6768 742d it to the right- │ │ │ │ │ +00005110: 2d69 6e20 7468 650a 706f 7369 7469 7665 -in the.positive │ │ │ │ │ +00005120: 2078 2d64 6972 6563 7469 6f6e 2d2d 736f x-direction--so │ │ │ │ │ +00005130: 2069 7420 646f 6573 6e27 7420 636f 6c6c it doesn't coll │ │ │ │ │ +00005140: 6964 6520 7769 7468 2074 6865 206f 7269 ide with the ori │ │ │ │ │ +00005150: 6769 6e61 6c2e 2020 546f 2068 656c 700a ginal. To help. │ │ │ │ │ +00005160: 7573 2073 6565 2077 6861 7427 7320 676f us see what's go │ │ │ │ │ +00005170: 696e 6720 6f6e 2c20 6d61 6b65 2074 6865 ing on, make the │ │ │ │ │ +00005180: 2062 6163 6b20 7369 6465 2067 7261 792e back side gray. │ │ │ │ │ +00005190: 0a20 2064 6566 2070 6965 7263 6564 5f74 . def pierced_t │ │ │ │ │ +000051a0: 6574 7261 6865 6472 6f6e 207b 0a20 2020 etrahedron {. │ │ │ │ │ +000051b0: 2064 6566 2070 3120 2830 2c30 2c31 2920 def p1 (0,0,1) │ │ │ │ │ +000051c0: 6465 6620 7032 2028 312c 302c 3029 0a20 def p2 (1,0,0). │ │ │ │ │ +000051d0: 2020 2064 6566 2070 3320 2830 2c31 2c30 def p3 (0,1,0 │ │ │ │ │ +000051e0: 2920 6465 6620 7034 2028 2d2e 332c 2d2e ) def p4 (-.3,-. │ │ │ │ │ +000051f0: 352c 2d2e 3829 0a20 2020 2070 6f6c 7967 5,-.8). polyg │ │ │ │ │ +00005200: 6f6e 2870 3129 2870 3229 2870 3329 2020 on(p1)(p2)(p3) │ │ │ │ │ 00005210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00005220: 2520 6f72 6967 696e 616c 0a20 2020 2070 % original. p │ │ │ │ │ -00005230: 6f6c 7967 6f6e 2870 3129 2870 3429 2870 olygon(p1)(p4)(p │ │ │ │ │ -00005240: 3229 2020 2020 2020 2020 2020 2020 2020 2) │ │ │ │ │ -00005250: 2020 2020 2020 2020 2520 626f 7474 6f6d % bottom │ │ │ │ │ -00005260: 0a20 2020 2070 6f6c 7967 6f6e 2870 3129 . polygon(p1) │ │ │ │ │ -00005270: 2870 3329 2870 3429 2020 2020 2020 2020 (p3)(p4) │ │ │ │ │ -00005280: 2020 2020 2020 2020 2020 2020 2020 2520 % │ │ │ │ │ -00005290: 6c65 6674 0a20 2020 2070 6f6c 7967 6f6e left. polygon │ │ │ │ │ -000052a0: 5b66 696c 6c63 6f6c 6f72 3d6c 6967 6874 [fillcolor=light │ │ │ │ │ -000052b0: 6772 6179 5d28 7033 2928 7032 2928 7034 gray](p3)(p2)(p4 │ │ │ │ │ -000052c0: 2920 2520 7265 6172 0a20 2020 206c 696e ) % rear. lin │ │ │ │ │ -000052d0: 655b 6c69 6e65 636f 6c6f 723d 7265 645d e[linecolor=red] │ │ │ │ │ -000052e0: 282d 312c 2d31 2c2d 3129 2832 2c32 2c32 (-1,-1,-1)(2,2,2 │ │ │ │ │ -000052f0: 290a 2020 7d0a 2020 7b70 6965 7263 6564 ). }. {pierced │ │ │ │ │ -00005300: 5f74 6574 7261 6865 6472 6f6e 7d20 2025 _tetrahedron} % │ │ │ │ │ -00005310: 2074 6574 7261 6865 6472 6f6e 2069 6e20 tetrahedron in │ │ │ │ │ -00005320: 6f72 6967 696e 616c 2070 6f73 6974 696f original positio │ │ │ │ │ -00005330: 6e0a 2020 7075 7420 7b20 726f 7461 7465 n. put { rotate │ │ │ │ │ -00005340: 2839 302c 2028 302c 302c 3029 2c20 5b31 (90, (0,0,0), [1 │ │ │ │ │ -00005350: 2c30 2c30 5d29 2025 2063 6f70 7920 696e ,0,0]) % copy in │ │ │ │ │ -00005360: 206e 6577 2070 6f73 6974 696f 6e0a 2020 new position. │ │ │ │ │ -00005370: 2020 2020 2020 7468 656e 2074 7261 6e73 then trans │ │ │ │ │ -00005380: 6c61 7465 285b 322e 352c 302c 305d 2920 late([2.5,0,0]) │ │ │ │ │ -00005390: 7d20 7b70 6965 7263 6564 5f74 6574 7261 } {pierced_tetra │ │ │ │ │ -000053a0: 6865 6472 6f6e 7d0a 4865 7265 2074 6865 hedron}.Here the │ │ │ │ │ -000053b0: 2065 6e74 6972 6520 636f 6465 206f 6620 entire code of │ │ │ │ │ -000053c0: 7468 6520 7072 6576 696f 7573 2065 7861 the previous exa │ │ │ │ │ -000053d0: 6d70 6c65 2068 6173 2062 6565 6e20 7772 mple has been wr │ │ │ │ │ -000053e0: 6170 7065 6420 696e 2061 0a64 6566 696e apped in a.defin │ │ │ │ │ -000053f0: 6974 696f 6e20 6279 2066 6f72 6d69 6e67 ition by forming │ │ │ │ │ -00005400: 2061 20e2 809c 626c 6f63 6be2 809d 2077 a ...block... w │ │ │ │ │ -00005410: 6974 6820 6272 6163 6573 2028 6120 7369 ith braces (a si │ │ │ │ │ -00005420: 6e67 6c65 2069 7465 6d20 776f 756c 6420 ngle item would │ │ │ │ │ -00005430: 6e6f 740a 6e65 6564 2074 6865 6d29 2e20 not.need them). │ │ │ │ │ -00005440: 2054 6865 2070 6f69 6e74 2064 6566 696e The point defin │ │ │ │ │ -00005450: 6974 696f 6e73 206e 6573 7465 6420 696e itions nested in │ │ │ │ │ -00005460: 7369 6465 2074 6865 2062 7261 6365 7320 side the braces │ │ │ │ │ -00005470: 6172 650a e280 9c6c 6578 6963 616c 6c79 are....lexically │ │ │ │ │ -00005480: 2073 636f 7065 64e2 809d 2e20 2054 6865 scoped.... The │ │ │ │ │ -00005490: 6972 206d 6561 6e69 6e67 2065 7874 656e ir meaning exten │ │ │ │ │ -000054a0: 6473 206f 6e6c 7920 746f 2074 6865 2065 ds only to the e │ │ │ │ │ -000054b0: 6e64 206f 6620 7468 6520 626c 6f63 6b2e nd of the block. │ │ │ │ │ -000054c0: 0a54 6865 206f 7574 6572 2064 6566 2069 .The outer def i │ │ │ │ │ -000054d0: 7320 6361 6c6c 6564 2061 20e2 809c 6472 s called a ...dr │ │ │ │ │ -000054e0: 6177 6162 6c65 e280 9d20 6465 6669 6e69 awable... defini │ │ │ │ │ -000054f0: 7469 6f6e 2062 6563 6175 7365 2069 7420 tion because it │ │ │ │ │ -00005500: 6465 7363 7269 6265 730a 736f 6d65 7468 describes.someth │ │ │ │ │ -00005510: 696e 6720 7468 6174 2063 616e 2062 6520 ing that can be │ │ │ │ │ -00005520: 6472 6177 6e2e 0a0a 2020 2041 2064 7261 drawn... A dra │ │ │ │ │ -00005530: 7761 626c 6520 6465 6669 6e69 7469 6f6e wable definition │ │ │ │ │ -00005540: 2062 7920 6974 7365 6c66 2063 6175 7365 by itself cause │ │ │ │ │ -00005550: 7320 6e6f 7468 696e 6720 746f 2068 6170 s nothing to hap │ │ │ │ │ -00005560: 7065 6e20 756e 7469 6c20 6974 730a 6e61 pen until its.na │ │ │ │ │ -00005570: 6d65 2069 7320 7265 6665 7265 6e63 6564 me is referenced │ │ │ │ │ -00005580: 2e20 2044 7261 7761 626c 6520 7265 6665 . Drawable refe │ │ │ │ │ -00005590: 7265 6e63 6573 206d 7573 7420 6265 2065 rences must be e │ │ │ │ │ -000055a0: 6e63 6c6f 7365 6420 696e 2063 7572 6c79 nclosed in curly │ │ │ │ │ -000055b0: 0a62 7261 6365 732c 2065 2e67 2e20 7b66 .braces, e.g. {f │ │ │ │ │ -000055c0: 6f6f 7d2c 2077 6974 6820 6e6f 2069 6e74 oo}, with no int │ │ │ │ │ -000055d0: 6572 7665 6e69 6e67 2077 6869 7465 2073 ervening white s │ │ │ │ │ -000055e0: 7061 6365 2e20 2049 6e20 7468 6520 636f pace. In the co │ │ │ │ │ -000055f0: 6465 2061 626f 7665 2c0a 7468 6520 6669 de above,.the fi │ │ │ │ │ -00005600: 7273 7420 7265 6665 7265 6e63 6520 7b70 rst reference {p │ │ │ │ │ -00005610: 6965 7263 6564 5f74 6574 7261 6865 6472 ierced_tetrahedr │ │ │ │ │ -00005620: 6f6e 7d20 6973 2061 2070 6c61 696e 206f on} is a plain o │ │ │ │ │ -00005630: 6e65 2e20 2049 7473 2065 6666 6563 7420 ne. Its effect │ │ │ │ │ -00005640: 6973 0a6d 6572 656c 7920 746f 2064 7570 is.merely to dup │ │ │ │ │ -00005650: 6c69 6361 7465 2074 6865 2065 6172 6c69 licate the earli │ │ │ │ │ -00005660: 6572 2064 7261 7769 6e67 2e20 2041 6c6d er drawing. Alm │ │ │ │ │ -00005670: 6f73 7420 616e 7920 7365 7269 6573 206f ost any series o │ │ │ │ │ -00005680: 6620 e280 9873 6b65 7463 68e2 8099 0a63 f ...sketch....c │ │ │ │ │ -00005690: 6f6d 6d61 6e64 7320 7374 7566 6620 6d61 ommands stuff ma │ │ │ │ │ -000056a0: 7920 6265 2072 6570 6c61 6365 6420 7769 y be replaced wi │ │ │ │ │ -000056b0: 7468 2064 6566 2066 6f6f 207b 2073 7475 th def foo { stu │ │ │ │ │ -000056c0: 6666 207d 207b 666f 6f7d 2077 6974 686f ff } {foo} witho │ │ │ │ │ -000056d0: 7574 0a63 6861 6e67 696e 6720 6974 7320 ut.changing its │ │ │ │ │ -000056e0: 6d65 616e 696e 672e 0a0a 2020 2054 6865 meaning... The │ │ │ │ │ -000056f0: 2070 7574 2063 6f6d 6d61 6e64 2073 7570 put command sup │ │ │ │ │ -00005700: 706c 6965 7320 6120 7365 636f 6e64 2072 plies a second r │ │ │ │ │ -00005710: 6566 6572 656e 6365 2c20 7468 6973 2074 eference, this t │ │ │ │ │ -00005720: 696d 6520 7769 7468 2061 0ae2 809c 7472 ime with a....tr │ │ │ │ │ -00005730: 616e 7366 6f72 6de2 809d 2061 7070 6c69 ansform... appli │ │ │ │ │ -00005740: 6564 2066 6972 7374 2e20 2054 6865 2072 ed first. The r │ │ │ │ │ -00005750: 6f74 6174 6520 7472 616e 7366 6f72 6d20 otate transform │ │ │ │ │ -00005760: 7475 726e 7320 7468 6520 7465 7472 6168 turns the tetrah │ │ │ │ │ -00005770: 6564 726f 6e0a 3930 2064 6567 7265 6573 edron.90 degrees │ │ │ │ │ -00005780: 2061 626f 7574 2074 6865 206f 7269 6769 about the origi │ │ │ │ │ -00005790: 6e2e 2020 5468 6520 6178 6973 206f 6620 n. The axis of │ │ │ │ │ -000057a0: 726f 7461 7469 6f6e 2069 7320 7468 6520 rotation is the │ │ │ │ │ -000057b0: 7665 6374 6f72 0a5b 312c 302c 305d 2e20 vector.[1,0,0]. │ │ │ │ │ -000057c0: 2042 7920 7468 6520 e280 9c72 6967 6874 By the ...right │ │ │ │ │ -000057d0: 2068 616e 6420 7275 6c65 e280 9d2c 2074 hand rule..., t │ │ │ │ │ -000057e0: 6869 7320 6361 7573 6573 2074 6865 2074 his causes the t │ │ │ │ │ -000057f0: 6f70 206f 6620 7468 650a 7465 7472 6168 op of the.tetrah │ │ │ │ │ -00005800: 6564 726f 6e20 746f 2072 6f74 6174 6520 edron to rotate │ │ │ │ │ -00005810: 746f 7761 7264 2074 6865 2076 6965 7765 toward the viewe │ │ │ │ │ -00005820: 7220 616e 6420 7468 6520 626f 7474 6f6d r and the bottom │ │ │ │ │ -00005830: 2061 7761 792e 2020 5468 6520 7275 6c65 away. The rule │ │ │ │ │ -00005840: 0a72 6563 6569 7665 7320 6974 7320 6e61 .receives its na │ │ │ │ │ -00005850: 6d65 2066 726f 6d20 7468 6520 666f 6c6c me from the foll │ │ │ │ │ -00005860: 6f77 696e 6720 6465 6669 6e69 7469 6f6e owing definition │ │ │ │ │ -00005870: 3a0a 2020 2020 202a 5269 6768 7420 6861 :. *Right ha │ │ │ │ │ -00005880: 6e64 2072 756c 652e 2a20 2049 6620 7468 nd rule.* If th │ │ │ │ │ -00005890: 6520 7269 6768 7420 6861 6e64 2069 7320 e right hand is │ │ │ │ │ -000058a0: 7772 6170 7065 6420 6172 6f75 6e64 2061 wrapped around a │ │ │ │ │ -000058b0: 6e79 2061 7869 730a 2020 2020 2077 6974 ny axis. wit │ │ │ │ │ -000058c0: 6820 7468 6520 7468 756d 6220 706f 696e h the thumb poin │ │ │ │ │ -000058d0: 7469 6e67 2069 6e20 7468 6520 6178 6973 ting in the axis │ │ │ │ │ -000058e0: 2064 6972 6563 7469 6f6e 2c20 7468 656e direction, then │ │ │ │ │ -000058f0: 2074 6865 2066 696e 6765 7273 0a20 2020 the fingers. │ │ │ │ │ -00005900: 2020 6375 726c 2069 6e20 7468 6520 6469 curl in the di │ │ │ │ │ -00005910: 7265 6374 696f 6e20 6f66 2070 6f73 6974 rection of posit │ │ │ │ │ -00005920: 6976 6520 726f 7461 7469 6f6e 2061 626f ive rotation abo │ │ │ │ │ -00005930: 7574 2074 6861 7420 6178 6973 2e0a 2020 ut that axis.. │ │ │ │ │ -00005940: 2054 6865 2074 7261 6e73 6c61 7465 2074 The translate t │ │ │ │ │ -00005950: 7261 6e73 666f 726d 206d 6f76 6573 2074 ransform moves t │ │ │ │ │ -00005960: 6865 2070 7972 616d 6964 206c 6174 6572 he pyramid later │ │ │ │ │ -00005970: 616c 6c79 2074 6f20 7468 6520 7269 6768 ally to the righ │ │ │ │ │ -00005980: 7420 6279 0a61 6464 696e 6720 7468 6520 t by.adding the │ │ │ │ │ -00005990: 7665 6374 6f72 205b 322e 352c 302c 305d vector [2.5,0,0] │ │ │ │ │ -000059a0: 2074 6f20 6561 6368 2076 6572 7465 7820 to each vertex │ │ │ │ │ -000059b0: 636f 6f72 6469 6e61 7465 2e20 2054 6865 coordinate. The │ │ │ │ │ -000059c0: 2072 6573 756c 7420 6973 0a73 686f 776e result is.shown │ │ │ │ │ -000059d0: 2068 6572 652e 0a0a 0008 5b69 6d61 6765 here.....[image │ │ │ │ │ -000059e0: 2073 7263 3d22 6578 3035 302e 706e 6722 src="ex050.png" │ │ │ │ │ -000059f0: 2074 6578 743d 2249 6d61 6765 2065 7830 text="Image ex0 │ │ │ │ │ -00005a00: 3530 206f 6d69 7474 6564 2069 6e20 7465 50 omitted in te │ │ │ │ │ -00005a10: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00005a20: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00005a30: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -00005a40: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re │ │ │ │ │ -00005a50: 7065 6174 6564 206f 626a 6563 7473 2c20 peated objects, │ │ │ │ │ -00005a60: 204e 6578 743a 2053 7765 7074 206f 626a Next: Swept obj │ │ │ │ │ -00005a70: 6563 7473 2c20 2050 7265 763a 204f 626a ects, Prev: Obj │ │ │ │ │ -00005a80: 6563 7420 7472 616e 7366 6f72 6d73 2c20 ect transforms, │ │ │ │ │ -00005a90: 2055 703a 2049 6e74 726f 6475 6374 696f Up: Introductio │ │ │ │ │ -00005aa0: 6e20 6279 2065 7861 6d70 6c65 0a0a 322e n by example..2. │ │ │ │ │ -00005ab0: 3620 5265 7065 6174 6564 206f 626a 6563 6 Repeated objec │ │ │ │ │ -00005ac0: 7473 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ts.============= │ │ │ │ │ -00005ad0: 3d3d 3d3d 3d3d 3d0a 0a54 6f20 6472 6177 =======..To draw │ │ │ │ │ -00005ae0: 2073 6576 656e 2069 6e73 7461 6e63 6573 seven instances │ │ │ │ │ -00005af0: 206f 6620 7468 6520 7465 7472 6168 6564 of the tetrahed │ │ │ │ │ -00005b00: 726f 6e2c 2065 6163 6820 6469 6666 6572 ron, each differ │ │ │ │ │ -00005b10: 696e 6720 6672 6f6d 2074 6865 206c 6173 ing from the las │ │ │ │ │ -00005b20: 740a 6279 2074 6865 2073 616d 6520 7472 t.by the same tr │ │ │ │ │ -00005b30: 616e 7366 6f72 6d2c 2072 6570 6c61 6365 ansform, replace │ │ │ │ │ -00005b40: 2074 6865 206c 6173 7420 7477 6f20 636f the last two co │ │ │ │ │ -00005b50: 6d6d 616e 6473 206f 6620 7468 6520 7072 mmands of the pr │ │ │ │ │ -00005b60: 6576 696f 7573 0a65 7861 6d70 6c65 2077 evious.example w │ │ │ │ │ -00005b70: 6974 680a 2020 7265 7065 6174 207b 2037 ith. repeat { 7 │ │ │ │ │ -00005b80: 2c20 726f 7461 7465 2831 352c 2028 302c , rotate(15, (0, │ │ │ │ │ -00005b90: 302c 3029 2c20 5b31 2c30 2c30 5d29 2025 0,0), [1,0,0]) % │ │ │ │ │ -00005ba0: 2063 6f70 7920 696e 206e 6577 2070 6f73 copy in new pos │ │ │ │ │ -00005bb0: 6974 696f 6e0a 2020 2020 2020 2020 2020 ition. │ │ │ │ │ -00005bc0: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla │ │ │ │ │ -00005bd0: 7465 285b 322c 302c 305d 2920 7d20 7b70 te([2,0,0]) } {p │ │ │ │ │ -00005be0: 6965 7263 6564 5f74 6574 7261 6865 6472 ierced_tetrahedr │ │ │ │ │ -00005bf0: 6f6e 7d0a 416e 6420 7468 6520 7265 7375 on}.And the resu │ │ │ │ │ -00005c00: 6c74 2e2e 2e0a 0a00 085b 696d 6167 6520 lt.......[image │ │ │ │ │ -00005c10: 7372 633d 2265 7830 3630 2e70 6e67 2220 src="ex060.png" │ │ │ │ │ -00005c20: 7465 7874 3d22 496d 6167 6520 6578 3036 text="Image ex06 │ │ │ │ │ -00005c30: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex │ │ │ │ │ -00005c40: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi │ │ │ │ │ -00005c50: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document."..]. │ │ │ │ │ -00005c60: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -00005c70: 696e 666f 2c20 204e 6f64 653a 2053 7765 info, Node: Swe │ │ │ │ │ -00005c80: 7074 206f 626a 6563 7473 2c20 2050 7265 pt objects, Pre │ │ │ │ │ -00005c90: 763a 2052 6570 6561 7465 6420 6f62 6a65 v: Repeated obje │ │ │ │ │ -00005ca0: 6374 732c 2020 5570 3a20 496e 7472 6f64 cts, Up: Introd │ │ │ │ │ -00005cb0: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl │ │ │ │ │ -00005cc0: 650a 0a32 2e37 2053 7765 7074 206f 626a e..2.7 Swept obj │ │ │ │ │ -00005cd0: 6563 7473 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ects.=========== │ │ │ │ │ -00005ce0: 3d3d 3d3d 3d3d 0a0a 4d61 6e79 2066 616d ======..Many fam │ │ │ │ │ -00005cf0: 696c 6961 7220 7368 6170 6573 2063 616e iliar shapes can │ │ │ │ │ -00005d00: 2062 6520 6765 6e65 7261 7465 6420 6279 be generated by │ │ │ │ │ -00005d10: 2073 7765 6570 696e 6720 7369 6d70 6c65 sweeping simple │ │ │ │ │ -00005d20: 7220 6f6e 6573 2074 6872 6f75 6768 0a73 r ones through.s │ │ │ │ │ -00005d30: 7061 6365 2061 6e64 2063 6f6e 7369 6465 pace and conside │ │ │ │ │ -00005d40: 7269 6e67 2074 6865 2072 6573 756c 7469 ring the resulti │ │ │ │ │ -00005d50: 6e67 2070 6174 682c 2073 7572 6661 6365 ng path, surface │ │ │ │ │ -00005d60: 2c20 6f72 2076 6f6c 756d 652e 2020 e280 , or volume. .. │ │ │ │ │ -00005d70: 9853 6b65 7463 68e2 8099 0a69 6d70 6c65 .Sketch....imple │ │ │ │ │ -00005d80: 6d65 6e74 7320 7468 6973 2069 6465 6120 ments this idea │ │ │ │ │ -00005d90: 696e 2074 6865 2073 7765 6570 2063 6f6d in the sweep com │ │ │ │ │ -00005da0: 6d61 6e64 2e0a 2020 6465 6620 6e5f 7365 mand.. def n_se │ │ │ │ │ -00005db0: 6773 2038 0a20 2073 7765 6570 207b 206e gs 8. sweep { n │ │ │ │ │ -00005dc0: 5f73 6567 732c 2072 6f74 6174 6528 3138 _segs, rotate(18 │ │ │ │ │ -00005dd0: 3020 2f20 6e5f 7365 6773 2c20 2830 2c30 0 / n_segs, (0,0 │ │ │ │ │ -00005de0: 2c30 292c 205b 302c 302c 315d 2920 7d20 ,0), [0,0,1]) } │ │ │ │ │ -00005df0: 2831 2c30 2c30 290a 5468 6973 2063 6f64 (1,0,0).This cod │ │ │ │ │ -00005e00: 6520 7377 6565 7073 2074 6865 2070 6f69 e sweeps the poi │ │ │ │ │ -00005e10: 6e74 2028 312c 302c 3029 2065 6967 6874 nt (1,0,0) eight │ │ │ │ │ -00005e20: 2074 696d 6573 2062 7920 726f 7461 7469 times by rotati │ │ │ │ │ -00005e30: 6e67 2069 7420 3138 302f 3820 3d0a 3232 ng it 180/8 =.22 │ │ │ │ │ -00005e40: 2e35 2064 6567 7265 6573 2065 6163 6820 .5 degrees each │ │ │ │ │ -00005e50: 7469 6d65 2061 6e64 2063 6f6e 6e65 6374 time and connect │ │ │ │ │ -00005e60: 696e 6720 7468 6520 7265 7375 6c74 696e ing the resultin │ │ │ │ │ -00005e70: 6720 706f 696e 7473 2077 6974 6820 6c69 g points with li │ │ │ │ │ -00005e80: 6e65 0a73 6567 6d65 6e74 732e 2020 5468 ne.segments. Th │ │ │ │ │ -00005e90: 6520 6465 6620 7573 6564 2068 6572 6520 e def used here │ │ │ │ │ -00005ea0: 6973 2061 20e2 809c 7363 616c 6172 e280 is a ...scalar.. │ │ │ │ │ -00005eb0: 9d20 6465 6669 6e69 7469 6f6e 2e20 2052 . definition. R │ │ │ │ │ -00005ec0: 6566 6572 656e 6365 7320 746f 0a73 6361 eferences to.sca │ │ │ │ │ -00005ed0: 6c61 7273 2068 6176 6520 6e6f 2065 6e63 lars have no enc │ │ │ │ │ -00005ee0: 6c6f 7369 6e67 2062 7261 636b 6574 7320 losing brackets │ │ │ │ │ -00005ef0: 6174 2061 6c6c 2e0a 0a2a 204d 656e 753a at all...* Menu: │ │ │ │ │ -00005f00: 0a0a 2a20 506f 696e 7420 7377 6565 7073 ..* Point sweeps │ │ │ │ │ -00005f10: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00005f20: 2020 5377 6570 7420 706f 696e 7473 206d Swept points m │ │ │ │ │ -00005f30: 616b 6520 6c69 6e65 7320 616e 6420 706f ake lines and po │ │ │ │ │ -00005f40: 6c79 676f 6e73 2e0a 2a20 506f 6c79 6c69 lygons..* Polyli │ │ │ │ │ -00005f50: 6e65 2073 7765 6570 733a 3a20 2020 2020 ne sweeps:: │ │ │ │ │ -00005f60: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li │ │ │ │ │ -00005f70: 6e65 7320 6d61 6b65 2073 7572 6661 6365 nes make surface │ │ │ │ │ -00005f80: 732e 0a2a 204e 6573 7465 6420 7377 6565 s..* Nested swee │ │ │ │ │ -00005f90: 7073 3a3a 2020 2020 2020 2020 2020 2020 ps:: │ │ │ │ │ -00005fa0: 2020 2053 7765 7074 2073 7765 6570 7320 Swept sweeps │ │ │ │ │ -00005fb0: 6172 6520 7573 6566 756c 210a 2a20 506f are useful!.* Po │ │ │ │ │ -00005fc0: 6c79 676f 6e20 7377 6565 7073 3a3a 2020 lygon sweeps:: │ │ │ │ │ -00005fd0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -00005fe0: 7420 706f 6c79 676f 6e73 206d 616b 6520 t polygons make │ │ │ │ │ -00005ff0: 736f 6c69 6473 2e2e 2e0a 2a20 506f 6c79 solids....* Poly │ │ │ │ │ -00006000: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ -00006010: 2063 6c6f 7375 7265 3a3a 2020 616e 6420 closure:: and │ │ │ │ │ -00006020: 736f 2064 6f20 636c 6f73 6564 2070 6f6c so do closed pol │ │ │ │ │ -00006030: 796c 696e 6520 7377 6565 7073 2e0a 2a20 yline sweeps..* │ │ │ │ │ -00006040: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ -00006050: 633a 3a20 2020 2020 2020 2020 2020 536b c:: Sk │ │ │ │ │ -00006060: 6574 6368 2075 7365 6675 6c20 6d61 7468 etch useful math │ │ │ │ │ -00006070: 2065 7870 7265 7373 696f 6e2e 0a2a 204d expression..* M │ │ │ │ │ -00006080: 6f72 6520 746f 206c 6561 726e 3a3a 2020 ore to learn:: │ │ │ │ │ -00006090: 2020 2020 2020 2020 2020 2020 2043 6865 Che │ │ │ │ │ -000060a0: 636b 206f 7574 2074 6865 204d 6f62 6975 ck out the Mobiu │ │ │ │ │ -000060b0: 7320 7374 7269 7021 0a0a 1f0a 4669 6c65 s strip!....File │ │ │ │ │ -000060c0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -000060d0: 4e6f 6465 3a20 506f 696e 7420 7377 6565 Node: Point swee │ │ │ │ │ -000060e0: 7073 2c20 204e 6578 743a 2050 6f6c 796c ps, Next: Polyl │ │ │ │ │ -000060f0: 696e 6520 7377 6565 7073 2c20 2050 7265 ine sweeps, Pre │ │ │ │ │ -00006100: 763a 2053 7765 7074 206f 626a 6563 7473 v: Swept objects │ │ │ │ │ -00006110: 2c20 2055 703a 2053 7765 7074 206f 626a , Up: Swept obj │ │ │ │ │ -00006120: 6563 7473 0a0a 322e 372e 3120 506f 696e ects..2.7.1 Poin │ │ │ │ │ -00006130: 7420 7377 6565 7073 0a2d 2d2d 2d2d 2d2d t sweeps.------- │ │ │ │ │ -00006140: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 7765 -----------..Swe │ │ │ │ │ -00006150: 6570 696e 6720 6120 706f 696e 7420 6d61 eping a point ma │ │ │ │ │ -00006160: 6b65 7320 6120 6f6e 652d 6469 6d65 6e73 kes a one-dimens │ │ │ │ │ -00006170: 696f 6e61 6c20 7061 7468 2c20 7768 6963 ional path, whic │ │ │ │ │ -00006180: 6820 6973 2061 2070 6f6c 796c 696e 652e h is a polyline. │ │ │ │ │ -00006190: 0a53 696e 6365 2077 6520 6861 7665 2073 .Since we have s │ │ │ │ │ -000061a0: 7765 7074 2077 6974 6820 6120 726f 7461 wept with a rota │ │ │ │ │ -000061b0: 7469 6f6e 2c20 7468 6520 7265 7375 6c74 tion, the result │ │ │ │ │ -000061c0: 2069 7320 6120 6369 7263 756c 6172 2061 is a circular a │ │ │ │ │ -000061d0: 7263 2e20 2048 6572 650a 6973 2077 6861 rc. Here.is wha │ │ │ │ │ -000061e0: 7420 6974 206c 6f6f 6b73 206c 696b 652e t it looks like. │ │ │ │ │ -000061f0: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -00006200: 6578 3037 302e 706e 6722 2074 6578 743d ex070.png" text= │ │ │ │ │ -00006210: 2249 6d61 6765 2065 7830 3730 206f 6d69 "Image ex070 omi │ │ │ │ │ -00006220: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00006230: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -00006240: 756d 656e 742e 2200 085d 0a0a 2020 2054 ument."..].. T │ │ │ │ │ -00006250: 6869 7320 6973 2074 6865 2066 6972 7374 his is the first │ │ │ │ │ -00006260: 2065 7861 6d70 6c65 2077 6520 6861 7665 example we have │ │ │ │ │ -00006270: 2073 6565 6e20 6f66 20e2 8098 736b 6574 seen of ...sket │ │ │ │ │ -00006280: 6368 e280 9920 6172 6974 686d 6574 6963 ch... arithmetic │ │ │ │ │ -00006290: 2e20 2054 6865 0a65 7870 7265 7373 696f . The.expressio │ │ │ │ │ -000062a0: 6e20 3138 3020 2f20 6e5f 7365 6773 2063 n 180 / n_segs c │ │ │ │ │ -000062b0: 6175 7365 7320 7468 6520 6569 6768 7420 auses the eight │ │ │ │ │ -000062c0: 726f 7461 7469 6f6e 7320 746f 2061 6464 rotations to add │ │ │ │ │ -000062d0: 2074 6f20 3138 302e 2020 4966 0a79 6f75 to 180. If.you │ │ │ │ │ -000062e0: 2772 6520 7061 7969 6e67 2061 7474 656e 're paying atten │ │ │ │ │ -000062f0: 7469 6f6e 2c20 796f 7527 6c6c 2068 6176 tion, you'll hav │ │ │ │ │ -00006300: 6520 616c 7265 6164 7920 6e6f 7465 6420 e already noted │ │ │ │ │ -00006310: 7468 6174 2074 6865 7265 2061 7265 205f that there are _ │ │ │ │ │ -00006320: 6e69 6e65 5f0a 706f 696e 7473 2c20 7072 nine_.points, pr │ │ │ │ │ -00006330: 6f64 7563 696e 6720 6569 6768 7420 6c69 oducing eight li │ │ │ │ │ -00006340: 6e65 2073 6567 6d65 6e74 732e 0a0a 2020 ne segments... │ │ │ │ │ -00006350: 2059 6f75 2063 616e 2063 6175 7365 2074 You can cause t │ │ │ │ │ -00006360: 6865 2073 7765 7074 2070 6f69 6e74 2074 he swept point t │ │ │ │ │ -00006370: 6f20 6765 6e65 7261 7465 2061 2073 696e o generate a sin │ │ │ │ │ -00006380: 676c 6520 706f 6c79 676f 6e20 7261 7468 gle polygon rath │ │ │ │ │ -00006390: 6572 0a74 6861 6e20 6120 706f 6c79 6c69 er.than a polyli │ │ │ │ │ -000063a0: 6e65 2062 7920 7573 696e 6720 7468 6520 ne by using the │ │ │ │ │ -000063b0: e280 9c63 6c6f 7375 7265 2074 6167 e280 ...closure tag.. │ │ │ │ │ -000063c0: 9d20 3c3e 2061 6674 6572 2074 6865 206e . <> after the n │ │ │ │ │ -000063d0: 756d 6265 7220 6f66 2073 7765 7074 0a6f umber of swept.o │ │ │ │ │ -000063e0: 626a 6563 7473 2e20 2043 6f64 6520 616e bjects. Code an │ │ │ │ │ -000063f0: 6420 7265 7375 6c74 2066 6f6c 6c6f 770a d result follow. │ │ │ │ │ -00006400: 2020 6465 6620 6e5f 7365 6773 2038 0a20 def n_segs 8. │ │ │ │ │ -00006410: 2073 7765 6570 207b 206e 5f73 6567 733c sweep { n_segs< │ │ │ │ │ -00006420: 3e2c 2072 6f74 6174 6528 3138 3020 2f20 >, rotate(180 / │ │ │ │ │ -00006430: 6e5f 7365 6773 2c20 2830 2c30 2c30 292c n_segs, (0,0,0), │ │ │ │ │ -00006440: 205b 302c 302c 315d 2920 7d20 2831 2c30 [0,0,1]) } (1,0 │ │ │ │ │ -00006450: 2c30 290a 0008 5b69 6d61 6765 2073 7263 ,0)...[image src │ │ │ │ │ -00006460: 3d22 6578 3038 302e 706e 6722 2074 6578 ="ex080.png" tex │ │ │ │ │ -00006470: 743d 2249 6d61 6765 2065 7830 3830 206f t="Image ex080 o │ │ │ │ │ -00006480: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ -00006490: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ -000064a0: 6f63 756d 656e 742e 2200 085d 0a0a 1f0a ocument."..].... │ │ │ │ │ -000064b0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -000064c0: 6f2c 2020 4e6f 6465 3a20 506f 6c79 6c69 o, Node: Polyli │ │ │ │ │ -000064d0: 6e65 2073 7765 6570 732c 2020 4e65 7874 ne sweeps, Next │ │ │ │ │ -000064e0: 3a20 4e65 7374 6564 2073 7765 6570 732c : Nested sweeps, │ │ │ │ │ -000064f0: 2020 5072 6576 3a20 506f 696e 7420 7377 Prev: Point sw │ │ │ │ │ -00006500: 6565 7073 2c20 2055 703a 2053 7765 7074 eeps, Up: Swept │ │ │ │ │ -00006510: 206f 626a 6563 7473 0a0a 322e 372e 3220 objects..2.7.2 │ │ │ │ │ -00006520: 506f 6c79 6c69 6e65 2073 7765 6570 730a Polyline sweeps. │ │ │ │ │ -00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00006540: 2d2d 2d2d 2d0a 0a53 7765 6570 696e 6720 -----..Sweeping │ │ │ │ │ -00006550: 6120 706f 6c79 6c69 6e65 2070 726f 6475 a polyline produ │ │ │ │ │ -00006560: 6365 7320 6120 7375 7266 6163 6520 636f ces a surface co │ │ │ │ │ -00006570: 6d70 6f73 6564 206f 6620 6d61 6e79 2066 mposed of many f │ │ │ │ │ -00006580: 6163 6573 2e20 2054 6865 0a75 6e62 726f aces. The.unbro │ │ │ │ │ -00006590: 6b65 6e20 6865 6c69 7820 696e 2074 6865 ken helix in the │ │ │ │ │ -000065a0: 2065 7861 6d70 6c65 202a 6e6f 7465 2048 example *note H │ │ │ │ │ -000065b0: 656c 6978 2077 6974 6820 6375 6c6c 2073 elix with cull s │ │ │ │ │ -000065c0: 6574 2066 616c 7365 2074 6865 6e0a 7472 et false then.tr │ │ │ │ │ -000065d0: 7565 3a3a 2069 7320 7072 6f64 7563 6564 ue:: is produced │ │ │ │ │ -000065e0: 2062 7920 7468 6973 2063 6f64 6520 2870 by this code (p │ │ │ │ │ -000065f0: 6c75 7320 6120 7375 7272 6f75 6e64 696e lus a surroundin │ │ │ │ │ -00006600: 6720 7075 7420 726f 7461 7469 6f6e 2074 g put rotation t │ │ │ │ │ -00006610: 6f20 6d61 6b65 0a61 6e20 696e 7465 7265 o make.an intere │ │ │ │ │ -00006620: 7374 696e 6720 7669 6577 3b20 7468 6973 sting view; this │ │ │ │ │ -00006630: 2068 6173 2062 6565 6e20 6f6d 6974 7465 has been omitte │ │ │ │ │ -00006640: 6429 2e0a 2020 6465 6620 4b20 5b30 2c30 d).. def K [0,0 │ │ │ │ │ -00006650: 2c31 5d0a 2020 7377 6565 705b 6375 6c6c ,1]. sweep[cull │ │ │ │ │ -00006660: 3d66 616c 7365 5d20 7b0a 2020 2020 3630 =false] {. 60 │ │ │ │ │ -00006670: 2c20 0a20 2020 2072 6f74 6174 6528 3130 , . rotate(10 │ │ │ │ │ -00006680: 2c20 2830 2c30 2c30 292c 205b 4b5d 2920 , (0,0,0), [K]) │ │ │ │ │ -00006690: 7468 656e 2074 7261 6e73 6c61 7465 2831 then translate(1 │ │ │ │ │ -000066a0: 2f36 202a 205b 4b5d 2920 0a20 207d 206c /6 * [K]) . } l │ │ │ │ │ -000066b0: 696e 655b 6c69 6e65 7769 6474 683d 3270 ine[linewidth=2p │ │ │ │ │ -000066c0: 745d 282d 312c 3029 2831 2c30 290a 4167 t](-1,0)(1,0).Ag │ │ │ │ │ -000066d0: 6169 6e2c 2036 3020 7365 676d 656e 7473 ain, 60 segments │ │ │ │ │ -000066e0: 206f 6620 7468 6520 6865 6c69 7820 6172 of the helix ar │ │ │ │ │ -000066f0: 6520 7072 6f64 7563 6564 2062 7920 636f e produced by co │ │ │ │ │ -00006700: 6e6e 6563 7469 6e67 2036 3120 696e 7374 nnecting 61 inst │ │ │ │ │ -00006710: 616e 6365 730a 6f66 2074 6865 2073 7765 ances.of the swe │ │ │ │ │ -00006720: 7074 206c 696e 652e 2020 4f70 7469 6f6e pt line. Option │ │ │ │ │ -00006730: 7320 6170 706c 6965 6420 746f 2074 6865 s applied to the │ │ │ │ │ -00006740: 2073 7765 6570 2c20 6865 7265 2063 756c sweep, here cul │ │ │ │ │ -00006750: 6c3d 6661 6c73 652c 2061 7265 0a74 7265 l=false, are.tre │ │ │ │ │ -00006760: 6174 6564 2061 7320 6f70 7469 6f6e 7320 ated as options │ │ │ │ │ -00006770: 666f 7220 7468 6520 6765 6e65 7261 7465 for the generate │ │ │ │ │ -00006780: 6420 706f 6c79 676f 6e20 6f72 2070 6f6c d polygon or pol │ │ │ │ │ -00006790: 796c 696e 652e 2020 4f70 7469 6f6e 7320 yline. Options │ │ │ │ │ -000067a0: 6f66 0a74 6865 2073 7765 7074 206c 696e of.the swept lin │ │ │ │ │ -000067b0: 6520 6974 7365 6c66 2c20 6865 7265 206c e itself, here l │ │ │ │ │ -000067c0: 696e 6577 6964 7468 3d32 7074 2c20 6172 inewidth=2pt, ar │ │ │ │ │ -000067d0: 6520 6967 6e6f 7265 642c 2074 686f 7567 e ignored, thoug │ │ │ │ │ -000067e0: 6820 7769 7468 2061 0a77 6172 6e69 6e67 h with a.warning │ │ │ │ │ -000067f0: 2e20 2054 6869 7320 6465 6620 6973 2061 . This def is a │ │ │ │ │ -00006800: 20e2 809c 7665 6374 6f72 e280 9d20 6465 ...vector... de │ │ │ │ │ -00006810: 6669 6e69 7469 6f6e 2c20 7768 6963 6820 finition, which │ │ │ │ │ -00006820: 6d75 7374 2062 6520 7265 6665 7265 6e63 must be referenc │ │ │ │ │ -00006830: 6564 0a77 6974 6820 7371 7561 7265 2062 ed.with square b │ │ │ │ │ -00006840: 7261 636b 6574 732c 2065 2e67 2e20 5b66 rackets, e.g. [f │ │ │ │ │ -00006850: 6f6f 5d2e 0a0a 1f0a 4669 6c65 3a20 736b oo].....File: sk │ │ │ │ │ -00006860: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00006870: 3a20 4e65 7374 6564 2073 7765 6570 732c : Nested sweeps, │ │ │ │ │ -00006880: 2020 4e65 7874 3a20 506f 6c79 676f 6e20 Next: Polygon │ │ │ │ │ -00006890: 7377 6565 7073 2c20 2050 7265 763a 2050 sweeps, Prev: P │ │ │ │ │ -000068a0: 6f6c 796c 696e 6520 7377 6565 7073 2c20 olyline sweeps, │ │ │ │ │ -000068b0: 2055 703a 2053 7765 7074 206f 626a 6563 Up: Swept objec │ │ │ │ │ -000068c0: 7473 0a0a 322e 372e 3320 4e65 7374 6564 ts..2.7.3 Nested │ │ │ │ │ -000068d0: 2073 7765 6570 730a 2d2d 2d2d 2d2d 2d2d sweeps.-------- │ │ │ │ │ -000068e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a57 6865 -----------..Whe │ │ │ │ │ -000068f0: 6e20 7468 6520 6365 6e74 6572 2070 6f69 n the center poi │ │ │ │ │ -00006900: 6e74 206f 6620 726f 7461 7469 6f6e 2069 nt of rotation i │ │ │ │ │ -00006910: 7320 6f6d 6974 7465 642c 2074 6865 206f s omitted, the o │ │ │ │ │ -00006920: 7269 6769 6e20 6973 2061 7373 756d 6564 rigin is assumed │ │ │ │ │ -00006930: 2e0a 5768 656e 2061 2070 6f69 6e74 2068 ..When a point h │ │ │ │ │ -00006940: 6173 206f 6e6c 7920 7477 6f20 636f 6f72 as only two coor │ │ │ │ │ -00006950: 6469 6e61 7465 732c 2074 6865 7920 6172 dinates, they ar │ │ │ │ │ -00006960: 6520 7461 6b65 6e20 6173 2078 2061 6e64 e taken as x and │ │ │ │ │ -00006970: 2079 2c20 7769 7468 0a7a 3d30 2061 7373 y, with.z=0 ass │ │ │ │ │ -00006980: 756d 6564 2e20 2041 2074 6f72 6f69 6420 umed. A toroid │ │ │ │ │ -00006990: 6973 2074 6865 7265 666f 7265 206f 6274 is therefore obt │ │ │ │ │ -000069a0: 6169 6e65 6420 7769 7468 2074 6869 7320 ained with this │ │ │ │ │ -000069b0: 636f 6465 2e0a 2020 6465 6620 6e5f 746f code.. def n_to │ │ │ │ │ -000069c0: 726f 6964 5f73 6567 7320 3230 2020 2064 roid_segs 20 d │ │ │ │ │ -000069d0: 6566 206e 5f63 6972 636c 655f 7365 6773 ef n_circle_segs │ │ │ │ │ -000069e0: 2031 360a 2020 6465 6620 725f 6d69 6e6f 16. def r_mino │ │ │ │ │ -000069f0: 7220 3120 2020 2020 2020 2020 2064 6566 r 1 def │ │ │ │ │ -00006a00: 2072 5f6d 616a 6f72 2031 2e35 0a20 2073 r_major 1.5. s │ │ │ │ │ -00006a10: 7765 6570 207b 206e 5f74 6f72 6f69 645f weep { n_toroid_ │ │ │ │ │ -00006a20: 7365 6773 2c20 726f 7461 7465 2833 3630 segs, rotate(360 │ │ │ │ │ -00006a30: 202f 206e 5f74 6f72 6f69 645f 7365 6773 / n_toroid_segs │ │ │ │ │ -00006a40: 2c20 5b30 2c31 2c30 5d29 207d 0a20 2020 , [0,1,0]) }. │ │ │ │ │ -00006a50: 2073 7765 6570 207b 206e 5f63 6972 636c sweep { n_circl │ │ │ │ │ -00006a60: 655f 7365 6773 2c20 726f 7461 7465 2833 e_segs, rotate(3 │ │ │ │ │ -00006a70: 3630 202f 206e 5f63 6972 636c 655f 7365 60 / n_circle_se │ │ │ │ │ -00006a80: 6773 2c20 2872 5f6d 616a 6f72 2c30 2c30 gs, (r_major,0,0 │ │ │ │ │ -00006a90: 2929 207d 200a 2020 2020 2020 2872 5f6d )) } . (r_m │ │ │ │ │ -00006aa0: 616a 6f72 202b 2072 5f6d 696e 6f72 2c20 ajor + r_minor, │ │ │ │ │ -00006ab0: 3029 0a20 2020 466f 7220 696e 7475 6974 0). For intuit │ │ │ │ │ -00006ac0: 696f 6e2c 2074 6865 2069 6465 6120 6f66 ion, the idea of │ │ │ │ │ -00006ad0: 2074 6865 2063 6f64 6520 6973 2074 6f20 the code is to │ │ │ │ │ -00006ae0: 736b 6574 6368 2061 2063 6972 636c 6520 sketch a circle │ │ │ │ │ -00006af0: 746f 2074 6865 0a72 6967 6874 206f 6620 to the.right of │ │ │ │ │ -00006b00: 7468 6520 6f72 6967 696e 2069 6e20 7468 the origin in th │ │ │ │ │ -00006b10: 6520 7879 2d70 6c61 6e65 2c20 7468 656e e xy-plane, then │ │ │ │ │ -00006b20: 2072 6f74 6174 6520 7468 6174 2063 6972 rotate that cir │ │ │ │ │ -00006b30: 636c 6520 226f 7574 206f 6620 7468 650a cle "out of the. │ │ │ │ │ -00006b40: 706c 616e 6522 2061 626f 7574 2074 6865 plane" about the │ │ │ │ │ -00006b50: 2079 2d61 7869 7320 746f 206d 616b 6520 y-axis to make │ │ │ │ │ -00006b60: 7468 6520 6669 6e61 6c20 6669 6775 7265 the final figure │ │ │ │ │ -00006b70: 2e20 2054 6869 7320 7072 6f64 7563 6573 . This produces │ │ │ │ │ -00006b80: 2074 6865 0a66 6f6c 6c6f 7769 6e67 2e20 the.following. │ │ │ │ │ -00006b90: 2028 4120 7669 6577 2072 6f74 6174 696f (A view rotatio │ │ │ │ │ -00006ba0: 6e20 616e 6420 736f 6d65 2061 7865 7320 n and some axes │ │ │ │ │ -00006bb0: 6861 7665 2062 6565 6e20 6164 6465 642e have been added. │ │ │ │ │ -00006bc0: 290a 0a00 085b 696d 6167 6520 7372 633d )....[image src= │ │ │ │ │ -00006bd0: 2265 7830 3930 2e70 6e67 2220 7465 7874 "ex090.png" text │ │ │ │ │ -00006be0: 3d22 496d 6167 6520 6578 3039 3020 6f6d ="Image ex090 om │ │ │ │ │ -00006bf0: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve │ │ │ │ │ -00006c00: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do │ │ │ │ │ -00006c10: 6375 6d65 6e74 2e22 0008 5d0a 0a20 2020 cument."..].. │ │ │ │ │ -00006c20: 5468 6973 2065 7861 6d70 6c65 2061 6c73 This example als │ │ │ │ │ -00006c30: 6f20 7368 6f77 7320 7468 6174 2074 6865 o shows that the │ │ │ │ │ -00006c40: 2073 7765 7074 206f 626a 6563 7420 6d61 swept object ma │ │ │ │ │ -00006c50: 7920 6974 7365 6c66 2062 6520 616e 6f74 y itself be anot │ │ │ │ │ -00006c60: 6865 720a e280 9873 7765 6570 e280 992e her....sweep.... │ │ │ │ │ -00006c70: 2020 496e 2066 6163 742c 2069 7420 6d61 In fact, it ma │ │ │ │ │ -00006c80: 7920 6265 205f 616e 795f 20e2 8098 736b y be _any_ ...sk │ │ │ │ │ -00006c90: 6574 6368 e280 9920 6578 7072 6573 7369 etch... expressi │ │ │ │ │ -00006ca0: 6f6e 2074 6861 7420 7265 7375 6c74 7320 on that results │ │ │ │ │ -00006cb0: 696e 2061 0a6c 6973 7420 6f66 206f 6e65 in a.list of one │ │ │ │ │ -00006cc0: 206f 7220 6d6f 7265 2070 6f69 6e74 7320 or more points │ │ │ │ │ -00006cd0: 6f72 2c20 616c 7465 726e 6174 656c 792c or, alternately, │ │ │ │ │ -00006ce0: 2061 206c 6973 7420 6f66 206f 6e65 206f a list of one o │ │ │ │ │ -00006cf0: 7220 6d6f 7265 0a70 6f6c 796c 696e 6573 r more.polylines │ │ │ │ │ -00006d00: 2061 6e64 2070 6f6c 7967 6f6e 732e 2020 and polygons. │ │ │ │ │ -00006d10: 5468 6520 6c61 7474 6572 206b 696e 6420 The latter kind │ │ │ │ │ -00006d20: 6f66 206c 6973 7420 6361 6e20 6265 2063 of list can be c │ │ │ │ │ -00006d30: 7265 6174 6564 2077 6974 6820 610a 7b20 reated with a.{ │ │ │ │ │ -00006d40: 7d2d 656e 636c 6f73 6564 2062 6c6f 636b }-enclosed block │ │ │ │ │ -00006d50: 2c20 7065 7268 6170 7320 666f 6c6c 6f77 , perhaps follow │ │ │ │ │ -00006d60: 696e 6720 6120 7075 7420 6f72 2072 6570 ing a put or rep │ │ │ │ │ -00006d70: 6561 742e 0a0a 1f0a 4669 6c65 3a20 736b eat.....File: sk │ │ │ │ │ -00006d80: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00006d90: 3a20 506f 6c79 676f 6e20 7377 6565 7073 : Polygon sweeps │ │ │ │ │ -00006da0: 2c20 204e 6578 743a 2050 6f6c 796c 696e , Next: Polylin │ │ │ │ │ -00006db0: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl │ │ │ │ │ -00006dc0: 6f73 7572 652c 2020 5072 6576 3a20 4e65 osure, Prev: Ne │ │ │ │ │ -00006dd0: 7374 6564 2073 7765 6570 732c 2020 5570 sted sweeps, Up │ │ │ │ │ -00006de0: 3a20 5377 6570 7420 6f62 6a65 6374 730a : Swept objects. │ │ │ │ │ -00006df0: 0a32 2e37 2e34 2050 6f6c 7967 6f6e 2073 .2.7.4 Polygon s │ │ │ │ │ -00006e00: 7765 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d weeps.---------- │ │ │ │ │ -00006e10: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5377 6565 ----------..Swee │ │ │ │ │ -00006e20: 7069 6e67 2061 2070 6f6c 7967 6f6e 2063 ping a polygon c │ │ │ │ │ -00006e30: 7265 6174 6573 2061 2063 6c6f 7365 6420 reates a closed │ │ │ │ │ -00006e40: 7375 7266 6163 6520 7769 7468 2070 6f6c surface with pol │ │ │ │ │ -00006e50: 7967 6f6e 7320 6174 2074 6865 2065 6e64 ygons at the end │ │ │ │ │ -00006e60: 732c 0a77 6869 6368 2061 7265 206a 7573 s,.which are jus │ │ │ │ │ -00006e70: 7420 636f 7069 6573 206f 6620 7468 6520 t copies of the │ │ │ │ │ -00006e80: 6f72 6967 696e 616c 2c20 6170 7072 6f70 original, approp │ │ │ │ │ -00006e90: 7269 6174 656c 7920 706f 7369 7469 6f6e riately position │ │ │ │ │ -00006ea0: 6564 2e20 202a 4e6f 7465 0a53 6f6c 6964 ed. *Note.Solid │ │ │ │ │ -00006eb0: 2063 6f69 6c20 6578 616d 706c 653a 3a2e coil example::. │ │ │ │ │ -00006ec0: 2020 4f70 7469 6f6e 7320 6f6e 2074 6865 Options on the │ │ │ │ │ -00006ed0: 2073 7765 7074 2070 6f6c 7967 6f6e 2c20 swept polygon, │ │ │ │ │ -00006ee0: 6966 2074 6865 7920 6578 6973 742c 2061 if they exist, a │ │ │ │ │ -00006ef0: 7265 0a61 7070 6c69 6564 2074 6f20 7468 re.applied to th │ │ │ │ │ -00006f00: 6520 656e 6473 2e20 204f 7468 6572 7769 e ends. Otherwi │ │ │ │ │ -00006f10: 7365 2074 6865 2073 7765 6570 206f 7074 se the sweep opt │ │ │ │ │ -00006f20: 696f 6e73 2061 7265 2075 7365 6420 7468 ions are used th │ │ │ │ │ -00006f30: 726f 7567 686f 7574 2e0a 0a1f 0a46 696c roughout.....Fil │ │ │ │ │ -00006f40: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -00006f50: 204e 6f64 653a 2050 6f6c 796c 696e 6520 Node: Polyline │ │ │ │ │ -00006f60: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ -00006f70: 7572 652c 2020 4e65 7874 3a20 4166 6669 ure, Next: Affi │ │ │ │ │ -00006f80: 6e65 2061 7269 7468 6d65 7469 632c 2020 ne arithmetic, │ │ │ │ │ -00006f90: 5072 6576 3a20 506f 6c79 676f 6e20 7377 Prev: Polygon sw │ │ │ │ │ -00006fa0: 6565 7073 2c20 2055 703a 2053 7765 7074 eeps, Up: Swept │ │ │ │ │ -00006fb0: 206f 626a 6563 7473 0a0a 322e 372e 3520 objects..2.7.5 │ │ │ │ │ -00006fc0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ -00006fd0: 7769 7468 2063 6c6f 7375 7265 0a2d 2d2d with closure.--- │ │ │ │ │ -00006fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ -00007000: 0a41 2070 6f6c 796c 696e 6520 7377 6565 .A polyline swee │ │ │ │ │ -00007010: 7020 7769 7468 2061 2063 6c6f 7375 7265 p with a closure │ │ │ │ │ -00007020: 2074 6167 2063 7265 6174 6573 2061 6e6f tag creates ano │ │ │ │ │ -00007030: 7468 6572 206b 696e 6420 6f66 2063 6c6f ther kind of clo │ │ │ │ │ -00007040: 7365 640a 7375 7266 6163 652e 2020 4669 sed.surface. Fi │ │ │ │ │ -00007050: 7273 742c 2074 6865 2070 6f6c 796c 696e rst, the polylin │ │ │ │ │ -00007060: 6520 7365 676d 656e 7473 2061 7265 2063 e segments are c │ │ │ │ │ -00007070: 6f6e 6e65 6374 6564 2062 7920 6661 6365 onnected by face │ │ │ │ │ -00007080: 732c 206a 7573 7420 6173 0a77 6974 686f s, just as.witho │ │ │ │ │ -00007090: 7574 2074 6865 2063 6c6f 7375 7265 2074 ut the closure t │ │ │ │ │ -000070a0: 6167 2e20 2054 6865 6e2c 2065 6163 6820 ag. Then, each │ │ │ │ │ -000070b0: 7365 7420 6f66 2065 6e64 2070 6f69 6e74 set of end point │ │ │ │ │ -000070c0: 7320 6973 206a 6f69 6e65 6420 746f 206d s is joined to m │ │ │ │ │ -000070d0: 616b 650a 6120 706f 6c79 676f 6e2c 206f ake.a polygon, o │ │ │ │ │ -000070e0: 6e65 2066 6f72 2065 6163 6820 656e 642e ne for each end. │ │ │ │ │ -000070f0: 2020 4120 636f 6465 2066 6f72 2073 6576 A code for sev │ │ │ │ │ -00007100: 6572 616c 2076 6965 7773 206f 6620 6120 eral views of a │ │ │ │ │ -00007110: 6379 6c69 6e64 7269 6361 6c0a 7072 6973 cylindrical.pris │ │ │ │ │ -00007120: 6d20 666f 6c6c 6f77 732e 0a20 2064 6566 m follows.. def │ │ │ │ │ -00007130: 206e 5f63 796c 5f73 6567 7320 3230 2020 n_cyl_segs 20 │ │ │ │ │ -00007140: 6465 6620 6e5f 7669 6577 7320 3520 2064 def n_views 5 d │ │ │ │ │ -00007150: 6566 2049 205b 312c 302c 305d 0a20 2064 ef I [1,0,0]. d │ │ │ │ │ -00007160: 6566 2065 6e64 6f70 7473 205b 6669 6c6c ef endopts [fill │ │ │ │ │ -00007170: 636f 6c6f 723d 6c69 6768 7467 7261 795d color=lightgray] │ │ │ │ │ -00007180: 0a20 2072 6570 6561 7420 7b20 6e5f 7669 . repeat { n_vi │ │ │ │ │ -00007190: 6577 732c 2072 6f74 6174 6528 3138 302f ews, rotate(180/ │ │ │ │ │ -000071a0: 6e5f 7669 6577 732c 205b 495d 2920 7468 n_views, [I]) th │ │ │ │ │ -000071b0: 656e 2074 7261 6e73 6c61 7465 285b 495d en translate([I] │ │ │ │ │ -000071c0: 202a 2032 2e31 2920 7d20 0a20 2020 2073 * 2.1) } . s │ │ │ │ │ -000071d0: 7765 6570 5b65 6e64 6f70 7473 5d7b 206e weep[endopts]{ n │ │ │ │ │ -000071e0: 5f63 796c 5f73 6567 733c 3e2c 2072 6f74 _cyl_segs<>, rot │ │ │ │ │ -000071f0: 6174 6528 3336 302f 6e5f 6379 6c5f 7365 ate(360/n_cyl_se │ │ │ │ │ -00007200: 6773 2c20 5b30 2c31 2c30 5d29 207d 200a gs, [0,1,0]) } . │ │ │ │ │ -00007210: 2020 2020 2020 6c69 6e65 5b66 696c 6c63 line[fillc │ │ │ │ │ -00007220: 6f6c 6f72 3d77 6869 7465 5d28 312c 2d31 olor=white](1,-1 │ │ │ │ │ -00007230: 2928 312c 3129 0a49 7420 7072 6f64 7563 )(1,1).It produc │ │ │ │ │ -00007240: 6573 2074 6869 7320 6472 6177 696e 672e es this drawing. │ │ │ │ │ -00007250: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -00007260: 6578 3131 302e 706e 6722 2074 6578 743d ex110.png" text= │ │ │ │ │ -00007270: 2249 6d61 6765 2065 7831 3130 206f 6d69 "Image ex110 omi │ │ │ │ │ -00007280: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00007290: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -000072a0: 756d 656e 742e 2200 085d 0a0a 5468 6520 ument."..]..The │ │ │ │ │ -000072b0: 6f70 7469 6f6e 7320 6f66 2074 6865 2073 options of the s │ │ │ │ │ -000072c0: 7765 7074 206c 696e 652c 2069 6620 616e wept line, if an │ │ │ │ │ -000072d0: 792c 2061 7265 2061 7070 6c69 6564 2074 y, are applied t │ │ │ │ │ -000072e0: 6f20 7468 6520 6661 6365 7320 7072 6f64 o the faces prod │ │ │ │ │ -000072f0: 7563 6564 0a62 7920 7377 6565 7069 6e67 uced.by sweeping │ │ │ │ │ -00007300: 2074 6865 206c 696e 652c 2062 7574 206e the line, but n │ │ │ │ │ -00007310: 6f74 2074 6865 2065 6e64 2070 6f6c 7967 ot the end polyg │ │ │ │ │ -00007320: 6f6e 732e 2020 4f74 6865 7277 6973 652c ons. Otherwise, │ │ │ │ │ -00007330: 2074 6865 2073 7765 6570 0a6f 7074 696f the sweep.optio │ │ │ │ │ -00007340: 6e73 2061 7265 2061 7070 6c69 6564 2074 ns are applied t │ │ │ │ │ -00007350: 6872 6f75 6768 6f75 742e 2020 5468 6520 hroughout. The │ │ │ │ │ -00007360: 6465 6620 696e 2074 6869 7320 6578 616d def in this exam │ │ │ │ │ -00007370: 706c 6520 6973 2061 6e20 e280 9c6f 7074 ple is an ...opt │ │ │ │ │ -00007380: 696f 6ee2 809d 0a64 6566 696e 6974 696f ion....definitio │ │ │ │ │ -00007390: 6e2e 2020 5265 6665 7265 6e63 6573 2074 n. References t │ │ │ │ │ -000073a0: 6f20 6f70 7469 6f6e 7320 6d75 7374 2062 o options must b │ │ │ │ │ -000073b0: 6520 656e 636c 6f73 6564 2069 6e20 7371 e enclosed in sq │ │ │ │ │ -000073c0: 7561 7265 2062 7261 636b 6574 732c 0a65 uare brackets,.e │ │ │ │ │ -000073d0: 2e67 2e20 2020 5b66 6f6f 5d2e 2020 596f .g. [foo]. Yo │ │ │ │ │ -000073e0: 7520 6361 6e20 636f 6e63 6174 656e 6174 u can concatenat │ │ │ │ │ -000073f0: 6520 7365 7665 7261 6c20 7365 7473 206f e several sets o │ │ │ │ │ -00007400: 6620 6f70 7469 6f6e 7320 7769 7468 2061 f options with a │ │ │ │ │ -00007410: 2073 696e 676c 650a 7265 6665 7265 6e63 single.referenc │ │ │ │ │ -00007420: 652c 2065 2e67 2e20 2020 5b63 6f6c 6f72 e, e.g. [color │ │ │ │ │ -00007430: 2c20 7369 7a65 2c20 7374 796c 655d 2020 , size, style] │ │ │ │ │ -00007440: 776f 756c 6420 6361 7573 6520 7468 6520 would cause the │ │ │ │ │ -00007450: 6f70 7469 6f6e 0a64 6566 696e 6974 696f option.definitio │ │ │ │ │ -00007460: 6e73 2066 6f72 20e2 8098 636f 6c6f 72e2 ns for ...color. │ │ │ │ │ -00007470: 8099 2c20 e280 9873 697a 65e2 8099 2c20 .., ...size..., │ │ │ │ │ -00007480: 616e 6420 e280 9873 7479 6c65 e280 9920 and ...style... │ │ │ │ │ -00007490: 746f 2061 7070 6561 7220 696e 2073 6571 to appear in seq │ │ │ │ │ -000074a0: 7565 6e63 6520 696e 0a74 6865 206f 7574 uence in.the out │ │ │ │ │ -000074b0: 7075 7420 6372 6561 7465 6420 6279 2074 put created by t │ │ │ │ │ -000074c0: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... │ │ │ │ │ -000074d0: 636f 6d6d 616e 6420 636f 6e74 6169 6e69 command containi │ │ │ │ │ -000074e0: 6e67 2074 6865 2072 6566 6572 656e 6365 ng the reference │ │ │ │ │ -000074f0: 2e0a 4861 7070 696c 792c 2074 6865 2073 ..Happily, the s │ │ │ │ │ -00007500: 796e 7461 7820 6f66 20e2 8098 736b 6574 yntax of ...sket │ │ │ │ │ -00007510: 6368 e280 9920 6973 2073 7563 6820 7468 ch... is such th │ │ │ │ │ -00007520: 6174 206f 7074 696f 6e73 2072 6566 6572 at options refer │ │ │ │ │ -00007530: 656e 6365 7320 6361 6e0a 6e65 7665 7220 ences can.never │ │ │ │ │ -00007540: 6265 2063 6f6e 6675 7365 6420 7769 7468 be confused with │ │ │ │ │ -00007550: 2076 6563 746f 7220 7265 6665 7265 6e63 vector referenc │ │ │ │ │ -00007560: 6573 2e20 2057 6869 6c65 206e 6f74 2061 es. While not a │ │ │ │ │ -00007570: 7070 6172 656e 7420 696e 2074 6869 730a pparent in this. │ │ │ │ │ -00007580: 6578 616d 706c 652c 206f 7074 696f 6e73 example, options │ │ │ │ │ -00007590: 2072 6566 6572 656e 6365 7320 6172 6520 references are │ │ │ │ │ -000075a0: 7573 6566 756c 2077 6865 6e20 6465 6669 useful when defi │ │ │ │ │ -000075b0: 6e69 6e67 206d 616e 7920 6f62 6a65 6374 ning many object │ │ │ │ │ -000075c0: 7320 7769 7468 2061 0a73 696d 696c 6172 s with a.similar │ │ │ │ │ -000075d0: 2061 7070 6561 7261 6e63 652e 0a0a 1f0a appearance..... │ │ │ │ │ -000075e0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -000075f0: 6f2c 2020 4e6f 6465 3a20 4166 6669 6e65 o, Node: Affine │ │ │ │ │ -00007600: 2061 7269 7468 6d65 7469 632c 2020 4e65 arithmetic, Ne │ │ │ │ │ -00007610: 7874 3a20 4d6f 7265 2074 6f20 6c65 6172 xt: More to lear │ │ │ │ │ -00007620: 6e2c 2020 5072 6576 3a20 506f 6c79 6c69 n, Prev: Polyli │ │ │ │ │ -00007630: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ -00007640: 6c6f 7375 7265 2c20 2055 703a 2053 7765 losure, Up: Swe │ │ │ │ │ -00007650: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7. │ │ │ │ │ -00007660: 3620 4166 6669 6e65 2061 7269 7468 6d65 6 Affine arithme │ │ │ │ │ -00007670: 7469 630a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d tic.------------ │ │ │ │ │ -00007680: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a54 6865 -----------..The │ │ │ │ │ -00007690: 2061 7269 7468 6d65 7469 6320 5b49 5d20 arithmetic [I] │ │ │ │ │ -000076a0: 2a20 322e 3120 6162 6f76 6520 6869 6e74 * 2.1 above hint │ │ │ │ │ -000076b0: 7320 6174 2061 206c 6172 6765 7220 7472 s at a larger tr │ │ │ │ │ -000076c0: 7574 682e 2020 e280 9853 6b65 7463 68e2 uth. ...Sketch. │ │ │ │ │ -000076d0: 8099 0a6f 7065 7261 746f 7273 2077 6f72 ...operators wor │ │ │ │ │ -000076e0: 6b20 6f6e 2073 6361 6c61 7273 2c20 7665 k on scalars, ve │ │ │ │ │ -000076f0: 6374 6f72 732c 2070 6f69 6e74 732c 2061 ctors, points, a │ │ │ │ │ -00007700: 6e64 2074 7261 6e73 666f 726d 7320 6163 nd transforms ac │ │ │ │ │ -00007710: 636f 7264 696e 6720 746f 0a74 6865 2067 cording to.the g │ │ │ │ │ -00007720: 656e 6572 616c 2072 756c 6573 206f 6620 eneral rules of │ │ │ │ │ -00007730: e280 9c61 6666 696e 6520 616c 6765 6272 ...affine algebr │ │ │ │ │ -00007740: 61e2 809d 2e20 2054 6869 7320 6361 6e20 a.... This can │ │ │ │ │ -00007750: 6265 2068 656c 7066 756c 2066 6f72 2073 be helpful for s │ │ │ │ │ -00007760: 6574 7469 6e67 0a75 7020 6469 6167 7261 etting.up diagra │ │ │ │ │ -00007770: 6d73 2077 6974 6820 636f 6d70 7574 6564 ms with computed │ │ │ │ │ -00007780: 2067 656f 6d65 7472 792e 2020 466f 7220 geometry. For │ │ │ │ │ -00007790: 6578 616d 706c 652c 2069 6620 796f 7520 example, if you │ │ │ │ │ -000077a0: 6861 7665 2074 7269 616e 676c 650a 7665 have triangle.ve │ │ │ │ │ -000077b0: 7274 6963 6573 2028 7031 2920 7468 726f rtices (p1) thro │ │ │ │ │ -000077c0: 7567 6820 2870 3329 2061 6e64 206e 6565 ugh (p3) and nee │ │ │ │ │ -000077d0: 6420 746f 2064 7261 7720 6120 756e 6974 d to draw a unit │ │ │ │ │ -000077e0: 206e 6f72 6d61 6c20 7665 6374 6f72 0a70 normal vector.p │ │ │ │ │ -000077f0: 6f69 6e74 696e 6720 6f75 7420 6f66 2074 ointing out of t │ │ │ │ │ -00007800: 6865 2063 656e 7465 7220 6f66 2074 6865 he center of the │ │ │ │ │ -00007810: 2074 7269 616e 676c 652c 2074 6869 7320 triangle, this │ │ │ │ │ -00007820: 636f 6465 2064 6f65 7320 7468 6520 7472 code does the tr │ │ │ │ │ -00007830: 6963 6b2e 0a20 2064 6566 2070 3120 2831 ick.. def p1 (1 │ │ │ │ │ -00007840: 2c30 2c30 2920 2064 6566 2070 3220 2830 ,0,0) def p2 (0 │ │ │ │ │ -00007850: 2c30 2e35 2c30 2920 2064 6566 2070 3320 ,0.5,0) def p3 │ │ │ │ │ -00007860: 282d 302e 352c 2d31 2c32 290a 2020 6465 (-0.5,-1,2). de │ │ │ │ │ -00007870: 6620 4f20 2830 2c30 2c30 290a 2020 6465 f O (0,0,0). de │ │ │ │ │ -00007880: 6620 4e20 756e 6974 2820 2828 7033 2920 f N unit( ((p3) │ │ │ │ │ -00007890: 2d20 2870 3229 2920 2a20 2828 7031 2920 - (p2)) * ((p1) │ │ │ │ │ -000078a0: 2d20 2870 3229 2920 290a 2020 6465 6620 - (p2)) ). def │ │ │ │ │ -000078b0: 6e31 2028 2870 3129 2d28 4f29 202b 2028 n1 ((p1)-(O) + ( │ │ │ │ │ -000078c0: 7032 292d 284f 2920 2b20 2870 3329 2d28 p2)-(O) + (p3)-( │ │ │ │ │ -000078d0: 4f29 2920 2f20 3320 2b20 284f 290a 2020 O)) / 3 + (O). │ │ │ │ │ -000078e0: 6465 6620 6e32 2028 6e31 292b 5b4e 5d0a def n2 (n1)+[N]. │ │ │ │ │ -000078f0: 2020 706f 6c79 676f 6e28 7031 2928 7032 polygon(p1)(p2 │ │ │ │ │ -00007900: 2928 7033 290a 2020 6c69 6e65 5b61 7272 )(p3). line[arr │ │ │ │ │ -00007910: 6f77 733d 2a2d 3e5d 286e 3129 286e 3229 ows=*->](n1)(n2) │ │ │ │ │ -00007920: 0a54 6865 2066 6972 7374 206c 696e 6520 .The first line │ │ │ │ │ -00007930: 636f 6d70 7574 6573 2074 6865 2063 726f computes the cro │ │ │ │ │ -00007940: 7373 2070 726f 6475 6374 206f 6620 7477 ss product of tw │ │ │ │ │ -00007950: 6f20 6564 6765 2076 6563 746f 7273 206f o edge vectors o │ │ │ │ │ -00007960: 6620 7468 650a 7472 6961 6e67 6c65 2061 f the.triangle a │ │ │ │ │ -00007970: 6e64 2073 6361 6c65 7320 6974 2074 6f20 nd scales it to │ │ │ │ │ -00007980: 756e 6974 206c 656e 6774 682e 2020 5468 unit length. Th │ │ │ │ │ -00007990: 6520 7365 636f 6e64 2063 6f6d 7075 7465 e second compute │ │ │ │ │ -000079a0: 7320 7468 6520 6176 6572 6167 650a 6f66 s the average.of │ │ │ │ │ -000079b0: 2074 6865 2076 6572 7469 6365 732e 2020 the vertices. │ │ │ │ │ -000079c0: 4e6f 7465 2074 6861 7420 7375 6274 7261 Note that subtra │ │ │ │ │ -000079d0: 6374 696f 6e20 616e 6420 6164 6469 7469 ction and additi │ │ │ │ │ -000079e0: 6f6e 206f 6620 7468 6520 6f72 6967 696e on of the origin │ │ │ │ │ -000079f0: 0a65 6666 6563 7469 7665 6c79 2063 6f6e .effectively con │ │ │ │ │ -00007a00: 7665 7274 2076 6563 746f 7273 2074 6f20 vert vectors to │ │ │ │ │ -00007a10: 706f 696e 7473 2061 6e64 205f 7669 6365 points and _vice │ │ │ │ │ -00007a20: 2076 6572 7361 5f2e 2020 5468 6520 6c69 versa_. The li │ │ │ │ │ -00007a30: 6e65 0a63 6f6d 6d61 6e64 2064 7261 7773 ne.command draws │ │ │ │ │ -00007a40: 2074 6865 206e 6f72 6d61 6c20 6174 2074 the normal at t │ │ │ │ │ -00007a50: 6865 2063 6f72 7265 6374 2073 706f 742e he correct spot. │ │ │ │ │ -00007a60: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -00007a70: 6578 3130 302e 706e 6722 2074 6578 743d ex100.png" text= │ │ │ │ │ -00007a80: 2249 6d61 6765 2065 7831 3030 206f 6d69 "Image ex100 omi │ │ │ │ │ -00007a90: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00007aa0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -00007ab0: 756d 656e 742e 2200 085d 0a0a 2020 2054 ument."..].. T │ │ │ │ │ -00007ac0: 776f 2063 6176 6561 7473 2072 6567 6172 wo caveats regar │ │ │ │ │ -00007ad0: 6469 6e67 2074 6869 7320 6578 616d 706c ding this exampl │ │ │ │ │ -00007ae0: 6520 7265 6d61 696e 2e20 2046 6972 7374 e remain. First │ │ │ │ │ -00007af0: 2c20 7468 6520 6f6e 6c79 2077 6179 2074 , the only way t │ │ │ │ │ -00007b00: 6f0a 7573 6520 e280 9850 5354 7269 636b o.use ...PSTrick │ │ │ │ │ -00007b10: 73e2 8099 2d73 7479 6c65 2061 7272 6f77 s...-style arrow │ │ │ │ │ -00007b20: 7320 6973 2077 6974 6820 6172 726f 7773 s is with arrows │ │ │ │ │ -00007b30: 3d2e 2020 5468 6520 616c 7465 726e 6174 =. The alternat │ │ │ │ │ -00007b40: 6976 6520 7379 6e74 6178 2066 6f72 0ae2 ive syntax for.. │ │ │ │ │ -00007b50: 8098 5053 5472 6963 6b73 e280 9920 6172 ..PSTricks... ar │ │ │ │ │ -00007b60: 726f 7773 2069 7320 6e6f 7420 616c 6c6f rows is not allo │ │ │ │ │ -00007b70: 7765 6420 696e 2073 6b65 7463 682e 2020 wed in sketch. │ │ │ │ │ -00007b80: 5365 636f 6e64 2c20 796f 7520 6d69 6768 Second, you migh │ │ │ │ │ -00007b90: 7420 6c69 6b65 2074 6f0a 656c 696d 696e t like to.elimin │ │ │ │ │ -00007ba0: 6174 6520 7468 6520 7468 6972 6420 6465 ate the third de │ │ │ │ │ -00007bb0: 6620 616e 6420 7772 6974 6520 696e 7374 f and write inst │ │ │ │ │ -00007bc0: 6561 6420 7468 6520 666f 6c6c 6f77 696e ead the followin │ │ │ │ │ -00007bd0: 672e 0a20 206c 696e 655b 6172 726f 7773 g.. line[arrows │ │ │ │ │ -00007be0: 3d2a 2d3e 5d28 6e31 2920 286e 3129 2b5b =*->](n1) (n1)+[ │ │ │ │ │ -00007bf0: 4e5d 0a54 6869 7320 6973 206e 6f74 2061 N].This is not a │ │ │ │ │ -00007c00: 6c6c 6f77 6564 2e20 2054 6865 2070 6f69 llowed. The poi │ │ │ │ │ -00007c10: 6e74 206c 6973 7473 2069 6e20 6472 6177 nt lists in draw │ │ │ │ │ -00007c20: 6162 6c65 7320 6d61 7920 636f 6e73 6973 ables may consis │ │ │ │ │ -00007c30: 7420 6f6e 6c79 206f 660a 6578 706c 6963 t only of.explic │ │ │ │ │ -00007c40: 6974 2070 6f69 6e74 7320 6f72 2070 6f69 it points or poi │ │ │ │ │ -00007c50: 6e74 2072 6566 6572 656e 6365 732e 2020 nt references. │ │ │ │ │ -00007c60: 596f 7520 6d61 792c 2068 6f77 6576 6572 You may, however │ │ │ │ │ -00007c70: 2c20 7573 6520 6172 6974 686d 6574 6963 , use arithmetic │ │ │ │ │ -00007c80: 0a74 6f20 6361 6c63 756c 6174 6520 706f .to calculate po │ │ │ │ │ -00007c90: 696e 7420 636f 6d70 6f6e 656e 7473 2e20 int components. │ │ │ │ │ -00007ca0: 2054 6865 2066 6f6c 6c6f 7769 6e67 2077 The following w │ │ │ │ │ -00007cb0: 6f72 6b73 2c20 7468 6f75 6768 2069 7427 orks, though it' │ │ │ │ │ -00007cc0: 7320 610a 6c69 7474 6c65 2063 756d 6265 s a.little cumbe │ │ │ │ │ -00007cd0: 7273 6f6d 652e 0a20 206c 696e 655b 6172 rsome.. line[ar │ │ │ │ │ -00007ce0: 726f 7773 3d2a 2d3e 5d28 6e31 2928 286e rows=*->](n1)((n │ │ │ │ │ -00007cf0: 3129 2778 2b28 4e29 2778 2c20 286e 3129 1)'x+(N)'x, (n1) │ │ │ │ │ -00007d00: 2779 2b28 4e29 2779 2c20 286e 3129 277a 'y+(N)'y, (n1)'z │ │ │ │ │ -00007d10: 2b28 4e29 277a 290a 4f62 7669 6f75 736c +(N)'z).Obviousl │ │ │ │ │ -00007d20: 792c 2074 6865 20e2 809c 7469 636b 206f y, the ...tick o │ │ │ │ │ -00007d30: 7065 7261 746f 72e2 809d 20e2 8098 2778 perator... ...'x │ │ │ │ │ -00007d40: e280 9920 6578 7472 6163 7473 2063 6f6d ... extracts com │ │ │ │ │ -00007d50: 706f 6e65 6e74 7320 6f66 2070 6f69 6e74 ponents of point │ │ │ │ │ -00007d60: 7320 616e 640a 7665 6374 6f72 732e 0a0a s and.vectors... │ │ │ │ │ -00007d70: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -00007d80: 6e66 6f2c 2020 4e6f 6465 3a20 4d6f 7265 nfo, Node: More │ │ │ │ │ -00007d90: 2074 6f20 6c65 6172 6e2c 2020 5072 6576 to learn, Prev │ │ │ │ │ -00007da0: 3a20 4166 6669 6e65 2061 7269 7468 6d65 : Affine arithme │ │ │ │ │ -00007db0: 7469 632c 2020 5570 3a20 5377 6570 7420 tic, Up: Swept │ │ │ │ │ -00007dc0: 6f62 6a65 6374 730a 0a32 2e37 2e37 204d objects..2.7.7 M │ │ │ │ │ -00007dd0: 6f72 6520 746f 206c 6561 726e 0a2d 2d2d ore to learn.--- │ │ │ │ │ -00007de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00007df0: 0a0a 5468 6973 2069 7320 6e6f 7420 7468 ..This is not th │ │ │ │ │ -00007e00: 6520 656e 6420 6f66 2074 6865 2073 746f e end of the sto │ │ │ │ │ -00007e10: 7279 206f 6e20 7377 6565 7073 2120 2057 ry on sweeps! W │ │ │ │ │ -00007e20: 6520 696e 7669 7465 2074 6865 2072 6561 e invite the rea │ │ │ │ │ -00007e30: 6465 7220 696e 746f 0a74 6865 206d 6169 der into.the mai │ │ │ │ │ -00007e40: 6e20 626f 6479 206f 6620 7468 6973 2064 n body of this d │ │ │ │ │ -00007e50: 6f63 756d 656e 7461 7469 6f6e 202a 6e6f ocumentation *no │ │ │ │ │ -00007e60: 7465 2053 7765 6570 733a 3a20 746f 206c te Sweeps:: to l │ │ │ │ │ -00007e70: 6561 726e 206d 6f72 652e 0a0a 0008 5b69 earn more.....[i │ │ │ │ │ -00007e80: 6d61 6765 2073 7263 3d22 6578 3132 302e mage src="ex120. │ │ │ │ │ -00007e90: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ -00007ea0: 2065 7831 3230 206f 6d69 7474 6564 2069 ex120 omitted i │ │ │ │ │ -00007eb0: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ -00007ec0: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ -00007ed0: 2200 085d 0a0a 5768 6f20 6b6e 6f77 7320 "..]..Who knows │ │ │ │ │ -00007ee0: 7768 6572 6520 796f 7527 6c6c 2066 696e where you'll fin │ │ │ │ │ -00007ef0: 6973 683f 0a0a 1f0a 4669 6c65 3a20 736b ish?....File: sk │ │ │ │ │ -00007f00: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00007f10: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language │ │ │ │ │ -00007f20: 2c20 204e 6578 743a 2042 7569 6c64 696e , Next: Buildin │ │ │ │ │ -00007f30: 6720 6120 6472 6177 696e 672c 2020 5072 g a drawing, Pr │ │ │ │ │ -00007f40: 6576 3a20 496e 7472 6f64 7563 7469 6f6e ev: Introduction │ │ │ │ │ -00007f50: 2062 7920 6578 616d 706c 652c 2020 5570 by example, Up │ │ │ │ │ -00007f60: 3a20 546f 700a 0a33 2049 6e70 7574 206c : Top..3 Input l │ │ │ │ │ -00007f70: 616e 6775 6167 650a 2a2a 2a2a 2a2a 2a2a anguage.******** │ │ │ │ │ -00007f80: 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6973 2063 ********..This c │ │ │ │ │ -00007f90: 6861 7074 6572 2064 6573 6372 6962 6573 hapter describes │ │ │ │ │ -00007fa0: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch.. │ │ │ │ │ -00007fb0: 9920 696e 7075 7420 6c61 6e67 7561 6765 . input language │ │ │ │ │ -00007fc0: 2069 6e20 6465 7461 696c 2e0a 0a2a 204d in detail...* M │ │ │ │ │ -00007fd0: 656e 753a 0a0a 2a20 4c61 6e67 7561 6765 enu:..* Language │ │ │ │ │ -00007fe0: 2062 6173 6963 733a 3a20 2020 2020 2020 basics:: │ │ │ │ │ -00007ff0: 2020 2020 2020 4361 7365 2c20 7370 6163 Case, spac │ │ │ │ │ -00008000: 652c 2063 6f6d 6d65 6e74 732c 2069 6e63 e, comments, inc │ │ │ │ │ -00008010: 6c75 6465 2066 696c 6573 2e0a 2a20 4472 lude files..* Dr │ │ │ │ │ -00008020: 6177 6162 6c65 733a 3a20 2020 2020 2020 awables:: │ │ │ │ │ -00008030: 2020 2020 2020 2020 2020 2020 5468 696e Thin │ │ │ │ │ -00008040: 6773 2074 6861 7420 6361 6e20 6265 2064 gs that can be d │ │ │ │ │ -00008050: 7261 776e 2e0a 2a20 4465 6669 6e69 7469 rawn..* Definiti │ │ │ │ │ -00008060: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: │ │ │ │ │ -00008070: 2020 2020 2020 4769 7669 6e67 2074 6869 Giving thi │ │ │ │ │ -00008080: 6e67 7320 6e61 6d65 732e 0a2a 2047 6c6f ngs names..* Glo │ │ │ │ │ -00008090: 6261 6c20 656e 7669 726f 6e6d 656e 743a bal environment: │ │ │ │ │ -000080a0: 3a20 2020 2020 2020 2020 2041 6666 6563 : Affec │ │ │ │ │ -000080b0: 7420 7468 6520 656e 7469 7265 2064 7261 t the entire dra │ │ │ │ │ -000080c0: 7769 6e67 2e0a 0a1f 0a46 696c 653a 2073 wing.....File: s │ │ │ │ │ -000080d0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -000080e0: 653a 204c 616e 6775 6167 6520 6261 7369 e: Language basi │ │ │ │ │ -000080f0: 6373 2c20 204e 6578 743a 2044 7261 7761 cs, Next: Drawa │ │ │ │ │ -00008100: 626c 6573 2c20 2050 7265 763a 2049 6e70 bles, Prev: Inp │ │ │ │ │ -00008110: 7574 206c 616e 6775 6167 652c 2020 5570 ut language, Up │ │ │ │ │ -00008120: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language │ │ │ │ │ -00008130: 0a0a 332e 3120 4261 7369 6373 0a3d 3d3d ..3.1 Basics.=== │ │ │ │ │ -00008140: 3d3d 3d3d 3d3d 3d0a 0ae2 8098 536b 6574 =======.....Sket │ │ │ │ │ -00008150: 6368 e280 9920 696e 7075 7420 6973 2070 ch... input is p │ │ │ │ │ -00008160: 6c61 696e 2041 5343 4949 2074 6578 742c lain ASCII text, │ │ │ │ │ -00008170: 2075 7375 616c 6c79 2073 746f 7265 6420 usually stored │ │ │ │ │ -00008180: 696e 2061 6e20 696e 7075 7420 6669 6c65 in an input file │ │ │ │ │ -00008190: 2e20 2049 740a 6465 7363 7269 6265 7320 . It.describes │ │ │ │ │ -000081a0: 6120 e280 9c73 6365 6e65 e280 9d2c 2073 a ...scene..., s │ │ │ │ │ -000081b0: 6f20 7468 6520 736b 6574 6368 206c 616e o the sketch lan │ │ │ │ │ -000081c0: 6775 6167 6520 6973 2061 20e2 809c 7363 guage is a ...sc │ │ │ │ │ -000081d0: 656e 6520 6465 7363 7269 7074 696f 6e0a ene description. │ │ │ │ │ -000081e0: 6c61 6e67 7561 6765 e280 9d2e 2020 e280 language.... .. │ │ │ │ │ -000081f0: 9853 6b65 7463 68e2 8099 2069 6e70 7574 .Sketch... input │ │ │ │ │ -00008200: 2069 7320 616c 736f 20e2 809c 6465 636c is also ...decl │ │ │ │ │ -00008210: 6172 6174 6976 65e2 809d 2e20 2049 7420 arative.... It │ │ │ │ │ -00008220: 6d65 7265 6c79 2064 6563 6c61 7265 730a merely declares. │ │ │ │ │ -00008230: 7768 6174 2074 6865 2073 6365 6e65 206f what the scene o │ │ │ │ │ -00008240: 7567 6874 2074 6f20 6c6f 6f6b 206c 696b ught to look lik │ │ │ │ │ -00008250: 6520 7768 656e 2064 7261 7769 6e67 2069 e when drawing i │ │ │ │ │ -00008260: 7320 636f 6d70 6c65 7465 2061 6e64 2073 s complete and s │ │ │ │ │ -00008270: 6179 7320 7665 7279 0a6c 6974 746c 6520 ays very.little │ │ │ │ │ -00008280: 6162 6f75 7420 686f 7720 e280 9873 6b65 about how ...ske │ │ │ │ │ -00008290: 7463 68e2 8099 2073 686f 756c 6420 646f tch... should do │ │ │ │ │ -000082a0: 2069 7473 2077 6f72 6b2e 2020 e280 9853 its work. ...S │ │ │ │ │ -000082b0: 6b65 7463 68e2 8099 2063 6f6d 6d61 6e64 ketch... command │ │ │ │ │ -000082c0: 7320 6172 6520 6e6f 740a 6578 6563 7574 s are not.execut │ │ │ │ │ -000082d0: 6564 2073 6571 7565 6e74 6961 6c6c 7920 ed sequentially │ │ │ │ │ -000082e0: 6173 2069 6e20 7468 6520 7573 7561 6c20 as in the usual │ │ │ │ │ -000082f0: 7072 6f67 7261 6d6d 696e 6720 6c61 6e67 programming lang │ │ │ │ │ -00008300: 7561 6765 2e20 2054 6865 7920 6d65 7265 uage. They mere │ │ │ │ │ -00008310: 6c79 0a63 6f6e 7472 6962 7574 6520 746f ly.contribute to │ │ │ │ │ -00008320: 2074 6861 7420 6465 636c 6172 6174 696f that declaratio │ │ │ │ │ -00008330: 6e2e 0a0a 2020 2041 2066 6577 2073 796e n... A few syn │ │ │ │ │ -00008340: 7461 6374 6963 2064 6574 6169 6c73 2061 tactic details a │ │ │ │ │ -00008350: 7265 2069 6d70 6f72 7461 6e74 2e20 2043 re important. C │ │ │ │ │ -00008360: 6173 6520 6973 2073 6967 6e69 6669 6361 ase is significa │ │ │ │ │ -00008370: 6e74 2069 6e20 7468 650a e280 9873 6b65 nt in the....ske │ │ │ │ │ -00008380: 7463 68e2 8099 206c 616e 6775 6167 652e tch... language. │ │ │ │ │ -00008390: 2020 5769 7468 2061 2066 6577 2065 7863 With a few exc │ │ │ │ │ -000083a0: 6570 7469 6f6e 732c 2077 6869 7465 2073 eptions, white s │ │ │ │ │ -000083b0: 7061 6365 2069 7320 6e6f 742e 2020 5468 pace is not. Th │ │ │ │ │ -000083c0: 6973 0a69 6e63 6c75 6465 7320 6c69 6e65 is.includes line │ │ │ │ │ -000083d0: 2062 7265 616b 732e 2020 436f 6d6d 656e breaks. Commen │ │ │ │ │ -000083e0: 7473 2062 6567 696e 2077 6974 6820 e280 ts begin with .. │ │ │ │ │ -000083f0: 9825 e280 9920 6f72 20e2 8098 23e2 8099 .%... or ...#... │ │ │ │ │ -00008400: 2061 6e64 2065 7874 656e 6420 746f 2074 and extend to t │ │ │ │ │ -00008410: 6865 0a65 6e64 206f 6620 7468 6520 6c69 he.end of the li │ │ │ │ │ -00008420: 6e65 2e20 2059 6f75 2063 616e 2064 6973 ne. You can dis │ │ │ │ │ -00008430: 6162 6c65 2061 2063 6875 6e6b 206f 6620 able a chunk of │ │ │ │ │ -00008440: 7379 6e74 6163 7469 6361 6c6c 7920 636f syntactically co │ │ │ │ │ -00008450: 7272 6563 740a e280 9873 6b65 7463 68e2 rrect....sketch. │ │ │ │ │ -00008460: 8099 2063 6f64 6520 6279 2065 6e63 6c6f .. code by enclo │ │ │ │ │ -00008470: 7369 6e67 2069 7420 696e 2061 20e2 8098 sing it in a ... │ │ │ │ │ -00008480: 6465 66e2 8099 2e20 2054 6865 7265 2069 def.... There i │ │ │ │ │ -00008490: 7320 6120 7369 6d70 6c65 2022 696e 636c s a simple "incl │ │ │ │ │ -000084a0: 7564 650a 6669 6c65 2220 6d65 6368 616e ude.file" mechan │ │ │ │ │ -000084b0: 6973 6d2e 2020 5468 6520 636f 6d6d 616e ism. The comman │ │ │ │ │ -000084c0: 640a 2020 696e 7075 747b 6f74 6865 7266 d. input{otherf │ │ │ │ │ -000084d0: 696c 652e 736b 7d0a 6361 7573 6573 2074 ile.sk}.causes t │ │ │ │ │ -000084e0: 6865 2063 6f6e 7465 6e74 7320 6f66 20e2 he contents of . │ │ │ │ │ -000084f0: 8098 6f74 6865 7266 696c 652e 736b e280 ..otherfile.sk.. │ │ │ │ │ -00008500: 9920 746f 2062 6520 696e 7365 7274 6564 . to be inserted │ │ │ │ │ -00008510: 2061 7320 7468 6f75 6768 2074 6865 7920 as though they │ │ │ │ │ -00008520: 7765 7265 0a70 6172 7420 6f66 2074 6865 were.part of the │ │ │ │ │ -00008530: 2063 7572 7265 6e74 2066 696c 652e 0a0a current file... │ │ │ │ │ -00008540: 2a20 4d65 6e75 3a0a 0a2a 2049 6465 6e74 * Menu:..* Ident │ │ │ │ │ -00008550: 6966 6965 7273 3a3a 2020 2020 2020 2020 ifiers:: │ │ │ │ │ -00008560: 2020 2020 2020 2020 204e 616d 6573 2066 Names f │ │ │ │ │ -00008570: 6f72 2074 6869 6e67 732e 0a2a 204b 6579 or things..* Key │ │ │ │ │ -00008580: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo │ │ │ │ │ -00008590: 7264 733a 3a20 2020 2020 204e 616d 6573 rds:: Names │ │ │ │ │ -000085a0: 2079 6f75 2073 686f 756c 646e 2774 2075 you shouldn't u │ │ │ │ │ -000085b0: 7365 2e0a 2a20 4c69 7465 7261 6c73 3a3a se..* Literals:: │ │ │ │ │ -000085c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000085d0: 2020 2020 436f 6e73 7461 6e74 7320 616e Constants an │ │ │ │ │ -000085e0: 6420 636f 6e73 7472 7563 746f 7273 2e0a d constructors.. │ │ │ │ │ -000085f0: 2a20 4172 6974 686d 6574 6963 3a3a 2020 * Arithmetic:: │ │ │ │ │ -00008600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00008610: 5275 6c65 7320 666f 7220 6578 7072 6573 Rules for expres │ │ │ │ │ -00008620: 7369 6f6e 732e 0a2a 204f 7074 696f 6e73 sions..* Options │ │ │ │ │ -00008630: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00008640: 2020 2020 2020 204d 6f64 6966 7969 6e67 Modifying │ │ │ │ │ -00008650: 206f 626a 6563 7420 6170 7065 6172 616e object appearan │ │ │ │ │ -00008660: 6365 2e0a 0a1f 0a46 696c 653a 2073 6b65 ce.....File: ske │ │ │ │ │ -00008670: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -00008680: 2049 6465 6e74 6966 6965 7273 2c20 204e Identifiers, N │ │ │ │ │ -00008690: 6578 743a 204b 6579 2061 6e64 2072 6573 ext: Key and res │ │ │ │ │ -000086a0: 6572 7665 6420 776f 7264 732c 2020 5072 erved words, Pr │ │ │ │ │ -000086b0: 6576 3a20 4c61 6e67 7561 6765 2062 6173 ev: Language bas │ │ │ │ │ -000086c0: 6963 732c 2020 5570 3a20 4c61 6e67 7561 ics, Up: Langua │ │ │ │ │ -000086d0: 6765 2062 6173 6963 730a 0a33 2e31 2e31 ge basics..3.1.1 │ │ │ │ │ -000086e0: 2049 6465 6e74 6966 6965 7273 0a2d 2d2d Identifiers.--- │ │ │ │ │ -000086f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ -00008700: 4964 656e 7469 6669 6572 7320 696e 20e2 Identifiers in . │ │ │ │ │ -00008710: 8098 736b 6574 6368 e280 9920 6172 6520 ..sketch... are │ │ │ │ │ -00008720: 7265 6665 7265 6e63 6573 2074 6f20 6561 references to ea │ │ │ │ │ -00008730: 726c 6965 722d 6465 6669 6e65 6420 6f70 rlier-defined op │ │ │ │ │ -00008740: 7469 6f6e 732c 0a73 6361 6c61 7273 2c20 tions,.scalars, │ │ │ │ │ -00008750: 706f 696e 7473 2c20 7665 6374 6f72 732c points, vectors, │ │ │ │ │ -00008760: 2074 7261 6e73 666f 726d 732c 2064 7261 transforms, dra │ │ │ │ │ -00008770: 7761 626c 6573 2c20 616e 6420 7461 6773 wables, and tags │ │ │ │ │ -00008780: 2e20 2044 6566 696e 6974 696f 6e73 0a61 . Definitions.a │ │ │ │ │ -00008790: 7265 2065 7870 6c61 696e 6564 2069 6e20 re explained in │ │ │ │ │ -000087a0: 2a6e 6f74 6520 4465 6669 6e69 7469 6f6e *note Definition │ │ │ │ │ -000087b0: 733a 3a2e 0a0a 2020 2041 6e20 6964 656e s::... An iden │ │ │ │ │ -000087c0: 7469 6669 6572 2063 6f6e 7369 7374 7320 tifier consists │ │ │ │ │ -000087d0: 6f66 2061 206c 6561 6469 6e67 206c 6574 of a leading let │ │ │ │ │ -000087e0: 7465 7220 666f 6c6c 6f77 6564 2062 7920 ter followed by │ │ │ │ │ -000087f0: 6c65 7474 6572 732c 0a6e 756d 6265 7273 letters,.numbers │ │ │ │ │ -00008800: 2061 6e64 2075 6e64 6572 7363 6f72 6573 and underscores │ │ │ │ │ -00008810: 2e20 2054 6865 206c 6173 7420 6368 6172 . The last char │ │ │ │ │ -00008820: 6163 7465 7220 6d61 7920 5f6e 6f74 5f20 acter may _not_ │ │ │ │ │ -00008830: 6265 2061 6e20 756e 6465 7273 636f 7265 be an underscore │ │ │ │ │ -00008840: 2e0a 4b65 7977 6f72 6473 2063 616e 6e6f ..Keywords canno │ │ │ │ │ -00008850: 7420 6265 2075 7365 6420 6173 2069 6465 t be used as ide │ │ │ │ │ -00008860: 6e74 6966 6965 7273 2c20 616e 6420 7265 ntifiers, and re │ │ │ │ │ -00008870: 7365 7276 6564 2077 6f72 6473 206f 7567 served words oug │ │ │ │ │ -00008880: 6874 2074 6f20 6265 0a61 766f 6964 6564 ht to be.avoided │ │ │ │ │ -00008890: 2e20 202a 4e6f 7465 204b 6579 2061 6e64 . *Note Key and │ │ │ │ │ -000088a0: 2072 6573 6572 7665 6420 776f 7264 733a reserved words: │ │ │ │ │ -000088b0: 3a2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 :.....File: sket │ │ │ │ │ -000088c0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -000088d0: 4b65 7920 616e 6420 7265 7365 7276 6564 Key and reserved │ │ │ │ │ -000088e0: 2077 6f72 6473 2c20 204e 6578 743a 204c words, Next: L │ │ │ │ │ -000088f0: 6974 6572 616c 732c 2020 5072 6576 3a20 iterals, Prev: │ │ │ │ │ -00008900: 4964 656e 7469 6669 6572 732c 2020 5570 Identifiers, Up │ │ │ │ │ -00008910: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic │ │ │ │ │ -00008920: 730a 0a33 2e31 2e32 204b 6579 2061 6e64 s..3.1.2 Key and │ │ │ │ │ -00008930: 2072 6573 6572 7665 6420 776f 7264 730a reserved words. │ │ │ │ │ -00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00008950: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 ------------..Th │ │ │ │ │ -00008960: 6520 6b65 7977 6f72 6473 206f 6620 e280 e keywords of .. │ │ │ │ │ -00008970: 9873 6b65 7463 68e2 8099 2061 7265 20e2 .sketch... are . │ │ │ │ │ -00008980: 8098 7069 6374 7572 6562 6f78 e280 9920 ..picturebox... │ │ │ │ │ -00008990: e280 9863 7572 7665 e280 9920 e280 9864 ...curve... ...d │ │ │ │ │ -000089a0: 6566 e280 9920 e280 9864 6f74 73e2 8099 ef... ...dots... │ │ │ │ │ -000089b0: 20e2 8098 6672 616d 65e2 8099 0ae2 8098 ...frame....... │ │ │ │ │ -000089c0: 676c 6f62 616c e280 9920 e280 9869 6e70 global... ...inp │ │ │ │ │ -000089d0: 7574 e280 9920 e280 986c 696e 65e2 8099 ut... ...line... │ │ │ │ │ -000089e0: 20e2 8098 706f 6c79 676f 6ee2 8099 20e2 ...polygon... . │ │ │ │ │ -000089f0: 8098 7075 74e2 8099 20e2 8098 7265 7065 ..put... ...repe │ │ │ │ │ -00008a00: 6174 e280 9920 e280 9873 6574 e280 9920 at... ...set... │ │ │ │ │ -00008a10: e280 9873 7765 6570 e280 9920 616e 640a ...sweep... and. │ │ │ │ │ -00008a20: e280 9874 6865 6ee2 8099 2e20 2054 6865 ...then.... The │ │ │ │ │ -00008a30: 20e2 8098 736b 6574 6368 e280 9920 7061 ...sketch... pa │ │ │ │ │ -00008a40: 7273 6572 2077 696c 6c20 6e6f 7465 2061 rser will note a │ │ │ │ │ -00008a50: 2073 796e 7461 7820 6572 726f 7220 6966 syntax error if │ │ │ │ │ -00008a60: 2061 6e79 206f 6620 7468 6573 650a 6172 any of these.ar │ │ │ │ │ -00008a70: 6520 7573 6564 2069 6e20 706c 6163 6520 e used in place │ │ │ │ │ -00008a80: 6f66 2061 2070 726f 7065 7220 6964 656e of a proper iden │ │ │ │ │ -00008a90: 7469 6669 6572 2e0a 0a20 2020 496e 2061 tifier... In a │ │ │ │ │ -00008aa0: 6464 6974 696f 6e2c 2074 6865 7265 2061 ddition, there a │ │ │ │ │ -00008ab0: 7265 2072 6573 6572 7665 6420 776f 7264 re reserved word │ │ │ │ │ -00008ac0: 7320 7468 6174 2063 616e 2063 7572 7265 s that can curre │ │ │ │ │ -00008ad0: 6e74 6c79 2062 6520 6465 6669 6e65 640a ntly be defined. │ │ │ │ │ -00008ae0: 6279 2074 6865 2075 7365 722c 2062 7574 by the user, but │ │ │ │ │ -00008af0: 2077 6974 6820 7468 6520 7269 736b 2074 with the risk t │ │ │ │ │ -00008b00: 6861 7420 6675 7475 7265 2076 6572 7369 hat future versi │ │ │ │ │ -00008b10: 6f6e 7320 6f66 20e2 8098 736b 6574 6368 ons of ...sketch │ │ │ │ │ -00008b20: e280 9920 7769 6c6c 0a72 656a 6563 7420 ... will.reject │ │ │ │ │ -00008b30: 7468 6f73 6520 6465 6669 6e69 7469 6f6e those definition │ │ │ │ │ -00008b40: 732e 2020 5468 6520 7265 7365 7276 6564 s. The reserved │ │ │ │ │ -00008b50: 2077 6f72 6473 2061 7265 20e2 8098 6163 words are ...ac │ │ │ │ │ -00008b60: 6f73 e280 9920 e280 9861 7369 6ee2 8099 os... ...asin... │ │ │ │ │ -00008b70: 20e2 8098 6174 616e 32e2 8099 0ae2 8098 ...atan2....... │ │ │ │ │ -00008b80: 636f 73e2 8099 20e2 8098 696e 7665 7273 cos... ...invers │ │ │ │ │ -00008b90: 65e2 8099 20e2 8098 7065 7273 7065 6374 e... ...perspect │ │ │ │ │ -00008ba0: 6976 65e2 8099 20e2 8098 7072 6f6a 6563 ive... ...projec │ │ │ │ │ -00008bb0: 74e2 8099 20e2 8098 726f 7461 7465 e280 t... ...rotate.. │ │ │ │ │ -00008bc0: 9920 e280 9873 6361 6c65 e280 9920 e280 . ...scale... .. │ │ │ │ │ -00008bd0: 9873 696e e280 9920 e280 9873 7065 6369 .sin... ...speci │ │ │ │ │ -00008be0: 616c e280 990a e280 9873 7172 74e2 8099 al.......sqrt... │ │ │ │ │ -00008bf0: 20e2 8098 7472 616e 736c 6174 65e2 8099 ...translate... │ │ │ │ │ -00008c00: 20e2 8098 756e 6974 e280 9920 616e 6420 ...unit... and │ │ │ │ │ -00008c10: e280 9876 6965 77e2 8099 2e0a 0a1f 0a46 ...view........F │ │ │ │ │ -00008c20: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00008c30: 2c20 204e 6f64 653a 204c 6974 6572 616c , Node: Literal │ │ │ │ │ -00008c40: 732c 2020 4e65 7874 3a20 4172 6974 686d s, Next: Arithm │ │ │ │ │ -00008c50: 6574 6963 2c20 2050 7265 763a 204b 6579 etic, Prev: Key │ │ │ │ │ -00008c60: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo │ │ │ │ │ -00008c70: 7264 732c 2020 5570 3a20 4c61 6e67 7561 rds, Up: Langua │ │ │ │ │ -00008c80: 6765 2062 6173 6963 730a 0a33 2e31 2e33 ge basics..3.1.3 │ │ │ │ │ -00008c90: 204c 6974 6572 616c 730a 2d2d 2d2d 2d2d Literals.------ │ │ │ │ │ -00008ca0: 2d2d 2d2d 2d2d 2d2d 0a0a 4c69 7465 7261 --------..Litera │ │ │ │ │ -00008cb0: 6c73 2069 6e20 e280 9873 6b65 7463 68e2 ls in ...sketch. │ │ │ │ │ -00008cc0: 8099 2069 6e63 6c75 6465 2073 6361 6c61 .. include scala │ │ │ │ │ -00008cd0: 7273 2c20 706f 696e 7473 2c20 7665 6374 rs, points, vect │ │ │ │ │ -00008ce0: 6f72 732c 2061 6e64 2074 7261 6e73 666f ors, and transfo │ │ │ │ │ -00008cf0: 726d 732e 0a4c 6974 6572 616c 732c 2061 rms..Literals, a │ │ │ │ │ -00008d00: 6c6f 6e67 2077 6974 6820 6465 6669 6e65 long with define │ │ │ │ │ -00008d10: 6420 6f62 6a65 6374 2072 6566 6572 656e d object referen │ │ │ │ │ -00008d20: 6365 732c 2061 7265 2075 7365 6420 696e ces, are used in │ │ │ │ │ -00008d30: 2061 7269 7468 6d65 7469 630a 6578 7072 arithmetic.expr │ │ │ │ │ -00008d40: 6573 7369 6f6e 732e 2020 2a4e 6f74 6520 essions. *Note │ │ │ │ │ -00008d50: 4172 6974 686d 6574 6963 3a3a 2e0a 0a2a Arithmetic::...* │ │ │ │ │ -00008d60: 204d 656e 753a 0a0a 2a20 5363 616c 6172 Menu:..* Scalar │ │ │ │ │ -00008d70: 206c 6974 6572 616c 733a 3a20 2020 2020 literals:: │ │ │ │ │ -00008d80: 2020 2020 2020 2020 4a75 7374 2074 6865 Just the │ │ │ │ │ -00008d90: 206e 756d 6265 7273 2e0a 2a20 506f 696e numbers..* Poin │ │ │ │ │ -00008da0: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit │ │ │ │ │ -00008db0: 6572 616c 733a 3a20 2020 3364 2071 7561 erals:: 3d qua │ │ │ │ │ -00008dc0: 6e74 6974 6965 732e 0a2a 2054 7261 6e73 ntities..* Trans │ │ │ │ │ -00008dd0: 666f 726d 206c 6974 6572 616c 733a 3a20 form literals:: │ │ │ │ │ -00008de0: 2020 2020 2020 2020 204d 6174 7269 7820 Matrix │ │ │ │ │ -00008df0: 666f 726d 2e0a 0a1f 0a46 696c 653a 2073 form.....File: s │ │ │ │ │ -00008e00: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -00008e10: 653a 2053 6361 6c61 7220 6c69 7465 7261 e: Scalar litera │ │ │ │ │ -00008e20: 6c73 2c20 204e 6578 743a 2050 6f69 6e74 ls, Next: Point │ │ │ │ │ -00008e30: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite │ │ │ │ │ -00008e40: 7261 6c73 2c20 2050 7265 763a 204c 6974 rals, Prev: Lit │ │ │ │ │ -00008e50: 6572 616c 732c 2020 5570 3a20 4c69 7465 erals, Up: Lite │ │ │ │ │ -00008e60: 7261 6c73 0a0a 332e 312e 332e 3120 5363 rals..3.1.3.1 Sc │ │ │ │ │ -00008e70: 616c 6172 206c 6974 6572 616c 730a 2e2e alar literals... │ │ │ │ │ -00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00008e90: 2e2e 2e2e 2e0a 0a53 6361 6c61 7220 6c69 .......Scalar li │ │ │ │ │ -00008ea0: 7465 7261 6c73 2061 7265 2070 6f73 6974 terals are posit │ │ │ │ │ -00008eb0: 6976 6520 666c 6f61 7469 6e67 2070 6f69 ive floating poi │ │ │ │ │ -00008ec0: 6e74 206e 756d 6265 7273 2077 6974 6820 nt numbers with │ │ │ │ │ -00008ed0: 7379 6e74 6178 0a61 6363 6f72 6469 6e67 syntax.according │ │ │ │ │ -00008ee0: 2074 6f20 4320 636f 6e76 656e 7469 6f6e to C convention │ │ │ │ │ -00008ef0: 732e 2020 5468 6520 666f 6c6c 6f77 696e s. The followin │ │ │ │ │ -00008f00: 6720 6172 6520 736f 6d65 2065 7861 6d70 g are some examp │ │ │ │ │ -00008f10: 6c65 732e 0a20 2020 2020 3020 3130 3034 les.. 0 1004 │ │ │ │ │ -00008f20: 202e 3030 3120 382e 3331 3433 2033 2e20 .001 8.3143 3. │ │ │ │ │ -00008f30: 312e 3630 452d 3139 2036 2e30 3265 2b32 1.60E-19 6.02e+2 │ │ │ │ │ -00008f40: 330a 5363 616c 6172 206c 6974 6572 616c 3.Scalar literal │ │ │ │ │ -00008f50: 7320 6d61 7920 6e6f 7420 636f 6e74 6169 s may not contai │ │ │ │ │ -00008f60: 6e20 656d 6265 6464 6564 2073 7061 6365 n embedded space │ │ │ │ │ -00008f70: 732e 0a0a 1f0a 4669 6c65 3a20 736b 6574 s.....File: sket │ │ │ │ │ -00008f80: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -00008f90: 506f 696e 7420 616e 6420 7665 6374 6f72 Point and vector │ │ │ │ │ -00008fa0: 206c 6974 6572 616c 732c 2020 4e65 7874 literals, Next │ │ │ │ │ -00008fb0: 3a20 5472 616e 7366 6f72 6d20 6c69 7465 : Transform lite │ │ │ │ │ -00008fc0: 7261 6c73 2c20 2050 7265 763a 2053 6361 rals, Prev: Sca │ │ │ │ │ -00008fd0: 6c61 7220 6c69 7465 7261 6c73 2c20 2055 lar literals, U │ │ │ │ │ -00008fe0: 703a 204c 6974 6572 616c 730a 0a33 2e31 p: Literals..3.1 │ │ │ │ │ -00008ff0: 2e33 2e32 2050 6f69 6e74 2061 6e64 2076 .3.2 Point and v │ │ │ │ │ -00009000: 6563 746f 7220 6c69 7465 7261 6c73 0a2e ector literals.. │ │ │ │ │ -00009010: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +00005220: 2020 2020 2520 6f72 6967 696e 616c 0a20 % original. │ │ │ │ │ +00005230: 2020 2070 6f6c 7967 6f6e 2870 3129 2870 polygon(p1)(p │ │ │ │ │ +00005240: 3429 2870 3229 2020 2020 2020 2020 2020 4)(p2) │ │ │ │ │ +00005250: 2020 2020 2020 2020 2020 2020 2520 626f % bo │ │ │ │ │ +00005260: 7474 6f6d 0a20 2020 2070 6f6c 7967 6f6e ttom. polygon │ │ │ │ │ +00005270: 2870 3129 2870 3329 2870 3429 2020 2020 (p1)(p3)(p4) │ │ │ │ │ +00005280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00005290: 2020 2520 6c65 6674 0a20 2020 2070 6f6c % left. pol │ │ │ │ │ +000052a0: 7967 6f6e 5b66 696c 6c63 6f6c 6f72 3d6c ygon[fillcolor=l │ │ │ │ │ +000052b0: 6967 6874 6772 6179 5d28 7033 2928 7032 ightgray](p3)(p2 │ │ │ │ │ +000052c0: 2928 7034 2920 2520 7265 6172 0a20 2020 )(p4) % rear. │ │ │ │ │ +000052d0: 206c 696e 655b 6c69 6e65 636f 6c6f 723d line[linecolor= │ │ │ │ │ +000052e0: 7265 645d 282d 312c 2d31 2c2d 3129 2832 red](-1,-1,-1)(2 │ │ │ │ │ +000052f0: 2c32 2c32 290a 2020 7d0a 2020 7b70 6965 ,2,2). }. {pie │ │ │ │ │ +00005300: 7263 6564 5f74 6574 7261 6865 6472 6f6e rced_tetrahedron │ │ │ │ │ +00005310: 7d20 2025 2074 6574 7261 6865 6472 6f6e } % tetrahedron │ │ │ │ │ +00005320: 2069 6e20 6f72 6967 696e 616c 2070 6f73 in original pos │ │ │ │ │ +00005330: 6974 696f 6e0a 2020 7075 7420 7b20 726f ition. put { ro │ │ │ │ │ +00005340: 7461 7465 2839 302c 2028 302c 302c 3029 tate(90, (0,0,0) │ │ │ │ │ +00005350: 2c20 5b31 2c30 2c30 5d29 2025 2063 6f70 , [1,0,0]) % cop │ │ │ │ │ +00005360: 7920 696e 206e 6577 2070 6f73 6974 696f y in new positio │ │ │ │ │ +00005370: 6e0a 2020 2020 2020 2020 7468 656e 2074 n. then t │ │ │ │ │ +00005380: 7261 6e73 6c61 7465 285b 322e 352c 302c ranslate([2.5,0, │ │ │ │ │ +00005390: 305d 2920 7d20 7b70 6965 7263 6564 5f74 0]) } {pierced_t │ │ │ │ │ +000053a0: 6574 7261 6865 6472 6f6e 7d0a 4865 7265 etrahedron}.Here │ │ │ │ │ +000053b0: 2074 6865 2065 6e74 6972 6520 636f 6465 the entire code │ │ │ │ │ +000053c0: 206f 6620 7468 6520 7072 6576 696f 7573 of the previous │ │ │ │ │ +000053d0: 2065 7861 6d70 6c65 2068 6173 2062 6565 example has bee │ │ │ │ │ +000053e0: 6e20 7772 6170 7065 6420 696e 2061 0a64 n wrapped in a.d │ │ │ │ │ +000053f0: 6566 696e 6974 696f 6e20 6279 2066 6f72 efinition by for │ │ │ │ │ +00005400: 6d69 6e67 2061 20e2 809c 626c 6f63 6be2 ming a ...block. │ │ │ │ │ +00005410: 809d 2077 6974 6820 6272 6163 6573 2028 .. with braces ( │ │ │ │ │ +00005420: 6120 7369 6e67 6c65 2069 7465 6d20 776f a single item wo │ │ │ │ │ +00005430: 756c 6420 6e6f 740a 6e65 6564 2074 6865 uld not.need the │ │ │ │ │ +00005440: 6d29 2e20 2054 6865 2070 6f69 6e74 2064 m). The point d │ │ │ │ │ +00005450: 6566 696e 6974 696f 6e73 206e 6573 7465 efinitions neste │ │ │ │ │ +00005460: 6420 696e 7369 6465 2074 6865 2062 7261 d inside the bra │ │ │ │ │ +00005470: 6365 7320 6172 650a e280 9c6c 6578 6963 ces are....lexic │ │ │ │ │ +00005480: 616c 6c79 2073 636f 7065 64e2 809d 2e20 ally scoped.... │ │ │ │ │ +00005490: 2054 6865 6972 206d 6561 6e69 6e67 2065 Their meaning e │ │ │ │ │ +000054a0: 7874 656e 6473 206f 6e6c 7920 746f 2074 xtends only to t │ │ │ │ │ +000054b0: 6865 2065 6e64 206f 6620 7468 6520 626c he end of the bl │ │ │ │ │ +000054c0: 6f63 6b2e 0a54 6865 206f 7574 6572 2064 ock..The outer d │ │ │ │ │ +000054d0: 6566 2069 7320 6361 6c6c 6564 2061 20e2 ef is called a . │ │ │ │ │ +000054e0: 809c 6472 6177 6162 6c65 e280 9d20 6465 ..drawable... de │ │ │ │ │ +000054f0: 6669 6e69 7469 6f6e 2062 6563 6175 7365 finition because │ │ │ │ │ +00005500: 2069 7420 6465 7363 7269 6265 730a 736f it describes.so │ │ │ │ │ +00005510: 6d65 7468 696e 6720 7468 6174 2063 616e mething that can │ │ │ │ │ +00005520: 2062 6520 6472 6177 6e2e 0a0a 2020 2041 be drawn... A │ │ │ │ │ +00005530: 2064 7261 7761 626c 6520 6465 6669 6e69 drawable defini │ │ │ │ │ +00005540: 7469 6f6e 2062 7920 6974 7365 6c66 2063 tion by itself c │ │ │ │ │ +00005550: 6175 7365 7320 6e6f 7468 696e 6720 746f auses nothing to │ │ │ │ │ +00005560: 2068 6170 7065 6e20 756e 7469 6c20 6974 happen until it │ │ │ │ │ +00005570: 730a 6e61 6d65 2069 7320 7265 6665 7265 s.name is refere │ │ │ │ │ +00005580: 6e63 6564 2e20 2044 7261 7761 626c 6520 nced. Drawable │ │ │ │ │ +00005590: 7265 6665 7265 6e63 6573 206d 7573 7420 references must │ │ │ │ │ +000055a0: 6265 2065 6e63 6c6f 7365 6420 696e 2063 be enclosed in c │ │ │ │ │ +000055b0: 7572 6c79 0a62 7261 6365 732c 2065 2e67 urly.braces, e.g │ │ │ │ │ +000055c0: 2e20 7b66 6f6f 7d2c 2077 6974 6820 6e6f . {foo}, with no │ │ │ │ │ +000055d0: 2069 6e74 6572 7665 6e69 6e67 2077 6869 intervening whi │ │ │ │ │ +000055e0: 7465 2073 7061 6365 2e20 2049 6e20 7468 te space. In th │ │ │ │ │ +000055f0: 6520 636f 6465 2061 626f 7665 2c0a 7468 e code above,.th │ │ │ │ │ +00005600: 6520 6669 7273 7420 7265 6665 7265 6e63 e first referenc │ │ │ │ │ +00005610: 6520 7b70 6965 7263 6564 5f74 6574 7261 e {pierced_tetra │ │ │ │ │ +00005620: 6865 6472 6f6e 7d20 6973 2061 2070 6c61 hedron} is a pla │ │ │ │ │ +00005630: 696e 206f 6e65 2e20 2049 7473 2065 6666 in one. Its eff │ │ │ │ │ +00005640: 6563 7420 6973 0a6d 6572 656c 7920 746f ect is.merely to │ │ │ │ │ +00005650: 2064 7570 6c69 6361 7465 2074 6865 2065 duplicate the e │ │ │ │ │ +00005660: 6172 6c69 6572 2064 7261 7769 6e67 2e20 arlier drawing. │ │ │ │ │ +00005670: 2041 6c6d 6f73 7420 616e 7920 7365 7269 Almost any seri │ │ │ │ │ +00005680: 6573 206f 6620 e280 9873 6b65 7463 68e2 es of ...sketch. │ │ │ │ │ +00005690: 8099 0a63 6f6d 6d61 6e64 7320 7374 7566 ...commands stuf │ │ │ │ │ +000056a0: 6620 6d61 7920 6265 2072 6570 6c61 6365 f may be replace │ │ │ │ │ +000056b0: 6420 7769 7468 2064 6566 2066 6f6f 207b d with def foo { │ │ │ │ │ +000056c0: 2073 7475 6666 207d 207b 666f 6f7d 2077 stuff } {foo} w │ │ │ │ │ +000056d0: 6974 686f 7574 0a63 6861 6e67 696e 6720 ithout.changing │ │ │ │ │ +000056e0: 6974 7320 6d65 616e 696e 672e 0a0a 2020 its meaning... │ │ │ │ │ +000056f0: 2054 6865 2070 7574 2063 6f6d 6d61 6e64 The put command │ │ │ │ │ +00005700: 2073 7570 706c 6965 7320 6120 7365 636f supplies a seco │ │ │ │ │ +00005710: 6e64 2072 6566 6572 656e 6365 2c20 7468 nd reference, th │ │ │ │ │ +00005720: 6973 2074 696d 6520 7769 7468 2061 0ae2 is time with a.. │ │ │ │ │ +00005730: 809c 7472 616e 7366 6f72 6de2 809d 2061 ..transform... a │ │ │ │ │ +00005740: 7070 6c69 6564 2066 6972 7374 2e20 2054 pplied first. T │ │ │ │ │ +00005750: 6865 2072 6f74 6174 6520 7472 616e 7366 he rotate transf │ │ │ │ │ +00005760: 6f72 6d20 7475 726e 7320 7468 6520 7465 orm turns the te │ │ │ │ │ +00005770: 7472 6168 6564 726f 6e0a 3930 2064 6567 trahedron.90 deg │ │ │ │ │ +00005780: 7265 6573 2061 626f 7574 2074 6865 206f rees about the o │ │ │ │ │ +00005790: 7269 6769 6e2e 2020 5468 6520 6178 6973 rigin. The axis │ │ │ │ │ +000057a0: 206f 6620 726f 7461 7469 6f6e 2069 7320 of rotation is │ │ │ │ │ +000057b0: 7468 6520 7665 6374 6f72 0a5b 312c 302c the vector.[1,0, │ │ │ │ │ +000057c0: 305d 2e20 2042 7920 7468 6520 e280 9c72 0]. By the ...r │ │ │ │ │ +000057d0: 6967 6874 2068 616e 6420 7275 6c65 e280 ight hand rule.. │ │ │ │ │ +000057e0: 9d2c 2074 6869 7320 6361 7573 6573 2074 ., this causes t │ │ │ │ │ +000057f0: 6865 2074 6f70 206f 6620 7468 650a 7465 he top of the.te │ │ │ │ │ +00005800: 7472 6168 6564 726f 6e20 746f 2072 6f74 trahedron to rot │ │ │ │ │ +00005810: 6174 6520 746f 7761 7264 2074 6865 2076 ate toward the v │ │ │ │ │ +00005820: 6965 7765 7220 616e 6420 7468 6520 626f iewer and the bo │ │ │ │ │ +00005830: 7474 6f6d 2061 7761 792e 2020 5468 6520 ttom away. The │ │ │ │ │ +00005840: 7275 6c65 0a72 6563 6569 7665 7320 6974 rule.receives it │ │ │ │ │ +00005850: 7320 6e61 6d65 2066 726f 6d20 7468 6520 s name from the │ │ │ │ │ +00005860: 666f 6c6c 6f77 696e 6720 6465 6669 6e69 following defini │ │ │ │ │ +00005870: 7469 6f6e 3a0a 2020 2020 202a 5269 6768 tion:. *Righ │ │ │ │ │ +00005880: 7420 6861 6e64 2072 756c 652e 2a20 2049 t hand rule.* I │ │ │ │ │ +00005890: 6620 7468 6520 7269 6768 7420 6861 6e64 f the right hand │ │ │ │ │ +000058a0: 2069 7320 7772 6170 7065 6420 6172 6f75 is wrapped arou │ │ │ │ │ +000058b0: 6e64 2061 6e79 2061 7869 730a 2020 2020 nd any axis. │ │ │ │ │ +000058c0: 2077 6974 6820 7468 6520 7468 756d 6220 with the thumb │ │ │ │ │ +000058d0: 706f 696e 7469 6e67 2069 6e20 7468 6520 pointing in the │ │ │ │ │ +000058e0: 6178 6973 2064 6972 6563 7469 6f6e 2c20 axis direction, │ │ │ │ │ +000058f0: 7468 656e 2074 6865 2066 696e 6765 7273 then the fingers │ │ │ │ │ +00005900: 0a20 2020 2020 6375 726c 2069 6e20 7468 . curl in th │ │ │ │ │ +00005910: 6520 6469 7265 6374 696f 6e20 6f66 2070 e direction of p │ │ │ │ │ +00005920: 6f73 6974 6976 6520 726f 7461 7469 6f6e ositive rotation │ │ │ │ │ +00005930: 2061 626f 7574 2074 6861 7420 6178 6973 about that axis │ │ │ │ │ +00005940: 2e0a 2020 2054 6865 2074 7261 6e73 6c61 .. The transla │ │ │ │ │ +00005950: 7465 2074 7261 6e73 666f 726d 206d 6f76 te transform mov │ │ │ │ │ +00005960: 6573 2074 6865 2070 7972 616d 6964 206c es the pyramid l │ │ │ │ │ +00005970: 6174 6572 616c 6c79 2074 6f20 7468 6520 aterally to the │ │ │ │ │ +00005980: 7269 6768 7420 6279 0a61 6464 696e 6720 right by.adding │ │ │ │ │ +00005990: 7468 6520 7665 6374 6f72 205b 322e 352c the vector [2.5, │ │ │ │ │ +000059a0: 302c 305d 2074 6f20 6561 6368 2076 6572 0,0] to each ver │ │ │ │ │ +000059b0: 7465 7820 636f 6f72 6469 6e61 7465 2e20 tex coordinate. │ │ │ │ │ +000059c0: 2054 6865 2072 6573 756c 7420 6973 0a73 The result is.s │ │ │ │ │ +000059d0: 686f 776e 2068 6572 652e 0a0a 0008 5b69 hown here.....[i │ │ │ │ │ +000059e0: 6d61 6765 2073 7263 3d22 6578 3035 302e mage src="ex050. │ │ │ │ │ +000059f0: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00005a00: 2065 7830 3530 206f 6d69 7474 6564 2069 ex050 omitted i │ │ │ │ │ +00005a10: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00005a20: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +00005a30: 2200 085d 0a0a 1f0a 4669 6c65 3a20 736b "..]....File: sk │ │ │ │ │ +00005a40: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +00005a50: 3a20 5265 7065 6174 6564 206f 626a 6563 : Repeated objec │ │ │ │ │ +00005a60: 7473 2c20 204e 6578 743a 2053 7765 7074 ts, Next: Swept │ │ │ │ │ +00005a70: 206f 626a 6563 7473 2c20 2050 7265 763a objects, Prev: │ │ │ │ │ +00005a80: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +00005a90: 6d73 2c20 2055 703a 2049 6e74 726f 6475 ms, Up: Introdu │ │ │ │ │ +00005aa0: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example │ │ │ │ │ +00005ab0: 0a0a 322e 3620 5265 7065 6174 6564 206f ..2.6 Repeated o │ │ │ │ │ +00005ac0: 626a 6563 7473 0a3d 3d3d 3d3d 3d3d 3d3d bjects.========= │ │ │ │ │ +00005ad0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 6f20 ===========..To │ │ │ │ │ +00005ae0: 6472 6177 2073 6576 656e 2069 6e73 7461 draw seven insta │ │ │ │ │ +00005af0: 6e63 6573 206f 6620 7468 6520 7465 7472 nces of the tetr │ │ │ │ │ +00005b00: 6168 6564 726f 6e2c 2065 6163 6820 6469 ahedron, each di │ │ │ │ │ +00005b10: 6666 6572 696e 6720 6672 6f6d 2074 6865 ffering from the │ │ │ │ │ +00005b20: 206c 6173 740a 6279 2074 6865 2073 616d last.by the sam │ │ │ │ │ +00005b30: 6520 7472 616e 7366 6f72 6d2c 2072 6570 e transform, rep │ │ │ │ │ +00005b40: 6c61 6365 2074 6865 206c 6173 7420 7477 lace the last tw │ │ │ │ │ +00005b50: 6f20 636f 6d6d 616e 6473 206f 6620 7468 o commands of th │ │ │ │ │ +00005b60: 6520 7072 6576 696f 7573 0a65 7861 6d70 e previous.examp │ │ │ │ │ +00005b70: 6c65 2077 6974 680a 2020 7265 7065 6174 le with. repeat │ │ │ │ │ +00005b80: 207b 2037 2c20 726f 7461 7465 2831 352c { 7, rotate(15, │ │ │ │ │ +00005b90: 2028 302c 302c 3029 2c20 5b31 2c30 2c30 (0,0,0), [1,0,0 │ │ │ │ │ +00005ba0: 5d29 2025 2063 6f70 7920 696e 206e 6577 ]) % copy in new │ │ │ │ │ +00005bb0: 2070 6f73 6974 696f 6e0a 2020 2020 2020 position. │ │ │ │ │ +00005bc0: 2020 2020 2020 2020 7468 656e 2074 7261 then tra │ │ │ │ │ +00005bd0: 6e73 6c61 7465 285b 322c 302c 305d 2920 nslate([2,0,0]) │ │ │ │ │ +00005be0: 7d20 7b70 6965 7263 6564 5f74 6574 7261 } {pierced_tetra │ │ │ │ │ +00005bf0: 6865 6472 6f6e 7d0a 416e 6420 7468 6520 hedron}.And the │ │ │ │ │ +00005c00: 7265 7375 6c74 2e2e 2e0a 0a00 085b 696d result.......[im │ │ │ │ │ +00005c10: 6167 6520 7372 633d 2265 7830 3630 2e70 age src="ex060.p │ │ │ │ │ +00005c20: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng" text="Image │ │ │ │ │ +00005c30: 6578 3036 3020 6f6d 6974 7465 6420 696e ex060 omitted in │ │ │ │ │ +00005c40: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of │ │ │ │ │ +00005c50: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document." │ │ │ │ │ +00005c60: 0008 5d0a 0a1f 0a46 696c 653a 2073 6b65 ..]....File: ske │ │ │ │ │ +00005c70: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00005c80: 2053 7765 7074 206f 626a 6563 7473 2c20 Swept objects, │ │ │ │ │ +00005c90: 2050 7265 763a 2052 6570 6561 7465 6420 Prev: Repeated │ │ │ │ │ +00005ca0: 6f62 6a65 6374 732c 2020 5570 3a20 496e objects, Up: In │ │ │ │ │ +00005cb0: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex │ │ │ │ │ +00005cc0: 616d 706c 650a 0a32 2e37 2053 7765 7074 ample..2.7 Swept │ │ │ │ │ +00005cd0: 206f 626a 6563 7473 0a3d 3d3d 3d3d 3d3d objects.======= │ │ │ │ │ +00005ce0: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4d61 6e79 ==========..Many │ │ │ │ │ +00005cf0: 2066 616d 696c 6961 7220 7368 6170 6573 familiar shapes │ │ │ │ │ +00005d00: 2063 616e 2062 6520 6765 6e65 7261 7465 can be generate │ │ │ │ │ +00005d10: 6420 6279 2073 7765 6570 696e 6720 7369 d by sweeping si │ │ │ │ │ +00005d20: 6d70 6c65 7220 6f6e 6573 2074 6872 6f75 mpler ones throu │ │ │ │ │ +00005d30: 6768 0a73 7061 6365 2061 6e64 2063 6f6e gh.space and con │ │ │ │ │ +00005d40: 7369 6465 7269 6e67 2074 6865 2072 6573 sidering the res │ │ │ │ │ +00005d50: 756c 7469 6e67 2070 6174 682c 2073 7572 ulting path, sur │ │ │ │ │ +00005d60: 6661 6365 2c20 6f72 2076 6f6c 756d 652e face, or volume. │ │ │ │ │ +00005d70: 2020 e280 9853 6b65 7463 68e2 8099 0a69 ...Sketch....i │ │ │ │ │ +00005d80: 6d70 6c65 6d65 6e74 7320 7468 6973 2069 mplements this i │ │ │ │ │ +00005d90: 6465 6120 696e 2074 6865 2073 7765 6570 dea in the sweep │ │ │ │ │ +00005da0: 2063 6f6d 6d61 6e64 2e0a 2020 6465 6620 command.. def │ │ │ │ │ +00005db0: 6e5f 7365 6773 2038 0a20 2073 7765 6570 n_segs 8. sweep │ │ │ │ │ +00005dc0: 207b 206e 5f73 6567 732c 2072 6f74 6174 { n_segs, rotat │ │ │ │ │ +00005dd0: 6528 3138 3020 2f20 6e5f 7365 6773 2c20 e(180 / n_segs, │ │ │ │ │ +00005de0: 2830 2c30 2c30 292c 205b 302c 302c 315d (0,0,0), [0,0,1] │ │ │ │ │ +00005df0: 2920 7d20 2831 2c30 2c30 290a 5468 6973 ) } (1,0,0).This │ │ │ │ │ +00005e00: 2063 6f64 6520 7377 6565 7073 2074 6865 code sweeps the │ │ │ │ │ +00005e10: 2070 6f69 6e74 2028 312c 302c 3029 2065 point (1,0,0) e │ │ │ │ │ +00005e20: 6967 6874 2074 696d 6573 2062 7920 726f ight times by ro │ │ │ │ │ +00005e30: 7461 7469 6e67 2069 7420 3138 302f 3820 tating it 180/8 │ │ │ │ │ +00005e40: 3d0a 3232 2e35 2064 6567 7265 6573 2065 =.22.5 degrees e │ │ │ │ │ +00005e50: 6163 6820 7469 6d65 2061 6e64 2063 6f6e ach time and con │ │ │ │ │ +00005e60: 6e65 6374 696e 6720 7468 6520 7265 7375 necting the resu │ │ │ │ │ +00005e70: 6c74 696e 6720 706f 696e 7473 2077 6974 lting points wit │ │ │ │ │ +00005e80: 6820 6c69 6e65 0a73 6567 6d65 6e74 732e h line.segments. │ │ │ │ │ +00005e90: 2020 5468 6520 6465 6620 7573 6564 2068 The def used h │ │ │ │ │ +00005ea0: 6572 6520 6973 2061 20e2 809c 7363 616c ere is a ...scal │ │ │ │ │ +00005eb0: 6172 e280 9d20 6465 6669 6e69 7469 6f6e ar... definition │ │ │ │ │ +00005ec0: 2e20 2052 6566 6572 656e 6365 7320 746f . References to │ │ │ │ │ +00005ed0: 0a73 6361 6c61 7273 2068 6176 6520 6e6f .scalars have no │ │ │ │ │ +00005ee0: 2065 6e63 6c6f 7369 6e67 2062 7261 636b enclosing brack │ │ │ │ │ +00005ef0: 6574 7320 6174 2061 6c6c 2e0a 0a2a 204d ets at all...* M │ │ │ │ │ +00005f00: 656e 753a 0a0a 2a20 506f 696e 7420 7377 enu:..* Point sw │ │ │ │ │ +00005f10: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: │ │ │ │ │ +00005f20: 2020 2020 2020 5377 6570 7420 706f 696e Swept poin │ │ │ │ │ +00005f30: 7473 206d 616b 6520 6c69 6e65 7320 616e ts make lines an │ │ │ │ │ +00005f40: 6420 706f 6c79 676f 6e73 2e0a 2a20 506f d polygons..* Po │ │ │ │ │ +00005f50: 6c79 6c69 6e65 2073 7765 6570 733a 3a20 lyline sweeps:: │ │ │ │ │ +00005f60: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +00005f70: 7420 6c69 6e65 7320 6d61 6b65 2073 7572 t lines make sur │ │ │ │ │ +00005f80: 6661 6365 732e 0a2a 204e 6573 7465 6420 faces..* Nested │ │ │ │ │ +00005f90: 7377 6565 7073 3a3a 2020 2020 2020 2020 sweeps:: │ │ │ │ │ +00005fa0: 2020 2020 2020 2053 7765 7074 2073 7765 Swept swe │ │ │ │ │ +00005fb0: 6570 7320 6172 6520 7573 6566 756c 210a eps are useful!. │ │ │ │ │ +00005fc0: 2a20 506f 6c79 676f 6e20 7377 6565 7073 * Polygon sweeps │ │ │ │ │ +00005fd0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00005fe0: 5377 6570 7420 706f 6c79 676f 6e73 206d Swept polygons m │ │ │ │ │ +00005ff0: 616b 6520 736f 6c69 6473 2e2e 2e0a 2a20 ake solids....* │ │ │ │ │ +00006000: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ +00006010: 7769 7468 2063 6c6f 7375 7265 3a3a 2020 with closure:: │ │ │ │ │ +00006020: 616e 6420 736f 2064 6f20 636c 6f73 6564 and so do closed │ │ │ │ │ +00006030: 2070 6f6c 796c 696e 6520 7377 6565 7073 polyline sweeps │ │ │ │ │ +00006040: 2e0a 2a20 4166 6669 6e65 2061 7269 7468 ..* Affine arith │ │ │ │ │ +00006050: 6d65 7469 633a 3a20 2020 2020 2020 2020 metic:: │ │ │ │ │ +00006060: 2020 536b 6574 6368 2075 7365 6675 6c20 Sketch useful │ │ │ │ │ +00006070: 6d61 7468 2065 7870 7265 7373 696f 6e2e math expression. │ │ │ │ │ +00006080: 0a2a 204d 6f72 6520 746f 206c 6561 726e .* More to learn │ │ │ │ │ +00006090: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +000060a0: 2043 6865 636b 206f 7574 2074 6865 204d Check out the M │ │ │ │ │ +000060b0: 6f62 6975 7320 7374 7269 7021 0a0a 1f0a obius strip!.... │ │ │ │ │ +000060c0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +000060d0: 6f2c 2020 4e6f 6465 3a20 506f 696e 7420 o, Node: Point │ │ │ │ │ +000060e0: 7377 6565 7073 2c20 204e 6578 743a 2050 sweeps, Next: P │ │ │ │ │ +000060f0: 6f6c 796c 696e 6520 7377 6565 7073 2c20 olyline sweeps, │ │ │ │ │ +00006100: 2050 7265 763a 2053 7765 7074 206f 626a Prev: Swept obj │ │ │ │ │ +00006110: 6563 7473 2c20 2055 703a 2053 7765 7074 ects, Up: Swept │ │ │ │ │ +00006120: 206f 626a 6563 7473 0a0a 322e 372e 3120 objects..2.7.1 │ │ │ │ │ +00006130: 506f 696e 7420 7377 6565 7073 0a2d 2d2d Point sweeps.--- │ │ │ │ │ +00006140: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +00006150: 0a53 7765 6570 696e 6720 6120 706f 696e .Sweeping a poin │ │ │ │ │ +00006160: 7420 6d61 6b65 7320 6120 6f6e 652d 6469 t makes a one-di │ │ │ │ │ +00006170: 6d65 6e73 696f 6e61 6c20 7061 7468 2c20 mensional path, │ │ │ │ │ +00006180: 7768 6963 6820 6973 2061 2070 6f6c 796c which is a polyl │ │ │ │ │ +00006190: 696e 652e 0a53 696e 6365 2077 6520 6861 ine..Since we ha │ │ │ │ │ +000061a0: 7665 2073 7765 7074 2077 6974 6820 6120 ve swept with a │ │ │ │ │ +000061b0: 726f 7461 7469 6f6e 2c20 7468 6520 7265 rotation, the re │ │ │ │ │ +000061c0: 7375 6c74 2069 7320 6120 6369 7263 756c sult is a circul │ │ │ │ │ +000061d0: 6172 2061 7263 2e20 2048 6572 650a 6973 ar arc. Here.is │ │ │ │ │ +000061e0: 2077 6861 7420 6974 206c 6f6f 6b73 206c what it looks l │ │ │ │ │ +000061f0: 696b 652e 0a0a 0008 5b69 6d61 6765 2073 ike.....[image s │ │ │ │ │ +00006200: 7263 3d22 6578 3037 302e 706e 6722 2074 rc="ex070.png" t │ │ │ │ │ +00006210: 6578 743d 2249 6d61 6765 2065 7830 3730 ext="Image ex070 │ │ │ │ │ +00006220: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00006230: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00006240: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00006250: 2020 2054 6869 7320 6973 2074 6865 2066 This is the f │ │ │ │ │ +00006260: 6972 7374 2065 7861 6d70 6c65 2077 6520 irst example we │ │ │ │ │ +00006270: 6861 7665 2073 6565 6e20 6f66 20e2 8098 have seen of ... │ │ │ │ │ +00006280: 736b 6574 6368 e280 9920 6172 6974 686d sketch... arithm │ │ │ │ │ +00006290: 6574 6963 2e20 2054 6865 0a65 7870 7265 etic. The.expre │ │ │ │ │ +000062a0: 7373 696f 6e20 3138 3020 2f20 6e5f 7365 ssion 180 / n_se │ │ │ │ │ +000062b0: 6773 2063 6175 7365 7320 7468 6520 6569 gs causes the ei │ │ │ │ │ +000062c0: 6768 7420 726f 7461 7469 6f6e 7320 746f ght rotations to │ │ │ │ │ +000062d0: 2061 6464 2074 6f20 3138 302e 2020 4966 add to 180. If │ │ │ │ │ +000062e0: 0a79 6f75 2772 6520 7061 7969 6e67 2061 .you're paying a │ │ │ │ │ +000062f0: 7474 656e 7469 6f6e 2c20 796f 7527 6c6c ttention, you'll │ │ │ │ │ +00006300: 2068 6176 6520 616c 7265 6164 7920 6e6f have already no │ │ │ │ │ +00006310: 7465 6420 7468 6174 2074 6865 7265 2061 ted that there a │ │ │ │ │ +00006320: 7265 205f 6e69 6e65 5f0a 706f 696e 7473 re _nine_.points │ │ │ │ │ +00006330: 2c20 7072 6f64 7563 696e 6720 6569 6768 , producing eigh │ │ │ │ │ +00006340: 7420 6c69 6e65 2073 6567 6d65 6e74 732e t line segments. │ │ │ │ │ +00006350: 0a0a 2020 2059 6f75 2063 616e 2063 6175 .. You can cau │ │ │ │ │ +00006360: 7365 2074 6865 2073 7765 7074 2070 6f69 se the swept poi │ │ │ │ │ +00006370: 6e74 2074 6f20 6765 6e65 7261 7465 2061 nt to generate a │ │ │ │ │ +00006380: 2073 696e 676c 6520 706f 6c79 676f 6e20 single polygon │ │ │ │ │ +00006390: 7261 7468 6572 0a74 6861 6e20 6120 706f rather.than a po │ │ │ │ │ +000063a0: 6c79 6c69 6e65 2062 7920 7573 696e 6720 lyline by using │ │ │ │ │ +000063b0: 7468 6520 e280 9c63 6c6f 7375 7265 2074 the ...closure t │ │ │ │ │ +000063c0: 6167 e280 9d20 3c3e 2061 6674 6572 2074 ag... <> after t │ │ │ │ │ +000063d0: 6865 206e 756d 6265 7220 6f66 2073 7765 he number of swe │ │ │ │ │ +000063e0: 7074 0a6f 626a 6563 7473 2e20 2043 6f64 pt.objects. Cod │ │ │ │ │ +000063f0: 6520 616e 6420 7265 7375 6c74 2066 6f6c e and result fol │ │ │ │ │ +00006400: 6c6f 770a 2020 6465 6620 6e5f 7365 6773 low. def n_segs │ │ │ │ │ +00006410: 2038 0a20 2073 7765 6570 207b 206e 5f73 8. sweep { n_s │ │ │ │ │ +00006420: 6567 733c 3e2c 2072 6f74 6174 6528 3138 egs<>, rotate(18 │ │ │ │ │ +00006430: 3020 2f20 6e5f 7365 6773 2c20 2830 2c30 0 / n_segs, (0,0 │ │ │ │ │ +00006440: 2c30 292c 205b 302c 302c 315d 2920 7d20 ,0), [0,0,1]) } │ │ │ │ │ +00006450: 2831 2c30 2c30 290a 0008 5b69 6d61 6765 (1,0,0)...[image │ │ │ │ │ +00006460: 2073 7263 3d22 6578 3038 302e 706e 6722 src="ex080.png" │ │ │ │ │ +00006470: 2074 6578 743d 2249 6d61 6765 2065 7830 text="Image ex0 │ │ │ │ │ +00006480: 3830 206f 6d69 7474 6564 2069 6e20 7465 80 omitted in te │ │ │ │ │ +00006490: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ +000064a0: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ +000064b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +000064c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po │ │ │ │ │ +000064d0: 6c79 6c69 6e65 2073 7765 6570 732c 2020 lyline sweeps, │ │ │ │ │ +000064e0: 4e65 7874 3a20 4e65 7374 6564 2073 7765 Next: Nested swe │ │ │ │ │ +000064f0: 6570 732c 2020 5072 6576 3a20 506f 696e eps, Prev: Poin │ │ │ │ │ +00006500: 7420 7377 6565 7073 2c20 2055 703a 2053 t sweeps, Up: S │ │ │ │ │ +00006510: 7765 7074 206f 626a 6563 7473 0a0a 322e wept objects..2. │ │ │ │ │ +00006520: 372e 3220 506f 6c79 6c69 6e65 2073 7765 7.2 Polyline swe │ │ │ │ │ +00006530: 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d eps.------------ │ │ │ │ │ +00006540: 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 7765 6570 ---------..Sweep │ │ │ │ │ +00006550: 696e 6720 6120 706f 6c79 6c69 6e65 2070 ing a polyline p │ │ │ │ │ +00006560: 726f 6475 6365 7320 6120 7375 7266 6163 roduces a surfac │ │ │ │ │ +00006570: 6520 636f 6d70 6f73 6564 206f 6620 6d61 e composed of ma │ │ │ │ │ +00006580: 6e79 2066 6163 6573 2e20 2054 6865 0a75 ny faces. The.u │ │ │ │ │ +00006590: 6e62 726f 6b65 6e20 6865 6c69 7820 696e nbroken helix in │ │ │ │ │ +000065a0: 2074 6865 2065 7861 6d70 6c65 202a 6e6f the example *no │ │ │ │ │ +000065b0: 7465 2048 656c 6978 2077 6974 6820 6375 te Helix with cu │ │ │ │ │ +000065c0: 6c6c 2073 6574 2066 616c 7365 2074 6865 ll set false the │ │ │ │ │ +000065d0: 6e0a 7472 7565 3a3a 2069 7320 7072 6f64 n.true:: is prod │ │ │ │ │ +000065e0: 7563 6564 2062 7920 7468 6973 2063 6f64 uced by this cod │ │ │ │ │ +000065f0: 6520 2870 6c75 7320 6120 7375 7272 6f75 e (plus a surrou │ │ │ │ │ +00006600: 6e64 696e 6720 7075 7420 726f 7461 7469 nding put rotati │ │ │ │ │ +00006610: 6f6e 2074 6f20 6d61 6b65 0a61 6e20 696e on to make.an in │ │ │ │ │ +00006620: 7465 7265 7374 696e 6720 7669 6577 3b20 teresting view; │ │ │ │ │ +00006630: 7468 6973 2068 6173 2062 6565 6e20 6f6d this has been om │ │ │ │ │ +00006640: 6974 7465 6429 2e0a 2020 6465 6620 4b20 itted).. def K │ │ │ │ │ +00006650: 5b30 2c30 2c31 5d0a 2020 7377 6565 705b [0,0,1]. sweep[ │ │ │ │ │ +00006660: 6375 6c6c 3d66 616c 7365 5d20 7b0a 2020 cull=false] {. │ │ │ │ │ +00006670: 2020 3630 2c20 0a20 2020 2072 6f74 6174 60, . rotat │ │ │ │ │ +00006680: 6528 3130 2c20 2830 2c30 2c30 292c 205b e(10, (0,0,0), [ │ │ │ │ │ +00006690: 4b5d 2920 7468 656e 2074 7261 6e73 6c61 K]) then transla │ │ │ │ │ +000066a0: 7465 2831 2f36 202a 205b 4b5d 2920 0a20 te(1/6 * [K]) . │ │ │ │ │ +000066b0: 207d 206c 696e 655b 6c69 6e65 7769 6474 } line[linewidt │ │ │ │ │ +000066c0: 683d 3270 745d 282d 312c 3029 2831 2c30 h=2pt](-1,0)(1,0 │ │ │ │ │ +000066d0: 290a 4167 6169 6e2c 2036 3020 7365 676d ).Again, 60 segm │ │ │ │ │ +000066e0: 656e 7473 206f 6620 7468 6520 6865 6c69 ents of the heli │ │ │ │ │ +000066f0: 7820 6172 6520 7072 6f64 7563 6564 2062 x are produced b │ │ │ │ │ +00006700: 7920 636f 6e6e 6563 7469 6e67 2036 3120 y connecting 61 │ │ │ │ │ +00006710: 696e 7374 616e 6365 730a 6f66 2074 6865 instances.of the │ │ │ │ │ +00006720: 2073 7765 7074 206c 696e 652e 2020 4f70 swept line. Op │ │ │ │ │ +00006730: 7469 6f6e 7320 6170 706c 6965 6420 746f tions applied to │ │ │ │ │ +00006740: 2074 6865 2073 7765 6570 2c20 6865 7265 the sweep, here │ │ │ │ │ +00006750: 2063 756c 6c3d 6661 6c73 652c 2061 7265 cull=false, are │ │ │ │ │ +00006760: 0a74 7265 6174 6564 2061 7320 6f70 7469 .treated as opti │ │ │ │ │ +00006770: 6f6e 7320 666f 7220 7468 6520 6765 6e65 ons for the gene │ │ │ │ │ +00006780: 7261 7465 6420 706f 6c79 676f 6e20 6f72 rated polygon or │ │ │ │ │ +00006790: 2070 6f6c 796c 696e 652e 2020 4f70 7469 polyline. Opti │ │ │ │ │ +000067a0: 6f6e 7320 6f66 0a74 6865 2073 7765 7074 ons of.the swept │ │ │ │ │ +000067b0: 206c 696e 6520 6974 7365 6c66 2c20 6865 line itself, he │ │ │ │ │ +000067c0: 7265 206c 696e 6577 6964 7468 3d32 7074 re linewidth=2pt │ │ │ │ │ +000067d0: 2c20 6172 6520 6967 6e6f 7265 642c 2074 , are ignored, t │ │ │ │ │ +000067e0: 686f 7567 6820 7769 7468 2061 0a77 6172 hough with a.war │ │ │ │ │ +000067f0: 6e69 6e67 2e20 2054 6869 7320 6465 6620 ning. This def │ │ │ │ │ +00006800: 6973 2061 20e2 809c 7665 6374 6f72 e280 is a ...vector.. │ │ │ │ │ +00006810: 9d20 6465 6669 6e69 7469 6f6e 2c20 7768 . definition, wh │ │ │ │ │ +00006820: 6963 6820 6d75 7374 2062 6520 7265 6665 ich must be refe │ │ │ │ │ +00006830: 7265 6e63 6564 0a77 6974 6820 7371 7561 renced.with squa │ │ │ │ │ +00006840: 7265 2062 7261 636b 6574 732c 2065 2e67 re brackets, e.g │ │ │ │ │ +00006850: 2e20 5b66 6f6f 5d2e 0a0a 1f0a 4669 6c65 . [foo].....File │ │ │ │ │ +00006860: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00006870: 4e6f 6465 3a20 4e65 7374 6564 2073 7765 Node: Nested swe │ │ │ │ │ +00006880: 6570 732c 2020 4e65 7874 3a20 506f 6c79 eps, Next: Poly │ │ │ │ │ +00006890: 676f 6e20 7377 6565 7073 2c20 2050 7265 gon sweeps, Pre │ │ │ │ │ +000068a0: 763a 2050 6f6c 796c 696e 6520 7377 6565 v: Polyline swee │ │ │ │ │ +000068b0: 7073 2c20 2055 703a 2053 7765 7074 206f ps, Up: Swept o │ │ │ │ │ +000068c0: 626a 6563 7473 0a0a 322e 372e 3320 4e65 bjects..2.7.3 Ne │ │ │ │ │ +000068d0: 7374 6564 2073 7765 6570 730a 2d2d 2d2d sted sweeps.---- │ │ │ │ │ +000068e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +000068f0: 0a57 6865 6e20 7468 6520 6365 6e74 6572 .When the center │ │ │ │ │ +00006900: 2070 6f69 6e74 206f 6620 726f 7461 7469 point of rotati │ │ │ │ │ +00006910: 6f6e 2069 7320 6f6d 6974 7465 642c 2074 on is omitted, t │ │ │ │ │ +00006920: 6865 206f 7269 6769 6e20 6973 2061 7373 he origin is ass │ │ │ │ │ +00006930: 756d 6564 2e0a 5768 656e 2061 2070 6f69 umed..When a poi │ │ │ │ │ +00006940: 6e74 2068 6173 206f 6e6c 7920 7477 6f20 nt has only two │ │ │ │ │ +00006950: 636f 6f72 6469 6e61 7465 732c 2074 6865 coordinates, the │ │ │ │ │ +00006960: 7920 6172 6520 7461 6b65 6e20 6173 2078 y are taken as x │ │ │ │ │ +00006970: 2061 6e64 2079 2c20 7769 7468 0a7a 3d30 and y, with.z=0 │ │ │ │ │ +00006980: 2061 7373 756d 6564 2e20 2041 2074 6f72 assumed. A tor │ │ │ │ │ +00006990: 6f69 6420 6973 2074 6865 7265 666f 7265 oid is therefore │ │ │ │ │ +000069a0: 206f 6274 6169 6e65 6420 7769 7468 2074 obtained with t │ │ │ │ │ +000069b0: 6869 7320 636f 6465 2e0a 2020 6465 6620 his code.. def │ │ │ │ │ +000069c0: 6e5f 746f 726f 6964 5f73 6567 7320 3230 n_toroid_segs 20 │ │ │ │ │ +000069d0: 2020 2064 6566 206e 5f63 6972 636c 655f def n_circle_ │ │ │ │ │ +000069e0: 7365 6773 2031 360a 2020 6465 6620 725f segs 16. def r_ │ │ │ │ │ +000069f0: 6d69 6e6f 7220 3120 2020 2020 2020 2020 minor 1 │ │ │ │ │ +00006a00: 2064 6566 2072 5f6d 616a 6f72 2031 2e35 def r_major 1.5 │ │ │ │ │ +00006a10: 0a20 2073 7765 6570 207b 206e 5f74 6f72 . sweep { n_tor │ │ │ │ │ +00006a20: 6f69 645f 7365 6773 2c20 726f 7461 7465 oid_segs, rotate │ │ │ │ │ +00006a30: 2833 3630 202f 206e 5f74 6f72 6f69 645f (360 / n_toroid_ │ │ │ │ │ +00006a40: 7365 6773 2c20 5b30 2c31 2c30 5d29 207d segs, [0,1,0]) } │ │ │ │ │ +00006a50: 0a20 2020 2073 7765 6570 207b 206e 5f63 . sweep { n_c │ │ │ │ │ +00006a60: 6972 636c 655f 7365 6773 2c20 726f 7461 ircle_segs, rota │ │ │ │ │ +00006a70: 7465 2833 3630 202f 206e 5f63 6972 636c te(360 / n_circl │ │ │ │ │ +00006a80: 655f 7365 6773 2c20 2872 5f6d 616a 6f72 e_segs, (r_major │ │ │ │ │ +00006a90: 2c30 2c30 2929 207d 200a 2020 2020 2020 ,0,0)) } . │ │ │ │ │ +00006aa0: 2872 5f6d 616a 6f72 202b 2072 5f6d 696e (r_major + r_min │ │ │ │ │ +00006ab0: 6f72 2c20 3029 0a20 2020 466f 7220 696e or, 0). For in │ │ │ │ │ +00006ac0: 7475 6974 696f 6e2c 2074 6865 2069 6465 tuition, the ide │ │ │ │ │ +00006ad0: 6120 6f66 2074 6865 2063 6f64 6520 6973 a of the code is │ │ │ │ │ +00006ae0: 2074 6f20 736b 6574 6368 2061 2063 6972 to sketch a cir │ │ │ │ │ +00006af0: 636c 6520 746f 2074 6865 0a72 6967 6874 cle to the.right │ │ │ │ │ +00006b00: 206f 6620 7468 6520 6f72 6967 696e 2069 of the origin i │ │ │ │ │ +00006b10: 6e20 7468 6520 7879 2d70 6c61 6e65 2c20 n the xy-plane, │ │ │ │ │ +00006b20: 7468 656e 2072 6f74 6174 6520 7468 6174 then rotate that │ │ │ │ │ +00006b30: 2063 6972 636c 6520 226f 7574 206f 6620 circle "out of │ │ │ │ │ +00006b40: 7468 650a 706c 616e 6522 2061 626f 7574 the.plane" about │ │ │ │ │ +00006b50: 2074 6865 2079 2d61 7869 7320 746f 206d the y-axis to m │ │ │ │ │ +00006b60: 616b 6520 7468 6520 6669 6e61 6c20 6669 ake the final fi │ │ │ │ │ +00006b70: 6775 7265 2e20 2054 6869 7320 7072 6f64 gure. This prod │ │ │ │ │ +00006b80: 7563 6573 2074 6865 0a66 6f6c 6c6f 7769 uces the.followi │ │ │ │ │ +00006b90: 6e67 2e20 2028 4120 7669 6577 2072 6f74 ng. (A view rot │ │ │ │ │ +00006ba0: 6174 696f 6e20 616e 6420 736f 6d65 2061 ation and some a │ │ │ │ │ +00006bb0: 7865 7320 6861 7665 2062 6565 6e20 6164 xes have been ad │ │ │ │ │ +00006bc0: 6465 642e 290a 0a00 085b 696d 6167 6520 ded.)....[image │ │ │ │ │ +00006bd0: 7372 633d 2265 7830 3930 2e70 6e67 2220 src="ex090.png" │ │ │ │ │ +00006be0: 7465 7874 3d22 496d 6167 6520 6578 3039 text="Image ex09 │ │ │ │ │ +00006bf0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex │ │ │ │ │ +00006c00: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi │ │ │ │ │ +00006c10: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document."..]. │ │ │ │ │ +00006c20: 0a20 2020 5468 6973 2065 7861 6d70 6c65 . This example │ │ │ │ │ +00006c30: 2061 6c73 6f20 7368 6f77 7320 7468 6174 also shows that │ │ │ │ │ +00006c40: 2074 6865 2073 7765 7074 206f 626a 6563 the swept objec │ │ │ │ │ +00006c50: 7420 6d61 7920 6974 7365 6c66 2062 6520 t may itself be │ │ │ │ │ +00006c60: 616e 6f74 6865 720a e280 9873 7765 6570 another....sweep │ │ │ │ │ +00006c70: e280 992e 2020 496e 2066 6163 742c 2069 .... In fact, i │ │ │ │ │ +00006c80: 7420 6d61 7920 6265 205f 616e 795f 20e2 t may be _any_ . │ │ │ │ │ +00006c90: 8098 736b 6574 6368 e280 9920 6578 7072 ..sketch... expr │ │ │ │ │ +00006ca0: 6573 7369 6f6e 2074 6861 7420 7265 7375 ession that resu │ │ │ │ │ +00006cb0: 6c74 7320 696e 2061 0a6c 6973 7420 6f66 lts in a.list of │ │ │ │ │ +00006cc0: 206f 6e65 206f 7220 6d6f 7265 2070 6f69 one or more poi │ │ │ │ │ +00006cd0: 6e74 7320 6f72 2c20 616c 7465 726e 6174 nts or, alternat │ │ │ │ │ +00006ce0: 656c 792c 2061 206c 6973 7420 6f66 206f ely, a list of o │ │ │ │ │ +00006cf0: 6e65 206f 7220 6d6f 7265 0a70 6f6c 796c ne or more.polyl │ │ │ │ │ +00006d00: 696e 6573 2061 6e64 2070 6f6c 7967 6f6e ines and polygon │ │ │ │ │ +00006d10: 732e 2020 5468 6520 6c61 7474 6572 206b s. The latter k │ │ │ │ │ +00006d20: 696e 6420 6f66 206c 6973 7420 6361 6e20 ind of list can │ │ │ │ │ +00006d30: 6265 2063 7265 6174 6564 2077 6974 6820 be created with │ │ │ │ │ +00006d40: 610a 7b20 7d2d 656e 636c 6f73 6564 2062 a.{ }-enclosed b │ │ │ │ │ +00006d50: 6c6f 636b 2c20 7065 7268 6170 7320 666f lock, perhaps fo │ │ │ │ │ +00006d60: 6c6c 6f77 696e 6720 6120 7075 7420 6f72 llowing a put or │ │ │ │ │ +00006d70: 2072 6570 6561 742e 0a0a 1f0a 4669 6c65 repeat.....File │ │ │ │ │ +00006d80: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00006d90: 4e6f 6465 3a20 506f 6c79 676f 6e20 7377 Node: Polygon sw │ │ │ │ │ +00006da0: 6565 7073 2c20 204e 6578 743a 2050 6f6c eeps, Next: Pol │ │ │ │ │ +00006db0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +00006dc0: 6820 636c 6f73 7572 652c 2020 5072 6576 h closure, Prev │ │ │ │ │ +00006dd0: 3a20 4e65 7374 6564 2073 7765 6570 732c : Nested sweeps, │ │ │ │ │ +00006de0: 2020 5570 3a20 5377 6570 7420 6f62 6a65 Up: Swept obje │ │ │ │ │ +00006df0: 6374 730a 0a32 2e37 2e34 2050 6f6c 7967 cts..2.7.4 Polyg │ │ │ │ │ +00006e00: 6f6e 2073 7765 6570 730a 2d2d 2d2d 2d2d on sweeps.------ │ │ │ │ │ +00006e10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ +00006e20: 5377 6565 7069 6e67 2061 2070 6f6c 7967 Sweeping a polyg │ │ │ │ │ +00006e30: 6f6e 2063 7265 6174 6573 2061 2063 6c6f on creates a clo │ │ │ │ │ +00006e40: 7365 6420 7375 7266 6163 6520 7769 7468 sed surface with │ │ │ │ │ +00006e50: 2070 6f6c 7967 6f6e 7320 6174 2074 6865 polygons at the │ │ │ │ │ +00006e60: 2065 6e64 732c 0a77 6869 6368 2061 7265 ends,.which are │ │ │ │ │ +00006e70: 206a 7573 7420 636f 7069 6573 206f 6620 just copies of │ │ │ │ │ +00006e80: 7468 6520 6f72 6967 696e 616c 2c20 6170 the original, ap │ │ │ │ │ +00006e90: 7072 6f70 7269 6174 656c 7920 706f 7369 propriately posi │ │ │ │ │ +00006ea0: 7469 6f6e 6564 2e20 202a 4e6f 7465 0a53 tioned. *Note.S │ │ │ │ │ +00006eb0: 6f6c 6964 2063 6f69 6c20 6578 616d 706c olid coil exampl │ │ │ │ │ +00006ec0: 653a 3a2e 2020 4f70 7469 6f6e 7320 6f6e e::. Options on │ │ │ │ │ +00006ed0: 2074 6865 2073 7765 7074 2070 6f6c 7967 the swept polyg │ │ │ │ │ +00006ee0: 6f6e 2c20 6966 2074 6865 7920 6578 6973 on, if they exis │ │ │ │ │ +00006ef0: 742c 2061 7265 0a61 7070 6c69 6564 2074 t, are.applied t │ │ │ │ │ +00006f00: 6f20 7468 6520 656e 6473 2e20 204f 7468 o the ends. Oth │ │ │ │ │ +00006f10: 6572 7769 7365 2074 6865 2073 7765 6570 erwise the sweep │ │ │ │ │ +00006f20: 206f 7074 696f 6e73 2061 7265 2075 7365 options are use │ │ │ │ │ +00006f30: 6420 7468 726f 7567 686f 7574 2e0a 0a1f d throughout.... │ │ │ │ │ +00006f40: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00006f50: 666f 2c20 204e 6f64 653a 2050 6f6c 796c fo, Node: Polyl │ │ │ │ │ +00006f60: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with │ │ │ │ │ +00006f70: 636c 6f73 7572 652c 2020 4e65 7874 3a20 closure, Next: │ │ │ │ │ +00006f80: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ +00006f90: 632c 2020 5072 6576 3a20 506f 6c79 676f c, Prev: Polygo │ │ │ │ │ +00006fa0: 6e20 7377 6565 7073 2c20 2055 703a 2053 n sweeps, Up: S │ │ │ │ │ +00006fb0: 7765 7074 206f 626a 6563 7473 0a0a 322e wept objects..2. │ │ │ │ │ +00006fc0: 372e 3520 506f 6c79 6c69 6e65 2073 7765 7.5 Polyline swe │ │ │ │ │ +00006fd0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure │ │ │ │ │ +00006fe0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00007000: 2d2d 2d0a 0a41 2070 6f6c 796c 696e 6520 ---..A polyline │ │ │ │ │ +00007010: 7377 6565 7020 7769 7468 2061 2063 6c6f sweep with a clo │ │ │ │ │ +00007020: 7375 7265 2074 6167 2063 7265 6174 6573 sure tag creates │ │ │ │ │ +00007030: 2061 6e6f 7468 6572 206b 696e 6420 6f66 another kind of │ │ │ │ │ +00007040: 2063 6c6f 7365 640a 7375 7266 6163 652e closed.surface. │ │ │ │ │ +00007050: 2020 4669 7273 742c 2074 6865 2070 6f6c First, the pol │ │ │ │ │ +00007060: 796c 696e 6520 7365 676d 656e 7473 2061 yline segments a │ │ │ │ │ +00007070: 7265 2063 6f6e 6e65 6374 6564 2062 7920 re connected by │ │ │ │ │ +00007080: 6661 6365 732c 206a 7573 7420 6173 0a77 faces, just as.w │ │ │ │ │ +00007090: 6974 686f 7574 2074 6865 2063 6c6f 7375 ithout the closu │ │ │ │ │ +000070a0: 7265 2074 6167 2e20 2054 6865 6e2c 2065 re tag. Then, e │ │ │ │ │ +000070b0: 6163 6820 7365 7420 6f66 2065 6e64 2070 ach set of end p │ │ │ │ │ +000070c0: 6f69 6e74 7320 6973 206a 6f69 6e65 6420 oints is joined │ │ │ │ │ +000070d0: 746f 206d 616b 650a 6120 706f 6c79 676f to make.a polygo │ │ │ │ │ +000070e0: 6e2c 206f 6e65 2066 6f72 2065 6163 6820 n, one for each │ │ │ │ │ +000070f0: 656e 642e 2020 4120 636f 6465 2066 6f72 end. A code for │ │ │ │ │ +00007100: 2073 6576 6572 616c 2076 6965 7773 206f several views o │ │ │ │ │ +00007110: 6620 6120 6379 6c69 6e64 7269 6361 6c0a f a cylindrical. │ │ │ │ │ +00007120: 7072 6973 6d20 666f 6c6c 6f77 732e 0a20 prism follows.. │ │ │ │ │ +00007130: 2064 6566 206e 5f63 796c 5f73 6567 7320 def n_cyl_segs │ │ │ │ │ +00007140: 3230 2020 6465 6620 6e5f 7669 6577 7320 20 def n_views │ │ │ │ │ +00007150: 3520 2064 6566 2049 205b 312c 302c 305d 5 def I [1,0,0] │ │ │ │ │ +00007160: 0a20 2064 6566 2065 6e64 6f70 7473 205b . def endopts [ │ │ │ │ │ +00007170: 6669 6c6c 636f 6c6f 723d 6c69 6768 7467 fillcolor=lightg │ │ │ │ │ +00007180: 7261 795d 0a20 2072 6570 6561 7420 7b20 ray]. repeat { │ │ │ │ │ +00007190: 6e5f 7669 6577 732c 2072 6f74 6174 6528 n_views, rotate( │ │ │ │ │ +000071a0: 3138 302f 6e5f 7669 6577 732c 205b 495d 180/n_views, [I] │ │ │ │ │ +000071b0: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate │ │ │ │ │ +000071c0: 285b 495d 202a 2032 2e31 2920 7d20 0a20 ([I] * 2.1) } . │ │ │ │ │ +000071d0: 2020 2073 7765 6570 5b65 6e64 6f70 7473 sweep[endopts │ │ │ │ │ +000071e0: 5d7b 206e 5f63 796c 5f73 6567 733c 3e2c ]{ n_cyl_segs<>, │ │ │ │ │ +000071f0: 2072 6f74 6174 6528 3336 302f 6e5f 6379 rotate(360/n_cy │ │ │ │ │ +00007200: 6c5f 7365 6773 2c20 5b30 2c31 2c30 5d29 l_segs, [0,1,0]) │ │ │ │ │ +00007210: 207d 200a 2020 2020 2020 6c69 6e65 5b66 } . line[f │ │ │ │ │ +00007220: 696c 6c63 6f6c 6f72 3d77 6869 7465 5d28 illcolor=white]( │ │ │ │ │ +00007230: 312c 2d31 2928 312c 3129 0a49 7420 7072 1,-1)(1,1).It pr │ │ │ │ │ +00007240: 6f64 7563 6573 2074 6869 7320 6472 6177 oduces this draw │ │ │ │ │ +00007250: 696e 672e 0a0a 0008 5b69 6d61 6765 2073 ing.....[image s │ │ │ │ │ +00007260: 7263 3d22 6578 3131 302e 706e 6722 2074 rc="ex110.png" t │ │ │ │ │ +00007270: 6578 743d 2249 6d61 6765 2065 7831 3130 ext="Image ex110 │ │ │ │ │ +00007280: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00007290: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +000072a0: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +000072b0: 5468 6520 6f70 7469 6f6e 7320 6f66 2074 The options of t │ │ │ │ │ +000072c0: 6865 2073 7765 7074 206c 696e 652c 2069 he swept line, i │ │ │ │ │ +000072d0: 6620 616e 792c 2061 7265 2061 7070 6c69 f any, are appli │ │ │ │ │ +000072e0: 6564 2074 6f20 7468 6520 6661 6365 7320 ed to the faces │ │ │ │ │ +000072f0: 7072 6f64 7563 6564 0a62 7920 7377 6565 produced.by swee │ │ │ │ │ +00007300: 7069 6e67 2074 6865 206c 696e 652c 2062 ping the line, b │ │ │ │ │ +00007310: 7574 206e 6f74 2074 6865 2065 6e64 2070 ut not the end p │ │ │ │ │ +00007320: 6f6c 7967 6f6e 732e 2020 4f74 6865 7277 olygons. Otherw │ │ │ │ │ +00007330: 6973 652c 2074 6865 2073 7765 6570 0a6f ise, the sweep.o │ │ │ │ │ +00007340: 7074 696f 6e73 2061 7265 2061 7070 6c69 ptions are appli │ │ │ │ │ +00007350: 6564 2074 6872 6f75 6768 6f75 742e 2020 ed throughout. │ │ │ │ │ +00007360: 5468 6520 6465 6620 696e 2074 6869 7320 The def in this │ │ │ │ │ +00007370: 6578 616d 706c 6520 6973 2061 6e20 e280 example is an .. │ │ │ │ │ +00007380: 9c6f 7074 696f 6ee2 809d 0a64 6566 696e .option....defin │ │ │ │ │ +00007390: 6974 696f 6e2e 2020 5265 6665 7265 6e63 ition. Referenc │ │ │ │ │ +000073a0: 6573 2074 6f20 6f70 7469 6f6e 7320 6d75 es to options mu │ │ │ │ │ +000073b0: 7374 2062 6520 656e 636c 6f73 6564 2069 st be enclosed i │ │ │ │ │ +000073c0: 6e20 7371 7561 7265 2062 7261 636b 6574 n square bracket │ │ │ │ │ +000073d0: 732c 0a65 2e67 2e20 2020 5b66 6f6f 5d2e s,.e.g. [foo]. │ │ │ │ │ +000073e0: 2020 596f 7520 6361 6e20 636f 6e63 6174 You can concat │ │ │ │ │ +000073f0: 656e 6174 6520 7365 7665 7261 6c20 7365 enate several se │ │ │ │ │ +00007400: 7473 206f 6620 6f70 7469 6f6e 7320 7769 ts of options wi │ │ │ │ │ +00007410: 7468 2061 2073 696e 676c 650a 7265 6665 th a single.refe │ │ │ │ │ +00007420: 7265 6e63 652c 2065 2e67 2e20 2020 5b63 rence, e.g. [c │ │ │ │ │ +00007430: 6f6c 6f72 2c20 7369 7a65 2c20 7374 796c olor, size, styl │ │ │ │ │ +00007440: 655d 2020 776f 756c 6420 6361 7573 6520 e] would cause │ │ │ │ │ +00007450: 7468 6520 6f70 7469 6f6e 0a64 6566 696e the option.defin │ │ │ │ │ +00007460: 6974 696f 6e73 2066 6f72 20e2 8098 636f itions for ...co │ │ │ │ │ +00007470: 6c6f 72e2 8099 2c20 e280 9873 697a 65e2 lor..., ...size. │ │ │ │ │ +00007480: 8099 2c20 616e 6420 e280 9873 7479 6c65 .., and ...style │ │ │ │ │ +00007490: e280 9920 746f 2061 7070 6561 7220 696e ... to appear in │ │ │ │ │ +000074a0: 2073 6571 7565 6e63 6520 696e 0a74 6865 sequence in.the │ │ │ │ │ +000074b0: 206f 7574 7075 7420 6372 6561 7465 6420 output created │ │ │ │ │ +000074c0: 6279 2074 6865 20e2 8098 736b 6574 6368 by the ...sketch │ │ │ │ │ +000074d0: e280 9920 636f 6d6d 616e 6420 636f 6e74 ... command cont │ │ │ │ │ +000074e0: 6169 6e69 6e67 2074 6865 2072 6566 6572 aining the refer │ │ │ │ │ +000074f0: 656e 6365 2e0a 4861 7070 696c 792c 2074 ence..Happily, t │ │ │ │ │ +00007500: 6865 2073 796e 7461 7820 6f66 20e2 8098 he syntax of ... │ │ │ │ │ +00007510: 736b 6574 6368 e280 9920 6973 2073 7563 sketch... is suc │ │ │ │ │ +00007520: 6820 7468 6174 206f 7074 696f 6e73 2072 h that options r │ │ │ │ │ +00007530: 6566 6572 656e 6365 7320 6361 6e0a 6e65 eferences can.ne │ │ │ │ │ +00007540: 7665 7220 6265 2063 6f6e 6675 7365 6420 ver be confused │ │ │ │ │ +00007550: 7769 7468 2076 6563 746f 7220 7265 6665 with vector refe │ │ │ │ │ +00007560: 7265 6e63 6573 2e20 2057 6869 6c65 206e rences. While n │ │ │ │ │ +00007570: 6f74 2061 7070 6172 656e 7420 696e 2074 ot apparent in t │ │ │ │ │ +00007580: 6869 730a 6578 616d 706c 652c 206f 7074 his.example, opt │ │ │ │ │ +00007590: 696f 6e73 2072 6566 6572 656e 6365 7320 ions references │ │ │ │ │ +000075a0: 6172 6520 7573 6566 756c 2077 6865 6e20 are useful when │ │ │ │ │ +000075b0: 6465 6669 6e69 6e67 206d 616e 7920 6f62 defining many ob │ │ │ │ │ +000075c0: 6a65 6374 7320 7769 7468 2061 0a73 696d jects with a.sim │ │ │ │ │ +000075d0: 696c 6172 2061 7070 6561 7261 6e63 652e ilar appearance. │ │ │ │ │ +000075e0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +000075f0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4166 .info, Node: Af │ │ │ │ │ +00007600: 6669 6e65 2061 7269 7468 6d65 7469 632c fine arithmetic, │ │ │ │ │ +00007610: 2020 4e65 7874 3a20 4d6f 7265 2074 6f20 Next: More to │ │ │ │ │ +00007620: 6c65 6172 6e2c 2020 5072 6576 3a20 506f learn, Prev: Po │ │ │ │ │ +00007630: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ +00007640: 7468 2063 6c6f 7375 7265 2c20 2055 703a th closure, Up: │ │ │ │ │ +00007650: 2053 7765 7074 206f 626a 6563 7473 0a0a Swept objects.. │ │ │ │ │ +00007660: 322e 372e 3620 4166 6669 6e65 2061 7269 2.7.6 Affine ari │ │ │ │ │ +00007670: 7468 6d65 7469 630a 2d2d 2d2d 2d2d 2d2d thmetic.-------- │ │ │ │ │ +00007680: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +00007690: 0a54 6865 2061 7269 7468 6d65 7469 6320 .The arithmetic │ │ │ │ │ +000076a0: 5b49 5d20 2a20 322e 3120 6162 6f76 6520 [I] * 2.1 above │ │ │ │ │ +000076b0: 6869 6e74 7320 6174 2061 206c 6172 6765 hints at a large │ │ │ │ │ +000076c0: 7220 7472 7574 682e 2020 e280 9853 6b65 r truth. ...Ske │ │ │ │ │ +000076d0: 7463 68e2 8099 0a6f 7065 7261 746f 7273 tch....operators │ │ │ │ │ +000076e0: 2077 6f72 6b20 6f6e 2073 6361 6c61 7273 work on scalars │ │ │ │ │ +000076f0: 2c20 7665 6374 6f72 732c 2070 6f69 6e74 , vectors, point │ │ │ │ │ +00007700: 732c 2061 6e64 2074 7261 6e73 666f 726d s, and transform │ │ │ │ │ +00007710: 7320 6163 636f 7264 696e 6720 746f 0a74 s according to.t │ │ │ │ │ +00007720: 6865 2067 656e 6572 616c 2072 756c 6573 he general rules │ │ │ │ │ +00007730: 206f 6620 e280 9c61 6666 696e 6520 616c of ...affine al │ │ │ │ │ +00007740: 6765 6272 61e2 809d 2e20 2054 6869 7320 gebra.... This │ │ │ │ │ +00007750: 6361 6e20 6265 2068 656c 7066 756c 2066 can be helpful f │ │ │ │ │ +00007760: 6f72 2073 6574 7469 6e67 0a75 7020 6469 or setting.up di │ │ │ │ │ +00007770: 6167 7261 6d73 2077 6974 6820 636f 6d70 agrams with comp │ │ │ │ │ +00007780: 7574 6564 2067 656f 6d65 7472 792e 2020 uted geometry. │ │ │ │ │ +00007790: 466f 7220 6578 616d 706c 652c 2069 6620 For example, if │ │ │ │ │ +000077a0: 796f 7520 6861 7665 2074 7269 616e 676c you have triangl │ │ │ │ │ +000077b0: 650a 7665 7274 6963 6573 2028 7031 2920 e.vertices (p1) │ │ │ │ │ +000077c0: 7468 726f 7567 6820 2870 3329 2061 6e64 through (p3) and │ │ │ │ │ +000077d0: 206e 6565 6420 746f 2064 7261 7720 6120 need to draw a │ │ │ │ │ +000077e0: 756e 6974 206e 6f72 6d61 6c20 7665 6374 unit normal vect │ │ │ │ │ +000077f0: 6f72 0a70 6f69 6e74 696e 6720 6f75 7420 or.pointing out │ │ │ │ │ +00007800: 6f66 2074 6865 2063 656e 7465 7220 6f66 of the center of │ │ │ │ │ +00007810: 2074 6865 2074 7269 616e 676c 652c 2074 the triangle, t │ │ │ │ │ +00007820: 6869 7320 636f 6465 2064 6f65 7320 7468 his code does th │ │ │ │ │ +00007830: 6520 7472 6963 6b2e 0a20 2064 6566 2070 e trick.. def p │ │ │ │ │ +00007840: 3120 2831 2c30 2c30 2920 2064 6566 2070 1 (1,0,0) def p │ │ │ │ │ +00007850: 3220 2830 2c30 2e35 2c30 2920 2064 6566 2 (0,0.5,0) def │ │ │ │ │ +00007860: 2070 3320 282d 302e 352c 2d31 2c32 290a p3 (-0.5,-1,2). │ │ │ │ │ +00007870: 2020 6465 6620 4f20 2830 2c30 2c30 290a def O (0,0,0). │ │ │ │ │ +00007880: 2020 6465 6620 4e20 756e 6974 2820 2828 def N unit( (( │ │ │ │ │ +00007890: 7033 2920 2d20 2870 3229 2920 2a20 2828 p3) - (p2)) * (( │ │ │ │ │ +000078a0: 7031 2920 2d20 2870 3229 2920 290a 2020 p1) - (p2)) ). │ │ │ │ │ +000078b0: 6465 6620 6e31 2028 2870 3129 2d28 4f29 def n1 ((p1)-(O) │ │ │ │ │ +000078c0: 202b 2028 7032 292d 284f 2920 2b20 2870 + (p2)-(O) + (p │ │ │ │ │ +000078d0: 3329 2d28 4f29 2920 2f20 3320 2b20 284f 3)-(O)) / 3 + (O │ │ │ │ │ +000078e0: 290a 2020 6465 6620 6e32 2028 6e31 292b ). def n2 (n1)+ │ │ │ │ │ +000078f0: 5b4e 5d0a 2020 706f 6c79 676f 6e28 7031 [N]. polygon(p1 │ │ │ │ │ +00007900: 2928 7032 2928 7033 290a 2020 6c69 6e65 )(p2)(p3). line │ │ │ │ │ +00007910: 5b61 7272 6f77 733d 2a2d 3e5d 286e 3129 [arrows=*->](n1) │ │ │ │ │ +00007920: 286e 3229 0a54 6865 2066 6972 7374 206c (n2).The first l │ │ │ │ │ +00007930: 696e 6520 636f 6d70 7574 6573 2074 6865 ine computes the │ │ │ │ │ +00007940: 2063 726f 7373 2070 726f 6475 6374 206f cross product o │ │ │ │ │ +00007950: 6620 7477 6f20 6564 6765 2076 6563 746f f two edge vecto │ │ │ │ │ +00007960: 7273 206f 6620 7468 650a 7472 6961 6e67 rs of the.triang │ │ │ │ │ +00007970: 6c65 2061 6e64 2073 6361 6c65 7320 6974 le and scales it │ │ │ │ │ +00007980: 2074 6f20 756e 6974 206c 656e 6774 682e to unit length. │ │ │ │ │ +00007990: 2020 5468 6520 7365 636f 6e64 2063 6f6d The second com │ │ │ │ │ +000079a0: 7075 7465 7320 7468 6520 6176 6572 6167 putes the averag │ │ │ │ │ +000079b0: 650a 6f66 2074 6865 2076 6572 7469 6365 e.of the vertice │ │ │ │ │ +000079c0: 732e 2020 4e6f 7465 2074 6861 7420 7375 s. Note that su │ │ │ │ │ +000079d0: 6274 7261 6374 696f 6e20 616e 6420 6164 btraction and ad │ │ │ │ │ +000079e0: 6469 7469 6f6e 206f 6620 7468 6520 6f72 dition of the or │ │ │ │ │ +000079f0: 6967 696e 0a65 6666 6563 7469 7665 6c79 igin.effectively │ │ │ │ │ +00007a00: 2063 6f6e 7665 7274 2076 6563 746f 7273 convert vectors │ │ │ │ │ +00007a10: 2074 6f20 706f 696e 7473 2061 6e64 205f to points and _ │ │ │ │ │ +00007a20: 7669 6365 2076 6572 7361 5f2e 2020 5468 vice versa_. Th │ │ │ │ │ +00007a30: 6520 6c69 6e65 0a63 6f6d 6d61 6e64 2064 e line.command d │ │ │ │ │ +00007a40: 7261 7773 2074 6865 206e 6f72 6d61 6c20 raws the normal │ │ │ │ │ +00007a50: 6174 2074 6865 2063 6f72 7265 6374 2073 at the correct s │ │ │ │ │ +00007a60: 706f 742e 0a0a 0008 5b69 6d61 6765 2073 pot.....[image s │ │ │ │ │ +00007a70: 7263 3d22 6578 3130 302e 706e 6722 2074 rc="ex100.png" t │ │ │ │ │ +00007a80: 6578 743d 2249 6d61 6765 2065 7831 3030 ext="Image ex100 │ │ │ │ │ +00007a90: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00007aa0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00007ab0: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00007ac0: 2020 2054 776f 2063 6176 6561 7473 2072 Two caveats r │ │ │ │ │ +00007ad0: 6567 6172 6469 6e67 2074 6869 7320 6578 egarding this ex │ │ │ │ │ +00007ae0: 616d 706c 6520 7265 6d61 696e 2e20 2046 ample remain. F │ │ │ │ │ +00007af0: 6972 7374 2c20 7468 6520 6f6e 6c79 2077 irst, the only w │ │ │ │ │ +00007b00: 6179 2074 6f0a 7573 6520 e280 9850 5354 ay to.use ...PST │ │ │ │ │ +00007b10: 7269 636b 73e2 8099 2d73 7479 6c65 2061 ricks...-style a │ │ │ │ │ +00007b20: 7272 6f77 7320 6973 2077 6974 6820 6172 rrows is with ar │ │ │ │ │ +00007b30: 726f 7773 3d2e 2020 5468 6520 616c 7465 rows=. The alte │ │ │ │ │ +00007b40: 726e 6174 6976 6520 7379 6e74 6178 2066 rnative syntax f │ │ │ │ │ +00007b50: 6f72 0ae2 8098 5053 5472 6963 6b73 e280 or....PSTricks.. │ │ │ │ │ +00007b60: 9920 6172 726f 7773 2069 7320 6e6f 7420 . arrows is not │ │ │ │ │ +00007b70: 616c 6c6f 7765 6420 696e 2073 6b65 7463 allowed in sketc │ │ │ │ │ +00007b80: 682e 2020 5365 636f 6e64 2c20 796f 7520 h. Second, you │ │ │ │ │ +00007b90: 6d69 6768 7420 6c69 6b65 2074 6f0a 656c might like to.el │ │ │ │ │ +00007ba0: 696d 696e 6174 6520 7468 6520 7468 6972 iminate the thir │ │ │ │ │ +00007bb0: 6420 6465 6620 616e 6420 7772 6974 6520 d def and write │ │ │ │ │ +00007bc0: 696e 7374 6561 6420 7468 6520 666f 6c6c instead the foll │ │ │ │ │ +00007bd0: 6f77 696e 672e 0a20 206c 696e 655b 6172 owing.. line[ar │ │ │ │ │ +00007be0: 726f 7773 3d2a 2d3e 5d28 6e31 2920 286e rows=*->](n1) (n │ │ │ │ │ +00007bf0: 3129 2b5b 4e5d 0a54 6869 7320 6973 206e 1)+[N].This is n │ │ │ │ │ +00007c00: 6f74 2061 6c6c 6f77 6564 2e20 2054 6865 ot allowed. The │ │ │ │ │ +00007c10: 2070 6f69 6e74 206c 6973 7473 2069 6e20 point lists in │ │ │ │ │ +00007c20: 6472 6177 6162 6c65 7320 6d61 7920 636f drawables may co │ │ │ │ │ +00007c30: 6e73 6973 7420 6f6e 6c79 206f 660a 6578 nsist only of.ex │ │ │ │ │ +00007c40: 706c 6963 6974 2070 6f69 6e74 7320 6f72 plicit points or │ │ │ │ │ +00007c50: 2070 6f69 6e74 2072 6566 6572 656e 6365 point reference │ │ │ │ │ +00007c60: 732e 2020 596f 7520 6d61 792c 2068 6f77 s. You may, how │ │ │ │ │ +00007c70: 6576 6572 2c20 7573 6520 6172 6974 686d ever, use arithm │ │ │ │ │ +00007c80: 6574 6963 0a74 6f20 6361 6c63 756c 6174 etic.to calculat │ │ │ │ │ +00007c90: 6520 706f 696e 7420 636f 6d70 6f6e 656e e point componen │ │ │ │ │ +00007ca0: 7473 2e20 2054 6865 2066 6f6c 6c6f 7769 ts. The followi │ │ │ │ │ +00007cb0: 6e67 2077 6f72 6b73 2c20 7468 6f75 6768 ng works, though │ │ │ │ │ +00007cc0: 2069 7427 7320 610a 6c69 7474 6c65 2063 it's a.little c │ │ │ │ │ +00007cd0: 756d 6265 7273 6f6d 652e 0a20 206c 696e umbersome.. lin │ │ │ │ │ +00007ce0: 655b 6172 726f 7773 3d2a 2d3e 5d28 6e31 e[arrows=*->](n1 │ │ │ │ │ +00007cf0: 2928 286e 3129 2778 2b28 4e29 2778 2c20 )((n1)'x+(N)'x, │ │ │ │ │ +00007d00: 286e 3129 2779 2b28 4e29 2779 2c20 286e (n1)'y+(N)'y, (n │ │ │ │ │ +00007d10: 3129 277a 2b28 4e29 277a 290a 4f62 7669 1)'z+(N)'z).Obvi │ │ │ │ │ +00007d20: 6f75 736c 792c 2074 6865 20e2 809c 7469 ously, the ...ti │ │ │ │ │ +00007d30: 636b 206f 7065 7261 746f 72e2 809d 20e2 ck operator... . │ │ │ │ │ +00007d40: 8098 2778 e280 9920 6578 7472 6163 7473 ..'x... extracts │ │ │ │ │ +00007d50: 2063 6f6d 706f 6e65 6e74 7320 6f66 2070 components of p │ │ │ │ │ +00007d60: 6f69 6e74 7320 616e 640a 7665 6374 6f72 oints and.vector │ │ │ │ │ +00007d70: 732e 0a0a 1f0a 4669 6c65 3a20 736b 6574 s.....File: sket │ │ │ │ │ +00007d80: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00007d90: 4d6f 7265 2074 6f20 6c65 6172 6e2c 2020 More to learn, │ │ │ │ │ +00007da0: 5072 6576 3a20 4166 6669 6e65 2061 7269 Prev: Affine ari │ │ │ │ │ +00007db0: 7468 6d65 7469 632c 2020 5570 3a20 5377 thmetic, Up: Sw │ │ │ │ │ +00007dc0: 6570 7420 6f62 6a65 6374 730a 0a32 2e37 ept objects..2.7 │ │ │ │ │ +00007dd0: 2e37 204d 6f72 6520 746f 206c 6561 726e .7 More to learn │ │ │ │ │ +00007de0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +00007df0: 2d2d 2d2d 0a0a 5468 6973 2069 7320 6e6f ----..This is no │ │ │ │ │ +00007e00: 7420 7468 6520 656e 6420 6f66 2074 6865 t the end of the │ │ │ │ │ +00007e10: 2073 746f 7279 206f 6e20 7377 6565 7073 story on sweeps │ │ │ │ │ +00007e20: 2120 2057 6520 696e 7669 7465 2074 6865 ! We invite the │ │ │ │ │ +00007e30: 2072 6561 6465 7220 696e 746f 0a74 6865 reader into.the │ │ │ │ │ +00007e40: 206d 6169 6e20 626f 6479 206f 6620 7468 main body of th │ │ │ │ │ +00007e50: 6973 2064 6f63 756d 656e 7461 7469 6f6e is documentation │ │ │ │ │ +00007e60: 202a 6e6f 7465 2053 7765 6570 733a 3a20 *note Sweeps:: │ │ │ │ │ +00007e70: 746f 206c 6561 726e 206d 6f72 652e 0a0a to learn more... │ │ │ │ │ +00007e80: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00007e90: 3132 302e 706e 6722 2074 6578 743d 2249 120.png" text="I │ │ │ │ │ +00007ea0: 6d61 6765 2065 7831 3230 206f 6d69 7474 mage ex120 omitt │ │ │ │ │ +00007eb0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00007ec0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00007ed0: 656e 742e 2200 085d 0a0a 5768 6f20 6b6e ent."..]..Who kn │ │ │ │ │ +00007ee0: 6f77 7320 7768 6572 6520 796f 7527 6c6c ows where you'll │ │ │ │ │ +00007ef0: 2066 696e 6973 683f 0a0a 1f0a 4669 6c65 finish?....File │ │ │ │ │ +00007f00: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00007f10: 4e6f 6465 3a20 496e 7075 7420 6c61 6e67 Node: Input lang │ │ │ │ │ +00007f20: 7561 6765 2c20 204e 6578 743a 2042 7569 uage, Next: Bui │ │ │ │ │ +00007f30: 6c64 696e 6720 6120 6472 6177 696e 672c lding a drawing, │ │ │ │ │ +00007f40: 2020 5072 6576 3a20 496e 7472 6f64 7563 Prev: Introduc │ │ │ │ │ +00007f50: 7469 6f6e 2062 7920 6578 616d 706c 652c tion by example, │ │ │ │ │ +00007f60: 2020 5570 3a20 546f 700a 0a33 2049 6e70 Up: Top..3 Inp │ │ │ │ │ +00007f70: 7574 206c 616e 6775 6167 650a 2a2a 2a2a ut language.**** │ │ │ │ │ +00007f80: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th │ │ │ │ │ +00007f90: 6973 2063 6861 7074 6572 2064 6573 6372 is chapter descr │ │ │ │ │ +00007fa0: 6962 6573 2074 6865 20e2 8098 736b 6574 ibes the ...sket │ │ │ │ │ +00007fb0: 6368 e280 9920 696e 7075 7420 6c61 6e67 ch... input lang │ │ │ │ │ +00007fc0: 7561 6765 2069 6e20 6465 7461 696c 2e0a uage in detail.. │ │ │ │ │ +00007fd0: 0a2a 204d 656e 753a 0a0a 2a20 4c61 6e67 .* Menu:..* Lang │ │ │ │ │ +00007fe0: 7561 6765 2062 6173 6963 733a 3a20 2020 uage basics:: │ │ │ │ │ +00007ff0: 2020 2020 2020 2020 2020 4361 7365 2c20 Case, │ │ │ │ │ +00008000: 7370 6163 652c 2063 6f6d 6d65 6e74 732c space, comments, │ │ │ │ │ +00008010: 2069 6e63 6c75 6465 2066 696c 6573 2e0a include files.. │ │ │ │ │ +00008020: 2a20 4472 6177 6162 6c65 733a 3a20 2020 * Drawables:: │ │ │ │ │ +00008030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00008040: 5468 696e 6773 2074 6861 7420 6361 6e20 Things that can │ │ │ │ │ +00008050: 6265 2064 7261 776e 2e0a 2a20 4465 6669 be drawn..* Defi │ │ │ │ │ +00008060: 6e69 7469 6f6e 733a 3a20 2020 2020 2020 nitions:: │ │ │ │ │ +00008070: 2020 2020 2020 2020 2020 4769 7669 6e67 Giving │ │ │ │ │ +00008080: 2074 6869 6e67 7320 6e61 6d65 732e 0a2a things names..* │ │ │ │ │ +00008090: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm │ │ │ │ │ +000080a0: 656e 743a 3a20 2020 2020 2020 2020 2041 ent:: A │ │ │ │ │ +000080b0: 6666 6563 7420 7468 6520 656e 7469 7265 ffect the entire │ │ │ │ │ +000080c0: 2064 7261 7769 6e67 2e0a 0a1f 0a46 696c drawing.....Fil │ │ │ │ │ +000080d0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +000080e0: 204e 6f64 653a 204c 616e 6775 6167 6520 Node: Language │ │ │ │ │ +000080f0: 6261 7369 6373 2c20 204e 6578 743a 2044 basics, Next: D │ │ │ │ │ +00008100: 7261 7761 626c 6573 2c20 2050 7265 763a rawables, Prev: │ │ │ │ │ +00008110: 2049 6e70 7574 206c 616e 6775 6167 652c Input language, │ │ │ │ │ +00008120: 2020 5570 3a20 496e 7075 7420 6c61 6e67 Up: Input lang │ │ │ │ │ +00008130: 7561 6765 0a0a 332e 3120 4261 7369 6373 uage..3.1 Basics │ │ │ │ │ +00008140: 0a3d 3d3d 3d3d 3d3d 3d3d 3d0a 0ae2 8098 .==========..... │ │ │ │ │ +00008150: 536b 6574 6368 e280 9920 696e 7075 7420 Sketch... input │ │ │ │ │ +00008160: 6973 2070 6c61 696e 2041 5343 4949 2074 is plain ASCII t │ │ │ │ │ +00008170: 6578 742c 2075 7375 616c 6c79 2073 746f ext, usually sto │ │ │ │ │ +00008180: 7265 6420 696e 2061 6e20 696e 7075 7420 red in an input │ │ │ │ │ +00008190: 6669 6c65 2e20 2049 740a 6465 7363 7269 file. It.descri │ │ │ │ │ +000081a0: 6265 7320 6120 e280 9c73 6365 6e65 e280 bes a ...scene.. │ │ │ │ │ +000081b0: 9d2c 2073 6f20 7468 6520 736b 6574 6368 ., so the sketch │ │ │ │ │ +000081c0: 206c 616e 6775 6167 6520 6973 2061 20e2 language is a . │ │ │ │ │ +000081d0: 809c 7363 656e 6520 6465 7363 7269 7074 ..scene descript │ │ │ │ │ +000081e0: 696f 6e0a 6c61 6e67 7561 6765 e280 9d2e ion.language.... │ │ │ │ │ +000081f0: 2020 e280 9853 6b65 7463 68e2 8099 2069 ...Sketch... i │ │ │ │ │ +00008200: 6e70 7574 2069 7320 616c 736f 20e2 809c nput is also ... │ │ │ │ │ +00008210: 6465 636c 6172 6174 6976 65e2 809d 2e20 declarative.... │ │ │ │ │ +00008220: 2049 7420 6d65 7265 6c79 2064 6563 6c61 It merely decla │ │ │ │ │ +00008230: 7265 730a 7768 6174 2074 6865 2073 6365 res.what the sce │ │ │ │ │ +00008240: 6e65 206f 7567 6874 2074 6f20 6c6f 6f6b ne ought to look │ │ │ │ │ +00008250: 206c 696b 6520 7768 656e 2064 7261 7769 like when drawi │ │ │ │ │ +00008260: 6e67 2069 7320 636f 6d70 6c65 7465 2061 ng is complete a │ │ │ │ │ +00008270: 6e64 2073 6179 7320 7665 7279 0a6c 6974 nd says very.lit │ │ │ │ │ +00008280: 746c 6520 6162 6f75 7420 686f 7720 e280 tle about how .. │ │ │ │ │ +00008290: 9873 6b65 7463 68e2 8099 2073 686f 756c .sketch... shoul │ │ │ │ │ +000082a0: 6420 646f 2069 7473 2077 6f72 6b2e 2020 d do its work. │ │ │ │ │ +000082b0: e280 9853 6b65 7463 68e2 8099 2063 6f6d ...Sketch... com │ │ │ │ │ +000082c0: 6d61 6e64 7320 6172 6520 6e6f 740a 6578 mands are not.ex │ │ │ │ │ +000082d0: 6563 7574 6564 2073 6571 7565 6e74 6961 ecuted sequentia │ │ │ │ │ +000082e0: 6c6c 7920 6173 2069 6e20 7468 6520 7573 lly as in the us │ │ │ │ │ +000082f0: 7561 6c20 7072 6f67 7261 6d6d 696e 6720 ual programming │ │ │ │ │ +00008300: 6c61 6e67 7561 6765 2e20 2054 6865 7920 language. They │ │ │ │ │ +00008310: 6d65 7265 6c79 0a63 6f6e 7472 6962 7574 merely.contribut │ │ │ │ │ +00008320: 6520 746f 2074 6861 7420 6465 636c 6172 e to that declar │ │ │ │ │ +00008330: 6174 696f 6e2e 0a0a 2020 2041 2066 6577 ation... A few │ │ │ │ │ +00008340: 2073 796e 7461 6374 6963 2064 6574 6169 syntactic detai │ │ │ │ │ +00008350: 6c73 2061 7265 2069 6d70 6f72 7461 6e74 ls are important │ │ │ │ │ +00008360: 2e20 2043 6173 6520 6973 2073 6967 6e69 . Case is signi │ │ │ │ │ +00008370: 6669 6361 6e74 2069 6e20 7468 650a e280 ficant in the... │ │ │ │ │ +00008380: 9873 6b65 7463 68e2 8099 206c 616e 6775 .sketch... langu │ │ │ │ │ +00008390: 6167 652e 2020 5769 7468 2061 2066 6577 age. With a few │ │ │ │ │ +000083a0: 2065 7863 6570 7469 6f6e 732c 2077 6869 exceptions, whi │ │ │ │ │ +000083b0: 7465 2073 7061 6365 2069 7320 6e6f 742e te space is not. │ │ │ │ │ +000083c0: 2020 5468 6973 0a69 6e63 6c75 6465 7320 This.includes │ │ │ │ │ +000083d0: 6c69 6e65 2062 7265 616b 732e 2020 436f line breaks. Co │ │ │ │ │ +000083e0: 6d6d 656e 7473 2062 6567 696e 2077 6974 mments begin wit │ │ │ │ │ +000083f0: 6820 e280 9825 e280 9920 6f72 20e2 8098 h ...%... or ... │ │ │ │ │ +00008400: 23e2 8099 2061 6e64 2065 7874 656e 6420 #... and extend │ │ │ │ │ +00008410: 746f 2074 6865 0a65 6e64 206f 6620 7468 to the.end of th │ │ │ │ │ +00008420: 6520 6c69 6e65 2e20 2059 6f75 2063 616e e line. You can │ │ │ │ │ +00008430: 2064 6973 6162 6c65 2061 2063 6875 6e6b disable a chunk │ │ │ │ │ +00008440: 206f 6620 7379 6e74 6163 7469 6361 6c6c of syntacticall │ │ │ │ │ +00008450: 7920 636f 7272 6563 740a e280 9873 6b65 y correct....ske │ │ │ │ │ +00008460: 7463 68e2 8099 2063 6f64 6520 6279 2065 tch... code by e │ │ │ │ │ +00008470: 6e63 6c6f 7369 6e67 2069 7420 696e 2061 nclosing it in a │ │ │ │ │ +00008480: 20e2 8098 6465 66e2 8099 2e20 2054 6865 ...def.... The │ │ │ │ │ +00008490: 7265 2069 7320 6120 7369 6d70 6c65 2022 re is a simple " │ │ │ │ │ +000084a0: 696e 636c 7564 650a 6669 6c65 2220 6d65 include.file" me │ │ │ │ │ +000084b0: 6368 616e 6973 6d2e 2020 5468 6520 636f chanism. The co │ │ │ │ │ +000084c0: 6d6d 616e 640a 2020 696e 7075 747b 6f74 mmand. input{ot │ │ │ │ │ +000084d0: 6865 7266 696c 652e 736b 7d0a 6361 7573 herfile.sk}.caus │ │ │ │ │ +000084e0: 6573 2074 6865 2063 6f6e 7465 6e74 7320 es the contents │ │ │ │ │ +000084f0: 6f66 20e2 8098 6f74 6865 7266 696c 652e of ...otherfile. │ │ │ │ │ +00008500: 736b e280 9920 746f 2062 6520 696e 7365 sk... to be inse │ │ │ │ │ +00008510: 7274 6564 2061 7320 7468 6f75 6768 2074 rted as though t │ │ │ │ │ +00008520: 6865 7920 7765 7265 0a70 6172 7420 6f66 hey were.part of │ │ │ │ │ +00008530: 2074 6865 2063 7572 7265 6e74 2066 696c the current fil │ │ │ │ │ +00008540: 652e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2049 e...* Menu:..* I │ │ │ │ │ +00008550: 6465 6e74 6966 6965 7273 3a3a 2020 2020 dentifiers:: │ │ │ │ │ +00008560: 2020 2020 2020 2020 2020 2020 204e 616d Nam │ │ │ │ │ +00008570: 6573 2066 6f72 2074 6869 6e67 732e 0a2a es for things..* │ │ │ │ │ +00008580: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve │ │ │ │ │ +00008590: 6420 776f 7264 733a 3a20 2020 2020 204e d words:: N │ │ │ │ │ +000085a0: 616d 6573 2079 6f75 2073 686f 756c 646e ames you shouldn │ │ │ │ │ +000085b0: 2774 2075 7365 2e0a 2a20 4c69 7465 7261 't use..* Litera │ │ │ │ │ +000085c0: 6c73 3a3a 2020 2020 2020 2020 2020 2020 ls:: │ │ │ │ │ +000085d0: 2020 2020 2020 2020 436f 6e73 7461 6e74 Constant │ │ │ │ │ +000085e0: 7320 616e 6420 636f 6e73 7472 7563 746f s and constructo │ │ │ │ │ +000085f0: 7273 2e0a 2a20 4172 6974 686d 6574 6963 rs..* Arithmetic │ │ │ │ │ +00008600: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00008610: 2020 2020 5275 6c65 7320 666f 7220 6578 Rules for ex │ │ │ │ │ +00008620: 7072 6573 7369 6f6e 732e 0a2a 204f 7074 pressions..* Opt │ │ │ │ │ +00008630: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ +00008640: 2020 2020 2020 2020 2020 204d 6f64 6966 Modif │ │ │ │ │ +00008650: 7969 6e67 206f 626a 6563 7420 6170 7065 ying object appe │ │ │ │ │ +00008660: 6172 616e 6365 2e0a 0a1f 0a46 696c 653a arance.....File: │ │ │ │ │ +00008670: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00008680: 6f64 653a 2049 6465 6e74 6966 6965 7273 ode: Identifiers │ │ │ │ │ +00008690: 2c20 204e 6578 743a 204b 6579 2061 6e64 , Next: Key and │ │ │ │ │ +000086a0: 2072 6573 6572 7665 6420 776f 7264 732c reserved words, │ │ │ │ │ +000086b0: 2020 5072 6576 3a20 4c61 6e67 7561 6765 Prev: Language │ │ │ │ │ +000086c0: 2062 6173 6963 732c 2020 5570 3a20 4c61 basics, Up: La │ │ │ │ │ +000086d0: 6e67 7561 6765 2062 6173 6963 730a 0a33 nguage basics..3 │ │ │ │ │ +000086e0: 2e31 2e31 2049 6465 6e74 6966 6965 7273 .1.1 Identifiers │ │ │ │ │ +000086f0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +00008700: 2d2d 0a0a 4964 656e 7469 6669 6572 7320 --..Identifiers │ │ │ │ │ +00008710: 696e 20e2 8098 736b 6574 6368 e280 9920 in ...sketch... │ │ │ │ │ +00008720: 6172 6520 7265 6665 7265 6e63 6573 2074 are references t │ │ │ │ │ +00008730: 6f20 6561 726c 6965 722d 6465 6669 6e65 o earlier-define │ │ │ │ │ +00008740: 6420 6f70 7469 6f6e 732c 0a73 6361 6c61 d options,.scala │ │ │ │ │ +00008750: 7273 2c20 706f 696e 7473 2c20 7665 6374 rs, points, vect │ │ │ │ │ +00008760: 6f72 732c 2074 7261 6e73 666f 726d 732c ors, transforms, │ │ │ │ │ +00008770: 2064 7261 7761 626c 6573 2c20 616e 6420 drawables, and │ │ │ │ │ +00008780: 7461 6773 2e20 2044 6566 696e 6974 696f tags. Definitio │ │ │ │ │ +00008790: 6e73 0a61 7265 2065 7870 6c61 696e 6564 ns.are explained │ │ │ │ │ +000087a0: 2069 6e20 2a6e 6f74 6520 4465 6669 6e69 in *note Defini │ │ │ │ │ +000087b0: 7469 6f6e 733a 3a2e 0a0a 2020 2041 6e20 tions::... An │ │ │ │ │ +000087c0: 6964 656e 7469 6669 6572 2063 6f6e 7369 identifier consi │ │ │ │ │ +000087d0: 7374 7320 6f66 2061 206c 6561 6469 6e67 sts of a leading │ │ │ │ │ +000087e0: 206c 6574 7465 7220 666f 6c6c 6f77 6564 letter followed │ │ │ │ │ +000087f0: 2062 7920 6c65 7474 6572 732c 0a6e 756d by letters,.num │ │ │ │ │ +00008800: 6265 7273 2061 6e64 2075 6e64 6572 7363 bers and undersc │ │ │ │ │ +00008810: 6f72 6573 2e20 2054 6865 206c 6173 7420 ores. The last │ │ │ │ │ +00008820: 6368 6172 6163 7465 7220 6d61 7920 5f6e character may _n │ │ │ │ │ +00008830: 6f74 5f20 6265 2061 6e20 756e 6465 7273 ot_ be an unders │ │ │ │ │ +00008840: 636f 7265 2e0a 4b65 7977 6f72 6473 2063 core..Keywords c │ │ │ │ │ +00008850: 616e 6e6f 7420 6265 2075 7365 6420 6173 annot be used as │ │ │ │ │ +00008860: 2069 6465 6e74 6966 6965 7273 2c20 616e identifiers, an │ │ │ │ │ +00008870: 6420 7265 7365 7276 6564 2077 6f72 6473 d reserved words │ │ │ │ │ +00008880: 206f 7567 6874 2074 6f20 6265 0a61 766f ought to be.avo │ │ │ │ │ +00008890: 6964 6564 2e20 202a 4e6f 7465 204b 6579 ided. *Note Key │ │ │ │ │ +000088a0: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo │ │ │ │ │ +000088b0: 7264 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 rds::.....File: │ │ │ │ │ +000088c0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +000088d0: 6465 3a20 4b65 7920 616e 6420 7265 7365 de: Key and rese │ │ │ │ │ +000088e0: 7276 6564 2077 6f72 6473 2c20 204e 6578 rved words, Nex │ │ │ │ │ +000088f0: 743a 204c 6974 6572 616c 732c 2020 5072 t: Literals, Pr │ │ │ │ │ +00008900: 6576 3a20 4964 656e 7469 6669 6572 732c ev: Identifiers, │ │ │ │ │ +00008910: 2020 5570 3a20 4c61 6e67 7561 6765 2062 Up: Language b │ │ │ │ │ +00008920: 6173 6963 730a 0a33 2e31 2e32 204b 6579 asics..3.1.2 Key │ │ │ │ │ +00008930: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo │ │ │ │ │ +00008940: 7264 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d rds.------------ │ │ │ │ │ +00008950: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00008960: 0a0a 5468 6520 6b65 7977 6f72 6473 206f ..The keywords o │ │ │ │ │ +00008970: 6620 e280 9873 6b65 7463 68e2 8099 2061 f ...sketch... a │ │ │ │ │ +00008980: 7265 20e2 8098 7069 6374 7572 6562 6f78 re ...picturebox │ │ │ │ │ +00008990: e280 9920 e280 9863 7572 7665 e280 9920 ... ...curve... │ │ │ │ │ +000089a0: e280 9864 6566 e280 9920 e280 9864 6f74 ...def... ...dot │ │ │ │ │ +000089b0: 73e2 8099 20e2 8098 6672 616d 65e2 8099 s... ...frame... │ │ │ │ │ +000089c0: 0ae2 8098 676c 6f62 616c e280 9920 e280 ....global... .. │ │ │ │ │ +000089d0: 9869 6e70 7574 e280 9920 e280 986c 696e .input... ...lin │ │ │ │ │ +000089e0: 65e2 8099 20e2 8098 706f 6c79 676f 6ee2 e... ...polygon. │ │ │ │ │ +000089f0: 8099 20e2 8098 7075 74e2 8099 20e2 8098 .. ...put... ... │ │ │ │ │ +00008a00: 7265 7065 6174 e280 9920 e280 9873 6574 repeat... ...set │ │ │ │ │ +00008a10: e280 9920 e280 9873 7765 6570 e280 9920 ... ...sweep... │ │ │ │ │ +00008a20: 616e 640a e280 9874 6865 6ee2 8099 2e20 and....then.... │ │ │ │ │ +00008a30: 2054 6865 20e2 8098 736b 6574 6368 e280 The ...sketch.. │ │ │ │ │ +00008a40: 9920 7061 7273 6572 2077 696c 6c20 6e6f . parser will no │ │ │ │ │ +00008a50: 7465 2061 2073 796e 7461 7820 6572 726f te a syntax erro │ │ │ │ │ +00008a60: 7220 6966 2061 6e79 206f 6620 7468 6573 r if any of thes │ │ │ │ │ +00008a70: 650a 6172 6520 7573 6564 2069 6e20 706c e.are used in pl │ │ │ │ │ +00008a80: 6163 6520 6f66 2061 2070 726f 7065 7220 ace of a proper │ │ │ │ │ +00008a90: 6964 656e 7469 6669 6572 2e0a 0a20 2020 identifier... │ │ │ │ │ +00008aa0: 496e 2061 6464 6974 696f 6e2c 2074 6865 In addition, the │ │ │ │ │ +00008ab0: 7265 2061 7265 2072 6573 6572 7665 6420 re are reserved │ │ │ │ │ +00008ac0: 776f 7264 7320 7468 6174 2063 616e 2063 words that can c │ │ │ │ │ +00008ad0: 7572 7265 6e74 6c79 2062 6520 6465 6669 urrently be defi │ │ │ │ │ +00008ae0: 6e65 640a 6279 2074 6865 2075 7365 722c ned.by the user, │ │ │ │ │ +00008af0: 2062 7574 2077 6974 6820 7468 6520 7269 but with the ri │ │ │ │ │ +00008b00: 736b 2074 6861 7420 6675 7475 7265 2076 sk that future v │ │ │ │ │ +00008b10: 6572 7369 6f6e 7320 6f66 20e2 8098 736b ersions of ...sk │ │ │ │ │ +00008b20: 6574 6368 e280 9920 7769 6c6c 0a72 656a etch... will.rej │ │ │ │ │ +00008b30: 6563 7420 7468 6f73 6520 6465 6669 6e69 ect those defini │ │ │ │ │ +00008b40: 7469 6f6e 732e 2020 5468 6520 7265 7365 tions. The rese │ │ │ │ │ +00008b50: 7276 6564 2077 6f72 6473 2061 7265 20e2 rved words are . │ │ │ │ │ +00008b60: 8098 6163 6f73 e280 9920 e280 9861 7369 ..acos... ...asi │ │ │ │ │ +00008b70: 6ee2 8099 20e2 8098 6174 616e 32e2 8099 n... ...atan2... │ │ │ │ │ +00008b80: 0ae2 8098 636f 73e2 8099 20e2 8098 696e ....cos... ...in │ │ │ │ │ +00008b90: 7665 7273 65e2 8099 20e2 8098 7065 7273 verse... ...pers │ │ │ │ │ +00008ba0: 7065 6374 6976 65e2 8099 20e2 8098 7072 pective... ...pr │ │ │ │ │ +00008bb0: 6f6a 6563 74e2 8099 20e2 8098 726f 7461 oject... ...rota │ │ │ │ │ +00008bc0: 7465 e280 9920 e280 9873 6361 6c65 e280 te... ...scale.. │ │ │ │ │ +00008bd0: 9920 e280 9873 696e e280 9920 e280 9873 . ...sin... ...s │ │ │ │ │ +00008be0: 7065 6369 616c e280 990a e280 9873 7172 pecial.......sqr │ │ │ │ │ +00008bf0: 74e2 8099 20e2 8098 7472 616e 736c 6174 t... ...translat │ │ │ │ │ +00008c00: 65e2 8099 20e2 8098 756e 6974 e280 9920 e... ...unit... │ │ │ │ │ +00008c10: 616e 6420 e280 9876 6965 77e2 8099 2e0a and ...view..... │ │ │ │ │ +00008c20: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +00008c30: 696e 666f 2c20 204e 6f64 653a 204c 6974 info, Node: Lit │ │ │ │ │ +00008c40: 6572 616c 732c 2020 4e65 7874 3a20 4172 erals, Next: Ar │ │ │ │ │ +00008c50: 6974 686d 6574 6963 2c20 2050 7265 763a ithmetic, Prev: │ │ │ │ │ +00008c60: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve │ │ │ │ │ +00008c70: 6420 776f 7264 732c 2020 5570 3a20 4c61 d words, Up: La │ │ │ │ │ +00008c80: 6e67 7561 6765 2062 6173 6963 730a 0a33 nguage basics..3 │ │ │ │ │ +00008c90: 2e31 2e33 204c 6974 6572 616c 730a 2d2d .1.3 Literals.-- │ │ │ │ │ +00008ca0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4c69 ------------..Li │ │ │ │ │ +00008cb0: 7465 7261 6c73 2069 6e20 e280 9873 6b65 terals in ...ske │ │ │ │ │ +00008cc0: 7463 68e2 8099 2069 6e63 6c75 6465 2073 tch... include s │ │ │ │ │ +00008cd0: 6361 6c61 7273 2c20 706f 696e 7473 2c20 calars, points, │ │ │ │ │ +00008ce0: 7665 6374 6f72 732c 2061 6e64 2074 7261 vectors, and tra │ │ │ │ │ +00008cf0: 6e73 666f 726d 732e 0a4c 6974 6572 616c nsforms..Literal │ │ │ │ │ +00008d00: 732c 2061 6c6f 6e67 2077 6974 6820 6465 s, along with de │ │ │ │ │ +00008d10: 6669 6e65 6420 6f62 6a65 6374 2072 6566 fined object ref │ │ │ │ │ +00008d20: 6572 656e 6365 732c 2061 7265 2075 7365 erences, are use │ │ │ │ │ +00008d30: 6420 696e 2061 7269 7468 6d65 7469 630a d in arithmetic. │ │ │ │ │ +00008d40: 6578 7072 6573 7369 6f6e 732e 2020 2a4e expressions. *N │ │ │ │ │ +00008d50: 6f74 6520 4172 6974 686d 6574 6963 3a3a ote Arithmetic:: │ │ │ │ │ +00008d60: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 5363 ...* Menu:..* Sc │ │ │ │ │ +00008d70: 616c 6172 206c 6974 6572 616c 733a 3a20 alar literals:: │ │ │ │ │ +00008d80: 2020 2020 2020 2020 2020 2020 4a75 7374 Just │ │ │ │ │ +00008d90: 2074 6865 206e 756d 6265 7273 2e0a 2a20 the numbers..* │ │ │ │ │ +00008da0: 506f 696e 7420 616e 6420 7665 6374 6f72 Point and vector │ │ │ │ │ +00008db0: 206c 6974 6572 616c 733a 3a20 2020 3364 literals:: 3d │ │ │ │ │ +00008dc0: 2071 7561 6e74 6974 6965 732e 0a2a 2054 quantities..* T │ │ │ │ │ +00008dd0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ +00008de0: 733a 3a20 2020 2020 2020 2020 204d 6174 s:: Mat │ │ │ │ │ +00008df0: 7269 7820 666f 726d 2e0a 0a1f 0a46 696c rix form.....Fil │ │ │ │ │ +00008e00: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +00008e10: 204e 6f64 653a 2053 6361 6c61 7220 6c69 Node: Scalar li │ │ │ │ │ +00008e20: 7465 7261 6c73 2c20 204e 6578 743a 2050 terals, Next: P │ │ │ │ │ +00008e30: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector │ │ │ │ │ +00008e40: 6c69 7465 7261 6c73 2c20 2050 7265 763a literals, Prev: │ │ │ │ │ +00008e50: 204c 6974 6572 616c 732c 2020 5570 3a20 Literals, Up: │ │ │ │ │ +00008e60: 4c69 7465 7261 6c73 0a0a 332e 312e 332e Literals..3.1.3. │ │ │ │ │ +00008e70: 3120 5363 616c 6172 206c 6974 6572 616c 1 Scalar literal │ │ │ │ │ +00008e80: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s............... │ │ │ │ │ +00008e90: 2e2e 2e2e 2e2e 2e2e 2e0a 0a53 6361 6c61 ...........Scala │ │ │ │ │ +00008ea0: 7220 6c69 7465 7261 6c73 2061 7265 2070 r literals are p │ │ │ │ │ +00008eb0: 6f73 6974 6976 6520 666c 6f61 7469 6e67 ositive floating │ │ │ │ │ +00008ec0: 2070 6f69 6e74 206e 756d 6265 7273 2077 point numbers w │ │ │ │ │ +00008ed0: 6974 6820 7379 6e74 6178 0a61 6363 6f72 ith syntax.accor │ │ │ │ │ +00008ee0: 6469 6e67 2074 6f20 4320 636f 6e76 656e ding to C conven │ │ │ │ │ +00008ef0: 7469 6f6e 732e 2020 5468 6520 666f 6c6c tions. The foll │ │ │ │ │ +00008f00: 6f77 696e 6720 6172 6520 736f 6d65 2065 owing are some e │ │ │ │ │ +00008f10: 7861 6d70 6c65 732e 0a20 2020 2020 3020 xamples.. 0 │ │ │ │ │ +00008f20: 3130 3034 202e 3030 3120 382e 3331 3433 1004 .001 8.3143 │ │ │ │ │ +00008f30: 2033 2e20 312e 3630 452d 3139 2036 2e30 3. 1.60E-19 6.0 │ │ │ │ │ +00008f40: 3265 2b32 330a 5363 616c 6172 206c 6974 2e+23.Scalar lit │ │ │ │ │ +00008f50: 6572 616c 7320 6d61 7920 6e6f 7420 636f erals may not co │ │ │ │ │ +00008f60: 6e74 6169 6e20 656d 6265 6464 6564 2073 ntain embedded s │ │ │ │ │ +00008f70: 7061 6365 732e 0a0a 1f0a 4669 6c65 3a20 paces.....File: │ │ │ │ │ +00008f80: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +00008f90: 6465 3a20 506f 696e 7420 616e 6420 7665 de: Point and ve │ │ │ │ │ +00008fa0: 6374 6f72 206c 6974 6572 616c 732c 2020 ctor literals, │ │ │ │ │ +00008fb0: 4e65 7874 3a20 5472 616e 7366 6f72 6d20 Next: Transform │ │ │ │ │ +00008fc0: 6c69 7465 7261 6c73 2c20 2050 7265 763a literals, Prev: │ │ │ │ │ +00008fd0: 2053 6361 6c61 7220 6c69 7465 7261 6c73 Scalar literals │ │ │ │ │ +00008fe0: 2c20 2055 703a 204c 6974 6572 616c 730a , Up: Literals. │ │ │ │ │ +00008ff0: 0a33 2e31 2e33 2e32 2050 6f69 6e74 2061 .3.1.3.2 Point a │ │ │ │ │ +00009000: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera │ │ │ │ │ +00009010: 6c73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ls.............. │ │ │ │ │ 00009020: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00009030: 0a0a 506f 696e 7473 2061 6e64 2076 6563 ..Points and vec │ │ │ │ │ -00009040: 746f 7220 6c69 7465 7261 6c73 2068 6176 tor literals hav │ │ │ │ │ -00009050: 6520 7468 6573 6520 666f 726d 7320 7265 e these forms re │ │ │ │ │ -00009060: 7370 6563 7469 7665 6c79 2e0a 2020 2020 spectively.. │ │ │ │ │ -00009070: 2028 582c 592c 5a29 2020 5b58 2c59 2c5a (X,Y,Z) [X,Y,Z │ │ │ │ │ -00009080: 5d0a 4561 6368 206f 6620 7468 6520 636f ].Each of the co │ │ │ │ │ -00009090: 6d70 6f6e 656e 7473 2069 7320 6974 7365 mponents is itse │ │ │ │ │ -000090a0: 6c66 2061 2073 6361 6c61 7220 6578 7072 lf a scalar expr │ │ │ │ │ -000090b0: 6573 7369 6f6e 2e20 2054 6865 207a 2d63 ession. The z-c │ │ │ │ │ -000090c0: 6f6d 706f 6e65 6e74 730a 6172 6520 6f70 omponents.are op │ │ │ │ │ -000090d0: 7469 6f6e 616c 2061 6e64 2064 6566 6175 tional and defau │ │ │ │ │ -000090e0: 6c74 2074 6f20 7a65 726f 2e0a 0a1f 0a46 lt to zero.....F │ │ │ │ │ -000090f0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00009100: 2c20 204e 6f64 653a 2054 7261 6e73 666f , Node: Transfo │ │ │ │ │ -00009110: 726d 206c 6974 6572 616c 732c 2020 5072 rm literals, Pr │ │ │ │ │ -00009120: 6576 3a20 506f 696e 7420 616e 6420 7665 ev: Point and ve │ │ │ │ │ -00009130: 6374 6f72 206c 6974 6572 616c 732c 2020 ctor literals, │ │ │ │ │ -00009140: 5570 3a20 4c69 7465 7261 6c73 0a0a 332e Up: Literals..3. │ │ │ │ │ -00009150: 312e 332e 3320 5472 616e 7366 6f72 6d20 1.3.3 Transform │ │ │ │ │ -00009160: 6c69 7465 7261 6c73 0a2e 2e2e 2e2e 2e2e literals........ │ │ │ │ │ +00009030: 2e2e 2e2e 0a0a 506f 696e 7473 2061 6e64 ......Points and │ │ │ │ │ +00009040: 2076 6563 746f 7220 6c69 7465 7261 6c73 vector literals │ │ │ │ │ +00009050: 2068 6176 6520 7468 6573 6520 666f 726d have these form │ │ │ │ │ +00009060: 7320 7265 7370 6563 7469 7665 6c79 2e0a s respectively.. │ │ │ │ │ +00009070: 2020 2020 2028 582c 592c 5a29 2020 5b58 (X,Y,Z) [X │ │ │ │ │ +00009080: 2c59 2c5a 5d0a 4561 6368 206f 6620 7468 ,Y,Z].Each of th │ │ │ │ │ +00009090: 6520 636f 6d70 6f6e 656e 7473 2069 7320 e components is │ │ │ │ │ +000090a0: 6974 7365 6c66 2061 2073 6361 6c61 7220 itself a scalar │ │ │ │ │ +000090b0: 6578 7072 6573 7369 6f6e 2e20 2054 6865 expression. The │ │ │ │ │ +000090c0: 207a 2d63 6f6d 706f 6e65 6e74 730a 6172 z-components.ar │ │ │ │ │ +000090d0: 6520 6f70 7469 6f6e 616c 2061 6e64 2064 e optional and d │ │ │ │ │ +000090e0: 6566 6175 6c74 2074 6f20 7a65 726f 2e0a efault to zero.. │ │ │ │ │ +000090f0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +00009100: 696e 666f 2c20 204e 6f64 653a 2054 7261 info, Node: Tra │ │ │ │ │ +00009110: 6e73 666f 726d 206c 6974 6572 616c 732c nsform literals, │ │ │ │ │ +00009120: 2020 5072 6576 3a20 506f 696e 7420 616e Prev: Point an │ │ │ │ │ +00009130: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal │ │ │ │ │ +00009140: 732c 2020 5570 3a20 4c69 7465 7261 6c73 s, Up: Literals │ │ │ │ │ +00009150: 0a0a 332e 312e 332e 3320 5472 616e 7366 ..3.1.3.3 Transf │ │ │ │ │ +00009160: 6f72 6d20 6c69 7465 7261 6c73 0a2e 2e2e orm literals.... │ │ │ │ │ 00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00009180: 2e2e 2e0a 0a4d 6f73 7420 7472 616e 7366 .....Most transf │ │ │ │ │ -00009190: 6f72 6d20 6c69 7465 7261 6c73 2061 7265 orm literals are │ │ │ │ │ -000091a0: 2066 6f72 6d65 6420 6279 20e2 809c 636f formed by ...co │ │ │ │ │ -000091b0: 6e73 7472 7563 746f 7273 e280 9d2e 2020 nstructors.... │ │ │ │ │ -000091c0: 5468 6573 6520 6172 650a 7375 6d6d 6172 These are.summar │ │ │ │ │ -000091d0: 697a 6564 2069 6e20 7468 6520 666f 6c6c ized in the foll │ │ │ │ │ -000091e0: 6f77 696e 6720 7461 626c 652e 0a43 6f6e owing table..Con │ │ │ │ │ -000091f0: 7374 7275 6374 6f72 2020 2020 2020 2020 structor │ │ │ │ │ +00009180: 2e2e 2e2e 2e2e 2e0a 0a4d 6f73 7420 7472 .........Most tr │ │ │ │ │ +00009190: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ +000091a0: 2061 7265 2066 6f72 6d65 6420 6279 20e2 are formed by . │ │ │ │ │ +000091b0: 809c 636f 6e73 7472 7563 746f 7273 e280 ..constructors.. │ │ │ │ │ +000091c0: 9d2e 2020 5468 6573 6520 6172 650a 7375 .. These are.su │ │ │ │ │ +000091d0: 6d6d 6172 697a 6564 2069 6e20 7468 6520 mmarized in the │ │ │ │ │ +000091e0: 666f 6c6c 6f77 696e 6720 7461 626c 652e following table. │ │ │ │ │ +000091f0: 0a43 6f6e 7374 7275 6374 6f72 2020 2020 .Constructor │ │ │ │ │ 00009200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009210: 2050 6172 616d 2074 7970 6573 2020 2020 Param types │ │ │ │ │ -00009220: 2020 2020 2020 2044 6573 6372 6970 7469 Descripti │ │ │ │ │ -00009230: 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on.------------- │ │ │ │ │ +00009210: 2020 2020 2050 6172 616d 2074 7970 6573 Param types │ │ │ │ │ +00009220: 2020 2020 2020 2020 2020 2044 6573 6372 Descr │ │ │ │ │ +00009230: 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d iption.--------- │ │ │ │ │ 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 0ae2 --------------.. │ │ │ │ │ -000092a0: 8098 726f 7461 7465 2841 2c50 2c58 29e2 ..rotate(A,P,X). │ │ │ │ │ -000092b0: 8099 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ -000092c0: 2020 2020 2020 2073 6361 6c61 722c 706f scalar,po │ │ │ │ │ -000092d0: 696e 742c 7665 6374 6f72 2020 2052 6f74 int,vector Rot │ │ │ │ │ -000092e0: 6174 6520 e280 9841 e280 9920 6465 6772 ate ...A... degr │ │ │ │ │ -000092f0: 6565 7320 6162 6f75 7420 706f 696e 7420 ees about point │ │ │ │ │ -00009300: e280 9850 e280 9920 7769 7468 2061 7869 ...P... with axi │ │ │ │ │ -00009310: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ +00009290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +000092a0: 2d2d 0ae2 8098 726f 7461 7465 2841 2c50 --....rotate(A,P │ │ │ │ │ +000092b0: 2c58 29e2 8099 2020 2020 2020 2020 2020 ,X)... │ │ │ │ │ +000092c0: 2020 2020 2020 2020 2020 2073 6361 6c61 scala │ │ │ │ │ +000092d0: 722c 706f 696e 742c 7665 6374 6f72 2020 r,point,vector │ │ │ │ │ +000092e0: 2052 6f74 6174 6520 e280 9841 e280 9920 Rotate ...A... │ │ │ │ │ +000092f0: 6465 6772 6565 7320 6162 6f75 7420 706f degrees about po │ │ │ │ │ +00009300: 696e 7420 e280 9850 e280 9920 7769 7468 int ...P... with │ │ │ │ │ +00009310: 2061 7869 730a 2020 2020 2020 2020 2020 axis. │ │ │ │ │ 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 e280 9858 ...X │ │ │ │ │ -00009350: e280 9920 6163 636f 7264 696e 6720 746f ... according to │ │ │ │ │ -00009360: 2074 6865 2072 6967 6874 2068 616e 6420 the right hand │ │ │ │ │ -00009370: 7275 6c65 2e0a 2020 2020 2020 2020 2020 rule.. │ │ │ │ │ +00009340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009350: e280 9858 e280 9920 6163 636f 7264 696e ...X... accordin │ │ │ │ │ +00009360: 6720 746f 2074 6865 2072 6967 6874 2068 g to the right h │ │ │ │ │ +00009370: 616e 6420 7275 6c65 2e0a 2020 2020 2020 and rule.. │ │ │ │ │ 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: 2a4e 6f74 6520 5269 6768 7420 6861 6e64 *Note Right hand │ │ │ │ │ -000093c0: 2072 756c 653a 3a2e 2020 e280 9850 e280 rule::. ...P.. │ │ │ │ │ -000093d0: 9920 616e 6420 e280 9858 e280 9920 6172 . and ...X... ar │ │ │ │ │ -000093e0: 6520 626f 7468 0a20 2020 2020 2020 2020 e both. │ │ │ │ │ +000093b0: 2020 2020 2a4e 6f74 6520 5269 6768 7420 *Note Right │ │ │ │ │ +000093c0: 6861 6e64 2072 756c 653a 3a2e 2020 e280 hand rule::. .. │ │ │ │ │ +000093d0: 9850 e280 9920 616e 6420 e280 9858 e280 .P... and ...X.. │ │ │ │ │ +000093e0: 9920 6172 6520 626f 7468 0a20 2020 2020 . are 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: 206f 7074 696f 6e61 6c20 616e 6420 6465 optional and de │ │ │ │ │ -00009430: 6661 756c 7420 746f 2074 6865 206f 7269 fault to the ori │ │ │ │ │ -00009440: 6769 6e20 616e 6420 7468 650a 2020 2020 gin and the. │ │ │ │ │ +00009420: 2020 2020 206f 7074 696f 6e61 6c20 616e optional an │ │ │ │ │ +00009430: 6420 6465 6661 756c 7420 746f 2074 6865 d default to the │ │ │ │ │ +00009440: 206f 7269 6769 6e20 616e 6420 7468 650a origin 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 7a2d 6178 6973 2072 6573 z-axis res │ │ │ │ │ -00009490: 7065 6374 6976 656c 792e 0ae2 8098 7472 pectively.....tr │ │ │ │ │ -000094a0: 616e 736c 6174 6528 5829 e280 9920 2020 anslate(X)... │ │ │ │ │ -000094b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000094c0: 2020 2076 6563 746f 7220 2020 2020 2020 vector │ │ │ │ │ -000094d0: 2020 2020 2020 2020 2054 7261 6e73 6c61 Transla │ │ │ │ │ -000094e0: 7465 2062 7920 e280 9858 e280 992e 0ae2 te by ...X...... │ │ │ │ │ -000094f0: 8098 7363 616c 6528 5329 e280 9920 2020 ..scale(S)... │ │ │ │ │ -00009500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009510: 2020 2020 2020 2073 6361 6c61 7220 2020 scalar │ │ │ │ │ -00009520: 2020 2020 2020 2020 2020 2020 2053 6361 Sca │ │ │ │ │ -00009530: 6c65 2075 6e69 666f 726d 6c79 2062 7920 le uniformly by │ │ │ │ │ -00009540: 6661 6374 6f72 20e2 8098 53e2 8099 2e0a factor ...S..... │ │ │ │ │ -00009550: e280 9873 6361 6c65 2856 29e2 8099 2020 ...scale(V)... │ │ │ │ │ -00009560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009570: 2020 2020 2020 2020 7665 6374 6f72 2020 vector │ │ │ │ │ -00009580: 2020 2020 2020 2020 2020 2020 2020 5363 Sc │ │ │ │ │ -00009590: 616c 6520 616c 6f6e 6720 6561 6368 2061 ale along each a │ │ │ │ │ -000095a0: 7869 7320 6279 2063 6f6d 706f 6e65 6e74 xis by component │ │ │ │ │ -000095b0: 7320 6f66 20e2 8098 56e2 8099 2e0a e280 s of ...V....... │ │ │ │ │ -000095c0: 9870 726f 6a65 6374 2829 e280 9920 2020 .project()... │ │ │ │ │ -000095d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000095e0: 2020 2020 2020 2d2d 2020 2020 2020 2020 -- │ │ │ │ │ -000095f0: 2020 2020 2020 2020 2020 2020 5361 6d65 Same │ │ │ │ │ -00009600: 2061 7320 e280 9873 6361 6c65 285b 312c as ...scale([1, │ │ │ │ │ -00009610: 312c 305d 29e2 8099 2e0a e280 9870 726f 1,0])........pro │ │ │ │ │ -00009620: 6a65 6374 2853 29e2 8099 2020 2020 2020 ject(S)... │ │ │ │ │ +00009480: 2020 2020 2020 2020 2020 7a2d 6178 6973 z-axis │ │ │ │ │ +00009490: 2072 6573 7065 6374 6976 656c 792e 0ae2 respectively... │ │ │ │ │ +000094a0: 8098 7472 616e 736c 6174 6528 5829 e280 ..translate(X).. │ │ │ │ │ +000094b0: 9920 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +000094c0: 2020 2020 2020 2076 6563 746f 7220 2020 vector │ │ │ │ │ +000094d0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +000094e0: 6e73 6c61 7465 2062 7920 e280 9858 e280 nslate by ...X.. │ │ │ │ │ +000094f0: 992e 0ae2 8098 7363 616c 6528 5329 e280 ......scale(S).. │ │ │ │ │ +00009500: 9920 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00009510: 2020 2020 2020 2020 2020 2073 6361 6c61 scala │ │ │ │ │ +00009520: 7220 2020 2020 2020 2020 2020 2020 2020 r │ │ │ │ │ +00009530: 2053 6361 6c65 2075 6e69 666f 726d 6c79 Scale uniformly │ │ │ │ │ +00009540: 2062 7920 6661 6374 6f72 20e2 8098 53e2 by factor ...S. │ │ │ │ │ +00009550: 8099 2e0a e280 9873 6361 6c65 2856 29e2 .......scale(V). │ │ │ │ │ +00009560: 8099 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00009570: 2020 2020 2020 2020 2020 2020 7665 6374 vect │ │ │ │ │ +00009580: 6f72 2020 2020 2020 2020 2020 2020 2020 or │ │ │ │ │ +00009590: 2020 5363 616c 6520 616c 6f6e 6720 6561 Scale along ea │ │ │ │ │ +000095a0: 6368 2061 7869 7320 6279 2063 6f6d 706f ch axis by compo │ │ │ │ │ +000095b0: 6e65 6e74 7320 6f66 20e2 8098 56e2 8099 nents of ...V... │ │ │ │ │ +000095c0: 2e0a e280 9870 726f 6a65 6374 2829 e280 .....project().. │ │ │ │ │ +000095d0: 9920 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +000095e0: 2020 2020 2020 2020 2020 2d2d 2020 2020 -- │ │ │ │ │ +000095f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009600: 5361 6d65 2061 7320 e280 9873 6361 6c65 Same as ...scale │ │ │ │ │ +00009610: 285b 312c 312c 305d 29e2 8099 2e0a e280 ([1,1,0])....... │ │ │ │ │ +00009620: 9870 726f 6a65 6374 2853 29e2 8099 2020 .project(S)... │ │ │ │ │ 00009630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009640: 2020 7363 616c 6172 2020 2020 2020 2020 scalar │ │ │ │ │ -00009650: 2020 2020 2020 2020 5065 7273 7065 6374 Perspect │ │ │ │ │ -00009660: 6976 6520 7072 6f6a 6563 7469 6f6e 2077 ive projection w │ │ │ │ │ -00009670: 6974 6820 7669 6577 2063 656e 7465 7220 ith view center │ │ │ │ │ -00009680: 6174 0a20 2020 2020 2020 2020 2020 2020 at. │ │ │ │ │ +00009640: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ +00009650: 2020 2020 2020 2020 2020 2020 5065 7273 Pers │ │ │ │ │ +00009660: 7065 6374 6976 6520 7072 6f6a 6563 7469 pective projecti │ │ │ │ │ +00009670: 6f6e 2077 6974 6820 7669 6577 2063 656e on with view cen │ │ │ │ │ +00009680: 7465 7220 6174 0a20 2020 2020 2020 2020 ter at. │ │ │ │ │ 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 206f 7269 ori │ │ │ │ │ -000096c0: 6769 6e20 616e 6420 7072 6f6a 6563 7469 gin and projecti │ │ │ │ │ -000096d0: 6f6e 2070 6c61 6e65 207a 3d2d e280 9853 on plane z=-...S │ │ │ │ │ -000096e0: e280 992e 0ae2 8098 7065 7273 7065 6374 ........perspect │ │ │ │ │ -000096f0: 6976 6528 5329 e280 9920 2020 2020 2020 ive(S)... │ │ │ │ │ -00009700: 2020 2020 2020 2020 2020 2020 2073 6361 sca │ │ │ │ │ -00009710: 6c61 7220 2020 2020 2020 2020 2020 2020 lar │ │ │ │ │ -00009720: 2020 2050 6572 7370 6563 7469 7665 205f Perspective _ │ │ │ │ │ -00009730: 7472 616e 7366 6f72 6d5f 2069 6465 6e74 transform_ ident │ │ │ │ │ -00009740: 6963 616c 2074 6f0a 2020 2020 2020 2020 ical to. │ │ │ │ │ +000096b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000096c0: 206f 7269 6769 6e20 616e 6420 7072 6f6a origin and proj │ │ │ │ │ +000096d0: 6563 7469 6f6e 2070 6c61 6e65 207a 3d2d ection plane z=- │ │ │ │ │ +000096e0: e280 9853 e280 992e 0ae2 8098 7065 7273 ...S........pers │ │ │ │ │ +000096f0: 7065 6374 6976 6528 5329 e280 9920 2020 pective(S)... │ │ │ │ │ +00009700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009710: 2073 6361 6c61 7220 2020 2020 2020 2020 scalar │ │ │ │ │ +00009720: 2020 2020 2020 2050 6572 7370 6563 7469 Perspecti │ │ │ │ │ +00009730: 7665 205f 7472 616e 7366 6f72 6d5f 2069 ve _transform_ i │ │ │ │ │ +00009740: 6465 6e74 6963 616c 2074 6f0a 2020 2020 dentical 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 e280 9870 726f 6a65 6374 2853 29e2 ...project(S). │ │ │ │ │ -00009790: 8099 2065 7863 6570 7420 7468 6174 2074 .. except that t │ │ │ │ │ -000097a0: 6865 207a 2d63 6f6f 7264 696e 6174 6520 he z-coordinate │ │ │ │ │ -000097b0: 6f66 0a20 2020 2020 2020 2020 2020 2020 of. │ │ │ │ │ +00009780: 2020 2020 2020 e280 9870 726f 6a65 6374 ...project │ │ │ │ │ +00009790: 2853 29e2 8099 2065 7863 6570 7420 7468 (S)... except th │ │ │ │ │ +000097a0: 6174 2074 6865 207a 2d63 6f6f 7264 696e at the z-coordin │ │ │ │ │ +000097b0: 6174 6520 6f66 0a20 2020 2020 2020 2020 ate of. │ │ │ │ │ 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 2074 6865 the │ │ │ │ │ -000097f0: 2074 7261 6e73 666f 726d 6564 2072 6573 transformed res │ │ │ │ │ -00009800: 756c 7420 6973 20e2 809c 7073 6575 646f ult is ...pseudo │ │ │ │ │ -00009810: 6465 7074 68e2 809d 2c0a 2020 2020 2020 depth...,. │ │ │ │ │ +000097e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000097f0: 2074 6865 2074 7261 6e73 666f 726d 6564 the transformed │ │ │ │ │ +00009800: 2072 6573 756c 7420 6973 20e2 809c 7073 result is ...ps │ │ │ │ │ +00009810: 6575 646f 6465 7074 68e2 809d 2c0a 2020 eudodepth...,. │ │ │ │ │ 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 7573 6162 6c65 2062 7920 7468 usable by th │ │ │ │ │ -00009860: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface │ │ │ │ │ -00009870: 2061 6c67 6f72 6974 686d 2e0a e280 9876 algorithm.....v │ │ │ │ │ -00009880: 6965 7728 452c 442c 5529 e280 9920 2020 iew(E,D,U)... │ │ │ │ │ -00009890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000098a0: 2020 2020 706f 696e 742c 7665 6374 6f72 point,vector │ │ │ │ │ -000098b0: 2c76 6563 746f 7220 2020 5669 6577 2074 ,vector View t │ │ │ │ │ -000098c0: 7261 6e73 666f 726d 2073 696d 696c 6172 ransform similar │ │ │ │ │ -000098d0: 2074 6f20 7468 6174 206f 6620 e280 984f to that of ...O │ │ │ │ │ -000098e0: 7065 6e47 4ce2 8099 2773 2e0a 2020 2020 penGL...'s.. │ │ │ │ │ +00009850: 2020 2020 2020 2020 7573 6162 6c65 2062 usable b │ │ │ │ │ +00009860: 7920 7468 6520 6869 6464 656e 2073 7572 y the hidden sur │ │ │ │ │ +00009870: 6661 6365 2061 6c67 6f72 6974 686d 2e0a face algorithm.. │ │ │ │ │ +00009880: e280 9876 6965 7728 452c 442c 5529 e280 ...view(E,D,U).. │ │ │ │ │ +00009890: 9920 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +000098a0: 2020 2020 2020 2020 706f 696e 742c 7665 point,ve │ │ │ │ │ +000098b0: 6374 6f72 2c76 6563 746f 7220 2020 5669 ctor,vector Vi │ │ │ │ │ +000098c0: 6577 2074 7261 6e73 666f 726d 2073 696d ew transform sim │ │ │ │ │ +000098d0: 696c 6172 2074 6f20 7468 6174 206f 6620 ilar to that of │ │ │ │ │ +000098e0: e280 984f 7065 6e47 4ce2 8099 2773 2e0a ...OpenGL...'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 5468 6520 5f65 7965 2070 The _eye p │ │ │ │ │ -00009930: 6f69 6e74 5f20 e280 9845 e280 9920 6973 oint_ ...E... is │ │ │ │ │ -00009940: 2074 7261 6e73 6c61 7465 6420 746f 2074 translated to t │ │ │ │ │ -00009950: 6865 0a20 2020 2020 2020 2020 2020 2020 he. │ │ │ │ │ +00009920: 2020 2020 2020 2020 2020 5468 6520 5f65 The _e │ │ │ │ │ +00009930: 7965 2070 6f69 6e74 5f20 e280 9845 e280 ye point_ ...E.. │ │ │ │ │ +00009940: 9920 6973 2074 7261 6e73 6c61 7465 6420 . is translated │ │ │ │ │ +00009950: 746f 2074 6865 0a20 2020 2020 2020 2020 to the. │ │ │ │ │ 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 206f 7269 ori │ │ │ │ │ -00009990: 6769 6e20 7768 696c 6520 6120 726f 7461 gin while a rota │ │ │ │ │ -000099a0: 7469 6f6e 2069 7320 616c 736f 2061 7070 tion is also app │ │ │ │ │ -000099b0: 6c69 6564 2074 6861 740a 2020 2020 2020 lied that. │ │ │ │ │ +00009980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009990: 206f 7269 6769 6e20 7768 696c 6520 6120 origin while a │ │ │ │ │ +000099a0: 726f 7461 7469 6f6e 2069 7320 616c 736f rotation is also │ │ │ │ │ +000099b0: 2061 7070 6c69 6564 2074 6861 740a 2020 applied 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 6d61 6b65 7320 7468 6520 5f76 makes the _v │ │ │ │ │ -00009a00: 6965 7720 6469 7265 6374 696f 6e20 7665 iew direction ve │ │ │ │ │ -00009a10: 6374 6f72 5f20 e280 9844 e280 9920 616e ctor_ ...D... an │ │ │ │ │ -00009a20: 6420 7468 650a 2020 2020 2020 2020 2020 d the. │ │ │ │ │ +000099f0: 2020 2020 2020 2020 6d61 6b65 7320 7468 makes th │ │ │ │ │ +00009a00: 6520 5f76 6965 7720 6469 7265 6374 696f e _view directio │ │ │ │ │ +00009a10: 6e20 7665 6374 6f72 5f20 e280 9844 e280 n vector_ ...D.. │ │ │ │ │ +00009a20: 9920 616e 6420 7468 650a 2020 2020 2020 . and 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: 5f76 6965 7720 2275 7022 2076 6563 746f _view "up" vecto │ │ │ │ │ -00009a70: 725f 20e2 8098 55e2 8099 2070 6f69 6e74 r_ ...U... point │ │ │ │ │ -00009a80: 2069 6e20 7468 6520 6e65 6761 7469 7665 in the negative │ │ │ │ │ -00009a90: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00009a60: 2020 2020 5f76 6965 7720 2275 7022 2076 _view "up" v │ │ │ │ │ +00009a70: 6563 746f 725f 20e2 8098 55e2 8099 2070 ector_ ...U... p │ │ │ │ │ +00009a80: 6f69 6e74 2069 6e20 7468 6520 6e65 6761 oint in the nega │ │ │ │ │ +00009a90: 7469 7665 0a20 2020 2020 2020 2020 2020 tive. │ │ │ │ │ 00009aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009ab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009ac0: 2020 2020 2020 2020 2020 207a 2d20 616e z- an │ │ │ │ │ -00009ad0: 6420 7468 6520 792d 6469 7265 6374 696f d the y-directio │ │ │ │ │ -00009ae0: 6e73 2072 6573 7065 6374 6976 656c 792e ns respectively. │ │ │ │ │ -00009af0: 2020 4966 20e2 8098 55e2 8099 0a20 2020 If ...U.... │ │ │ │ │ -00009b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009ac0: 2020 2020 2020 2020 2020 2020 2020 207a z │ │ │ │ │ +00009ad0: 2d20 616e 6420 7468 6520 792d 6469 7265 - and the y-dire │ │ │ │ │ +00009ae0: 6374 696f 6e73 2072 6573 7065 6374 6976 ctions respectiv │ │ │ │ │ +00009af0: 656c 792e 2020 4966 20e2 8098 55e2 8099 ely. If ...U... │ │ │ │ │ +00009b00: 0a20 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 2069 7320 6f6d 6974 7465 is omitte │ │ │ │ │ -00009b40: 642c 2069 7420 6465 6661 756c 7473 2074 d, it defaults t │ │ │ │ │ -00009b50: 6f20 5b30 2c31 2c30 5d2e 2020 5768 656e o [0,1,0]. When │ │ │ │ │ -00009b60: 20e2 8098 55e2 8099 0a20 2020 2020 2020 ...U.... │ │ │ │ │ +00009b30: 2020 2020 2020 2020 2020 2069 7320 6f6d is om │ │ │ │ │ +00009b40: 6974 7465 642c 2069 7420 6465 6661 756c itted, it defaul │ │ │ │ │ +00009b50: 7473 2074 6f20 5b30 2c31 2c30 5d2e 2020 ts to [0,1,0]. │ │ │ │ │ +00009b60: 5768 656e 20e2 8098 55e2 8099 0a20 2020 When ...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 2069 7320 6f6d 6974 7465 642c 20e2 is omitted, . │ │ │ │ │ -00009bb0: 8098 44e2 8099 206d 6179 2062 6520 616c ..D... may be al │ │ │ │ │ -00009bc0: 736f 3b20 6974 2064 6566 6175 6c74 7320 so; it defaults │ │ │ │ │ -00009bd0: 746f 0a20 2020 2020 2020 2020 2020 2020 to. │ │ │ │ │ +00009ba0: 2020 2020 2020 2069 7320 6f6d 6974 7465 is omitte │ │ │ │ │ +00009bb0: 642c 20e2 8098 44e2 8099 206d 6179 2062 d, ...D... may b │ │ │ │ │ +00009bc0: 6520 616c 736f 3b20 6974 2064 6566 6175 e also; it defau │ │ │ │ │ +00009bd0: 6c74 7320 746f 0a20 2020 2020 2020 2020 lts to. │ │ │ │ │ 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 20e2 8098 ... │ │ │ │ │ -00009c10: 2830 2c30 2c30 292d 2845 29e2 8099 2c20 (0,0,0)-(E)..., │ │ │ │ │ -00009c20: 6120 7665 6374 6f72 2070 6f69 6e74 696e a vector pointin │ │ │ │ │ -00009c30: 6720 6672 6f6d 2074 6865 2065 7965 0a20 g from the eye. │ │ │ │ │ -00009c40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009c10: 20e2 8098 2830 2c30 2c30 292d 2845 29e2 ...(0,0,0)-(E). │ │ │ │ │ +00009c20: 8099 2c20 6120 7665 6374 6f72 2070 6f69 .., a vector poi │ │ │ │ │ +00009c30: 6e74 696e 6720 6672 6f6d 2074 6865 2065 nting from the e │ │ │ │ │ +00009c40: 7965 0a20 2020 2020 2020 2020 2020 2020 ye. │ │ │ │ │ 00009c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009c70: 2020 2020 2020 2020 2074 6f77 6172 6420 toward │ │ │ │ │ -00009c80: 7468 6520 6f72 6967 696e 2e0a e280 9876 the origin.....v │ │ │ │ │ -00009c90: 6965 7728 452c 4c2c 5529 e280 9920 2020 iew(E,L,U)... │ │ │ │ │ -00009ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009cb0: 2020 2020 706f 696e 742c 706f 696e 742c point,point, │ │ │ │ │ -00009cc0: 7665 6374 6f72 2020 2020 416e 2061 6c74 vector An alt │ │ │ │ │ -00009cd0: 6572 6e61 7465 2066 6f72 6d20 6f66 20e2 ernate form of . │ │ │ │ │ -00009ce0: 8098 7669 6577 2845 2c44 2c55 29e2 8099 ..view(E,D,U)... │ │ │ │ │ -00009cf0: 2061 626f 7665 2077 6865 7265 0a20 2020 above where. │ │ │ │ │ -00009d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009c70: 2020 2020 2020 2020 2020 2020 2074 6f77 tow │ │ │ │ │ +00009c80: 6172 6420 7468 6520 6f72 6967 696e 2e0a ard the origin.. │ │ │ │ │ +00009c90: e280 9876 6965 7728 452c 4c2c 5529 e280 ...view(E,L,U).. │ │ │ │ │ +00009ca0: 9920 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00009cb0: 2020 2020 2020 2020 706f 696e 742c 706f point,po │ │ │ │ │ +00009cc0: 696e 742c 7665 6374 6f72 2020 2020 416e int,vector An │ │ │ │ │ +00009cd0: 2061 6c74 6572 6e61 7465 2066 6f72 6d20 alternate form │ │ │ │ │ +00009ce0: 6f66 20e2 8098 7669 6577 2845 2c44 2c55 of ...view(E,D,U │ │ │ │ │ +00009cf0: 29e2 8099 2061 626f 7665 2077 6865 7265 )... above where │ │ │ │ │ +00009d00: 0a20 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 2074 6865 2076 6965 7720 the view │ │ │ │ │ -00009d40: 6469 7265 6374 696f 6e20 7061 7261 6d65 direction parame │ │ │ │ │ -00009d50: 7465 7220 e280 9844 e280 9920 6973 2072 ter ...D... is r │ │ │ │ │ -00009d60: 6570 6c61 6365 640a 2020 2020 2020 2020 eplaced. │ │ │ │ │ +00009d30: 2020 2020 2020 2020 2020 2074 6865 2076 the v │ │ │ │ │ +00009d40: 6965 7720 6469 7265 6374 696f 6e20 7061 iew direction pa │ │ │ │ │ +00009d50: 7261 6d65 7465 7220 e280 9844 e280 9920 rameter ...D... │ │ │ │ │ +00009d60: 6973 2072 6570 6c61 6365 640a 2020 2020 is replaced. │ │ │ │ │ 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 7769 7468 2061 2022 6c6f 6f6b 2061 with a "look a │ │ │ │ │ -00009db0: 7422 2070 6f69 6e74 20e2 8098 4ce2 8099 t" point ...L... │ │ │ │ │ -00009dc0: 2c20 692e 652e 2c20 6120 706f 696e 740a , i.e., a point. │ │ │ │ │ -00009dd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009da0: 2020 2020 2020 7769 7468 2061 2022 6c6f with a "lo │ │ │ │ │ +00009db0: 6f6b 2061 7422 2070 6f69 6e74 20e2 8098 ok at" point ... │ │ │ │ │ +00009dc0: 4ce2 8099 2c20 692e 652e 2c20 6120 706f L..., i.e., a po │ │ │ │ │ +00009dd0: 696e 740a 2020 2020 2020 2020 2020 2020 int. │ │ │ │ │ 00009de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009e00: 2020 2020 2020 2020 2020 7768 6572 6520 where │ │ │ │ │ -00009e10: 7468 6520 7669 6577 6572 2069 7320 666f the viewer is fo │ │ │ │ │ -00009e20: 6375 7369 6e67 2068 6572 2061 7474 656e cusing her atten │ │ │ │ │ -00009e30: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. │ │ │ │ │ +00009e00: 2020 2020 2020 2020 2020 2020 2020 7768 wh │ │ │ │ │ +00009e10: 6572 6520 7468 6520 7669 6577 6572 2069 ere the viewer i │ │ │ │ │ +00009e20: 7320 666f 6375 7369 6e67 2068 6572 2061 s focusing her a │ │ │ │ │ +00009e30: 7474 656e 7469 6f6e 2e0a 2020 2020 2020 ttention.. │ │ │ │ │ 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: 5468 6973 2066 6f72 6d20 6f66 2076 6965 This form of vie │ │ │ │ │ -00009e80: 7720 6973 2065 7175 6976 616c 656e 7420 w is equivalent │ │ │ │ │ -00009e90: 746f 20e2 8098 7669 6577 2845 2c0a 2020 to ...view(E,. │ │ │ │ │ -00009ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009e70: 2020 2020 5468 6973 2066 6f72 6d20 6f66 This form of │ │ │ │ │ +00009e80: 2076 6965 7720 6973 2065 7175 6976 616c view is equival │ │ │ │ │ +00009e90: 656e 7420 746f 20e2 8098 7669 6577 2845 ent to ...view(E │ │ │ │ │ +00009ea0: 2c0a 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 284c 292d 2845 292c (L)-(E), │ │ │ │ │ -00009ee0: 2055 29e2 8099 2c20 7768 6572 6520 e280 U)..., where .. │ │ │ │ │ -00009ef0: 9828 4c29 2d28 4529 e280 9920 6973 2061 .(L)-(E)... is a │ │ │ │ │ -00009f00: 2064 6972 6563 7469 6f6e 0a20 2020 2020 direction. │ │ │ │ │ +00009ed0: 2020 2020 2020 2020 2020 2020 284c 292d (L)- │ │ │ │ │ +00009ee0: 2845 292c 2055 29e2 8099 2c20 7768 6572 (E), U)..., wher │ │ │ │ │ +00009ef0: 6520 e280 9828 4c29 2d28 4529 e280 9920 e ...(L)-(E)... │ │ │ │ │ +00009f00: 6973 2061 2064 6972 6563 7469 6f6e 0a20 is a direction. │ │ │ │ │ 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 2076 6563 746f 722e 2020 e280 vector. .. │ │ │ │ │ -00009f50: 9855 e280 9920 6973 206f 7074 696f 6e61 .U... is optiona │ │ │ │ │ -00009f60: 6c20 616e 6420 6465 6661 756c 7473 2074 l and defaults t │ │ │ │ │ -00009f70: 6f0a 2020 2020 2020 2020 2020 2020 2020 o. │ │ │ │ │ +00009f40: 2020 2020 2020 2020 2076 6563 746f 722e vector. │ │ │ │ │ +00009f50: 2020 e280 9855 e280 9920 6973 206f 7074 ...U... is opt │ │ │ │ │ +00009f60: 696f 6e61 6c20 616e 6420 6465 6661 756c ional and defaul │ │ │ │ │ +00009f70: 7473 2074 6f0a 2020 2020 2020 2020 2020 ts to. │ │ │ │ │ 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 5b30 2c31 [0,1 │ │ │ │ │ -00009fb0: 2c30 5d2e 0ae2 8098 5b5b 615f 7b31 317d ,0].....[[a_{11} │ │ │ │ │ -00009fc0: 2c61 5f7b 3132 7d2c 615f 7b31 337d 2c61 ,a_{12},a_{13},a │ │ │ │ │ -00009fd0: 5f7b 3134 7d5d e280 9920 2020 2031 3620 _{14}]... 16 │ │ │ │ │ -00009fe0: 7363 616c 6172 7320 2020 2020 2020 2020 scalars │ │ │ │ │ -00009ff0: 2020 2044 6972 6563 7420 7472 616e 7366 Direct transf │ │ │ │ │ -0000a000: 6f72 6d20 6d61 7472 6978 2064 6566 696e orm matrix defin │ │ │ │ │ -0000a010: 6974 696f 6e2e 2020 4561 6368 206f 660a ition. Each of. │ │ │ │ │ -0000a020: e280 9820 5b61 5f7b 3231 7d2c 615f 7b32 ... [a_{21},a_{2 │ │ │ │ │ -0000a030: 327d 2c61 5f7b 3233 7d2c 615f 7b32 347d 2},a_{23},a_{24} │ │ │ │ │ -0000a040: 5de2 8099 2020 2020 2020 2020 2020 2020 ]... │ │ │ │ │ -0000a050: 2020 2020 2020 2020 2020 2020 2020 7468 th │ │ │ │ │ -0000a060: 6520 615f 7b69 6a7d 2069 7320 6120 7363 e a_{ij} is a sc │ │ │ │ │ -0000a070: 616c 6172 2065 7870 7265 7373 696f 6e2e alar expression. │ │ │ │ │ -0000a080: 2020 5365 6520 7465 7874 0ae2 8098 205b See text.... [ │ │ │ │ │ -0000a090: 615f 7b33 317d 2c61 5f7b 3332 7d2c 615f a_{31},a_{32},a_ │ │ │ │ │ -0000a0a0: 7b33 337d 2c61 5f7b 3334 7d5d e280 9920 {33},a_{34}]... │ │ │ │ │ -0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000a0c0: 2020 2020 2020 2020 2066 6f72 2064 6574 for det │ │ │ │ │ -0000a0d0: 6169 6c73 2e0a e280 9820 5b61 5f7b 3431 ails..... [a_{41 │ │ │ │ │ -0000a0e0: 7d2c 615f 7b34 327d 2c61 5f7b 3433 7d2c },a_{42},a_{43}, │ │ │ │ │ -0000a0f0: 615f 7b34 347d 5d5d e280 990a 5468 6520 a_{44}]]....The │ │ │ │ │ -0000a100: e280 9870 726f 6a65 6374 e280 9920 636f ...project... co │ │ │ │ │ -0000a110: 6e73 7472 7563 746f 7220 6973 206e 6f74 nstructor is not │ │ │ │ │ -0000a120: 2067 656e 6572 616c 6c79 2075 7365 6675 generally usefu │ │ │ │ │ -0000a130: 6c20 6265 6361 7573 6520 6974 2064 6566 l because it def │ │ │ │ │ -0000a140: 6561 7473 0a68 6964 6465 6e20 7375 7266 eats.hidden surf │ │ │ │ │ -0000a150: 6163 6520 7265 6d6f 7661 6c20 6279 2063 ace removal by c │ │ │ │ │ -0000a160: 6f6c 6c61 7073 696e 6720 7468 6520 7363 ollapsing the sc │ │ │ │ │ -0000a170: 656e 6520 6f6e 746f 2061 2073 696e 676c ene onto a singl │ │ │ │ │ -0000a180: 6520 706c 616e 652e 2020 4974 0a69 7320 e plane. It.is │ │ │ │ │ -0000a190: 6120 7370 6563 6961 6c20 7075 7270 6f73 a special purpos │ │ │ │ │ -0000a1a0: 6520 7472 616e 7366 6f72 6d20 666f 7220 e transform for │ │ │ │ │ -0000a1b0: 6472 6177 696e 6720 7069 6374 7572 6573 drawing pictures │ │ │ │ │ -0000a1c0: 206f 6620 7363 656e 6573 2077 6865 7265 of scenes where │ │ │ │ │ -0000a1d0: 0a74 6872 6565 2d64 696d 656e 7369 6f6e .three-dimension │ │ │ │ │ -0000a1e0: 616c 206f 626a 6563 7473 2061 7265 2062 al objects are b │ │ │ │ │ -0000a1f0: 6569 6e67 2070 726f 6a65 6374 6564 206f eing projected o │ │ │ │ │ -0000a200: 6e74 6f20 706c 616e 6573 2e20 2053 6565 nto planes. See │ │ │ │ │ -0000a210: 2c20 666f 720a 6578 616d 706c 652c 202a , for.example, * │ │ │ │ │ -0000a220: 6e6f 7465 204f 7665 7276 6965 773a 3a2e note Overview::. │ │ │ │ │ -0000a230: 0a0a 2020 2054 6865 2064 6972 6563 7420 .. The direct │ │ │ │ │ -0000a240: 7472 616e 7366 6f72 6d20 636f 6e73 7472 transform constr │ │ │ │ │ -0000a250: 7563 746f 7220 616c 6c6f 7773 2064 6972 uctor allows dir │ │ │ │ │ -0000a260: 6563 7420 656e 7472 7920 6f66 2061 2034 ect entry of a 4 │ │ │ │ │ -0000a270: 7834 0a74 7261 6e73 666f 726d 6174 696f x4.transformatio │ │ │ │ │ -0000a280: 6e20 6d61 7472 6978 2e20 204d 6f73 7420 n matrix. Most │ │ │ │ │ -0000a290: 3364 2067 7261 7068 6963 7320 7379 7374 3d graphics syst │ │ │ │ │ -0000a2a0: 656d 732c 2069 6e63 6c75 6469 6e67 20e2 ems, including . │ │ │ │ │ -0000a2b0: 8098 736b 6574 6368 e280 992c 0a75 7365 ..sketch...,.use │ │ │ │ │ -0000a2c0: 2034 2d64 696d 656e 7369 6f6e 616c 2068 4-dimensional h │ │ │ │ │ -0000a2d0: 6f6d 6f67 656e 656f 7573 2063 6f6f 7264 omogeneous coord │ │ │ │ │ -0000a2e0: 696e 6174 6573 2069 6e74 6572 6e61 6c6c inates internall │ │ │ │ │ -0000a2f0: 792e 2020 5468 6573 6520 6172 650a 7472 y. These are.tr │ │ │ │ │ -0000a300: 616e 7366 6f72 6d65 6420 6279 206d 756c ansformed by mul │ │ │ │ │ -0000a310: 7469 706c 6963 6174 696f 6e20 7769 7468 tiplication with │ │ │ │ │ -0000a320: 2034 7834 206d 6174 7269 6365 732e 2020 4x4 matrices. │ │ │ │ │ -0000a330: 5468 6520 6275 696c 742d 696e 0a63 6f6e The built-in.con │ │ │ │ │ -0000a340: 7374 7275 6374 6f72 7320 28e2 8098 726f structors (...ro │ │ │ │ │ -0000a350: 7461 7465 e280 992c 20e2 8098 7363 616c tate..., ...scal │ │ │ │ │ -0000a360: 65e2 8099 2c20 6574 632e 2920 2061 7265 e..., etc.) are │ │ │ │ │ -0000a370: 2061 6c6c 2074 7261 6e73 6c61 7465 6420 all translated │ │ │ │ │ -0000a380: 696e 7465 726e 616c 6c79 2074 6f0a 7375 internally to.su │ │ │ │ │ -0000a390: 6368 2034 7834 206d 6174 7269 6365 732e ch 4x4 matrices. │ │ │ │ │ -0000a3a0: 2020 466f 7220 6d6f 7265 2069 6e66 6f72 For more infor │ │ │ │ │ -0000a3b0: 6d61 7469 6f6e 206f 6e20 686f 6d6f 6765 mation on homoge │ │ │ │ │ -0000a3c0: 6e65 6f75 7320 636f 6f72 6469 6e61 7465 neous coordinate │ │ │ │ │ -0000a3d0: 0a74 7261 6e73 666f 726d 6174 696f 6e73 .transformations │ │ │ │ │ -0000a3e0: 2c20 7365 6520 616e 7920 676f 6f64 2063 , see any good c │ │ │ │ │ -0000a3f0: 6f6d 7075 7465 7220 6772 6170 6869 6373 omputer graphics │ │ │ │ │ -0000a400: 2074 6578 7462 6f6f 6b2e 2020 5468 6520 textbook. The │ │ │ │ │ -0000a410: 6469 7265 6374 0a74 7261 6e73 666f 726d direct.transform │ │ │ │ │ -0000a420: 2066 6561 7475 7265 206f 6620 e280 9873 feature of ...s │ │ │ │ │ -0000a430: 6b65 7463 68e2 8099 2061 6c6c 6f77 7320 ketch... allows │ │ │ │ │ -0000a440: 796f 7520 746f 2065 6e74 6572 2061 206d you to enter a m │ │ │ │ │ -0000a450: 6174 7269 7820 6f66 2079 6f75 7220 6f77 atrix of your ow │ │ │ │ │ -0000a460: 6e0a 6368 6f69 6365 2e20 2054 6865 7265 n.choice. There │ │ │ │ │ -0000a470: 2061 7265 206e 6f74 206d 616e 7920 6361 are not many ca │ │ │ │ │ -0000a480: 7365 7320 7768 6572 6520 7468 6973 2069 ses where this i │ │ │ │ │ -0000a490: 7320 7573 6566 756c 2c20 6275 7420 6966 s useful, but if │ │ │ │ │ -0000a4a0: 2079 6f75 2064 6f0a 6e65 6564 2069 742c you do.need it, │ │ │ │ │ -0000a4b0: 2079 6f75 206e 6565 6420 6974 2062 6164 you need it bad │ │ │ │ │ -0000a4c0: 6c79 210a 0a1f 0a46 696c 653a 2073 6b65 ly!....File: ske │ │ │ │ │ -0000a4d0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -0000a4e0: 2041 7269 7468 6d65 7469 632c 2020 4e65 Arithmetic, Ne │ │ │ │ │ -0000a4f0: 7874 3a20 4f70 7469 6f6e 732c 2020 5072 xt: Options, Pr │ │ │ │ │ -0000a500: 6576 3a20 4c69 7465 7261 6c73 2c20 2055 ev: Literals, U │ │ │ │ │ -0000a510: 703a 204c 616e 6775 6167 6520 6261 7369 p: Language basi │ │ │ │ │ -0000a520: 6373 0a0a 332e 312e 3420 4172 6974 686d cs..3.1.4 Arithm │ │ │ │ │ -0000a530: 6574 6963 2065 7870 7265 7373 696f 6e73 etic expressions │ │ │ │ │ -0000a540: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ -0000a550: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 -------------..A │ │ │ │ │ -0000a560: 7269 7468 6d65 7469 6320 6578 7072 6573 rithmetic expres │ │ │ │ │ -0000a570: 7369 6f6e 7320 6f76 6572 20e2 8098 736b sions over ...sk │ │ │ │ │ -0000a580: 6574 6368 e280 9920 6c69 7465 7261 6c73 etch... literals │ │ │ │ │ -0000a590: 2061 6e64 2064 6566 696e 6564 2069 6465 and defined ide │ │ │ │ │ -0000a5a0: 6e74 6966 6965 7273 0a61 7265 2073 756d ntifiers.are sum │ │ │ │ │ -0000a5b0: 6d61 7269 7a65 6420 696e 2074 6865 2066 marized in the f │ │ │ │ │ -0000a5c0: 6f6c 6c6f 7769 6e67 2074 6162 6c65 732e ollowing tables. │ │ │ │ │ -0000a5d0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2054 776f ..* Menu:..* Two │ │ │ │ │ -0000a5e0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ -0000a5f0: 2920 666f 726d 733a 3a20 2041 206f 7020 ) forms:: A op │ │ │ │ │ -0000a600: 420a 2a20 556e 6172 7920 666f 726d 733a B.* Unary forms: │ │ │ │ │ -0000a610: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000a620: 2020 6f70 2041 2028 616e 6420 6f74 6865 op A (and othe │ │ │ │ │ -0000a630: 7273 290a 0a1f 0a46 696c 653a 2073 6b65 rs)....File: ske │ │ │ │ │ -0000a640: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -0000a650: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ -0000a660: 6e61 7279 2920 666f 726d 732c 2020 4e65 nary) forms, Ne │ │ │ │ │ -0000a670: 7874 3a20 556e 6172 7920 666f 726d 732c xt: Unary forms, │ │ │ │ │ -0000a680: 2020 5072 6576 3a20 4172 6974 686d 6574 Prev: Arithmet │ │ │ │ │ -0000a690: 6963 2c20 2055 703a 2041 7269 7468 6d65 ic, Up: Arithme │ │ │ │ │ -0000a6a0: 7469 630a 0a33 2e31 2e34 2e31 2054 776f tic..3.1.4.1 Two │ │ │ │ │ -0000a6b0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ -0000a6c0: 2920 666f 726d 7320 616e 6420 7072 6563 ) forms and prec │ │ │ │ │ -0000a6d0: 6564 656e 6365 0a2e 2e2e 2e2e 2e2e 2e2e edence.......... │ │ │ │ │ +00009fa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009fb0: 5b30 2c31 2c30 5d2e 0ae2 8098 5b5b 615f [0,1,0].....[[a_ │ │ │ │ │ +00009fc0: 7b31 317d 2c61 5f7b 3132 7d2c 615f 7b31 {11},a_{12},a_{1 │ │ │ │ │ +00009fd0: 337d 2c61 5f7b 3134 7d5d e280 9920 2020 3},a_{14}]... │ │ │ │ │ +00009fe0: 2031 3620 7363 616c 6172 7320 2020 2020 16 scalars │ │ │ │ │ +00009ff0: 2020 2020 2020 2044 6972 6563 7420 7472 Direct tr │ │ │ │ │ +0000a000: 616e 7366 6f72 6d20 6d61 7472 6978 2064 ansform matrix d │ │ │ │ │ +0000a010: 6566 696e 6974 696f 6e2e 2020 4561 6368 efinition. Each │ │ │ │ │ +0000a020: 206f 660a e280 9820 5b61 5f7b 3231 7d2c of.... [a_{21}, │ │ │ │ │ +0000a030: 615f 7b32 327d 2c61 5f7b 3233 7d2c 615f a_{22},a_{23},a_ │ │ │ │ │ +0000a040: 7b32 347d 5de2 8099 2020 2020 2020 2020 {24}]... │ │ │ │ │ +0000a050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a060: 2020 7468 6520 615f 7b69 6a7d 2069 7320 the a_{ij} is │ │ │ │ │ +0000a070: 6120 7363 616c 6172 2065 7870 7265 7373 a scalar express │ │ │ │ │ +0000a080: 696f 6e2e 2020 5365 6520 7465 7874 0ae2 ion. See text.. │ │ │ │ │ +0000a090: 8098 205b 615f 7b33 317d 2c61 5f7b 3332 .. [a_{31},a_{32 │ │ │ │ │ +0000a0a0: 7d2c 615f 7b33 337d 2c61 5f7b 3334 7d5d },a_{33},a_{34}] │ │ │ │ │ +0000a0b0: e280 9920 2020 2020 2020 2020 2020 2020 ... │ │ │ │ │ +0000a0c0: 2020 2020 2020 2020 2020 2020 2066 6f72 for │ │ │ │ │ +0000a0d0: 2064 6574 6169 6c73 2e0a e280 9820 5b61 details..... [a │ │ │ │ │ +0000a0e0: 5f7b 3431 7d2c 615f 7b34 327d 2c61 5f7b _{41},a_{42},a_{ │ │ │ │ │ +0000a0f0: 3433 7d2c 615f 7b34 347d 5d5d e280 990a 43},a_{44}]].... │ │ │ │ │ +0000a100: 5468 6520 e280 9870 726f 6a65 6374 e280 The ...project.. │ │ │ │ │ +0000a110: 9920 636f 6e73 7472 7563 746f 7220 6973 . constructor is │ │ │ │ │ +0000a120: 206e 6f74 2067 656e 6572 616c 6c79 2075 not generally u │ │ │ │ │ +0000a130: 7365 6675 6c20 6265 6361 7573 6520 6974 seful because it │ │ │ │ │ +0000a140: 2064 6566 6561 7473 0a68 6964 6465 6e20 defeats.hidden │ │ │ │ │ +0000a150: 7375 7266 6163 6520 7265 6d6f 7661 6c20 surface removal │ │ │ │ │ +0000a160: 6279 2063 6f6c 6c61 7073 696e 6720 7468 by collapsing th │ │ │ │ │ +0000a170: 6520 7363 656e 6520 6f6e 746f 2061 2073 e scene onto a s │ │ │ │ │ +0000a180: 696e 676c 6520 706c 616e 652e 2020 4974 ingle plane. It │ │ │ │ │ +0000a190: 0a69 7320 6120 7370 6563 6961 6c20 7075 .is a special pu │ │ │ │ │ +0000a1a0: 7270 6f73 6520 7472 616e 7366 6f72 6d20 rpose transform │ │ │ │ │ +0000a1b0: 666f 7220 6472 6177 696e 6720 7069 6374 for drawing pict │ │ │ │ │ +0000a1c0: 7572 6573 206f 6620 7363 656e 6573 2077 ures of scenes w │ │ │ │ │ +0000a1d0: 6865 7265 0a74 6872 6565 2d64 696d 656e here.three-dimen │ │ │ │ │ +0000a1e0: 7369 6f6e 616c 206f 626a 6563 7473 2061 sional objects a │ │ │ │ │ +0000a1f0: 7265 2062 6569 6e67 2070 726f 6a65 6374 re being project │ │ │ │ │ +0000a200: 6564 206f 6e74 6f20 706c 616e 6573 2e20 ed onto planes. │ │ │ │ │ +0000a210: 2053 6565 2c20 666f 720a 6578 616d 706c See, for.exampl │ │ │ │ │ +0000a220: 652c 202a 6e6f 7465 204f 7665 7276 6965 e, *note Overvie │ │ │ │ │ +0000a230: 773a 3a2e 0a0a 2020 2054 6865 2064 6972 w::... The dir │ │ │ │ │ +0000a240: 6563 7420 7472 616e 7366 6f72 6d20 636f ect transform co │ │ │ │ │ +0000a250: 6e73 7472 7563 746f 7220 616c 6c6f 7773 nstructor allows │ │ │ │ │ +0000a260: 2064 6972 6563 7420 656e 7472 7920 6f66 direct entry of │ │ │ │ │ +0000a270: 2061 2034 7834 0a74 7261 6e73 666f 726d a 4x4.transform │ │ │ │ │ +0000a280: 6174 696f 6e20 6d61 7472 6978 2e20 204d ation matrix. M │ │ │ │ │ +0000a290: 6f73 7420 3364 2067 7261 7068 6963 7320 ost 3d graphics │ │ │ │ │ +0000a2a0: 7379 7374 656d 732c 2069 6e63 6c75 6469 systems, includi │ │ │ │ │ +0000a2b0: 6e67 20e2 8098 736b 6574 6368 e280 992c ng ...sketch..., │ │ │ │ │ +0000a2c0: 0a75 7365 2034 2d64 696d 656e 7369 6f6e .use 4-dimension │ │ │ │ │ +0000a2d0: 616c 2068 6f6d 6f67 656e 656f 7573 2063 al homogeneous c │ │ │ │ │ +0000a2e0: 6f6f 7264 696e 6174 6573 2069 6e74 6572 oordinates inter │ │ │ │ │ +0000a2f0: 6e61 6c6c 792e 2020 5468 6573 6520 6172 nally. These ar │ │ │ │ │ +0000a300: 650a 7472 616e 7366 6f72 6d65 6420 6279 e.transformed by │ │ │ │ │ +0000a310: 206d 756c 7469 706c 6963 6174 696f 6e20 multiplication │ │ │ │ │ +0000a320: 7769 7468 2034 7834 206d 6174 7269 6365 with 4x4 matrice │ │ │ │ │ +0000a330: 732e 2020 5468 6520 6275 696c 742d 696e s. The built-in │ │ │ │ │ +0000a340: 0a63 6f6e 7374 7275 6374 6f72 7320 28e2 .constructors (. │ │ │ │ │ +0000a350: 8098 726f 7461 7465 e280 992c 20e2 8098 ..rotate..., ... │ │ │ │ │ +0000a360: 7363 616c 65e2 8099 2c20 6574 632e 2920 scale..., etc.) │ │ │ │ │ +0000a370: 2061 7265 2061 6c6c 2074 7261 6e73 6c61 are all transla │ │ │ │ │ +0000a380: 7465 6420 696e 7465 726e 616c 6c79 2074 ted internally t │ │ │ │ │ +0000a390: 6f0a 7375 6368 2034 7834 206d 6174 7269 o.such 4x4 matri │ │ │ │ │ +0000a3a0: 6365 732e 2020 466f 7220 6d6f 7265 2069 ces. For more i │ │ │ │ │ +0000a3b0: 6e66 6f72 6d61 7469 6f6e 206f 6e20 686f nformation on ho │ │ │ │ │ +0000a3c0: 6d6f 6765 6e65 6f75 7320 636f 6f72 6469 mogeneous coordi │ │ │ │ │ +0000a3d0: 6e61 7465 0a74 7261 6e73 666f 726d 6174 nate.transformat │ │ │ │ │ +0000a3e0: 696f 6e73 2c20 7365 6520 616e 7920 676f ions, see any go │ │ │ │ │ +0000a3f0: 6f64 2063 6f6d 7075 7465 7220 6772 6170 od computer grap │ │ │ │ │ +0000a400: 6869 6373 2074 6578 7462 6f6f 6b2e 2020 hics textbook. │ │ │ │ │ +0000a410: 5468 6520 6469 7265 6374 0a74 7261 6e73 The direct.trans │ │ │ │ │ +0000a420: 666f 726d 2066 6561 7475 7265 206f 6620 form feature of │ │ │ │ │ +0000a430: e280 9873 6b65 7463 68e2 8099 2061 6c6c ...sketch... all │ │ │ │ │ +0000a440: 6f77 7320 796f 7520 746f 2065 6e74 6572 ows you to enter │ │ │ │ │ +0000a450: 2061 206d 6174 7269 7820 6f66 2079 6f75 a matrix of you │ │ │ │ │ +0000a460: 7220 6f77 6e0a 6368 6f69 6365 2e20 2054 r own.choice. T │ │ │ │ │ +0000a470: 6865 7265 2061 7265 206e 6f74 206d 616e here are not man │ │ │ │ │ +0000a480: 7920 6361 7365 7320 7768 6572 6520 7468 y cases where th │ │ │ │ │ +0000a490: 6973 2069 7320 7573 6566 756c 2c20 6275 is is useful, bu │ │ │ │ │ +0000a4a0: 7420 6966 2079 6f75 2064 6f0a 6e65 6564 t if you do.need │ │ │ │ │ +0000a4b0: 2069 742c 2079 6f75 206e 6565 6420 6974 it, you need it │ │ │ │ │ +0000a4c0: 2062 6164 6c79 210a 0a1f 0a46 696c 653a badly!....File: │ │ │ │ │ +0000a4d0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +0000a4e0: 6f64 653a 2041 7269 7468 6d65 7469 632c ode: Arithmetic, │ │ │ │ │ +0000a4f0: 2020 4e65 7874 3a20 4f70 7469 6f6e 732c Next: Options, │ │ │ │ │ +0000a500: 2020 5072 6576 3a20 4c69 7465 7261 6c73 Prev: Literals │ │ │ │ │ +0000a510: 2c20 2055 703a 204c 616e 6775 6167 6520 , Up: Language │ │ │ │ │ +0000a520: 6261 7369 6373 0a0a 332e 312e 3420 4172 basics..3.1.4 Ar │ │ │ │ │ +0000a530: 6974 686d 6574 6963 2065 7870 7265 7373 ithmetic express │ │ │ │ │ +0000a540: 696f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ions.----------- │ │ │ │ │ +0000a550: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000a560: 2d0a 0a41 7269 7468 6d65 7469 6320 6578 -..Arithmetic ex │ │ │ │ │ +0000a570: 7072 6573 7369 6f6e 7320 6f76 6572 20e2 pressions over . │ │ │ │ │ +0000a580: 8098 736b 6574 6368 e280 9920 6c69 7465 ..sketch... lite │ │ │ │ │ +0000a590: 7261 6c73 2061 6e64 2064 6566 696e 6564 rals and defined │ │ │ │ │ +0000a5a0: 2069 6465 6e74 6966 6965 7273 0a61 7265 identifiers.are │ │ │ │ │ +0000a5b0: 2073 756d 6d61 7269 7a65 6420 696e 2074 summarized in t │ │ │ │ │ +0000a5c0: 6865 2066 6f6c 6c6f 7769 6e67 2074 6162 he following tab │ │ │ │ │ +0000a5d0: 6c65 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a les...* Menu:..* │ │ │ │ │ +0000a5e0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ +0000a5f0: 6e61 7279 2920 666f 726d 733a 3a20 2041 nary) forms:: A │ │ │ │ │ +0000a600: 206f 7020 420a 2a20 556e 6172 7920 666f op B.* Unary fo │ │ │ │ │ +0000a610: 726d 733a 3a20 2020 2020 2020 2020 2020 rms:: │ │ │ │ │ +0000a620: 2020 2020 2020 6f70 2041 2028 616e 6420 op A (and │ │ │ │ │ +0000a630: 6f74 6865 7273 290a 0a1f 0a46 696c 653a others)....File: │ │ │ │ │ +0000a640: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +0000a650: 6f64 653a 2054 776f 2d6f 7065 7261 6e64 ode: Two-operand │ │ │ │ │ +0000a660: 2028 6269 6e61 7279 2920 666f 726d 732c (binary) forms, │ │ │ │ │ +0000a670: 2020 4e65 7874 3a20 556e 6172 7920 666f Next: Unary fo │ │ │ │ │ +0000a680: 726d 732c 2020 5072 6576 3a20 4172 6974 rms, Prev: Arit │ │ │ │ │ +0000a690: 686d 6574 6963 2c20 2055 703a 2041 7269 hmetic, Up: Ari │ │ │ │ │ +0000a6a0: 7468 6d65 7469 630a 0a33 2e31 2e34 2e31 thmetic..3.1.4.1 │ │ │ │ │ +0000a6b0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ +0000a6c0: 6e61 7279 2920 666f 726d 7320 616e 6420 nary) forms and │ │ │ │ │ +0000a6d0: 7072 6563 6564 656e 6365 0a2e 2e2e 2e2e precedence...... │ │ │ │ │ 0000a6e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ 0000a6f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000a700: 2e2e 2e2e 2e2e 2e2e 0a0a 4d6f 7374 2074 ..........Most t │ │ │ │ │ -0000a710: 776f 2d6f 7065 7261 6e64 2062 696e 6172 wo-operand binar │ │ │ │ │ -0000a720: 7920 666f 726d 7320 6861 7665 206d 6561 y forms have mea │ │ │ │ │ -0000a730: 6e69 6e67 7320 6465 7065 6e64 656e 7420 nings dependent │ │ │ │ │ -0000a740: 6f6e 2074 6865 2074 7970 6573 206f 660a on the types of. │ │ │ │ │ -0000a750: 7468 6569 7220 6172 6775 6d65 6e74 732e their arguments. │ │ │ │ │ -0000a760: 2020 416e 2065 7868 6175 7374 6976 6520 An exhaustive │ │ │ │ │ -0000a770: 7375 6d6d 6172 7920 6f66 2074 6865 2070 summary of the p │ │ │ │ │ -0000a780: 6f73 7369 6269 6c69 7469 6573 2069 7320 ossibilities is │ │ │ │ │ -0000a790: 6769 7665 6e20 696e 0a74 6865 2066 6f6c given in.the fol │ │ │ │ │ -0000a7a0: 6c6f 7769 6e67 2074 6162 6c65 2e0a 4c65 lowing table..Le │ │ │ │ │ -0000a7b0: 6674 2020 2020 2020 2020 4f70 2020 2020 ft Op │ │ │ │ │ -0000a7c0: 2020 2052 6967 6874 2020 2020 2020 2052 Right R │ │ │ │ │ -0000a7d0: 6573 756c 7420 2020 2020 2044 6573 6372 esult Descr │ │ │ │ │ -0000a7e0: 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d iption.--------- │ │ │ │ │ +0000a700: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4d6f ..............Mo │ │ │ │ │ +0000a710: 7374 2074 776f 2d6f 7065 7261 6e64 2062 st two-operand b │ │ │ │ │ +0000a720: 696e 6172 7920 666f 726d 7320 6861 7665 inary forms have │ │ │ │ │ +0000a730: 206d 6561 6e69 6e67 7320 6465 7065 6e64 meanings depend │ │ │ │ │ +0000a740: 656e 7420 6f6e 2074 6865 2074 7970 6573 ent on the types │ │ │ │ │ +0000a750: 206f 660a 7468 6569 7220 6172 6775 6d65 of.their argume │ │ │ │ │ +0000a760: 6e74 732e 2020 416e 2065 7868 6175 7374 nts. An exhaust │ │ │ │ │ +0000a770: 6976 6520 7375 6d6d 6172 7920 6f66 2074 ive summary of t │ │ │ │ │ +0000a780: 6865 2070 6f73 7369 6269 6c69 7469 6573 he possibilities │ │ │ │ │ +0000a790: 2069 7320 6769 7665 6e20 696e 0a74 6865 is given in.the │ │ │ │ │ +0000a7a0: 2066 6f6c 6c6f 7769 6e67 2074 6162 6c65 following table │ │ │ │ │ +0000a7b0: 2e0a 4c65 6674 2020 2020 2020 2020 4f70 ..Left Op │ │ │ │ │ +0000a7c0: 2020 2020 2020 2052 6967 6874 2020 2020 Right │ │ │ │ │ +0000a7d0: 2020 2052 6573 756c 7420 2020 2020 2044 Result D │ │ │ │ │ +0000a7e0: 6573 6372 6970 7469 6f6e 0a2d 2d2d 2d2d escription.----- │ │ │ │ │ 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 2d0a 7363 -------------.sc │ │ │ │ │ -0000a860: 616c 6172 2020 2020 2020 e280 982b e280 alar ...+.. │ │ │ │ │ -0000a870: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar │ │ │ │ │ -0000a880: 2020 2073 6361 6c61 7220 2020 2020 2053 scalar S │ │ │ │ │ -0000a890: 6361 6c61 7220 7375 6d2e 0a76 6563 746f calar sum..vecto │ │ │ │ │ -0000a8a0: 7220 2020 2020 20e2 8098 2be2 8099 2020 r ...+... │ │ │ │ │ -0000a8b0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ -0000a8c0: 7665 6374 6f72 2020 2020 2020 5665 6374 vector Vect │ │ │ │ │ -0000a8d0: 6f72 2073 756d 2e0a 706f 696e 7420 2020 or sum..point │ │ │ │ │ -0000a8e0: 2020 2020 e280 982b e280 9920 2020 2020 ...+... │ │ │ │ │ -0000a8f0: 2076 6563 746f 7220 2020 2020 2070 6f69 vector poi │ │ │ │ │ -0000a900: 6e74 2020 2020 2020 2050 6f69 6e74 2d76 nt Point-v │ │ │ │ │ -0000a910: 6563 746f 7220 6166 6669 6e65 2073 756d ector affine sum │ │ │ │ │ -0000a920: 2e0a 7665 6374 6f72 2020 2020 2020 e280 ..vector .. │ │ │ │ │ -0000a930: 982b e280 9920 2020 2020 2070 6f69 6e74 .+... point │ │ │ │ │ -0000a940: 2020 2020 2020 2022 2020 2020 2020 2020 " │ │ │ │ │ -0000a950: 2020 2022 0a73 6361 6c61 7220 2020 2020 ".scalar │ │ │ │ │ -0000a960: 20e2 8098 2de2 8099 2020 2020 2020 7363 ...-... sc │ │ │ │ │ -0000a970: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar │ │ │ │ │ -0000a980: 2020 2020 2020 5363 616c 6172 2064 6966 Scalar dif │ │ │ │ │ -0000a990: 6665 7265 6e63 652e 0a76 6563 746f 7220 ference..vector │ │ │ │ │ -0000a9a0: 2020 2020 20e2 8098 2de2 8099 2020 2020 ...-... │ │ │ │ │ -0000a9b0: 2020 7665 6374 6f72 2020 2020 2020 7665 vector ve │ │ │ │ │ -0000a9c0: 6374 6f72 2020 2020 2020 5665 6374 6f72 ctor Vector │ │ │ │ │ -0000a9d0: 2064 6966 6665 7265 6e63 652e 0a70 6f69 difference..poi │ │ │ │ │ -0000a9e0: 6e74 2020 2020 2020 20e2 8098 2de2 8099 nt ...-... │ │ │ │ │ -0000a9f0: 2020 2020 2020 706f 696e 7420 2020 2020 point │ │ │ │ │ -0000aa00: 2020 7665 6374 6f72 2020 2020 2020 506f vector Po │ │ │ │ │ -0000aa10: 696e 742d 706f 696e 7420 6166 6669 6e65 int-point affine │ │ │ │ │ -0000aa20: 2064 6966 6665 7265 6e63 652e 0a70 6f69 difference..poi │ │ │ │ │ -0000aa30: 6e74 2020 2020 2020 20e2 8098 2de2 8099 nt ...-... │ │ │ │ │ -0000aa40: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ -0000aa50: 2020 706f 696e 7420 2020 2020 2020 506f point Po │ │ │ │ │ -0000aa60: 696e 742d 7665 6374 6f72 2061 6666 696e int-vector affin │ │ │ │ │ -0000aa70: 6520 6469 6666 6572 656e 6365 2e0a 7363 e difference..sc │ │ │ │ │ -0000aa80: 616c 6172 2020 2020 2020 e280 982a e280 alar ...*.. │ │ │ │ │ -0000aa90: 9920 6f72 2020 2073 6361 6c61 7220 2020 . or scalar │ │ │ │ │ -0000aaa0: 2020 2073 6361 6c61 7220 2020 2020 2053 scalar S │ │ │ │ │ -0000aab0: 6361 6c61 7220 7072 6f64 7563 742e 0a20 calar product.. │ │ │ │ │ -0000aac0: 2020 2020 2020 2020 2020 20e2 8098 2ee2 ..... │ │ │ │ │ -0000aad0: 8099 0a73 6361 6c61 7220 2020 2020 20e2 ...scalar . │ │ │ │ │ -0000aae0: 8098 2ae2 8099 206f 7220 2020 7665 6374 ..*... or vect │ │ │ │ │ -0000aaf0: 6f72 2020 2020 2020 7665 6374 6f72 2020 or vector │ │ │ │ │ -0000ab00: 2020 2020 5363 616c 6172 2d76 6563 746f Scalar-vecto │ │ │ │ │ -0000ab10: 7220 7072 6f64 7563 742e 0a20 2020 2020 r product.. │ │ │ │ │ -0000ab20: 2020 2020 2020 20e2 8098 2ee2 8099 0a76 ........v │ │ │ │ │ -0000ab30: 6563 746f 7220 2020 2020 20e2 8098 2ae2 ector ...*. │ │ │ │ │ -0000ab40: 8099 206f 7220 2020 7363 616c 6172 2020 .. or scalar │ │ │ │ │ -0000ab50: 2020 2020 2220 2020 2020 2020 2020 2020 " │ │ │ │ │ -0000ab60: 220a 2020 2020 2020 2020 2020 2020 e280 ". .. │ │ │ │ │ -0000ab70: 982e e280 990a 7665 6374 6f72 2020 2020 ......vector │ │ │ │ │ -0000ab80: 2020 e280 982a e280 9920 2020 2020 2076 ...*... v │ │ │ │ │ -0000ab90: 6563 746f 7220 2020 2020 2076 6563 746f ector vecto │ │ │ │ │ -0000aba0: 7220 2020 2020 2056 6563 746f 7220 6372 r Vector cr │ │ │ │ │ -0000abb0: 6f73 732d 7072 6f64 7563 742e 0a76 6563 oss-product..vec │ │ │ │ │ -0000abc0: 746f 7220 2020 2020 20e2 8098 2ee2 8099 tor ....... │ │ │ │ │ -0000abd0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ -0000abe0: 2020 7363 616c 6172 2020 2020 2020 5665 scalar Ve │ │ │ │ │ -0000abf0: 6374 6f72 2064 6f74 2070 726f 6475 6374 ctor dot product │ │ │ │ │ -0000ac00: 2e0a 7363 616c 6172 2020 2020 2020 e280 ..scalar .. │ │ │ │ │ -0000ac10: 985e e280 9920 2020 2020 2073 6361 6c61 .^... scala │ │ │ │ │ -0000ac20: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar │ │ │ │ │ -0000ac30: 2020 2052 6169 7365 2073 6361 6c61 7220 Raise scalar │ │ │ │ │ -0000ac40: 746f 2073 6361 6c61 7220 706f 7765 722e to scalar power. │ │ │ │ │ -0000ac50: 0a74 7261 6e73 666f 726d 2020 20e2 8098 .transform ... │ │ │ │ │ -0000ac60: 5ee2 8099 2020 2020 2020 696e 7465 6765 ^... intege │ │ │ │ │ -0000ac70: 7220 2020 2020 7472 616e 7366 6f72 6d20 r transform │ │ │ │ │ -0000ac80: 2020 5261 6973 6520 7472 616e 7366 6f72 Raise transfor │ │ │ │ │ -0000ac90: 6d20 746f 2069 6e74 6567 6572 2070 6f77 m to integer pow │ │ │ │ │ -0000aca0: 6572 2e0a 7472 616e 7366 6f72 6d20 2020 er..transform │ │ │ │ │ -0000acb0: e280 982a e280 9920 6f72 2020 2070 6f69 ...*... or poi │ │ │ │ │ -0000acc0: 6e74 2020 2020 2020 2070 6f69 6e74 2020 nt point │ │ │ │ │ -0000acd0: 2020 2020 2041 6666 696e 6520 706f 696e Affine poin │ │ │ │ │ -0000ace0: 7420 7472 616e 7366 6f72 6d20 2872 6967 t transform (rig │ │ │ │ │ -0000acf0: 6874 2d74 6f2d 6c65 6674 292e 0a20 2020 ht-to-left).. │ │ │ │ │ -0000ad00: 2020 2020 2020 2020 20e2 8098 2ee2 8099 ....... │ │ │ │ │ -0000ad10: 0a74 7261 6e73 666f 726d 2020 20e2 8098 .transform ... │ │ │ │ │ -0000ad20: 2ae2 8099 206f 7220 2020 7665 6374 6f72 *... or vector │ │ │ │ │ -0000ad30: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ -0000ad40: 2020 4166 6669 6e65 2076 6563 746f 7220 Affine vector │ │ │ │ │ -0000ad50: 7472 616e 7366 6f72 6d20 2872 6967 6874 transform (right │ │ │ │ │ -0000ad60: 2d74 6f2d 6c65 6674 292e 0a20 2020 2020 -to-left).. │ │ │ │ │ -0000ad70: 2020 2020 2020 20e2 8098 2ee2 8099 0a74 ........t │ │ │ │ │ -0000ad80: 7261 6e73 666f 726d 2020 20e2 8098 2ae2 ransform ...*. │ │ │ │ │ -0000ad90: 8099 206f 7220 2020 7472 616e 7366 6f72 .. or transfor │ │ │ │ │ -0000ada0: 6d20 2020 7472 616e 7366 6f72 6d20 2020 m transform │ │ │ │ │ -0000adb0: 5472 616e 7366 6f72 6d20 636f 6d70 6f73 Transform compos │ │ │ │ │ -0000adc0: 6974 696f 6e20 2872 6967 6874 2d74 6f2d ition (right-to- │ │ │ │ │ -0000add0: 6c65 6674 292e 0a20 2020 2020 2020 2020 left).. │ │ │ │ │ -0000ade0: 2020 20e2 8098 2ee2 8099 0a70 6f69 6e74 ........point │ │ │ │ │ -0000adf0: 2020 2020 2020 20e2 8098 7468 656e e280 ...then.. │ │ │ │ │ -0000ae00: 9920 2020 7472 616e 7366 6f72 6d20 2020 . transform │ │ │ │ │ -0000ae10: 706f 696e 7420 2020 2020 2020 4166 6669 point Affi │ │ │ │ │ -0000ae20: 6e65 2070 6f69 6e74 2074 7261 6e73 666f ne point transfo │ │ │ │ │ -0000ae30: 726d 2028 6c65 6674 2d74 6f2d 7269 6768 rm (left-to-righ │ │ │ │ │ -0000ae40: 7429 2e0a 7665 6374 6f72 2020 2020 2020 t)..vector │ │ │ │ │ -0000ae50: e280 9874 6865 6ee2 8099 2020 2074 7261 ...then... tra │ │ │ │ │ -0000ae60: 6e73 666f 726d 2020 2076 6563 746f 7220 nsform vector │ │ │ │ │ -0000ae70: 2020 2020 2041 6666 696e 6520 7665 6374 Affine vect │ │ │ │ │ -0000ae80: 6f72 2074 7261 6e73 666f 726d 2028 6c65 or transform (le │ │ │ │ │ -0000ae90: 6674 2d74 6f2d 7269 6768 7429 2e0a 7472 ft-to-right)..tr │ │ │ │ │ -0000aea0: 616e 7366 6f72 6d20 2020 e280 9874 6865 ansform ...the │ │ │ │ │ -0000aeb0: 6ee2 8099 2020 2074 7261 6e73 666f 726d n... transform │ │ │ │ │ -0000aec0: 2020 2074 7261 6e73 666f 726d 2020 2054 transform T │ │ │ │ │ -0000aed0: 7261 6e73 666f 726d 2063 6f6d 706f 7369 ransform composi │ │ │ │ │ -0000aee0: 7469 6f6e 2028 6c65 6674 2d74 6f2d 7269 tion (left-to-ri │ │ │ │ │ -0000aef0: 6768 7429 2e0a 7363 616c 6172 2020 2020 ght)..scalar │ │ │ │ │ -0000af00: 2020 e280 982f e280 9920 2020 2020 2073 .../... s │ │ │ │ │ -0000af10: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala │ │ │ │ │ -0000af20: 7220 2020 2020 2053 6361 6c61 7220 6469 r Scalar di │ │ │ │ │ -0000af30: 7669 7369 6f6e 2e0a 7665 6374 6f72 2020 vision..vector │ │ │ │ │ -0000af40: 2020 2020 e280 982f e280 9920 2020 2020 .../... │ │ │ │ │ -0000af50: 2073 6361 6c61 7220 2020 2020 2076 6563 scalar vec │ │ │ │ │ -0000af60: 746f 7220 2020 2020 2056 6563 746f 7220 tor Vector │ │ │ │ │ -0000af70: 636f 6d70 6f6e 656e 742d 7769 7365 2064 component-wise d │ │ │ │ │ -0000af80: 6976 6973 696f 6e20 6279 2073 6361 6c61 ivision by scala │ │ │ │ │ -0000af90: 722e 0a70 6f69 6e74 2020 2020 2020 20e2 r..point . │ │ │ │ │ -0000afa0: 8098 27e2 8099 2020 2020 2020 e280 9878 ..'... ...x │ │ │ │ │ -0000afb0: e280 992c 20e2 8098 79e2 8099 2c20 2020 ..., ...y..., │ │ │ │ │ -0000afc0: 7363 616c 6172 2020 2020 2020 506f 696e scalar Poin │ │ │ │ │ -0000afd0: 7420 636f 6d70 6f6e 656e 7420 6578 7472 t component extr │ │ │ │ │ -0000afe0: 6163 7469 6f6e 2e0a 2020 2020 2020 2020 action.. │ │ │ │ │ -0000aff0: 2020 2020 2020 2020 2020 2020 206f 7220 or │ │ │ │ │ -0000b000: e280 987a e280 990a 7665 6374 6f72 2020 ...z....vector │ │ │ │ │ -0000b010: 2020 2020 e280 9827 e280 9920 2020 2020 ...'... │ │ │ │ │ -0000b020: 20e2 8098 78e2 8099 2c20 e280 9879 e280 ...x..., ...y.. │ │ │ │ │ -0000b030: 992c 2020 2073 6361 6c61 7220 2020 2020 ., scalar │ │ │ │ │ -0000b040: 2056 6563 746f 7220 636f 6d70 6f6e 656e Vector componen │ │ │ │ │ -0000b050: 7420 6578 7472 6163 7469 6f6e 2e0a 2020 t extraction.. │ │ │ │ │ -0000b060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000b070: 2020 206f 7220 e280 987a e280 990a 0a4f or ...z.....O │ │ │ │ │ -0000b080: 7065 7261 746f 7220 7072 6563 6564 656e perator preceden │ │ │ │ │ -0000b090: 6365 2069 7320 7368 6f77 6e20 696e 2074 ce is shown in t │ │ │ │ │ -0000b0a0: 6869 7320 7461 626c 652e 0a4f 7020 2020 his table..Op │ │ │ │ │ -0000b0b0: 2020 2020 5072 6563 6564 656e 6365 0a2d Precedence.- │ │ │ │ │ -0000b0c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000a850: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000a860: 2d0a 7363 616c 6172 2020 2020 2020 e280 -.scalar .. │ │ │ │ │ +0000a870: 982b e280 9920 2020 2020 2073 6361 6c61 .+... scala │ │ │ │ │ +0000a880: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar │ │ │ │ │ +0000a890: 2020 2053 6361 6c61 7220 7375 6d2e 0a76 Scalar sum..v │ │ │ │ │ +0000a8a0: 6563 746f 7220 2020 2020 20e2 8098 2be2 ector ...+. │ │ │ │ │ +0000a8b0: 8099 2020 2020 2020 7665 6374 6f72 2020 .. vector │ │ │ │ │ +0000a8c0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ +0000a8d0: 5665 6374 6f72 2073 756d 2e0a 706f 696e Vector sum..poin │ │ │ │ │ +0000a8e0: 7420 2020 2020 2020 e280 982b e280 9920 t ...+... │ │ │ │ │ +0000a8f0: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ +0000a900: 2070 6f69 6e74 2020 2020 2020 2050 6f69 point Poi │ │ │ │ │ +0000a910: 6e74 2d76 6563 746f 7220 6166 6669 6e65 nt-vector affine │ │ │ │ │ +0000a920: 2073 756d 2e0a 7665 6374 6f72 2020 2020 sum..vector │ │ │ │ │ +0000a930: 2020 e280 982b e280 9920 2020 2020 2070 ...+... p │ │ │ │ │ +0000a940: 6f69 6e74 2020 2020 2020 2022 2020 2020 oint " │ │ │ │ │ +0000a950: 2020 2020 2020 2022 0a73 6361 6c61 7220 ".scalar │ │ │ │ │ +0000a960: 2020 2020 20e2 8098 2de2 8099 2020 2020 ...-... │ │ │ │ │ +0000a970: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc │ │ │ │ │ +0000a980: 616c 6172 2020 2020 2020 5363 616c 6172 alar Scalar │ │ │ │ │ +0000a990: 2064 6966 6665 7265 6e63 652e 0a76 6563 difference..vec │ │ │ │ │ +0000a9a0: 746f 7220 2020 2020 20e2 8098 2de2 8099 tor ...-... │ │ │ │ │ +0000a9b0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ +0000a9c0: 2020 7665 6374 6f72 2020 2020 2020 5665 vector Ve │ │ │ │ │ +0000a9d0: 6374 6f72 2064 6966 6665 7265 6e63 652e ctor difference. │ │ │ │ │ +0000a9e0: 0a70 6f69 6e74 2020 2020 2020 20e2 8098 .point ... │ │ │ │ │ +0000a9f0: 2de2 8099 2020 2020 2020 706f 696e 7420 -... point │ │ │ │ │ +0000aa00: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ +0000aa10: 2020 506f 696e 742d 706f 696e 7420 6166 Point-point af │ │ │ │ │ +0000aa20: 6669 6e65 2064 6966 6665 7265 6e63 652e fine difference. │ │ │ │ │ +0000aa30: 0a70 6f69 6e74 2020 2020 2020 20e2 8098 .point ... │ │ │ │ │ +0000aa40: 2de2 8099 2020 2020 2020 7665 6374 6f72 -... vector │ │ │ │ │ +0000aa50: 2020 2020 2020 706f 696e 7420 2020 2020 point │ │ │ │ │ +0000aa60: 2020 506f 696e 742d 7665 6374 6f72 2061 Point-vector a │ │ │ │ │ +0000aa70: 6666 696e 6520 6469 6666 6572 656e 6365 ffine difference │ │ │ │ │ +0000aa80: 2e0a 7363 616c 6172 2020 2020 2020 e280 ..scalar .. │ │ │ │ │ +0000aa90: 982a e280 9920 6f72 2020 2073 6361 6c61 .*... or scala │ │ │ │ │ +0000aaa0: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar │ │ │ │ │ +0000aab0: 2020 2053 6361 6c61 7220 7072 6f64 7563 Scalar produc │ │ │ │ │ +0000aac0: 742e 0a20 2020 2020 2020 2020 2020 20e2 t.. . │ │ │ │ │ +0000aad0: 8098 2ee2 8099 0a73 6361 6c61 7220 2020 .......scalar │ │ │ │ │ +0000aae0: 2020 20e2 8098 2ae2 8099 206f 7220 2020 ...*... or │ │ │ │ │ +0000aaf0: 7665 6374 6f72 2020 2020 2020 7665 6374 vector vect │ │ │ │ │ +0000ab00: 6f72 2020 2020 2020 5363 616c 6172 2d76 or Scalar-v │ │ │ │ │ +0000ab10: 6563 746f 7220 7072 6f64 7563 742e 0a20 ector product.. │ │ │ │ │ +0000ab20: 2020 2020 2020 2020 2020 20e2 8098 2ee2 ..... │ │ │ │ │ +0000ab30: 8099 0a76 6563 746f 7220 2020 2020 20e2 ...vector . │ │ │ │ │ +0000ab40: 8098 2ae2 8099 206f 7220 2020 7363 616c ..*... or scal │ │ │ │ │ +0000ab50: 6172 2020 2020 2020 2220 2020 2020 2020 ar " │ │ │ │ │ +0000ab60: 2020 2020 220a 2020 2020 2020 2020 2020 ". │ │ │ │ │ +0000ab70: 2020 e280 982e e280 990a 7665 6374 6f72 ........vector │ │ │ │ │ +0000ab80: 2020 2020 2020 e280 982a e280 9920 2020 ...*... │ │ │ │ │ +0000ab90: 2020 2076 6563 746f 7220 2020 2020 2076 vector v │ │ │ │ │ +0000aba0: 6563 746f 7220 2020 2020 2056 6563 746f ector Vecto │ │ │ │ │ +0000abb0: 7220 6372 6f73 732d 7072 6f64 7563 742e r cross-product. │ │ │ │ │ +0000abc0: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ... │ │ │ │ │ +0000abd0: 2ee2 8099 2020 2020 2020 7665 6374 6f72 .... vector │ │ │ │ │ +0000abe0: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ +0000abf0: 2020 5665 6374 6f72 2064 6f74 2070 726f Vector dot pro │ │ │ │ │ +0000ac00: 6475 6374 2e0a 7363 616c 6172 2020 2020 duct..scalar │ │ │ │ │ +0000ac10: 2020 e280 985e e280 9920 2020 2020 2073 ...^... s │ │ │ │ │ +0000ac20: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala │ │ │ │ │ +0000ac30: 7220 2020 2020 2052 6169 7365 2073 6361 r Raise sca │ │ │ │ │ +0000ac40: 6c61 7220 746f 2073 6361 6c61 7220 706f lar to scalar po │ │ │ │ │ +0000ac50: 7765 722e 0a74 7261 6e73 666f 726d 2020 wer..transform │ │ │ │ │ +0000ac60: 20e2 8098 5ee2 8099 2020 2020 2020 696e ...^... in │ │ │ │ │ +0000ac70: 7465 6765 7220 2020 2020 7472 616e 7366 teger transf │ │ │ │ │ +0000ac80: 6f72 6d20 2020 5261 6973 6520 7472 616e orm Raise tran │ │ │ │ │ +0000ac90: 7366 6f72 6d20 746f 2069 6e74 6567 6572 sform to integer │ │ │ │ │ +0000aca0: 2070 6f77 6572 2e0a 7472 616e 7366 6f72 power..transfor │ │ │ │ │ +0000acb0: 6d20 2020 e280 982a e280 9920 6f72 2020 m ...*... or │ │ │ │ │ +0000acc0: 2070 6f69 6e74 2020 2020 2020 2070 6f69 point poi │ │ │ │ │ +0000acd0: 6e74 2020 2020 2020 2041 6666 696e 6520 nt Affine │ │ │ │ │ +0000ace0: 706f 696e 7420 7472 616e 7366 6f72 6d20 point transform │ │ │ │ │ +0000acf0: 2872 6967 6874 2d74 6f2d 6c65 6674 292e (right-to-left). │ │ │ │ │ +0000ad00: 0a20 2020 2020 2020 2020 2020 20e2 8098 . ... │ │ │ │ │ +0000ad10: 2ee2 8099 0a74 7261 6e73 666f 726d 2020 .....transform │ │ │ │ │ +0000ad20: 20e2 8098 2ae2 8099 206f 7220 2020 7665 ...*... or ve │ │ │ │ │ +0000ad30: 6374 6f72 2020 2020 2020 7665 6374 6f72 ctor vector │ │ │ │ │ +0000ad40: 2020 2020 2020 4166 6669 6e65 2076 6563 Affine vec │ │ │ │ │ +0000ad50: 746f 7220 7472 616e 7366 6f72 6d20 2872 tor transform (r │ │ │ │ │ +0000ad60: 6967 6874 2d74 6f2d 6c65 6674 292e 0a20 ight-to-left).. │ │ │ │ │ +0000ad70: 2020 2020 2020 2020 2020 20e2 8098 2ee2 ..... │ │ │ │ │ +0000ad80: 8099 0a74 7261 6e73 666f 726d 2020 20e2 ...transform . │ │ │ │ │ +0000ad90: 8098 2ae2 8099 206f 7220 2020 7472 616e ..*... or tran │ │ │ │ │ +0000ada0: 7366 6f72 6d20 2020 7472 616e 7366 6f72 sform transfor │ │ │ │ │ +0000adb0: 6d20 2020 5472 616e 7366 6f72 6d20 636f m Transform co │ │ │ │ │ +0000adc0: 6d70 6f73 6974 696f 6e20 2872 6967 6874 mposition (right │ │ │ │ │ +0000add0: 2d74 6f2d 6c65 6674 292e 0a20 2020 2020 -to-left).. │ │ │ │ │ +0000ade0: 2020 2020 2020 20e2 8098 2ee2 8099 0a70 ........p │ │ │ │ │ +0000adf0: 6f69 6e74 2020 2020 2020 20e2 8098 7468 oint ...th │ │ │ │ │ +0000ae00: 656e e280 9920 2020 7472 616e 7366 6f72 en... transfor │ │ │ │ │ +0000ae10: 6d20 2020 706f 696e 7420 2020 2020 2020 m point │ │ │ │ │ +0000ae20: 4166 6669 6e65 2070 6f69 6e74 2074 7261 Affine point tra │ │ │ │ │ +0000ae30: 6e73 666f 726d 2028 6c65 6674 2d74 6f2d nsform (left-to- │ │ │ │ │ +0000ae40: 7269 6768 7429 2e0a 7665 6374 6f72 2020 right)..vector │ │ │ │ │ +0000ae50: 2020 2020 e280 9874 6865 6ee2 8099 2020 ...then... │ │ │ │ │ +0000ae60: 2074 7261 6e73 666f 726d 2020 2076 6563 transform vec │ │ │ │ │ +0000ae70: 746f 7220 2020 2020 2041 6666 696e 6520 tor Affine │ │ │ │ │ +0000ae80: 7665 6374 6f72 2074 7261 6e73 666f 726d vector transform │ │ │ │ │ +0000ae90: 2028 6c65 6674 2d74 6f2d 7269 6768 7429 (left-to-right) │ │ │ │ │ +0000aea0: 2e0a 7472 616e 7366 6f72 6d20 2020 e280 ..transform .. │ │ │ │ │ +0000aeb0: 9874 6865 6ee2 8099 2020 2074 7261 6e73 .then... trans │ │ │ │ │ +0000aec0: 666f 726d 2020 2074 7261 6e73 666f 726d form transform │ │ │ │ │ +0000aed0: 2020 2054 7261 6e73 666f 726d 2063 6f6d Transform com │ │ │ │ │ +0000aee0: 706f 7369 7469 6f6e 2028 6c65 6674 2d74 position (left-t │ │ │ │ │ +0000aef0: 6f2d 7269 6768 7429 2e0a 7363 616c 6172 o-right)..scalar │ │ │ │ │ +0000af00: 2020 2020 2020 e280 982f e280 9920 2020 .../... │ │ │ │ │ +0000af10: 2020 2073 6361 6c61 7220 2020 2020 2073 scalar s │ │ │ │ │ +0000af20: 6361 6c61 7220 2020 2020 2053 6361 6c61 calar Scala │ │ │ │ │ +0000af30: 7220 6469 7669 7369 6f6e 2e0a 7665 6374 r division..vect │ │ │ │ │ +0000af40: 6f72 2020 2020 2020 e280 982f e280 9920 or .../... │ │ │ │ │ +0000af50: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ +0000af60: 2076 6563 746f 7220 2020 2020 2056 6563 vector Vec │ │ │ │ │ +0000af70: 746f 7220 636f 6d70 6f6e 656e 742d 7769 tor component-wi │ │ │ │ │ +0000af80: 7365 2064 6976 6973 696f 6e20 6279 2073 se division by s │ │ │ │ │ +0000af90: 6361 6c61 722e 0a70 6f69 6e74 2020 2020 calar..point │ │ │ │ │ +0000afa0: 2020 20e2 8098 27e2 8099 2020 2020 2020 ...'... │ │ │ │ │ +0000afb0: e280 9878 e280 992c 20e2 8098 79e2 8099 ...x..., ...y... │ │ │ │ │ +0000afc0: 2c20 2020 7363 616c 6172 2020 2020 2020 , scalar │ │ │ │ │ +0000afd0: 506f 696e 7420 636f 6d70 6f6e 656e 7420 Point component │ │ │ │ │ +0000afe0: 6578 7472 6163 7469 6f6e 2e0a 2020 2020 extraction.. │ │ │ │ │ +0000aff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000b000: 206f 7220 e280 987a e280 990a 7665 6374 or ...z....vect │ │ │ │ │ +0000b010: 6f72 2020 2020 2020 e280 9827 e280 9920 or ...'... │ │ │ │ │ +0000b020: 2020 2020 20e2 8098 78e2 8099 2c20 e280 ...x..., .. │ │ │ │ │ +0000b030: 9879 e280 992c 2020 2073 6361 6c61 7220 .y..., scalar │ │ │ │ │ +0000b040: 2020 2020 2056 6563 746f 7220 636f 6d70 Vector comp │ │ │ │ │ +0000b050: 6f6e 656e 7420 6578 7472 6163 7469 6f6e onent extraction │ │ │ │ │ +0000b060: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000b070: 2020 2020 2020 206f 7220 e280 987a e280 or ...z.. │ │ │ │ │ +0000b080: 990a 0a4f 7065 7261 746f 7220 7072 6563 ...Operator prec │ │ │ │ │ +0000b090: 6564 656e 6365 2069 7320 7368 6f77 6e20 edence is shown │ │ │ │ │ +0000b0a0: 696e 2074 6869 7320 7461 626c 652e 0a4f in this table..O │ │ │ │ │ +0000b0b0: 7020 2020 2020 2020 5072 6563 6564 656e p Preceden │ │ │ │ │ +0000b0c0: 6365 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ce.------------- │ │ │ │ │ 0000b0d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000b0e0: 2d2d 2d2d 2d2d 2d2d 2d0a e280 9827 e280 ---------....'.. │ │ │ │ │ -0000b0f0: 9920 2020 2020 2068 6967 6865 7374 2028 . highest ( │ │ │ │ │ -0000b100: 6d6f 7374 2074 6967 6874 6c79 2062 696e most tightly bin │ │ │ │ │ -0000b110: 6469 6e67 290a e280 985e e280 990a e280 ding)....^...... │ │ │ │ │ -0000b120: 982d e280 9920 2020 2020 2028 756e 6172 .-... (unar │ │ │ │ │ -0000b130: 7920 6e65 6761 7469 6f6e 290a e280 982a y negation)....* │ │ │ │ │ -0000b140: e280 990a e280 982e e280 990a e280 982f .............../ │ │ │ │ │ -0000b150: e280 990a e280 982b e280 990a e280 982d .......+.......- │ │ │ │ │ -0000b160: e280 990a e280 9874 6865 6ee2 8099 2020 .......then... │ │ │ │ │ -0000b170: 206c 6f77 6573 7420 286c 6561 7374 2074 lowest (least t │ │ │ │ │ -0000b180: 6967 6874 6c79 2062 696e 6469 6e67 290a ightly binding). │ │ │ │ │ -0000b190: 0a41 6c6c 206f 7065 7261 7469 6f6e 7320 .All operations │ │ │ │ │ -0000b1a0: 6172 6520 6c65 6674 2d61 7373 6f63 6961 are left-associa │ │ │ │ │ -0000b1b0: 7469 7665 2065 7863 6570 7420 666f 7220 tive except for │ │ │ │ │ -0000b1c0: e280 985e e280 992e 2020 5061 7265 6e74 ...^.... Parent │ │ │ │ │ -0000b1d0: 6865 7365 7320 e280 9828 2029 e280 990a heses ...( ).... │ │ │ │ │ -0000b1e0: 6172 6520 7573 6564 2066 6f72 2067 726f are used for gro │ │ │ │ │ -0000b1f0: 7570 696e 6720 746f 206f 7665 7272 6964 uping to overrid │ │ │ │ │ -0000b200: 6520 7072 6563 6564 656e 6365 2069 6e20 e precedence in │ │ │ │ │ -0000b210: 7468 6520 7573 7561 6c20 7761 792e 0a0a the usual way... │ │ │ │ │ -0000b220: 2020 2041 7320 796f 7520 6361 6e20 7365 As you can se │ │ │ │ │ -0000b230: 652c 2074 6865 2064 6f74 206f 7065 7261 e, the dot opera │ │ │ │ │ -0000b240: 746f 7220 e280 982e e280 9920 6973 2075 tor ....... is u │ │ │ │ │ -0000b250: 7375 616c 6c79 2061 2073 796e 6f6e 796d sually a synonym │ │ │ │ │ -0000b260: 2066 6f72 0a72 756e 2d6f 662d 7468 652d for.run-of-the- │ │ │ │ │ -0000b270: 6d69 6c6c 206d 756c 7469 706c 6963 6174 mill multiplicat │ │ │ │ │ -0000b280: 696f 6e2c 20e2 8098 2ae2 8099 2e20 2054 ion, ...*.... T │ │ │ │ │ -0000b290: 6865 206d 6561 6e69 6e67 7320 6469 6666 he meanings diff │ │ │ │ │ -0000b2a0: 6572 206f 6e6c 7920 666f 720a 7665 6374 er only for.vect │ │ │ │ │ -0000b2b0: 6f72 206f 7065 7261 6e64 732e 2020 5468 or operands. Th │ │ │ │ │ -0000b2c0: 6520 e280 9874 6865 6ee2 8099 206f 7065 e ...then... ope │ │ │ │ │ -0000b2d0: 7261 746f 7220 6d65 7265 6c79 2072 6576 rator merely rev │ │ │ │ │ -0000b2e0: 6572 7365 7320 7468 6520 6f70 6572 616e erses the operan │ │ │ │ │ -0000b2f0: 6420 6f72 6465 720a 7769 7468 2072 6573 d order.with res │ │ │ │ │ -0000b300: 7065 6374 2074 6f20 6e6f 726d 616c 206d pect to normal m │ │ │ │ │ -0000b310: 756c 7469 706c 6963 6174 696f 6e20 e280 ultiplication .. │ │ │ │ │ -0000b320: 982a e280 992e 2020 5468 6520 696e 7465 .*.... The inte │ │ │ │ │ -0000b330: 6e74 2068 6572 6520 6973 2074 6f20 6d61 nt here is to ma │ │ │ │ │ -0000b340: 6b65 0a63 6f6d 706f 7369 7469 6f6e 7320 ke.compositions │ │ │ │ │ -0000b350: 7265 6164 206d 6f72 6520 6e61 7475 7261 read more natura │ │ │ │ │ -0000b360: 6c6c 792e 2020 5468 6520 636f 6465 0a20 lly. The code. │ │ │ │ │ -0000b370: 2020 2020 2831 2c32 2c33 2920 7468 656e (1,2,3) then │ │ │ │ │ -0000b380: 2073 6361 6c65 2832 2920 7468 656e 2072 scale(2) then r │ │ │ │ │ -0000b390: 6f74 6174 6528 3330 2920 7468 656e 2074 otate(30) then t │ │ │ │ │ -0000b3a0: 7261 6e73 6c61 7465 285b 312c 332c 305d ranslate([1,3,0] │ │ │ │ │ -0000b3b0: 290a 6578 7072 6573 7365 7320 6120 7365 ).expresses a se │ │ │ │ │ -0000b3c0: 7269 6573 206f 6620 7375 6363 6573 7369 ries of successi │ │ │ │ │ -0000b3d0: 7665 206d 6f64 6966 6963 6174 696f 6e73 ve modifications │ │ │ │ │ -0000b3e0: 2074 6f20 7468 6520 706f 696e 742c 2077 to the point, w │ │ │ │ │ -0000b3f0: 6865 7265 6173 2074 6865 0a65 7175 6976 hereas the.equiv │ │ │ │ │ -0000b400: 616c 656e 7420 666f 726d 0a20 2020 2020 alent form. │ │ │ │ │ -0000b410: 7472 616e 736c 6174 6528 5b31 2c33 2c30 translate([1,3,0 │ │ │ │ │ -0000b420: 5d29 202a 2072 6f74 6174 6528 3330 2920 ]) * rotate(30) │ │ │ │ │ -0000b430: 2a20 7363 616c 6528 3229 202a 2028 312c * scale(2) * (1, │ │ │ │ │ -0000b440: 322c 3329 0a77 696c 6c20 6265 2069 6e74 2,3).will be int │ │ │ │ │ -0000b450: 7569 7469 7665 206f 6e6c 7920 746f 206d uitive only to m │ │ │ │ │ -0000b460: 6174 6865 6d61 7469 6369 616e 7320 2861 athematicians (a │ │ │ │ │ -0000b470: 6e64 2070 6572 6861 7073 2041 7261 6269 nd perhaps Arabi │ │ │ │ │ -0000b480: 6320 6c61 6e67 7561 6765 0a72 6561 6465 c language.reade │ │ │ │ │ -0000b490: 7273 292e 0a0a 1f0a 4669 6c65 3a20 736b rs).....File: sk │ │ │ │ │ -0000b4a0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -0000b4b0: 3a20 556e 6172 7920 666f 726d 732c 2020 : Unary forms, │ │ │ │ │ -0000b4c0: 5072 6576 3a20 5477 6f2d 6f70 6572 616e Prev: Two-operan │ │ │ │ │ -0000b4d0: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ -0000b4e0: 2c20 2055 703a 2041 7269 7468 6d65 7469 , Up: Arithmeti │ │ │ │ │ -0000b4f0: 630a 0a33 2e31 2e34 2e32 2055 6e61 7279 c..3.1.4.2 Unary │ │ │ │ │ -0000b500: 2066 6f72 6d73 0a2e 2e2e 2e2e 2e2e 2e2e forms.......... │ │ │ │ │ -0000b510: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 556e 6172 ............Unar │ │ │ │ │ -0000b520: 7920 6f72 206f 6e65 2d6f 7065 7261 6e64 y or one-operand │ │ │ │ │ -0000b530: 2066 6f72 6d73 2061 7265 2073 756d 6d61 forms are summa │ │ │ │ │ -0000b540: 7269 7a65 6420 696e 2074 6865 2066 6f6c rized in the fol │ │ │ │ │ -0000b550: 6c6f 7769 6e67 2074 6162 6c65 2c20 7768 lowing table, wh │ │ │ │ │ -0000b560: 6572 650a e280 9858 e280 9920 7374 616e ere....X... stan │ │ │ │ │ -0000b570: 6473 2066 6f72 2074 6865 206f 7065 7261 ds for the opera │ │ │ │ │ -0000b580: 6e64 2e0a 4f70 2020 2020 2020 2020 2020 nd..Op │ │ │ │ │ -0000b590: 2020 204f 7065 7261 6e64 2020 2020 2052 Operand R │ │ │ │ │ -0000b5a0: 6573 756c 7420 2020 2020 2044 6573 6372 esult Descr │ │ │ │ │ -0000b5b0: 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d iption.--------- │ │ │ │ │ +0000b0e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a e280 -------------... │ │ │ │ │ +0000b0f0: 9827 e280 9920 2020 2020 2068 6967 6865 .'... highe │ │ │ │ │ +0000b100: 7374 2028 6d6f 7374 2074 6967 6874 6c79 st (most tightly │ │ │ │ │ +0000b110: 2062 696e 6469 6e67 290a e280 985e e280 binding)....^.. │ │ │ │ │ +0000b120: 990a e280 982d e280 9920 2020 2020 2028 .....-... ( │ │ │ │ │ +0000b130: 756e 6172 7920 6e65 6761 7469 6f6e 290a unary negation). │ │ │ │ │ +0000b140: e280 982a e280 990a e280 982e e280 990a ...*............ │ │ │ │ │ +0000b150: e280 982f e280 990a e280 982b e280 990a .../.......+.... │ │ │ │ │ +0000b160: e280 982d e280 990a e280 9874 6865 6ee2 ...-.......then. │ │ │ │ │ +0000b170: 8099 2020 206c 6f77 6573 7420 286c 6561 .. lowest (lea │ │ │ │ │ +0000b180: 7374 2074 6967 6874 6c79 2062 696e 6469 st tightly bindi │ │ │ │ │ +0000b190: 6e67 290a 0a41 6c6c 206f 7065 7261 7469 ng)..All operati │ │ │ │ │ +0000b1a0: 6f6e 7320 6172 6520 6c65 6674 2d61 7373 ons are left-ass │ │ │ │ │ +0000b1b0: 6f63 6961 7469 7665 2065 7863 6570 7420 ociative except │ │ │ │ │ +0000b1c0: 666f 7220 e280 985e e280 992e 2020 5061 for ...^.... Pa │ │ │ │ │ +0000b1d0: 7265 6e74 6865 7365 7320 e280 9828 2029 rentheses ...( ) │ │ │ │ │ +0000b1e0: e280 990a 6172 6520 7573 6564 2066 6f72 ....are used for │ │ │ │ │ +0000b1f0: 2067 726f 7570 696e 6720 746f 206f 7665 grouping to ove │ │ │ │ │ +0000b200: 7272 6964 6520 7072 6563 6564 656e 6365 rride precedence │ │ │ │ │ +0000b210: 2069 6e20 7468 6520 7573 7561 6c20 7761 in the usual wa │ │ │ │ │ +0000b220: 792e 0a0a 2020 2041 7320 796f 7520 6361 y... As you ca │ │ │ │ │ +0000b230: 6e20 7365 652c 2074 6865 2064 6f74 206f n see, the dot o │ │ │ │ │ +0000b240: 7065 7261 746f 7220 e280 982e e280 9920 perator ....... │ │ │ │ │ +0000b250: 6973 2075 7375 616c 6c79 2061 2073 796e is usually a syn │ │ │ │ │ +0000b260: 6f6e 796d 2066 6f72 0a72 756e 2d6f 662d onym for.run-of- │ │ │ │ │ +0000b270: 7468 652d 6d69 6c6c 206d 756c 7469 706c the-mill multipl │ │ │ │ │ +0000b280: 6963 6174 696f 6e2c 20e2 8098 2ae2 8099 ication, ...*... │ │ │ │ │ +0000b290: 2e20 2054 6865 206d 6561 6e69 6e67 7320 . The meanings │ │ │ │ │ +0000b2a0: 6469 6666 6572 206f 6e6c 7920 666f 720a differ only for. │ │ │ │ │ +0000b2b0: 7665 6374 6f72 206f 7065 7261 6e64 732e vector operands. │ │ │ │ │ +0000b2c0: 2020 5468 6520 e280 9874 6865 6ee2 8099 The ...then... │ │ │ │ │ +0000b2d0: 206f 7065 7261 746f 7220 6d65 7265 6c79 operator merely │ │ │ │ │ +0000b2e0: 2072 6576 6572 7365 7320 7468 6520 6f70 reverses the op │ │ │ │ │ +0000b2f0: 6572 616e 6420 6f72 6465 720a 7769 7468 erand order.with │ │ │ │ │ +0000b300: 2072 6573 7065 6374 2074 6f20 6e6f 726d respect to norm │ │ │ │ │ +0000b310: 616c 206d 756c 7469 706c 6963 6174 696f al multiplicatio │ │ │ │ │ +0000b320: 6e20 e280 982a e280 992e 2020 5468 6520 n ...*.... The │ │ │ │ │ +0000b330: 696e 7465 6e74 2068 6572 6520 6973 2074 intent here is t │ │ │ │ │ +0000b340: 6f20 6d61 6b65 0a63 6f6d 706f 7369 7469 o make.compositi │ │ │ │ │ +0000b350: 6f6e 7320 7265 6164 206d 6f72 6520 6e61 ons read more na │ │ │ │ │ +0000b360: 7475 7261 6c6c 792e 2020 5468 6520 636f turally. The co │ │ │ │ │ +0000b370: 6465 0a20 2020 2020 2831 2c32 2c33 2920 de. (1,2,3) │ │ │ │ │ +0000b380: 7468 656e 2073 6361 6c65 2832 2920 7468 then scale(2) th │ │ │ │ │ +0000b390: 656e 2072 6f74 6174 6528 3330 2920 7468 en rotate(30) th │ │ │ │ │ +0000b3a0: 656e 2074 7261 6e73 6c61 7465 285b 312c en translate([1, │ │ │ │ │ +0000b3b0: 332c 305d 290a 6578 7072 6573 7365 7320 3,0]).expresses │ │ │ │ │ +0000b3c0: 6120 7365 7269 6573 206f 6620 7375 6363 a series of succ │ │ │ │ │ +0000b3d0: 6573 7369 7665 206d 6f64 6966 6963 6174 essive modificat │ │ │ │ │ +0000b3e0: 696f 6e73 2074 6f20 7468 6520 706f 696e ions to the poin │ │ │ │ │ +0000b3f0: 742c 2077 6865 7265 6173 2074 6865 0a65 t, whereas the.e │ │ │ │ │ +0000b400: 7175 6976 616c 656e 7420 666f 726d 0a20 quivalent form. │ │ │ │ │ +0000b410: 2020 2020 7472 616e 736c 6174 6528 5b31 translate([1 │ │ │ │ │ +0000b420: 2c33 2c30 5d29 202a 2072 6f74 6174 6528 ,3,0]) * rotate( │ │ │ │ │ +0000b430: 3330 2920 2a20 7363 616c 6528 3229 202a 30) * scale(2) * │ │ │ │ │ +0000b440: 2028 312c 322c 3329 0a77 696c 6c20 6265 (1,2,3).will be │ │ │ │ │ +0000b450: 2069 6e74 7569 7469 7665 206f 6e6c 7920 intuitive only │ │ │ │ │ +0000b460: 746f 206d 6174 6865 6d61 7469 6369 616e to mathematician │ │ │ │ │ +0000b470: 7320 2861 6e64 2070 6572 6861 7073 2041 s (and perhaps A │ │ │ │ │ +0000b480: 7261 6269 6320 6c61 6e67 7561 6765 0a72 rabic language.r │ │ │ │ │ +0000b490: 6561 6465 7273 292e 0a0a 1f0a 4669 6c65 eaders).....File │ │ │ │ │ +0000b4a0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +0000b4b0: 4e6f 6465 3a20 556e 6172 7920 666f 726d Node: Unary form │ │ │ │ │ +0000b4c0: 732c 2020 5072 6576 3a20 5477 6f2d 6f70 s, Prev: Two-op │ │ │ │ │ +0000b4d0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ +0000b4e0: 6f72 6d73 2c20 2055 703a 2041 7269 7468 orms, Up: Arith │ │ │ │ │ +0000b4f0: 6d65 7469 630a 0a33 2e31 2e34 2e32 2055 metic..3.1.4.2 U │ │ │ │ │ +0000b500: 6e61 7279 2066 6f72 6d73 0a2e 2e2e 2e2e nary forms...... │ │ │ │ │ +0000b510: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ +0000b520: 556e 6172 7920 6f72 206f 6e65 2d6f 7065 Unary or one-ope │ │ │ │ │ +0000b530: 7261 6e64 2066 6f72 6d73 2061 7265 2073 rand forms are s │ │ │ │ │ +0000b540: 756d 6d61 7269 7a65 6420 696e 2074 6865 ummarized in the │ │ │ │ │ +0000b550: 2066 6f6c 6c6f 7769 6e67 2074 6162 6c65 following table │ │ │ │ │ +0000b560: 2c20 7768 6572 650a e280 9858 e280 9920 , where....X... │ │ │ │ │ +0000b570: 7374 616e 6473 2066 6f72 2074 6865 206f stands for the o │ │ │ │ │ +0000b580: 7065 7261 6e64 2e0a 4f70 2020 2020 2020 perand..Op │ │ │ │ │ +0000b590: 2020 2020 2020 204f 7065 7261 6e64 2020 Operand │ │ │ │ │ +0000b5a0: 2020 2052 6573 756c 7420 2020 2020 2044 Result D │ │ │ │ │ +0000b5b0: 6573 6372 6970 7469 6f6e 0a2d 2d2d 2d2d escription.----- │ │ │ │ │ 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 2d0a e280 982d -----------....- │ │ │ │ │ -0000b610: 58e2 8099 2020 2020 2020 2020 2020 2073 X... s │ │ │ │ │ -0000b620: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala │ │ │ │ │ -0000b630: 7220 2020 2020 2055 6e61 7279 2073 6361 r Unary sca │ │ │ │ │ -0000b640: 6c61 7220 6e65 6761 7469 6f6e 2e0a e280 lar negation.... │ │ │ │ │ -0000b650: 982d 58e2 8099 2020 2020 2020 2020 2020 .-X... │ │ │ │ │ -0000b660: 2076 6563 746f 7220 2020 2020 2076 6563 vector vec │ │ │ │ │ -0000b670: 746f 7220 2020 2020 2055 6e61 7279 2076 tor Unary v │ │ │ │ │ -0000b680: 6563 746f 7220 6e65 6761 7469 6f6e 2e0a ector negation.. │ │ │ │ │ -0000b690: e280 987c 587c e280 9920 2020 2020 2020 ...|X|... │ │ │ │ │ -0000b6a0: 2020 2076 6563 746f 7220 2020 2020 2073 vector s │ │ │ │ │ -0000b6b0: 6361 6c61 7220 2020 2020 2056 6563 746f calar Vecto │ │ │ │ │ -0000b6c0: 7220 6c65 6e67 7468 2e0a e280 9875 6e69 r length.....uni │ │ │ │ │ -0000b6d0: 7428 5829 e280 9920 2020 2020 2076 6563 t(X)... vec │ │ │ │ │ -0000b6e0: 746f 7220 2020 2020 2076 6563 746f 7220 tor vector │ │ │ │ │ -0000b6f0: 2020 2020 2055 6e69 7420 7665 6374 6f72 Unit vector │ │ │ │ │ -0000b700: 2077 6974 6820 7361 6d65 2064 6972 6563 with same direc │ │ │ │ │ -0000b710: 7469 6f6e 2e0a e280 9873 7172 7428 5829 tion.....sqrt(X) │ │ │ │ │ -0000b720: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar │ │ │ │ │ -0000b730: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ -0000b740: 2053 6361 6c61 7220 7371 7561 7265 2072 Scalar square r │ │ │ │ │ -0000b750: 6f6f 742e 0ae2 8098 7369 6e28 5829 e280 oot.....sin(X).. │ │ │ │ │ -0000b760: 9920 2020 2020 2020 7363 616c 6172 2020 . scalar │ │ │ │ │ -0000b770: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ -0000b780: 5472 6967 6f6e 6f6d 6574 7269 6320 7369 Trigonometric si │ │ │ │ │ -0000b790: 6e65 2028 e280 9858 e280 9920 696e 2064 ne (...X... in d │ │ │ │ │ -0000b7a0: 6567 7265 6573 292e 0ae2 8098 636f 7328 egrees).....cos( │ │ │ │ │ -0000b7b0: 5829 e280 9920 2020 2020 2020 7363 616c X)... scal │ │ │ │ │ -0000b7c0: 6172 2020 2020 2020 7363 616c 6172 2020 ar scalar │ │ │ │ │ -0000b7d0: 2020 2020 5472 6967 6f6e 6f6d 6574 7269 Trigonometri │ │ │ │ │ -0000b7e0: 6320 636f 7369 6e65 2028 e280 9858 e280 c cosine (...X.. │ │ │ │ │ -0000b7f0: 9920 696e 2064 6567 7265 6573 292e 0ae2 . in degrees)... │ │ │ │ │ -0000b800: 8098 6173 696e 2858 29e2 8099 2020 2020 ..asin(X)... │ │ │ │ │ -0000b810: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc │ │ │ │ │ -0000b820: 616c 6172 2020 2020 2020 496e 7665 7273 alar Invers │ │ │ │ │ -0000b830: 6520 7369 6e65 2028 e280 9858 e280 9920 e sine (...X... │ │ │ │ │ -0000b840: 696e 2064 6567 7265 6573 292e 0ae2 8098 in degrees)..... │ │ │ │ │ -0000b850: 6163 6f73 2858 29e2 8099 2020 2020 2020 acos(X)... │ │ │ │ │ -0000b860: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal │ │ │ │ │ -0000b870: 6172 2020 2020 2020 496e 7665 7273 6520 ar Inverse │ │ │ │ │ -0000b880: 636f 7369 6e65 2028 e280 9858 e280 9920 cosine (...X... │ │ │ │ │ -0000b890: 696e 2064 6567 7265 6573 292e 0ae2 8098 in degrees)..... │ │ │ │ │ -0000b8a0: 6174 616e 3228 582c 5929 e280 9920 2020 atan2(X,Y)... │ │ │ │ │ -0000b8b0: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal │ │ │ │ │ -0000b8c0: 6172 2020 2020 2020 506f 6c61 7220 616e ar Polar an │ │ │ │ │ -0000b8d0: 676c 6520 696e 2064 6567 7265 6573 206f gle in degrees o │ │ │ │ │ -0000b8e0: 6620 7665 6374 6f72 205b 582c 595d 2e0a f vector [X,Y].. │ │ │ │ │ -0000b8f0: e280 9869 6e76 6572 7365 2858 29e2 8099 ...inverse(X)... │ │ │ │ │ -0000b900: 2020 2074 7261 6e73 666f 726d 2020 2074 transform t │ │ │ │ │ -0000b910: 7261 6e73 666f 726d 2020 2049 6e76 6572 ransform Inver │ │ │ │ │ -0000b920: 7365 2074 7261 6e73 666f 726d 2e0a 0a45 se transform...E │ │ │ │ │ -0000b930: 7272 6f72 7320 6172 6520 7265 706f 7274 rrors are report │ │ │ │ │ -0000b940: 6564 2077 6865 6e20 e280 987c 587c e280 ed when ...|X|.. │ │ │ │ │ -0000b950: 992c 20e2 8098 756e 6974 e280 992c 20e2 ., ...unit..., . │ │ │ │ │ -0000b960: 8098 6173 696e e280 992c 20e2 8098 6163 ..asin..., ...ac │ │ │ │ │ -0000b970: 6f73 e280 992c 20e2 8098 7371 7274 e280 os..., ...sqrt.. │ │ │ │ │ -0000b980: 992c 20e2 8098 6174 616e 32e2 8099 2c0a ., ...atan2...,. │ │ │ │ │ -0000b990: 616e 6420 e280 9869 6e76 6572 7365 e280 and ...inverse.. │ │ │ │ │ -0000b9a0: 9920 6661 696c 2064 7565 2074 6f20 6f70 . fail due to op │ │ │ │ │ -0000b9b0: 6572 616e 6473 206f 7574 7369 6465 2074 erands outside t │ │ │ │ │ -0000b9c0: 6865 6972 2072 6573 7065 6374 6976 6520 heir respective │ │ │ │ │ -0000b9d0: 646f 6d61 696e 732e 0a0a 1f0a 4669 6c65 domains.....File │ │ │ │ │ -0000b9e0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -0000b9f0: 4e6f 6465 3a20 4f70 7469 6f6e 732c 2020 Node: Options, │ │ │ │ │ -0000ba00: 5072 6576 3a20 4172 6974 686d 6574 6963 Prev: Arithmetic │ │ │ │ │ -0000ba10: 2c20 2055 703a 204c 616e 6775 6167 6520 , Up: Language │ │ │ │ │ -0000ba20: 6261 7369 6373 0a0a 332e 312e 3520 4f70 basics..3.1.5 Op │ │ │ │ │ -0000ba30: 7469 6f6e 730a 2d2d 2d2d 2d2d 2d2d 2d2d tions.---------- │ │ │ │ │ -0000ba40: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. │ │ │ │ │ -0000ba50: 2020 2020 5b4b 4559 313d 5641 4c31 2c4b [KEY1=VAL1,K │ │ │ │ │ -0000ba60: 4559 323d 5641 4c32 2c2e 2e2e 5d0a 4f70 EY2=VAL2,...].Op │ │ │ │ │ -0000ba70: 7469 6f6e 7320 6172 6520 7573 6564 2074 tions are used t │ │ │ │ │ -0000ba80: 6f20 7370 6563 6966 7920 6465 7461 696c o specify detail │ │ │ │ │ -0000ba90: 7320 6f66 2074 6865 2061 7070 6561 7261 s of the appeara │ │ │ │ │ -0000baa0: 6e63 6520 6f66 2064 7261 7761 626c 6573 nce of drawables │ │ │ │ │ -0000bab0: 2e20 2041 730a 7368 6f77 6e20 6162 6f76 . As.shown abov │ │ │ │ │ -0000bac0: 652c 2074 6865 7920 6172 6520 6769 7665 e, they are give │ │ │ │ │ -0000bad0: 6e20 6173 2063 6f6d 6d61 2d73 6570 6172 n as comma-separ │ │ │ │ │ -0000bae0: 6174 6564 206b 6579 2d76 616c 7565 2070 ated key-value p │ │ │ │ │ -0000baf0: 6169 7273 2e0a 0a2a 204d 656e 753a 0a0a airs...* Menu:.. │ │ │ │ │ -0000bb00: 2a20 5053 5472 6963 6b73 206f 7074 696f * PSTricks optio │ │ │ │ │ -0000bb10: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ -0000bb20: 4f70 7469 6f6e 7320 696e 6865 7269 7465 Options inherite │ │ │ │ │ -0000bb30: 6420 6672 6f6d 20e2 8098 5053 5472 6963 d from ...PSTric │ │ │ │ │ -0000bb40: 6b73 e280 992e 0a2a 2054 696b 5a2f 5047 ks.....* TikZ/PG │ │ │ │ │ -0000bb50: 4620 6f70 7469 6f6e 733a 3a20 2020 2020 F options:: │ │ │ │ │ -0000bb60: 2020 2020 2020 204f 7074 696f 6e73 2069 Options i │ │ │ │ │ -0000bb70: 6e68 6572 6974 6564 2066 726f 6d20 e280 nherited from .. │ │ │ │ │ -0000bb80: 9854 696b 5a2f 5047 46e2 8099 2e0a 2a20 .TikZ/PGF.....* │ │ │ │ │ -0000bb90: 446f 7473 2069 6e20 5469 6b5a 2f50 4746 Dots in TikZ/PGF │ │ │ │ │ -0000bba0: 3a3a 2020 2020 2020 2020 2020 2020 536b :: Sk │ │ │ │ │ -0000bbb0: 6574 6368 2075 7365 7320 e280 9854 696b etch uses ...Tik │ │ │ │ │ -0000bbc0: 5a2f 5047 46e2 8099 2063 6972 636c 6573 Z/PGF... circles │ │ │ │ │ -0000bbd0: 2066 6f72 2064 6f74 732e 0a2a 2054 696b for dots..* Tik │ │ │ │ │ -0000bbe0: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin │ │ │ │ │ -0000bbf0: 6564 2073 7479 6c65 733a 3a20 2053 7570 ed styles:: Sup │ │ │ │ │ -0000bc00: 706f 7274 2066 6f72 20e2 8098 5469 6b5a port for ...TikZ │ │ │ │ │ -0000bc10: 2f50 4746 e280 9920 6e61 6d65 642c 2075 /PGF... named, u │ │ │ │ │ -0000bc20: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl │ │ │ │ │ -0000bc30: 6573 2e0a 2a20 5472 616e 7370 6172 656e es..* Transparen │ │ │ │ │ -0000bc40: 6379 3a3a 2020 2020 2020 2020 2020 2020 cy:: │ │ │ │ │ -0000bc50: 2020 2020 5365 652d 7468 726f 7567 6820 See-through │ │ │ │ │ -0000bc60: 706f 6c79 676f 6e73 2e0a 2a20 496e 7465 polygons..* Inte │ │ │ │ │ -0000bc70: 726e 616c 206f 7074 696f 6e73 3a3a 2020 rnal options:: │ │ │ │ │ -0000bc80: 2020 2020 2020 2020 2020 4f70 7469 6f6e Option │ │ │ │ │ -0000bc90: 7320 7573 6564 2062 7920 e280 9873 6b65 s used by ...ske │ │ │ │ │ -0000bca0: 7463 68e2 8099 2e0a 0a1f 0a46 696c 653a tch........File: │ │ │ │ │ -0000bcb0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -0000bcc0: 6f64 653a 2050 5354 7269 636b 7320 6f70 ode: PSTricks op │ │ │ │ │ -0000bcd0: 7469 6f6e 732c 2020 4e65 7874 3a20 5469 tions, Next: Ti │ │ │ │ │ -0000bce0: 6b5a 2f50 4746 206f 7074 696f 6e73 2c20 kZ/PGF options, │ │ │ │ │ -0000bcf0: 2050 7265 763a 204f 7074 696f 6e73 2c20 Prev: Options, │ │ │ │ │ -0000bd00: 2055 703a 204f 7074 696f 6e73 0a0a 332e Up: Options..3. │ │ │ │ │ -0000bd10: 312e 352e 3120 e280 9850 5354 7269 636b 1.5.1 ...PSTrick │ │ │ │ │ -0000bd20: 73e2 8099 206f 7074 696f 6e73 0a2e 2e2e s... options.... │ │ │ │ │ -0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000bd40: 2e2e 2e2e 2e2e 2e0a 0a57 6865 6e20 e280 .........When .. │ │ │ │ │ -0000bd50: 986c 616e 6775 6167 6520 7073 7472 6963 .language pstric │ │ │ │ │ -0000bd60: 6b73 e280 9920 6973 2073 656c 6563 7465 ks... is selecte │ │ │ │ │ -0000bd70: 6420 2874 6865 2064 6566 6175 6c74 292c d (the default), │ │ │ │ │ -0000bd80: 2070 6572 6d69 7373 6962 6c65 0a6b 6579 permissible.key │ │ │ │ │ -0000bd90: 2d76 616c 7565 2070 6169 7273 2069 6e63 -value pairs inc │ │ │ │ │ -0000bda0: 6c75 6465 2061 6c6c 2074 686f 7365 2066 lude all those f │ │ │ │ │ -0000bdb0: 6f72 2073 696d 696c 6172 20e2 8098 5053 or similar ...PS │ │ │ │ │ -0000bdc0: 5472 6963 6b73 e280 9920 6f62 6a65 6374 Tricks... object │ │ │ │ │ -0000bdd0: 732e 2020 466f 720a 6578 616d 706c 652c s. For.example, │ │ │ │ │ -0000bde0: 2061 2070 6f6c 7967 6f6e 206d 6967 6874 a polygon might │ │ │ │ │ -0000bdf0: 2068 6176 6520 7468 6520 6f70 7469 6f6e have the option │ │ │ │ │ -0000be00: 730a 2020 5b6c 696e 6577 6964 7468 3d31 s. [linewidth=1 │ │ │ │ │ -0000be10: 7074 2c6c 696e 6563 6f6c 6f72 3d62 6c75 pt,linecolor=blu │ │ │ │ │ -0000be20: 652c 6669 6c6c 636f 6c6f 723d 6379 616e e,fillcolor=cyan │ │ │ │ │ -0000be30: 5d0a e280 9853 6b65 7463 68e2 8099 206d ]....Sketch... m │ │ │ │ │ -0000be40: 6572 656c 7920 7061 7373 6573 2074 6865 erely passes the │ │ │ │ │ -0000be50: 7365 206f 6e20 746f 20e2 8098 5053 5472 se on to ...PSTr │ │ │ │ │ -0000be60: 6963 6b73 e280 9920 7769 7468 6f75 7420 icks... without │ │ │ │ │ -0000be70: 6368 6563 6b69 6e67 206f 720a 6d6f 6469 checking or.modi │ │ │ │ │ -0000be80: 6669 6361 7469 6f6e 2e20 204f 7074 696f fication. Optio │ │ │ │ │ -0000be90: 6e20 6c69 7374 7320 6172 6520 616c 7761 n lists are alwa │ │ │ │ │ -0000bea0: 7973 206f 7074 696f 6e61 6c2e 2020 4120 ys optional. A │ │ │ │ │ -0000beb0: 6d69 7373 696e 6720 6f70 7469 6f6e 7320 missing options │ │ │ │ │ -0000bec0: 6c69 7374 0a69 7320 6571 7569 7661 6c65 list.is equivale │ │ │ │ │ -0000bed0: 6e74 2074 6f20 616e 2065 6d70 7479 206f nt to an empty o │ │ │ │ │ -0000bee0: 6e65 20e2 8098 5b5d e280 992e 0a0a 2020 ne ...[]...... │ │ │ │ │ -0000bef0: 2057 6865 6e20 6120 e280 9870 6f6c 7967 When a ...polyg │ │ │ │ │ -0000bf00: 6f6e e280 9920 6861 7320 6f70 7469 6f6e on... has option │ │ │ │ │ -0000bf10: 7320 666f 7220 626f 7468 2069 7473 2066 s for both its f │ │ │ │ │ -0000bf20: 6163 6520 616e 6420 6974 7320 6564 6765 ace and its edge │ │ │ │ │ -0000bf30: 732c 2061 6e64 2074 6865 0a70 6f6c 7967 s, and the.polyg │ │ │ │ │ -0000bf40: 6f6e 2069 7320 7370 6c69 7420 6279 2074 on is split by t │ │ │ │ │ -0000bf50: 6865 2068 6964 6465 6e20 7375 7266 6163 he hidden surfac │ │ │ │ │ -0000bf60: 6520 616c 676f 7269 7468 6d2c 20e2 8098 e algorithm, ... │ │ │ │ │ -0000bf70: 736b 6574 6368 e280 9920 6d75 7374 2063 sketch... must c │ │ │ │ │ -0000bf80: 6f70 7920 7468 650a 6564 6765 206f 7074 opy the.edge opt │ │ │ │ │ -0000bf90: 696f 6e73 2074 6f20 e280 9870 736c 696e ions to ...pslin │ │ │ │ │ -0000bfa0: 65e2 8099 7320 666f 7220 7468 6520 6564 e...s for the ed │ │ │ │ │ -0000bfb0: 6765 2073 6567 6d65 6e74 7320 616e 6420 ge segments and │ │ │ │ │ -0000bfc0: 7468 6520 6661 6365 206f 7074 696f 6e73 the face options │ │ │ │ │ -0000bfd0: 2074 6f0a e280 9870 7370 6f6c 7967 6f6e to....pspolygon │ │ │ │ │ -0000bfe0: e280 9973 2e20 204f 7074 696f 6e73 206b ...s. Options k │ │ │ │ │ -0000bff0: 6e6f 776e 2074 6f20 e280 9873 6b65 7463 nown to ...sketc │ │ │ │ │ -0000c000: 68e2 8099 2066 6f72 2070 7572 706f 7365 h... for purpose │ │ │ │ │ -0000c010: 7320 6f66 2074 6869 7320 7370 6c69 7474 s of this splitt │ │ │ │ │ -0000c020: 696e 670a 6f70 6572 6174 696f 6e20 696e ing.operation in │ │ │ │ │ -0000c030: 636c 7564 6520 e280 9861 7272 6f77 73e2 clude ...arrows. │ │ │ │ │ -0000c040: 8099 2c20 e280 9864 6173 68e2 8099 2c20 .., ...dash..., │ │ │ │ │ -0000c050: e280 9864 6f74 7365 70e2 8099 2c20 e280 ...dotsep..., .. │ │ │ │ │ -0000c060: 9866 696c 6c63 6f6c 6f72 e280 992c 20e2 .fillcolor..., . │ │ │ │ │ -0000c070: 8098 6669 6c6c 7374 796c 65e2 8099 2c0a ..fillstyle...,. │ │ │ │ │ -0000c080: e280 986c 696e 6563 6f6c 6f72 e280 992c ...linecolor..., │ │ │ │ │ -0000c090: 20e2 8098 6c69 6e65 7374 796c 65e2 8099 ...linestyle... │ │ │ │ │ -0000c0a0: 2c20 e280 986c 696e 6577 6964 7468 e280 , ...linewidth.. │ │ │ │ │ -0000c0b0: 992c 20e2 8098 6f70 6163 6974 79e2 8099 ., ...opacity... │ │ │ │ │ -0000c0c0: 2c20 e280 9873 686f 7770 6f69 6e74 73e2 , ...showpoints. │ │ │ │ │ -0000c0d0: 8099 2c0a e280 9873 7472 6f6b 656f 7061 ..,....strokeopa │ │ │ │ │ -0000c0e0: 6369 7479 e280 992c 2061 6e64 20e2 8098 city..., and ... │ │ │ │ │ -0000c0f0: 7472 616e 7370 616c 7068 61e2 8099 2e0a transpalpha..... │ │ │ │ │ -0000c100: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -0000c110: 696e 666f 2c20 204e 6f64 653a 2054 696b info, Node: Tik │ │ │ │ │ -0000c120: 5a2f 5047 4620 6f70 7469 6f6e 732c 2020 Z/PGF options, │ │ │ │ │ -0000c130: 4e65 7874 3a20 446f 7473 2069 6e20 5469 Next: Dots in Ti │ │ │ │ │ -0000c140: 6b5a 2f50 4746 2c20 2050 7265 763a 2050 kZ/PGF, Prev: P │ │ │ │ │ -0000c150: 5354 7269 636b 7320 6f70 7469 6f6e 732c STricks options, │ │ │ │ │ -0000c160: 2020 5570 3a20 4f70 7469 6f6e 730a 0a33 Up: Options..3 │ │ │ │ │ -0000c170: 2e31 2e35 2e32 20e2 8098 5469 6b5a 2f50 .1.5.2 ...TikZ/P │ │ │ │ │ -0000c180: 4746 e280 9920 6f70 7469 6f6e 730a 2e2e GF... options... │ │ │ │ │ -0000c190: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000c1a0: 2e2e 2e2e 2e2e 2e2e 0a0a e280 9854 696b .............Tik │ │ │ │ │ -0000c1b0: 5a2f 5047 46e2 8099 206f 7074 696f 6e73 Z/PGF... options │ │ │ │ │ -0000c1c0: 2061 7265 2068 616e 646c 6564 206d 7563 are handled muc │ │ │ │ │ -0000c1d0: 6820 6173 2066 6f72 20e2 8098 5053 5472 h as for ...PSTr │ │ │ │ │ -0000c1e0: 6963 6b73 e280 992e 2020 5468 6f75 6768 icks.... Though │ │ │ │ │ -0000c1f0: 0ae2 8098 5469 6b5a 2f50 4746 e280 9920 ....TikZ/PGF... │ │ │ │ │ -0000c200: 6f66 7465 6e20 616c 6c6f 7773 2063 6f6c often allows col │ │ │ │ │ -0000c210: 6f72 7320 616e 6420 7374 796c 6573 2074 ors and styles t │ │ │ │ │ -0000c220: 6f20 6265 2067 6976 656e 2077 6974 686f o be given witho │ │ │ │ │ -0000c230: 7574 0a63 6f72 7265 7370 6f6e 6469 6e67 ut.corresponding │ │ │ │ │ -0000c240: 206b 6579 732c 2066 6f72 2065 7861 6d70 keys, for examp │ │ │ │ │ -0000c250: 6c65 2c0a 2020 5c64 7261 775b 7265 642c le,. \draw[red, │ │ │ │ │ -0000c260: 756c 7472 6120 7468 6963 6b5d 2830 2c30 ultra thick](0,0 │ │ │ │ │ -0000c270: 292d 2d28 312c 3129 3b0a 7468 6973 2069 )--(1,1);.this i │ │ │ │ │ -0000c280: 7320 6e6f 7420 7065 726d 6974 7465 6420 s not permitted │ │ │ │ │ -0000c290: 696e 20e2 8098 736b 6574 6368 e280 992e in ...sketch.... │ │ │ │ │ -0000c2a0: 2020 546f 2064 7261 7720 6120 7265 642c To draw a red, │ │ │ │ │ -0000c2b0: 2075 6c74 7261 2d74 6869 636b 206c 696e ultra-thick lin │ │ │ │ │ -0000c2c0: 6520 696e 0ae2 8098 736b 6574 6368 e280 e in....sketch.. │ │ │ │ │ -0000c2d0: 992c 2074 6865 2066 6f72 6d20 6973 0a20 ., the form is. │ │ │ │ │ -0000c2e0: 206c 696e 655b 6472 6177 3d72 6564 2c73 line[draw=red,s │ │ │ │ │ -0000c2f0: 7479 6c65 3d75 6c74 7261 2074 6869 636b tyle=ultra thick │ │ │ │ │ -0000c300: 5d28 302c 3029 2831 2c31 290a 0a20 2020 ](0,0)(1,1).. │ │ │ │ │ -0000c310: 4a75 7374 2061 7320 666f 7220 e280 9850 Just as for ...P │ │ │ │ │ -0000c320: 5354 7269 636b 73e2 8099 2c20 7768 656e STricks..., when │ │ │ │ │ -0000c330: 2061 20e2 8098 706f 6c79 676f 6ee2 8099 a ...polygon... │ │ │ │ │ -0000c340: 2068 6173 206f 7074 696f 6e73 2066 6f72 has options for │ │ │ │ │ -0000c350: 2062 6f74 6820 6974 730a 6661 6365 2061 both its.face a │ │ │ │ │ -0000c360: 6e64 2069 7473 2065 6467 6573 2c20 616e nd its edges, an │ │ │ │ │ -0000c370: 6420 7468 6520 706f 6c79 676f 6e20 6973 d the polygon is │ │ │ │ │ -0000c380: 2073 706c 6974 2062 7920 7468 6520 6869 split by the hi │ │ │ │ │ -0000c390: 6464 656e 2073 7572 6661 6365 0a61 6c67 dden surface.alg │ │ │ │ │ -0000c3a0: 6f72 6974 686d 2c20 e280 9873 6b65 7463 orithm, ...sketc │ │ │ │ │ -0000c3b0: 68e2 8099 206d 7573 7420 636f 7079 2074 h... must copy t │ │ │ │ │ -0000c3c0: 6865 2065 6467 6520 6f70 7469 6f6e 7320 he edge options │ │ │ │ │ -0000c3d0: 746f 20e2 8098 7073 6c69 6e65 e280 9973 to ...psline...s │ │ │ │ │ -0000c3e0: 2066 6f72 2074 6865 2065 6467 650a 7365 for the edge.se │ │ │ │ │ -0000c3f0: 676d 656e 7473 2061 6e64 2074 6865 2066 gments and the f │ │ │ │ │ -0000c400: 6163 6520 6f70 7469 6f6e 7320 746f 20e2 ace options to . │ │ │ │ │ -0000c410: 8098 7073 706f 6c79 676f 6ee2 8099 732e ..pspolygon...s. │ │ │ │ │ -0000c420: 2020 e280 9854 696b 5a2f 5047 46e2 8099 ...TikZ/PGF... │ │ │ │ │ -0000c430: 206f 7074 696f 6e73 206b 6e6f 776e 0a74 options known.t │ │ │ │ │ -0000c440: 6f20 e280 9873 6b65 7463 68e2 8099 2066 o ...sketch... f │ │ │ │ │ -0000c450: 6f72 2070 7572 706f 7365 7320 6f66 2074 or purposes of t │ │ │ │ │ -0000c460: 6869 7320 7370 6c69 7474 696e 6720 6f70 his splitting op │ │ │ │ │ -0000c470: 6572 6174 696f 6e20 696e 636c 7564 6520 eration include │ │ │ │ │ -0000c480: e280 9861 7272 6f77 73e2 8099 2c0a e280 ...arrows...,... │ │ │ │ │ -0000c490: 9863 6170 e280 992c 20e2 8098 636f 6c6f .cap..., ...colo │ │ │ │ │ -0000c4a0: 72e2 8099 2c20 e280 9864 6173 6820 7061 r..., ...dash pa │ │ │ │ │ -0000c4b0: 7474 6572 6ee2 8099 2c20 e280 9864 6173 ttern..., ...das │ │ │ │ │ -0000c4c0: 6820 7068 6173 65e2 8099 2c20 e280 9864 h phase..., ...d │ │ │ │ │ -0000c4d0: 6f75 626c 65e2 8099 2c20 e280 9864 6f75 ouble..., ...dou │ │ │ │ │ -0000c4e0: 626c 650a 6469 7374 616e 6365 e280 992c ble.distance..., │ │ │ │ │ -0000c4f0: 20e2 8098 6472 6177 e280 992c 20e2 8098 ...draw..., ... │ │ │ │ │ -0000c500: 6472 6177 206f 7061 6369 7479 e280 992c draw opacity..., │ │ │ │ │ -0000c510: 20e2 8098 6669 6c6c e280 992c 20e2 8098 ...fill..., ... │ │ │ │ │ -0000c520: 6669 6c6c 206f 7061 6369 7479 e280 992c fill opacity..., │ │ │ │ │ -0000c530: 20e2 8098 6a6f 696e e280 992c 20e2 8098 ...join..., ... │ │ │ │ │ -0000c540: 6c69 6e65 0a77 6964 7468 e280 992c 20e2 line.width..., . │ │ │ │ │ -0000c550: 8098 6d69 7465 7220 6c69 6d69 74e2 8099 ..miter limit... │ │ │ │ │ -0000c560: 2c20 e280 9870 6174 7465 726e e280 992c , ...pattern..., │ │ │ │ │ -0000c570: 20e2 8098 7061 7474 6572 6e20 636f 6c6f ...pattern colo │ │ │ │ │ -0000c580: 72e2 8099 2c20 616e 6420 e280 9873 7479 r..., and ...sty │ │ │ │ │ -0000c590: 6c65 e280 992e 0a0a 2020 2054 6865 20e2 le...... The . │ │ │ │ │ -0000c5a0: 8098 7374 796c 65e2 8099 206f 7074 696f ..style... optio │ │ │ │ │ -0000c5b0: 6e20 6361 6e20 636f 6e74 6169 6e20 626f n can contain bo │ │ │ │ │ -0000c5c0: 7468 2066 6163 6520 616e 6420 6564 6765 th face and edge │ │ │ │ │ -0000c5d0: 2069 6e66 6f72 6d61 7469 6f6e 2c20 736f information, so │ │ │ │ │ -0000c5e0: 0ae2 8098 736b 6574 6368 e280 9920 6d75 ....sketch... mu │ │ │ │ │ -0000c5f0: 7374 2063 6865 636b 2074 6865 2073 7479 st check the sty │ │ │ │ │ -0000c600: 6c65 2076 616c 7565 2e20 2056 616c 7565 le value. Value │ │ │ │ │ -0000c610: 7320 6b6e 6f77 6e20 746f 20e2 8098 736b s known to ...sk │ │ │ │ │ -0000c620: 6574 6368 e280 9920 696e 636c 7564 650a etch... include. │ │ │ │ │ -0000c630: e280 9864 6173 6865 64e2 8099 2c20 e280 ...dashed..., .. │ │ │ │ │ -0000c640: 9864 656e 7365 6c79 2064 6173 6865 64e2 .densely dashed. │ │ │ │ │ -0000c650: 8099 2c20 e280 9864 656e 7365 6c79 2064 .., ...densely d │ │ │ │ │ -0000c660: 6f74 7465 64e2 8099 2c20 e280 9864 6f74 otted..., ...dot │ │ │ │ │ -0000c670: 7465 64e2 8099 2c20 e280 9864 6f75 626c ted..., ...doubl │ │ │ │ │ -0000c680: 65e2 8099 2c0a e280 986c 6f6f 7365 6c79 e...,....loosely │ │ │ │ │ -0000c690: 2064 6173 6865 64e2 8099 2c20 e280 986c dashed..., ...l │ │ │ │ │ -0000c6a0: 6f6f 7365 6c79 2064 6f74 7465 64e2 8099 oosely dotted... │ │ │ │ │ -0000c6b0: 2c20 e280 986e 6561 726c 7920 6f70 6171 , ...nearly opaq │ │ │ │ │ -0000c6c0: 7565 e280 992c 20e2 8098 6e65 6172 6c79 ue..., ...nearly │ │ │ │ │ -0000c6d0: 0a74 7261 6e73 7061 7265 6e74 e280 992c .transparent..., │ │ │ │ │ -0000c6e0: 20e2 8098 7365 6d69 7468 6963 6be2 8099 ...semithick... │ │ │ │ │ -0000c6f0: 2c20 e280 9873 656d 6974 7261 6e73 7061 , ...semitranspa │ │ │ │ │ -0000c700: 7265 6e74 e280 992c 20e2 8098 736f 6c69 rent..., ...soli │ │ │ │ │ -0000c710: 64e2 8099 2c20 e280 9874 6869 636b e280 d..., ...thick.. │ │ │ │ │ -0000c720: 992c 20e2 8098 7468 696e e280 992c 0ae2 ., ...thin...,.. │ │ │ │ │ -0000c730: 8098 7472 616e 7370 6172 656e 74e2 8099 ..transparent... │ │ │ │ │ -0000c740: 2c20 e280 9875 6c74 7261 206e 6561 726c , ...ultra nearl │ │ │ │ │ -0000c750: 7920 7472 616e 7370 6172 656e 74e2 8099 y transparent... │ │ │ │ │ -0000c760: 2c20 e280 9875 6c74 7261 2074 6869 636b , ...ultra thick │ │ │ │ │ -0000c770: e280 992c 20e2 8098 756c 7472 6120 7468 ..., ...ultra th │ │ │ │ │ -0000c780: 696e e280 992c 0ae2 8098 7665 7279 206e in...,....very n │ │ │ │ │ -0000c790: 6561 726c 7920 7472 616e 7370 6172 656e early transparen │ │ │ │ │ -0000c7a0: 74e2 8099 2c20 e280 9876 6572 7920 7468 t..., ...very th │ │ │ │ │ -0000c7b0: 6963 6be2 8099 2c20 616e 6420 e280 9876 ick..., and ...v │ │ │ │ │ -0000c7c0: 6572 7920 7468 696e e280 992e 0a0a 1f0a ery thin........ │ │ │ │ │ -0000c7d0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -0000c7e0: 6f2c 2020 4e6f 6465 3a20 446f 7473 2069 o, Node: Dots i │ │ │ │ │ -0000c7f0: 6e20 5469 6b5a 2f50 4746 2c20 204e 6578 n TikZ/PGF, Nex │ │ │ │ │ -0000c800: 743a 2054 696b 5a2f 5047 4620 7573 6572 t: TikZ/PGF user │ │ │ │ │ -0000c810: 2d64 6566 696e 6564 2073 7479 6c65 732c -defined styles, │ │ │ │ │ -0000c820: 2020 5072 6576 3a20 5469 6b5a 2f50 4746 Prev: TikZ/PGF │ │ │ │ │ -0000c830: 206f 7074 696f 6e73 2c20 2055 703a 204f options, Up: O │ │ │ │ │ -0000c840: 7074 696f 6e73 0a0a 332e 312e 352e 3320 ptions..3.1.5.3 │ │ │ │ │ -0000c850: 446f 7473 2069 6e20 e280 9854 696b 5a2f Dots in ...TikZ/ │ │ │ │ │ -0000c860: 5047 46e2 8099 0a2e 2e2e 2e2e 2e2e 2e2e PGF............. │ │ │ │ │ +0000b600: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +0000b610: e280 982d 58e2 8099 2020 2020 2020 2020 ...-X... │ │ │ │ │ +0000b620: 2020 2073 6361 6c61 7220 2020 2020 2073 scalar s │ │ │ │ │ +0000b630: 6361 6c61 7220 2020 2020 2055 6e61 7279 calar Unary │ │ │ │ │ +0000b640: 2073 6361 6c61 7220 6e65 6761 7469 6f6e scalar negation │ │ │ │ │ +0000b650: 2e0a e280 982d 58e2 8099 2020 2020 2020 .....-X... │ │ │ │ │ +0000b660: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ +0000b670: 2076 6563 746f 7220 2020 2020 2055 6e61 vector Una │ │ │ │ │ +0000b680: 7279 2076 6563 746f 7220 6e65 6761 7469 ry vector negati │ │ │ │ │ +0000b690: 6f6e 2e0a e280 987c 587c e280 9920 2020 on.....|X|... │ │ │ │ │ +0000b6a0: 2020 2020 2020 2076 6563 746f 7220 2020 vector │ │ │ │ │ +0000b6b0: 2020 2073 6361 6c61 7220 2020 2020 2056 scalar V │ │ │ │ │ +0000b6c0: 6563 746f 7220 6c65 6e67 7468 2e0a e280 ector length.... │ │ │ │ │ +0000b6d0: 9875 6e69 7428 5829 e280 9920 2020 2020 .unit(X)... │ │ │ │ │ +0000b6e0: 2076 6563 746f 7220 2020 2020 2076 6563 vector vec │ │ │ │ │ +0000b6f0: 746f 7220 2020 2020 2055 6e69 7420 7665 tor Unit ve │ │ │ │ │ +0000b700: 6374 6f72 2077 6974 6820 7361 6d65 2064 ctor with same d │ │ │ │ │ +0000b710: 6972 6563 7469 6f6e 2e0a e280 9873 7172 irection.....sqr │ │ │ │ │ +0000b720: 7428 5829 e280 9920 2020 2020 2073 6361 t(X)... sca │ │ │ │ │ +0000b730: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar │ │ │ │ │ +0000b740: 2020 2020 2053 6361 6c61 7220 7371 7561 Scalar squa │ │ │ │ │ +0000b750: 7265 2072 6f6f 742e 0ae2 8098 7369 6e28 re root.....sin( │ │ │ │ │ +0000b760: 5829 e280 9920 2020 2020 2020 7363 616c X)... scal │ │ │ │ │ +0000b770: 6172 2020 2020 2020 7363 616c 6172 2020 ar scalar │ │ │ │ │ +0000b780: 2020 2020 5472 6967 6f6e 6f6d 6574 7269 Trigonometri │ │ │ │ │ +0000b790: 6320 7369 6e65 2028 e280 9858 e280 9920 c sine (...X... │ │ │ │ │ +0000b7a0: 696e 2064 6567 7265 6573 292e 0ae2 8098 in degrees)..... │ │ │ │ │ +0000b7b0: 636f 7328 5829 e280 9920 2020 2020 2020 cos(X)... │ │ │ │ │ +0000b7c0: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal │ │ │ │ │ +0000b7d0: 6172 2020 2020 2020 5472 6967 6f6e 6f6d ar Trigonom │ │ │ │ │ +0000b7e0: 6574 7269 6320 636f 7369 6e65 2028 e280 etric cosine (.. │ │ │ │ │ +0000b7f0: 9858 e280 9920 696e 2064 6567 7265 6573 .X... in degrees │ │ │ │ │ +0000b800: 292e 0ae2 8098 6173 696e 2858 29e2 8099 ).....asin(X)... │ │ │ │ │ +0000b810: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ +0000b820: 2020 7363 616c 6172 2020 2020 2020 496e scalar In │ │ │ │ │ +0000b830: 7665 7273 6520 7369 6e65 2028 e280 9858 verse sine (...X │ │ │ │ │ +0000b840: e280 9920 696e 2064 6567 7265 6573 292e ... in degrees). │ │ │ │ │ +0000b850: 0ae2 8098 6163 6f73 2858 29e2 8099 2020 ....acos(X)... │ │ │ │ │ +0000b860: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ +0000b870: 7363 616c 6172 2020 2020 2020 496e 7665 scalar Inve │ │ │ │ │ +0000b880: 7273 6520 636f 7369 6e65 2028 e280 9858 rse cosine (...X │ │ │ │ │ +0000b890: e280 9920 696e 2064 6567 7265 6573 292e ... in degrees). │ │ │ │ │ +0000b8a0: 0ae2 8098 6174 616e 3228 582c 5929 e280 ....atan2(X,Y).. │ │ │ │ │ +0000b8b0: 9920 2020 7363 616c 6172 2020 2020 2020 . scalar │ │ │ │ │ +0000b8c0: 7363 616c 6172 2020 2020 2020 506f 6c61 scalar Pola │ │ │ │ │ +0000b8d0: 7220 616e 676c 6520 696e 2064 6567 7265 r angle in degre │ │ │ │ │ +0000b8e0: 6573 206f 6620 7665 6374 6f72 205b 582c es of vector [X, │ │ │ │ │ +0000b8f0: 595d 2e0a e280 9869 6e76 6572 7365 2858 Y].....inverse(X │ │ │ │ │ +0000b900: 29e2 8099 2020 2074 7261 6e73 666f 726d )... transform │ │ │ │ │ +0000b910: 2020 2074 7261 6e73 666f 726d 2020 2049 transform I │ │ │ │ │ +0000b920: 6e76 6572 7365 2074 7261 6e73 666f 726d nverse transform │ │ │ │ │ +0000b930: 2e0a 0a45 7272 6f72 7320 6172 6520 7265 ...Errors are re │ │ │ │ │ +0000b940: 706f 7274 6564 2077 6865 6e20 e280 987c ported when ...| │ │ │ │ │ +0000b950: 587c e280 992c 20e2 8098 756e 6974 e280 X|..., ...unit.. │ │ │ │ │ +0000b960: 992c 20e2 8098 6173 696e e280 992c 20e2 ., ...asin..., . │ │ │ │ │ +0000b970: 8098 6163 6f73 e280 992c 20e2 8098 7371 ..acos..., ...sq │ │ │ │ │ +0000b980: 7274 e280 992c 20e2 8098 6174 616e 32e2 rt..., ...atan2. │ │ │ │ │ +0000b990: 8099 2c0a 616e 6420 e280 9869 6e76 6572 ..,.and ...inver │ │ │ │ │ +0000b9a0: 7365 e280 9920 6661 696c 2064 7565 2074 se... fail due t │ │ │ │ │ +0000b9b0: 6f20 6f70 6572 616e 6473 206f 7574 7369 o operands outsi │ │ │ │ │ +0000b9c0: 6465 2074 6865 6972 2072 6573 7065 6374 de their respect │ │ │ │ │ +0000b9d0: 6976 6520 646f 6d61 696e 732e 0a0a 1f0a ive domains..... │ │ │ │ │ +0000b9e0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +0000b9f0: 6f2c 2020 4e6f 6465 3a20 4f70 7469 6f6e o, Node: Option │ │ │ │ │ +0000ba00: 732c 2020 5072 6576 3a20 4172 6974 686d s, Prev: Arithm │ │ │ │ │ +0000ba10: 6574 6963 2c20 2055 703a 204c 616e 6775 etic, Up: Langu │ │ │ │ │ +0000ba20: 6167 6520 6261 7369 6373 0a0a 332e 312e age basics..3.1. │ │ │ │ │ +0000ba30: 3520 4f70 7469 6f6e 730a 2d2d 2d2d 2d2d 5 Options.------ │ │ │ │ │ +0000ba40: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax │ │ │ │ │ +0000ba50: 3a2a 0a20 2020 2020 5b4b 4559 313d 5641 :*. [KEY1=VA │ │ │ │ │ +0000ba60: 4c31 2c4b 4559 323d 5641 4c32 2c2e 2e2e L1,KEY2=VAL2,... │ │ │ │ │ +0000ba70: 5d0a 4f70 7469 6f6e 7320 6172 6520 7573 ].Options are us │ │ │ │ │ +0000ba80: 6564 2074 6f20 7370 6563 6966 7920 6465 ed to specify de │ │ │ │ │ +0000ba90: 7461 696c 7320 6f66 2074 6865 2061 7070 tails of the app │ │ │ │ │ +0000baa0: 6561 7261 6e63 6520 6f66 2064 7261 7761 earance of drawa │ │ │ │ │ +0000bab0: 626c 6573 2e20 2041 730a 7368 6f77 6e20 bles. As.shown │ │ │ │ │ +0000bac0: 6162 6f76 652c 2074 6865 7920 6172 6520 above, they are │ │ │ │ │ +0000bad0: 6769 7665 6e20 6173 2063 6f6d 6d61 2d73 given as comma-s │ │ │ │ │ +0000bae0: 6570 6172 6174 6564 206b 6579 2d76 616c eparated key-val │ │ │ │ │ +0000baf0: 7565 2070 6169 7273 2e0a 0a2a 204d 656e ue pairs...* Men │ │ │ │ │ +0000bb00: 753a 0a0a 2a20 5053 5472 6963 6b73 206f u:..* PSTricks o │ │ │ │ │ +0000bb10: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: │ │ │ │ │ +0000bb20: 2020 2020 4f70 7469 6f6e 7320 696e 6865 Options inhe │ │ │ │ │ +0000bb30: 7269 7465 6420 6672 6f6d 20e2 8098 5053 rited from ...PS │ │ │ │ │ +0000bb40: 5472 6963 6b73 e280 992e 0a2a 2054 696b Tricks.....* Tik │ │ │ │ │ +0000bb50: 5a2f 5047 4620 6f70 7469 6f6e 733a 3a20 Z/PGF options:: │ │ │ │ │ +0000bb60: 2020 2020 2020 2020 2020 204f 7074 696f Optio │ │ │ │ │ +0000bb70: 6e73 2069 6e68 6572 6974 6564 2066 726f ns inherited fro │ │ │ │ │ +0000bb80: 6d20 e280 9854 696b 5a2f 5047 46e2 8099 m ...TikZ/PGF... │ │ │ │ │ +0000bb90: 2e0a 2a20 446f 7473 2069 6e20 5469 6b5a ..* Dots in TikZ │ │ │ │ │ +0000bba0: 2f50 4746 3a3a 2020 2020 2020 2020 2020 /PGF:: │ │ │ │ │ +0000bbb0: 2020 536b 6574 6368 2075 7365 7320 e280 Sketch uses .. │ │ │ │ │ +0000bbc0: 9854 696b 5a2f 5047 46e2 8099 2063 6972 .TikZ/PGF... cir │ │ │ │ │ +0000bbd0: 636c 6573 2066 6f72 2064 6f74 732e 0a2a cles for dots..* │ │ │ │ │ +0000bbe0: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d │ │ │ │ │ +0000bbf0: 6566 696e 6564 2073 7479 6c65 733a 3a20 efined styles:: │ │ │ │ │ +0000bc00: 2053 7570 706f 7274 2066 6f72 20e2 8098 Support for ... │ │ │ │ │ +0000bc10: 5469 6b5a 2f50 4746 e280 9920 6e61 6d65 TikZ/PGF... name │ │ │ │ │ +0000bc20: 642c 2075 7365 722d 6465 6669 6e65 6420 d, user-defined │ │ │ │ │ +0000bc30: 7374 796c 6573 2e0a 2a20 5472 616e 7370 styles..* Transp │ │ │ │ │ +0000bc40: 6172 656e 6379 3a3a 2020 2020 2020 2020 arency:: │ │ │ │ │ +0000bc50: 2020 2020 2020 2020 5365 652d 7468 726f See-thro │ │ │ │ │ +0000bc60: 7567 6820 706f 6c79 676f 6e73 2e0a 2a20 ugh polygons..* │ │ │ │ │ +0000bc70: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options │ │ │ │ │ +0000bc80: 3a3a 2020 2020 2020 2020 2020 2020 4f70 :: Op │ │ │ │ │ +0000bc90: 7469 6f6e 7320 7573 6564 2062 7920 e280 tions used by .. │ │ │ │ │ +0000bca0: 9873 6b65 7463 68e2 8099 2e0a 0a1f 0a46 .sketch........F │ │ │ │ │ +0000bcb0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +0000bcc0: 2c20 204e 6f64 653a 2050 5354 7269 636b , Node: PSTrick │ │ │ │ │ +0000bcd0: 7320 6f70 7469 6f6e 732c 2020 4e65 7874 s options, Next │ │ │ │ │ +0000bce0: 3a20 5469 6b5a 2f50 4746 206f 7074 696f : TikZ/PGF optio │ │ │ │ │ +0000bcf0: 6e73 2c20 2050 7265 763a 204f 7074 696f ns, Prev: Optio │ │ │ │ │ +0000bd00: 6e73 2c20 2055 703a 204f 7074 696f 6e73 ns, Up: Options │ │ │ │ │ +0000bd10: 0a0a 332e 312e 352e 3120 e280 9850 5354 ..3.1.5.1 ...PST │ │ │ │ │ +0000bd20: 7269 636b 73e2 8099 206f 7074 696f 6e73 ricks... options │ │ │ │ │ +0000bd30: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +0000bd40: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a57 6865 .............Whe │ │ │ │ │ +0000bd50: 6e20 e280 986c 616e 6775 6167 6520 7073 n ...language ps │ │ │ │ │ +0000bd60: 7472 6963 6b73 e280 9920 6973 2073 656c tricks... is sel │ │ │ │ │ +0000bd70: 6563 7465 6420 2874 6865 2064 6566 6175 ected (the defau │ │ │ │ │ +0000bd80: 6c74 292c 2070 6572 6d69 7373 6962 6c65 lt), permissible │ │ │ │ │ +0000bd90: 0a6b 6579 2d76 616c 7565 2070 6169 7273 .key-value pairs │ │ │ │ │ +0000bda0: 2069 6e63 6c75 6465 2061 6c6c 2074 686f include all tho │ │ │ │ │ +0000bdb0: 7365 2066 6f72 2073 696d 696c 6172 20e2 se for similar . │ │ │ │ │ +0000bdc0: 8098 5053 5472 6963 6b73 e280 9920 6f62 ..PSTricks... ob │ │ │ │ │ +0000bdd0: 6a65 6374 732e 2020 466f 720a 6578 616d jects. For.exam │ │ │ │ │ +0000bde0: 706c 652c 2061 2070 6f6c 7967 6f6e 206d ple, a polygon m │ │ │ │ │ +0000bdf0: 6967 6874 2068 6176 6520 7468 6520 6f70 ight have the op │ │ │ │ │ +0000be00: 7469 6f6e 730a 2020 5b6c 696e 6577 6964 tions. [linewid │ │ │ │ │ +0000be10: 7468 3d31 7074 2c6c 696e 6563 6f6c 6f72 th=1pt,linecolor │ │ │ │ │ +0000be20: 3d62 6c75 652c 6669 6c6c 636f 6c6f 723d =blue,fillcolor= │ │ │ │ │ +0000be30: 6379 616e 5d0a e280 9853 6b65 7463 68e2 cyan]....Sketch. │ │ │ │ │ +0000be40: 8099 206d 6572 656c 7920 7061 7373 6573 .. merely passes │ │ │ │ │ +0000be50: 2074 6865 7365 206f 6e20 746f 20e2 8098 these on to ... │ │ │ │ │ +0000be60: 5053 5472 6963 6b73 e280 9920 7769 7468 PSTricks... with │ │ │ │ │ +0000be70: 6f75 7420 6368 6563 6b69 6e67 206f 720a out checking or. │ │ │ │ │ +0000be80: 6d6f 6469 6669 6361 7469 6f6e 2e20 204f modification. O │ │ │ │ │ +0000be90: 7074 696f 6e20 6c69 7374 7320 6172 6520 ption lists are │ │ │ │ │ +0000bea0: 616c 7761 7973 206f 7074 696f 6e61 6c2e always optional. │ │ │ │ │ +0000beb0: 2020 4120 6d69 7373 696e 6720 6f70 7469 A missing opti │ │ │ │ │ +0000bec0: 6f6e 7320 6c69 7374 0a69 7320 6571 7569 ons list.is equi │ │ │ │ │ +0000bed0: 7661 6c65 6e74 2074 6f20 616e 2065 6d70 valent to an emp │ │ │ │ │ +0000bee0: 7479 206f 6e65 20e2 8098 5b5d e280 992e ty one ...[].... │ │ │ │ │ +0000bef0: 0a0a 2020 2057 6865 6e20 6120 e280 9870 .. When a ...p │ │ │ │ │ +0000bf00: 6f6c 7967 6f6e e280 9920 6861 7320 6f70 olygon... has op │ │ │ │ │ +0000bf10: 7469 6f6e 7320 666f 7220 626f 7468 2069 tions for both i │ │ │ │ │ +0000bf20: 7473 2066 6163 6520 616e 6420 6974 7320 ts face and its │ │ │ │ │ +0000bf30: 6564 6765 732c 2061 6e64 2074 6865 0a70 edges, and the.p │ │ │ │ │ +0000bf40: 6f6c 7967 6f6e 2069 7320 7370 6c69 7420 olygon is split │ │ │ │ │ +0000bf50: 6279 2074 6865 2068 6964 6465 6e20 7375 by the hidden su │ │ │ │ │ +0000bf60: 7266 6163 6520 616c 676f 7269 7468 6d2c rface algorithm, │ │ │ │ │ +0000bf70: 20e2 8098 736b 6574 6368 e280 9920 6d75 ...sketch... mu │ │ │ │ │ +0000bf80: 7374 2063 6f70 7920 7468 650a 6564 6765 st copy the.edge │ │ │ │ │ +0000bf90: 206f 7074 696f 6e73 2074 6f20 e280 9870 options to ...p │ │ │ │ │ +0000bfa0: 736c 696e 65e2 8099 7320 666f 7220 7468 sline...s for th │ │ │ │ │ +0000bfb0: 6520 6564 6765 2073 6567 6d65 6e74 7320 e edge segments │ │ │ │ │ +0000bfc0: 616e 6420 7468 6520 6661 6365 206f 7074 and the face opt │ │ │ │ │ +0000bfd0: 696f 6e73 2074 6f0a e280 9870 7370 6f6c ions to....pspol │ │ │ │ │ +0000bfe0: 7967 6f6e e280 9973 2e20 204f 7074 696f ygon...s. Optio │ │ │ │ │ +0000bff0: 6e73 206b 6e6f 776e 2074 6f20 e280 9873 ns known to ...s │ │ │ │ │ +0000c000: 6b65 7463 68e2 8099 2066 6f72 2070 7572 ketch... for pur │ │ │ │ │ +0000c010: 706f 7365 7320 6f66 2074 6869 7320 7370 poses of this sp │ │ │ │ │ +0000c020: 6c69 7474 696e 670a 6f70 6572 6174 696f litting.operatio │ │ │ │ │ +0000c030: 6e20 696e 636c 7564 6520 e280 9861 7272 n include ...arr │ │ │ │ │ +0000c040: 6f77 73e2 8099 2c20 e280 9864 6173 68e2 ows..., ...dash. │ │ │ │ │ +0000c050: 8099 2c20 e280 9864 6f74 7365 70e2 8099 .., ...dotsep... │ │ │ │ │ +0000c060: 2c20 e280 9866 696c 6c63 6f6c 6f72 e280 , ...fillcolor.. │ │ │ │ │ +0000c070: 992c 20e2 8098 6669 6c6c 7374 796c 65e2 ., ...fillstyle. │ │ │ │ │ +0000c080: 8099 2c0a e280 986c 696e 6563 6f6c 6f72 ..,....linecolor │ │ │ │ │ +0000c090: e280 992c 20e2 8098 6c69 6e65 7374 796c ..., ...linestyl │ │ │ │ │ +0000c0a0: 65e2 8099 2c20 e280 986c 696e 6577 6964 e..., ...linewid │ │ │ │ │ +0000c0b0: 7468 e280 992c 20e2 8098 6f70 6163 6974 th..., ...opacit │ │ │ │ │ +0000c0c0: 79e2 8099 2c20 e280 9873 686f 7770 6f69 y..., ...showpoi │ │ │ │ │ +0000c0d0: 6e74 73e2 8099 2c0a e280 9873 7472 6f6b nts...,....strok │ │ │ │ │ +0000c0e0: 656f 7061 6369 7479 e280 992c 2061 6e64 eopacity..., and │ │ │ │ │ +0000c0f0: 20e2 8098 7472 616e 7370 616c 7068 61e2 ...transpalpha. │ │ │ │ │ +0000c100: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske │ │ │ │ │ +0000c110: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +0000c120: 2054 696b 5a2f 5047 4620 6f70 7469 6f6e TikZ/PGF option │ │ │ │ │ +0000c130: 732c 2020 4e65 7874 3a20 446f 7473 2069 s, Next: Dots i │ │ │ │ │ +0000c140: 6e20 5469 6b5a 2f50 4746 2c20 2050 7265 n TikZ/PGF, Pre │ │ │ │ │ +0000c150: 763a 2050 5354 7269 636b 7320 6f70 7469 v: PSTricks opti │ │ │ │ │ +0000c160: 6f6e 732c 2020 5570 3a20 4f70 7469 6f6e ons, Up: Option │ │ │ │ │ +0000c170: 730a 0a33 2e31 2e35 2e32 20e2 8098 5469 s..3.1.5.2 ...Ti │ │ │ │ │ +0000c180: 6b5a 2f50 4746 e280 9920 6f70 7469 6f6e kZ/PGF... option │ │ │ │ │ +0000c190: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s............... │ │ │ │ │ +0000c1a0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a e280 ................ │ │ │ │ │ +0000c1b0: 9854 696b 5a2f 5047 46e2 8099 206f 7074 .TikZ/PGF... opt │ │ │ │ │ +0000c1c0: 696f 6e73 2061 7265 2068 616e 646c 6564 ions are handled │ │ │ │ │ +0000c1d0: 206d 7563 6820 6173 2066 6f72 20e2 8098 much as for ... │ │ │ │ │ +0000c1e0: 5053 5472 6963 6b73 e280 992e 2020 5468 PSTricks.... Th │ │ │ │ │ +0000c1f0: 6f75 6768 0ae2 8098 5469 6b5a 2f50 4746 ough....TikZ/PGF │ │ │ │ │ +0000c200: e280 9920 6f66 7465 6e20 616c 6c6f 7773 ... often allows │ │ │ │ │ +0000c210: 2063 6f6c 6f72 7320 616e 6420 7374 796c colors and styl │ │ │ │ │ +0000c220: 6573 2074 6f20 6265 2067 6976 656e 2077 es to be given w │ │ │ │ │ +0000c230: 6974 686f 7574 0a63 6f72 7265 7370 6f6e ithout.correspon │ │ │ │ │ +0000c240: 6469 6e67 206b 6579 732c 2066 6f72 2065 ding keys, for e │ │ │ │ │ +0000c250: 7861 6d70 6c65 2c0a 2020 5c64 7261 775b xample,. \draw[ │ │ │ │ │ +0000c260: 7265 642c 756c 7472 6120 7468 6963 6b5d red,ultra thick] │ │ │ │ │ +0000c270: 2830 2c30 292d 2d28 312c 3129 3b0a 7468 (0,0)--(1,1);.th │ │ │ │ │ +0000c280: 6973 2069 7320 6e6f 7420 7065 726d 6974 is is not permit │ │ │ │ │ +0000c290: 7465 6420 696e 20e2 8098 736b 6574 6368 ted in ...sketch │ │ │ │ │ +0000c2a0: e280 992e 2020 546f 2064 7261 7720 6120 .... To draw a │ │ │ │ │ +0000c2b0: 7265 642c 2075 6c74 7261 2d74 6869 636b red, ultra-thick │ │ │ │ │ +0000c2c0: 206c 696e 6520 696e 0ae2 8098 736b 6574 line in....sket │ │ │ │ │ +0000c2d0: 6368 e280 992c 2074 6865 2066 6f72 6d20 ch..., the form │ │ │ │ │ +0000c2e0: 6973 0a20 206c 696e 655b 6472 6177 3d72 is. line[draw=r │ │ │ │ │ +0000c2f0: 6564 2c73 7479 6c65 3d75 6c74 7261 2074 ed,style=ultra t │ │ │ │ │ +0000c300: 6869 636b 5d28 302c 3029 2831 2c31 290a hick](0,0)(1,1). │ │ │ │ │ +0000c310: 0a20 2020 4a75 7374 2061 7320 666f 7220 . Just as for │ │ │ │ │ +0000c320: e280 9850 5354 7269 636b 73e2 8099 2c20 ...PSTricks..., │ │ │ │ │ +0000c330: 7768 656e 2061 20e2 8098 706f 6c79 676f when a ...polygo │ │ │ │ │ +0000c340: 6ee2 8099 2068 6173 206f 7074 696f 6e73 n... has options │ │ │ │ │ +0000c350: 2066 6f72 2062 6f74 6820 6974 730a 6661 for both its.fa │ │ │ │ │ +0000c360: 6365 2061 6e64 2069 7473 2065 6467 6573 ce and its edges │ │ │ │ │ +0000c370: 2c20 616e 6420 7468 6520 706f 6c79 676f , and the polygo │ │ │ │ │ +0000c380: 6e20 6973 2073 706c 6974 2062 7920 7468 n is split by th │ │ │ │ │ +0000c390: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface │ │ │ │ │ +0000c3a0: 0a61 6c67 6f72 6974 686d 2c20 e280 9873 .algorithm, ...s │ │ │ │ │ +0000c3b0: 6b65 7463 68e2 8099 206d 7573 7420 636f ketch... must co │ │ │ │ │ +0000c3c0: 7079 2074 6865 2065 6467 6520 6f70 7469 py the edge opti │ │ │ │ │ +0000c3d0: 6f6e 7320 746f 20e2 8098 7073 6c69 6e65 ons to ...psline │ │ │ │ │ +0000c3e0: e280 9973 2066 6f72 2074 6865 2065 6467 ...s for the edg │ │ │ │ │ +0000c3f0: 650a 7365 676d 656e 7473 2061 6e64 2074 e.segments and t │ │ │ │ │ +0000c400: 6865 2066 6163 6520 6f70 7469 6f6e 7320 he face options │ │ │ │ │ +0000c410: 746f 20e2 8098 7073 706f 6c79 676f 6ee2 to ...pspolygon. │ │ │ │ │ +0000c420: 8099 732e 2020 e280 9854 696b 5a2f 5047 ..s. ...TikZ/PG │ │ │ │ │ +0000c430: 46e2 8099 206f 7074 696f 6e73 206b 6e6f F... options kno │ │ │ │ │ +0000c440: 776e 0a74 6f20 e280 9873 6b65 7463 68e2 wn.to ...sketch. │ │ │ │ │ +0000c450: 8099 2066 6f72 2070 7572 706f 7365 7320 .. for purposes │ │ │ │ │ +0000c460: 6f66 2074 6869 7320 7370 6c69 7474 696e of this splittin │ │ │ │ │ +0000c470: 6720 6f70 6572 6174 696f 6e20 696e 636c g operation incl │ │ │ │ │ +0000c480: 7564 6520 e280 9861 7272 6f77 73e2 8099 ude ...arrows... │ │ │ │ │ +0000c490: 2c0a e280 9863 6170 e280 992c 20e2 8098 ,....cap..., ... │ │ │ │ │ +0000c4a0: 636f 6c6f 72e2 8099 2c20 e280 9864 6173 color..., ...das │ │ │ │ │ +0000c4b0: 6820 7061 7474 6572 6ee2 8099 2c20 e280 h pattern..., .. │ │ │ │ │ +0000c4c0: 9864 6173 6820 7068 6173 65e2 8099 2c20 .dash phase..., │ │ │ │ │ +0000c4d0: e280 9864 6f75 626c 65e2 8099 2c20 e280 ...double..., .. │ │ │ │ │ +0000c4e0: 9864 6f75 626c 650a 6469 7374 616e 6365 .double.distance │ │ │ │ │ +0000c4f0: e280 992c 20e2 8098 6472 6177 e280 992c ..., ...draw..., │ │ │ │ │ +0000c500: 20e2 8098 6472 6177 206f 7061 6369 7479 ...draw opacity │ │ │ │ │ +0000c510: e280 992c 20e2 8098 6669 6c6c e280 992c ..., ...fill..., │ │ │ │ │ +0000c520: 20e2 8098 6669 6c6c 206f 7061 6369 7479 ...fill opacity │ │ │ │ │ +0000c530: e280 992c 20e2 8098 6a6f 696e e280 992c ..., ...join..., │ │ │ │ │ +0000c540: 20e2 8098 6c69 6e65 0a77 6964 7468 e280 ...line.width.. │ │ │ │ │ +0000c550: 992c 20e2 8098 6d69 7465 7220 6c69 6d69 ., ...miter limi │ │ │ │ │ +0000c560: 74e2 8099 2c20 e280 9870 6174 7465 726e t..., ...pattern │ │ │ │ │ +0000c570: e280 992c 20e2 8098 7061 7474 6572 6e20 ..., ...pattern │ │ │ │ │ +0000c580: 636f 6c6f 72e2 8099 2c20 616e 6420 e280 color..., and .. │ │ │ │ │ +0000c590: 9873 7479 6c65 e280 992e 0a0a 2020 2054 .style...... T │ │ │ │ │ +0000c5a0: 6865 20e2 8098 7374 796c 65e2 8099 206f he ...style... o │ │ │ │ │ +0000c5b0: 7074 696f 6e20 6361 6e20 636f 6e74 6169 ption can contai │ │ │ │ │ +0000c5c0: 6e20 626f 7468 2066 6163 6520 616e 6420 n both face and │ │ │ │ │ +0000c5d0: 6564 6765 2069 6e66 6f72 6d61 7469 6f6e edge information │ │ │ │ │ +0000c5e0: 2c20 736f 0ae2 8098 736b 6574 6368 e280 , so....sketch.. │ │ │ │ │ +0000c5f0: 9920 6d75 7374 2063 6865 636b 2074 6865 . must check the │ │ │ │ │ +0000c600: 2073 7479 6c65 2076 616c 7565 2e20 2056 style value. V │ │ │ │ │ +0000c610: 616c 7565 7320 6b6e 6f77 6e20 746f 20e2 alues known to . │ │ │ │ │ +0000c620: 8098 736b 6574 6368 e280 9920 696e 636c ..sketch... incl │ │ │ │ │ +0000c630: 7564 650a e280 9864 6173 6865 64e2 8099 ude....dashed... │ │ │ │ │ +0000c640: 2c20 e280 9864 656e 7365 6c79 2064 6173 , ...densely das │ │ │ │ │ +0000c650: 6865 64e2 8099 2c20 e280 9864 656e 7365 hed..., ...dense │ │ │ │ │ +0000c660: 6c79 2064 6f74 7465 64e2 8099 2c20 e280 ly dotted..., .. │ │ │ │ │ +0000c670: 9864 6f74 7465 64e2 8099 2c20 e280 9864 .dotted..., ...d │ │ │ │ │ +0000c680: 6f75 626c 65e2 8099 2c0a e280 986c 6f6f ouble...,....loo │ │ │ │ │ +0000c690: 7365 6c79 2064 6173 6865 64e2 8099 2c20 sely dashed..., │ │ │ │ │ +0000c6a0: e280 986c 6f6f 7365 6c79 2064 6f74 7465 ...loosely dotte │ │ │ │ │ +0000c6b0: 64e2 8099 2c20 e280 986e 6561 726c 7920 d..., ...nearly │ │ │ │ │ +0000c6c0: 6f70 6171 7565 e280 992c 20e2 8098 6e65 opaque..., ...ne │ │ │ │ │ +0000c6d0: 6172 6c79 0a74 7261 6e73 7061 7265 6e74 arly.transparent │ │ │ │ │ +0000c6e0: e280 992c 20e2 8098 7365 6d69 7468 6963 ..., ...semithic │ │ │ │ │ +0000c6f0: 6be2 8099 2c20 e280 9873 656d 6974 7261 k..., ...semitra │ │ │ │ │ +0000c700: 6e73 7061 7265 6e74 e280 992c 20e2 8098 nsparent..., ... │ │ │ │ │ +0000c710: 736f 6c69 64e2 8099 2c20 e280 9874 6869 solid..., ...thi │ │ │ │ │ +0000c720: 636b e280 992c 20e2 8098 7468 696e e280 ck..., ...thin.. │ │ │ │ │ +0000c730: 992c 0ae2 8098 7472 616e 7370 6172 656e .,....transparen │ │ │ │ │ +0000c740: 74e2 8099 2c20 e280 9875 6c74 7261 206e t..., ...ultra n │ │ │ │ │ +0000c750: 6561 726c 7920 7472 616e 7370 6172 656e early transparen │ │ │ │ │ +0000c760: 74e2 8099 2c20 e280 9875 6c74 7261 2074 t..., ...ultra t │ │ │ │ │ +0000c770: 6869 636b e280 992c 20e2 8098 756c 7472 hick..., ...ultr │ │ │ │ │ +0000c780: 6120 7468 696e e280 992c 0ae2 8098 7665 a thin...,....ve │ │ │ │ │ +0000c790: 7279 206e 6561 726c 7920 7472 616e 7370 ry nearly transp │ │ │ │ │ +0000c7a0: 6172 656e 74e2 8099 2c20 e280 9876 6572 arent..., ...ver │ │ │ │ │ +0000c7b0: 7920 7468 6963 6be2 8099 2c20 616e 6420 y thick..., and │ │ │ │ │ +0000c7c0: e280 9876 6572 7920 7468 696e e280 992e ...very thin.... │ │ │ │ │ +0000c7d0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +0000c7e0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 446f .info, Node: Do │ │ │ │ │ +0000c7f0: 7473 2069 6e20 5469 6b5a 2f50 4746 2c20 ts in TikZ/PGF, │ │ │ │ │ +0000c800: 204e 6578 743a 2054 696b 5a2f 5047 4620 Next: TikZ/PGF │ │ │ │ │ +0000c810: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ +0000c820: 6c65 732c 2020 5072 6576 3a20 5469 6b5a les, Prev: TikZ │ │ │ │ │ +0000c830: 2f50 4746 206f 7074 696f 6e73 2c20 2055 /PGF options, U │ │ │ │ │ +0000c840: 703a 204f 7074 696f 6e73 0a0a 332e 312e p: Options..3.1. │ │ │ │ │ +0000c850: 352e 3320 446f 7473 2069 6e20 e280 9854 5.3 Dots in ...T │ │ │ │ │ +0000c860: 696b 5a2f 5047 46e2 8099 0a2e 2e2e 2e2e ikZ/PGF......... │ │ │ │ │ 0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000c880: 2e0a 0ae2 8098 5469 6b5a 2f50 4746 e280 ......TikZ/PGF.. │ │ │ │ │ -0000c890: 9920 646f 6573 206e 6f74 2068 6176 6520 . does not have │ │ │ │ │ -0000c8a0: 6120 e280 9864 6f74 73e2 8099 2063 6f6d a ...dots... com │ │ │ │ │ -0000c8b0: 6d61 6e64 2061 7320 646f 6573 2050 5354 mand as does PST │ │ │ │ │ -0000c8c0: 7269 636b 732e 2020 496e 7374 6561 642c ricks. Instead, │ │ │ │ │ -0000c8d0: 0ae2 8098 536b 6574 6368 e280 9920 656d ....Sketch... em │ │ │ │ │ -0000c8e0: 6974 7320 646f 7473 2061 7320 e280 9866 its dots as ...f │ │ │ │ │ -0000c8f0: 696c 6c64 7261 77e2 8099 2063 6972 636c illdraw... circl │ │ │ │ │ -0000c900: 6573 2e20 2054 6865 2064 6961 6d65 7465 es. The diamete │ │ │ │ │ -0000c910: 7220 6d61 7920 6265 2073 6574 0a75 7369 r may be set.usi │ │ │ │ │ -0000c920: 6e67 2074 6865 206f 7074 696f 6e20 e280 ng the option .. │ │ │ │ │ -0000c930: 9864 6f74 7369 7a65 e280 9920 626f 7272 .dotsize... borr │ │ │ │ │ -0000c940: 6f77 6564 2066 726f 6d20 5053 5472 6963 owed from PSTric │ │ │ │ │ -0000c950: 6b73 2e20 2054 6865 20e2 8098 646f 7473 ks. The ...dots │ │ │ │ │ -0000c960: 697a 65e2 8099 206f 7074 696f 6e0a 7769 ize... option.wi │ │ │ │ │ -0000c970: 6c6c 2062 6520 7265 6d6f 7665 6420 6672 ll be removed fr │ │ │ │ │ -0000c980: 6f6d 2074 6865 206f 7074 696f 6e20 6c69 om the option li │ │ │ │ │ -0000c990: 7374 2069 6e20 7468 6520 6f75 7470 7574 st in the output │ │ │ │ │ -0000c9a0: 20e2 8098 6669 6c6c 6472 6177 e280 9920 ...filldraw... │ │ │ │ │ -0000c9b0: 636f 6d6d 616e 642e 0a4f 7468 6572 206f command..Other o │ │ │ │ │ -0000c9c0: 7074 696f 6e73 2077 6f72 6b20 696e 2074 ptions work in t │ │ │ │ │ -0000c9d0: 6865 2065 7870 6563 7465 6420 7761 792e he expected way. │ │ │ │ │ -0000c9e0: 2020 466f 7220 6578 616d 706c 652c 20e2 For example, . │ │ │ │ │ -0000c9f0: 8098 6669 6c6c e280 9920 7365 7473 2066 ..fill... sets f │ │ │ │ │ -0000ca00: 696c 6c0a 636f 6c6f 7220 616e 6420 e280 ill.color and .. │ │ │ │ │ -0000ca10: 9863 6f6c 6f72 e280 9920 7365 7473 206c .color... sets l │ │ │ │ │ -0000ca20: 696e 6520 636f 6c6f 7220 6f66 2074 6865 ine color of the │ │ │ │ │ -0000ca30: 2063 6972 636c 6573 2e0a 0a1f 0a46 696c circles.....Fil │ │ │ │ │ -0000ca40: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -0000ca50: 204e 6f64 653a 2054 696b 5a2f 5047 4620 Node: TikZ/PGF │ │ │ │ │ -0000ca60: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ -0000ca70: 6c65 732c 2020 4e65 7874 3a20 5472 616e les, Next: Tran │ │ │ │ │ -0000ca80: 7370 6172 656e 6379 2c20 2050 7265 763a sparency, Prev: │ │ │ │ │ -0000ca90: 2044 6f74 7320 696e 2054 696b 5a2f 5047 Dots in TikZ/PG │ │ │ │ │ -0000caa0: 462c 2020 5570 3a20 4f70 7469 6f6e 730a F, Up: Options. │ │ │ │ │ -0000cab0: 0a33 2e31 2e35 2e34 20e2 8098 5469 6b5a .3.1.5.4 ...TikZ │ │ │ │ │ -0000cac0: 2f50 4746 e280 9920 7573 6572 2d64 6566 /PGF... user-def │ │ │ │ │ -0000cad0: 696e 6564 2073 7479 6c65 730a 2e2e 2e2e ined styles..... │ │ │ │ │ +0000c880: 2e2e 2e2e 2e0a 0ae2 8098 5469 6b5a 2f50 ..........TikZ/P │ │ │ │ │ +0000c890: 4746 e280 9920 646f 6573 206e 6f74 2068 GF... does not h │ │ │ │ │ +0000c8a0: 6176 6520 6120 e280 9864 6f74 73e2 8099 ave a ...dots... │ │ │ │ │ +0000c8b0: 2063 6f6d 6d61 6e64 2061 7320 646f 6573 command as does │ │ │ │ │ +0000c8c0: 2050 5354 7269 636b 732e 2020 496e 7374 PSTricks. Inst │ │ │ │ │ +0000c8d0: 6561 642c 0ae2 8098 536b 6574 6368 e280 ead,....Sketch.. │ │ │ │ │ +0000c8e0: 9920 656d 6974 7320 646f 7473 2061 7320 . emits dots as │ │ │ │ │ +0000c8f0: e280 9866 696c 6c64 7261 77e2 8099 2063 ...filldraw... c │ │ │ │ │ +0000c900: 6972 636c 6573 2e20 2054 6865 2064 6961 ircles. The dia │ │ │ │ │ +0000c910: 6d65 7465 7220 6d61 7920 6265 2073 6574 meter may be set │ │ │ │ │ +0000c920: 0a75 7369 6e67 2074 6865 206f 7074 696f .using the optio │ │ │ │ │ +0000c930: 6e20 e280 9864 6f74 7369 7a65 e280 9920 n ...dotsize... │ │ │ │ │ +0000c940: 626f 7272 6f77 6564 2066 726f 6d20 5053 borrowed from PS │ │ │ │ │ +0000c950: 5472 6963 6b73 2e20 2054 6865 20e2 8098 Tricks. The ... │ │ │ │ │ +0000c960: 646f 7473 697a 65e2 8099 206f 7074 696f dotsize... optio │ │ │ │ │ +0000c970: 6e0a 7769 6c6c 2062 6520 7265 6d6f 7665 n.will be remove │ │ │ │ │ +0000c980: 6420 6672 6f6d 2074 6865 206f 7074 696f d from the optio │ │ │ │ │ +0000c990: 6e20 6c69 7374 2069 6e20 7468 6520 6f75 n list in the ou │ │ │ │ │ +0000c9a0: 7470 7574 20e2 8098 6669 6c6c 6472 6177 tput ...filldraw │ │ │ │ │ +0000c9b0: e280 9920 636f 6d6d 616e 642e 0a4f 7468 ... command..Oth │ │ │ │ │ +0000c9c0: 6572 206f 7074 696f 6e73 2077 6f72 6b20 er options work │ │ │ │ │ +0000c9d0: 696e 2074 6865 2065 7870 6563 7465 6420 in the expected │ │ │ │ │ +0000c9e0: 7761 792e 2020 466f 7220 6578 616d 706c way. For exampl │ │ │ │ │ +0000c9f0: 652c 20e2 8098 6669 6c6c e280 9920 7365 e, ...fill... se │ │ │ │ │ +0000ca00: 7473 2066 696c 6c0a 636f 6c6f 7220 616e ts fill.color an │ │ │ │ │ +0000ca10: 6420 e280 9863 6f6c 6f72 e280 9920 7365 d ...color... se │ │ │ │ │ +0000ca20: 7473 206c 696e 6520 636f 6c6f 7220 6f66 ts line color of │ │ │ │ │ +0000ca30: 2074 6865 2063 6972 636c 6573 2e0a 0a1f the circles.... │ │ │ │ │ +0000ca40: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +0000ca50: 666f 2c20 204e 6f64 653a 2054 696b 5a2f fo, Node: TikZ/ │ │ │ │ │ +0000ca60: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ +0000ca70: 2073 7479 6c65 732c 2020 4e65 7874 3a20 styles, Next: │ │ │ │ │ +0000ca80: 5472 616e 7370 6172 656e 6379 2c20 2050 Transparency, P │ │ │ │ │ +0000ca90: 7265 763a 2044 6f74 7320 696e 2054 696b rev: Dots in Tik │ │ │ │ │ +0000caa0: 5a2f 5047 462c 2020 5570 3a20 4f70 7469 Z/PGF, Up: Opti │ │ │ │ │ +0000cab0: 6f6e 730a 0a33 2e31 2e35 2e34 20e2 8098 ons..3.1.5.4 ... │ │ │ │ │ +0000cac0: 5469 6b5a 2f50 4746 e280 9920 7573 6572 TikZ/PGF... user │ │ │ │ │ +0000cad0: 2d64 6566 696e 6564 2073 7479 6c65 730a -defined styles. │ │ │ │ │ 0000cae0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ 0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000cb00: 2e2e 0a0a e280 9854 696b 5a2f 5047 46e2 .......TikZ/PGF. │ │ │ │ │ -0000cb10: 8099 2061 6c6c 6f77 7320 6e61 6d65 6420 .. allows named │ │ │ │ │ -0000cb20: 7374 796c 6573 2064 6566 696e 6564 2062 styles defined b │ │ │ │ │ -0000cb30: 7920 7468 6520 7573 6572 2c20 666f 7220 y the user, for │ │ │ │ │ -0000cb40: 6578 616d 706c 650a 2020 5c74 696b 7a73 example. \tikzs │ │ │ │ │ -0000cb50: 7479 6c65 7b6d 7970 6f6c 7967 6f6e 7374 tyle{mypolygonst │ │ │ │ │ -0000cb60: 796c 657d 203d 205b 6669 6c6c 3d62 6c75 yle} = [fill=blu │ │ │ │ │ -0000cb70: 6521 3230 2c66 696c 6c20 6f70 6163 6974 e!20,fill opacit │ │ │ │ │ -0000cb80: 793d 302e 385d 2020 0a20 205c 7469 6b7a y=0.8] . \tikz │ │ │ │ │ -0000cb90: 7374 796c 657b 6d79 6c69 6e65 7374 796c style{mylinestyl │ │ │ │ │ -0000cba0: 657d 203d 205b 7265 6421 3230 2c64 6173 e} = [red!20,das │ │ │ │ │ -0000cbb0: 6865 645d 0a53 696e 6365 20e2 8098 736b hed].Since ...sk │ │ │ │ │ -0000cbc0: 6574 6368 e280 9920 6861 7320 6e6f 2069 etch... has no i │ │ │ │ │ -0000cbd0: 6e66 6f72 6d61 7469 6f6e 206f 6e20 7468 nformation on th │ │ │ │ │ -0000cbe0: 6520 636f 6e74 656e 7473 206f 6620 7375 e contents of su │ │ │ │ │ -0000cbf0: 6368 2073 7479 6c65 732c 2069 740a 6f6d ch styles, it.om │ │ │ │ │ -0000cc00: 6974 7320 7468 656d 2065 6e74 6972 656c its them entirel │ │ │ │ │ -0000cc10: 7920 6672 6f6d 206c 696e 6573 2c20 706f y from lines, po │ │ │ │ │ -0000cc20: 6c79 676f 6e73 2c20 616e 6420 7468 6569 lygons, and thei │ │ │ │ │ -0000cc30: 7220 6564 6765 7320 6475 7269 6e67 206f r edges during o │ │ │ │ │ -0000cc40: 7074 696f 6e0a 7370 6c69 7474 696e 672e ption.splitting. │ │ │ │ │ -0000cc50: 2020 466f 7220 6578 616d 706c 652c 0a20 For example,. │ │ │ │ │ -0000cc60: 2070 6f6c 7967 6f6e 5b73 7479 6c65 3d6d polygon[style=m │ │ │ │ │ -0000cc70: 7970 6f6c 7967 6f6e 7374 796c 652c 7374 ypolygonstyle,st │ │ │ │ │ -0000cc80: 796c 653d 7468 6963 6b5d 2830 2c30 2c31 yle=thick](0,0,1 │ │ │ │ │ -0000cc90: 2928 312c 302c 3029 2830 2c31 2c30 290a )(1,0,0)(0,1,0). │ │ │ │ │ -0000cca0: 2020 6c69 6e65 5b73 7479 6c65 3d6d 796c line[style=myl │ │ │ │ │ -0000ccb0: 696e 6573 7479 6c65 5d28 2d31 2c2d 312c inestyle](-1,-1, │ │ │ │ │ -0000ccc0: 2d31 2928 322c 322c 3229 0a70 726f 6475 -1)(2,2,2).produ │ │ │ │ │ -0000ccd0: 6365 7320 7468 6520 e280 9854 696b 5ae2 ces the ...TikZ. │ │ │ │ │ -0000cce0: 8099 206f 7574 7075 740a 2020 5c64 7261 .. output. \dra │ │ │ │ │ -0000ccf0: 7728 2d31 2c2d 3129 2d2d 282e 3333 332c w(-1,-1)--(.333, │ │ │ │ │ -0000cd00: 2e33 3333 293b 0a20 205c 6669 6c6c 6472 .333);. \filldr │ │ │ │ │ -0000cd10: 6177 5b74 6869 636b 2c66 696c 6c3d 7768 aw[thick,fill=wh │ │ │ │ │ -0000cd20: 6974 655d 2830 2c30 292d 2d28 312c 3029 ite](0,0)--(1,0) │ │ │ │ │ -0000cd30: 2d2d 2830 2c31 292d 2d63 7963 6c65 3b0a --(0,1)--cycle;. │ │ │ │ │ -0000cd40: 2020 5c64 7261 7728 2e33 3333 2c2e 3333 \draw(.333,.33 │ │ │ │ │ -0000cd50: 3329 2d2d 2832 2c32 293b 0a4e 6f74 6520 3)--(2,2);.Note │ │ │ │ │ -0000cd60: 7468 6174 2074 6865 2075 7365 722d 6465 that the user-de │ │ │ │ │ -0000cd70: 6669 6e65 6420 7374 796c 6573 2061 7265 fined styles are │ │ │ │ │ -0000cd80: 206e 6f74 2070 7265 7365 6e74 2e20 2053 not present. S │ │ │ │ │ -0000cd90: 6b65 7463 6820 616c 736f 2069 7373 7565 ketch also issue │ │ │ │ │ -0000cda0: 730a 7761 726e 696e 6773 3a0a 2020 7761 s.warnings:. wa │ │ │ │ │ -0000cdb0: 726e 696e 672c 2075 6e6b 6e6f 776e 2070 rning, unknown p │ │ │ │ │ -0000cdc0: 6f6c 7967 6f6e 206f 7074 696f 6e20 7374 olygon option st │ │ │ │ │ -0000cdd0: 796c 653d 6d79 706f 6c79 676f 6e73 7479 yle=mypolygonsty │ │ │ │ │ -0000cde0: 6c65 2077 696c 6c20 6265 2069 676e 6f72 le will be ignor │ │ │ │ │ -0000cdf0: 6564 0a20 2077 6172 6e69 6e67 2c20 756e ed. warning, un │ │ │ │ │ -0000ce00: 6b6e 6f77 6e20 6c69 6e65 206f 7074 696f known line optio │ │ │ │ │ -0000ce10: 6e20 7374 796c 653d 6d79 6c69 6e65 7374 n style=mylinest │ │ │ │ │ -0000ce20: 796c 6520 7769 6c6c 2062 6520 6967 6e6f yle will be igno │ │ │ │ │ -0000ce30: 7265 640a 0a20 2020 5468 6520 7265 6d65 red.. The reme │ │ │ │ │ -0000ce40: 6479 2069 7320 746f 2073 7461 7465 2065 dy is to state e │ │ │ │ │ -0000ce50: 7870 6c69 6369 746c 7920 7768 6574 6865 xplicitly whethe │ │ │ │ │ -0000ce60: 7220 6120 7573 6572 2d64 6566 696e 6564 r a user-defined │ │ │ │ │ -0000ce70: 2073 7479 6c65 2073 686f 756c 640a 6265 style should.be │ │ │ │ │ -0000ce80: 2061 7474 6368 6564 2074 6f20 706f 6c79 attched to poly │ │ │ │ │ -0000ce90: 676f 6e73 206f 7220 6c69 6e65 7320 696e gons or lines in │ │ │ │ │ -0000cea0: 2074 6865 20e2 8098 5469 6b5a e280 9920 the ...TikZ... │ │ │ │ │ -0000ceb0: 6f75 7470 7574 2075 7369 6e67 0a5f 7073 output using._ps │ │ │ │ │ -0000cec0: 6575 646f 2d6f 7074 696f 6e73 5f20 e280 eudo-options_ .. │ │ │ │ │ -0000ced0: 9866 696c 6c20 7374 796c 65e2 8099 2061 .fill style... a │ │ │ │ │ -0000cee0: 6e64 20e2 8098 6c69 6e65 2073 7479 6c65 nd ...line style │ │ │ │ │ -0000cef0: e280 992c 0a20 2070 6f6c 7967 6f6e 5b66 ...,. polygon[f │ │ │ │ │ -0000cf00: 696c 6c20 7374 796c 653d 6d79 706f 6c79 ill style=mypoly │ │ │ │ │ -0000cf10: 676f 6e73 7479 6c65 2c73 7479 6c65 3d74 gonstyle,style=t │ │ │ │ │ -0000cf20: 6869 636b 5d28 302c 302c 3129 2831 2c30 hick](0,0,1)(1,0 │ │ │ │ │ -0000cf30: 2c30 2928 302c 312c 3029 0a20 206c 696e ,0)(0,1,0). lin │ │ │ │ │ -0000cf40: 655b 6c69 6e65 2073 7479 6c65 3d6d 796c e[line style=myl │ │ │ │ │ -0000cf50: 696e 6573 7479 6c65 5d28 2d31 2c2d 312c inestyle](-1,-1, │ │ │ │ │ -0000cf60: 2d31 2928 322c 322c 3229 0a4e 6f77 2c20 -1)(2,2,2).Now, │ │ │ │ │ -0000cf70: 7468 6520 6f75 7470 7574 2069 730a 2020 the output is. │ │ │ │ │ -0000cf80: 5c64 7261 775b 6d79 6c69 6e65 7374 796c \draw[mylinestyl │ │ │ │ │ -0000cf90: 655d 282d 312c 2d31 292d 2d28 2e33 3333 e](-1,-1)--(.333 │ │ │ │ │ -0000cfa0: 2c2e 3333 3329 3b0a 2020 5c66 696c 6c64 ,.333);. \filld │ │ │ │ │ -0000cfb0: 7261 775b 6d79 706f 6c79 676f 6e73 7479 raw[mypolygonsty │ │ │ │ │ -0000cfc0: 6c65 2c74 6869 636b 5d28 302c 3029 2d2d le,thick](0,0)-- │ │ │ │ │ -0000cfd0: 2831 2c30 292d 2d28 302c 3129 2d2d 6379 (1,0)--(0,1)--cy │ │ │ │ │ -0000cfe0: 636c 653b 0a20 205c 6472 6177 5b6d 796c cle;. \draw[myl │ │ │ │ │ -0000cff0: 696e 6573 7479 6c65 5d28 2e33 3333 2c2e inestyle](.333,. │ │ │ │ │ -0000d000: 3333 3329 2d2d 2832 2c32 293b 0a0a 2020 333)--(2,2);.. │ │ │ │ │ -0000d010: 2041 2075 7365 6675 6c20 7465 6368 6e69 A useful techni │ │ │ │ │ -0000d020: 7175 6520 6973 2074 6f20 696e 636c 7564 que is to includ │ │ │ │ │ -0000d030: 6520 7573 6572 2d64 6566 696e 6564 2073 e user-defined s │ │ │ │ │ -0000d040: 7479 6c65 2064 6566 696e 6974 696f 6e73 tyle definitions │ │ │ │ │ -0000d050: 2069 6e0a e280 9873 6b65 7463 68e2 8099 in....sketch... │ │ │ │ │ -0000d060: 2063 6f64 6520 6173 20e2 8098 7370 6563 code as ...spec │ │ │ │ │ -0000d070: 6961 6ce2 8099 7320 7769 7468 206f 7074 ial...s with opt │ │ │ │ │ -0000d080: 696f 6e20 e280 985b 6c61 793d 756e 6465 ion ...[lay=unde │ │ │ │ │ -0000d090: 725d e280 9920 746f 2065 6e73 7572 6520 r]... to ensure │ │ │ │ │ -0000d0a0: 7468 6174 2074 6865 0a73 7479 6c65 7320 that the.styles │ │ │ │ │ -0000d0b0: 6172 6520 656d 6974 7465 6420 6669 7273 are emitted firs │ │ │ │ │ -0000d0c0: 7420 696e 2074 6865 206f 7574 7075 742c t in the output, │ │ │ │ │ -0000d0d0: 2062 6566 6f72 6520 616e 7920 7573 6573 before any uses │ │ │ │ │ -0000d0e0: 206f 6620 7468 6520 7374 796c 650a 6e61 of the style.na │ │ │ │ │ -0000d0f0: 6d65 732e 2020 2831 2920 2046 6f72 2065 mes. (1) For e │ │ │ │ │ -0000d100: 7861 6d70 6c65 2c0a 2020 7370 6563 6961 xample,. specia │ │ │ │ │ -0000d110: 6c7c 5c74 696b 7a73 7479 6c65 7b6d 7970 l|\tikzstyle{myp │ │ │ │ │ -0000d120: 6f6c 7967 6f6e 7374 796c 657d 203d 205b olygonstyle} = [ │ │ │ │ │ -0000d130: 6669 6c6c 3d62 6c75 6521 3230 2c66 696c fill=blue!20,fil │ │ │ │ │ -0000d140: 6c20 6f70 6163 6974 793d 302e 385d 7c5b l opacity=0.8]|[ │ │ │ │ │ -0000d150: 6c61 793d 756e 6465 725d 0a20 2073 7065 lay=under]. spe │ │ │ │ │ -0000d160: 6369 616c 7c5c 7469 6b7a 7374 796c 657b cial|\tikzstyle{ │ │ │ │ │ -0000d170: 6d79 6c69 6e65 7374 796c 657d 203d 205b mylinestyle} = [ │ │ │ │ │ -0000d180: 7265 6421 3230 2c64 6173 6865 645d 7c5b red!20,dashed]|[ │ │ │ │ │ -0000d190: 6c61 793d 756e 6465 725d 0a54 6865 2061 lay=under].The a │ │ │ │ │ -0000d1a0: 7574 686f 7220 6973 2072 6573 706f 6e73 uthor is respons │ │ │ │ │ -0000d1b0: 6962 6c65 2066 6f72 2075 7369 6e67 2074 ible for using t │ │ │ │ │ -0000d1c0: 6865 206b 6579 2c20 e280 986c 696e 6520 he key, ...line │ │ │ │ │ -0000d1d0: 7374 796c 65e2 8099 206f 7220 e280 9866 style... or ...f │ │ │ │ │ -0000d1e0: 696c 6c0a 7374 796c 65e2 8099 2c20 7468 ill.style..., th │ │ │ │ │ -0000d1f0: 6174 206d 6174 6368 6573 2074 6865 2063 at matches the c │ │ │ │ │ -0000d200: 6f6e 7465 6e74 206f 6620 7468 6520 7374 ontent of the st │ │ │ │ │ -0000d210: 796c 6520 6465 6669 6e69 7469 6f6e 2e0a yle definition.. │ │ │ │ │ -0000d220: 0a20 2020 2d2d 2d2d 2d2d 2d2d 2d2d 2046 . ---------- F │ │ │ │ │ -0000d230: 6f6f 746e 6f74 6573 202d 2d2d 2d2d 2d2d ootnotes ------- │ │ │ │ │ -0000d240: 2d2d 2d0a 0a20 2020 2831 2920 5468 6973 ---.. (1) This │ │ │ │ │ -0000d250: 2063 6c65 7665 7220 7472 6963 6b20 6973 clever trick is │ │ │ │ │ -0000d260: 2064 7565 2074 6f20 4b6a 656c 6c20 4d61 due to Kjell Ma │ │ │ │ │ -0000d270: 676e 6520 4661 7573 6b65 2e0a 0a1f 0a46 gne Fauske.....F │ │ │ │ │ -0000d280: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -0000d290: 2c20 204e 6f64 653a 2054 7261 6e73 7061 , Node: Transpa │ │ │ │ │ -0000d2a0: 7265 6e63 792c 2020 4e65 7874 3a20 496e rency, Next: In │ │ │ │ │ -0000d2b0: 7465 726e 616c 206f 7074 696f 6e73 2c20 ternal options, │ │ │ │ │ -0000d2c0: 2050 7265 763a 2054 696b 5a2f 5047 4620 Prev: TikZ/PGF │ │ │ │ │ -0000d2d0: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ -0000d2e0: 6c65 732c 2020 5570 3a20 4f70 7469 6f6e les, Up: Option │ │ │ │ │ -0000d2f0: 730a 0a33 2e31 2e35 2e35 2054 7261 6e73 s..3.1.5.5 Trans │ │ │ │ │ -0000d300: 7061 7265 6e63 790a 2e2e 2e2e 2e2e 2e2e parency......... │ │ │ │ │ -0000d310: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 426f ..............Bo │ │ │ │ │ -0000d320: 7468 20e2 8098 5053 5472 6963 6b73 e280 th ...PSTricks.. │ │ │ │ │ -0000d330: 9920 616e 6420 e280 9854 696b 5a2f 5047 . and ...TikZ/PG │ │ │ │ │ -0000d340: 46e2 8099 2073 7570 706f 7274 2070 6f6c F... support pol │ │ │ │ │ -0000d350: 7967 6f6e 206f 7074 696f 6e73 2074 6861 ygon options tha │ │ │ │ │ -0000d360: 7420 6861 7665 2074 6865 0a65 6666 6563 t have the.effec │ │ │ │ │ -0000d370: 7420 6f66 206d 616b 696e 6720 7468 6520 t of making the │ │ │ │ │ -0000d380: 706f 6c79 676f 6e20 6170 7065 6172 2074 polygon appear t │ │ │ │ │ -0000d390: 7261 6e73 7061 7265 6e74 2e20 2046 6f72 ransparent. For │ │ │ │ │ -0000d3a0: 20e2 8098 5053 5472 6963 6b73 e280 992c ...PSTricks..., │ │ │ │ │ -0000d3b0: 0a6b 6579 776f 7264 20e2 8098 7472 616e .keyword ...tran │ │ │ │ │ -0000d3c0: 7370 616c 7068 61e2 8099 2077 6173 2075 spalpha... was u │ │ │ │ │ -0000d3d0: 7365 6420 6475 7269 6e67 2069 6e69 7469 sed during initi │ │ │ │ │ -0000d3e0: 616c 2064 6576 656c 6f70 6d65 6e74 206f al development o │ │ │ │ │ -0000d3f0: 660a 7472 616e 7370 6172 656e 6379 2066 f.transparency f │ │ │ │ │ -0000d400: 6561 7475 7265 732c 2061 6e64 20e2 8098 eatures, and ... │ │ │ │ │ -0000d410: 6f70 6163 6974 79e2 8099 2077 6173 2061 opacity... was a │ │ │ │ │ -0000d420: 646f 7074 6564 206c 6174 6572 2e20 20e2 dopted later. . │ │ │ │ │ -0000d430: 8098 536b 6574 6368 e280 9920 686f 6e6f ..Sketch... hono │ │ │ │ │ -0000d440: 7273 0a62 6f74 682e 2020 e280 9854 696b rs.both. ...Tik │ │ │ │ │ -0000d450: 5a2f 5047 46e2 8099 2075 7365 7320 e280 Z/PGF... uses .. │ │ │ │ │ -0000d460: 986f 7061 6369 7479 e280 9920 6f6e 6c79 .opacity... only │ │ │ │ │ -0000d470: 2e20 2057 6865 6e20 7472 616e 7370 6172 . When transpar │ │ │ │ │ -0000d480: 656e 7420 706f 6c79 676f 6e73 2061 7265 ent polygons are │ │ │ │ │ -0000d490: 2069 6e0a 7468 6520 666f 7265 6772 6f75 in.the foregrou │ │ │ │ │ -0000d4a0: 6e64 2c20 6f62 6a65 6374 7320 6265 6869 nd, objects behi │ │ │ │ │ -0000d4b0: 6e64 2074 6865 6d20 2864 7261 776e 2065 nd them (drawn e │ │ │ │ │ -0000d4c0: 6172 6c69 6572 2920 6172 6520 7669 7369 arlier) are visi │ │ │ │ │ -0000d4d0: 626c 6520 7769 7468 0a63 6f6c 6f72 2073 ble with.color s │ │ │ │ │ -0000d4e0: 7562 6475 6564 2061 6e64 2074 696e 7465 ubdued and tinte │ │ │ │ │ -0000d4f0: 642e 2020 5468 6520 6869 6464 656e 2073 d. The hidden s │ │ │ │ │ -0000d500: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm │ │ │ │ │ -0000d510: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ -0000d520: 0a77 6f72 6b73 2077 656c 6c20 7769 7468 .works well with │ │ │ │ │ -0000d530: 2073 7563 6820 7472 616e 7370 6172 656e such transparen │ │ │ │ │ -0000d540: 7420 706f 6c79 676f 6e73 2e0a 0a20 2020 t polygons... │ │ │ │ │ -0000d550: 4e6f 7465 2074 6861 7420 6375 6c6c 3d66 Note that cull=f │ │ │ │ │ -0000d560: 616c 7365 206d 7573 7420 6265 2075 7365 alse must be use │ │ │ │ │ -0000d570: 6420 666f 7220 7265 6172 2d66 6163 696e d for rear-facin │ │ │ │ │ -0000d580: 6720 706f 6c79 676f 6e73 2074 6f20 6265 g polygons to be │ │ │ │ │ -0000d590: 0a76 6973 6962 6c65 2077 6865 6e20 706f .visible when po │ │ │ │ │ -0000d5a0: 7369 7469 6f6e 6564 2062 6568 696e 6420 sitioned behind │ │ │ │ │ -0000d5b0: 6f74 6865 7220 7472 616e 7370 6172 656e other transparen │ │ │ │ │ -0000d5c0: 7420 7375 7266 6163 6573 2e0a 0a1f 0a46 t surfaces.....F │ │ │ │ │ -0000d5d0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -0000d5e0: 2c20 204e 6f64 653a 2049 6e74 6572 6e61 , Node: Interna │ │ │ │ │ -0000d5f0: 6c20 6f70 7469 6f6e 732c 2020 5072 6576 l options, Prev │ │ │ │ │ -0000d600: 3a20 5472 616e 7370 6172 656e 6379 2c20 : Transparency, │ │ │ │ │ -0000d610: 2055 703a 204f 7074 696f 6e73 0a0a 332e Up: Options..3. │ │ │ │ │ -0000d620: 312e 352e 3620 496e 7465 726e 616c 206f 1.5.6 Internal o │ │ │ │ │ -0000d630: 7074 696f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e ptions.......... │ │ │ │ │ -0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................ │ │ │ │ │ -0000d650: 0a54 6865 7265 2061 7265 2061 6c73 6f20 .There are also │ │ │ │ │ -0000d660: 5f69 6e74 6572 6e61 6c5f 206f 7074 696f _internal_ optio │ │ │ │ │ -0000d670: 6e73 2075 7365 6420 6f6e 6c79 2062 7920 ns used only by │ │ │ │ │ -0000d680: e280 9873 6b65 7463 68e2 8099 2061 6e64 ...sketch... and │ │ │ │ │ -0000d690: 206e 6f74 2070 6173 7365 640a 6f6e 2074 not passed.on t │ │ │ │ │ -0000d6a0: 6f20 e280 9850 5354 7269 636b 73e2 8099 o ...PSTricks... │ │ │ │ │ -0000d6b0: 2e20 2054 6865 7365 2061 7265 2073 756d . These are sum │ │ │ │ │ -0000d6c0: 6d61 7269 7a65 6420 696e 2074 6865 2066 marized in the f │ │ │ │ │ -0000d6d0: 6f6c 6c6f 7769 6e67 2074 6162 6c65 2e0a ollowing table.. │ │ │ │ │ -0000d6e0: 4b65 7920 2020 2020 2020 506f 7373 6962 Key Possib │ │ │ │ │ -0000d6f0: 6c65 2076 616c 7565 7320 2020 2020 2020 le values │ │ │ │ │ -0000d700: 2020 4465 7363 7269 7074 696f 6e0a 2d2d Description.-- │ │ │ │ │ -0000d710: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000cb00: 2e2e 2e2e 2e2e 0a0a e280 9854 696b 5a2f ...........TikZ/ │ │ │ │ │ +0000cb10: 5047 46e2 8099 2061 6c6c 6f77 7320 6e61 PGF... allows na │ │ │ │ │ +0000cb20: 6d65 6420 7374 796c 6573 2064 6566 696e med styles defin │ │ │ │ │ +0000cb30: 6564 2062 7920 7468 6520 7573 6572 2c20 ed by the user, │ │ │ │ │ +0000cb40: 666f 7220 6578 616d 706c 650a 2020 5c74 for example. \t │ │ │ │ │ +0000cb50: 696b 7a73 7479 6c65 7b6d 7970 6f6c 7967 ikzstyle{mypolyg │ │ │ │ │ +0000cb60: 6f6e 7374 796c 657d 203d 205b 6669 6c6c onstyle} = [fill │ │ │ │ │ +0000cb70: 3d62 6c75 6521 3230 2c66 696c 6c20 6f70 =blue!20,fill op │ │ │ │ │ +0000cb80: 6163 6974 793d 302e 385d 2020 0a20 205c acity=0.8] . \ │ │ │ │ │ +0000cb90: 7469 6b7a 7374 796c 657b 6d79 6c69 6e65 tikzstyle{myline │ │ │ │ │ +0000cba0: 7374 796c 657d 203d 205b 7265 6421 3230 style} = [red!20 │ │ │ │ │ +0000cbb0: 2c64 6173 6865 645d 0a53 696e 6365 20e2 ,dashed].Since . │ │ │ │ │ +0000cbc0: 8098 736b 6574 6368 e280 9920 6861 7320 ..sketch... has │ │ │ │ │ +0000cbd0: 6e6f 2069 6e66 6f72 6d61 7469 6f6e 206f no information o │ │ │ │ │ +0000cbe0: 6e20 7468 6520 636f 6e74 656e 7473 206f n the contents o │ │ │ │ │ +0000cbf0: 6620 7375 6368 2073 7479 6c65 732c 2069 f such styles, i │ │ │ │ │ +0000cc00: 740a 6f6d 6974 7320 7468 656d 2065 6e74 t.omits them ent │ │ │ │ │ +0000cc10: 6972 656c 7920 6672 6f6d 206c 696e 6573 irely from lines │ │ │ │ │ +0000cc20: 2c20 706f 6c79 676f 6e73 2c20 616e 6420 , polygons, and │ │ │ │ │ +0000cc30: 7468 6569 7220 6564 6765 7320 6475 7269 their edges duri │ │ │ │ │ +0000cc40: 6e67 206f 7074 696f 6e0a 7370 6c69 7474 ng option.splitt │ │ │ │ │ +0000cc50: 696e 672e 2020 466f 7220 6578 616d 706c ing. For exampl │ │ │ │ │ +0000cc60: 652c 0a20 2070 6f6c 7967 6f6e 5b73 7479 e,. polygon[sty │ │ │ │ │ +0000cc70: 6c65 3d6d 7970 6f6c 7967 6f6e 7374 796c le=mypolygonstyl │ │ │ │ │ +0000cc80: 652c 7374 796c 653d 7468 6963 6b5d 2830 e,style=thick](0 │ │ │ │ │ +0000cc90: 2c30 2c31 2928 312c 302c 3029 2830 2c31 ,0,1)(1,0,0)(0,1 │ │ │ │ │ +0000cca0: 2c30 290a 2020 6c69 6e65 5b73 7479 6c65 ,0). line[style │ │ │ │ │ +0000ccb0: 3d6d 796c 696e 6573 7479 6c65 5d28 2d31 =mylinestyle](-1 │ │ │ │ │ +0000ccc0: 2c2d 312c 2d31 2928 322c 322c 3229 0a70 ,-1,-1)(2,2,2).p │ │ │ │ │ +0000ccd0: 726f 6475 6365 7320 7468 6520 e280 9854 roduces the ...T │ │ │ │ │ +0000cce0: 696b 5ae2 8099 206f 7574 7075 740a 2020 ikZ... output. │ │ │ │ │ +0000ccf0: 5c64 7261 7728 2d31 2c2d 3129 2d2d 282e \draw(-1,-1)--(. │ │ │ │ │ +0000cd00: 3333 332c 2e33 3333 293b 0a20 205c 6669 333,.333);. \fi │ │ │ │ │ +0000cd10: 6c6c 6472 6177 5b74 6869 636b 2c66 696c lldraw[thick,fil │ │ │ │ │ +0000cd20: 6c3d 7768 6974 655d 2830 2c30 292d 2d28 l=white](0,0)--( │ │ │ │ │ +0000cd30: 312c 3029 2d2d 2830 2c31 292d 2d63 7963 1,0)--(0,1)--cyc │ │ │ │ │ +0000cd40: 6c65 3b0a 2020 5c64 7261 7728 2e33 3333 le;. \draw(.333 │ │ │ │ │ +0000cd50: 2c2e 3333 3329 2d2d 2832 2c32 293b 0a4e ,.333)--(2,2);.N │ │ │ │ │ +0000cd60: 6f74 6520 7468 6174 2074 6865 2075 7365 ote that the use │ │ │ │ │ +0000cd70: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles │ │ │ │ │ +0000cd80: 2061 7265 206e 6f74 2070 7265 7365 6e74 are not present │ │ │ │ │ +0000cd90: 2e20 2053 6b65 7463 6820 616c 736f 2069 . Sketch also i │ │ │ │ │ +0000cda0: 7373 7565 730a 7761 726e 696e 6773 3a0a ssues.warnings:. │ │ │ │ │ +0000cdb0: 2020 7761 726e 696e 672c 2075 6e6b 6e6f warning, unkno │ │ │ │ │ +0000cdc0: 776e 2070 6f6c 7967 6f6e 206f 7074 696f wn polygon optio │ │ │ │ │ +0000cdd0: 6e20 7374 796c 653d 6d79 706f 6c79 676f n style=mypolygo │ │ │ │ │ +0000cde0: 6e73 7479 6c65 2077 696c 6c20 6265 2069 nstyle will be i │ │ │ │ │ +0000cdf0: 676e 6f72 6564 0a20 2077 6172 6e69 6e67 gnored. warning │ │ │ │ │ +0000ce00: 2c20 756e 6b6e 6f77 6e20 6c69 6e65 206f , unknown line o │ │ │ │ │ +0000ce10: 7074 696f 6e20 7374 796c 653d 6d79 6c69 ption style=myli │ │ │ │ │ +0000ce20: 6e65 7374 796c 6520 7769 6c6c 2062 6520 nestyle will be │ │ │ │ │ +0000ce30: 6967 6e6f 7265 640a 0a20 2020 5468 6520 ignored.. The │ │ │ │ │ +0000ce40: 7265 6d65 6479 2069 7320 746f 2073 7461 remedy is to sta │ │ │ │ │ +0000ce50: 7465 2065 7870 6c69 6369 746c 7920 7768 te explicitly wh │ │ │ │ │ +0000ce60: 6574 6865 7220 6120 7573 6572 2d64 6566 ether a user-def │ │ │ │ │ +0000ce70: 696e 6564 2073 7479 6c65 2073 686f 756c ined style shoul │ │ │ │ │ +0000ce80: 640a 6265 2061 7474 6368 6564 2074 6f20 d.be attched to │ │ │ │ │ +0000ce90: 706f 6c79 676f 6e73 206f 7220 6c69 6e65 polygons or line │ │ │ │ │ +0000cea0: 7320 696e 2074 6865 20e2 8098 5469 6b5a s in the ...TikZ │ │ │ │ │ +0000ceb0: e280 9920 6f75 7470 7574 2075 7369 6e67 ... output using │ │ │ │ │ +0000cec0: 0a5f 7073 6575 646f 2d6f 7074 696f 6e73 ._pseudo-options │ │ │ │ │ +0000ced0: 5f20 e280 9866 696c 6c20 7374 796c 65e2 _ ...fill style. │ │ │ │ │ +0000cee0: 8099 2061 6e64 20e2 8098 6c69 6e65 2073 .. and ...line s │ │ │ │ │ +0000cef0: 7479 6c65 e280 992c 0a20 2070 6f6c 7967 tyle...,. polyg │ │ │ │ │ +0000cf00: 6f6e 5b66 696c 6c20 7374 796c 653d 6d79 on[fill style=my │ │ │ │ │ +0000cf10: 706f 6c79 676f 6e73 7479 6c65 2c73 7479 polygonstyle,sty │ │ │ │ │ +0000cf20: 6c65 3d74 6869 636b 5d28 302c 302c 3129 le=thick](0,0,1) │ │ │ │ │ +0000cf30: 2831 2c30 2c30 2928 302c 312c 3029 0a20 (1,0,0)(0,1,0). │ │ │ │ │ +0000cf40: 206c 696e 655b 6c69 6e65 2073 7479 6c65 line[line style │ │ │ │ │ +0000cf50: 3d6d 796c 696e 6573 7479 6c65 5d28 2d31 =mylinestyle](-1 │ │ │ │ │ +0000cf60: 2c2d 312c 2d31 2928 322c 322c 3229 0a4e ,-1,-1)(2,2,2).N │ │ │ │ │ +0000cf70: 6f77 2c20 7468 6520 6f75 7470 7574 2069 ow, the output i │ │ │ │ │ +0000cf80: 730a 2020 5c64 7261 775b 6d79 6c69 6e65 s. \draw[myline │ │ │ │ │ +0000cf90: 7374 796c 655d 282d 312c 2d31 292d 2d28 style](-1,-1)--( │ │ │ │ │ +0000cfa0: 2e33 3333 2c2e 3333 3329 3b0a 2020 5c66 .333,.333);. \f │ │ │ │ │ +0000cfb0: 696c 6c64 7261 775b 6d79 706f 6c79 676f illdraw[mypolygo │ │ │ │ │ +0000cfc0: 6e73 7479 6c65 2c74 6869 636b 5d28 302c nstyle,thick](0, │ │ │ │ │ +0000cfd0: 3029 2d2d 2831 2c30 292d 2d28 302c 3129 0)--(1,0)--(0,1) │ │ │ │ │ +0000cfe0: 2d2d 6379 636c 653b 0a20 205c 6472 6177 --cycle;. \draw │ │ │ │ │ +0000cff0: 5b6d 796c 696e 6573 7479 6c65 5d28 2e33 [mylinestyle](.3 │ │ │ │ │ +0000d000: 3333 2c2e 3333 3329 2d2d 2832 2c32 293b 33,.333)--(2,2); │ │ │ │ │ +0000d010: 0a0a 2020 2041 2075 7365 6675 6c20 7465 .. A useful te │ │ │ │ │ +0000d020: 6368 6e69 7175 6520 6973 2074 6f20 696e chnique is to in │ │ │ │ │ +0000d030: 636c 7564 6520 7573 6572 2d64 6566 696e clude user-defin │ │ │ │ │ +0000d040: 6564 2073 7479 6c65 2064 6566 696e 6974 ed style definit │ │ │ │ │ +0000d050: 696f 6e73 2069 6e0a e280 9873 6b65 7463 ions in....sketc │ │ │ │ │ +0000d060: 68e2 8099 2063 6f64 6520 6173 20e2 8098 h... code as ... │ │ │ │ │ +0000d070: 7370 6563 6961 6ce2 8099 7320 7769 7468 special...s with │ │ │ │ │ +0000d080: 206f 7074 696f 6e20 e280 985b 6c61 793d option ...[lay= │ │ │ │ │ +0000d090: 756e 6465 725d e280 9920 746f 2065 6e73 under]... to ens │ │ │ │ │ +0000d0a0: 7572 6520 7468 6174 2074 6865 0a73 7479 ure that the.sty │ │ │ │ │ +0000d0b0: 6c65 7320 6172 6520 656d 6974 7465 6420 les are emitted │ │ │ │ │ +0000d0c0: 6669 7273 7420 696e 2074 6865 206f 7574 first in the out │ │ │ │ │ +0000d0d0: 7075 742c 2062 6566 6f72 6520 616e 7920 put, before any │ │ │ │ │ +0000d0e0: 7573 6573 206f 6620 7468 6520 7374 796c uses of the styl │ │ │ │ │ +0000d0f0: 650a 6e61 6d65 732e 2020 2831 2920 2046 e.names. (1) F │ │ │ │ │ +0000d100: 6f72 2065 7861 6d70 6c65 2c0a 2020 7370 or example,. sp │ │ │ │ │ +0000d110: 6563 6961 6c7c 5c74 696b 7a73 7479 6c65 ecial|\tikzstyle │ │ │ │ │ +0000d120: 7b6d 7970 6f6c 7967 6f6e 7374 796c 657d {mypolygonstyle} │ │ │ │ │ +0000d130: 203d 205b 6669 6c6c 3d62 6c75 6521 3230 = [fill=blue!20 │ │ │ │ │ +0000d140: 2c66 696c 6c20 6f70 6163 6974 793d 302e ,fill opacity=0. │ │ │ │ │ +0000d150: 385d 7c5b 6c61 793d 756e 6465 725d 0a20 8]|[lay=under]. │ │ │ │ │ +0000d160: 2073 7065 6369 616c 7c5c 7469 6b7a 7374 special|\tikzst │ │ │ │ │ +0000d170: 796c 657b 6d79 6c69 6e65 7374 796c 657d yle{mylinestyle} │ │ │ │ │ +0000d180: 203d 205b 7265 6421 3230 2c64 6173 6865 = [red!20,dashe │ │ │ │ │ +0000d190: 645d 7c5b 6c61 793d 756e 6465 725d 0a54 d]|[lay=under].T │ │ │ │ │ +0000d1a0: 6865 2061 7574 686f 7220 6973 2072 6573 he author is res │ │ │ │ │ +0000d1b0: 706f 6e73 6962 6c65 2066 6f72 2075 7369 ponsible for usi │ │ │ │ │ +0000d1c0: 6e67 2074 6865 206b 6579 2c20 e280 986c ng the key, ...l │ │ │ │ │ +0000d1d0: 696e 6520 7374 796c 65e2 8099 206f 7220 ine style... or │ │ │ │ │ +0000d1e0: e280 9866 696c 6c0a 7374 796c 65e2 8099 ...fill.style... │ │ │ │ │ +0000d1f0: 2c20 7468 6174 206d 6174 6368 6573 2074 , that matches t │ │ │ │ │ +0000d200: 6865 2063 6f6e 7465 6e74 206f 6620 7468 he content of th │ │ │ │ │ +0000d210: 6520 7374 796c 6520 6465 6669 6e69 7469 e style definiti │ │ │ │ │ +0000d220: 6f6e 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d on... -------- │ │ │ │ │ +0000d230: 2d2d 2046 6f6f 746e 6f74 6573 202d 2d2d -- Footnotes --- │ │ │ │ │ +0000d240: 2d2d 2d2d 2d2d 2d0a 0a20 2020 2831 2920 -------.. (1) │ │ │ │ │ +0000d250: 5468 6973 2063 6c65 7665 7220 7472 6963 This clever tric │ │ │ │ │ +0000d260: 6b20 6973 2064 7565 2074 6f20 4b6a 656c k is due to Kjel │ │ │ │ │ +0000d270: 6c20 4d61 676e 6520 4661 7573 6b65 2e0a l Magne Fauske.. │ │ │ │ │ +0000d280: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +0000d290: 696e 666f 2c20 204e 6f64 653a 2054 7261 info, Node: Tra │ │ │ │ │ +0000d2a0: 6e73 7061 7265 6e63 792c 2020 4e65 7874 nsparency, Next │ │ │ │ │ +0000d2b0: 3a20 496e 7465 726e 616c 206f 7074 696f : Internal optio │ │ │ │ │ +0000d2c0: 6e73 2c20 2050 7265 763a 2054 696b 5a2f ns, Prev: TikZ/ │ │ │ │ │ +0000d2d0: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ +0000d2e0: 2073 7479 6c65 732c 2020 5570 3a20 4f70 styles, Up: Op │ │ │ │ │ +0000d2f0: 7469 6f6e 730a 0a33 2e31 2e35 2e35 2054 tions..3.1.5.5 T │ │ │ │ │ +0000d300: 7261 6e73 7061 7265 6e63 790a 2e2e 2e2e ransparency..... │ │ │ │ │ +0000d310: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +0000d320: 0a0a 426f 7468 20e2 8098 5053 5472 6963 ..Both ...PSTric │ │ │ │ │ +0000d330: 6b73 e280 9920 616e 6420 e280 9854 696b ks... and ...Tik │ │ │ │ │ +0000d340: 5a2f 5047 46e2 8099 2073 7570 706f 7274 Z/PGF... support │ │ │ │ │ +0000d350: 2070 6f6c 7967 6f6e 206f 7074 696f 6e73 polygon options │ │ │ │ │ +0000d360: 2074 6861 7420 6861 7665 2074 6865 0a65 that have the.e │ │ │ │ │ +0000d370: 6666 6563 7420 6f66 206d 616b 696e 6720 ffect of making │ │ │ │ │ +0000d380: 7468 6520 706f 6c79 676f 6e20 6170 7065 the polygon appe │ │ │ │ │ +0000d390: 6172 2074 7261 6e73 7061 7265 6e74 2e20 ar transparent. │ │ │ │ │ +0000d3a0: 2046 6f72 20e2 8098 5053 5472 6963 6b73 For ...PSTricks │ │ │ │ │ +0000d3b0: e280 992c 0a6b 6579 776f 7264 20e2 8098 ...,.keyword ... │ │ │ │ │ +0000d3c0: 7472 616e 7370 616c 7068 61e2 8099 2077 transpalpha... w │ │ │ │ │ +0000d3d0: 6173 2075 7365 6420 6475 7269 6e67 2069 as used during i │ │ │ │ │ +0000d3e0: 6e69 7469 616c 2064 6576 656c 6f70 6d65 nitial developme │ │ │ │ │ +0000d3f0: 6e74 206f 660a 7472 616e 7370 6172 656e nt of.transparen │ │ │ │ │ +0000d400: 6379 2066 6561 7475 7265 732c 2061 6e64 cy features, and │ │ │ │ │ +0000d410: 20e2 8098 6f70 6163 6974 79e2 8099 2077 ...opacity... w │ │ │ │ │ +0000d420: 6173 2061 646f 7074 6564 206c 6174 6572 as adopted later │ │ │ │ │ +0000d430: 2e20 20e2 8098 536b 6574 6368 e280 9920 . ...Sketch... │ │ │ │ │ +0000d440: 686f 6e6f 7273 0a62 6f74 682e 2020 e280 honors.both. .. │ │ │ │ │ +0000d450: 9854 696b 5a2f 5047 46e2 8099 2075 7365 .TikZ/PGF... use │ │ │ │ │ +0000d460: 7320 e280 986f 7061 6369 7479 e280 9920 s ...opacity... │ │ │ │ │ +0000d470: 6f6e 6c79 2e20 2057 6865 6e20 7472 616e only. When tran │ │ │ │ │ +0000d480: 7370 6172 656e 7420 706f 6c79 676f 6e73 sparent polygons │ │ │ │ │ +0000d490: 2061 7265 2069 6e0a 7468 6520 666f 7265 are in.the fore │ │ │ │ │ +0000d4a0: 6772 6f75 6e64 2c20 6f62 6a65 6374 7320 ground, objects │ │ │ │ │ +0000d4b0: 6265 6869 6e64 2074 6865 6d20 2864 7261 behind them (dra │ │ │ │ │ +0000d4c0: 776e 2065 6172 6c69 6572 2920 6172 6520 wn earlier) are │ │ │ │ │ +0000d4d0: 7669 7369 626c 6520 7769 7468 0a63 6f6c visible with.col │ │ │ │ │ +0000d4e0: 6f72 2073 7562 6475 6564 2061 6e64 2074 or subdued and t │ │ │ │ │ +0000d4f0: 696e 7465 642e 2020 5468 6520 6869 6464 inted. The hidd │ │ │ │ │ +0000d500: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor │ │ │ │ │ +0000d510: 6974 686d 206f 6620 e280 9873 6b65 7463 ithm of ...sketc │ │ │ │ │ +0000d520: 68e2 8099 0a77 6f72 6b73 2077 656c 6c20 h....works well │ │ │ │ │ +0000d530: 7769 7468 2073 7563 6820 7472 616e 7370 with such transp │ │ │ │ │ +0000d540: 6172 656e 7420 706f 6c79 676f 6e73 2e0a arent polygons.. │ │ │ │ │ +0000d550: 0a20 2020 4e6f 7465 2074 6861 7420 6375 . Note that cu │ │ │ │ │ +0000d560: 6c6c 3d66 616c 7365 206d 7573 7420 6265 ll=false must be │ │ │ │ │ +0000d570: 2075 7365 6420 666f 7220 7265 6172 2d66 used for rear-f │ │ │ │ │ +0000d580: 6163 696e 6720 706f 6c79 676f 6e73 2074 acing polygons t │ │ │ │ │ +0000d590: 6f20 6265 0a76 6973 6962 6c65 2077 6865 o be.visible whe │ │ │ │ │ +0000d5a0: 6e20 706f 7369 7469 6f6e 6564 2062 6568 n positioned beh │ │ │ │ │ +0000d5b0: 696e 6420 6f74 6865 7220 7472 616e 7370 ind other transp │ │ │ │ │ +0000d5c0: 6172 656e 7420 7375 7266 6163 6573 2e0a arent surfaces.. │ │ │ │ │ +0000d5d0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +0000d5e0: 696e 666f 2c20 204e 6f64 653a 2049 6e74 info, Node: Int │ │ │ │ │ +0000d5f0: 6572 6e61 6c20 6f70 7469 6f6e 732c 2020 ernal options, │ │ │ │ │ +0000d600: 5072 6576 3a20 5472 616e 7370 6172 656e Prev: Transparen │ │ │ │ │ +0000d610: 6379 2c20 2055 703a 204f 7074 696f 6e73 cy, Up: Options │ │ │ │ │ +0000d620: 0a0a 332e 312e 352e 3620 496e 7465 726e ..3.1.5.6 Intern │ │ │ │ │ +0000d630: 616c 206f 7074 696f 6e73 0a2e 2e2e 2e2e al options...... │ │ │ │ │ +0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +0000d650: 2e2e 2e0a 0a54 6865 7265 2061 7265 2061 .....There are a │ │ │ │ │ +0000d660: 6c73 6f20 5f69 6e74 6572 6e61 6c5f 206f lso _internal_ o │ │ │ │ │ +0000d670: 7074 696f 6e73 2075 7365 6420 6f6e 6c79 ptions used only │ │ │ │ │ +0000d680: 2062 7920 e280 9873 6b65 7463 68e2 8099 by ...sketch... │ │ │ │ │ +0000d690: 2061 6e64 206e 6f74 2070 6173 7365 640a and not passed. │ │ │ │ │ +0000d6a0: 6f6e 2074 6f20 e280 9850 5354 7269 636b on to ...PSTrick │ │ │ │ │ +0000d6b0: 73e2 8099 2e20 2054 6865 7365 2061 7265 s.... These are │ │ │ │ │ +0000d6c0: 2073 756d 6d61 7269 7a65 6420 696e 2074 summarized in t │ │ │ │ │ +0000d6d0: 6865 2066 6f6c 6c6f 7769 6e67 2074 6162 he following tab │ │ │ │ │ +0000d6e0: 6c65 2e0a 4b65 7920 2020 2020 2020 506f le..Key Po │ │ │ │ │ +0000d6f0: 7373 6962 6c65 2076 616c 7565 7320 2020 ssible values │ │ │ │ │ +0000d700: 2020 2020 2020 4465 7363 7269 7074 696f Descriptio │ │ │ │ │ +0000d710: 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n.-------------- │ │ │ │ │ 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 0ae2 --------------.. │ │ │ │ │ -0000d770: 8098 6375 6c6c e280 9920 2020 20e2 8098 ..cull... ... │ │ │ │ │ -0000d780: 7472 7565 e280 992c 20e2 8098 6661 6c73 true..., ...fals │ │ │ │ │ -0000d790: 65e2 8099 2020 2020 2020 2020 2054 7572 e... Tur │ │ │ │ │ -0000d7a0: 6e20 6375 6c6c 696e 6720 6f66 2062 6163 n culling of bac │ │ │ │ │ -0000d7b0: 6b66 6163 6573 206f 6e20 616e 6420 6f66 kfaces on and of │ │ │ │ │ -0000d7c0: 6620 7265 7370 6563 7469 7665 6c79 2066 f respectively f │ │ │ │ │ -0000d7d0: 6f72 2074 6869 730a 2020 2020 2020 2020 or this. │ │ │ │ │ +0000d760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000d770: 2d2d 0ae2 8098 6375 6c6c e280 9920 2020 --....cull... │ │ │ │ │ +0000d780: 20e2 8098 7472 7565 e280 992c 20e2 8098 ...true..., ... │ │ │ │ │ +0000d790: 6661 6c73 65e2 8099 2020 2020 2020 2020 false... │ │ │ │ │ +0000d7a0: 2054 7572 6e20 6375 6c6c 696e 6720 6f66 Turn culling of │ │ │ │ │ +0000d7b0: 2062 6163 6b66 6163 6573 206f 6e20 616e backfaces on an │ │ │ │ │ +0000d7c0: 6420 6f66 6620 7265 7370 6563 7469 7665 d off respective │ │ │ │ │ +0000d7d0: 6c79 2066 6f72 2074 6869 730a 2020 2020 ly for this. │ │ │ │ │ 0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d7f0: 2020 2020 2020 2020 2020 6f62 6a65 6374 object │ │ │ │ │ -0000d800: 2e20 2054 6865 2064 6566 6175 6c74 2076 . The default v │ │ │ │ │ -0000d810: 616c 7565 2069 7320 e280 9874 7275 65e2 alue is ...true. │ │ │ │ │ -0000d820: 8099 2e0a e280 986c 6179 e280 9920 2020 .......lay... │ │ │ │ │ -0000d830: 2020 e280 986f 7665 72e2 8099 2c20 e280 ...over..., .. │ │ │ │ │ -0000d840: 9869 6ee2 8099 2c20 e280 9875 6e64 6572 .in..., ...under │ │ │ │ │ -0000d850: e280 9920 2020 466f 7263 6520 7468 6973 ... Force this │ │ │ │ │ -0000d860: 206f 626a 6563 7420 746f 2062 6520 e280 object to be .. │ │ │ │ │ -0000d870: 9875 6e64 6572 e280 9920 6f72 20e2 8098 .under... or ... │ │ │ │ │ -0000d880: 6f76 6572 e280 9920 616c 6c20 6f74 6865 over... all othe │ │ │ │ │ -0000d890: 7220 6f62 6a65 6374 730a 2020 2020 2020 r objects. │ │ │ │ │ +0000d7f0: 2020 2020 2020 2020 2020 2020 2020 6f62 ob │ │ │ │ │ +0000d800: 6a65 6374 2e20 2054 6865 2064 6566 6175 ject. The defau │ │ │ │ │ +0000d810: 6c74 2076 616c 7565 2069 7320 e280 9874 lt value is ...t │ │ │ │ │ +0000d820: 7275 65e2 8099 2e0a e280 986c 6179 e280 rue........lay.. │ │ │ │ │ +0000d830: 9920 2020 2020 e280 986f 7665 72e2 8099 . ...over... │ │ │ │ │ +0000d840: 2c20 e280 9869 6ee2 8099 2c20 e280 9875 , ...in..., ...u │ │ │ │ │ +0000d850: 6e64 6572 e280 9920 2020 466f 7263 6520 nder... Force │ │ │ │ │ +0000d860: 7468 6973 206f 626a 6563 7420 746f 2062 this object to b │ │ │ │ │ +0000d870: 6520 e280 9875 6e64 6572 e280 9920 6f72 e ...under... or │ │ │ │ │ +0000d880: 20e2 8098 6f76 6572 e280 9920 616c 6c20 ...over... all │ │ │ │ │ +0000d890: 6f74 6865 7220 6f62 6a65 6374 730a 2020 other objects. │ │ │ │ │ 0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d8b0: 2020 2020 2020 2020 2020 2020 696e 2074 in t │ │ │ │ │ -0000d8c0: 6865 2064 6570 7468 2073 6f72 7420 6f72 he depth sort or │ │ │ │ │ -0000d8d0: 6465 7220 6372 6561 7465 6420 6279 2074 der created by t │ │ │ │ │ -0000d8e0: 6865 2068 6964 6465 6e20 7375 7266 6163 he hidden surfac │ │ │ │ │ -0000d8f0: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ │ │ +0000d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d8c0: 696e 2074 6865 2064 6570 7468 2073 6f72 in the depth sor │ │ │ │ │ +0000d8d0: 7420 6f72 6465 7220 6372 6561 7465 6420 t order created │ │ │ │ │ +0000d8e0: 6279 2074 6865 2068 6964 6465 6e20 7375 by the hidden su │ │ │ │ │ +0000d8f0: 7266 6163 650a 2020 2020 2020 2020 2020 rface. │ │ │ │ │ 0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d910: 2020 2020 616c 676f 7269 7468 6d2e 2020 algorithm. │ │ │ │ │ -0000d920: 5468 6520 6465 6661 756c 7420 7661 6c75 The default valu │ │ │ │ │ -0000d930: 6520 e280 986f 7665 72e2 8099 2067 7561 e ...over... gua │ │ │ │ │ -0000d940: 7261 6e74 6565 7320 7468 6174 206f 7574 rantees that out │ │ │ │ │ -0000d950: 7075 740a 2020 2020 2020 2020 2020 2020 put. │ │ │ │ │ +0000d910: 2020 2020 2020 2020 616c 676f 7269 7468 algorith │ │ │ │ │ +0000d920: 6d2e 2020 5468 6520 6465 6661 756c 7420 m. The default │ │ │ │ │ +0000d930: 7661 6c75 6520 e280 986f 7665 72e2 8099 value ...over... │ │ │ │ │ +0000d940: 2067 7561 7261 6e74 6565 7320 7468 6174 guarantees that │ │ │ │ │ +0000d950: 206f 7574 7075 740a 2020 2020 2020 2020 output. │ │ │ │ │ 0000d960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d970: 2020 2020 2020 6475 6520 746f 2074 6865 due to the │ │ │ │ │ -0000d980: 20e2 8098 7370 6563 6961 6ce2 8099 2077 ...special... w │ │ │ │ │ -0000d990: 696c 6c20 6265 2076 6973 6962 6c65 2e0a ill be visible.. │ │ │ │ │ -0000d9a0: e280 9873 706c 6974 e280 9920 2020 e280 ...split... .. │ │ │ │ │ -0000d9b0: 9874 7275 65e2 8099 2c20 e280 9866 616c .true..., ...fal │ │ │ │ │ -0000d9c0: 7365 e280 9920 2020 2020 2020 2020 5475 se... Tu │ │ │ │ │ -0000d9d0: 726e 2073 706c 6974 7469 6e67 206f 6620 rn splitting of │ │ │ │ │ -0000d9e0: 7377 6565 702d 6765 6e65 7261 7465 6420 sweep-generated │ │ │ │ │ -0000d9f0: 626f 6479 2070 6f6c 7967 6f6e 7320 6f6e body polygons on │ │ │ │ │ -0000da00: 2061 6e64 206f 6666 0a20 2020 2020 2020 and off. │ │ │ │ │ +0000d970: 2020 2020 2020 2020 2020 6475 6520 746f due to │ │ │ │ │ +0000d980: 2074 6865 20e2 8098 7370 6563 6961 6ce2 the ...special. │ │ │ │ │ +0000d990: 8099 2077 696c 6c20 6265 2076 6973 6962 .. will be visib │ │ │ │ │ +0000d9a0: 6c65 2e0a e280 9873 706c 6974 e280 9920 le.....split... │ │ │ │ │ +0000d9b0: 2020 e280 9874 7275 65e2 8099 2c20 e280 ...true..., .. │ │ │ │ │ +0000d9c0: 9866 616c 7365 e280 9920 2020 2020 2020 .false... │ │ │ │ │ +0000d9d0: 2020 5475 726e 2073 706c 6974 7469 6e67 Turn splitting │ │ │ │ │ +0000d9e0: 206f 6620 7377 6565 702d 6765 6e65 7261 of sweep-genera │ │ │ │ │ +0000d9f0: 7465 6420 626f 6479 2070 6f6c 7967 6f6e ted body polygon │ │ │ │ │ +0000da00: 7320 6f6e 2061 6e64 206f 6666 0a20 2020 s on and off. │ │ │ │ │ 0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da20: 2020 2020 2020 2020 2020 2072 6573 7065 respe │ │ │ │ │ -0000da30: 6374 6976 656c 792e 2020 2a4e 6f74 6520 ctively. *Note │ │ │ │ │ -0000da40: 5377 6565 7073 3a3a 2e20 2054 6865 2064 Sweeps::. The d │ │ │ │ │ -0000da50: 6566 6175 6c74 2076 616c 7565 20e2 8098 efault value ... │ │ │ │ │ -0000da60: 7472 7565 e280 990a 2020 2020 2020 2020 true.... │ │ │ │ │ +0000da20: 2020 2020 2020 2020 2020 2020 2020 2072 r │ │ │ │ │ +0000da30: 6573 7065 6374 6976 656c 792e 2020 2a4e espectively. *N │ │ │ │ │ +0000da40: 6f74 6520 5377 6565 7073 3a3a 2e20 2054 ote Sweeps::. T │ │ │ │ │ +0000da50: 6865 2064 6566 6175 6c74 2076 616c 7565 he default value │ │ │ │ │ +0000da60: 20e2 8098 7472 7565 e280 990a 2020 2020 ...true.... │ │ │ │ │ 0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da80: 2020 2020 2020 2020 2020 6361 7573 6573 causes │ │ │ │ │ -0000da90: 2022 7761 7270 6564 2220 706f 6c79 676f "warped" polygo │ │ │ │ │ -0000daa0: 6e73 2074 6f20 6265 2073 706c 6974 2069 ns to be split i │ │ │ │ │ -0000dab0: 6e74 6f20 7472 6961 6e67 6c65 732c 2077 nto triangles, w │ │ │ │ │ -0000dac0: 6869 6368 0a20 2020 2020 2020 2020 2020 hich. │ │ │ │ │ +0000da80: 2020 2020 2020 2020 2020 2020 2020 6361 ca │ │ │ │ │ +0000da90: 7573 6573 2022 7761 7270 6564 2220 706f uses "warped" po │ │ │ │ │ +0000daa0: 6c79 676f 6e73 2074 6f20 6265 2073 706c lygons to be spl │ │ │ │ │ +0000dab0: 6974 2069 6e74 6f20 7472 6961 6e67 6c65 it into triangle │ │ │ │ │ +0000dac0: 732c 2077 6869 6368 0a20 2020 2020 2020 s, which. │ │ │ │ │ 0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dae0: 2020 2020 2020 2061 766f 6964 7320 6d69 avoids mi │ │ │ │ │ -0000daf0: 7374 616b 6573 2062 7920 7468 6520 6869 stakes by the hi │ │ │ │ │ -0000db00: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg │ │ │ │ │ -0000db10: 6f72 6974 686d 2e0a 0a33 2e31 2e36 2050 orithm...3.1.6 P │ │ │ │ │ -0000db20: 6f69 6e74 206c 6973 7473 0a2d 2d2d 2d2d oint lists.----- │ │ │ │ │ -0000db30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S │ │ │ │ │ -0000db40: 796e 7461 783a 2a0a 2020 2020 2028 5831 yntax:*. (X1 │ │ │ │ │ -0000db50: 2c59 312c 5a31 2928 5832 2c59 322c 5a32 ,Y1,Z1)(X2,Y2,Z2 │ │ │ │ │ -0000db60: 292e 2e2e 0a41 2073 6571 7565 6e63 6520 )....A sequence │ │ │ │ │ -0000db70: 6f66 206f 6e65 206f 7220 6d6f 7265 2070 of one or more p │ │ │ │ │ -0000db80: 6f69 6e74 7320 6d61 6b65 7320 6120 706f oints makes a po │ │ │ │ │ -0000db90: 696e 7420 6c69 7374 2c20 6120 6665 6174 int list, a feat │ │ │ │ │ -0000dba0: 7572 6520 636f 6d6d 6f6e 2074 6f0a 616c ure common to.al │ │ │ │ │ -0000dbb0: 6c20 6472 6177 6162 6c65 732e 2020 4561 l drawables. Ea │ │ │ │ │ -0000dbc0: 6368 206f 6620 7468 6520 706f 696e 7420 ch of the point │ │ │ │ │ -0000dbd0: 636f 6d70 6f6e 656e 7473 2069 7320 6120 components is a │ │ │ │ │ -0000dbe0: 7363 616c 6172 2061 7269 7468 6d65 7469 scalar arithmeti │ │ │ │ │ -0000dbf0: 630a 6578 7072 6573 7369 6f6e 2e20 2041 c.expression. A │ │ │ │ │ -0000dc00: 6e79 2070 6f69 6e74 206d 6179 2068 6176 ny point may hav │ │ │ │ │ -0000dc10: 6520 7468 6520 7a2d 636f 6d70 6f6e 656e e the z-componen │ │ │ │ │ -0000dc20: 7420 6f6d 6974 7465 643b 2069 7420 7769 t omitted; it wi │ │ │ │ │ -0000dc30: 6c6c 2064 6566 6175 6c74 0a74 6f20 7a3d ll default.to z= │ │ │ │ │ -0000dc40: 302e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2044 0...* Menu:..* D │ │ │ │ │ -0000dc50: 7261 7761 626c 6573 3a3a 2020 2020 2020 rawables:: │ │ │ │ │ -0000dc60: 2020 2020 2020 2020 2020 2020 2054 6869 Thi │ │ │ │ │ -0000dc70: 6e67 7320 7468 6174 2061 7265 2064 7261 ngs that are dra │ │ │ │ │ -0000dc80: 776e 2e0a 2a20 4465 6669 6e69 7469 6f6e wn..* Definition │ │ │ │ │ -0000dc90: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -0000dca0: 2020 2020 5468 696e 6773 2077 6974 6820 Things with │ │ │ │ │ -0000dcb0: 6e61 6d65 732e 0a0a 1f0a 4669 6c65 3a20 names.....File: │ │ │ │ │ -0000dcc0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -0000dcd0: 6465 3a20 4472 6177 6162 6c65 732c 2020 de: Drawables, │ │ │ │ │ -0000dce0: 4e65 7874 3a20 4465 6669 6e69 7469 6f6e Next: Definition │ │ │ │ │ -0000dcf0: 732c 2020 5072 6576 3a20 4c61 6e67 7561 s, Prev: Langua │ │ │ │ │ -0000dd00: 6765 2062 6173 6963 732c 2020 5570 3a20 ge basics, Up: │ │ │ │ │ -0000dd10: 496e 7075 7420 6c61 6e67 7561 6765 0a0a Input language.. │ │ │ │ │ -0000dd20: 332e 3220 4472 6177 6162 6c65 730a 3d3d 3.2 Drawables.== │ │ │ │ │ -0000dd30: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 7261 ===========..Dra │ │ │ │ │ -0000dd40: 7761 626c 6573 2061 7265 2073 696d 706c wables are simpl │ │ │ │ │ -0000dd50: 7920 e280 9873 6b65 7463 68e2 8099 206f y ...sketch... o │ │ │ │ │ -0000dd60: 626a 6563 7473 2074 6861 7420 6d69 6768 bjects that migh │ │ │ │ │ -0000dd70: 7420 6170 7065 6172 2069 6e20 7468 6520 t appear in the │ │ │ │ │ -0000dd80: 6472 6177 696e 672e 0a54 6865 7920 696e drawing..They in │ │ │ │ │ -0000dd90: 636c 7564 6520 646f 7473 2c20 706f 6c79 clude dots, poly │ │ │ │ │ -0000dda0: 6c69 6e65 732c 2063 7572 7665 732c 2070 lines, curves, p │ │ │ │ │ -0000ddb0: 6f6c 7967 6f6e 732c 2061 6e64 206d 6f72 olygons, and mor │ │ │ │ │ -0000ddc0: 6520 636f 6d70 6c65 7820 6f62 6a65 6374 e complex object │ │ │ │ │ -0000ddd0: 730a 7468 6174 2061 7265 2062 7569 6c74 s.that are built │ │ │ │ │ -0000dde0: 2075 7020 6672 6f6d 2073 696d 706c 6572 up from simpler │ │ │ │ │ -0000ddf0: 206f 6e65 7320 696e 2076 6172 696f 7573 ones in various │ │ │ │ │ -0000de00: 2077 6179 732e 2020 4669 6e61 6c6c 792c ways. Finally, │ │ │ │ │ -0000de10: 20e2 809c 7370 6563 6961 6ce2 809d 0a6f ...special....o │ │ │ │ │ -0000de20: 626a 6563 7473 2061 7265 2074 686f 7365 bjects are those │ │ │ │ │ -0000de30: 2063 6f6d 706f 7365 6420 6f66 204c 6154 composed of LaT │ │ │ │ │ -0000de40: 6558 206f 7220 e280 9850 5354 7269 636b eX or ...PSTrick │ │ │ │ │ -0000de50: 73e2 8099 2063 6f64 652c 2070 6572 6861 s... code, perha │ │ │ │ │ -0000de60: 7073 0a69 6e63 6c75 6469 6e67 2063 6f6f ps.including coo │ │ │ │ │ -0000de70: 7264 696e 6174 6573 2061 6e64 2061 6e67 rdinates and ang │ │ │ │ │ -0000de80: 6c65 7320 636f 6d70 7574 6564 2062 7920 les computed by │ │ │ │ │ -0000de90: e280 9873 6b65 7463 68e2 8099 2e0a 0a2a ...sketch......* │ │ │ │ │ -0000dea0: 204d 656e 753a 0a0a 2a20 446f 7473 3a3a Menu:..* Dots:: │ │ │ │ │ -0000deb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dec0: 2020 2020 2020 2020 4472 6177 2064 6f74 Draw dot │ │ │ │ │ -0000ded0: 732e 0a2a 204c 696e 6573 3a3a 2020 2020 s..* Lines:: │ │ │ │ │ +0000dae0: 2020 2020 2020 2020 2020 2061 766f 6964 avoid │ │ │ │ │ +0000daf0: 7320 6d69 7374 616b 6573 2062 7920 7468 s mistakes by th │ │ │ │ │ +0000db00: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface │ │ │ │ │ +0000db10: 2061 6c67 6f72 6974 686d 2e0a 0a33 2e31 algorithm...3.1 │ │ │ │ │ +0000db20: 2e36 2050 6f69 6e74 206c 6973 7473 0a2d .6 Point lists.- │ │ │ │ │ +0000db30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000db40: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. │ │ │ │ │ +0000db50: 2028 5831 2c59 312c 5a31 2928 5832 2c59 (X1,Y1,Z1)(X2,Y │ │ │ │ │ +0000db60: 322c 5a32 292e 2e2e 0a41 2073 6571 7565 2,Z2)....A seque │ │ │ │ │ +0000db70: 6e63 6520 6f66 206f 6e65 206f 7220 6d6f nce of one or mo │ │ │ │ │ +0000db80: 7265 2070 6f69 6e74 7320 6d61 6b65 7320 re points makes │ │ │ │ │ +0000db90: 6120 706f 696e 7420 6c69 7374 2c20 6120 a point list, a │ │ │ │ │ +0000dba0: 6665 6174 7572 6520 636f 6d6d 6f6e 2074 feature common t │ │ │ │ │ +0000dbb0: 6f0a 616c 6c20 6472 6177 6162 6c65 732e o.all drawables. │ │ │ │ │ +0000dbc0: 2020 4561 6368 206f 6620 7468 6520 706f Each of the po │ │ │ │ │ +0000dbd0: 696e 7420 636f 6d70 6f6e 656e 7473 2069 int components i │ │ │ │ │ +0000dbe0: 7320 6120 7363 616c 6172 2061 7269 7468 s a scalar arith │ │ │ │ │ +0000dbf0: 6d65 7469 630a 6578 7072 6573 7369 6f6e metic.expression │ │ │ │ │ +0000dc00: 2e20 2041 6e79 2070 6f69 6e74 206d 6179 . Any point may │ │ │ │ │ +0000dc10: 2068 6176 6520 7468 6520 7a2d 636f 6d70 have the z-comp │ │ │ │ │ +0000dc20: 6f6e 656e 7420 6f6d 6974 7465 643b 2069 onent omitted; i │ │ │ │ │ +0000dc30: 7420 7769 6c6c 2064 6566 6175 6c74 0a74 t will default.t │ │ │ │ │ +0000dc40: 6f20 7a3d 302e 0a0a 2a20 4d65 6e75 3a0a o z=0...* Menu:. │ │ │ │ │ +0000dc50: 0a2a 2044 7261 7761 626c 6573 3a3a 2020 .* Drawables:: │ │ │ │ │ +0000dc60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dc70: 2054 6869 6e67 7320 7468 6174 2061 7265 Things that are │ │ │ │ │ +0000dc80: 2064 7261 776e 2e0a 2a20 4465 6669 6e69 drawn..* Defini │ │ │ │ │ +0000dc90: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: │ │ │ │ │ +0000dca0: 2020 2020 2020 2020 5468 696e 6773 2077 Things w │ │ │ │ │ +0000dcb0: 6974 6820 6e61 6d65 732e 0a0a 1f0a 4669 ith names.....Fi │ │ │ │ │ +0000dcc0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +0000dcd0: 2020 4e6f 6465 3a20 4472 6177 6162 6c65 Node: Drawable │ │ │ │ │ +0000dce0: 732c 2020 4e65 7874 3a20 4465 6669 6e69 s, Next: Defini │ │ │ │ │ +0000dcf0: 7469 6f6e 732c 2020 5072 6576 3a20 4c61 tions, Prev: La │ │ │ │ │ +0000dd00: 6e67 7561 6765 2062 6173 6963 732c 2020 nguage basics, │ │ │ │ │ +0000dd10: 5570 3a20 496e 7075 7420 6c61 6e67 7561 Up: Input langua │ │ │ │ │ +0000dd20: 6765 0a0a 332e 3220 4472 6177 6162 6c65 ge..3.2 Drawable │ │ │ │ │ +0000dd30: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a s.=============. │ │ │ │ │ +0000dd40: 0a44 7261 7761 626c 6573 2061 7265 2073 .Drawables are s │ │ │ │ │ +0000dd50: 696d 706c 7920 e280 9873 6b65 7463 68e2 imply ...sketch. │ │ │ │ │ +0000dd60: 8099 206f 626a 6563 7473 2074 6861 7420 .. objects that │ │ │ │ │ +0000dd70: 6d69 6768 7420 6170 7065 6172 2069 6e20 might appear in │ │ │ │ │ +0000dd80: 7468 6520 6472 6177 696e 672e 0a54 6865 the drawing..The │ │ │ │ │ +0000dd90: 7920 696e 636c 7564 6520 646f 7473 2c20 y include dots, │ │ │ │ │ +0000dda0: 706f 6c79 6c69 6e65 732c 2063 7572 7665 polylines, curve │ │ │ │ │ +0000ddb0: 732c 2070 6f6c 7967 6f6e 732c 2061 6e64 s, polygons, and │ │ │ │ │ +0000ddc0: 206d 6f72 6520 636f 6d70 6c65 7820 6f62 more complex ob │ │ │ │ │ +0000ddd0: 6a65 6374 730a 7468 6174 2061 7265 2062 jects.that are b │ │ │ │ │ +0000dde0: 7569 6c74 2075 7020 6672 6f6d 2073 696d uilt up from sim │ │ │ │ │ +0000ddf0: 706c 6572 206f 6e65 7320 696e 2076 6172 pler ones in var │ │ │ │ │ +0000de00: 696f 7573 2077 6179 732e 2020 4669 6e61 ious ways. Fina │ │ │ │ │ +0000de10: 6c6c 792c 20e2 809c 7370 6563 6961 6ce2 lly, ...special. │ │ │ │ │ +0000de20: 809d 0a6f 626a 6563 7473 2061 7265 2074 ...objects are t │ │ │ │ │ +0000de30: 686f 7365 2063 6f6d 706f 7365 6420 6f66 hose composed of │ │ │ │ │ +0000de40: 204c 6154 6558 206f 7220 e280 9850 5354 LaTeX or ...PST │ │ │ │ │ +0000de50: 7269 636b 73e2 8099 2063 6f64 652c 2070 ricks... code, p │ │ │ │ │ +0000de60: 6572 6861 7073 0a69 6e63 6c75 6469 6e67 erhaps.including │ │ │ │ │ +0000de70: 2063 6f6f 7264 696e 6174 6573 2061 6e64 coordinates and │ │ │ │ │ +0000de80: 2061 6e67 6c65 7320 636f 6d70 7574 6564 angles computed │ │ │ │ │ +0000de90: 2062 7920 e280 9873 6b65 7463 68e2 8099 by ...sketch... │ │ │ │ │ +0000dea0: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 446f ...* Menu:..* Do │ │ │ │ │ +0000deb0: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: │ │ │ │ │ +0000dec0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ +0000ded0: 2064 6f74 732e 0a2a 204c 696e 6573 3a3a dots..* Lines:: │ │ │ │ │ 0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000def0: 2020 2044 7261 7720 706f 6c79 6c69 6e65 Draw polyline │ │ │ │ │ -0000df00: 732e 0a2a 2043 7572 7665 733a 3a20 2020 s..* Curves:: │ │ │ │ │ -0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df20: 2020 2044 7261 7720 6375 7276 6573 2e0a Draw curves.. │ │ │ │ │ -0000df30: 2a20 506f 6c79 676f 6e73 3a3a 2020 2020 * Polygons:: │ │ │ │ │ +0000def0: 2020 2020 2020 2044 7261 7720 706f 6c79 Draw poly │ │ │ │ │ +0000df00: 6c69 6e65 732e 0a2a 2043 7572 7665 733a lines..* Curves: │ │ │ │ │ +0000df10: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000df20: 2020 2020 2020 2044 7261 7720 6375 7276 Draw curv │ │ │ │ │ +0000df30: 6573 2e0a 2a20 506f 6c79 676f 6e73 3a3a es..* Polygons:: │ │ │ │ │ 0000df40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df50: 4472 6177 2070 6f6c 7967 6f6e 732e 0a2a Draw polygons..* │ │ │ │ │ -0000df60: 2053 7065 6369 616c 733a 3a20 2020 2020 Specials:: │ │ │ │ │ -0000df70: 2020 2020 2020 2020 2020 2020 2020 2045 E │ │ │ │ │ -0000df80: 6d62 6564 2072 6177 204c 6154 6558 2061 mbed raw LaTeX a │ │ │ │ │ -0000df90: 6e64 20e2 8098 5053 5472 6963 6b73 e280 nd ...PSTricks.. │ │ │ │ │ -0000dfa0: 992e 0a2a 2053 7765 6570 733a 3a20 2020 ...* Sweeps:: │ │ │ │ │ -0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dfc0: 2020 2044 7261 7720 7377 6565 7073 206f Draw sweeps o │ │ │ │ │ -0000dfd0: 6620 646f 7473 2061 6e64 2070 6f6c 796c f dots and polyl │ │ │ │ │ -0000dfe0: 696e 6573 2e0a 2a20 426c 6f63 6b73 3a3a ines..* Blocks:: │ │ │ │ │ -0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e000: 2020 2020 2020 4772 6f75 7020 6f74 6865 Group othe │ │ │ │ │ -0000e010: 7220 6472 6177 6162 6c65 732e 0a2a 2052 r drawables..* R │ │ │ │ │ -0000e020: 6570 6561 7473 3a3a 2020 2020 2020 2020 epeats:: │ │ │ │ │ -0000e030: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ -0000e040: 7720 7472 616e 7366 6f72 6d65 6420 636f w transformed co │ │ │ │ │ -0000e050: 7069 6573 206f 6620 6f62 6a65 6374 732e pies of objects. │ │ │ │ │ -0000e060: 0a2a 2050 7574 733a 3a20 2020 2020 2020 .* Puts:: │ │ │ │ │ +0000df50: 2020 2020 4472 6177 2070 6f6c 7967 6f6e Draw polygon │ │ │ │ │ +0000df60: 732e 0a2a 2053 7065 6369 616c 733a 3a20 s..* Specials:: │ │ │ │ │ +0000df70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000df80: 2020 2045 6d62 6564 2072 6177 204c 6154 Embed raw LaT │ │ │ │ │ +0000df90: 6558 2061 6e64 20e2 8098 5053 5472 6963 eX and ...PSTric │ │ │ │ │ +0000dfa0: 6b73 e280 992e 0a2a 2053 7765 6570 733a ks.....* Sweeps: │ │ │ │ │ +0000dfb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000dfc0: 2020 2020 2020 2044 7261 7720 7377 6565 Draw swee │ │ │ │ │ +0000dfd0: 7073 206f 6620 646f 7473 2061 6e64 2070 ps of dots and p │ │ │ │ │ +0000dfe0: 6f6c 796c 696e 6573 2e0a 2a20 426c 6f63 olylines..* Bloc │ │ │ │ │ +0000dff0: 6b73 3a3a 2020 2020 2020 2020 2020 2020 ks:: │ │ │ │ │ +0000e000: 2020 2020 2020 2020 2020 4772 6f75 7020 Group │ │ │ │ │ +0000e010: 6f74 6865 7220 6472 6177 6162 6c65 732e other drawables. │ │ │ │ │ +0000e020: 0a2a 2052 6570 6561 7473 3a3a 2020 2020 .* Repeats:: │ │ │ │ │ +0000e030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e040: 2044 7261 7720 7472 616e 7366 6f72 6d65 Draw transforme │ │ │ │ │ +0000e050: 6420 636f 7069 6573 206f 6620 6f62 6a65 d copies of obje │ │ │ │ │ +0000e060: 6374 732e 0a2a 2050 7574 733a 3a20 2020 cts..* Puts:: │ │ │ │ │ 0000e070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e080: 2044 7261 7720 6f6e 6520 6f62 6a65 6374 Draw one object │ │ │ │ │ -0000e090: 2074 7261 6e73 666f 726d 6564 2e0a 0a1f transformed.... │ │ │ │ │ -0000e0a0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -0000e0b0: 666f 2c20 204e 6f64 653a 2044 6f74 732c fo, Node: Dots, │ │ │ │ │ -0000e0c0: 2020 4e65 7874 3a20 4c69 6e65 732c 2020 Next: Lines, │ │ │ │ │ -0000e0d0: 5072 6576 3a20 4472 6177 6162 6c65 732c Prev: Drawables, │ │ │ │ │ -0000e0e0: 2020 5570 3a20 4472 6177 6162 6c65 730a Up: Drawables. │ │ │ │ │ -0000e0f0: 0a33 2e32 2e31 2044 6f74 730a 2d2d 2d2d .3.2.1 Dots.---- │ │ │ │ │ -0000e100: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax: │ │ │ │ │ -0000e110: 2a0a 2020 2020 2064 6f74 735b 4f50 5449 *. dots[OPTI │ │ │ │ │ -0000e120: 4f4e 535d 2050 4f49 4e54 5f4c 4953 540a ONS] POINT_LIST. │ │ │ │ │ -0000e130: 5468 6973 2063 6f6d 6d61 6e64 2069 7320 This command is │ │ │ │ │ -0000e140: 7468 6520 7468 7265 652d 6469 6d65 6e73 the three-dimens │ │ │ │ │ -0000e150: 696f 6e61 6c20 6571 7569 7661 6c65 6e74 ional equivalent │ │ │ │ │ -0000e160: 206f 6620 7468 6520 e280 9850 5354 7269 of the ...PSTri │ │ │ │ │ -0000e170: 636b 73e2 8099 0a63 6f6d 6d61 6e64 20e2 cks....command . │ │ │ │ │ -0000e180: 8098 5c70 7364 6f74 73e2 8099 2e0a 0a1f ..\psdots....... │ │ │ │ │ -0000e190: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -0000e1a0: 666f 2c20 204e 6f64 653a 204c 696e 6573 fo, Node: Lines │ │ │ │ │ -0000e1b0: 2c20 204e 6578 743a 2043 7572 7665 732c , Next: Curves, │ │ │ │ │ -0000e1c0: 2020 5072 6576 3a20 446f 7473 2c20 2055 Prev: Dots, U │ │ │ │ │ -0000e1d0: 703a 2044 7261 7761 626c 6573 0a0a 332e p: Drawables..3. │ │ │ │ │ -0000e1e0: 322e 3220 4c69 6e65 730a 2d2d 2d2d 2d2d 2.2 Lines.------ │ │ │ │ │ -0000e1f0: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:* │ │ │ │ │ -0000e200: 0a20 2020 2020 6c69 6e65 5b4f 5054 494f . line[OPTIO │ │ │ │ │ -0000e210: 4e53 5d20 504f 494e 545f 4c49 5354 0a54 NS] POINT_LIST.T │ │ │ │ │ -0000e220: 6869 7320 636f 6d6d 616e 6420 6973 2074 his command is t │ │ │ │ │ -0000e230: 6865 2074 6872 6565 2d64 696d 656e 7369 he three-dimensi │ │ │ │ │ -0000e240: 6f6e 616c 2065 7175 6976 616c 656e 7420 onal equivalent │ │ │ │ │ -0000e250: 6f66 2074 6865 20e2 8098 5053 5472 6963 of the ...PSTric │ │ │ │ │ -0000e260: 6b73 e280 990a 636f 6d6d 616e 6420 e280 ks....command .. │ │ │ │ │ -0000e270: 985c 7073 6c69 6e65 e280 992e 0a0a 1f0a .\psline........ │ │ │ │ │ -0000e280: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -0000e290: 6f2c 2020 4e6f 6465 3a20 4375 7276 6573 o, Node: Curves │ │ │ │ │ -0000e2a0: 2c20 204e 6578 743a 2050 6f6c 7967 6f6e , Next: Polygon │ │ │ │ │ -0000e2b0: 732c 2020 5072 6576 3a20 4c69 6e65 732c s, Prev: Lines, │ │ │ │ │ -0000e2c0: 2020 5570 3a20 4472 6177 6162 6c65 730a Up: Drawables. │ │ │ │ │ -0000e2d0: 0a33 2e32 2e33 2043 7572 7665 730a 2d2d .3.2.3 Curves.-- │ │ │ │ │ -0000e2e0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn │ │ │ │ │ -0000e2f0: 7461 783a 2a0a 2020 2020 2063 7572 7665 tax:*. curve │ │ │ │ │ -0000e300: 5b4f 5054 494f 4e53 5d20 504f 494e 545f [OPTIONS] POINT_ │ │ │ │ │ -0000e310: 4c49 5354 0a54 6869 7320 636f 6d6d 616e LIST.This comman │ │ │ │ │ -0000e320: 6420 6973 2074 6865 2074 6872 6565 2d64 d is the three-d │ │ │ │ │ -0000e330: 696d 656e 7369 6f6e 616c 2065 7175 6976 imensional equiv │ │ │ │ │ -0000e340: 616c 656e 7420 6f66 2074 6865 20e2 8098 alent of the ... │ │ │ │ │ -0000e350: 5053 5472 6963 6b73 e280 990a 636f 6d6d PSTricks....comm │ │ │ │ │ -0000e360: 616e 6420 e280 985c 7073 6375 7276 65e2 and ...\pscurve. │ │ │ │ │ -0000e370: 8099 2e20 2049 7420 6973 206e 6f74 2069 ... It is not i │ │ │ │ │ -0000e380: 6d70 6c65 6d65 6e74 6564 2069 6e20 7468 mplemented in th │ │ │ │ │ -0000e390: 6520 6375 7272 656e 7420 7665 7273 696f e current versio │ │ │ │ │ -0000e3a0: 6e20 6f66 0ae2 8098 736b 6574 6368 e280 n of....sketch.. │ │ │ │ │ -0000e3b0: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket │ │ │ │ │ -0000e3c0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -0000e3d0: 506f 6c79 676f 6e73 2c20 204e 6578 743a Polygons, Next: │ │ │ │ │ -0000e3e0: 2053 7065 6369 616c 732c 2020 5072 6576 Specials, Prev │ │ │ │ │ -0000e3f0: 3a20 4375 7276 6573 2c20 2055 703a 2044 : Curves, Up: D │ │ │ │ │ -0000e400: 7261 7761 626c 6573 0a0a 332e 322e 3420 rawables..3.2.4 │ │ │ │ │ -0000e410: 506f 6c79 676f 6e73 0a2d 2d2d 2d2d 2d2d Polygons.------- │ │ │ │ │ -0000e420: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax │ │ │ │ │ -0000e430: 3a2a 0a20 2020 2020 706f 6c79 676f 6e5b :*. polygon[ │ │ │ │ │ -0000e440: 4f50 5449 4f4e 535d 2050 4f49 4e54 5f4c OPTIONS] POINT_L │ │ │ │ │ -0000e450: 4953 540a 5468 6973 2063 6f6d 6d61 6e64 IST.This command │ │ │ │ │ -0000e460: 2069 7320 7468 6520 7468 7265 652d 6469 is the three-di │ │ │ │ │ -0000e470: 6d65 6e73 696f 6e61 6c20 6571 7569 7661 mensional equiva │ │ │ │ │ -0000e480: 6c65 6e74 206f 6620 7468 6520 e280 9850 lent of the ...P │ │ │ │ │ -0000e490: 5354 7269 636b 73e2 8099 0a63 6f6d 6d61 STricks....comma │ │ │ │ │ -0000e4a0: 6e64 20e2 8098 5c70 7370 6f6c 7967 6f6e nd ...\pspolygon │ │ │ │ │ -0000e4b0: e280 992e 2020 5468 6520 e280 9873 6b65 .... The ...ske │ │ │ │ │ -0000e4c0: 7463 68e2 8099 2068 6964 6465 6e20 7375 tch... hidden su │ │ │ │ │ -0000e4d0: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm │ │ │ │ │ -0000e4e0: 6173 7375 6d65 730a 7468 6174 2070 6f6c assumes.that pol │ │ │ │ │ -0000e4f0: 7967 6f6e 7320 6172 6520 636f 6e76 6578 ygons are convex │ │ │ │ │ -0000e500: 2061 6e64 2070 6c61 6e61 722e 2020 496e and planar. In │ │ │ │ │ -0000e510: 2070 7261 6374 6963 652c 2064 7261 7769 practice, drawi │ │ │ │ │ -0000e520: 6e67 7320 6d61 7920 7765 6c6c 0a74 7572 ngs may well.tur │ │ │ │ │ -0000e530: 6e20 6f75 7420 636f 7272 6563 746c 7920 n out correctly │ │ │ │ │ -0000e540: 6576 656e 2069 6620 7468 6573 6520 6173 even if these as │ │ │ │ │ -0000e550: 7375 6d70 7469 6f6e 7320 6172 6520 7669 sumptions are vi │ │ │ │ │ -0000e560: 6f6c 6174 6564 2e0a 0a1f 0a46 696c 653a olated.....File: │ │ │ │ │ -0000e570: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -0000e580: 6f64 653a 2053 7065 6369 616c 732c 2020 ode: Specials, │ │ │ │ │ -0000e590: 4e65 7874 3a20 5377 6565 7073 2c20 2050 Next: Sweeps, P │ │ │ │ │ -0000e5a0: 7265 763a 2050 6f6c 7967 6f6e 732c 2020 rev: Polygons, │ │ │ │ │ -0000e5b0: 5570 3a20 4472 6177 6162 6c65 730a 0a33 Up: Drawables..3 │ │ │ │ │ -0000e5c0: 2e32 2e35 2053 7065 6369 616c 730a 2d2d .2.5 Specials.-- │ │ │ │ │ -0000e5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S │ │ │ │ │ -0000e5e0: 796e 7461 783a 2a0a 2020 2020 2073 7065 yntax:*. spe │ │ │ │ │ -0000e5f0: 6369 616c 2024 5241 575f 5445 5854 245b cial $RAW_TEXT$[ │ │ │ │ │ -0000e600: 4f50 5449 4f4e 535d 2041 5247 5f4c 4953 OPTIONS] ARG_LIS │ │ │ │ │ -0000e610: 540a 4865 7265 20e2 8098 24e2 8099 2063 T.Here ...$... c │ │ │ │ │ -0000e620: 616e 2062 6520 616e 7920 6368 6172 6163 an be any charac │ │ │ │ │ -0000e630: 7465 7220 616e 6420 6973 2075 7365 6420 ter and is used │ │ │ │ │ -0000e640: 746f 2064 656c 696d 6974 2074 6865 2073 to delimit the s │ │ │ │ │ -0000e650: 7461 7274 2061 6e64 2065 6e64 0a6f 6620 tart and end.of │ │ │ │ │ -0000e660: 5241 575f 5445 5854 2e20 2054 6865 2063 RAW_TEXT. The c │ │ │ │ │ -0000e670: 6f6d 6d61 6e64 2065 6d62 6564 7320 5241 ommand embeds RA │ │ │ │ │ -0000e680: 575f 5445 5854 2069 6e20 7468 6520 e280 W_TEXT in the .. │ │ │ │ │ -0000e690: 9873 6b65 7463 68e2 8099 206f 7574 7075 .sketch... outpu │ │ │ │ │ -0000e6a0: 7420 6166 7465 720a 7065 7266 6f72 6d69 t after.performi │ │ │ │ │ -0000e6b0: 6e67 2073 7562 7374 6974 7574 696f 6e73 ng substitutions │ │ │ │ │ -0000e6c0: 2061 7320 666f 6c6c 6f77 732e 0a20 2020 as follows.. │ │ │ │ │ -0000e6d0: e280 a220 e280 9823 49e2 8099 2077 6865 ... ...#I... whe │ │ │ │ │ -0000e6e0: 7265 2049 2069 7320 6120 706f 7369 7469 re I is a positi │ │ │ │ │ -0000e6f0: 7665 2069 6e74 6567 6572 2069 7320 7265 ve integer is re │ │ │ │ │ -0000e700: 706c 6163 6564 2062 7920 7468 6520 4927 placed by the I' │ │ │ │ │ -0000e710: 7468 2076 616c 7565 2069 6e0a 2020 2020 th value in. │ │ │ │ │ -0000e720: 2041 5247 5f4c 4953 542e 2020 506f 696e ARG_LIST. Poin │ │ │ │ │ -0000e730: 7420 616e 6420 7665 6374 6f72 2061 7267 t and vector arg │ │ │ │ │ -0000e740: 756d 656e 7473 2062 6563 6f6d 6520 7477 uments become tw │ │ │ │ │ -0000e750: 6f2d 6469 6d65 6e73 696f 6e61 6c0a 2020 o-dimensional. │ │ │ │ │ -0000e760: 2020 2070 6f69 6e74 732c 2077 6869 6368 points, which │ │ │ │ │ -0000e770: 2061 7265 2074 6865 2074 7261 6e73 666f are the transfo │ │ │ │ │ -0000e780: 726d 6564 2033 6420 6172 6775 6d65 6e74 rmed 3d argument │ │ │ │ │ -0000e790: 7320 7072 6f6a 6563 7465 6420 6f6e 746f s projected onto │ │ │ │ │ -0000e7a0: 2074 6865 0a20 2020 2020 582d 5920 706c the. X-Y pl │ │ │ │ │ -0000e7b0: 616e 652e 2020 5468 6973 2061 6c6c 6f77 ane. This allow │ │ │ │ │ -0000e7c0: 7320 7477 6f2d 6469 6d65 6e74 696f 6e61 s two-dimentiona │ │ │ │ │ -0000e7d0: 6c20 6f75 7470 7574 2065 6c65 6d65 6e74 l output element │ │ │ │ │ -0000e7e0: 7320 7375 6368 2061 730a 2020 2020 206c s such as. l │ │ │ │ │ -0000e7f0: 6162 656c 7320 746f 2062 6520 6561 7369 abels to be easi │ │ │ │ │ -0000e800: 6c79 2070 6f73 6974 696f 6e65 6420 7769 ly positioned wi │ │ │ │ │ -0000e810: 7468 2072 6573 7065 6374 2074 6f20 7468 th respect to th │ │ │ │ │ -0000e820: 7265 652d 6469 6d65 6e73 696f 6e61 6c0a ree-dimensional. │ │ │ │ │ -0000e830: 2020 2020 2066 6561 7475 7265 7320 696e features in │ │ │ │ │ -0000e840: 2074 6865 2064 7261 7769 6e67 2e20 2053 the drawing. S │ │ │ │ │ -0000e850: 6361 6c61 7220 6172 6775 6d65 6e74 7320 calar arguments │ │ │ │ │ -0000e860: 6172 6520 7375 6273 6974 7574 6564 2064 are subsituted d │ │ │ │ │ -0000e870: 6972 6563 746c 792e 0a20 2020 2020 4e6f irectly.. No │ │ │ │ │ -0000e880: 2074 7261 6e73 666f 726d 6174 696f 6e20 transformation │ │ │ │ │ -0000e890: 6973 2061 7070 6c69 6564 2e0a 2020 20e2 is applied.. . │ │ │ │ │ -0000e8a0: 80a2 20e2 8098 237b 497d e280 9920 6973 .. ...#{I}... is │ │ │ │ │ -0000e8b0: 2061 6c73 6f20 7265 706c 6163 6564 2061 also replaced a │ │ │ │ │ -0000e8c0: 7320 6162 6f76 652e 0a20 2020 e280 a220 s above.. ... │ │ │ │ │ -0000e8d0: e280 9823 4927 32e2 8099 2069 7320 7265 ...#I'2... is re │ │ │ │ │ -0000e8e0: 706c 6163 6564 2061 7320 6162 6f76 6520 placed as above │ │ │ │ │ -0000e8f0: 666f 7220 706f 696e 7473 206f 7220 7665 for points or ve │ │ │ │ │ -0000e900: 6374 6f72 732e 2020 4974 2069 7320 616e ctors. It is an │ │ │ │ │ -0000e910: 2065 7272 6f72 0a20 2020 2020 666f 7220 error. for │ │ │ │ │ -0000e920: 7468 6520 4927 7468 2061 7267 756d 656e the I'th argumen │ │ │ │ │ -0000e930: 7420 746f 2062 6520 6120 7363 616c 6172 t to be a scalar │ │ │ │ │ -0000e940: 2e0a 2020 20e2 80a2 20e2 8098 2349 2778 .. ... ...#I'x │ │ │ │ │ -0000e950: e280 992c 20e2 8098 2349 2779 e280 992c ..., ...#I'y..., │ │ │ │ │ -0000e960: 206f 7220 e280 9823 4927 7ae2 8099 2069 or ...#I'z... i │ │ │ │ │ -0000e970: 7320 7265 706c 6163 6564 2c20 7265 7370 s replaced, resp │ │ │ │ │ -0000e980: 6563 7469 7665 6c79 2c20 6279 2074 6865 ectively, by the │ │ │ │ │ -0000e990: 2073 6361 6c61 720a 2020 2020 2058 2c20 scalar. X, │ │ │ │ │ -0000e9a0: 592c 206f 7220 5a2d 636f 6f72 6469 6e61 Y, or Z-coordina │ │ │ │ │ -0000e9b0: 7465 206f 6620 7468 6520 6172 6775 6d65 te of the argume │ │ │ │ │ -0000e9c0: 6e74 2070 6f69 6e74 206f 7220 7665 6374 nt point or vect │ │ │ │ │ -0000e9d0: 6f72 2e20 2049 7420 6973 2061 6e0a 2020 or. It is an. │ │ │ │ │ -0000e9e0: 2020 2065 7272 6f72 2066 6f72 2074 6865 error for the │ │ │ │ │ -0000e9f0: 2049 2774 6820 6172 6775 6d65 6e74 2074 I'th argument t │ │ │ │ │ -0000ea00: 6f20 6265 2061 2073 6361 6c61 722e 0a20 o be a scalar.. │ │ │ │ │ -0000ea10: 2020 e280 a220 e280 9823 4927 33e2 8099 ... ...#I'3... │ │ │ │ │ -0000ea20: 2069 7320 7265 706c 6163 6564 2062 7920 is replaced by │ │ │ │ │ -0000ea30: 7468 6520 7468 7265 652d 6469 6d65 6e73 the three-dimens │ │ │ │ │ -0000ea40: 696f 6e61 6c20 7472 616e 7366 6f72 6d65 ional transforme │ │ │ │ │ -0000ea50: 6420 6172 6775 6d65 6e74 2e0a 2020 2020 d argument.. │ │ │ │ │ -0000ea60: 204e 6f74 6520 7468 6174 2069 6620 6120 Note that if a │ │ │ │ │ -0000ea70: 7065 7273 7065 6374 6976 6520 7472 616e perspective tran │ │ │ │ │ -0000ea80: 7366 6f72 6d61 7469 6f6e 2068 6173 2062 sformation has b │ │ │ │ │ -0000ea90: 6565 6e20 6170 706c 6965 642c 2074 6865 een applied, the │ │ │ │ │ -0000eaa0: 0a20 2020 2020 5a2d 636f 6f72 6469 6e61 . Z-coordina │ │ │ │ │ -0000eab0: 7465 2068 6173 206c 6974 746c 6520 6765 te has little ge │ │ │ │ │ -0000eac0: 6f6d 6574 7269 6320 7369 676e 6966 6963 ometric signific │ │ │ │ │ -0000ead0: 616e 6365 2c20 7468 6f75 6768 2069 740a ance, though it. │ │ │ │ │ -0000eae0: 2020 2020 2061 6363 7572 6174 656c 7920 accurately │ │ │ │ │ -0000eaf0: 696e 6469 6361 7465 7320 7265 6c61 7469 indicates relati │ │ │ │ │ -0000eb00: 7665 2064 6570 7468 2e0a 2020 20e2 80a2 ve depth.. ... │ │ │ │ │ -0000eb10: 20e2 8098 2349 2d4a e280 9920 7768 6572 ...#I-J... wher │ │ │ │ │ -0000eb20: 6520 4920 616e 6420 4a20 6172 6520 706f e I and J are po │ │ │ │ │ -0000eb30: 7369 7469 7665 2069 6e74 6567 6572 7320 sitive integers │ │ │ │ │ -0000eb40: 6973 2072 6570 6c61 6365 6420 6279 2061 is replaced by a │ │ │ │ │ -0000eb50: 2073 7472 696e 670a 2020 2020 20e2 8098 string. ... │ │ │ │ │ -0000eb60: 7b41 4e47 4c45 7de2 8099 2077 6865 7265 {ANGLE}... where │ │ │ │ │ -0000eb70: 2041 4e47 4c45 2069 7320 7468 6520 706f ANGLE is the po │ │ │ │ │ -0000eb80: 6c61 7220 616e 676c 6520 6f66 2061 2076 lar angle of a v │ │ │ │ │ -0000eb90: 6563 746f 7220 6672 6f6d 2074 6865 2049 ector from the I │ │ │ │ │ -0000eba0: 2774 680a 2020 2020 2070 6f69 6e74 2069 'th. point i │ │ │ │ │ -0000ebb0: 6e20 504f 494e 545f 4c49 5354 2074 6f20 n POINT_LIST to │ │ │ │ │ -0000ebc0: 7468 6520 4a27 7468 2070 6f69 6e74 2070 the J'th point p │ │ │ │ │ -0000ebd0: 726f 6a65 6374 6564 2069 6e74 6f20 7468 rojected into th │ │ │ │ │ -0000ebe0: 6520 782d 7920 706c 616e 652e 0a20 2020 e x-y plane.. │ │ │ │ │ -0000ebf0: 2020 4974 2069 7320 616e 2065 7272 6f72 It is an error │ │ │ │ │ -0000ec00: 2066 6f72 2074 6865 2049 2774 6820 6f72 for the I'th or │ │ │ │ │ -0000ec10: 204a 2774 6820 6172 6775 6d65 6e74 2074 J'th argument t │ │ │ │ │ -0000ec20: 6f20 6265 2061 2073 6361 6c61 7220 6f72 o be a scalar or │ │ │ │ │ -0000ec30: 2061 0a20 2020 2020 7665 6374 6f72 2e0a a. vector.. │ │ │ │ │ -0000ec40: 2020 20e2 80a2 20e2 8098 237b 492d 4a7d ... ...#{I-J} │ │ │ │ │ -0000ec50: e280 9920 6973 2061 6c73 6f20 7265 706c ... is also repl │ │ │ │ │ -0000ec60: 6163 6564 2061 7320 6162 6f76 652e 0a20 aced as above.. │ │ │ │ │ -0000ec70: 2020 e280 a220 e280 9823 23e2 8099 2069 ... ...##... i │ │ │ │ │ -0000ec80: 7320 7265 706c 6163 6564 2077 6974 6820 s replaced with │ │ │ │ │ -0000ec90: e280 9823 e280 992e 0a54 6865 2066 6f72 ...#.....The for │ │ │ │ │ -0000eca0: 6d73 2077 6974 6820 6272 6163 6573 20e2 ms with braces . │ │ │ │ │ -0000ecb0: 8098 7b20 7de2 8099 2061 7265 2075 7365 ..{ }... are use │ │ │ │ │ -0000ecc0: 6675 6c20 7768 656e 2074 6865 2061 7267 ful when the arg │ │ │ │ │ -0000ecd0: 756d 656e 7420 6973 2069 6d6d 6564 6961 ument is immedia │ │ │ │ │ -0000ece0: 7465 6c79 0a66 6f6c 6c6f 7765 6420 6279 tely.followed by │ │ │ │ │ -0000ecf0: 2061 2064 6967 6974 206f 7220 6120 7469 a digit or a ti │ │ │ │ │ -0000ed00: 636b 2063 6861 7261 6374 6572 2074 6861 ck character tha │ │ │ │ │ -0000ed10: 7420 6973 2070 6172 7420 6f66 2074 6865 t is part of the │ │ │ │ │ -0000ed20: 2054 6558 2063 6f64 652e 0a0a 2020 2054 TeX code... T │ │ │ │ │ -0000ed30: 6865 206f 6e6c 7920 7573 6566 756c 206f he only useful o │ │ │ │ │ -0000ed40: 7074 696f 6e20 6f66 20e2 8098 7370 6563 ption of ...spec │ │ │ │ │ -0000ed50: 6961 6ce2 8099 2069 7320 e280 986c 6179 ial... is ...lay │ │ │ │ │ -0000ed60: e280 992c 2077 6869 6368 2064 6574 6572 ..., which deter │ │ │ │ │ -0000ed70: 6d69 6e65 7320 6966 2074 6865 0a73 7562 mines if the.sub │ │ │ │ │ -0000ed80: 7374 6974 7565 6420 7261 7720 7465 7874 stitued raw text │ │ │ │ │ -0000ed90: 2069 7320 656d 6974 7465 6420 6265 666f is emitted befo │ │ │ │ │ -0000eda0: 7265 2c20 6166 7465 722c 206f 7220 7573 re, after, or us │ │ │ │ │ -0000edb0: 696e 6720 7468 6520 6669 7273 7420 706f ing the first po │ │ │ │ │ -0000edc0: 696e 740a 696e 2050 4f49 4e54 5f4c 4953 int.in POINT_LIS │ │ │ │ │ -0000edd0: 5420 6173 2061 6e20 696e 6469 6361 746f T as an indicato │ │ │ │ │ -0000ede0: 7220 6f66 2064 6570 7468 2e20 2054 6865 r of depth. The │ │ │ │ │ -0000edf0: 7365 206f 6363 7572 2c20 7265 7370 6563 se occur, respec │ │ │ │ │ -0000ee00: 7469 7665 6c79 2c20 7769 7468 0ae2 8098 tively, with.... │ │ │ │ │ -0000ee10: 6c61 793d 756e 6465 72e2 8099 2c20 e280 lay=under..., .. │ │ │ │ │ -0000ee20: 986c 6179 3d6f 7665 72e2 8099 2c20 616e .lay=over..., an │ │ │ │ │ -0000ee30: 6420 e280 986c 6179 3d69 6ee2 8099 2e20 d ...lay=in.... │ │ │ │ │ -0000ee40: 2053 6565 202a 6e6f 7465 2053 7065 6369 See *note Speci │ │ │ │ │ -0000ee50: 616c 206f 626a 6563 7473 3a3a 2061 6e64 al objects:: and │ │ │ │ │ -0000ee60: 0a2a 6e6f 7465 2054 696b 5a2f 5047 4620 .*note TikZ/PGF │ │ │ │ │ -0000ee70: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ -0000ee80: 6c65 733a 3a20 666f 7220 6578 616d 706c les:: for exampl │ │ │ │ │ -0000ee90: 6573 2e20 202a 4e6f 7465 2049 6e74 6572 es. *Note Inter │ │ │ │ │ -0000eea0: 6e61 6c0a 6f70 7469 6f6e 733a 3a2e 0a0a nal.options::... │ │ │ │ │ -0000eeb0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -0000eec0: 6e66 6f2c 2020 4e6f 6465 3a20 5377 6565 nfo, Node: Swee │ │ │ │ │ -0000eed0: 7073 2c20 204e 6578 743a 2042 6c6f 636b ps, Next: Block │ │ │ │ │ -0000eee0: 732c 2020 5072 6576 3a20 5370 6563 6961 s, Prev: Specia │ │ │ │ │ -0000eef0: 6c73 2c20 2055 703a 2044 7261 7761 626c ls, Up: Drawabl │ │ │ │ │ -0000ef00: 6573 0a0a 332e 322e 3620 5377 6565 7073 es..3.2.6 Sweeps │ │ │ │ │ -0000ef10: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a .------------..* │ │ │ │ │ -0000ef20: 5379 6e74 6178 3a2a 0a20 2020 2020 7377 Syntax:*. sw │ │ │ │ │ -0000ef30: 6565 7020 7b20 4e2c 2054 5f31 2c20 545f eep { N, T_1, T_ │ │ │ │ │ -0000ef40: 322c 202e 2e2e 2c20 545f 5220 7d5b 4f50 2, ..., T_R }[OP │ │ │ │ │ -0000ef50: 5449 4f4e 535d 2053 5745 5054 5f4f 424a TIONS] SWEPT_OBJ │ │ │ │ │ -0000ef60: 4543 540a 2020 2020 2073 7765 6570 207b ECT. sweep { │ │ │ │ │ -0000ef70: 204e 3c3e 2c20 545f 312c 2054 5f32 2c20 N<>, T_1, T_2, │ │ │ │ │ -0000ef80: 2e2e 2e2c 2054 5f52 207d 5b4f 5054 494f ..., T_R }[OPTIO │ │ │ │ │ -0000ef90: 4e53 5d20 5357 4550 545f 4f42 4a45 4354 NS] SWEPT_OBJECT │ │ │ │ │ -0000efa0: 0a54 6865 2073 7765 6570 2063 6f6e 6e65 .The sweep conne │ │ │ │ │ -0000efb0: 6374 7320 4e20 286f 7220 7065 7268 6170 cts N (or perhap │ │ │ │ │ -0000efc0: 7320 4e2b 3129 2063 6f70 6965 7320 6f66 s N+1) copies of │ │ │ │ │ -0000efd0: 2053 5745 5054 5f4f 424a 4543 5420 696e SWEPT_OBJECT in │ │ │ │ │ -0000efe0: 206f 7264 6572 2074 6f0a 6372 6561 7465 order to.create │ │ │ │ │ -0000eff0: 2061 206e 6577 206f 626a 6563 7420 6f66 a new object of │ │ │ │ │ -0000f000: 2068 6967 6865 7220 6469 6d65 6e73 696f higher dimensio │ │ │ │ │ -0000f010: 6e2e 2020 5468 6520 545f 4920 2866 6f72 n. The T_I (for │ │ │ │ │ -0000f020: 2069 2062 6574 7765 656e 2031 2061 6e64 i between 1 and │ │ │ │ │ -0000f030: 0a72 2920 6172 6520 7472 616e 7366 6f72 .r) are transfor │ │ │ │ │ -0000f040: 6d73 2e20 2054 6865 206b 2774 6820 636f ms. The k'th co │ │ │ │ │ -0000f050: 7079 206f 6620 5357 4550 545f 4f42 4a45 py of SWEPT_OBJE │ │ │ │ │ -0000f060: 4354 2069 7320 7072 6f64 7563 6564 2062 CT is produced b │ │ │ │ │ -0000f070: 790a 6170 706c 7969 6e67 2074 6865 2066 y.applying the f │ │ │ │ │ -0000f080: 6f6c 6c6f 7769 6e67 2074 7261 6e73 666f ollowing transfo │ │ │ │ │ -0000f090: 726d 2074 6f20 7468 6520 6f72 6967 696e rm to the origin │ │ │ │ │ -0000f0a0: 616c 2e0a 2020 2020 2054 5f31 5e6b 2074 al.. T_1^k t │ │ │ │ │ -0000f0b0: 6865 6e20 545f 325e 6b20 7468 656e 202e hen T_2^k then . │ │ │ │ │ -0000f0c0: 2e2e 2074 6865 6e20 545f 525e 6b0a 4865 .. then T_R^k.He │ │ │ │ │ -0000f0d0: 7265 2054 5e6b 206d 6561 6e73 2022 7472 re T^k means "tr │ │ │ │ │ -0000f0e0: 616e 7366 6f72 6d20 5420 6170 706c 6965 ansform T applie │ │ │ │ │ -0000f0f0: 6420 6b20 7469 6d65 732e 2220 2054 6865 d k times." The │ │ │ │ │ -0000f100: 206f 7269 6769 6e61 6c20 6f62 6a65 6374 original object │ │ │ │ │ -0000f110: 2069 730a 7468 6520 7a65 726f 2774 6820 is.the zero'th │ │ │ │ │ -0000f120: 636f 7079 2c20 7769 7468 206b 3d30 2061 copy, with k=0 a │ │ │ │ │ -0000f130: 6e64 2065 6666 6563 7469 7665 6c79 206e nd effectively n │ │ │ │ │ -0000f140: 6f20 7472 616e 7366 6f72 6d20 6170 706c o transform appl │ │ │ │ │ -0000f150: 6965 6420 2854 5e30 3d49 2c0a 7468 6520 ied (T^0=I,.the │ │ │ │ │ -0000f160: 6964 656e 7469 7479 2074 7261 6e73 666f identity transfo │ │ │ │ │ -0000f170: 726d 292e 0a0a 2020 2054 6865 206d 6574 rm)... The met │ │ │ │ │ -0000f180: 686f 6420 6f66 2063 6f6e 6e65 6374 696e hod of connectin │ │ │ │ │ -0000f190: 6720 7468 6520 636f 7069 6573 2064 6570 g the copies dep │ │ │ │ │ -0000f1a0: 656e 6473 206f 6e20 7468 6520 7479 7065 ends on the type │ │ │ │ │ -0000f1b0: 206f 660a 5357 4550 545f 4f42 4a45 4354 of.SWEPT_OBJECT │ │ │ │ │ -0000f1c0: 2061 6e64 206f 6e20 7768 6574 6865 7220 and on whether │ │ │ │ │ -0000f1d0: 7468 6520 636c 6f73 7572 6520 7461 6720 the closure tag │ │ │ │ │ -0000f1e0: e280 983c 3ee2 8099 2069 7320 7072 6573 ...<>... is pres │ │ │ │ │ -0000f1f0: 656e 7420 6f72 206e 6f74 2e0a 0a20 2020 ent or not... │ │ │ │ │ -0000f200: 416e 2065 7861 6d70 6c65 206f 6620 6120 An example of a │ │ │ │ │ -0000f210: 7377 6565 7020 7768 6572 6520 723d 3220 sweep where r=2 │ │ │ │ │ -0000f220: 6973 2074 6865 204d 6f62 6975 7320 6669 is the Mobius fi │ │ │ │ │ -0000f230: 6775 7265 2061 7420 2a6e 6f74 6520 4d6f gure at *note Mo │ │ │ │ │ -0000f240: 7265 2074 6f0a 6c65 6172 6e3a 3a2e 0a0a re to.learn::... │ │ │ │ │ -0000f250: 2a20 4d65 6e75 3a0a 0a2a 2053 7765 7074 * Menu:..* Swept │ │ │ │ │ -0000f260: 2070 6f69 6e74 733a 3a20 2020 2020 2020 points:: │ │ │ │ │ -0000f270: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ -0000f280: 6f69 6e74 7320 6d61 6b65 206c 696e 6573 oints make lines │ │ │ │ │ -0000f290: 206f 7220 706f 6c79 676f 6e73 2e0a 2a20 or polygons..* │ │ │ │ │ -0000f2a0: 5377 6570 7420 6c69 6e65 733a 3a20 2020 Swept lines:: │ │ │ │ │ -0000f2b0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -0000f2c0: 6570 7420 6c69 6e65 7320 6d61 6b65 206f ept lines make o │ │ │ │ │ -0000f2d0: 7065 6e20 6f72 2063 6c6f 7365 6420 7375 pen or closed su │ │ │ │ │ -0000f2e0: 7266 6163 6573 2e0a 2a20 5377 6570 7420 rfaces..* Swept │ │ │ │ │ -0000f2f0: 706f 6c79 676f 6e73 3a3a 2020 2020 2020 polygons:: │ │ │ │ │ -0000f300: 2020 2020 2020 2020 5377 6570 7420 706f Swept po │ │ │ │ │ -0000f310: 6c79 676f 6e73 206d 616b 6520 636c 6f73 lygons make clos │ │ │ │ │ -0000f320: 6564 2073 7572 6661 6365 732e 0a2a 2053 ed surfaces..* S │ │ │ │ │ -0000f330: 7765 7074 2062 6c6f 636b 733a 3a20 2020 wept blocks:: │ │ │ │ │ -0000f340: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -0000f350: 7074 2062 6c6f 636b 20e2 89a1 2062 6c6f pt block ... blo │ │ │ │ │ -0000f360: 636b 206f 6620 7377 6565 7073 2e0a 2a20 ck of sweeps..* │ │ │ │ │ -0000f370: 5377 6565 7020 6661 6365 2073 706c 6974 Sweep face split │ │ │ │ │ -0000f380: 7469 6e67 3a3a 2020 2020 2020 2020 4669 ting:: Fi │ │ │ │ │ -0000f390: 7869 6e67 2077 6172 7065 6420 6661 6365 xing warped face │ │ │ │ │ -0000f3a0: 7320 7769 7468 2074 7269 616e 676c 6573 s with triangles │ │ │ │ │ -0000f3b0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -0000f3c0: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S │ │ │ │ │ -0000f3d0: 7765 7074 2070 6f69 6e74 732c 2020 4e65 wept points, Ne │ │ │ │ │ -0000f3e0: 7874 3a20 5377 6570 7420 6c69 6e65 732c xt: Swept lines, │ │ │ │ │ -0000f3f0: 2020 5072 6576 3a20 5377 6565 7073 2c20 Prev: Sweeps, │ │ │ │ │ -0000f400: 2055 703a 2053 7765 6570 730a 0a33 2e32 Up: Sweeps..3.2 │ │ │ │ │ -0000f410: 2e36 2e31 2053 7765 7074 2070 6f69 6e74 .6.1 Swept point │ │ │ │ │ -0000f420: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s............... │ │ │ │ │ -0000f430: 2e2e 2e2e 2e2e 0a0a 4966 2053 5745 5054 ........If SWEPT │ │ │ │ │ -0000f440: 5f4f 424a 4543 5420 6973 2061 2070 6f69 _OBJECT is a poi │ │ │ │ │ -0000f450: 6e74 206c 6973 7420 616e 6420 7468 6572 nt list and ther │ │ │ │ │ -0000f460: 6520 6973 206e 6f20 636c 6f73 7572 6520 e is no closure │ │ │ │ │ -0000f470: 7461 672c 2074 6865 6e0a e280 9873 7765 tag, then....swe │ │ │ │ │ -0000f480: 6570 e280 9920 636f 6e6e 6563 7473 204e ep... connects N │ │ │ │ │ -0000f490: 2b31 2073 7563 6365 7373 6976 6520 636f +1 successive co │ │ │ │ │ -0000f4a0: 7069 6573 206f 6620 6561 6368 2070 6f69 pies of each poi │ │ │ │ │ -0000f4b0: 6e74 2028 696e 636c 7564 696e 6720 7468 nt (including th │ │ │ │ │ -0000f4c0: 650a 6f72 6967 696e 616c 2920 7769 7468 e.original) with │ │ │ │ │ -0000f4d0: 2073 7472 6169 6768 7420 6c69 6e65 2073 straight line s │ │ │ │ │ -0000f4e0: 6567 6d65 6e74 7320 746f 2066 6f72 6d20 egments to form │ │ │ │ │ -0000f4f0: 6120 706f 6c79 6c69 6e65 2e20 2049 6620 a polyline. If │ │ │ │ │ -0000f500: 7468 6572 6520 6172 650a 6d20 706f 696e there are.m poin │ │ │ │ │ -0000f510: 7473 2069 6e20 7468 6520 6f72 6967 696e ts in the origin │ │ │ │ │ -0000f520: 616c 2070 6f69 6e74 206c 6973 742c 2074 al point list, t │ │ │ │ │ -0000f530: 6865 6e20 6d20 706f 6c79 6c69 6e65 7320 hen m polylines │ │ │ │ │ -0000f540: 7769 7468 204e 2073 6567 6d65 6e74 730a with N segments. │ │ │ │ │ -0000f550: 6561 6368 2061 7265 2066 6f72 6d65 6420 each are formed │ │ │ │ │ -0000f560: 6279 2074 6865 2073 7765 6570 2e20 2049 by the sweep. I │ │ │ │ │ -0000f570: 6e20 7468 6973 206d 616e 6e65 722c 20e2 n this manner, . │ │ │ │ │ -0000f580: 8098 7377 6565 70e2 8099 2066 6f72 6d73 ..sweep... forms │ │ │ │ │ -0000f590: 2061 2073 6574 206f 660a 6f6e 652d 6469 a set of.one-di │ │ │ │ │ -0000f5a0: 6d65 6e73 696f 6e61 6c20 6f62 6a65 6374 mensional object │ │ │ │ │ -0000f5b0: 7320 2870 6f6c 796c 696e 6573 2920 6672 s (polylines) fr │ │ │ │ │ -0000f5c0: 6f6d 207a 6572 6f2d 6469 6d65 6e73 696f om zero-dimensio │ │ │ │ │ -0000f5d0: 6e61 6c20 6f6e 6573 2028 706f 696e 7473 nal ones (points │ │ │ │ │ -0000f5e0: 292e 0a0a 2020 2057 6865 6e20 7468 6572 )... When ther │ │ │ │ │ -0000f5f0: 6520 5f69 735f 2061 2063 6c6f 7375 7265 e _is_ a closure │ │ │ │ │ -0000f600: 2074 6167 2c20 e280 9873 7765 6570 e280 tag, ...sweep.. │ │ │ │ │ -0000f610: 9920 636f 6e6e 6563 7473 204e 2073 7563 . connects N suc │ │ │ │ │ -0000f620: 6365 7373 6976 6520 636f 7069 6573 0a6f cessive copies.o │ │ │ │ │ -0000f630: 6620 6561 6368 2070 6f69 6e74 2028 696e f each point (in │ │ │ │ │ -0000f640: 636c 7564 696e 6720 7468 6520 6f72 6967 cluding the orig │ │ │ │ │ -0000f650: 696e 616c 2920 7769 7468 2073 7472 6169 inal) with strai │ │ │ │ │ -0000f660: 6768 7420 6c69 6e65 2073 6567 6d65 6e74 ght line segment │ │ │ │ │ -0000f670: 7320 616e 640a 6669 6e61 6c6c 7920 636f s and.finally co │ │ │ │ │ -0000f680: 6e6e 6563 7473 2074 6865 206c 6173 7420 nnects the last │ │ │ │ │ -0000f690: 636f 7079 2062 6163 6b20 746f 2074 6865 copy back to the │ │ │ │ │ -0000f6a0: 206f 7269 6769 6e61 6c20 746f 2066 6f72 original to for │ │ │ │ │ -0000f6b0: 6d20 6120 706f 6c79 676f 6e0a 7769 7468 m a polygon.with │ │ │ │ │ -0000f6c0: 204e 2073 6964 6573 2e20 2049 6620 7468 N sides. If th │ │ │ │ │ -0000f6d0: 6572 6520 6172 6520 6d20 706f 696e 7473 ere are m points │ │ │ │ │ -0000f6e0: 2069 6e20 7468 6520 6f72 6967 696e 616c in the original │ │ │ │ │ -0000f6f0: 2070 6f69 6e74 206c 6973 742c 2074 6865 point list, the │ │ │ │ │ -0000f700: 6e20 6d0a 706f 6c79 676f 6e73 2077 6974 n m.polygons wit │ │ │ │ │ -0000f710: 6820 4e20 7369 6465 7320 6561 6368 2061 h N sides each a │ │ │ │ │ -0000f720: 7265 2066 6f72 6d65 6420 6279 2074 6865 re formed by the │ │ │ │ │ -0000f730: 2073 7765 6570 2e20 2049 6e20 7468 6973 sweep. In this │ │ │ │ │ -0000f740: 206d 616e 6e65 722c 0ae2 8098 7377 6565 manner,....swee │ │ │ │ │ -0000f750: 70e2 8099 2066 6f72 6d73 2061 2073 6574 p... forms a set │ │ │ │ │ -0000f760: 206f 6620 7477 6f2d 6469 6d65 6e73 696f of two-dimensio │ │ │ │ │ -0000f770: 6e61 6c20 6f62 6a65 6374 7320 2870 6f6c nal objects (pol │ │ │ │ │ -0000f780: 7967 6f6e 7329 2066 726f 6d0a 7a65 726f ygons) from.zero │ │ │ │ │ -0000f790: 2d64 696d 656e 7369 6f6e 616c 206f 6e65 -dimensional one │ │ │ │ │ -0000f7a0: 7320 2870 6f69 6e74 7329 2e0a 0a20 2020 s (points)... │ │ │ │ │ -0000f7b0: 4f70 7469 6f6e 7320 6f66 2074 6865 20e2 Options of the . │ │ │ │ │ -0000f7c0: 8098 7377 6565 70e2 8099 2061 7265 2063 ..sweep... are c │ │ │ │ │ -0000f7d0: 6f70 6965 6420 6469 7265 6374 6c79 2074 opied directly t │ │ │ │ │ -0000f7e0: 6f20 7468 6520 7265 7375 6c74 696e 670a o the resulting. │ │ │ │ │ -0000f7f0: 706f 6c79 6c69 6e65 2873 292e 0a0a 1f0a polyline(s)..... │ │ │ │ │ -0000f800: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -0000f810: 6f2c 2020 4e6f 6465 3a20 5377 6570 7420 o, Node: Swept │ │ │ │ │ -0000f820: 6c69 6e65 732c 2020 4e65 7874 3a20 5377 lines, Next: Sw │ │ │ │ │ -0000f830: 6570 7420 706f 6c79 676f 6e73 2c20 2050 ept polygons, P │ │ │ │ │ -0000f840: 7265 763a 2053 7765 7074 2070 6f69 6e74 rev: Swept point │ │ │ │ │ -0000f850: 732c 2020 5570 3a20 5377 6565 7073 0a0a s, Up: Sweeps.. │ │ │ │ │ -0000f860: 332e 322e 362e 3220 5377 6570 7420 6c69 3.2.6.2 Swept li │ │ │ │ │ -0000f870: 6e65 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e nes............. │ │ │ │ │ -0000f880: 2e2e 2e2e 2e2e 2e0a 0a49 6620 5357 4550 .........If SWEP │ │ │ │ │ -0000f890: 545f 4f42 4a45 4354 2069 7320 6120 706f T_OBJECT is a po │ │ │ │ │ -0000f8a0: 6c79 6c69 6e65 2061 6e64 2074 6865 7265 lyline and there │ │ │ │ │ -0000f8b0: 2069 7320 6e6f 2063 6c6f 7375 7265 2074 is no closure t │ │ │ │ │ -0000f8c0: 6167 2c20 7468 656e 20e2 8098 7377 6565 ag, then ...swee │ │ │ │ │ -0000f8d0: 70e2 8099 0a63 6f6e 6e65 6374 7320 4e2b p....connects N+ │ │ │ │ │ -0000f8e0: 3120 7375 6363 6573 7369 7665 2063 6f70 1 successive cop │ │ │ │ │ -0000f8f0: 6965 7320 6f66 2074 6865 2070 6f6c 796c ies of the polyl │ │ │ │ │ -0000f900: 696e 6520 2869 6e63 6c75 6469 6e67 2074 ine (including t │ │ │ │ │ -0000f910: 6865 206f 7269 6769 6e61 6c29 0a77 6974 he original).wit │ │ │ │ │ -0000f920: 6820 666f 7572 2d73 6964 6564 2070 6f6c h four-sided pol │ │ │ │ │ -0000f930: 7967 6f6e 732c 2065 6163 6820 7061 6972 ygons, each pair │ │ │ │ │ -0000f940: 206f 6620 636f 7069 6573 2067 6976 696e of copies givin │ │ │ │ │ -0000f950: 6720 7269 7365 2074 6f20 6120 2270 6f6c g rise to a "pol │ │ │ │ │ -0000f960: 7967 6f6e 0a73 7472 6970 2e22 2020 4966 ygon.strip." If │ │ │ │ │ -0000f970: 2074 6865 7265 2061 7265 206d 2070 6f69 there are m poi │ │ │ │ │ -0000f980: 6e74 7320 696e 2074 6865 206f 7269 6769 nts in the origi │ │ │ │ │ -0000f990: 6e61 6c20 706f 6c79 6c69 6e65 2c20 7468 nal polyline, th │ │ │ │ │ -0000f9a0: 656e 2028 6d2d 3129 4e0a 706f 6c79 676f en (m-1)N.polygo │ │ │ │ │ -0000f9b0: 6e73 2061 7265 2066 6f72 6d65 6420 6279 ns are formed by │ │ │ │ │ -0000f9c0: 2074 6865 2073 7765 6570 2e20 2057 6520 the sweep. We │ │ │ │ │ -0000f9d0: 6361 6c6c 2074 6865 7365 20e2 809c 626f call these ...bo │ │ │ │ │ -0000f9e0: 6479 2070 6f6c 7967 6f6e 73e2 809d 2e20 dy polygons.... │ │ │ │ │ -0000f9f0: 2049 6e0a 7468 6973 206d 616e 6e65 722c In.this manner, │ │ │ │ │ -0000fa00: 20e2 8098 7377 6565 70e2 8099 2066 6f72 ...sweep... for │ │ │ │ │ -0000fa10: 6d73 2061 2074 776f 2d64 696d 656e 7369 ms a two-dimensi │ │ │ │ │ -0000fa20: 6f6e 616c 2073 7572 6661 6365 2066 726f onal surface fro │ │ │ │ │ -0000fa30: 6d20 6672 6f6d 2061 0a6f 6e65 2d64 696d m from a.one-dim │ │ │ │ │ -0000fa40: 656e 7369 6f6e 616c 2070 6f6c 796c 696e ensional polylin │ │ │ │ │ -0000fa50: 652e 0a0a 2020 2054 6865 206f 7264 6572 e... The order │ │ │ │ │ -0000fa60: 206f 6620 7665 7274 6963 6573 2070 726f of vertices pro │ │ │ │ │ -0000fa70: 6475 6365 6420 6279 20e2 8098 7377 6565 duced by ...swee │ │ │ │ │ -0000fa80: 70e2 8099 2069 7320 696d 706f 7274 616e p... is importan │ │ │ │ │ -0000fa90: 742e 2020 4966 2061 0a70 6f6c 7967 6f6e t. If a.polygon │ │ │ │ │ -0000faa0: 2773 2076 6572 7469 6365 7320 646f 206e 's vertices do n │ │ │ │ │ -0000fab0: 6f74 2061 7070 6561 7220 696e 2063 6f75 ot appear in cou │ │ │ │ │ -0000fac0: 6e74 6572 2d63 6c6f 636b 7769 7365 206f nter-clockwise o │ │ │ │ │ -0000fad0: 7264 6572 2069 6e20 7468 6520 6669 6e61 rder in the fina │ │ │ │ │ -0000fae0: 6c0a 696d 6167 652c 2074 6865 2070 6f6c l.image, the pol │ │ │ │ │ -0000faf0: 7967 6f6e 2077 696c 6c20 6265 2063 756c ygon will be cul │ │ │ │ │ -0000fb00: 6c65 6420 2875 6e6c 6573 7320 e280 9863 led (unless ...c │ │ │ │ │ -0000fb10: 756c 6c3d 6661 6c73 65e2 8099 2069 7320 ull=false... is │ │ │ │ │ -0000fb20: 7365 7429 2e20 2049 6620 7468 650a 706f set). If the.po │ │ │ │ │ -0000fb30: 696e 7473 2069 6e20 7468 6520 6b27 7468 ints in the k'th │ │ │ │ │ -0000fb40: 2063 6f70 7920 6f66 2074 6865 2070 6f6c copy of the pol │ │ │ │ │ -0000fb50: 796c 696e 6520 6172 6520 505f 312c 2050 yline are P_1, P │ │ │ │ │ -0000fb60: 5f32 2c20 2e2e 2e2c 2050 5f6d 2c20 616e _2, ..., P_m, an │ │ │ │ │ -0000fb70: 6420 7468 650a 706f 696e 7473 2069 6e20 d the.points in │ │ │ │ │ -0000fb80: 7468 6520 6e65 7874 2063 6f70 792c 2074 the next copy, t │ │ │ │ │ -0000fb90: 6865 2028 6b2b 3129 7374 2c20 6172 6520 he (k+1)st, are │ │ │ │ │ -0000fba0: 505f 3127 2c20 505f 3227 2c20 2e2e 2e2c P_1', P_2', ..., │ │ │ │ │ -0000fbb0: 2050 5f6d 272c 2074 6865 6e0a 7468 6520 P_m', then.the │ │ │ │ │ -0000fbc0: 7665 7274 6578 206f 7264 6572 206f 6620 vertex order of │ │ │ │ │ -0000fbd0: 7468 6520 6765 6e65 7261 7465 6420 706f the generated po │ │ │ │ │ -0000fbe0: 6c79 676f 6e73 2069 730a 2020 2020 2042 lygons is. B │ │ │ │ │ -0000fbf0: 6f64 7920 706f 6c79 676f 6e20 313a 2050 ody polygon 1: P │ │ │ │ │ -0000fc00: 5f32 2050 5f31 2050 5f31 2720 505f 3227 _2 P_1 P_1' P_2' │ │ │ │ │ -0000fc10: 0a20 2020 2020 426f 6479 2070 6f6c 7967 . Body polyg │ │ │ │ │ -0000fc20: 6f6e 2032 3a20 505f 3320 505f 3220 505f on 2: P_3 P_2 P_ │ │ │ │ │ -0000fc30: 3227 2050 5f33 270a 2020 2020 202e 2e2e 2' P_3'. ... │ │ │ │ │ -0000fc40: 0a20 2020 2020 426f 6479 2070 6f6c 7967 . Body polyg │ │ │ │ │ -0000fc50: 6f6e 206d 2d31 3a20 505f 6d20 505f 7b6d on m-1: P_m P_{m │ │ │ │ │ -0000fc60: 2d31 7d20 505f 7b6d 2d31 7d27 2050 5f6d -1} P_{m-1}' P_m │ │ │ │ │ -0000fc70: 270a 0a20 2020 4f70 7469 6f6e 7320 6f66 '.. Options of │ │ │ │ │ -0000fc80: 2075 6e63 6c6f 7365 6420 6c69 6e65 2073 unclosed line s │ │ │ │ │ -0000fc90: 7765 6570 7320 6172 6520 636f 7069 6564 weeps are copied │ │ │ │ │ -0000fca0: 2074 6f20 6561 6368 206f 7574 7075 7420 to each output │ │ │ │ │ -0000fcb0: 706f 6c79 676f 6e2e 0a4f 7074 696f 6e73 polygon..Options │ │ │ │ │ -0000fcc0: 206f 6620 7468 6520 7377 6570 7420 6c69 of the swept li │ │ │ │ │ -0000fcd0: 6e65 2061 7265 2069 676e 6f72 6564 2e0a ne are ignored.. │ │ │ │ │ -0000fce0: 0a20 2020 5768 656e 2074 6865 7265 205f . When there _ │ │ │ │ │ -0000fcf0: 6973 5f20 6120 636c 6f73 7572 6520 7461 is_ a closure ta │ │ │ │ │ -0000fd00: 672c 2074 6865 6e20 e280 9873 7765 6570 g, then ...sweep │ │ │ │ │ -0000fd10: e280 9920 636f 6e6e 6563 7473 204e 2073 ... connects N s │ │ │ │ │ -0000fd20: 7563 6365 7373 6976 650a 636f 7069 6573 uccessive.copies │ │ │ │ │ -0000fd30: 206f 6620 7468 6520 706f 6c79 6c69 6e65 of the polyline │ │ │ │ │ -0000fd40: 2028 696e 636c 7564 696e 6720 7468 6520 (including the │ │ │ │ │ -0000fd50: 6f72 6967 696e 616c 2920 7769 7468 2066 original) with f │ │ │ │ │ -0000fd60: 6f75 722d 7369 6465 6420 626f 6479 0a70 our-sided body.p │ │ │ │ │ -0000fd70: 6f6c 7967 6f6e 7320 6a75 7374 2061 7320 olygons just as │ │ │ │ │ -0000fd80: 7468 6520 6361 7365 2077 6974 6820 6e6f the case with no │ │ │ │ │ -0000fd90: 2063 6c6f 7375 7265 2074 6167 2e20 2049 closure tag. I │ │ │ │ │ -0000fda0: 7420 7468 656e 2063 6f6e 6e65 6374 7320 t then connects │ │ │ │ │ -0000fdb0: 7468 650a 6c61 7374 2063 6f70 7920 6261 the.last copy ba │ │ │ │ │ -0000fdc0: 636b 2074 6f20 7468 6520 6f72 6967 696e ck to the origin │ │ │ │ │ -0000fdd0: 616c 2074 6f20 666f 726d 2061 2072 6962 al to form a rib │ │ │ │ │ -0000fde0: 626f 6e2d 7368 6170 6564 2073 7572 6661 bon-shaped surfa │ │ │ │ │ -0000fdf0: 6365 2074 6861 740a 636c 6f73 6573 206f ce that.closes o │ │ │ │ │ -0000fe00: 6e20 6974 7365 6c66 2077 6974 6820 7477 n itself with tw │ │ │ │ │ -0000fe10: 6f20 686f 6c65 7320 7265 6d61 696e 696e o holes remainin │ │ │ │ │ -0000fe20: 672e 0a0a 2020 2046 696e 616c 6c79 2c20 g... Finally, │ │ │ │ │ -0000fe30: 7468 6520 7377 6565 7020 6164 6473 2074 the sweep adds t │ │ │ │ │ -0000fe40: 776f 206d 6f72 6520 706f 6c79 676f 6e73 wo more polygons │ │ │ │ │ -0000fe50: 2074 6f20 7365 616c 2074 6865 2068 6f6c to seal the hol │ │ │ │ │ -0000fe60: 6573 2061 6e64 2066 6f72 6d0a 6120 636c es and form.a cl │ │ │ │ │ -0000fe70: 6f73 6564 2073 7572 6661 6365 2074 6861 osed surface tha │ │ │ │ │ -0000fe80: 742c 2064 6570 656e 6469 6e67 206f 6e20 t, depending on │ │ │ │ │ -0000fe90: 7468 6520 7377 6565 7020 7472 616e 7366 the sweep transf │ │ │ │ │ -0000fea0: 6f72 6d73 2c20 6d61 7920 7265 7072 6573 orms, may repres │ │ │ │ │ -0000feb0: 656e 740a 7468 6520 626f 756e 6461 7279 ent.the boundary │ │ │ │ │ -0000fec0: 206f 6620 6120 736f 6c69 642e 2020 496e of a solid. In │ │ │ │ │ -0000fed0: 2074 6869 7320 6d61 6e6e 6572 2c20 e280 this manner, .. │ │ │ │ │ -0000fee0: 9873 7765 6570 e280 9920 666f 726d 7320 .sweep... forms │ │ │ │ │ -0000fef0: 7468 6520 626f 756e 6461 7279 206f 660a the boundary of. │ │ │ │ │ -0000ff00: 6120 7468 7265 652d 6469 6d65 6e73 696f a three-dimensio │ │ │ │ │ -0000ff10: 6e61 6c20 6f62 6a65 6374 2066 726f 6d20 nal object from │ │ │ │ │ -0000ff20: 6120 6f6e 652d 6469 6d65 6e73 696f 6e61 a one-dimensiona │ │ │ │ │ -0000ff30: 6c20 706f 6c79 6c69 6e65 2e20 2057 6520 l polyline. We │ │ │ │ │ -0000ff40: 6361 6c6c 0a74 6865 7365 2068 6f6c 652d call.these hole- │ │ │ │ │ -0000ff50: 6669 6c6c 696e 6720 706f 6c79 676f 6e73 filling polygons │ │ │ │ │ -0000ff60: 20e2 809c 656e 6473 e280 9d2e 0a0a 2020 ...ends...... │ │ │ │ │ -0000ff70: 2054 6865 206f 7264 6572 206f 6620 7665 The order of ve │ │ │ │ │ -0000ff80: 7274 6963 6573 206f 6620 656e 6420 706f rtices of end po │ │ │ │ │ -0000ff90: 6c79 676f 6e73 2069 7320 696d 706f 7274 lygons is import │ │ │ │ │ -0000ffa0: 616e 7420 666f 7220 636f 7272 6563 740a ant for correct. │ │ │ │ │ -0000ffb0: 6375 6c6c 696e 6720 6173 2064 6573 6372 culling as descr │ │ │ │ │ -0000ffc0: 6962 6564 2061 626f 7665 2e20 2049 6620 ibed above. If │ │ │ │ │ -0000ffd0: 505f 315e 312c 2050 5f31 5e32 2c20 2e2e P_1^1, P_1^2, .. │ │ │ │ │ -0000ffe0: 2e2c 2050 5f31 5e6e 2061 7265 2074 6865 ., P_1^n are the │ │ │ │ │ -0000fff0: 204e 0a63 6f70 6965 7320 6f66 2074 6865 N.copies of the │ │ │ │ │ -00010000: 2066 6972 7374 2070 6f6c 796c 696e 6520 first polyline │ │ │ │ │ -00010010: 706f 696e 7420 616e 6420 505f 6d5e 312c point and P_m^1, │ │ │ │ │ -00010020: 2050 5f6d 5e32 2c20 2e2e 2e20 2c50 5f6d P_m^2, ... ,P_m │ │ │ │ │ -00010030: 5e6e 2061 7265 2074 6865 0a4e 2063 6f70 ^n are the.N cop │ │ │ │ │ -00010040: 6965 7320 6f66 2074 6865 206c 6173 7420 ies of the last │ │ │ │ │ -00010050: 706f 6c79 6c69 6e65 2070 6f69 6e74 2c20 polyline point, │ │ │ │ │ -00010060: 7468 656e 2074 6865 2065 6e64 2070 6f6c then the end pol │ │ │ │ │ -00010070: 7967 6f6e 2076 6572 7465 7820 6f72 6465 ygon vertex orde │ │ │ │ │ -00010080: 720a 6973 0a20 2020 2020 456e 6420 706f r.is. End po │ │ │ │ │ -00010090: 6c79 676f 6e20 313a 2050 5f31 5e6e 2c20 lygon 1: P_1^n, │ │ │ │ │ -000100a0: 505f 315e 7b6e 2d31 7d2c 202e 2e2e 202c P_1^{n-1}, ... , │ │ │ │ │ -000100b0: 505f 315e 310a 2020 2020 2045 6e64 2070 P_1^1. End p │ │ │ │ │ -000100c0: 6f6c 7967 6f6e 2032 3a20 505f 6d5e 312c olygon 2: P_m^1, │ │ │ │ │ -000100d0: 2050 5f6d 5e32 2c20 2e2e 2e20 2c50 5f6d P_m^2, ... ,P_m │ │ │ │ │ -000100e0: 5e6e 0a0a 2020 2049 6620 7468 6572 6520 ^n.. If there │ │ │ │ │ -000100f0: 6172 6520 6e6f 206f 7074 696f 6e73 206f are no options o │ │ │ │ │ -00010100: 6e20 7468 6520 7377 6570 7420 6c69 6e65 n the swept line │ │ │ │ │ -00010110: 2c20 7468 656e 2074 6865 20e2 8098 7377 , then the ...sw │ │ │ │ │ -00010120: 6565 70e2 8099 206f 7074 696f 6e73 0a61 eep... options.a │ │ │ │ │ -00010130: 7265 2063 6f70 6965 6420 746f 2065 6163 re copied to eac │ │ │ │ │ -00010140: 6820 6f75 7470 7574 2070 6f6c 7967 6f6e h output polygon │ │ │ │ │ -00010150: 2e20 2049 6620 7468 6520 7377 6570 7420 . If the swept │ │ │ │ │ -00010160: 6c69 6e65 2064 6f65 7320 6861 7665 206f line does have o │ │ │ │ │ -00010170: 7074 696f 6e73 2c0a 7468 6573 6520 6172 ptions,.these ar │ │ │ │ │ -00010180: 6520 636f 7069 6564 2074 6f20 636f 7272 e copied to corr │ │ │ │ │ -00010190: 6573 706f 6e64 696e 6720 626f 6479 2070 esponding body p │ │ │ │ │ -000101a0: 6f6c 7967 6f6e 733b 2074 6865 2073 7765 olygons; the swe │ │ │ │ │ -000101b0: 6570 206f 7074 696f 6e73 2061 7265 0a63 ep options are.c │ │ │ │ │ -000101c0: 6f70 6965 6420 746f 2074 6865 2065 6e64 opied to the end │ │ │ │ │ -000101d0: 2070 6f6c 7967 6f6e 732e 2020 496e 2074 polygons. In t │ │ │ │ │ -000101e0: 6869 7320 6d61 6e6e 6572 2c20 626f 6479 his manner, body │ │ │ │ │ -000101f0: 2061 6e64 2065 6e64 7320 6d61 7920 6265 and ends may be │ │ │ │ │ -00010200: 2064 7261 776e 0a77 6974 6820 6469 6666 drawn.with diff │ │ │ │ │ -00010210: 6572 656e 7420 6368 6172 6163 7465 7269 erent characteri │ │ │ │ │ -00010220: 7374 6963 7320 7375 6368 2061 7320 e280 stics such as .. │ │ │ │ │ -00010230: 9866 696c 6c63 6f6c 6f72 e280 992e 0a0a .fillcolor...... │ │ │ │ │ -00010240: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -00010250: 6e66 6f2c 2020 4e6f 6465 3a20 5377 6570 nfo, Node: Swep │ │ │ │ │ -00010260: 7420 706f 6c79 676f 6e73 2c20 204e 6578 t polygons, Nex │ │ │ │ │ -00010270: 743a 2053 7765 7074 2062 6c6f 636b 732c t: Swept blocks, │ │ │ │ │ -00010280: 2020 5072 6576 3a20 5377 6570 7420 6c69 Prev: Swept li │ │ │ │ │ -00010290: 6e65 732c 2020 5570 3a20 5377 6565 7073 nes, Up: Sweeps │ │ │ │ │ -000102a0: 0a0a 332e 322e 362e 3320 5377 6570 7420 ..3.2.6.3 Swept │ │ │ │ │ -000102b0: 706f 6c79 676f 6e73 0a2e 2e2e 2e2e 2e2e polygons........ │ │ │ │ │ -000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................ │ │ │ │ │ -000102d0: 0a49 6620 5357 4550 545f 4f42 4a45 4354 .If SWEPT_OBJECT │ │ │ │ │ -000102e0: 2069 7320 6120 706f 6c79 676f 6e2c 2074 is a polygon, t │ │ │ │ │ -000102f0: 6865 20e2 8098 7377 6565 70e2 8099 2063 he ...sweep... c │ │ │ │ │ -00010300: 6f6e 6e65 6374 7320 4e2b 3120 7375 6363 onnects N+1 succ │ │ │ │ │ -00010310: 6573 7369 7665 2063 6f70 6965 730a 6f66 essive copies.of │ │ │ │ │ -00010320: 2074 6865 2063 6c6f 7365 6420 706f 6c79 the closed poly │ │ │ │ │ -00010330: 6c69 6e65 2062 6f72 6465 7220 6f66 2074 line border of t │ │ │ │ │ -00010340: 6865 2070 6f6c 7967 6f6e 2074 6f20 666f he polygon to fo │ │ │ │ │ -00010350: 726d 2062 6f64 7920 706f 6c79 676f 6e73 rm body polygons │ │ │ │ │ -00010360: 0a65 7861 6374 6c79 2061 7320 7468 6f75 .exactly as thou │ │ │ │ │ -00010370: 6768 2074 6865 2062 6f72 6465 7220 7765 gh the border we │ │ │ │ │ -00010380: 7265 2061 2073 7765 7074 2070 6f6c 796c re a swept polyl │ │ │ │ │ -00010390: 696e 6520 6173 2064 6573 6372 6962 6564 ine as described │ │ │ │ │ -000103a0: 2069 6e20 2a6e 6f74 650a 5377 6570 7420 in *note.Swept │ │ │ │ │ -000103b0: 6c69 6e65 733a 3a2e 2020 4966 2074 6865 lines::. If the │ │ │ │ │ -000103c0: 7265 2061 7265 206d 2070 6f69 6e74 7320 re are m points │ │ │ │ │ -000103d0: 696e 2074 6865 206f 7269 6769 6e61 6c20 in the original │ │ │ │ │ -000103e0: 706f 6c79 676f 6e2c 2074 6865 6e20 6d4e polygon, then mN │ │ │ │ │ -000103f0: 0a62 6f64 7920 706f 6c79 676f 6e73 2061 .body polygons a │ │ │ │ │ -00010400: 7265 2066 6f72 6d65 6420 6279 2074 6869 re formed by thi │ │ │ │ │ -00010410: 7320 7377 6565 702e 2020 5468 6520 626f s sweep. The bo │ │ │ │ │ -00010420: 6479 2070 6f6c 7967 6f6e 7320 666f 726d dy polygons form │ │ │ │ │ -00010430: 2061 6e0a e280 9c65 7874 7275 7369 6f6e an....extrusion │ │ │ │ │ -00010440: e280 9d20 6f66 2074 6865 2062 6f75 6e64 ... of the bound │ │ │ │ │ -00010450: 6172 7920 6f66 2074 6865 206f 7269 6769 ary of the origi │ │ │ │ │ -00010460: 6e61 6c20 706f 6c79 676f 6e20 7769 7468 nal polygon with │ │ │ │ │ -00010470: 2074 776f 2068 6f6c 6573 2061 740a 7468 two holes at.th │ │ │ │ │ -00010480: 6520 6f70 656e 2065 6e64 732e 0a0a 2020 e open ends... │ │ │ │ │ -00010490: 2046 696e 616c 6c79 2c20 7468 6520 7377 Finally, the sw │ │ │ │ │ -000104a0: 6565 7020 6164 6473 2074 776f 2063 6f70 eep adds two cop │ │ │ │ │ -000104b0: 6965 7320 6f66 2074 6865 206f 7269 6769 ies of the origi │ │ │ │ │ -000104c0: 6e61 6c20 706f 6c79 676f 6e20 746f 2063 nal polygon to c │ │ │ │ │ -000104d0: 6f76 6572 0a74 6865 2068 6f6c 6573 2e20 over.the holes. │ │ │ │ │ -000104e0: 2057 6520 6361 6c6c 2074 6865 7365 2068 We call these h │ │ │ │ │ -000104f0: 6f6c 652d 6669 6c6c 696e 6720 706f 6c79 ole-filling poly │ │ │ │ │ -00010500: 676f 6e73 20e2 809c 656e 6473 e280 9d2e gons ...ends.... │ │ │ │ │ -00010510: 2020 496e 2074 6869 7320 6d61 6e6e 6572 In this manner │ │ │ │ │ -00010520: 2c0a e280 9873 7765 6570 e280 9920 666f ,....sweep... fo │ │ │ │ │ -00010530: 726d 7320 7468 6520 626f 756e 6461 7279 rms the boundary │ │ │ │ │ -00010540: 206f 6620 6120 7468 7265 652d 6469 6d65 of a three-dime │ │ │ │ │ -00010550: 6e73 696f 6e61 6c20 6f62 6a65 6374 2066 nsional object f │ │ │ │ │ -00010560: 726f 6d20 610a 7477 6f2d 6469 6d65 6e73 rom a.two-dimens │ │ │ │ │ -00010570: 696f 6e61 6c20 706f 6c79 676f 6e2e 0a0a ional polygon... │ │ │ │ │ -00010580: 2020 2054 6865 206f 7264 6572 206f 6620 The order of │ │ │ │ │ -00010590: 7665 7274 6963 6573 206f 6620 656e 6420 vertices of end │ │ │ │ │ -000105a0: 706f 6c79 676f 6e73 2069 7320 696d 706f polygons is impo │ │ │ │ │ -000105b0: 7274 616e 7420 666f 7220 636f 7272 6563 rtant for correc │ │ │ │ │ -000105c0: 740a 6375 6c6c 696e 6720 6173 2064 6573 t.culling as des │ │ │ │ │ -000105d0: 6372 6962 6564 2061 626f 7665 2e20 2041 cribed above. A │ │ │ │ │ -000105e0: 6e20 6578 6163 7420 636f 7079 206f 6620 n exact copy of │ │ │ │ │ -000105f0: 7468 6520 6f72 6967 696e 616c 2070 6f6c the original pol │ │ │ │ │ -00010600: 7967 6f6e 2077 6974 680a 7665 7274 6578 ygon with.vertex │ │ │ │ │ -00010610: 206f 7264 6572 2069 6e74 6163 7420 666f order intact fo │ │ │ │ │ -00010620: 726d 7320 7468 6520 6669 7273 7420 656e rms the first en │ │ │ │ │ -00010630: 6420 706f 6c79 676f 6e2e 2020 5468 6520 d polygon. The │ │ │ │ │ -00010640: 6f74 6865 7220 656e 6420 706f 6c79 676f other end polygo │ │ │ │ │ -00010650: 6e0a 7265 7375 6c74 7320 6672 6f6d 2074 n.results from t │ │ │ │ │ -00010660: 7261 6e73 666f 726d 696e 6720 616e 6420 ransforming and │ │ │ │ │ -00010670: 7468 6520 7265 7665 7273 696e 6720 7468 the reversing th │ │ │ │ │ -00010680: 6520 6f72 6465 7220 6f66 2076 6572 7469 e order of verti │ │ │ │ │ -00010690: 6365 7320 696e 2074 6865 0a6f 7269 6769 ces in the.origi │ │ │ │ │ -000106a0: 6e61 6c2e 2020 5468 6520 7472 616e 7366 nal. The transf │ │ │ │ │ -000106b0: 6f72 6d20 706c 6163 6573 2074 6865 206f orm places the o │ │ │ │ │ -000106c0: 7269 6769 6e61 6c20 706f 6c79 676f 6e20 riginal polygon │ │ │ │ │ -000106d0: 6174 2074 6865 2075 6e63 6f76 6572 6564 at the uncovered │ │ │ │ │ -000106e0: 0a68 6f6c 653b 2069 7420 6973 0a20 2020 .hole; it is. │ │ │ │ │ -000106f0: 2020 545f 315e 6e20 7468 656e 2054 5f32 T_1^n then T_2 │ │ │ │ │ -00010700: 5e6e 2074 6865 6e20 2e2e 2e20 7468 656e ^n then ... then │ │ │ │ │ -00010710: 2054 5f52 5e6e 2e0a 4966 2074 6865 7265 T_R^n..If there │ │ │ │ │ -00010720: 2061 7265 206e 6f20 6f70 7469 6f6e 7320 are no options │ │ │ │ │ -00010730: 6f6e 2074 6865 2073 7765 7074 2070 6f6c on the swept pol │ │ │ │ │ -00010740: 7967 6f6e 2c20 7468 656e 2074 6865 20e2 ygon, then the . │ │ │ │ │ -00010750: 8098 7377 6565 70e2 8099 206f 7074 696f ..sweep... optio │ │ │ │ │ -00010760: 6e73 0a61 7265 2063 6f70 6965 6420 746f ns.are copied to │ │ │ │ │ -00010770: 2065 6163 6820 6f75 7470 7574 2070 6f6c each output pol │ │ │ │ │ -00010780: 7967 6f6e 2e20 2049 6620 7468 6520 7377 ygon. If the sw │ │ │ │ │ -00010790: 6570 7420 706f 6c79 676f 6e20 646f 6573 ept polygon does │ │ │ │ │ -000107a0: 2068 6176 650a 6f70 7469 6f6e 732c 2074 have.options, t │ │ │ │ │ -000107b0: 6865 7365 2061 7265 2063 6f70 6965 6420 hese are copied │ │ │ │ │ -000107c0: 746f 2074 6865 2065 6e64 733b 2074 6865 to the ends; the │ │ │ │ │ -000107d0: 2073 7765 6570 206f 7074 696f 6e73 2061 sweep options a │ │ │ │ │ -000107e0: 7265 2063 6f70 6965 6420 746f 0a74 6865 re copied to.the │ │ │ │ │ -000107f0: 2062 6f64 7920 706f 6c79 676f 6e73 2e20 body polygons. │ │ │ │ │ -00010800: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner, │ │ │ │ │ -00010810: 2062 6f64 7920 616e 6420 656e 6473 206d body and ends m │ │ │ │ │ -00010820: 6179 2062 6520 6472 6177 6e20 7769 7468 ay be drawn with │ │ │ │ │ -00010830: 0a64 6966 6665 7265 6e74 2063 6861 7261 .different chara │ │ │ │ │ -00010840: 6374 6572 6973 7469 6373 2073 7563 6820 cteristics such │ │ │ │ │ -00010850: 6173 20e2 8098 6669 6c6c 636f 6c6f 72e2 as ...fillcolor. │ │ │ │ │ -00010860: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske │ │ │ │ │ -00010870: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -00010880: 2053 7765 7074 2062 6c6f 636b 732c 2020 Swept blocks, │ │ │ │ │ -00010890: 4e65 7874 3a20 5377 6565 7020 6661 6365 Next: Sweep face │ │ │ │ │ -000108a0: 2073 706c 6974 7469 6e67 2c20 2050 7265 splitting, Pre │ │ │ │ │ -000108b0: 763a 2053 7765 7074 2070 6f6c 7967 6f6e v: Swept polygon │ │ │ │ │ -000108c0: 732c 2020 5570 3a20 5377 6565 7073 0a0a s, Up: Sweeps.. │ │ │ │ │ -000108d0: 332e 322e 362e 3420 5377 6570 7420 626c 3.2.6.4 Swept bl │ │ │ │ │ -000108e0: 6f63 6b73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e ocks............ │ │ │ │ │ -000108f0: 2e2e 2e2e 2e2e 2e2e 2e0a 0a54 6865 2073 ...........The s │ │ │ │ │ -00010900: 7765 7074 206f 626a 6563 7420 5357 4550 wept object SWEP │ │ │ │ │ -00010910: 545f 4f42 4a45 4354 206d 6179 2061 6c73 T_OBJECT may als │ │ │ │ │ -00010920: 6f20 6265 2061 6e79 2063 6f6c 6c65 6374 o be any collect │ │ │ │ │ -00010930: 696f 6e20 6f66 2070 6f6c 796c 696e 6573 ion of polylines │ │ │ │ │ -00010940: 0a61 6e64 2070 6f6c 7967 6f6e 732e 2020 .and polygons. │ │ │ │ │ -00010950: 5468 6973 206d 6179 2062 6520 6120 626c This may be a bl │ │ │ │ │ -00010960: 6f63 6b20 636f 6d70 6f73 6564 206f 6620 ock composed of │ │ │ │ │ -00010970: e280 986c 696e 65e2 8099 2061 6e64 2f6f ...line... and/o │ │ │ │ │ -00010980: 7220 e280 9870 6f6c 7967 6f6e e280 990a r ...polygon.... │ │ │ │ │ -00010990: 636f 6d6d 616e 6473 2069 6e20 6272 6163 commands in brac │ │ │ │ │ -000109a0: 6573 20e2 8098 7b20 7de2 8099 2c20 6f72 es ...{ }..., or │ │ │ │ │ -000109b0: 2069 7420 6d61 7920 6265 2074 6865 2072 it may be the r │ │ │ │ │ -000109c0: 6573 756c 7420 6f66 2061 20e2 8098 7265 esult of a ...re │ │ │ │ │ -000109d0: 7065 6174 e280 992c 2061 6e6f 7468 6572 peat..., another │ │ │ │ │ -000109e0: 0ae2 8098 7377 6565 70e2 8099 2c20 6574 ....sweep..., et │ │ │ │ │ -000109f0: 632e 2020 5468 6520 7377 6565 7020 6163 c. The sweep ac │ │ │ │ │ -00010a00: 7473 2069 6e64 6570 656e 6465 6e74 6c79 ts independently │ │ │ │ │ -00010a10: 206f 6e20 6561 6368 206f 626a 6563 7420 on each object │ │ │ │ │ -00010a20: 696e 2074 6865 2062 6c6f 636b 0a65 7861 in the block.exa │ │ │ │ │ -00010a30: 6374 6c79 2061 7320 6966 2069 7420 7765 ctly as if it we │ │ │ │ │ -00010a40: 7265 2061 2073 696e 676c 6520 7377 6570 re a single swep │ │ │ │ │ -00010a50: 7420 6f62 6a65 6374 2064 6573 6372 6962 t object describ │ │ │ │ │ -00010a60: 6564 2061 626f 7665 2069 6e20 2a6e 6f74 ed above in *not │ │ │ │ │ -00010a70: 650a 5377 6570 7420 6c69 6e65 733a 3a20 e.Swept lines:: │ │ │ │ │ -00010a80: 616e 6420 2a6e 6f74 6520 5377 6570 7420 and *note Swept │ │ │ │ │ -00010a90: 706f 6c79 676f 6e73 3a3a 2e0a 0a1f 0a46 polygons::.....F │ │ │ │ │ -00010aa0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00010ab0: 2c20 204e 6f64 653a 2053 7765 6570 2066 , Node: Sweep f │ │ │ │ │ -00010ac0: 6163 6520 7370 6c69 7474 696e 672c 2020 ace splitting, │ │ │ │ │ -00010ad0: 5072 6576 3a20 5377 6570 7420 626c 6f63 Prev: Swept bloc │ │ │ │ │ -00010ae0: 6b73 2c20 2055 703a 2053 7765 6570 730a ks, Up: Sweeps. │ │ │ │ │ -00010af0: 0a33 2e32 2e36 2e35 2053 7765 6570 2066 .3.2.6.5 Sweep f │ │ │ │ │ -00010b00: 6163 6520 7370 6c69 7474 696e 670a 2e2e ace splitting... │ │ │ │ │ -00010b10: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00010b20: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4265 666f ............Befo │ │ │ │ │ -00010b30: 7265 2073 656e 6469 6e67 2065 6163 6820 re sending each │ │ │ │ │ -00010b40: 666f 7572 2d73 6964 6564 2062 6f64 7920 four-sided body │ │ │ │ │ -00010b50: 706f 6c79 676f 6e20 6f66 2061 20e2 8098 polygon of a ... │ │ │ │ │ -00010b60: 7377 6565 70e2 8099 2074 6f20 7468 6520 sweep... to the │ │ │ │ │ -00010b70: 6f75 7470 7574 2c0a e280 9873 6b65 7463 output,....sketc │ │ │ │ │ -00010b80: 68e2 8099 2074 6573 7473 2074 6f20 7365 h... tests to se │ │ │ │ │ -00010b90: 6520 6966 2069 7420 6973 2072 6f75 6768 e if it is rough │ │ │ │ │ -00010ba0: 6c79 2070 6c61 6e61 722e 2020 5369 6e63 ly planar. Sinc │ │ │ │ │ -00010bb0: 6520 706c 616e 6172 6974 7920 6973 0a6e e planarity is.n │ │ │ │ │ -00010bc0: 6563 6573 7361 7279 2066 6f72 2070 726f ecessary for pro │ │ │ │ │ -00010bd0: 7065 7220 6675 6e63 7469 6f6e 696e 6720 per functioning │ │ │ │ │ -00010be0: 6f66 2074 6865 2068 6964 6465 6e20 7375 of the hidden su │ │ │ │ │ -00010bf0: 7266 6163 6520 616c 676f 7269 7468 6d2c rface algorithm, │ │ │ │ │ -00010c00: 0a22 7761 7270 6564 2220 706f 6c79 676f ."warped" polygo │ │ │ │ │ -00010c10: 6e73 2061 7265 2061 7574 6f6d 6174 6963 ns are automatic │ │ │ │ │ -00010c20: 616c 6c79 2073 706c 6974 2069 6e74 6f20 ally split into │ │ │ │ │ -00010c30: 7477 6f20 7472 6961 6e67 6c65 732e 0a0a two triangles... │ │ │ │ │ -00010c40: 2020 2048 6f6c 652d 6669 6c6c 696e 6720 Hole-filling │ │ │ │ │ -00010c50: 706f 6c79 676f 6e73 2070 726f 6475 6365 polygons produce │ │ │ │ │ -00010c60: 6420 6279 2063 6c6f 7375 7265 2d74 6167 d by closure-tag │ │ │ │ │ -00010c70: 6765 6420 6c69 6e65 2073 7765 6570 7320 ged line sweeps │ │ │ │ │ -00010c80: 6172 6520 6e6f 740a 7370 6c69 742e 2020 are not.split. │ │ │ │ │ -00010c90: 4e6f 7220 6172 6520 6f72 6967 696e 616c Nor are original │ │ │ │ │ -00010ca0: 2070 6f6c 7967 6f6e 7320 696e 2070 6f6c polygons in pol │ │ │ │ │ -00010cb0: 7967 6f6e 2073 7765 6570 732e 2020 4974 ygon sweeps. It │ │ │ │ │ -00010cc0: 2069 7320 7468 6520 7573 6572 2773 0a72 is the user's.r │ │ │ │ │ -00010cd0: 6573 706f 6e73 6962 696c 6974 7920 746f esponsibility to │ │ │ │ │ -00010ce0: 2065 6e73 7572 6520 7468 6573 6520 6172 ensure these ar │ │ │ │ │ -00010cf0: 6520 706c 616e 6172 2e0a 0a1f 0a46 696c e planar.....Fil │ │ │ │ │ -00010d00: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -00010d10: 204e 6f64 653a 2042 6c6f 636b 732c 2020 Node: Blocks, │ │ │ │ │ -00010d20: 4e65 7874 3a20 5265 7065 6174 732c 2020 Next: Repeats, │ │ │ │ │ -00010d30: 5072 6576 3a20 5377 6565 7073 2c20 2055 Prev: Sweeps, U │ │ │ │ │ -00010d40: 703a 2044 7261 7761 626c 6573 0a0a 332e p: Drawables..3. │ │ │ │ │ -00010d50: 322e 3720 426c 6f63 6b73 0a2d 2d2d 2d2d 2.7 Blocks.----- │ │ │ │ │ -00010d60: 2d2d 2d2d 2d2d 2d0a 0a41 6e79 2073 6571 -------..Any seq │ │ │ │ │ -00010d70: 7565 6e63 6520 6f66 2064 7261 7761 626c uence of drawabl │ │ │ │ │ -00010d80: 6573 206d 6179 2062 6520 6772 6f75 7065 es may be groupe │ │ │ │ │ -00010d90: 6420 696e 2061 20e2 809c 626c 6f63 6be2 d in a ...block. │ │ │ │ │ -00010da0: 809d 206d 6572 656c 7920 6279 0a65 6e63 .. merely by.enc │ │ │ │ │ -00010db0: 6c6f 7369 6e67 2074 6865 6d20 696e 2062 losing them in b │ │ │ │ │ -00010dc0: 7261 6365 7320 e280 987b 207d e280 992e races ...{ }.... │ │ │ │ │ -00010dd0: 2020 4120 626c 6f63 6b20 6973 2069 7473 A block is its │ │ │ │ │ -00010de0: 656c 6620 6472 6177 6162 6c65 2e20 2041 elf drawable. A │ │ │ │ │ -00010df0: 206b 6579 2075 7365 0a6f 6620 626c 6f63 key use.of bloc │ │ │ │ │ -00010e00: 6b73 2069 7320 746f 2065 7874 656e 6420 ks is to extend │ │ │ │ │ -00010e10: 7468 6520 6566 6665 6374 206f 6620 6120 the effect of a │ │ │ │ │ -00010e20: 7369 6e67 6c65 20e2 8098 6465 66e2 8099 single ...def... │ │ │ │ │ -00010e30: 2c20 2a6e 6f74 650a 4465 6669 6e69 7469 , *note.Definiti │ │ │ │ │ -00010e40: 6f6e 733a 3a2c 20e2 8098 7075 74e2 8099 ons::, ...put... │ │ │ │ │ -00010e50: 202a 6e6f 7465 2050 7574 733a 3a2c 20e2 *note Puts::, . │ │ │ │ │ -00010e60: 8098 7377 6565 70e2 8099 202a 6e6f 7465 ..sweep... *note │ │ │ │ │ -00010e70: 2053 7765 6570 733a 3a2c 206f 7220 e280 Sweeps::, or .. │ │ │ │ │ -00010e80: 9872 6570 6561 74e2 8099 0a2a 6e6f 7465 .repeat....*note │ │ │ │ │ -00010e90: 2052 6570 6561 7473 3a3a 2074 6f20 696e Repeats:: to in │ │ │ │ │ -00010ea0: 636c 7564 6520 7365 7665 7261 6c20 6f62 clude several ob │ │ │ │ │ -00010eb0: 6a65 6374 7320 7261 7468 6572 2074 6861 jects rather tha │ │ │ │ │ -00010ec0: 6e20 6f6e 652e 0a0a 2020 2044 6566 696e n one... Defin │ │ │ │ │ -00010ed0: 6974 696f 6e73 2028 2a4e 6f74 6520 4465 itions (*Note De │ │ │ │ │ -00010ee0: 6669 6e69 7469 6f6e 733a 3a2e 2920 2069 finitions::.) i │ │ │ │ │ -00010ef0: 6e73 6964 6520 6120 626c 6f63 6b20 6861 nside a block ha │ │ │ │ │ -00010f00: 7665 20e2 809c 6c65 7869 6361 6c0a 7363 ve ...lexical.sc │ │ │ │ │ -00010f10: 6f70 65e2 809d 2065 7874 656e 6469 6e67 ope... extending │ │ │ │ │ -00010f20: 2066 726f 6d20 7468 6520 706c 6163 6520 from the place │ │ │ │ │ -00010f30: 6f66 2064 6566 696e 6974 696f 6e20 746f of definition to │ │ │ │ │ -00010f40: 2074 6865 2065 6e64 206f 6620 7468 6520 the end of the │ │ │ │ │ -00010f50: 626c 6f63 6b2e 0a0a 1f0a 4669 6c65 3a20 block.....File: │ │ │ │ │ -00010f60: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00010f70: 6465 3a20 5265 7065 6174 732c 2020 4e65 de: Repeats, Ne │ │ │ │ │ -00010f80: 7874 3a20 5075 7473 2c20 2050 7265 763a xt: Puts, Prev: │ │ │ │ │ -00010f90: 2042 6c6f 636b 732c 2020 5570 3a20 4472 Blocks, Up: Dr │ │ │ │ │ -00010fa0: 6177 6162 6c65 730a 0a33 2e32 2e38 2052 awables..3.2.8 R │ │ │ │ │ -00010fb0: 6570 6561 7473 0a2d 2d2d 2d2d 2d2d 2d2d epeats.--------- │ │ │ │ │ -00010fc0: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*. │ │ │ │ │ -00010fd0: 2020 2020 2072 6570 6561 7420 7b20 4e2c repeat { N, │ │ │ │ │ -00010fe0: 2054 5f31 2c20 545f 322c 202e 2e2e 2c20 T_1, T_2, ..., │ │ │ │ │ -00010ff0: 545f 5220 7d20 5245 5045 4154 4544 5f4f T_R } REPEATED_O │ │ │ │ │ -00011000: 424a 4543 540a 5468 6520 7265 7065 6174 BJECT.The repeat │ │ │ │ │ -00011010: 206d 616b 6573 204e 2074 7261 6e73 666f makes N transfo │ │ │ │ │ -00011020: 726d 6564 2063 6f70 6965 7320 6f66 2052 rmed copies of R │ │ │ │ │ -00011030: 4550 4541 5445 445f 4f42 4a45 4354 2028 EPEATED_OBJECT ( │ │ │ │ │ -00011040: 696e 636c 7564 696e 6720 7468 650a 6f72 including the.or │ │ │ │ │ -00011050: 6967 696e 616c 292e 2020 5468 6520 545f iginal). The T_ │ │ │ │ │ -00011060: 4920 6172 6520 7472 616e 7366 6f72 6d73 I are transforms │ │ │ │ │ -00011070: 2e20 2054 6865 206b 2774 6820 636f 7079 . The k'th copy │ │ │ │ │ -00011080: 206f 6620 7468 650a 5245 5045 4154 4544 of the.REPEATED │ │ │ │ │ -00011090: 5f4f 424a 4543 5420 2866 6f72 206b 3d30 _OBJECT (for k=0 │ │ │ │ │ -000110a0: 2c31 2c2e 2e2e 2c6e 2d31 2920 6973 2070 ,1,...,n-1) is p │ │ │ │ │ -000110b0: 726f 6475 6365 6420 696e 2074 6865 2073 roduced in the s │ │ │ │ │ -000110c0: 616d 6520 6d61 6e6e 6572 2061 730a 666f ame manner as.fo │ │ │ │ │ -000110d0: 7220 e280 9873 7765 6570 e280 9973 2064 r ...sweep...s d │ │ │ │ │ -000110e0: 6573 6372 6962 6564 2069 6e20 2a6e 6f74 escribed in *not │ │ │ │ │ -000110f0: 6520 5377 6565 7073 3a3a 2e20 2054 6869 e Sweeps::. Thi │ │ │ │ │ -00011100: 7320 6973 2072 6570 6561 7465 6420 6865 s is repeated he │ │ │ │ │ -00011110: 7265 2028 6e6f 2070 756e 0a69 6e74 656e re (no pun.inten │ │ │ │ │ -00011120: 6465 6429 2066 6f72 2063 6f6e 7665 6e69 ded) for conveni │ │ │ │ │ -00011130: 656e 6365 2e20 2054 6f20 6d61 6b65 2074 ence. To make t │ │ │ │ │ -00011140: 6865 206b 2774 6820 636f 7079 2c20 7468 he k'th copy, th │ │ │ │ │ -00011150: 6520 666f 6c6c 6f77 696e 670a 7472 616e e following.tran │ │ │ │ │ -00011160: 7366 6f72 6d20 6973 2061 7070 6c69 6564 sform is applied │ │ │ │ │ -00011170: 2074 6f20 7468 6520 6f72 6967 696e 616c to the original │ │ │ │ │ -00011180: 206f 626a 6563 742e 0a20 2020 2020 545f object.. T_ │ │ │ │ │ -00011190: 315e 6b20 7468 656e 2054 5f32 5e6b 2074 1^k then T_2^k t │ │ │ │ │ -000111a0: 6865 6e20 2e2e 2e20 7468 656e 2054 5f52 hen ... then T_R │ │ │ │ │ -000111b0: 5e6b 0a48 6572 6520 545e 6b20 6d65 616e ^k.Here T^k mean │ │ │ │ │ -000111c0: 7320 2274 7261 6e73 666f 726d 2054 2061 s "transform T a │ │ │ │ │ -000111d0: 7070 6c69 6564 206b 2074 696d 6573 2e22 pplied k times." │ │ │ │ │ -000111e0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -000111f0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5075 .info, Node: Pu │ │ │ │ │ -00011200: 7473 2c20 2050 7265 763a 2052 6570 6561 ts, Prev: Repea │ │ │ │ │ -00011210: 7473 2c20 2055 703a 2044 7261 7761 626c ts, Up: Drawabl │ │ │ │ │ -00011220: 6573 0a0a 332e 322e 3920 5075 7473 0a2d es..3.2.9 Puts.- │ │ │ │ │ -00011230: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt │ │ │ │ │ -00011240: 6178 3a2a 0a20 2020 2020 7075 7420 7b20 ax:*. put { │ │ │ │ │ -00011250: 5420 7d20 5055 545f 4f42 4a45 4354 0a50 T } PUT_OBJECT.P │ │ │ │ │ -00011260: 7574 206d 6572 656c 7920 6170 706c 6965 ut merely applie │ │ │ │ │ -00011270: 7320 7472 616e 7366 6f72 6d20 5420 746f s transform T to │ │ │ │ │ -00011280: 2074 6865 2064 7261 7761 626c 6520 5055 the drawable PU │ │ │ │ │ -00011290: 545f 4f42 4a45 4354 2e0a 0a1f 0a46 696c T_OBJECT.....Fil │ │ │ │ │ -000112a0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -000112b0: 204e 6f64 653a 2044 6566 696e 6974 696f Node: Definitio │ │ │ │ │ -000112c0: 6e73 2c20 204e 6578 743a 2047 6c6f 6261 ns, Next: Globa │ │ │ │ │ -000112d0: 6c20 656e 7669 726f 6e6d 656e 742c 2020 l environment, │ │ │ │ │ -000112e0: 5072 6576 3a20 4472 6177 6162 6c65 732c Prev: Drawables, │ │ │ │ │ -000112f0: 2020 5570 3a20 496e 7075 7420 6c61 6e67 Up: Input lang │ │ │ │ │ -00011300: 7561 6765 0a0a 332e 3320 4465 6669 6e69 uage..3.3 Defini │ │ │ │ │ -00011310: 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d 3d3d tions.========== │ │ │ │ │ -00011320: 3d3d 3d3d 3d0a 0a44 6566 696e 6974 696f =====..Definitio │ │ │ │ │ -00011330: 6e73 2067 6976 6520 6e61 6d65 7320 746f ns give names to │ │ │ │ │ -00011340: 20e2 8098 736b 6574 6368 e280 9920 6f62 ...sketch... ob │ │ │ │ │ -00011350: 6a65 6374 732e 2020 4465 6669 6e69 7469 jects. Definiti │ │ │ │ │ -00011360: 6f6e 7320 616c 6f6e 6520 6172 650a 6265 ons alone are.be │ │ │ │ │ -00011370: 6e69 676e 2e20 2041 20e2 8098 736b 6574 nign. A ...sket │ │ │ │ │ -00011380: 6368 e280 9920 696e 7075 7420 6669 6c65 ch... input file │ │ │ │ │ -00011390: 2063 6f6e 7369 7374 696e 6720 656e 7469 consisting enti │ │ │ │ │ -000113a0: 7265 6c79 206f 6620 6465 6669 6e69 7469 rely of definiti │ │ │ │ │ -000113b0: 6f6e 7320 7769 6c6c 0a67 656e 6572 6174 ons will.generat │ │ │ │ │ -000113c0: 6520 6e6f 2064 7261 7769 6e67 2e20 204f e no drawing. O │ │ │ │ │ -000113d0: 6e6c 7920 7768 656e 2064 6566 696e 6974 nly when definit │ │ │ │ │ -000113e0: 696f 6e73 2061 7265 20e2 809c 7265 6665 ions are ...refe │ │ │ │ │ -000113f0: 7265 6e63 6564 e280 9d20 646f 2074 6865 renced... do the │ │ │ │ │ -00011400: 790a 706f 7465 6e74 6961 6c6c 7920 6c65 y.potentially le │ │ │ │ │ -00011410: 6164 2074 6f20 696e 6b20 6f6e 2074 6865 ad to ink on the │ │ │ │ │ -00011420: 2064 7261 7769 6e67 2e0a 0a20 2020 5468 drawing... Th │ │ │ │ │ -00011430: 6520 696e 7465 6e74 206f 6620 6465 6669 e intent of defi │ │ │ │ │ -00011440: 6e69 7469 6f6e 7320 6973 2074 6f20 6d61 nitions is to ma │ │ │ │ │ -00011450: 6b65 20e2 8098 736b 6574 6368 e280 9920 ke ...sketch... │ │ │ │ │ -00011460: 636f 6465 206d 6f72 6520 636f 6e63 6973 code more concis │ │ │ │ │ -00011470: 6520 616e 640a 7265 6164 6162 6c65 2e20 e and.readable. │ │ │ │ │ -00011480: 2054 6865 7265 2069 7320 6e6f 2069 6e70 There is no inp │ │ │ │ │ -00011490: 7574 2066 696c 6520 656d 706c 6f79 696e ut file employin │ │ │ │ │ -000114a0: 6720 6465 6669 6e69 7469 6f6e 7320 7468 g definitions th │ │ │ │ │ -000114b0: 6174 2063 6f75 6c64 206e 6f74 0a62 6520 at could not.be │ │ │ │ │ -000114c0: 7265 2d77 7269 7474 656e 2077 6974 686f re-written witho │ │ │ │ │ -000114d0: 7574 2074 6865 6d2e 0a0a 2020 2044 6566 ut them... Def │ │ │ │ │ -000114e0: 696e 6162 6c65 206f 626a 6563 7473 2069 inable objects i │ │ │ │ │ -000114f0: 6e63 6c75 6465 2061 6e79 2072 6573 756c nclude any resul │ │ │ │ │ -00011500: 7420 6f66 2061 6e20 6166 6669 6e65 2061 t of an affine a │ │ │ │ │ -00011510: 7269 7468 6d65 7469 630a 6578 7072 6573 rithmetic.expres │ │ │ │ │ -00011520: 7369 6f6e 2028 7363 616c 6172 2c20 706f sion (scalar, po │ │ │ │ │ -00011530: 696e 742c 2076 6563 746f 722c 206f 7220 int, vector, or │ │ │ │ │ -00011540: 7472 616e 7366 6f72 6d29 2c20 616e 7920 transform), any │ │ │ │ │ -00011550: 6472 6177 6162 6c65 206f 626a 6563 740a drawable object. │ │ │ │ │ -00011560: 2864 6f74 732c 206c 696e 652c 2063 7572 (dots, line, cur │ │ │ │ │ -00011570: 7665 2c20 706f 6c79 676f 6e2c 2062 6c6f ve, polygon, blo │ │ │ │ │ -00011580: 636b 2c20 7377 6565 702c 2070 7574 2c20 ck, sweep, put, │ │ │ │ │ -00011590: 7265 7065 6174 2c20 6f72 2073 7065 6369 repeat, or speci │ │ │ │ │ -000115a0: 616c 292c 2061 6e64 0a6f 7074 696f 6e20 al), and.option │ │ │ │ │ -000115b0: 7374 7269 6e67 732e 2020 496e 2061 6464 strings. In add │ │ │ │ │ -000115c0: 6974 696f 6e2c 20e2 809c 7461 6720 6465 ition, ...tag de │ │ │ │ │ -000115d0: 6669 6e69 7469 6f6e 73e2 809d 2c20 7768 finitions..., wh │ │ │ │ │ -000115e0: 6963 6820 6861 7665 206e 6f0a 6173 736f ich have no.asso │ │ │ │ │ -000115f0: 6369 6174 6564 206f 626a 6563 7420 6174 ciated object at │ │ │ │ │ -00011600: 2061 6c6c 2c20 616c 6c6f 7720 7468 6520 all, allow the │ │ │ │ │ -00011610: 6d65 616e 696e 6720 6f66 206f 7468 6572 meaning of other │ │ │ │ │ -00011620: 2064 6566 696e 6974 696f 6e73 2074 6f20 definitions to │ │ │ │ │ -00011630: 6265 0a73 656c 6563 7465 6420 6672 6f6d be.selected from │ │ │ │ │ -00011640: 2061 2073 6574 206f 6620 616c 7465 726e a set of altern │ │ │ │ │ -00011650: 6174 6976 6573 2e20 2053 696e 6365 2074 atives. Since t │ │ │ │ │ -00011660: 6167 7320 6d61 7920 6265 2064 6566 696e ags may be defin │ │ │ │ │ -00011670: 6564 2028 616e 640a 756e 6465 6669 6e65 ed (and.undefine │ │ │ │ │ -00011680: 6429 2069 6e20 7468 6520 636f 6d6d 616e d) in the comman │ │ │ │ │ -00011690: 6420 6c69 6e65 206f 6620 e280 9873 6b65 d line of ...ske │ │ │ │ │ -000116a0: 7463 68e2 8099 2c20 7468 6579 2063 616e tch..., they can │ │ │ │ │ -000116b0: 2062 6520 616e 2061 6964 2069 6e20 7468 be an aid in th │ │ │ │ │ -000116c0: 650a 7363 7269 7074 2d64 7269 7665 6e20 e.script-driven │ │ │ │ │ -000116d0: 7072 6570 6172 6174 696f 6e20 6f66 2064 preparation of d │ │ │ │ │ -000116e0: 6f63 756d 656e 7473 2e0a 0a2a 204d 656e ocuments...* Men │ │ │ │ │ -000116f0: 753a 0a0a 2a20 466f 726d 7320 6f66 2064 u:..* Forms of d │ │ │ │ │ -00011700: 6566 696e 6974 696f 6e73 3a3a 2020 2020 efinitions:: │ │ │ │ │ -00011710: 2020 2020 4469 6666 6572 656e 7420 6465 Different de │ │ │ │ │ -00011720: 6673 2066 6f72 2064 6966 6665 7265 6e74 fs for different │ │ │ │ │ -00011730: 2070 7572 706f 7365 732e 0a2a 2046 6f72 purposes..* For │ │ │ │ │ -00011740: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ -00011750: 3a3a 2020 2020 2020 2020 2048 6f77 2072 :: How r │ │ │ │ │ -00011760: 6566 6572 656e 6365 7320 6465 6e6f 7465 eferences denote │ │ │ │ │ -00011770: 2074 7970 6573 2e0a 0a1f 0a46 696c 653a types.....File: │ │ │ │ │ -00011780: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -00011790: 6f64 653a 2046 6f72 6d73 206f 6620 6465 ode: Forms of de │ │ │ │ │ -000117a0: 6669 6e69 7469 6f6e 732c 2020 4e65 7874 finitions, Next │ │ │ │ │ -000117b0: 3a20 466f 726d 7320 6f66 2072 6566 6572 : Forms of refer │ │ │ │ │ -000117c0: 656e 6365 732c 2020 5072 6576 3a20 4465 ences, Prev: De │ │ │ │ │ -000117d0: 6669 6e69 7469 6f6e 732c 2020 5570 3a20 finitions, Up: │ │ │ │ │ -000117e0: 4465 6669 6e69 7469 6f6e 730a 0a33 2e33 Definitions..3.3 │ │ │ │ │ -000117f0: 2e31 2046 6f72 6d73 206f 6620 6465 6669 .1 Forms of defi │ │ │ │ │ -00011800: 6e69 7469 6f6e 730a 2d2d 2d2d 2d2d 2d2d nitions.-------- │ │ │ │ │ +0000e080: 2020 2020 2044 7261 7720 6f6e 6520 6f62 Draw one ob │ │ │ │ │ +0000e090: 6a65 6374 2074 7261 6e73 666f 726d 6564 ject transformed │ │ │ │ │ +0000e0a0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +0000e0b0: 682e 696e 666f 2c20 204e 6f64 653a 2044 h.info, Node: D │ │ │ │ │ +0000e0c0: 6f74 732c 2020 4e65 7874 3a20 4c69 6e65 ots, Next: Line │ │ │ │ │ +0000e0d0: 732c 2020 5072 6576 3a20 4472 6177 6162 s, Prev: Drawab │ │ │ │ │ +0000e0e0: 6c65 732c 2020 5570 3a20 4472 6177 6162 les, Up: Drawab │ │ │ │ │ +0000e0f0: 6c65 730a 0a33 2e32 2e31 2044 6f74 730a les..3.2.1 Dots. │ │ │ │ │ +0000e100: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn │ │ │ │ │ +0000e110: 7461 783a 2a0a 2020 2020 2064 6f74 735b tax:*. dots[ │ │ │ │ │ +0000e120: 4f50 5449 4f4e 535d 2050 4f49 4e54 5f4c OPTIONS] POINT_L │ │ │ │ │ +0000e130: 4953 540a 5468 6973 2063 6f6d 6d61 6e64 IST.This command │ │ │ │ │ +0000e140: 2069 7320 7468 6520 7468 7265 652d 6469 is the three-di │ │ │ │ │ +0000e150: 6d65 6e73 696f 6e61 6c20 6571 7569 7661 mensional equiva │ │ │ │ │ +0000e160: 6c65 6e74 206f 6620 7468 6520 e280 9850 lent of the ...P │ │ │ │ │ +0000e170: 5354 7269 636b 73e2 8099 0a63 6f6d 6d61 STricks....comma │ │ │ │ │ +0000e180: 6e64 20e2 8098 5c70 7364 6f74 73e2 8099 nd ...\psdots... │ │ │ │ │ +0000e190: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +0000e1a0: 682e 696e 666f 2c20 204e 6f64 653a 204c h.info, Node: L │ │ │ │ │ +0000e1b0: 696e 6573 2c20 204e 6578 743a 2043 7572 ines, Next: Cur │ │ │ │ │ +0000e1c0: 7665 732c 2020 5072 6576 3a20 446f 7473 ves, Prev: Dots │ │ │ │ │ +0000e1d0: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables │ │ │ │ │ +0000e1e0: 0a0a 332e 322e 3220 4c69 6e65 730a 2d2d ..3.2.2 Lines.-- │ │ │ │ │ +0000e1f0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt │ │ │ │ │ +0000e200: 6178 3a2a 0a20 2020 2020 6c69 6e65 5b4f ax:*. line[O │ │ │ │ │ +0000e210: 5054 494f 4e53 5d20 504f 494e 545f 4c49 PTIONS] POINT_LI │ │ │ │ │ +0000e220: 5354 0a54 6869 7320 636f 6d6d 616e 6420 ST.This command │ │ │ │ │ +0000e230: 6973 2074 6865 2074 6872 6565 2d64 696d is the three-dim │ │ │ │ │ +0000e240: 656e 7369 6f6e 616c 2065 7175 6976 616c ensional equival │ │ │ │ │ +0000e250: 656e 7420 6f66 2074 6865 20e2 8098 5053 ent of the ...PS │ │ │ │ │ +0000e260: 5472 6963 6b73 e280 990a 636f 6d6d 616e Tricks....comman │ │ │ │ │ +0000e270: 6420 e280 985c 7073 6c69 6e65 e280 992e d ...\psline.... │ │ │ │ │ +0000e280: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +0000e290: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4375 .info, Node: Cu │ │ │ │ │ +0000e2a0: 7276 6573 2c20 204e 6578 743a 2050 6f6c rves, Next: Pol │ │ │ │ │ +0000e2b0: 7967 6f6e 732c 2020 5072 6576 3a20 4c69 ygons, Prev: Li │ │ │ │ │ +0000e2c0: 6e65 732c 2020 5570 3a20 4472 6177 6162 nes, Up: Drawab │ │ │ │ │ +0000e2d0: 6c65 730a 0a33 2e32 2e33 2043 7572 7665 les..3.2.3 Curve │ │ │ │ │ +0000e2e0: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a s.------------.. │ │ │ │ │ +0000e2f0: 2a53 796e 7461 783a 2a0a 2020 2020 2063 *Syntax:*. c │ │ │ │ │ +0000e300: 7572 7665 5b4f 5054 494f 4e53 5d20 504f urve[OPTIONS] PO │ │ │ │ │ +0000e310: 494e 545f 4c49 5354 0a54 6869 7320 636f INT_LIST.This co │ │ │ │ │ +0000e320: 6d6d 616e 6420 6973 2074 6865 2074 6872 mmand is the thr │ │ │ │ │ +0000e330: 6565 2d64 696d 656e 7369 6f6e 616c 2065 ee-dimensional e │ │ │ │ │ +0000e340: 7175 6976 616c 656e 7420 6f66 2074 6865 quivalent of the │ │ │ │ │ +0000e350: 20e2 8098 5053 5472 6963 6b73 e280 990a ...PSTricks.... │ │ │ │ │ +0000e360: 636f 6d6d 616e 6420 e280 985c 7073 6375 command ...\pscu │ │ │ │ │ +0000e370: 7276 65e2 8099 2e20 2049 7420 6973 206e rve.... It is n │ │ │ │ │ +0000e380: 6f74 2069 6d70 6c65 6d65 6e74 6564 2069 ot implemented i │ │ │ │ │ +0000e390: 6e20 7468 6520 6375 7272 656e 7420 7665 n the current ve │ │ │ │ │ +0000e3a0: 7273 696f 6e20 6f66 0ae2 8098 736b 6574 rsion of....sket │ │ │ │ │ +0000e3b0: 6368 e280 992e 0a0a 1f0a 4669 6c65 3a20 ch........File: │ │ │ │ │ +0000e3c0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +0000e3d0: 6465 3a20 506f 6c79 676f 6e73 2c20 204e de: Polygons, N │ │ │ │ │ +0000e3e0: 6578 743a 2053 7065 6369 616c 732c 2020 ext: Specials, │ │ │ │ │ +0000e3f0: 5072 6576 3a20 4375 7276 6573 2c20 2055 Prev: Curves, U │ │ │ │ │ +0000e400: 703a 2044 7261 7761 626c 6573 0a0a 332e p: Drawables..3. │ │ │ │ │ +0000e410: 322e 3420 506f 6c79 676f 6e73 0a2d 2d2d 2.4 Polygons.--- │ │ │ │ │ +0000e420: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy │ │ │ │ │ +0000e430: 6e74 6178 3a2a 0a20 2020 2020 706f 6c79 ntax:*. poly │ │ │ │ │ +0000e440: 676f 6e5b 4f50 5449 4f4e 535d 2050 4f49 gon[OPTIONS] POI │ │ │ │ │ +0000e450: 4e54 5f4c 4953 540a 5468 6973 2063 6f6d NT_LIST.This com │ │ │ │ │ +0000e460: 6d61 6e64 2069 7320 7468 6520 7468 7265 mand is the thre │ │ │ │ │ +0000e470: 652d 6469 6d65 6e73 696f 6e61 6c20 6571 e-dimensional eq │ │ │ │ │ +0000e480: 7569 7661 6c65 6e74 206f 6620 7468 6520 uivalent of the │ │ │ │ │ +0000e490: e280 9850 5354 7269 636b 73e2 8099 0a63 ...PSTricks....c │ │ │ │ │ +0000e4a0: 6f6d 6d61 6e64 20e2 8098 5c70 7370 6f6c ommand ...\pspol │ │ │ │ │ +0000e4b0: 7967 6f6e e280 992e 2020 5468 6520 e280 ygon.... The .. │ │ │ │ │ +0000e4c0: 9873 6b65 7463 68e2 8099 2068 6964 6465 .sketch... hidde │ │ │ │ │ +0000e4d0: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori │ │ │ │ │ +0000e4e0: 7468 6d20 6173 7375 6d65 730a 7468 6174 thm assumes.that │ │ │ │ │ +0000e4f0: 2070 6f6c 7967 6f6e 7320 6172 6520 636f polygons are co │ │ │ │ │ +0000e500: 6e76 6578 2061 6e64 2070 6c61 6e61 722e nvex and planar. │ │ │ │ │ +0000e510: 2020 496e 2070 7261 6374 6963 652c 2064 In practice, d │ │ │ │ │ +0000e520: 7261 7769 6e67 7320 6d61 7920 7765 6c6c rawings may well │ │ │ │ │ +0000e530: 0a74 7572 6e20 6f75 7420 636f 7272 6563 .turn out correc │ │ │ │ │ +0000e540: 746c 7920 6576 656e 2069 6620 7468 6573 tly even if thes │ │ │ │ │ +0000e550: 6520 6173 7375 6d70 7469 6f6e 7320 6172 e assumptions ar │ │ │ │ │ +0000e560: 6520 7669 6f6c 6174 6564 2e0a 0a1f 0a46 e violated.....F │ │ │ │ │ +0000e570: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +0000e580: 2c20 204e 6f64 653a 2053 7065 6369 616c , Node: Special │ │ │ │ │ +0000e590: 732c 2020 4e65 7874 3a20 5377 6565 7073 s, Next: Sweeps │ │ │ │ │ +0000e5a0: 2c20 2050 7265 763a 2050 6f6c 7967 6f6e , Prev: Polygon │ │ │ │ │ +0000e5b0: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable │ │ │ │ │ +0000e5c0: 730a 0a33 2e32 2e35 2053 7065 6369 616c s..3.2.5 Special │ │ │ │ │ +0000e5d0: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.-------------- │ │ │ │ │ +0000e5e0: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. │ │ │ │ │ +0000e5f0: 2073 7065 6369 616c 2024 5241 575f 5445 special $RAW_TE │ │ │ │ │ +0000e600: 5854 245b 4f50 5449 4f4e 535d 2041 5247 XT$[OPTIONS] ARG │ │ │ │ │ +0000e610: 5f4c 4953 540a 4865 7265 20e2 8098 24e2 _LIST.Here ...$. │ │ │ │ │ +0000e620: 8099 2063 616e 2062 6520 616e 7920 6368 .. can be any ch │ │ │ │ │ +0000e630: 6172 6163 7465 7220 616e 6420 6973 2075 aracter and is u │ │ │ │ │ +0000e640: 7365 6420 746f 2064 656c 696d 6974 2074 sed to delimit t │ │ │ │ │ +0000e650: 6865 2073 7461 7274 2061 6e64 2065 6e64 he start and end │ │ │ │ │ +0000e660: 0a6f 6620 5241 575f 5445 5854 2e20 2054 .of RAW_TEXT. T │ │ │ │ │ +0000e670: 6865 2063 6f6d 6d61 6e64 2065 6d62 6564 he command embed │ │ │ │ │ +0000e680: 7320 5241 575f 5445 5854 2069 6e20 7468 s RAW_TEXT in th │ │ │ │ │ +0000e690: 6520 e280 9873 6b65 7463 68e2 8099 206f e ...sketch... o │ │ │ │ │ +0000e6a0: 7574 7075 7420 6166 7465 720a 7065 7266 utput after.perf │ │ │ │ │ +0000e6b0: 6f72 6d69 6e67 2073 7562 7374 6974 7574 orming substitut │ │ │ │ │ +0000e6c0: 696f 6e73 2061 7320 666f 6c6c 6f77 732e ions as follows. │ │ │ │ │ +0000e6d0: 0a20 2020 e280 a220 e280 9823 49e2 8099 . ... ...#I... │ │ │ │ │ +0000e6e0: 2077 6865 7265 2049 2069 7320 6120 706f where I is a po │ │ │ │ │ +0000e6f0: 7369 7469 7665 2069 6e74 6567 6572 2069 sitive integer i │ │ │ │ │ +0000e700: 7320 7265 706c 6163 6564 2062 7920 7468 s replaced by th │ │ │ │ │ +0000e710: 6520 4927 7468 2076 616c 7565 2069 6e0a e I'th value in. │ │ │ │ │ +0000e720: 2020 2020 2041 5247 5f4c 4953 542e 2020 ARG_LIST. │ │ │ │ │ +0000e730: 506f 696e 7420 616e 6420 7665 6374 6f72 Point and vector │ │ │ │ │ +0000e740: 2061 7267 756d 656e 7473 2062 6563 6f6d arguments becom │ │ │ │ │ +0000e750: 6520 7477 6f2d 6469 6d65 6e73 696f 6e61 e two-dimensiona │ │ │ │ │ +0000e760: 6c0a 2020 2020 2070 6f69 6e74 732c 2077 l. points, w │ │ │ │ │ +0000e770: 6869 6368 2061 7265 2074 6865 2074 7261 hich are the tra │ │ │ │ │ +0000e780: 6e73 666f 726d 6564 2033 6420 6172 6775 nsformed 3d argu │ │ │ │ │ +0000e790: 6d65 6e74 7320 7072 6f6a 6563 7465 6420 ments projected │ │ │ │ │ +0000e7a0: 6f6e 746f 2074 6865 0a20 2020 2020 582d onto the. X- │ │ │ │ │ +0000e7b0: 5920 706c 616e 652e 2020 5468 6973 2061 Y plane. This a │ │ │ │ │ +0000e7c0: 6c6c 6f77 7320 7477 6f2d 6469 6d65 6e74 llows two-diment │ │ │ │ │ +0000e7d0: 696f 6e61 6c20 6f75 7470 7574 2065 6c65 ional output ele │ │ │ │ │ +0000e7e0: 6d65 6e74 7320 7375 6368 2061 730a 2020 ments such as. │ │ │ │ │ +0000e7f0: 2020 206c 6162 656c 7320 746f 2062 6520 labels to be │ │ │ │ │ +0000e800: 6561 7369 6c79 2070 6f73 6974 696f 6e65 easily positione │ │ │ │ │ +0000e810: 6420 7769 7468 2072 6573 7065 6374 2074 d with respect t │ │ │ │ │ +0000e820: 6f20 7468 7265 652d 6469 6d65 6e73 696f o three-dimensio │ │ │ │ │ +0000e830: 6e61 6c0a 2020 2020 2066 6561 7475 7265 nal. feature │ │ │ │ │ +0000e840: 7320 696e 2074 6865 2064 7261 7769 6e67 s in the drawing │ │ │ │ │ +0000e850: 2e20 2053 6361 6c61 7220 6172 6775 6d65 . Scalar argume │ │ │ │ │ +0000e860: 6e74 7320 6172 6520 7375 6273 6974 7574 nts are subsitut │ │ │ │ │ +0000e870: 6564 2064 6972 6563 746c 792e 0a20 2020 ed directly.. │ │ │ │ │ +0000e880: 2020 4e6f 2074 7261 6e73 666f 726d 6174 No transformat │ │ │ │ │ +0000e890: 696f 6e20 6973 2061 7070 6c69 6564 2e0a ion is applied.. │ │ │ │ │ +0000e8a0: 2020 20e2 80a2 20e2 8098 237b 497d e280 ... ...#{I}.. │ │ │ │ │ +0000e8b0: 9920 6973 2061 6c73 6f20 7265 706c 6163 . is also replac │ │ │ │ │ +0000e8c0: 6564 2061 7320 6162 6f76 652e 0a20 2020 ed as above.. │ │ │ │ │ +0000e8d0: e280 a220 e280 9823 4927 32e2 8099 2069 ... ...#I'2... i │ │ │ │ │ +0000e8e0: 7320 7265 706c 6163 6564 2061 7320 6162 s replaced as ab │ │ │ │ │ +0000e8f0: 6f76 6520 666f 7220 706f 696e 7473 206f ove for points o │ │ │ │ │ +0000e900: 7220 7665 6374 6f72 732e 2020 4974 2069 r vectors. It i │ │ │ │ │ +0000e910: 7320 616e 2065 7272 6f72 0a20 2020 2020 s an error. │ │ │ │ │ +0000e920: 666f 7220 7468 6520 4927 7468 2061 7267 for the I'th arg │ │ │ │ │ +0000e930: 756d 656e 7420 746f 2062 6520 6120 7363 ument to be a sc │ │ │ │ │ +0000e940: 616c 6172 2e0a 2020 20e2 80a2 20e2 8098 alar.. ... ... │ │ │ │ │ +0000e950: 2349 2778 e280 992c 20e2 8098 2349 2779 #I'x..., ...#I'y │ │ │ │ │ +0000e960: e280 992c 206f 7220 e280 9823 4927 7ae2 ..., or ...#I'z. │ │ │ │ │ +0000e970: 8099 2069 7320 7265 706c 6163 6564 2c20 .. is replaced, │ │ │ │ │ +0000e980: 7265 7370 6563 7469 7665 6c79 2c20 6279 respectively, by │ │ │ │ │ +0000e990: 2074 6865 2073 6361 6c61 720a 2020 2020 the scalar. │ │ │ │ │ +0000e9a0: 2058 2c20 592c 206f 7220 5a2d 636f 6f72 X, Y, or Z-coor │ │ │ │ │ +0000e9b0: 6469 6e61 7465 206f 6620 7468 6520 6172 dinate of the ar │ │ │ │ │ +0000e9c0: 6775 6d65 6e74 2070 6f69 6e74 206f 7220 gument point or │ │ │ │ │ +0000e9d0: 7665 6374 6f72 2e20 2049 7420 6973 2061 vector. It is a │ │ │ │ │ +0000e9e0: 6e0a 2020 2020 2065 7272 6f72 2066 6f72 n. error for │ │ │ │ │ +0000e9f0: 2074 6865 2049 2774 6820 6172 6775 6d65 the I'th argume │ │ │ │ │ +0000ea00: 6e74 2074 6f20 6265 2061 2073 6361 6c61 nt to be a scala │ │ │ │ │ +0000ea10: 722e 0a20 2020 e280 a220 e280 9823 4927 r.. ... ...#I' │ │ │ │ │ +0000ea20: 33e2 8099 2069 7320 7265 706c 6163 6564 3... is replaced │ │ │ │ │ +0000ea30: 2062 7920 7468 6520 7468 7265 652d 6469 by the three-di │ │ │ │ │ +0000ea40: 6d65 6e73 696f 6e61 6c20 7472 616e 7366 mensional transf │ │ │ │ │ +0000ea50: 6f72 6d65 6420 6172 6775 6d65 6e74 2e0a ormed argument.. │ │ │ │ │ +0000ea60: 2020 2020 204e 6f74 6520 7468 6174 2069 Note that i │ │ │ │ │ +0000ea70: 6620 6120 7065 7273 7065 6374 6976 6520 f a perspective │ │ │ │ │ +0000ea80: 7472 616e 7366 6f72 6d61 7469 6f6e 2068 transformation h │ │ │ │ │ +0000ea90: 6173 2062 6565 6e20 6170 706c 6965 642c as been applied, │ │ │ │ │ +0000eaa0: 2074 6865 0a20 2020 2020 5a2d 636f 6f72 the. Z-coor │ │ │ │ │ +0000eab0: 6469 6e61 7465 2068 6173 206c 6974 746c dinate has littl │ │ │ │ │ +0000eac0: 6520 6765 6f6d 6574 7269 6320 7369 676e e geometric sign │ │ │ │ │ +0000ead0: 6966 6963 616e 6365 2c20 7468 6f75 6768 ificance, though │ │ │ │ │ +0000eae0: 2069 740a 2020 2020 2061 6363 7572 6174 it. accurat │ │ │ │ │ +0000eaf0: 656c 7920 696e 6469 6361 7465 7320 7265 ely indicates re │ │ │ │ │ +0000eb00: 6c61 7469 7665 2064 6570 7468 2e0a 2020 lative depth.. │ │ │ │ │ +0000eb10: 20e2 80a2 20e2 8098 2349 2d4a e280 9920 ... ...#I-J... │ │ │ │ │ +0000eb20: 7768 6572 6520 4920 616e 6420 4a20 6172 where I and J ar │ │ │ │ │ +0000eb30: 6520 706f 7369 7469 7665 2069 6e74 6567 e positive integ │ │ │ │ │ +0000eb40: 6572 7320 6973 2072 6570 6c61 6365 6420 ers is replaced │ │ │ │ │ +0000eb50: 6279 2061 2073 7472 696e 670a 2020 2020 by a string. │ │ │ │ │ +0000eb60: 20e2 8098 7b41 4e47 4c45 7de2 8099 2077 ...{ANGLE}... w │ │ │ │ │ +0000eb70: 6865 7265 2041 4e47 4c45 2069 7320 7468 here ANGLE is th │ │ │ │ │ +0000eb80: 6520 706f 6c61 7220 616e 676c 6520 6f66 e polar angle of │ │ │ │ │ +0000eb90: 2061 2076 6563 746f 7220 6672 6f6d 2074 a vector from t │ │ │ │ │ +0000eba0: 6865 2049 2774 680a 2020 2020 2070 6f69 he I'th. poi │ │ │ │ │ +0000ebb0: 6e74 2069 6e20 504f 494e 545f 4c49 5354 nt in POINT_LIST │ │ │ │ │ +0000ebc0: 2074 6f20 7468 6520 4a27 7468 2070 6f69 to the J'th poi │ │ │ │ │ +0000ebd0: 6e74 2070 726f 6a65 6374 6564 2069 6e74 nt projected int │ │ │ │ │ +0000ebe0: 6f20 7468 6520 782d 7920 706c 616e 652e o the x-y plane. │ │ │ │ │ +0000ebf0: 0a20 2020 2020 4974 2069 7320 616e 2065 . It is an e │ │ │ │ │ +0000ec00: 7272 6f72 2066 6f72 2074 6865 2049 2774 rror for the I't │ │ │ │ │ +0000ec10: 6820 6f72 204a 2774 6820 6172 6775 6d65 h or J'th argume │ │ │ │ │ +0000ec20: 6e74 2074 6f20 6265 2061 2073 6361 6c61 nt to be a scala │ │ │ │ │ +0000ec30: 7220 6f72 2061 0a20 2020 2020 7665 6374 r or a. vect │ │ │ │ │ +0000ec40: 6f72 2e0a 2020 20e2 80a2 20e2 8098 237b or.. ... ...#{ │ │ │ │ │ +0000ec50: 492d 4a7d e280 9920 6973 2061 6c73 6f20 I-J}... is also │ │ │ │ │ +0000ec60: 7265 706c 6163 6564 2061 7320 6162 6f76 replaced as abov │ │ │ │ │ +0000ec70: 652e 0a20 2020 e280 a220 e280 9823 23e2 e.. ... ...##. │ │ │ │ │ +0000ec80: 8099 2069 7320 7265 706c 6163 6564 2077 .. is replaced w │ │ │ │ │ +0000ec90: 6974 6820 e280 9823 e280 992e 0a54 6865 ith ...#.....The │ │ │ │ │ +0000eca0: 2066 6f72 6d73 2077 6974 6820 6272 6163 forms with brac │ │ │ │ │ +0000ecb0: 6573 20e2 8098 7b20 7de2 8099 2061 7265 es ...{ }... are │ │ │ │ │ +0000ecc0: 2075 7365 6675 6c20 7768 656e 2074 6865 useful when the │ │ │ │ │ +0000ecd0: 2061 7267 756d 656e 7420 6973 2069 6d6d argument is imm │ │ │ │ │ +0000ece0: 6564 6961 7465 6c79 0a66 6f6c 6c6f 7765 ediately.followe │ │ │ │ │ +0000ecf0: 6420 6279 2061 2064 6967 6974 206f 7220 d by a digit or │ │ │ │ │ +0000ed00: 6120 7469 636b 2063 6861 7261 6374 6572 a tick character │ │ │ │ │ +0000ed10: 2074 6861 7420 6973 2070 6172 7420 6f66 that is part of │ │ │ │ │ +0000ed20: 2074 6865 2054 6558 2063 6f64 652e 0a0a the TeX code... │ │ │ │ │ +0000ed30: 2020 2054 6865 206f 6e6c 7920 7573 6566 The only usef │ │ │ │ │ +0000ed40: 756c 206f 7074 696f 6e20 6f66 20e2 8098 ul option of ... │ │ │ │ │ +0000ed50: 7370 6563 6961 6ce2 8099 2069 7320 e280 special... is .. │ │ │ │ │ +0000ed60: 986c 6179 e280 992c 2077 6869 6368 2064 .lay..., which d │ │ │ │ │ +0000ed70: 6574 6572 6d69 6e65 7320 6966 2074 6865 etermines if the │ │ │ │ │ +0000ed80: 0a73 7562 7374 6974 7565 6420 7261 7720 .substitued raw │ │ │ │ │ +0000ed90: 7465 7874 2069 7320 656d 6974 7465 6420 text is emitted │ │ │ │ │ +0000eda0: 6265 666f 7265 2c20 6166 7465 722c 206f before, after, o │ │ │ │ │ +0000edb0: 7220 7573 696e 6720 7468 6520 6669 7273 r using the firs │ │ │ │ │ +0000edc0: 7420 706f 696e 740a 696e 2050 4f49 4e54 t point.in POINT │ │ │ │ │ +0000edd0: 5f4c 4953 5420 6173 2061 6e20 696e 6469 _LIST as an indi │ │ │ │ │ +0000ede0: 6361 746f 7220 6f66 2064 6570 7468 2e20 cator of depth. │ │ │ │ │ +0000edf0: 2054 6865 7365 206f 6363 7572 2c20 7265 These occur, re │ │ │ │ │ +0000ee00: 7370 6563 7469 7665 6c79 2c20 7769 7468 spectively, with │ │ │ │ │ +0000ee10: 0ae2 8098 6c61 793d 756e 6465 72e2 8099 ....lay=under... │ │ │ │ │ +0000ee20: 2c20 e280 986c 6179 3d6f 7665 72e2 8099 , ...lay=over... │ │ │ │ │ +0000ee30: 2c20 616e 6420 e280 986c 6179 3d69 6ee2 , and ...lay=in. │ │ │ │ │ +0000ee40: 8099 2e20 2053 6565 202a 6e6f 7465 2053 ... See *note S │ │ │ │ │ +0000ee50: 7065 6369 616c 206f 626a 6563 7473 3a3a pecial objects:: │ │ │ │ │ +0000ee60: 2061 6e64 0a2a 6e6f 7465 2054 696b 5a2f and.*note TikZ/ │ │ │ │ │ +0000ee70: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ +0000ee80: 2073 7479 6c65 733a 3a20 666f 7220 6578 styles:: for ex │ │ │ │ │ +0000ee90: 616d 706c 6573 2e20 202a 4e6f 7465 2049 amples. *Note I │ │ │ │ │ +0000eea0: 6e74 6572 6e61 6c0a 6f70 7469 6f6e 733a nternal.options: │ │ │ │ │ +0000eeb0: 3a2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 :.....File: sket │ │ │ │ │ +0000eec0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +0000eed0: 5377 6565 7073 2c20 204e 6578 743a 2042 Sweeps, Next: B │ │ │ │ │ +0000eee0: 6c6f 636b 732c 2020 5072 6576 3a20 5370 locks, Prev: Sp │ │ │ │ │ +0000eef0: 6563 6961 6c73 2c20 2055 703a 2044 7261 ecials, Up: Dra │ │ │ │ │ +0000ef00: 7761 626c 6573 0a0a 332e 322e 3620 5377 wables..3.2.6 Sw │ │ │ │ │ +0000ef10: 6565 7073 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d eeps.----------- │ │ │ │ │ +0000ef20: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. │ │ │ │ │ +0000ef30: 2020 7377 6565 7020 7b20 4e2c 2054 5f31 sweep { N, T_1 │ │ │ │ │ +0000ef40: 2c20 545f 322c 202e 2e2e 2c20 545f 5220 , T_2, ..., T_R │ │ │ │ │ +0000ef50: 7d5b 4f50 5449 4f4e 535d 2053 5745 5054 }[OPTIONS] SWEPT │ │ │ │ │ +0000ef60: 5f4f 424a 4543 540a 2020 2020 2073 7765 _OBJECT. swe │ │ │ │ │ +0000ef70: 6570 207b 204e 3c3e 2c20 545f 312c 2054 ep { N<>, T_1, T │ │ │ │ │ +0000ef80: 5f32 2c20 2e2e 2e2c 2054 5f52 207d 5b4f _2, ..., T_R }[O │ │ │ │ │ +0000ef90: 5054 494f 4e53 5d20 5357 4550 545f 4f42 PTIONS] SWEPT_OB │ │ │ │ │ +0000efa0: 4a45 4354 0a54 6865 2073 7765 6570 2063 JECT.The sweep c │ │ │ │ │ +0000efb0: 6f6e 6e65 6374 7320 4e20 286f 7220 7065 onnects N (or pe │ │ │ │ │ +0000efc0: 7268 6170 7320 4e2b 3129 2063 6f70 6965 rhaps N+1) copie │ │ │ │ │ +0000efd0: 7320 6f66 2053 5745 5054 5f4f 424a 4543 s of SWEPT_OBJEC │ │ │ │ │ +0000efe0: 5420 696e 206f 7264 6572 2074 6f0a 6372 T in order to.cr │ │ │ │ │ +0000eff0: 6561 7465 2061 206e 6577 206f 626a 6563 eate a new objec │ │ │ │ │ +0000f000: 7420 6f66 2068 6967 6865 7220 6469 6d65 t of higher dime │ │ │ │ │ +0000f010: 6e73 696f 6e2e 2020 5468 6520 545f 4920 nsion. The T_I │ │ │ │ │ +0000f020: 2866 6f72 2069 2062 6574 7765 656e 2031 (for i between 1 │ │ │ │ │ +0000f030: 2061 6e64 0a72 2920 6172 6520 7472 616e and.r) are tran │ │ │ │ │ +0000f040: 7366 6f72 6d73 2e20 2054 6865 206b 2774 sforms. The k't │ │ │ │ │ +0000f050: 6820 636f 7079 206f 6620 5357 4550 545f h copy of SWEPT_ │ │ │ │ │ +0000f060: 4f42 4a45 4354 2069 7320 7072 6f64 7563 OBJECT is produc │ │ │ │ │ +0000f070: 6564 2062 790a 6170 706c 7969 6e67 2074 ed by.applying t │ │ │ │ │ +0000f080: 6865 2066 6f6c 6c6f 7769 6e67 2074 7261 he following tra │ │ │ │ │ +0000f090: 6e73 666f 726d 2074 6f20 7468 6520 6f72 nsform to the or │ │ │ │ │ +0000f0a0: 6967 696e 616c 2e0a 2020 2020 2054 5f31 iginal.. T_1 │ │ │ │ │ +0000f0b0: 5e6b 2074 6865 6e20 545f 325e 6b20 7468 ^k then T_2^k th │ │ │ │ │ +0000f0c0: 656e 202e 2e2e 2074 6865 6e20 545f 525e en ... then T_R^ │ │ │ │ │ +0000f0d0: 6b0a 4865 7265 2054 5e6b 206d 6561 6e73 k.Here T^k means │ │ │ │ │ +0000f0e0: 2022 7472 616e 7366 6f72 6d20 5420 6170 "transform T ap │ │ │ │ │ +0000f0f0: 706c 6965 6420 6b20 7469 6d65 732e 2220 plied k times." │ │ │ │ │ +0000f100: 2054 6865 206f 7269 6769 6e61 6c20 6f62 The original ob │ │ │ │ │ +0000f110: 6a65 6374 2069 730a 7468 6520 7a65 726f ject is.the zero │ │ │ │ │ +0000f120: 2774 6820 636f 7079 2c20 7769 7468 206b 'th copy, with k │ │ │ │ │ +0000f130: 3d30 2061 6e64 2065 6666 6563 7469 7665 =0 and effective │ │ │ │ │ +0000f140: 6c79 206e 6f20 7472 616e 7366 6f72 6d20 ly no transform │ │ │ │ │ +0000f150: 6170 706c 6965 6420 2854 5e30 3d49 2c0a applied (T^0=I,. │ │ │ │ │ +0000f160: 7468 6520 6964 656e 7469 7479 2074 7261 the identity tra │ │ │ │ │ +0000f170: 6e73 666f 726d 292e 0a0a 2020 2054 6865 nsform)... The │ │ │ │ │ +0000f180: 206d 6574 686f 6420 6f66 2063 6f6e 6e65 method of conne │ │ │ │ │ +0000f190: 6374 696e 6720 7468 6520 636f 7069 6573 cting the copies │ │ │ │ │ +0000f1a0: 2064 6570 656e 6473 206f 6e20 7468 6520 depends on the │ │ │ │ │ +0000f1b0: 7479 7065 206f 660a 5357 4550 545f 4f42 type of.SWEPT_OB │ │ │ │ │ +0000f1c0: 4a45 4354 2061 6e64 206f 6e20 7768 6574 JECT and on whet │ │ │ │ │ +0000f1d0: 6865 7220 7468 6520 636c 6f73 7572 6520 her the closure │ │ │ │ │ +0000f1e0: 7461 6720 e280 983c 3ee2 8099 2069 7320 tag ...<>... is │ │ │ │ │ +0000f1f0: 7072 6573 656e 7420 6f72 206e 6f74 2e0a present or not.. │ │ │ │ │ +0000f200: 0a20 2020 416e 2065 7861 6d70 6c65 206f . An example o │ │ │ │ │ +0000f210: 6620 6120 7377 6565 7020 7768 6572 6520 f a sweep where │ │ │ │ │ +0000f220: 723d 3220 6973 2074 6865 204d 6f62 6975 r=2 is the Mobiu │ │ │ │ │ +0000f230: 7320 6669 6775 7265 2061 7420 2a6e 6f74 s figure at *not │ │ │ │ │ +0000f240: 6520 4d6f 7265 2074 6f0a 6c65 6172 6e3a e More to.learn: │ │ │ │ │ +0000f250: 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2053 :...* Menu:..* S │ │ │ │ │ +0000f260: 7765 7074 2070 6f69 6e74 733a 3a20 2020 wept points:: │ │ │ │ │ +0000f270: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +0000f280: 7074 2070 6f69 6e74 7320 6d61 6b65 206c pt points make l │ │ │ │ │ +0000f290: 696e 6573 206f 7220 706f 6c79 676f 6e73 ines or polygons │ │ │ │ │ +0000f2a0: 2e0a 2a20 5377 6570 7420 6c69 6e65 733a ..* Swept lines: │ │ │ │ │ +0000f2b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000f2c0: 2020 5377 6570 7420 6c69 6e65 7320 6d61 Swept lines ma │ │ │ │ │ +0000f2d0: 6b65 206f 7065 6e20 6f72 2063 6c6f 7365 ke open or close │ │ │ │ │ +0000f2e0: 6420 7375 7266 6163 6573 2e0a 2a20 5377 d surfaces..* Sw │ │ │ │ │ +0000f2f0: 6570 7420 706f 6c79 676f 6e73 3a3a 2020 ept polygons:: │ │ │ │ │ +0000f300: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +0000f310: 7420 706f 6c79 676f 6e73 206d 616b 6520 t polygons make │ │ │ │ │ +0000f320: 636c 6f73 6564 2073 7572 6661 6365 732e closed surfaces. │ │ │ │ │ +0000f330: 0a2a 2053 7765 7074 2062 6c6f 636b 733a .* Swept blocks: │ │ │ │ │ +0000f340: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000f350: 2053 7765 7074 2062 6c6f 636b 20e2 89a1 Swept block ... │ │ │ │ │ +0000f360: 2062 6c6f 636b 206f 6620 7377 6565 7073 block of sweeps │ │ │ │ │ +0000f370: 2e0a 2a20 5377 6565 7020 6661 6365 2073 ..* Sweep face s │ │ │ │ │ +0000f380: 706c 6974 7469 6e67 3a3a 2020 2020 2020 plitting:: │ │ │ │ │ +0000f390: 2020 4669 7869 6e67 2077 6172 7065 6420 Fixing warped │ │ │ │ │ +0000f3a0: 6661 6365 7320 7769 7468 2074 7269 616e faces with trian │ │ │ │ │ +0000f3b0: 676c 6573 2e0a 0a1f 0a46 696c 653a 2073 gles.....File: s │ │ │ │ │ +0000f3c0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +0000f3d0: 653a 2053 7765 7074 2070 6f69 6e74 732c e: Swept points, │ │ │ │ │ +0000f3e0: 2020 4e65 7874 3a20 5377 6570 7420 6c69 Next: Swept li │ │ │ │ │ +0000f3f0: 6e65 732c 2020 5072 6576 3a20 5377 6565 nes, Prev: Swee │ │ │ │ │ +0000f400: 7073 2c20 2055 703a 2053 7765 6570 730a ps, Up: Sweeps. │ │ │ │ │ +0000f410: 0a33 2e32 2e36 2e31 2053 7765 7074 2070 .3.2.6.1 Swept p │ │ │ │ │ +0000f420: 6f69 6e74 730a 2e2e 2e2e 2e2e 2e2e 2e2e oints........... │ │ │ │ │ +0000f430: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4966 2053 ............If S │ │ │ │ │ +0000f440: 5745 5054 5f4f 424a 4543 5420 6973 2061 WEPT_OBJECT is a │ │ │ │ │ +0000f450: 2070 6f69 6e74 206c 6973 7420 616e 6420 point list and │ │ │ │ │ +0000f460: 7468 6572 6520 6973 206e 6f20 636c 6f73 there is no clos │ │ │ │ │ +0000f470: 7572 6520 7461 672c 2074 6865 6e0a e280 ure tag, then... │ │ │ │ │ +0000f480: 9873 7765 6570 e280 9920 636f 6e6e 6563 .sweep... connec │ │ │ │ │ +0000f490: 7473 204e 2b31 2073 7563 6365 7373 6976 ts N+1 successiv │ │ │ │ │ +0000f4a0: 6520 636f 7069 6573 206f 6620 6561 6368 e copies of each │ │ │ │ │ +0000f4b0: 2070 6f69 6e74 2028 696e 636c 7564 696e point (includin │ │ │ │ │ +0000f4c0: 6720 7468 650a 6f72 6967 696e 616c 2920 g the.original) │ │ │ │ │ +0000f4d0: 7769 7468 2073 7472 6169 6768 7420 6c69 with straight li │ │ │ │ │ +0000f4e0: 6e65 2073 6567 6d65 6e74 7320 746f 2066 ne segments to f │ │ │ │ │ +0000f4f0: 6f72 6d20 6120 706f 6c79 6c69 6e65 2e20 orm a polyline. │ │ │ │ │ +0000f500: 2049 6620 7468 6572 6520 6172 650a 6d20 If there are.m │ │ │ │ │ +0000f510: 706f 696e 7473 2069 6e20 7468 6520 6f72 points in the or │ │ │ │ │ +0000f520: 6967 696e 616c 2070 6f69 6e74 206c 6973 iginal point lis │ │ │ │ │ +0000f530: 742c 2074 6865 6e20 6d20 706f 6c79 6c69 t, then m polyli │ │ │ │ │ +0000f540: 6e65 7320 7769 7468 204e 2073 6567 6d65 nes with N segme │ │ │ │ │ +0000f550: 6e74 730a 6561 6368 2061 7265 2066 6f72 nts.each are for │ │ │ │ │ +0000f560: 6d65 6420 6279 2074 6865 2073 7765 6570 med by the sweep │ │ │ │ │ +0000f570: 2e20 2049 6e20 7468 6973 206d 616e 6e65 . In this manne │ │ │ │ │ +0000f580: 722c 20e2 8098 7377 6565 70e2 8099 2066 r, ...sweep... f │ │ │ │ │ +0000f590: 6f72 6d73 2061 2073 6574 206f 660a 6f6e orms a set of.on │ │ │ │ │ +0000f5a0: 652d 6469 6d65 6e73 696f 6e61 6c20 6f62 e-dimensional ob │ │ │ │ │ +0000f5b0: 6a65 6374 7320 2870 6f6c 796c 696e 6573 jects (polylines │ │ │ │ │ +0000f5c0: 2920 6672 6f6d 207a 6572 6f2d 6469 6d65 ) from zero-dime │ │ │ │ │ +0000f5d0: 6e73 696f 6e61 6c20 6f6e 6573 2028 706f nsional ones (po │ │ │ │ │ +0000f5e0: 696e 7473 292e 0a0a 2020 2057 6865 6e20 ints)... When │ │ │ │ │ +0000f5f0: 7468 6572 6520 5f69 735f 2061 2063 6c6f there _is_ a clo │ │ │ │ │ +0000f600: 7375 7265 2074 6167 2c20 e280 9873 7765 sure tag, ...swe │ │ │ │ │ +0000f610: 6570 e280 9920 636f 6e6e 6563 7473 204e ep... connects N │ │ │ │ │ +0000f620: 2073 7563 6365 7373 6976 6520 636f 7069 successive copi │ │ │ │ │ +0000f630: 6573 0a6f 6620 6561 6368 2070 6f69 6e74 es.of each point │ │ │ │ │ +0000f640: 2028 696e 636c 7564 696e 6720 7468 6520 (including the │ │ │ │ │ +0000f650: 6f72 6967 696e 616c 2920 7769 7468 2073 original) with s │ │ │ │ │ +0000f660: 7472 6169 6768 7420 6c69 6e65 2073 6567 traight line seg │ │ │ │ │ +0000f670: 6d65 6e74 7320 616e 640a 6669 6e61 6c6c ments and.finall │ │ │ │ │ +0000f680: 7920 636f 6e6e 6563 7473 2074 6865 206c y connects the l │ │ │ │ │ +0000f690: 6173 7420 636f 7079 2062 6163 6b20 746f ast copy back to │ │ │ │ │ +0000f6a0: 2074 6865 206f 7269 6769 6e61 6c20 746f the original to │ │ │ │ │ +0000f6b0: 2066 6f72 6d20 6120 706f 6c79 676f 6e0a form a polygon. │ │ │ │ │ +0000f6c0: 7769 7468 204e 2073 6964 6573 2e20 2049 with N sides. I │ │ │ │ │ +0000f6d0: 6620 7468 6572 6520 6172 6520 6d20 706f f there are m po │ │ │ │ │ +0000f6e0: 696e 7473 2069 6e20 7468 6520 6f72 6967 ints in the orig │ │ │ │ │ +0000f6f0: 696e 616c 2070 6f69 6e74 206c 6973 742c inal point list, │ │ │ │ │ +0000f700: 2074 6865 6e20 6d0a 706f 6c79 676f 6e73 then m.polygons │ │ │ │ │ +0000f710: 2077 6974 6820 4e20 7369 6465 7320 6561 with N sides ea │ │ │ │ │ +0000f720: 6368 2061 7265 2066 6f72 6d65 6420 6279 ch are formed by │ │ │ │ │ +0000f730: 2074 6865 2073 7765 6570 2e20 2049 6e20 the sweep. In │ │ │ │ │ +0000f740: 7468 6973 206d 616e 6e65 722c 0ae2 8098 this manner,.... │ │ │ │ │ +0000f750: 7377 6565 70e2 8099 2066 6f72 6d73 2061 sweep... forms a │ │ │ │ │ +0000f760: 2073 6574 206f 6620 7477 6f2d 6469 6d65 set of two-dime │ │ │ │ │ +0000f770: 6e73 696f 6e61 6c20 6f62 6a65 6374 7320 nsional objects │ │ │ │ │ +0000f780: 2870 6f6c 7967 6f6e 7329 2066 726f 6d0a (polygons) from. │ │ │ │ │ +0000f790: 7a65 726f 2d64 696d 656e 7369 6f6e 616c zero-dimensional │ │ │ │ │ +0000f7a0: 206f 6e65 7320 2870 6f69 6e74 7329 2e0a ones (points).. │ │ │ │ │ +0000f7b0: 0a20 2020 4f70 7469 6f6e 7320 6f66 2074 . Options of t │ │ │ │ │ +0000f7c0: 6865 20e2 8098 7377 6565 70e2 8099 2061 he ...sweep... a │ │ │ │ │ +0000f7d0: 7265 2063 6f70 6965 6420 6469 7265 6374 re copied direct │ │ │ │ │ +0000f7e0: 6c79 2074 6f20 7468 6520 7265 7375 6c74 ly to the result │ │ │ │ │ +0000f7f0: 696e 670a 706f 6c79 6c69 6e65 2873 292e ing.polyline(s). │ │ │ │ │ +0000f800: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +0000f810: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5377 .info, Node: Sw │ │ │ │ │ +0000f820: 6570 7420 6c69 6e65 732c 2020 4e65 7874 ept lines, Next │ │ │ │ │ +0000f830: 3a20 5377 6570 7420 706f 6c79 676f 6e73 : Swept polygons │ │ │ │ │ +0000f840: 2c20 2050 7265 763a 2053 7765 7074 2070 , Prev: Swept p │ │ │ │ │ +0000f850: 6f69 6e74 732c 2020 5570 3a20 5377 6565 oints, Up: Swee │ │ │ │ │ +0000f860: 7073 0a0a 332e 322e 362e 3220 5377 6570 ps..3.2.6.2 Swep │ │ │ │ │ +0000f870: 7420 6c69 6e65 730a 2e2e 2e2e 2e2e 2e2e t lines......... │ │ │ │ │ +0000f880: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a49 6620 .............If │ │ │ │ │ +0000f890: 5357 4550 545f 4f42 4a45 4354 2069 7320 SWEPT_OBJECT is │ │ │ │ │ +0000f8a0: 6120 706f 6c79 6c69 6e65 2061 6e64 2074 a polyline and t │ │ │ │ │ +0000f8b0: 6865 7265 2069 7320 6e6f 2063 6c6f 7375 here is no closu │ │ │ │ │ +0000f8c0: 7265 2074 6167 2c20 7468 656e 20e2 8098 re tag, then ... │ │ │ │ │ +0000f8d0: 7377 6565 70e2 8099 0a63 6f6e 6e65 6374 sweep....connect │ │ │ │ │ +0000f8e0: 7320 4e2b 3120 7375 6363 6573 7369 7665 s N+1 successive │ │ │ │ │ +0000f8f0: 2063 6f70 6965 7320 6f66 2074 6865 2070 copies of the p │ │ │ │ │ +0000f900: 6f6c 796c 696e 6520 2869 6e63 6c75 6469 olyline (includi │ │ │ │ │ +0000f910: 6e67 2074 6865 206f 7269 6769 6e61 6c29 ng the original) │ │ │ │ │ +0000f920: 0a77 6974 6820 666f 7572 2d73 6964 6564 .with four-sided │ │ │ │ │ +0000f930: 2070 6f6c 7967 6f6e 732c 2065 6163 6820 polygons, each │ │ │ │ │ +0000f940: 7061 6972 206f 6620 636f 7069 6573 2067 pair of copies g │ │ │ │ │ +0000f950: 6976 696e 6720 7269 7365 2074 6f20 6120 iving rise to a │ │ │ │ │ +0000f960: 2270 6f6c 7967 6f6e 0a73 7472 6970 2e22 "polygon.strip." │ │ │ │ │ +0000f970: 2020 4966 2074 6865 7265 2061 7265 206d If there are m │ │ │ │ │ +0000f980: 2070 6f69 6e74 7320 696e 2074 6865 206f points in the o │ │ │ │ │ +0000f990: 7269 6769 6e61 6c20 706f 6c79 6c69 6e65 riginal polyline │ │ │ │ │ +0000f9a0: 2c20 7468 656e 2028 6d2d 3129 4e0a 706f , then (m-1)N.po │ │ │ │ │ +0000f9b0: 6c79 676f 6e73 2061 7265 2066 6f72 6d65 lygons are forme │ │ │ │ │ +0000f9c0: 6420 6279 2074 6865 2073 7765 6570 2e20 d by the sweep. │ │ │ │ │ +0000f9d0: 2057 6520 6361 6c6c 2074 6865 7365 20e2 We call these . │ │ │ │ │ +0000f9e0: 809c 626f 6479 2070 6f6c 7967 6f6e 73e2 ..body polygons. │ │ │ │ │ +0000f9f0: 809d 2e20 2049 6e0a 7468 6973 206d 616e ... In.this man │ │ │ │ │ +0000fa00: 6e65 722c 20e2 8098 7377 6565 70e2 8099 ner, ...sweep... │ │ │ │ │ +0000fa10: 2066 6f72 6d73 2061 2074 776f 2d64 696d forms a two-dim │ │ │ │ │ +0000fa20: 656e 7369 6f6e 616c 2073 7572 6661 6365 ensional surface │ │ │ │ │ +0000fa30: 2066 726f 6d20 6672 6f6d 2061 0a6f 6e65 from from a.one │ │ │ │ │ +0000fa40: 2d64 696d 656e 7369 6f6e 616c 2070 6f6c -dimensional pol │ │ │ │ │ +0000fa50: 796c 696e 652e 0a0a 2020 2054 6865 206f yline... The o │ │ │ │ │ +0000fa60: 7264 6572 206f 6620 7665 7274 6963 6573 rder of vertices │ │ │ │ │ +0000fa70: 2070 726f 6475 6365 6420 6279 20e2 8098 produced by ... │ │ │ │ │ +0000fa80: 7377 6565 70e2 8099 2069 7320 696d 706f sweep... is impo │ │ │ │ │ +0000fa90: 7274 616e 742e 2020 4966 2061 0a70 6f6c rtant. If a.pol │ │ │ │ │ +0000faa0: 7967 6f6e 2773 2076 6572 7469 6365 7320 ygon's vertices │ │ │ │ │ +0000fab0: 646f 206e 6f74 2061 7070 6561 7220 696e do not appear in │ │ │ │ │ +0000fac0: 2063 6f75 6e74 6572 2d63 6c6f 636b 7769 counter-clockwi │ │ │ │ │ +0000fad0: 7365 206f 7264 6572 2069 6e20 7468 6520 se order in the │ │ │ │ │ +0000fae0: 6669 6e61 6c0a 696d 6167 652c 2074 6865 final.image, the │ │ │ │ │ +0000faf0: 2070 6f6c 7967 6f6e 2077 696c 6c20 6265 polygon will be │ │ │ │ │ +0000fb00: 2063 756c 6c65 6420 2875 6e6c 6573 7320 culled (unless │ │ │ │ │ +0000fb10: e280 9863 756c 6c3d 6661 6c73 65e2 8099 ...cull=false... │ │ │ │ │ +0000fb20: 2069 7320 7365 7429 2e20 2049 6620 7468 is set). If th │ │ │ │ │ +0000fb30: 650a 706f 696e 7473 2069 6e20 7468 6520 e.points in the │ │ │ │ │ +0000fb40: 6b27 7468 2063 6f70 7920 6f66 2074 6865 k'th copy of the │ │ │ │ │ +0000fb50: 2070 6f6c 796c 696e 6520 6172 6520 505f polyline are P_ │ │ │ │ │ +0000fb60: 312c 2050 5f32 2c20 2e2e 2e2c 2050 5f6d 1, P_2, ..., P_m │ │ │ │ │ +0000fb70: 2c20 616e 6420 7468 650a 706f 696e 7473 , and the.points │ │ │ │ │ +0000fb80: 2069 6e20 7468 6520 6e65 7874 2063 6f70 in the next cop │ │ │ │ │ +0000fb90: 792c 2074 6865 2028 6b2b 3129 7374 2c20 y, the (k+1)st, │ │ │ │ │ +0000fba0: 6172 6520 505f 3127 2c20 505f 3227 2c20 are P_1', P_2', │ │ │ │ │ +0000fbb0: 2e2e 2e2c 2050 5f6d 272c 2074 6865 6e0a ..., P_m', then. │ │ │ │ │ +0000fbc0: 7468 6520 7665 7274 6578 206f 7264 6572 the vertex order │ │ │ │ │ +0000fbd0: 206f 6620 7468 6520 6765 6e65 7261 7465 of the generate │ │ │ │ │ +0000fbe0: 6420 706f 6c79 676f 6e73 2069 730a 2020 d polygons is. │ │ │ │ │ +0000fbf0: 2020 2042 6f64 7920 706f 6c79 676f 6e20 Body polygon │ │ │ │ │ +0000fc00: 313a 2050 5f32 2050 5f31 2050 5f31 2720 1: P_2 P_1 P_1' │ │ │ │ │ +0000fc10: 505f 3227 0a20 2020 2020 426f 6479 2070 P_2'. Body p │ │ │ │ │ +0000fc20: 6f6c 7967 6f6e 2032 3a20 505f 3320 505f olygon 2: P_3 P_ │ │ │ │ │ +0000fc30: 3220 505f 3227 2050 5f33 270a 2020 2020 2 P_2' P_3'. │ │ │ │ │ +0000fc40: 202e 2e2e 0a20 2020 2020 426f 6479 2070 .... Body p │ │ │ │ │ +0000fc50: 6f6c 7967 6f6e 206d 2d31 3a20 505f 6d20 olygon m-1: P_m │ │ │ │ │ +0000fc60: 505f 7b6d 2d31 7d20 505f 7b6d 2d31 7d27 P_{m-1} P_{m-1}' │ │ │ │ │ +0000fc70: 2050 5f6d 270a 0a20 2020 4f70 7469 6f6e P_m'.. Option │ │ │ │ │ +0000fc80: 7320 6f66 2075 6e63 6c6f 7365 6420 6c69 s of unclosed li │ │ │ │ │ +0000fc90: 6e65 2073 7765 6570 7320 6172 6520 636f ne sweeps are co │ │ │ │ │ +0000fca0: 7069 6564 2074 6f20 6561 6368 206f 7574 pied to each out │ │ │ │ │ +0000fcb0: 7075 7420 706f 6c79 676f 6e2e 0a4f 7074 put polygon..Opt │ │ │ │ │ +0000fcc0: 696f 6e73 206f 6620 7468 6520 7377 6570 ions of the swep │ │ │ │ │ +0000fcd0: 7420 6c69 6e65 2061 7265 2069 676e 6f72 t line are ignor │ │ │ │ │ +0000fce0: 6564 2e0a 0a20 2020 5768 656e 2074 6865 ed... When the │ │ │ │ │ +0000fcf0: 7265 205f 6973 5f20 6120 636c 6f73 7572 re _is_ a closur │ │ │ │ │ +0000fd00: 6520 7461 672c 2074 6865 6e20 e280 9873 e tag, then ...s │ │ │ │ │ +0000fd10: 7765 6570 e280 9920 636f 6e6e 6563 7473 weep... connects │ │ │ │ │ +0000fd20: 204e 2073 7563 6365 7373 6976 650a 636f N successive.co │ │ │ │ │ +0000fd30: 7069 6573 206f 6620 7468 6520 706f 6c79 pies of the poly │ │ │ │ │ +0000fd40: 6c69 6e65 2028 696e 636c 7564 696e 6720 line (including │ │ │ │ │ +0000fd50: 7468 6520 6f72 6967 696e 616c 2920 7769 the original) wi │ │ │ │ │ +0000fd60: 7468 2066 6f75 722d 7369 6465 6420 626f th four-sided bo │ │ │ │ │ +0000fd70: 6479 0a70 6f6c 7967 6f6e 7320 6a75 7374 dy.polygons just │ │ │ │ │ +0000fd80: 2061 7320 7468 6520 6361 7365 2077 6974 as the case wit │ │ │ │ │ +0000fd90: 6820 6e6f 2063 6c6f 7375 7265 2074 6167 h no closure tag │ │ │ │ │ +0000fda0: 2e20 2049 7420 7468 656e 2063 6f6e 6e65 . It then conne │ │ │ │ │ +0000fdb0: 6374 7320 7468 650a 6c61 7374 2063 6f70 cts the.last cop │ │ │ │ │ +0000fdc0: 7920 6261 636b 2074 6f20 7468 6520 6f72 y back to the or │ │ │ │ │ +0000fdd0: 6967 696e 616c 2074 6f20 666f 726d 2061 iginal to form a │ │ │ │ │ +0000fde0: 2072 6962 626f 6e2d 7368 6170 6564 2073 ribbon-shaped s │ │ │ │ │ +0000fdf0: 7572 6661 6365 2074 6861 740a 636c 6f73 urface that.clos │ │ │ │ │ +0000fe00: 6573 206f 6e20 6974 7365 6c66 2077 6974 es on itself wit │ │ │ │ │ +0000fe10: 6820 7477 6f20 686f 6c65 7320 7265 6d61 h two holes rema │ │ │ │ │ +0000fe20: 696e 696e 672e 0a0a 2020 2046 696e 616c ining... Final │ │ │ │ │ +0000fe30: 6c79 2c20 7468 6520 7377 6565 7020 6164 ly, the sweep ad │ │ │ │ │ +0000fe40: 6473 2074 776f 206d 6f72 6520 706f 6c79 ds two more poly │ │ │ │ │ +0000fe50: 676f 6e73 2074 6f20 7365 616c 2074 6865 gons to seal the │ │ │ │ │ +0000fe60: 2068 6f6c 6573 2061 6e64 2066 6f72 6d0a holes and form. │ │ │ │ │ +0000fe70: 6120 636c 6f73 6564 2073 7572 6661 6365 a closed surface │ │ │ │ │ +0000fe80: 2074 6861 742c 2064 6570 656e 6469 6e67 that, depending │ │ │ │ │ +0000fe90: 206f 6e20 7468 6520 7377 6565 7020 7472 on the sweep tr │ │ │ │ │ +0000fea0: 616e 7366 6f72 6d73 2c20 6d61 7920 7265 ansforms, may re │ │ │ │ │ +0000feb0: 7072 6573 656e 740a 7468 6520 626f 756e present.the boun │ │ │ │ │ +0000fec0: 6461 7279 206f 6620 6120 736f 6c69 642e dary of a solid. │ │ │ │ │ +0000fed0: 2020 496e 2074 6869 7320 6d61 6e6e 6572 In this manner │ │ │ │ │ +0000fee0: 2c20 e280 9873 7765 6570 e280 9920 666f , ...sweep... fo │ │ │ │ │ +0000fef0: 726d 7320 7468 6520 626f 756e 6461 7279 rms the boundary │ │ │ │ │ +0000ff00: 206f 660a 6120 7468 7265 652d 6469 6d65 of.a three-dime │ │ │ │ │ +0000ff10: 6e73 696f 6e61 6c20 6f62 6a65 6374 2066 nsional object f │ │ │ │ │ +0000ff20: 726f 6d20 6120 6f6e 652d 6469 6d65 6e73 rom a one-dimens │ │ │ │ │ +0000ff30: 696f 6e61 6c20 706f 6c79 6c69 6e65 2e20 ional polyline. │ │ │ │ │ +0000ff40: 2057 6520 6361 6c6c 0a74 6865 7365 2068 We call.these h │ │ │ │ │ +0000ff50: 6f6c 652d 6669 6c6c 696e 6720 706f 6c79 ole-filling poly │ │ │ │ │ +0000ff60: 676f 6e73 20e2 809c 656e 6473 e280 9d2e gons ...ends.... │ │ │ │ │ +0000ff70: 0a0a 2020 2054 6865 206f 7264 6572 206f .. The order o │ │ │ │ │ +0000ff80: 6620 7665 7274 6963 6573 206f 6620 656e f vertices of en │ │ │ │ │ +0000ff90: 6420 706f 6c79 676f 6e73 2069 7320 696d d polygons is im │ │ │ │ │ +0000ffa0: 706f 7274 616e 7420 666f 7220 636f 7272 portant for corr │ │ │ │ │ +0000ffb0: 6563 740a 6375 6c6c 696e 6720 6173 2064 ect.culling as d │ │ │ │ │ +0000ffc0: 6573 6372 6962 6564 2061 626f 7665 2e20 escribed above. │ │ │ │ │ +0000ffd0: 2049 6620 505f 315e 312c 2050 5f31 5e32 If P_1^1, P_1^2 │ │ │ │ │ +0000ffe0: 2c20 2e2e 2e2c 2050 5f31 5e6e 2061 7265 , ..., P_1^n are │ │ │ │ │ +0000fff0: 2074 6865 204e 0a63 6f70 6965 7320 6f66 the N.copies of │ │ │ │ │ +00010000: 2074 6865 2066 6972 7374 2070 6f6c 796c the first polyl │ │ │ │ │ +00010010: 696e 6520 706f 696e 7420 616e 6420 505f ine point and P_ │ │ │ │ │ +00010020: 6d5e 312c 2050 5f6d 5e32 2c20 2e2e 2e20 m^1, P_m^2, ... │ │ │ │ │ +00010030: 2c50 5f6d 5e6e 2061 7265 2074 6865 0a4e ,P_m^n are the.N │ │ │ │ │ +00010040: 2063 6f70 6965 7320 6f66 2074 6865 206c copies of the l │ │ │ │ │ +00010050: 6173 7420 706f 6c79 6c69 6e65 2070 6f69 ast polyline poi │ │ │ │ │ +00010060: 6e74 2c20 7468 656e 2074 6865 2065 6e64 nt, then the end │ │ │ │ │ +00010070: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex │ │ │ │ │ +00010080: 6f72 6465 720a 6973 0a20 2020 2020 456e order.is. En │ │ │ │ │ +00010090: 6420 706f 6c79 676f 6e20 313a 2050 5f31 d polygon 1: P_1 │ │ │ │ │ +000100a0: 5e6e 2c20 505f 315e 7b6e 2d31 7d2c 202e ^n, P_1^{n-1}, . │ │ │ │ │ +000100b0: 2e2e 202c 505f 315e 310a 2020 2020 2045 .. ,P_1^1. E │ │ │ │ │ +000100c0: 6e64 2070 6f6c 7967 6f6e 2032 3a20 505f nd polygon 2: P_ │ │ │ │ │ +000100d0: 6d5e 312c 2050 5f6d 5e32 2c20 2e2e 2e20 m^1, P_m^2, ... │ │ │ │ │ +000100e0: 2c50 5f6d 5e6e 0a0a 2020 2049 6620 7468 ,P_m^n.. If th │ │ │ │ │ +000100f0: 6572 6520 6172 6520 6e6f 206f 7074 696f ere are no optio │ │ │ │ │ +00010100: 6e73 206f 6e20 7468 6520 7377 6570 7420 ns on the swept │ │ │ │ │ +00010110: 6c69 6e65 2c20 7468 656e 2074 6865 20e2 line, then the . │ │ │ │ │ +00010120: 8098 7377 6565 70e2 8099 206f 7074 696f ..sweep... optio │ │ │ │ │ +00010130: 6e73 0a61 7265 2063 6f70 6965 6420 746f ns.are copied to │ │ │ │ │ +00010140: 2065 6163 6820 6f75 7470 7574 2070 6f6c each output pol │ │ │ │ │ +00010150: 7967 6f6e 2e20 2049 6620 7468 6520 7377 ygon. If the sw │ │ │ │ │ +00010160: 6570 7420 6c69 6e65 2064 6f65 7320 6861 ept line does ha │ │ │ │ │ +00010170: 7665 206f 7074 696f 6e73 2c0a 7468 6573 ve options,.thes │ │ │ │ │ +00010180: 6520 6172 6520 636f 7069 6564 2074 6f20 e are copied to │ │ │ │ │ +00010190: 636f 7272 6573 706f 6e64 696e 6720 626f corresponding bo │ │ │ │ │ +000101a0: 6479 2070 6f6c 7967 6f6e 733b 2074 6865 dy polygons; the │ │ │ │ │ +000101b0: 2073 7765 6570 206f 7074 696f 6e73 2061 sweep options a │ │ │ │ │ +000101c0: 7265 0a63 6f70 6965 6420 746f 2074 6865 re.copied to the │ │ │ │ │ +000101d0: 2065 6e64 2070 6f6c 7967 6f6e 732e 2020 end polygons. │ │ │ │ │ +000101e0: 496e 2074 6869 7320 6d61 6e6e 6572 2c20 In this manner, │ │ │ │ │ +000101f0: 626f 6479 2061 6e64 2065 6e64 7320 6d61 body and ends ma │ │ │ │ │ +00010200: 7920 6265 2064 7261 776e 0a77 6974 6820 y be drawn.with │ │ │ │ │ +00010210: 6469 6666 6572 656e 7420 6368 6172 6163 different charac │ │ │ │ │ +00010220: 7465 7269 7374 6963 7320 7375 6368 2061 teristics such a │ │ │ │ │ +00010230: 7320 e280 9866 696c 6c63 6f6c 6f72 e280 s ...fillcolor.. │ │ │ │ │ +00010240: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket │ │ │ │ │ +00010250: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00010260: 5377 6570 7420 706f 6c79 676f 6e73 2c20 Swept polygons, │ │ │ │ │ +00010270: 204e 6578 743a 2053 7765 7074 2062 6c6f Next: Swept blo │ │ │ │ │ +00010280: 636b 732c 2020 5072 6576 3a20 5377 6570 cks, Prev: Swep │ │ │ │ │ +00010290: 7420 6c69 6e65 732c 2020 5570 3a20 5377 t lines, Up: Sw │ │ │ │ │ +000102a0: 6565 7073 0a0a 332e 322e 362e 3320 5377 eeps..3.2.6.3 Sw │ │ │ │ │ +000102b0: 6570 7420 706f 6c79 676f 6e73 0a2e 2e2e ept polygons.... │ │ │ │ │ +000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +000102d0: 2e2e 2e0a 0a49 6620 5357 4550 545f 4f42 .....If SWEPT_OB │ │ │ │ │ +000102e0: 4a45 4354 2069 7320 6120 706f 6c79 676f JECT is a polygo │ │ │ │ │ +000102f0: 6e2c 2074 6865 20e2 8098 7377 6565 70e2 n, the ...sweep. │ │ │ │ │ +00010300: 8099 2063 6f6e 6e65 6374 7320 4e2b 3120 .. connects N+1 │ │ │ │ │ +00010310: 7375 6363 6573 7369 7665 2063 6f70 6965 successive copie │ │ │ │ │ +00010320: 730a 6f66 2074 6865 2063 6c6f 7365 6420 s.of the closed │ │ │ │ │ +00010330: 706f 6c79 6c69 6e65 2062 6f72 6465 7220 polyline border │ │ │ │ │ +00010340: 6f66 2074 6865 2070 6f6c 7967 6f6e 2074 of the polygon t │ │ │ │ │ +00010350: 6f20 666f 726d 2062 6f64 7920 706f 6c79 o form body poly │ │ │ │ │ +00010360: 676f 6e73 0a65 7861 6374 6c79 2061 7320 gons.exactly as │ │ │ │ │ +00010370: 7468 6f75 6768 2074 6865 2062 6f72 6465 though the borde │ │ │ │ │ +00010380: 7220 7765 7265 2061 2073 7765 7074 2070 r were a swept p │ │ │ │ │ +00010390: 6f6c 796c 696e 6520 6173 2064 6573 6372 olyline as descr │ │ │ │ │ +000103a0: 6962 6564 2069 6e20 2a6e 6f74 650a 5377 ibed in *note.Sw │ │ │ │ │ +000103b0: 6570 7420 6c69 6e65 733a 3a2e 2020 4966 ept lines::. If │ │ │ │ │ +000103c0: 2074 6865 7265 2061 7265 206d 2070 6f69 there are m poi │ │ │ │ │ +000103d0: 6e74 7320 696e 2074 6865 206f 7269 6769 nts in the origi │ │ │ │ │ +000103e0: 6e61 6c20 706f 6c79 676f 6e2c 2074 6865 nal polygon, the │ │ │ │ │ +000103f0: 6e20 6d4e 0a62 6f64 7920 706f 6c79 676f n mN.body polygo │ │ │ │ │ +00010400: 6e73 2061 7265 2066 6f72 6d65 6420 6279 ns are formed by │ │ │ │ │ +00010410: 2074 6869 7320 7377 6565 702e 2020 5468 this sweep. Th │ │ │ │ │ +00010420: 6520 626f 6479 2070 6f6c 7967 6f6e 7320 e body polygons │ │ │ │ │ +00010430: 666f 726d 2061 6e0a e280 9c65 7874 7275 form an....extru │ │ │ │ │ +00010440: 7369 6f6e e280 9d20 6f66 2074 6865 2062 sion... of the b │ │ │ │ │ +00010450: 6f75 6e64 6172 7920 6f66 2074 6865 206f oundary of the o │ │ │ │ │ +00010460: 7269 6769 6e61 6c20 706f 6c79 676f 6e20 riginal polygon │ │ │ │ │ +00010470: 7769 7468 2074 776f 2068 6f6c 6573 2061 with two holes a │ │ │ │ │ +00010480: 740a 7468 6520 6f70 656e 2065 6e64 732e t.the open ends. │ │ │ │ │ +00010490: 0a0a 2020 2046 696e 616c 6c79 2c20 7468 .. Finally, th │ │ │ │ │ +000104a0: 6520 7377 6565 7020 6164 6473 2074 776f e sweep adds two │ │ │ │ │ +000104b0: 2063 6f70 6965 7320 6f66 2074 6865 206f copies of the o │ │ │ │ │ +000104c0: 7269 6769 6e61 6c20 706f 6c79 676f 6e20 riginal polygon │ │ │ │ │ +000104d0: 746f 2063 6f76 6572 0a74 6865 2068 6f6c to cover.the hol │ │ │ │ │ +000104e0: 6573 2e20 2057 6520 6361 6c6c 2074 6865 es. We call the │ │ │ │ │ +000104f0: 7365 2068 6f6c 652d 6669 6c6c 696e 6720 se hole-filling │ │ │ │ │ +00010500: 706f 6c79 676f 6e73 20e2 809c 656e 6473 polygons ...ends │ │ │ │ │ +00010510: e280 9d2e 2020 496e 2074 6869 7320 6d61 .... In this ma │ │ │ │ │ +00010520: 6e6e 6572 2c0a e280 9873 7765 6570 e280 nner,....sweep.. │ │ │ │ │ +00010530: 9920 666f 726d 7320 7468 6520 626f 756e . forms the boun │ │ │ │ │ +00010540: 6461 7279 206f 6620 6120 7468 7265 652d dary of a three- │ │ │ │ │ +00010550: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje │ │ │ │ │ +00010560: 6374 2066 726f 6d20 610a 7477 6f2d 6469 ct from a.two-di │ │ │ │ │ +00010570: 6d65 6e73 696f 6e61 6c20 706f 6c79 676f mensional polygo │ │ │ │ │ +00010580: 6e2e 0a0a 2020 2054 6865 206f 7264 6572 n... The order │ │ │ │ │ +00010590: 206f 6620 7665 7274 6963 6573 206f 6620 of vertices of │ │ │ │ │ +000105a0: 656e 6420 706f 6c79 676f 6e73 2069 7320 end polygons is │ │ │ │ │ +000105b0: 696d 706f 7274 616e 7420 666f 7220 636f important for co │ │ │ │ │ +000105c0: 7272 6563 740a 6375 6c6c 696e 6720 6173 rrect.culling as │ │ │ │ │ +000105d0: 2064 6573 6372 6962 6564 2061 626f 7665 described above │ │ │ │ │ +000105e0: 2e20 2041 6e20 6578 6163 7420 636f 7079 . An exact copy │ │ │ │ │ +000105f0: 206f 6620 7468 6520 6f72 6967 696e 616c of the original │ │ │ │ │ +00010600: 2070 6f6c 7967 6f6e 2077 6974 680a 7665 polygon with.ve │ │ │ │ │ +00010610: 7274 6578 206f 7264 6572 2069 6e74 6163 rtex order intac │ │ │ │ │ +00010620: 7420 666f 726d 7320 7468 6520 6669 7273 t forms the firs │ │ │ │ │ +00010630: 7420 656e 6420 706f 6c79 676f 6e2e 2020 t end polygon. │ │ │ │ │ +00010640: 5468 6520 6f74 6865 7220 656e 6420 706f The other end po │ │ │ │ │ +00010650: 6c79 676f 6e0a 7265 7375 6c74 7320 6672 lygon.results fr │ │ │ │ │ +00010660: 6f6d 2074 7261 6e73 666f 726d 696e 6720 om transforming │ │ │ │ │ +00010670: 616e 6420 7468 6520 7265 7665 7273 696e and the reversin │ │ │ │ │ +00010680: 6720 7468 6520 6f72 6465 7220 6f66 2076 g the order of v │ │ │ │ │ +00010690: 6572 7469 6365 7320 696e 2074 6865 0a6f ertices in the.o │ │ │ │ │ +000106a0: 7269 6769 6e61 6c2e 2020 5468 6520 7472 riginal. The tr │ │ │ │ │ +000106b0: 616e 7366 6f72 6d20 706c 6163 6573 2074 ansform places t │ │ │ │ │ +000106c0: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly │ │ │ │ │ +000106d0: 676f 6e20 6174 2074 6865 2075 6e63 6f76 gon at the uncov │ │ │ │ │ +000106e0: 6572 6564 0a68 6f6c 653b 2069 7420 6973 ered.hole; it is │ │ │ │ │ +000106f0: 0a20 2020 2020 545f 315e 6e20 7468 656e . T_1^n then │ │ │ │ │ +00010700: 2054 5f32 5e6e 2074 6865 6e20 2e2e 2e20 T_2^n then ... │ │ │ │ │ +00010710: 7468 656e 2054 5f52 5e6e 2e0a 4966 2074 then T_R^n..If t │ │ │ │ │ +00010720: 6865 7265 2061 7265 206e 6f20 6f70 7469 here are no opti │ │ │ │ │ +00010730: 6f6e 7320 6f6e 2074 6865 2073 7765 7074 ons on the swept │ │ │ │ │ +00010740: 2070 6f6c 7967 6f6e 2c20 7468 656e 2074 polygon, then t │ │ │ │ │ +00010750: 6865 20e2 8098 7377 6565 70e2 8099 206f he ...sweep... o │ │ │ │ │ +00010760: 7074 696f 6e73 0a61 7265 2063 6f70 6965 ptions.are copie │ │ │ │ │ +00010770: 6420 746f 2065 6163 6820 6f75 7470 7574 d to each output │ │ │ │ │ +00010780: 2070 6f6c 7967 6f6e 2e20 2049 6620 7468 polygon. If th │ │ │ │ │ +00010790: 6520 7377 6570 7420 706f 6c79 676f 6e20 e swept polygon │ │ │ │ │ +000107a0: 646f 6573 2068 6176 650a 6f70 7469 6f6e does have.option │ │ │ │ │ +000107b0: 732c 2074 6865 7365 2061 7265 2063 6f70 s, these are cop │ │ │ │ │ +000107c0: 6965 6420 746f 2074 6865 2065 6e64 733b ied to the ends; │ │ │ │ │ +000107d0: 2074 6865 2073 7765 6570 206f 7074 696f the sweep optio │ │ │ │ │ +000107e0: 6e73 2061 7265 2063 6f70 6965 6420 746f ns are copied to │ │ │ │ │ +000107f0: 0a74 6865 2062 6f64 7920 706f 6c79 676f .the body polygo │ │ │ │ │ +00010800: 6e73 2e20 2049 6e20 7468 6973 206d 616e ns. In this man │ │ │ │ │ +00010810: 6e65 722c 2062 6f64 7920 616e 6420 656e ner, body and en │ │ │ │ │ +00010820: 6473 206d 6179 2062 6520 6472 6177 6e20 ds may be drawn │ │ │ │ │ +00010830: 7769 7468 0a64 6966 6665 7265 6e74 2063 with.different c │ │ │ │ │ +00010840: 6861 7261 6374 6572 6973 7469 6373 2073 haracteristics s │ │ │ │ │ +00010850: 7563 6820 6173 20e2 8098 6669 6c6c 636f uch as ...fillco │ │ │ │ │ +00010860: 6c6f 72e2 8099 2e0a 0a1f 0a46 696c 653a lor........File: │ │ │ │ │ +00010870: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00010880: 6f64 653a 2053 7765 7074 2062 6c6f 636b ode: Swept block │ │ │ │ │ +00010890: 732c 2020 4e65 7874 3a20 5377 6565 7020 s, Next: Sweep │ │ │ │ │ +000108a0: 6661 6365 2073 706c 6974 7469 6e67 2c20 face splitting, │ │ │ │ │ +000108b0: 2050 7265 763a 2053 7765 7074 2070 6f6c Prev: Swept pol │ │ │ │ │ +000108c0: 7967 6f6e 732c 2020 5570 3a20 5377 6565 ygons, Up: Swee │ │ │ │ │ +000108d0: 7073 0a0a 332e 322e 362e 3420 5377 6570 ps..3.2.6.4 Swep │ │ │ │ │ +000108e0: 7420 626c 6f63 6b73 0a2e 2e2e 2e2e 2e2e t blocks........ │ │ │ │ │ +000108f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a54 ...............T │ │ │ │ │ +00010900: 6865 2073 7765 7074 206f 626a 6563 7420 he swept object │ │ │ │ │ +00010910: 5357 4550 545f 4f42 4a45 4354 206d 6179 SWEPT_OBJECT may │ │ │ │ │ +00010920: 2061 6c73 6f20 6265 2061 6e79 2063 6f6c also be any col │ │ │ │ │ +00010930: 6c65 6374 696f 6e20 6f66 2070 6f6c 796c lection of polyl │ │ │ │ │ +00010940: 696e 6573 0a61 6e64 2070 6f6c 7967 6f6e ines.and polygon │ │ │ │ │ +00010950: 732e 2020 5468 6973 206d 6179 2062 6520 s. This may be │ │ │ │ │ +00010960: 6120 626c 6f63 6b20 636f 6d70 6f73 6564 a block composed │ │ │ │ │ +00010970: 206f 6620 e280 986c 696e 65e2 8099 2061 of ...line... a │ │ │ │ │ +00010980: 6e64 2f6f 7220 e280 9870 6f6c 7967 6f6e nd/or ...polygon │ │ │ │ │ +00010990: e280 990a 636f 6d6d 616e 6473 2069 6e20 ....commands in │ │ │ │ │ +000109a0: 6272 6163 6573 20e2 8098 7b20 7de2 8099 braces ...{ }... │ │ │ │ │ +000109b0: 2c20 6f72 2069 7420 6d61 7920 6265 2074 , or it may be t │ │ │ │ │ +000109c0: 6865 2072 6573 756c 7420 6f66 2061 20e2 he result of a . │ │ │ │ │ +000109d0: 8098 7265 7065 6174 e280 992c 2061 6e6f ..repeat..., ano │ │ │ │ │ +000109e0: 7468 6572 0ae2 8098 7377 6565 70e2 8099 ther....sweep... │ │ │ │ │ +000109f0: 2c20 6574 632e 2020 5468 6520 7377 6565 , etc. The swee │ │ │ │ │ +00010a00: 7020 6163 7473 2069 6e64 6570 656e 6465 p acts independe │ │ │ │ │ +00010a10: 6e74 6c79 206f 6e20 6561 6368 206f 626a ntly on each obj │ │ │ │ │ +00010a20: 6563 7420 696e 2074 6865 2062 6c6f 636b ect in the block │ │ │ │ │ +00010a30: 0a65 7861 6374 6c79 2061 7320 6966 2069 .exactly as if i │ │ │ │ │ +00010a40: 7420 7765 7265 2061 2073 696e 676c 6520 t were a single │ │ │ │ │ +00010a50: 7377 6570 7420 6f62 6a65 6374 2064 6573 swept object des │ │ │ │ │ +00010a60: 6372 6962 6564 2061 626f 7665 2069 6e20 cribed above in │ │ │ │ │ +00010a70: 2a6e 6f74 650a 5377 6570 7420 6c69 6e65 *note.Swept line │ │ │ │ │ +00010a80: 733a 3a20 616e 6420 2a6e 6f74 6520 5377 s:: and *note Sw │ │ │ │ │ +00010a90: 6570 7420 706f 6c79 676f 6e73 3a3a 2e0a ept polygons::.. │ │ │ │ │ +00010aa0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +00010ab0: 696e 666f 2c20 204e 6f64 653a 2053 7765 info, Node: Swe │ │ │ │ │ +00010ac0: 6570 2066 6163 6520 7370 6c69 7474 696e ep face splittin │ │ │ │ │ +00010ad0: 672c 2020 5072 6576 3a20 5377 6570 7420 g, Prev: Swept │ │ │ │ │ +00010ae0: 626c 6f63 6b73 2c20 2055 703a 2053 7765 blocks, Up: Swe │ │ │ │ │ +00010af0: 6570 730a 0a33 2e32 2e36 2e35 2053 7765 eps..3.2.6.5 Swe │ │ │ │ │ +00010b00: 6570 2066 6163 6520 7370 6c69 7474 696e ep face splittin │ │ │ │ │ +00010b10: 670a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e g............... │ │ │ │ │ +00010b20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ +00010b30: 4265 666f 7265 2073 656e 6469 6e67 2065 Before sending e │ │ │ │ │ +00010b40: 6163 6820 666f 7572 2d73 6964 6564 2062 ach four-sided b │ │ │ │ │ +00010b50: 6f64 7920 706f 6c79 676f 6e20 6f66 2061 ody polygon of a │ │ │ │ │ +00010b60: 20e2 8098 7377 6565 70e2 8099 2074 6f20 ...sweep... to │ │ │ │ │ +00010b70: 7468 6520 6f75 7470 7574 2c0a e280 9873 the output,....s │ │ │ │ │ +00010b80: 6b65 7463 68e2 8099 2074 6573 7473 2074 ketch... tests t │ │ │ │ │ +00010b90: 6f20 7365 6520 6966 2069 7420 6973 2072 o see if it is r │ │ │ │ │ +00010ba0: 6f75 6768 6c79 2070 6c61 6e61 722e 2020 oughly planar. │ │ │ │ │ +00010bb0: 5369 6e63 6520 706c 616e 6172 6974 7920 Since planarity │ │ │ │ │ +00010bc0: 6973 0a6e 6563 6573 7361 7279 2066 6f72 is.necessary for │ │ │ │ │ +00010bd0: 2070 726f 7065 7220 6675 6e63 7469 6f6e proper function │ │ │ │ │ +00010be0: 696e 6720 6f66 2074 6865 2068 6964 6465 ing of the hidde │ │ │ │ │ +00010bf0: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori │ │ │ │ │ +00010c00: 7468 6d2c 0a22 7761 7270 6564 2220 706f thm,."warped" po │ │ │ │ │ +00010c10: 6c79 676f 6e73 2061 7265 2061 7574 6f6d lygons are autom │ │ │ │ │ +00010c20: 6174 6963 616c 6c79 2073 706c 6974 2069 atically split i │ │ │ │ │ +00010c30: 6e74 6f20 7477 6f20 7472 6961 6e67 6c65 nto two triangle │ │ │ │ │ +00010c40: 732e 0a0a 2020 2048 6f6c 652d 6669 6c6c s... Hole-fill │ │ │ │ │ +00010c50: 696e 6720 706f 6c79 676f 6e73 2070 726f ing polygons pro │ │ │ │ │ +00010c60: 6475 6365 6420 6279 2063 6c6f 7375 7265 duced by closure │ │ │ │ │ +00010c70: 2d74 6167 6765 6420 6c69 6e65 2073 7765 -tagged line swe │ │ │ │ │ +00010c80: 6570 7320 6172 6520 6e6f 740a 7370 6c69 eps are not.spli │ │ │ │ │ +00010c90: 742e 2020 4e6f 7220 6172 6520 6f72 6967 t. Nor are orig │ │ │ │ │ +00010ca0: 696e 616c 2070 6f6c 7967 6f6e 7320 696e inal polygons in │ │ │ │ │ +00010cb0: 2070 6f6c 7967 6f6e 2073 7765 6570 732e polygon sweeps. │ │ │ │ │ +00010cc0: 2020 4974 2069 7320 7468 6520 7573 6572 It is the user │ │ │ │ │ +00010cd0: 2773 0a72 6573 706f 6e73 6962 696c 6974 's.responsibilit │ │ │ │ │ +00010ce0: 7920 746f 2065 6e73 7572 6520 7468 6573 y to ensure thes │ │ │ │ │ +00010cf0: 6520 6172 6520 706c 616e 6172 2e0a 0a1f e are planar.... │ │ │ │ │ +00010d00: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00010d10: 666f 2c20 204e 6f64 653a 2042 6c6f 636b fo, Node: Block │ │ │ │ │ +00010d20: 732c 2020 4e65 7874 3a20 5265 7065 6174 s, Next: Repeat │ │ │ │ │ +00010d30: 732c 2020 5072 6576 3a20 5377 6565 7073 s, Prev: Sweeps │ │ │ │ │ +00010d40: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables │ │ │ │ │ +00010d50: 0a0a 332e 322e 3720 426c 6f63 6b73 0a2d ..3.2.7 Blocks.- │ │ │ │ │ +00010d60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 6e79 -----------..Any │ │ │ │ │ +00010d70: 2073 6571 7565 6e63 6520 6f66 2064 7261 sequence of dra │ │ │ │ │ +00010d80: 7761 626c 6573 206d 6179 2062 6520 6772 wables may be gr │ │ │ │ │ +00010d90: 6f75 7065 6420 696e 2061 20e2 809c 626c ouped in a ...bl │ │ │ │ │ +00010da0: 6f63 6be2 809d 206d 6572 656c 7920 6279 ock... merely by │ │ │ │ │ +00010db0: 0a65 6e63 6c6f 7369 6e67 2074 6865 6d20 .enclosing them │ │ │ │ │ +00010dc0: 696e 2062 7261 6365 7320 e280 987b 207d in braces ...{ } │ │ │ │ │ +00010dd0: e280 992e 2020 4120 626c 6f63 6b20 6973 .... A block is │ │ │ │ │ +00010de0: 2069 7473 656c 6620 6472 6177 6162 6c65 itself drawable │ │ │ │ │ +00010df0: 2e20 2041 206b 6579 2075 7365 0a6f 6620 . A key use.of │ │ │ │ │ +00010e00: 626c 6f63 6b73 2069 7320 746f 2065 7874 blocks is to ext │ │ │ │ │ +00010e10: 656e 6420 7468 6520 6566 6665 6374 206f end the effect o │ │ │ │ │ +00010e20: 6620 6120 7369 6e67 6c65 20e2 8098 6465 f a single ...de │ │ │ │ │ +00010e30: 66e2 8099 2c20 2a6e 6f74 650a 4465 6669 f..., *note.Defi │ │ │ │ │ +00010e40: 6e69 7469 6f6e 733a 3a2c 20e2 8098 7075 nitions::, ...pu │ │ │ │ │ +00010e50: 74e2 8099 202a 6e6f 7465 2050 7574 733a t... *note Puts: │ │ │ │ │ +00010e60: 3a2c 20e2 8098 7377 6565 70e2 8099 202a :, ...sweep... * │ │ │ │ │ +00010e70: 6e6f 7465 2053 7765 6570 733a 3a2c 206f note Sweeps::, o │ │ │ │ │ +00010e80: 7220 e280 9872 6570 6561 74e2 8099 0a2a r ...repeat....* │ │ │ │ │ +00010e90: 6e6f 7465 2052 6570 6561 7473 3a3a 2074 note Repeats:: t │ │ │ │ │ +00010ea0: 6f20 696e 636c 7564 6520 7365 7665 7261 o include severa │ │ │ │ │ +00010eb0: 6c20 6f62 6a65 6374 7320 7261 7468 6572 l objects rather │ │ │ │ │ +00010ec0: 2074 6861 6e20 6f6e 652e 0a0a 2020 2044 than one... D │ │ │ │ │ +00010ed0: 6566 696e 6974 696f 6e73 2028 2a4e 6f74 efinitions (*Not │ │ │ │ │ +00010ee0: 6520 4465 6669 6e69 7469 6f6e 733a 3a2e e Definitions::. │ │ │ │ │ +00010ef0: 2920 2069 6e73 6964 6520 6120 626c 6f63 ) inside a bloc │ │ │ │ │ +00010f00: 6b20 6861 7665 20e2 809c 6c65 7869 6361 k have ...lexica │ │ │ │ │ +00010f10: 6c0a 7363 6f70 65e2 809d 2065 7874 656e l.scope... exten │ │ │ │ │ +00010f20: 6469 6e67 2066 726f 6d20 7468 6520 706c ding from the pl │ │ │ │ │ +00010f30: 6163 6520 6f66 2064 6566 696e 6974 696f ace of definitio │ │ │ │ │ +00010f40: 6e20 746f 2074 6865 2065 6e64 206f 6620 n to the end of │ │ │ │ │ +00010f50: 7468 6520 626c 6f63 6b2e 0a0a 1f0a 4669 the block.....Fi │ │ │ │ │ +00010f60: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +00010f70: 2020 4e6f 6465 3a20 5265 7065 6174 732c Node: Repeats, │ │ │ │ │ +00010f80: 2020 4e65 7874 3a20 5075 7473 2c20 2050 Next: Puts, P │ │ │ │ │ +00010f90: 7265 763a 2042 6c6f 636b 732c 2020 5570 rev: Blocks, Up │ │ │ │ │ +00010fa0: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2 │ │ │ │ │ +00010fb0: 2e38 2052 6570 6561 7473 0a2d 2d2d 2d2d .8 Repeats.----- │ │ │ │ │ +00010fc0: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta │ │ │ │ │ +00010fd0: 783a 2a0a 2020 2020 2072 6570 6561 7420 x:*. repeat │ │ │ │ │ +00010fe0: 7b20 4e2c 2054 5f31 2c20 545f 322c 202e { N, T_1, T_2, . │ │ │ │ │ +00010ff0: 2e2e 2c20 545f 5220 7d20 5245 5045 4154 .., T_R } REPEAT │ │ │ │ │ +00011000: 4544 5f4f 424a 4543 540a 5468 6520 7265 ED_OBJECT.The re │ │ │ │ │ +00011010: 7065 6174 206d 616b 6573 204e 2074 7261 peat makes N tra │ │ │ │ │ +00011020: 6e73 666f 726d 6564 2063 6f70 6965 7320 nsformed copies │ │ │ │ │ +00011030: 6f66 2052 4550 4541 5445 445f 4f42 4a45 of REPEATED_OBJE │ │ │ │ │ +00011040: 4354 2028 696e 636c 7564 696e 6720 7468 CT (including th │ │ │ │ │ +00011050: 650a 6f72 6967 696e 616c 292e 2020 5468 e.original). Th │ │ │ │ │ +00011060: 6520 545f 4920 6172 6520 7472 616e 7366 e T_I are transf │ │ │ │ │ +00011070: 6f72 6d73 2e20 2054 6865 206b 2774 6820 orms. The k'th │ │ │ │ │ +00011080: 636f 7079 206f 6620 7468 650a 5245 5045 copy of the.REPE │ │ │ │ │ +00011090: 4154 4544 5f4f 424a 4543 5420 2866 6f72 ATED_OBJECT (for │ │ │ │ │ +000110a0: 206b 3d30 2c31 2c2e 2e2e 2c6e 2d31 2920 k=0,1,...,n-1) │ │ │ │ │ +000110b0: 6973 2070 726f 6475 6365 6420 696e 2074 is produced in t │ │ │ │ │ +000110c0: 6865 2073 616d 6520 6d61 6e6e 6572 2061 he same manner a │ │ │ │ │ +000110d0: 730a 666f 7220 e280 9873 7765 6570 e280 s.for ...sweep.. │ │ │ │ │ +000110e0: 9973 2064 6573 6372 6962 6564 2069 6e20 .s described in │ │ │ │ │ +000110f0: 2a6e 6f74 6520 5377 6565 7073 3a3a 2e20 *note Sweeps::. │ │ │ │ │ +00011100: 2054 6869 7320 6973 2072 6570 6561 7465 This is repeate │ │ │ │ │ +00011110: 6420 6865 7265 2028 6e6f 2070 756e 0a69 d here (no pun.i │ │ │ │ │ +00011120: 6e74 656e 6465 6429 2066 6f72 2063 6f6e ntended) for con │ │ │ │ │ +00011130: 7665 6e69 656e 6365 2e20 2054 6f20 6d61 venience. To ma │ │ │ │ │ +00011140: 6b65 2074 6865 206b 2774 6820 636f 7079 ke the k'th copy │ │ │ │ │ +00011150: 2c20 7468 6520 666f 6c6c 6f77 696e 670a , the following. │ │ │ │ │ +00011160: 7472 616e 7366 6f72 6d20 6973 2061 7070 transform is app │ │ │ │ │ +00011170: 6c69 6564 2074 6f20 7468 6520 6f72 6967 lied to the orig │ │ │ │ │ +00011180: 696e 616c 206f 626a 6563 742e 0a20 2020 inal object.. │ │ │ │ │ +00011190: 2020 545f 315e 6b20 7468 656e 2054 5f32 T_1^k then T_2 │ │ │ │ │ +000111a0: 5e6b 2074 6865 6e20 2e2e 2e20 7468 656e ^k then ... then │ │ │ │ │ +000111b0: 2054 5f52 5e6b 0a48 6572 6520 545e 6b20 T_R^k.Here T^k │ │ │ │ │ +000111c0: 6d65 616e 7320 2274 7261 6e73 666f 726d means "transform │ │ │ │ │ +000111d0: 2054 2061 7070 6c69 6564 206b 2074 696d T applied k tim │ │ │ │ │ +000111e0: 6573 2e22 0a0a 1f0a 4669 6c65 3a20 736b es."....File: sk │ │ │ │ │ +000111f0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +00011200: 3a20 5075 7473 2c20 2050 7265 763a 2052 : Puts, Prev: R │ │ │ │ │ +00011210: 6570 6561 7473 2c20 2055 703a 2044 7261 epeats, Up: Dra │ │ │ │ │ +00011220: 7761 626c 6573 0a0a 332e 322e 3920 5075 wables..3.2.9 Pu │ │ │ │ │ +00011230: 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a ts.----------..* │ │ │ │ │ +00011240: 5379 6e74 6178 3a2a 0a20 2020 2020 7075 Syntax:*. pu │ │ │ │ │ +00011250: 7420 7b20 5420 7d20 5055 545f 4f42 4a45 t { T } PUT_OBJE │ │ │ │ │ +00011260: 4354 0a50 7574 206d 6572 656c 7920 6170 CT.Put merely ap │ │ │ │ │ +00011270: 706c 6965 7320 7472 616e 7366 6f72 6d20 plies transform │ │ │ │ │ +00011280: 5420 746f 2074 6865 2064 7261 7761 626c T to the drawabl │ │ │ │ │ +00011290: 6520 5055 545f 4f42 4a45 4354 2e0a 0a1f e PUT_OBJECT.... │ │ │ │ │ +000112a0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +000112b0: 666f 2c20 204e 6f64 653a 2044 6566 696e fo, Node: Defin │ │ │ │ │ +000112c0: 6974 696f 6e73 2c20 204e 6578 743a 2047 itions, Next: G │ │ │ │ │ +000112d0: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ +000112e0: 742c 2020 5072 6576 3a20 4472 6177 6162 t, Prev: Drawab │ │ │ │ │ +000112f0: 6c65 732c 2020 5570 3a20 496e 7075 7420 les, Up: Input │ │ │ │ │ +00011300: 6c61 6e67 7561 6765 0a0a 332e 3320 4465 language..3.3 De │ │ │ │ │ +00011310: 6669 6e69 7469 6f6e 730a 3d3d 3d3d 3d3d finitions.====== │ │ │ │ │ +00011320: 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 6566 696e =========..Defin │ │ │ │ │ +00011330: 6974 696f 6e73 2067 6976 6520 6e61 6d65 itions give name │ │ │ │ │ +00011340: 7320 746f 20e2 8098 736b 6574 6368 e280 s to ...sketch.. │ │ │ │ │ +00011350: 9920 6f62 6a65 6374 732e 2020 4465 6669 . objects. Defi │ │ │ │ │ +00011360: 6e69 7469 6f6e 7320 616c 6f6e 6520 6172 nitions alone ar │ │ │ │ │ +00011370: 650a 6265 6e69 676e 2e20 2041 20e2 8098 e.benign. A ... │ │ │ │ │ +00011380: 736b 6574 6368 e280 9920 696e 7075 7420 sketch... input │ │ │ │ │ +00011390: 6669 6c65 2063 6f6e 7369 7374 696e 6720 file consisting │ │ │ │ │ +000113a0: 656e 7469 7265 6c79 206f 6620 6465 6669 entirely of defi │ │ │ │ │ +000113b0: 6e69 7469 6f6e 7320 7769 6c6c 0a67 656e nitions will.gen │ │ │ │ │ +000113c0: 6572 6174 6520 6e6f 2064 7261 7769 6e67 erate no drawing │ │ │ │ │ +000113d0: 2e20 204f 6e6c 7920 7768 656e 2064 6566 . Only when def │ │ │ │ │ +000113e0: 696e 6974 696f 6e73 2061 7265 20e2 809c initions are ... │ │ │ │ │ +000113f0: 7265 6665 7265 6e63 6564 e280 9d20 646f referenced... do │ │ │ │ │ +00011400: 2074 6865 790a 706f 7465 6e74 6961 6c6c they.potentiall │ │ │ │ │ +00011410: 7920 6c65 6164 2074 6f20 696e 6b20 6f6e y lead to ink on │ │ │ │ │ +00011420: 2074 6865 2064 7261 7769 6e67 2e0a 0a20 the drawing... │ │ │ │ │ +00011430: 2020 5468 6520 696e 7465 6e74 206f 6620 The intent of │ │ │ │ │ +00011440: 6465 6669 6e69 7469 6f6e 7320 6973 2074 definitions is t │ │ │ │ │ +00011450: 6f20 6d61 6b65 20e2 8098 736b 6574 6368 o make ...sketch │ │ │ │ │ +00011460: e280 9920 636f 6465 206d 6f72 6520 636f ... code more co │ │ │ │ │ +00011470: 6e63 6973 6520 616e 640a 7265 6164 6162 ncise and.readab │ │ │ │ │ +00011480: 6c65 2e20 2054 6865 7265 2069 7320 6e6f le. There is no │ │ │ │ │ +00011490: 2069 6e70 7574 2066 696c 6520 656d 706c input file empl │ │ │ │ │ +000114a0: 6f79 696e 6720 6465 6669 6e69 7469 6f6e oying definition │ │ │ │ │ +000114b0: 7320 7468 6174 2063 6f75 6c64 206e 6f74 s that could not │ │ │ │ │ +000114c0: 0a62 6520 7265 2d77 7269 7474 656e 2077 .be re-written w │ │ │ │ │ +000114d0: 6974 686f 7574 2074 6865 6d2e 0a0a 2020 ithout them... │ │ │ │ │ +000114e0: 2044 6566 696e 6162 6c65 206f 626a 6563 Definable objec │ │ │ │ │ +000114f0: 7473 2069 6e63 6c75 6465 2061 6e79 2072 ts include any r │ │ │ │ │ +00011500: 6573 756c 7420 6f66 2061 6e20 6166 6669 esult of an affi │ │ │ │ │ +00011510: 6e65 2061 7269 7468 6d65 7469 630a 6578 ne arithmetic.ex │ │ │ │ │ +00011520: 7072 6573 7369 6f6e 2028 7363 616c 6172 pression (scalar │ │ │ │ │ +00011530: 2c20 706f 696e 742c 2076 6563 746f 722c , point, vector, │ │ │ │ │ +00011540: 206f 7220 7472 616e 7366 6f72 6d29 2c20 or transform), │ │ │ │ │ +00011550: 616e 7920 6472 6177 6162 6c65 206f 626a any drawable obj │ │ │ │ │ +00011560: 6563 740a 2864 6f74 732c 206c 696e 652c ect.(dots, line, │ │ │ │ │ +00011570: 2063 7572 7665 2c20 706f 6c79 676f 6e2c curve, polygon, │ │ │ │ │ +00011580: 2062 6c6f 636b 2c20 7377 6565 702c 2070 block, sweep, p │ │ │ │ │ +00011590: 7574 2c20 7265 7065 6174 2c20 6f72 2073 ut, repeat, or s │ │ │ │ │ +000115a0: 7065 6369 616c 292c 2061 6e64 0a6f 7074 pecial), and.opt │ │ │ │ │ +000115b0: 696f 6e20 7374 7269 6e67 732e 2020 496e ion strings. In │ │ │ │ │ +000115c0: 2061 6464 6974 696f 6e2c 20e2 809c 7461 addition, ...ta │ │ │ │ │ +000115d0: 6720 6465 6669 6e69 7469 6f6e 73e2 809d g definitions... │ │ │ │ │ +000115e0: 2c20 7768 6963 6820 6861 7665 206e 6f0a , which have no. │ │ │ │ │ +000115f0: 6173 736f 6369 6174 6564 206f 626a 6563 associated objec │ │ │ │ │ +00011600: 7420 6174 2061 6c6c 2c20 616c 6c6f 7720 t at all, allow │ │ │ │ │ +00011610: 7468 6520 6d65 616e 696e 6720 6f66 206f the meaning of o │ │ │ │ │ +00011620: 7468 6572 2064 6566 696e 6974 696f 6e73 ther definitions │ │ │ │ │ +00011630: 2074 6f20 6265 0a73 656c 6563 7465 6420 to be.selected │ │ │ │ │ +00011640: 6672 6f6d 2061 2073 6574 206f 6620 616c from a set of al │ │ │ │ │ +00011650: 7465 726e 6174 6976 6573 2e20 2053 696e ternatives. Sin │ │ │ │ │ +00011660: 6365 2074 6167 7320 6d61 7920 6265 2064 ce tags may be d │ │ │ │ │ +00011670: 6566 696e 6564 2028 616e 640a 756e 6465 efined (and.unde │ │ │ │ │ +00011680: 6669 6e65 6429 2069 6e20 7468 6520 636f fined) in the co │ │ │ │ │ +00011690: 6d6d 616e 6420 6c69 6e65 206f 6620 e280 mmand line of .. │ │ │ │ │ +000116a0: 9873 6b65 7463 68e2 8099 2c20 7468 6579 .sketch..., they │ │ │ │ │ +000116b0: 2063 616e 2062 6520 616e 2061 6964 2069 can be an aid i │ │ │ │ │ +000116c0: 6e20 7468 650a 7363 7269 7074 2d64 7269 n the.script-dri │ │ │ │ │ +000116d0: 7665 6e20 7072 6570 6172 6174 696f 6e20 ven preparation │ │ │ │ │ +000116e0: 6f66 2064 6f63 756d 656e 7473 2e0a 0a2a of documents...* │ │ │ │ │ +000116f0: 204d 656e 753a 0a0a 2a20 466f 726d 7320 Menu:..* Forms │ │ │ │ │ +00011700: 6f66 2064 6566 696e 6974 696f 6e73 3a3a of definitions:: │ │ │ │ │ +00011710: 2020 2020 2020 2020 4469 6666 6572 656e Differen │ │ │ │ │ +00011720: 7420 6465 6673 2066 6f72 2064 6966 6665 t defs for diffe │ │ │ │ │ +00011730: 7265 6e74 2070 7572 706f 7365 732e 0a2a rent purposes..* │ │ │ │ │ +00011740: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere │ │ │ │ │ +00011750: 6e63 6573 3a3a 2020 2020 2020 2020 2048 nces:: H │ │ │ │ │ +00011760: 6f77 2072 6566 6572 656e 6365 7320 6465 ow references de │ │ │ │ │ +00011770: 6e6f 7465 2074 7970 6573 2e0a 0a1f 0a46 note types.....F │ │ │ │ │ +00011780: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +00011790: 2c20 204e 6f64 653a 2046 6f72 6d73 206f , Node: Forms o │ │ │ │ │ +000117a0: 6620 6465 6669 6e69 7469 6f6e 732c 2020 f definitions, │ │ │ │ │ +000117b0: 4e65 7874 3a20 466f 726d 7320 6f66 2072 Next: Forms of r │ │ │ │ │ +000117c0: 6566 6572 656e 6365 732c 2020 5072 6576 eferences, Prev │ │ │ │ │ +000117d0: 3a20 4465 6669 6e69 7469 6f6e 732c 2020 : Definitions, │ │ │ │ │ +000117e0: 5570 3a20 4465 6669 6e69 7469 6f6e 730a Up: Definitions. │ │ │ │ │ +000117f0: 0a33 2e33 2e31 2046 6f72 6d73 206f 6620 .3.3.1 Forms of │ │ │ │ │ +00011800: 6465 6669 6e69 7469 6f6e 730a 2d2d 2d2d definitions.---- │ │ │ │ │ 00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00011820: 2d2d 0a0a 4465 6669 6e69 7469 6f6e 7320 --..Definitions │ │ │ │ │ -00011830: 6861 7665 2074 6872 6565 2070 6f73 7369 have three possi │ │ │ │ │ -00011840: 626c 6520 666f 726d 732c 20e2 809c 7369 ble forms, ...si │ │ │ │ │ -00011850: 6d70 6c65 e280 9d2c 20e2 809c 7769 7468 mple..., ...with │ │ │ │ │ -00011860: 2061 6c74 6572 6e61 7469 7665 73e2 809d alternatives... │ │ │ │ │ -00011870: 2c0a 616e 6420 e280 9c74 6167 e280 9d20 ,.and ...tag... │ │ │ │ │ -00011880: 6173 2073 686f 776e 2068 6572 6520 696e as shown here in │ │ │ │ │ -00011890: 206f 7264 6572 2e0a 0a2a 5379 6e74 6178 order...*Syntax │ │ │ │ │ -000118a0: 3a2a 0a20 2020 2020 6465 6620 4944 204f :*. def ID O │ │ │ │ │ -000118b0: 424a 4543 5420 2025 2073 696d 706c 6520 BJECT % simple │ │ │ │ │ -000118c0: 6465 660a 2020 2020 2064 6566 2049 4420 def. def ID │ │ │ │ │ -000118d0: 3c54 4147 5f31 3e20 4f42 4a45 4354 5f31 OBJECT_1 │ │ │ │ │ -000118e0: 2020 2520 6465 6620 7769 7468 2061 6c74 % def with alt │ │ │ │ │ -000118f0: 6572 6e61 7469 7665 730a 2020 2020 2020 ernatives. │ │ │ │ │ -00011900: 2020 2020 2020 3c54 4147 5f32 3e20 4f42 OB │ │ │ │ │ -00011910: 4a45 4354 5f32 0a20 2020 2020 2020 2020 JECT_2. │ │ │ │ │ -00011920: 2020 202e 2e2e 0a20 2020 2020 2020 2020 .... │ │ │ │ │ -00011930: 2020 203c 3e20 4445 4641 554c 545f 4f42 <> DEFAULT_OB │ │ │ │ │ -00011940: 4a45 4354 0a20 2020 2020 6465 6620 4944 JECT. def ID │ │ │ │ │ -00011950: 203c 3e20 2025 2074 6167 2064 6566 0a54 <> % tag def.T │ │ │ │ │ -00011960: 6865 2073 696d 706c 6520 6465 6669 6e69 he simple defini │ │ │ │ │ -00011970: 7469 6f6e 206d 6572 656c 7920 6173 736f tion merely asso │ │ │ │ │ -00011980: 6369 6174 6573 204f 424a 4543 5420 7769 ciates OBJECT wi │ │ │ │ │ -00011990: 7468 2074 6865 2069 6465 6e74 6966 6965 th the identifie │ │ │ │ │ -000119a0: 7220 4944 2e0a 0a20 2020 5468 6520 6465 r ID... The de │ │ │ │ │ -000119b0: 6669 6e69 7469 6f6e 2077 6974 6820 616c finition with al │ │ │ │ │ -000119c0: 7465 726e 6174 6976 6573 2061 7373 6f63 ternatives assoc │ │ │ │ │ -000119d0: 6961 7465 7320 4f42 4a45 4354 5f49 2077 iates OBJECT_I w │ │ │ │ │ -000119e0: 6974 6820 4944 2c20 7768 6572 650a 5441 ith ID, where.TA │ │ │ │ │ -000119f0: 475f 4920 6973 2074 6865 2066 6972 7374 G_I is the first │ │ │ │ │ -00011a00: 2064 6566 696e 6564 2074 6167 2069 6e20 defined tag in │ │ │ │ │ -00011a10: 7468 6520 6c69 7374 206f 6620 616c 7465 the list of alte │ │ │ │ │ -00011a20: 726e 6174 6976 6520 7461 670a 7265 6665 rnative tag.refe │ │ │ │ │ -00011a30: 7265 6e63 6573 2e20 2049 6620 6e6f 2074 rences. If no t │ │ │ │ │ -00011a40: 6167 2069 6e20 7468 6520 6c69 7374 2069 ag in the list i │ │ │ │ │ -00011a50: 7320 6465 6669 6e65 642c 2074 6865 6e20 s defined, then │ │ │ │ │ -00011a60: 4445 4641 554c 545f 4f42 4a45 4354 2069 DEFAULT_OBJECT i │ │ │ │ │ -00011a70: 730a 6173 736f 6369 6174 6564 2077 6974 s.associated wit │ │ │ │ │ -00011a80: 6820 6964 656e 7469 6669 6572 2049 442e h identifier ID. │ │ │ │ │ -00011a90: 0a0a 2020 2054 6865 2066 696e 616c 2066 .. The final f │ │ │ │ │ -00011aa0: 6f72 6d20 6465 6669 6e65 7320 4944 2061 orm defines ID a │ │ │ │ │ -00011ab0: 7320 6120 7461 672e 2020 416e 6f74 6865 s a tag. Anothe │ │ │ │ │ -00011ac0: 7220 7761 7920 746f 2064 6566 696e 6520 r way to define │ │ │ │ │ -00011ad0: 6120 7461 6720 6973 0a77 6974 6820 7468 a tag is.with th │ │ │ │ │ -00011ae0: 6520 e280 982d 44e2 8099 2063 6f6d 6d61 e ...-D... comma │ │ │ │ │ -00011af0: 6e64 206c 696e 6520 6f70 7469 6f6e 2e20 nd line option. │ │ │ │ │ -00011b00: 202a 4e6f 7465 2043 6f6d 6d61 6e64 206c *Note Command l │ │ │ │ │ -00011b10: 696e 653a 3a2e 0a0a 1f0a 4669 6c65 3a20 ine::.....File: │ │ │ │ │ -00011b20: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00011b30: 6465 3a20 466f 726d 7320 6f66 2072 6566 de: Forms of ref │ │ │ │ │ -00011b40: 6572 656e 6365 732c 2020 5072 6576 3a20 erences, Prev: │ │ │ │ │ -00011b50: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit │ │ │ │ │ -00011b60: 696f 6e73 2c20 2055 703a 2044 6566 696e ions, Up: Defin │ │ │ │ │ -00011b70: 6974 696f 6e73 0a0a 332e 332e 3220 466f itions..3.3.2 Fo │ │ │ │ │ -00011b80: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ -00011b90: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.-------------- │ │ │ │ │ -00011ba0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a52 6566 -----------..Ref │ │ │ │ │ -00011bb0: 6572 656e 6365 7320 746f 2064 6566 696e erences to defin │ │ │ │ │ -00011bc0: 6564 206e 616d 6573 2061 7265 2065 6e63 ed names are enc │ │ │ │ │ -00011bd0: 6c6f 7365 6420 696e 2062 7261 636b 6574 losed in bracket │ │ │ │ │ -00011be0: 696e 6720 6465 6c69 6d69 7465 7273 2e20 ing delimiters. │ │ │ │ │ -00011bf0: 2054 6865 0a64 656c 696d 6974 6572 2063 The.delimiter c │ │ │ │ │ -00011c00: 6861 7261 6374 6572 7320 696d 706c 7920 haracters imply │ │ │ │ │ -00011c10: 7468 6520 7479 7065 206f 6620 7468 6520 the type of the │ │ │ │ │ -00011c20: 6173 736f 6369 6174 6564 2076 616c 7565 associated value │ │ │ │ │ -00011c30: 2061 7320 7368 6f77 6e20 696e 0a74 6865 as shown in.the │ │ │ │ │ -00011c40: 2074 6162 6c65 2062 656c 6f77 2e20 2041 table below. A │ │ │ │ │ -00011c50: 2074 7970 6520 6572 726f 7220 6973 2072 type error is r │ │ │ │ │ -00011c60: 6169 7365 6420 6966 2074 6865 2074 7970 aised if the typ │ │ │ │ │ -00011c70: 6520 6f66 2061 2072 6566 6572 656e 6365 e of a reference │ │ │ │ │ -00011c80: 2064 6f65 730a 6e6f 7420 6d61 7463 6820 does.not match │ │ │ │ │ -00011c90: 7468 6520 7479 7065 206f 6620 7468 6520 the type of the │ │ │ │ │ -00011ca0: 6465 6669 6e65 6420 7661 6c75 652e 2020 defined value. │ │ │ │ │ -00011cb0: 5468 6520 696e 7465 6e74 206f 6620 7468 The intent of th │ │ │ │ │ -00011cc0: 6973 206d 6563 6861 6e69 736d 0a69 732c is mechanism.is, │ │ │ │ │ -00011cd0: 2061 6761 696e 2c20 746f 206d 616b 6520 again, to make │ │ │ │ │ -00011ce0: e280 9873 6b65 7463 68e2 8099 2069 6e70 ...sketch... inp │ │ │ │ │ -00011cf0: 7574 2066 696c 6573 206d 6f72 6520 7265 ut files more re │ │ │ │ │ -00011d00: 6164 6162 6c65 2e0a 5479 7065 2020 2020 adable..Type │ │ │ │ │ -00011d10: 2020 2020 5265 6665 7265 6e63 650a 2d2d Reference.-- │ │ │ │ │ -00011d20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00011820: 2d2d 2d2d 2d2d 0a0a 4465 6669 6e69 7469 ------..Definiti │ │ │ │ │ +00011830: 6f6e 7320 6861 7665 2074 6872 6565 2070 ons have three p │ │ │ │ │ +00011840: 6f73 7369 626c 6520 666f 726d 732c 20e2 ossible forms, . │ │ │ │ │ +00011850: 809c 7369 6d70 6c65 e280 9d2c 20e2 809c ..simple..., ... │ │ │ │ │ +00011860: 7769 7468 2061 6c74 6572 6e61 7469 7665 with alternative │ │ │ │ │ +00011870: 73e2 809d 2c0a 616e 6420 e280 9c74 6167 s...,.and ...tag │ │ │ │ │ +00011880: e280 9d20 6173 2073 686f 776e 2068 6572 ... as shown her │ │ │ │ │ +00011890: 6520 696e 206f 7264 6572 2e0a 0a2a 5379 e in order...*Sy │ │ │ │ │ +000118a0: 6e74 6178 3a2a 0a20 2020 2020 6465 6620 ntax:*. def │ │ │ │ │ +000118b0: 4944 204f 424a 4543 5420 2025 2073 696d ID OBJECT % sim │ │ │ │ │ +000118c0: 706c 6520 6465 660a 2020 2020 2064 6566 ple def. def │ │ │ │ │ +000118d0: 2049 4420 3c54 4147 5f31 3e20 4f42 4a45 ID OBJE │ │ │ │ │ +000118e0: 4354 5f31 2020 2520 6465 6620 7769 7468 CT_1 % def with │ │ │ │ │ +000118f0: 2061 6c74 6572 6e61 7469 7665 730a 2020 alternatives. │ │ │ │ │ +00011900: 2020 2020 2020 2020 2020 3c54 4147 5f32 OBJECT_2. │ │ │ │ │ +00011920: 2020 2020 2020 202e 2e2e 0a20 2020 2020 .... │ │ │ │ │ +00011930: 2020 2020 2020 203c 3e20 4445 4641 554c <> DEFAUL │ │ │ │ │ +00011940: 545f 4f42 4a45 4354 0a20 2020 2020 6465 T_OBJECT. de │ │ │ │ │ +00011950: 6620 4944 203c 3e20 2025 2074 6167 2064 f ID <> % tag d │ │ │ │ │ +00011960: 6566 0a54 6865 2073 696d 706c 6520 6465 ef.The simple de │ │ │ │ │ +00011970: 6669 6e69 7469 6f6e 206d 6572 656c 7920 finition merely │ │ │ │ │ +00011980: 6173 736f 6369 6174 6573 204f 424a 4543 associates OBJEC │ │ │ │ │ +00011990: 5420 7769 7468 2074 6865 2069 6465 6e74 T with the ident │ │ │ │ │ +000119a0: 6966 6965 7220 4944 2e0a 0a20 2020 5468 ifier ID... Th │ │ │ │ │ +000119b0: 6520 6465 6669 6e69 7469 6f6e 2077 6974 e definition wit │ │ │ │ │ +000119c0: 6820 616c 7465 726e 6174 6976 6573 2061 h alternatives a │ │ │ │ │ +000119d0: 7373 6f63 6961 7465 7320 4f42 4a45 4354 ssociates OBJECT │ │ │ │ │ +000119e0: 5f49 2077 6974 6820 4944 2c20 7768 6572 _I with ID, wher │ │ │ │ │ +000119f0: 650a 5441 475f 4920 6973 2074 6865 2066 e.TAG_I is the f │ │ │ │ │ +00011a00: 6972 7374 2064 6566 696e 6564 2074 6167 irst defined tag │ │ │ │ │ +00011a10: 2069 6e20 7468 6520 6c69 7374 206f 6620 in the list of │ │ │ │ │ +00011a20: 616c 7465 726e 6174 6976 6520 7461 670a alternative tag. │ │ │ │ │ +00011a30: 7265 6665 7265 6e63 6573 2e20 2049 6620 references. If │ │ │ │ │ +00011a40: 6e6f 2074 6167 2069 6e20 7468 6520 6c69 no tag in the li │ │ │ │ │ +00011a50: 7374 2069 7320 6465 6669 6e65 642c 2074 st is defined, t │ │ │ │ │ +00011a60: 6865 6e20 4445 4641 554c 545f 4f42 4a45 hen DEFAULT_OBJE │ │ │ │ │ +00011a70: 4354 2069 730a 6173 736f 6369 6174 6564 CT is.associated │ │ │ │ │ +00011a80: 2077 6974 6820 6964 656e 7469 6669 6572 with identifier │ │ │ │ │ +00011a90: 2049 442e 0a0a 2020 2054 6865 2066 696e ID... The fin │ │ │ │ │ +00011aa0: 616c 2066 6f72 6d20 6465 6669 6e65 7320 al form defines │ │ │ │ │ +00011ab0: 4944 2061 7320 6120 7461 672e 2020 416e ID as a tag. An │ │ │ │ │ +00011ac0: 6f74 6865 7220 7761 7920 746f 2064 6566 other way to def │ │ │ │ │ +00011ad0: 696e 6520 6120 7461 6720 6973 0a77 6974 ine a tag is.wit │ │ │ │ │ +00011ae0: 6820 7468 6520 e280 982d 44e2 8099 2063 h the ...-D... c │ │ │ │ │ +00011af0: 6f6d 6d61 6e64 206c 696e 6520 6f70 7469 ommand line opti │ │ │ │ │ +00011b00: 6f6e 2e20 202a 4e6f 7465 2043 6f6d 6d61 on. *Note Comma │ │ │ │ │ +00011b10: 6e64 206c 696e 653a 3a2e 0a0a 1f0a 4669 nd line::.....Fi │ │ │ │ │ +00011b20: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +00011b30: 2020 4e6f 6465 3a20 466f 726d 7320 6f66 Node: Forms of │ │ │ │ │ +00011b40: 2072 6566 6572 656e 6365 732c 2020 5072 references, Pr │ │ │ │ │ +00011b50: 6576 3a20 466f 726d 7320 6f66 2064 6566 ev: Forms of def │ │ │ │ │ +00011b60: 696e 6974 696f 6e73 2c20 2055 703a 2044 initions, Up: D │ │ │ │ │ +00011b70: 6566 696e 6974 696f 6e73 0a0a 332e 332e efinitions..3.3. │ │ │ │ │ +00011b80: 3220 466f 726d 7320 6f66 2072 6566 6572 2 Forms of refer │ │ │ │ │ +00011b90: 656e 6365 730a 2d2d 2d2d 2d2d 2d2d 2d2d ences.---------- │ │ │ │ │ +00011ba0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +00011bb0: 0a52 6566 6572 656e 6365 7320 746f 2064 .References to d │ │ │ │ │ +00011bc0: 6566 696e 6564 206e 616d 6573 2061 7265 efined names are │ │ │ │ │ +00011bd0: 2065 6e63 6c6f 7365 6420 696e 2062 7261 enclosed in bra │ │ │ │ │ +00011be0: 636b 6574 696e 6720 6465 6c69 6d69 7465 cketing delimite │ │ │ │ │ +00011bf0: 7273 2e20 2054 6865 0a64 656c 696d 6974 rs. The.delimit │ │ │ │ │ +00011c00: 6572 2063 6861 7261 6374 6572 7320 696d er characters im │ │ │ │ │ +00011c10: 706c 7920 7468 6520 7479 7065 206f 6620 ply the type of │ │ │ │ │ +00011c20: 7468 6520 6173 736f 6369 6174 6564 2076 the associated v │ │ │ │ │ +00011c30: 616c 7565 2061 7320 7368 6f77 6e20 696e alue as shown in │ │ │ │ │ +00011c40: 0a74 6865 2074 6162 6c65 2062 656c 6f77 .the table below │ │ │ │ │ +00011c50: 2e20 2041 2074 7970 6520 6572 726f 7220 . A type error │ │ │ │ │ +00011c60: 6973 2072 6169 7365 6420 6966 2074 6865 is raised if the │ │ │ │ │ +00011c70: 2074 7970 6520 6f66 2061 2072 6566 6572 type of a refer │ │ │ │ │ +00011c80: 656e 6365 2064 6f65 730a 6e6f 7420 6d61 ence does.not ma │ │ │ │ │ +00011c90: 7463 6820 7468 6520 7479 7065 206f 6620 tch the type of │ │ │ │ │ +00011ca0: 7468 6520 6465 6669 6e65 6420 7661 6c75 the defined valu │ │ │ │ │ +00011cb0: 652e 2020 5468 6520 696e 7465 6e74 206f e. The intent o │ │ │ │ │ +00011cc0: 6620 7468 6973 206d 6563 6861 6e69 736d f this mechanism │ │ │ │ │ +00011cd0: 0a69 732c 2061 6761 696e 2c20 746f 206d .is, again, to m │ │ │ │ │ +00011ce0: 616b 6520 e280 9873 6b65 7463 68e2 8099 ake ...sketch... │ │ │ │ │ +00011cf0: 2069 6e70 7574 2066 696c 6573 206d 6f72 input files mor │ │ │ │ │ +00011d00: 6520 7265 6164 6162 6c65 2e0a 5479 7065 e readable..Type │ │ │ │ │ +00011d10: 2020 2020 2020 2020 5265 6665 7265 6e63 Referenc │ │ │ │ │ +00011d20: 650a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e.-------------- │ │ │ │ │ 00011d30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00011d40: 2d2d 2d2d 2d2d 2d2d 0a73 6361 6c61 7220 --------.scalar │ │ │ │ │ -00011d50: 2020 2020 20e2 8098 4944 e280 990a 706f ...ID....po │ │ │ │ │ -00011d60: 696e 7420 2020 2020 2020 e280 9828 4944 int ...(ID │ │ │ │ │ -00011d70: 29e2 8099 0a76 6563 746f 7220 2020 2020 )....vector │ │ │ │ │ -00011d80: 20e2 8098 5b49 445d e280 990a 7472 616e ...[ID]....tran │ │ │ │ │ -00011d90: 7366 6f72 6d20 2020 e280 985b 5b49 445d sform ...[[ID] │ │ │ │ │ -00011da0: 5de2 8099 0a64 7261 7761 626c 6520 2020 ]....drawable │ │ │ │ │ -00011db0: 20e2 8098 7b49 447d e280 990a 6f70 7469 ...{ID}....opti │ │ │ │ │ -00011dc0: 6f6e 7320 2020 2020 e280 985b 4944 5de2 ons ...[ID]. │ │ │ │ │ -00011dd0: 8099 206f 7220 e280 985b 4944 312c 2e2e .. or ...[ID1,.. │ │ │ │ │ -00011de0: 2e2c 4944 4e5d e280 990a 7461 6720 2020 .,IDN]....tag │ │ │ │ │ -00011df0: 2020 2020 2020 e280 983c 4944 3ee2 8099 ...... │ │ │ │ │ -00011e00: 0a0a 4e6f 7465 2074 6861 7420 7371 7561 ..Note that squa │ │ │ │ │ -00011e10: 7265 2062 7261 636b 6574 7320 e280 985b re brackets ...[ │ │ │ │ │ -00011e20: 205d e280 9920 6172 6520 7573 6564 2062 ]... are used b │ │ │ │ │ -00011e30: 6f74 6820 666f 7220 7665 6374 6f72 2061 oth for vector a │ │ │ │ │ -00011e40: 6e64 2066 6f72 206f 7074 696f 6e73 0a72 nd for options.r │ │ │ │ │ -00011e50: 6566 6572 656e 6365 732e 2020 4465 7461 eferences. Deta │ │ │ │ │ -00011e60: 696c 7320 6f66 20e2 8098 736b 6574 6368 ils of ...sketch │ │ │ │ │ -00011e70: e280 9920 7379 6e74 6178 206d 616b 6520 ... syntax make │ │ │ │ │ -00011e80: 6974 2069 6d70 6f73 7369 626c 6520 666f it impossible fo │ │ │ │ │ -00011e90: 7220 7468 6573 6520 7477 6f0a 7265 6665 r these two.refe │ │ │ │ │ -00011ea0: 7265 6e63 6520 7479 7065 7320 746f 2062 rence types to b │ │ │ │ │ -00011eb0: 6520 636f 6e66 7573 6564 2e20 2054 6865 e confused. The │ │ │ │ │ -00011ec0: 2073 7065 6369 616c 206d 756c 7469 706c special multipl │ │ │ │ │ -00011ed0: 6520 7265 6665 7265 6e63 650a e280 985b e reference....[ │ │ │ │ │ -00011ee0: 4944 312c 4944 322c 2e2e 2e2c 4944 4e5d ID1,ID2,...,IDN] │ │ │ │ │ -00011ef0: e280 9920 6163 7473 2061 7320 6966 2074 ... acts as if t │ │ │ │ │ -00011f00: 6865 2072 6573 7065 6374 6976 6520 6c69 he respective li │ │ │ │ │ -00011f10: 7374 7320 6f66 206f 7074 696f 6e73 2077 sts of options w │ │ │ │ │ -00011f20: 6572 650a 636f 6e63 6174 656e 6174 6564 ere.concatenated │ │ │ │ │ -00011f30: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -00011f40: 682e 696e 666f 2c20 204e 6f64 653a 2047 h.info, Node: G │ │ │ │ │ -00011f50: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ -00011f60: 742c 2020 5072 6576 3a20 4465 6669 6e69 t, Prev: Defini │ │ │ │ │ -00011f70: 7469 6f6e 732c 2020 5570 3a20 496e 7075 tions, Up: Inpu │ │ │ │ │ -00011f80: 7420 6c61 6e67 7561 6765 0a0a 332e 3420 t language..3.4 │ │ │ │ │ -00011f90: 476c 6f62 616c 2065 6e76 6972 6f6e 6d65 Global environme │ │ │ │ │ -00011fa0: 6e74 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d nt.============= │ │ │ │ │ -00011fb0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 6e20 6f70 =========..An op │ │ │ │ │ -00011fc0: 7469 6f6e 616c 2067 6c6f 6261 6c20 656e tional global en │ │ │ │ │ -00011fd0: 7669 726f 6e6d 656e 7420 626c 6f63 6b20 vironment block │ │ │ │ │ -00011fe0: 7072 6f76 6964 6573 2061 2066 6577 2077 provides a few w │ │ │ │ │ -00011ff0: 6179 7320 746f 2061 6666 6563 7420 7468 ays to affect th │ │ │ │ │ -00012000: 650a 656e 7469 7265 2073 6365 6e65 2e20 e.entire scene. │ │ │ │ │ -00012010: 2054 6865 2062 6c6f 636b 206d 7573 7420 The block must │ │ │ │ │ -00012020: 6170 7065 6172 2061 7320 7468 6520 6c61 appear as the la │ │ │ │ │ -00012030: 7374 2074 6578 7420 696e 2074 6865 20e2 st text in the . │ │ │ │ │ -00012040: 8098 736b 6574 6368 e280 990a 696e 7075 ..sketch....inpu │ │ │ │ │ -00012050: 7420 6669 6c65 2e20 2049 7420 6d61 7920 t file. It may │ │ │ │ │ -00012060: 696e 636c 7564 6520 6465 6669 6e69 7469 include definiti │ │ │ │ │ -00012070: 6f6e 732c 2062 7574 206e 6f74 6520 7468 ons, but note th │ │ │ │ │ -00012080: 6174 2070 7265 7669 6f75 730a 6465 6669 at previous.defi │ │ │ │ │ -00012090: 6e69 7469 6f6e 7320 6174 2074 6865 2074 nitions at the t │ │ │ │ │ -000120a0: 6f70 206c 6576 656c 2028 6e6f 7420 6e65 op level (not ne │ │ │ │ │ -000120b0: 7374 6564 2069 6e73 6964 6520 626c 6f63 sted inside bloc │ │ │ │ │ -000120c0: 6b73 2920 6172 6520 616c 736f 0a61 7661 ks) are also.ava │ │ │ │ │ -000120d0: 696c 6162 6c65 2e0a 0a2a 5379 6e74 6178 ilable...*Syntax │ │ │ │ │ -000120e0: 3a2a 0a20 2020 2020 676c 6f62 616c 207b :*. global { │ │ │ │ │ -000120f0: 2045 4e56 4952 4f4e 4d45 4e54 5f53 4554 ENVIRONMENT_SET │ │ │ │ │ -00012100: 5449 4e47 5320 7d0a 5468 6520 636f 6e74 TINGS }.The cont │ │ │ │ │ -00012110: 656e 7473 206f 6620 454e 5649 524f 4e4d ents of ENVIRONM │ │ │ │ │ -00012120: 454e 545f 5345 5454 494e 4753 2061 7265 ENT_SETTINGS are │ │ │ │ │ -00012130: 2064 6973 6375 7373 6564 2069 6e20 7468 discussed in th │ │ │ │ │ -00012140: 6520 7365 6374 696f 6e73 2074 6861 740a e sections that. │ │ │ │ │ -00012150: 666f 6c6c 6f77 2e0a 0a2a 204d 656e 753a follow...* Menu: │ │ │ │ │ -00012160: 0a0a 2a20 476c 6f62 616c 206f 7074 696f ..* Global optio │ │ │ │ │ -00012170: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ -00012180: 2020 4174 7472 6962 7574 6573 206f 6620 Attributes of │ │ │ │ │ -00012190: 7468 6520 656e 7469 7265 2064 7261 7769 the entire drawi │ │ │ │ │ -000121a0: 6e67 2e0a 2a20 4361 6d65 7261 3a3a 2020 ng..* Camera:: │ │ │ │ │ -000121b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000121c0: 2020 2020 4120 6669 6e61 6c20 6361 6d65 A final came │ │ │ │ │ -000121d0: 7261 2074 7261 6e73 666f 726d 6174 696f ra transformatio │ │ │ │ │ -000121e0: 6e20 6f66 2074 6865 2073 6365 6e65 2e0a n of the scene.. │ │ │ │ │ -000121f0: 2a20 5069 6374 7572 6520 626f 783a 3a20 * Picture box:: │ │ │ │ │ -00012200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012210: 5365 7474 696e 6720 7468 6520 626f 756e Setting the boun │ │ │ │ │ -00012220: 6469 6e67 2062 6f78 2061 6e64 2032 6420 ding box and 2d │ │ │ │ │ -00012230: 636c 6970 7069 6e67 2e0a 2a20 4672 616d clipping..* Fram │ │ │ │ │ -00012240: 653a 3a20 2020 2020 2020 2020 2020 2020 e:: │ │ │ │ │ -00012250: 2020 2020 2020 2020 2020 4164 6469 6e67 Adding │ │ │ │ │ -00012260: 2061 2062 6f78 2061 726f 756e 6420 7468 a box around th │ │ │ │ │ -00012270: 6520 6472 6177 696e 672e 0a2a 204c 616e e drawing..* Lan │ │ │ │ │ -00012280: 6775 6167 653a 3a20 2020 2020 2020 2020 guage:: │ │ │ │ │ -00012290: 2020 2020 2020 2020 2020 2053 6574 7469 Setti │ │ │ │ │ -000122a0: 6e67 2074 6865 206f 7574 7075 7420 6c61 ng the output la │ │ │ │ │ -000122b0: 6e67 7561 6765 2e0a 0a1f 0a46 696c 653a nguage.....File: │ │ │ │ │ -000122c0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -000122d0: 6f64 653a 2047 6c6f 6261 6c20 6f70 7469 ode: Global opti │ │ │ │ │ -000122e0: 6f6e 732c 2020 4e65 7874 3a20 4361 6d65 ons, Next: Came │ │ │ │ │ -000122f0: 7261 2c20 2050 7265 763a 2047 6c6f 6261 ra, Prev: Globa │ │ │ │ │ -00012300: 6c20 656e 7669 726f 6e6d 656e 742c 2020 l environment, │ │ │ │ │ -00012310: 5570 3a20 476c 6f62 616c 2065 6e76 6972 Up: Global envir │ │ │ │ │ -00012320: 6f6e 6d65 6e74 0a0a 332e 342e 3120 476c onment..3.4.1 Gl │ │ │ │ │ -00012330: 6f62 616c 206f 7074 696f 6e73 0a2d 2d2d obal options.--- │ │ │ │ │ -00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00012350: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. │ │ │ │ │ -00012360: 2020 7365 7420 5b20 4f50 5449 4f4e 5320 set [ OPTIONS │ │ │ │ │ -00012370: 5d0a 5468 6520 636f 6e74 656e 7473 206f ].The contents o │ │ │ │ │ -00012380: 6620 4f50 5449 4f4e 532c 2065 7863 6570 f OPTIONS, excep │ │ │ │ │ -00012390: 7420 666f 7220 e280 9873 6b65 7463 68e2 t for ...sketch. │ │ │ │ │ -000123a0: 8099 2069 6e74 6572 6e61 6c20 6f70 7469 .. internal opti │ │ │ │ │ -000123b0: 6f6e 732c 2061 7265 0a63 6f70 6965 6420 ons, are.copied │ │ │ │ │ -000123c0: 6173 2d69 7320 746f 2061 205c 7073 7365 as-is to a \psse │ │ │ │ │ -000123d0: 7420 7468 6174 2061 7070 6561 7273 2062 t that appears b │ │ │ │ │ -000123e0: 6566 6f72 6520 616e 7974 6869 6e67 2065 efore anything e │ │ │ │ │ -000123f0: 6c73 6520 696e 2074 6865 206f 7574 7075 lse in the outpu │ │ │ │ │ -00012400: 740a 6669 6c65 2e20 2054 6869 7320 6973 t.file. This is │ │ │ │ │ -00012410: 2061 2067 6f6f 6420 706c 6163 6520 746f a good place to │ │ │ │ │ -00012420: 2073 6574 20e2 8098 756e 6974 e280 992c set ...unit..., │ │ │ │ │ -00012430: 2061 2064 6566 6175 6c74 20e2 8098 6c69 a default ...li │ │ │ │ │ -00012440: 6e65 7769 6474 68e2 8099 2c20 6574 632e newidth..., etc. │ │ │ │ │ -00012450: 0a0a 2020 2049 6e74 6572 6e61 6c20 6f70 .. Internal op │ │ │ │ │ -00012460: 7469 6f6e 7320 776f 726b 206f 6e20 616c tions work on al │ │ │ │ │ -00012470: 6c20 6f62 6a65 6374 7320 7768 6572 6520 l objects where │ │ │ │ │ -00012480: 7468 6579 206d 616b 6520 7365 6e73 652e they make sense. │ │ │ │ │ -00012490: 2020 5468 6973 0a69 6e63 6c75 6465 7320 This.includes │ │ │ │ │ -000124a0: e280 9863 756c 6ce2 8099 2061 6e64 20e2 ...cull... and . │ │ │ │ │ -000124b0: 8098 7370 6c69 74e2 8099 2028 6275 7420 ..split... (but │ │ │ │ │ -000124c0: 6e6f 7420 e280 986c 6179 e280 9929 2e20 not ...lay...). │ │ │ │ │ -000124d0: 202a 4e6f 7465 2049 6e74 6572 6e61 6c20 *Note Internal │ │ │ │ │ -000124e0: 6f70 7469 6f6e 733a 3a2e 0a0a 1f0a 4669 options::.....Fi │ │ │ │ │ -000124f0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00012500: 2020 4e6f 6465 3a20 4361 6d65 7261 2c20 Node: Camera, │ │ │ │ │ -00012510: 204e 6578 743a 2050 6963 7475 7265 2062 Next: Picture b │ │ │ │ │ -00012520: 6f78 2c20 2050 7265 763a 2047 6c6f 6261 ox, Prev: Globa │ │ │ │ │ -00012530: 6c20 6f70 7469 6f6e 732c 2020 5570 3a20 l options, Up: │ │ │ │ │ -00012540: 476c 6f62 616c 2065 6e76 6972 6f6e 6d65 Global environme │ │ │ │ │ -00012550: 6e74 0a0a 332e 342e 3220 4361 6d65 7261 nt..3.4.2 Camera │ │ │ │ │ -00012560: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a .------------..* │ │ │ │ │ -00012570: 5379 6e74 6178 3a2a 0a20 2020 2020 6361 Syntax:*. ca │ │ │ │ │ -00012580: 6d65 7261 2054 5241 4e53 464f 524d 5f45 mera TRANSFORM_E │ │ │ │ │ -00012590: 5850 5245 5353 494f 4e0a 2020 2054 6865 XPRESSION. The │ │ │ │ │ -000125a0: 2054 5241 4e53 464f 524d 5f45 5850 5245 TRANSFORM_EXPRE │ │ │ │ │ -000125b0: 5353 494f 4e20 6973 2061 7070 6c69 6564 SSION is applied │ │ │ │ │ -000125c0: 2061 6674 6572 2061 6c6c 206f 7468 6572 after all other │ │ │ │ │ -000125d0: 2074 7261 6e73 666f 726d 6174 696f 6e73 transformations │ │ │ │ │ -000125e0: 0a6f 6620 7468 6520 7363 656e 652e 2020 .of the scene. │ │ │ │ │ -000125f0: 5468 6973 2069 7320 6375 7272 656e 746c This is currentl │ │ │ │ │ -00012600: 7920 6f6e 6c79 2075 7365 6675 6c20 666f y only useful fo │ │ │ │ │ -00012610: 7220 7472 616e 7366 6f72 6d69 6e67 2074 r transforming t │ │ │ │ │ -00012620: 6865 0a62 6f75 6e64 696e 6720 626f 782e he.bounding box. │ │ │ │ │ -00012630: 2020 2a4e 6f74 6520 5069 6374 7572 6520 *Note Picture │ │ │ │ │ -00012640: 626f 783a 3a2e 2020 4974 2077 696c 6c20 box::. It will │ │ │ │ │ -00012650: 706c 6179 2061 2072 6f6c 6520 696e 2061 play a role in a │ │ │ │ │ -00012660: 6e79 2066 7574 7572 650a 696d 706c 656d ny future.implem │ │ │ │ │ -00012670: 656e 7461 7469 6f6e 206f 6620 636c 6970 entation of clip │ │ │ │ │ -00012680: 7069 6e67 2e0a 0a1f 0a46 696c 653a 2073 ping.....File: s │ │ │ │ │ -00012690: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -000126a0: 653a 2050 6963 7475 7265 2062 6f78 2c20 e: Picture box, │ │ │ │ │ -000126b0: 204e 6578 743a 2046 7261 6d65 2c20 2050 Next: Frame, P │ │ │ │ │ -000126c0: 7265 763a 2043 616d 6572 612c 2020 5570 rev: Camera, Up │ │ │ │ │ -000126d0: 3a20 476c 6f62 616c 2065 6e76 6972 6f6e : Global environ │ │ │ │ │ -000126e0: 6d65 6e74 0a0a 332e 342e 3320 5069 6374 ment..3.4.3 Pict │ │ │ │ │ -000126f0: 7572 6520 626f 780a 2d2d 2d2d 2d2d 2d2d ure box.-------- │ │ │ │ │ -00012700: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt │ │ │ │ │ -00012710: 6178 3a2a 0a20 2020 2020 7069 6374 7572 ax:*. pictur │ │ │ │ │ -00012720: 6562 6f78 5b42 4153 454c 494e 455d 0a20 ebox[BASELINE]. │ │ │ │ │ -00012730: 2020 2020 7069 6374 7572 6562 6f78 5b42 picturebox[B │ │ │ │ │ -00012740: 4153 454c 494e 455d 2028 5031 2928 5032 ASELINE] (P1)(P2 │ │ │ │ │ -00012750: 290a 5468 6520 6669 7273 7420 666f 726d ).The first form │ │ │ │ │ -00012760: 206f 6620 e280 9870 6963 7475 7265 626f of ...picturebo │ │ │ │ │ -00012770: 78e2 8099 2063 6175 7365 7320 6120 7363 x... causes a sc │ │ │ │ │ -00012780: 616c 6172 2042 4153 454c 494e 4520 6672 alar BASELINE fr │ │ │ │ │ -00012790: 6163 7469 6f6e 2074 6f20 6265 0a65 6d69 action to be.emi │ │ │ │ │ -000127a0: 7474 6564 2069 6e20 7468 6520 e280 9870 tted in the ...p │ │ │ │ │ -000127b0: 7370 6963 7475 7265 e280 9920 656e 7669 spicture... envi │ │ │ │ │ -000127c0: 726f 6e6d 656e 7420 6f66 2074 6865 206f ronment of the o │ │ │ │ │ -000127d0: 7574 7075 742e 2020 5365 6520 e280 9850 utput. See ...P │ │ │ │ │ -000127e0: 5354 7269 636b 73e2 8099 0a64 6f63 756d STricks....docum │ │ │ │ │ -000127f0: 656e 7461 7469 6f6e 2066 6f72 20e2 8098 entation for ... │ │ │ │ │ -00012800: 7073 7069 6374 7572 65e2 8099 2e0a 0a20 pspicture...... │ │ │ │ │ -00012810: 2020 496e 2074 6865 2073 6563 6f6e 6420 In the second │ │ │ │ │ -00012820: 666f 726d 2c20 7468 6520 4241 5345 4c49 form, the BASELI │ │ │ │ │ -00012830: 4e45 2066 7261 6374 696f 6e20 6973 206f NE fraction is o │ │ │ │ │ -00012840: 7074 696f 6e61 6c2c 2061 6e64 2074 6865 ptional, and the │ │ │ │ │ -00012850: 2074 776f 0a70 6f69 6e74 7320 7468 6174 two.points that │ │ │ │ │ -00012860: 2066 6f6c 6c6f 7720 6465 6669 6e65 2074 follow define t │ │ │ │ │ -00012870: 6865 2064 6961 676f 6e61 6c20 6f66 2061 he diagonal of a │ │ │ │ │ -00012880: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension │ │ │ │ │ -00012890: 616c 2062 6f75 6e64 696e 670a 626f 7820 al bounding.box │ │ │ │ │ -000128a0: 666f 7220 7468 6520 636f 6d70 6c65 7465 for the complete │ │ │ │ │ -000128b0: 6420 7363 656e 652e 2020 5468 6520 7061 d scene. The pa │ │ │ │ │ -000128c0: 7261 6c6c 656c 2070 726f 6a65 6374 696f rallel projectio │ │ │ │ │ -000128d0: 6e20 6f66 2074 6865 2062 6f75 6e64 696e n of the boundin │ │ │ │ │ -000128e0: 670a 626f 7820 6465 7465 726d 696e 6573 g.box determines │ │ │ │ │ -000128f0: 2074 6865 2063 6f72 6e65 7273 206f 6620 the corners of │ │ │ │ │ -00012900: 7468 6520 6472 6177 696e 6727 7320 e280 the drawing's .. │ │ │ │ │ -00012910: 9870 7370 6963 7475 7265 2ae2 8099 2065 .pspicture*... e │ │ │ │ │ -00012920: 6e76 6972 6f6e 6d65 6e74 2c0a 7768 6963 nvironment,.whic │ │ │ │ │ -00012930: 6820 6973 2075 7365 6420 696e 2070 6c61 h is used in pla │ │ │ │ │ -00012940: 6365 206f 6620 e280 9870 7370 6963 7475 ce of ...pspictu │ │ │ │ │ -00012950: 7265 e280 992e 2020 5468 6973 2063 6175 re.... This cau │ │ │ │ │ -00012960: 7365 7320 506f 7374 5363 7269 7074 2074 ses PostScript t │ │ │ │ │ -00012970: 6f20 636c 6970 0a74 6865 2066 696e 616c o clip.the final │ │ │ │ │ -00012980: 2064 7261 7769 6e67 2074 6f20 7468 6520 drawing to the │ │ │ │ │ -00012990: 626f 756e 6469 6e67 2062 6f78 2069 6e20 bounding box in │ │ │ │ │ -000129a0: 3264 2e20 2049 6620 7468 6572 6520 6973 2d. If there is │ │ │ │ │ -000129b0: 2061 20e2 8098 6361 6d65 7261 e280 990a a ...camera.... │ │ │ │ │ -000129c0: 7370 6563 6966 6965 642c 2074 6865 2063 specified, the c │ │ │ │ │ -000129d0: 616d 6572 6120 7472 616e 666f 726d 6174 amera tranformat │ │ │ │ │ -000129e0: 696f 6e20 6973 2061 7070 6c69 6564 2074 ion is applied t │ │ │ │ │ -000129f0: 6f20 7468 6520 626f 756e 6469 6e67 2062 o the bounding b │ │ │ │ │ -00012a00: 6f78 2c20 616e 640a 7468 6520 e280 9870 ox, and.the ...p │ │ │ │ │ -00012a10: 7370 6963 7475 7265 e280 9920 6973 2073 spicture... is s │ │ │ │ │ -00012a20: 6574 206a 7573 7420 6c61 7267 6520 656e et just large en │ │ │ │ │ -00012a30: 6f75 6768 2074 6f20 696e 636c 7564 6520 ough to include │ │ │ │ │ -00012a40: 7468 6520 7472 616e 7366 6f72 6d65 6420 the transformed │ │ │ │ │ -00012a50: 626f 782e 0a0a 2020 2057 6865 6e20 6e6f box... When no │ │ │ │ │ -00012a60: 2062 6f75 6e64 696e 6720 626f 7820 6973 bounding box is │ │ │ │ │ -00012a70: 2067 6976 656e 2c20 e280 9873 6b65 7463 given, ...sketc │ │ │ │ │ -00012a80: 68e2 8099 2063 6f6d 7075 7465 7320 6f6e h... computes on │ │ │ │ │ -00012a90: 6520 6175 746f 6d61 7469 6361 6c6c 792e e automatically. │ │ │ │ │ -00012aa0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -00012ab0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4672 .info, Node: Fr │ │ │ │ │ -00012ac0: 616d 652c 2020 4e65 7874 3a20 4c61 6e67 ame, Next: Lang │ │ │ │ │ -00012ad0: 7561 6765 2c20 2050 7265 763a 2050 6963 uage, Prev: Pic │ │ │ │ │ -00012ae0: 7475 7265 2062 6f78 2c20 2055 703a 2047 ture box, Up: G │ │ │ │ │ -00012af0: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ -00012b00: 740a 0a33 2e34 2e34 2046 7261 6d65 0a2d t..3.4.4 Frame.- │ │ │ │ │ -00012b10: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn │ │ │ │ │ -00012b20: 7461 783a 2a0a 2020 2020 2066 7261 6d65 tax:*. frame │ │ │ │ │ -00012b30: 205b 4f50 5449 4f4e 535d 0a43 6175 7365 [OPTIONS].Cause │ │ │ │ │ -00012b40: 7320 6120 5c70 7366 7261 6d65 626f 7820 s a \psframebox │ │ │ │ │ -00012b50: 746f 2073 7572 726f 756e 6420 7468 6520 to surround the │ │ │ │ │ -00012b60: e280 9870 7370 6963 7475 7265 e280 9920 ...pspicture... │ │ │ │ │ -00012b70: 656e 7669 726f 6e6d 656e 7420 696e 2074 environment in t │ │ │ │ │ -00012b80: 6865 0a6f 7574 7075 742e 2020 4966 204f he.output. If O │ │ │ │ │ -00012b90: 5054 494f 4e53 2061 7265 2070 7265 7365 PTIONS are prese │ │ │ │ │ -00012ba0: 6e74 2c20 7468 6579 2061 7265 2063 6f70 nt, they are cop │ │ │ │ │ -00012bb0: 6965 6420 6173 2d69 732e 2020 4e6f 726d ied as-is. Norm │ │ │ │ │ -00012bc0: 616c 6c79 206f 6e65 0a77 6f75 6c64 2077 ally one.would w │ │ │ │ │ -00012bd0: 616e 7420 746f 2073 6574 20e2 8098 6c69 ant to set ...li │ │ │ │ │ -00012be0: 6e65 7769 6474 68e2 8099 2c20 e280 986c newidth..., ...l │ │ │ │ │ -00012bf0: 696e 6573 7479 6c65 e280 992c 20e2 8098 inestyle..., ... │ │ │ │ │ -00012c00: 6c69 6e65 636f 6c6f 72e2 8099 2c20 6574 linecolor..., et │ │ │ │ │ -00012c10: 632e 2020 4966 0a6f 6d69 7474 6564 2c20 c. If.omitted, │ │ │ │ │ -00012c20: 7468 656e 20e2 8098 6672 616d 6573 6570 then ...framesep │ │ │ │ │ -00012c30: 3d30 7074 e280 9920 6973 2061 6464 6564 =0pt... is added │ │ │ │ │ -00012c40: 2073 6f20 7468 6174 2074 6865 2066 7261 so that the fra │ │ │ │ │ -00012c50: 6d65 2074 6967 6874 6c79 2068 7567 7320 me tightly hugs │ │ │ │ │ -00012c60: 7468 650a e280 9870 7370 6963 7475 7265 the....pspicture │ │ │ │ │ -00012c70: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk │ │ │ │ │ -00012c80: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00012c90: 3a20 4c61 6e67 7561 6765 2c20 2050 7265 : Language, Pre │ │ │ │ │ -00012ca0: 763a 2046 7261 6d65 2c20 2055 703a 2047 v: Frame, Up: G │ │ │ │ │ -00012cb0: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ -00012cc0: 740a 0a33 2e34 2e35 204c 616e 6775 6167 t..3.4.5 Languag │ │ │ │ │ -00012cd0: 650a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e.-------------- │ │ │ │ │ -00012ce0: 0a0a 2020 2020 206c 616e 6775 6167 6520 .. language │ │ │ │ │ -00012cf0: 7469 6b7a 0a20 2020 2020 6c61 6e67 7561 tikz. langua │ │ │ │ │ -00012d00: 6765 2074 696b 7a2c 2063 6f6e 7465 7874 ge tikz, context │ │ │ │ │ -00012d10: 0a20 2020 2020 6c61 6e67 7561 6765 2070 . language p │ │ │ │ │ -00012d20: 7374 7269 636b 730a 2020 2020 206c 616e stricks. lan │ │ │ │ │ -00012d30: 6775 6167 6520 7073 7472 6963 6b73 2c20 guage pstricks, │ │ │ │ │ -00012d40: 6c61 7465 780a 5365 7473 2074 6865 206f latex.Sets the o │ │ │ │ │ -00012d50: 7574 7075 7420 6c61 6e67 7561 6765 2067 utput language g │ │ │ │ │ -00012d60: 656e 6572 6174 6564 2062 7920 e280 9873 enerated by ...s │ │ │ │ │ -00012d70: 6b65 7463 68e2 8099 2e20 2054 6865 2073 ketch.... The s │ │ │ │ │ -00012d80: 6574 206f 6620 6f70 7469 6f6e 730a 756e et of options.un │ │ │ │ │ -00012d90: 6465 7273 746f 6f64 2062 7920 736b 6574 derstood by sket │ │ │ │ │ -00012da0: 6368 2061 6c73 6f20 6368 616e 6765 732e ch also changes. │ │ │ │ │ -00012db0: 2020 466f 7220 6578 616d 706c 652c 2074 For example, t │ │ │ │ │ -00012dc0: 6865 20e2 8098 5053 5472 6963 6b73 e280 he ...PSTricks.. │ │ │ │ │ -00012dd0: 9920 6f70 7469 6f6e 0ae2 8098 6c69 6e65 . option....line │ │ │ │ │ -00012de0: 7769 6474 68e2 8099 2077 696c 6c20 6e6f width... will no │ │ │ │ │ -00012df0: 7420 6265 2070 726f 7065 726c 7920 6861 t be properly ha │ │ │ │ │ -00012e00: 6e64 6c65 6420 6966 20e2 8098 6c61 6e67 ndled if ...lang │ │ │ │ │ -00012e10: 7561 6765 e280 9920 6973 2073 6574 2074 uage... is set t │ │ │ │ │ -00012e20: 6f20 e280 9874 696b 7ae2 8099 2e0a 5369 o ...tikz.....Si │ │ │ │ │ -00012e30: 6d69 6c61 726c 792c 2074 6865 20e2 8098 milarly, the ... │ │ │ │ │ -00012e40: 5469 6b5a e280 9920 6f70 7469 6f6e 20e2 TikZ... option . │ │ │ │ │ -00012e50: 8098 6c69 6e65 2073 7479 6c65 e280 9920 ..line style... │ │ │ │ │ -00012e60: 286e 6f74 6520 7468 6520 7370 6163 6529 (note the space) │ │ │ │ │ -00012e70: 2077 696c 6c20 6e6f 7420 6265 0a70 726f will not be.pro │ │ │ │ │ -00012e80: 7065 726c 7920 6861 6e64 6c65 6420 6966 perly handled if │ │ │ │ │ -00012e90: 20e2 8098 6c61 6e67 7561 6765 e280 9920 ...language... │ │ │ │ │ -00012ea0: 6973 2073 6574 2074 6f20 e280 9870 7374 is set to ...pst │ │ │ │ │ -00012eb0: 7269 636b 73e2 8099 2e20 2049 6620 6e6f ricks.... If no │ │ │ │ │ -00012ec0: 206c 616e 6775 6167 6520 6973 0a73 7065 language is.spe │ │ │ │ │ -00012ed0: 6369 6669 6564 2c20 7468 6520 6465 6661 cified, the defa │ │ │ │ │ -00012ee0: 756c 7420 e280 9870 7374 7269 636b 73e2 ult ...pstricks. │ │ │ │ │ -00012ef0: 8099 2069 7320 7573 6564 2e0a 0a20 2020 .. is used... │ │ │ │ │ -00012f00: 416e 206f 7074 696f 6e61 6c20 636f 6d6d An optional comm │ │ │ │ │ -00012f10: 6120 666f 6c6c 6f77 6564 2062 7920 e280 a followed by .. │ │ │ │ │ -00012f20: 986c 6174 6578 e280 9920 6f72 20e2 8098 .latex... or ... │ │ │ │ │ -00012f30: 636f 6e74 6578 74e2 8099 2073 7065 6369 context... speci │ │ │ │ │ -00012f40: 6669 6573 2074 6865 0a6d 6163 726f 2070 fies the.macro p │ │ │ │ │ -00012f50: 6163 6b61 6765 2074 6861 7420 7468 6520 ackage that the │ │ │ │ │ -00012f60: 6f75 7470 7574 2073 686f 756c 6420 6173 output should as │ │ │ │ │ -00012f70: 7375 6d65 2e20 2054 6869 7320 6166 6665 sume. This affe │ │ │ │ │ -00012f80: 6374 7320 7468 6520 e280 9870 6963 7475 cts the ...pictu │ │ │ │ │ -00012f90: 7265 e280 990a 656e 7669 726f 6e6d 656e re....environmen │ │ │ │ │ -00012fa0: 7420 636f 6d6d 616e 6473 2065 6d69 7474 t commands emitt │ │ │ │ │ -00012fb0: 6564 2061 6e64 2074 6865 2064 6f63 756d ed and the docum │ │ │ │ │ -00012fc0: 656e 7420 7465 6d70 6c61 7465 2075 7365 ent template use │ │ │ │ │ -00012fd0: 6420 7769 7468 2074 6865 0ae2 8098 2d54 d with the....-T │ │ │ │ │ -00012fe0: e280 9920 6f70 7469 6f6e 2e20 202a 4e6f ... option. *No │ │ │ │ │ -00012ff0: 7465 2043 6f6d 6d61 6e64 206c 696e 653a te Command line: │ │ │ │ │ -00013000: 3a2e 2020 4e6f 7465 2074 6861 7420 6174 :. Note that at │ │ │ │ │ -00013010: 2074 6865 2074 696d 6520 7468 6973 206d the time this m │ │ │ │ │ -00013020: 616e 7561 6c0a 7761 7320 6765 6e65 7261 anual.was genera │ │ │ │ │ -00013030: 7465 642c 20e2 8098 5053 5472 6963 6b73 ted, ...PSTricks │ │ │ │ │ -00013040: e280 9920 7761 7320 6e6f 7420 7375 7070 ... was not supp │ │ │ │ │ -00013050: 6f72 7465 6420 6279 204c 6154 6558 206f orted by LaTeX o │ │ │ │ │ -00013060: 7220 6279 20e2 8098 436f 6e54 6558 74e2 r by ...ConTeXt. │ │ │ │ │ -00013070: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske │ │ │ │ │ -00013080: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -00013090: 2042 7569 6c64 696e 6720 6120 6472 6177 Building a draw │ │ │ │ │ -000130a0: 696e 672c 2020 4e65 7874 3a20 436f 6d6d ing, Next: Comm │ │ │ │ │ -000130b0: 616e 6420 6c69 6e65 2c20 2050 7265 763a and line, Prev: │ │ │ │ │ -000130c0: 2049 6e70 7574 206c 616e 6775 6167 652c Input language, │ │ │ │ │ -000130d0: 2020 5570 3a20 546f 700a 0a34 2042 7569 Up: Top..4 Bui │ │ │ │ │ -000130e0: 6c64 696e 6720 6120 6472 6177 696e 670a lding a drawing. │ │ │ │ │ -000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -00013100: 2a2a 2a2a 0a0a 5375 6363 6573 7366 756c ****..Successful │ │ │ │ │ -00013110: 2064 7261 7769 6e67 7320 7769 7468 20e2 drawings with . │ │ │ │ │ -00013120: 8098 736b 6574 6368 e280 9920 616e 6420 ..sketch... and │ │ │ │ │ -00013130: 7769 7468 2061 6e79 2073 6365 6e65 2064 with any scene d │ │ │ │ │ -00013140: 6573 6372 6970 7469 6f6e 0a6c 616e 6775 escription.langu │ │ │ │ │ -00013150: 6167 6520 7265 7175 6972 6520 7468 6174 age require that │ │ │ │ │ -00013160: 2074 6865 2075 7365 7220 6465 7665 6c6f the user develo │ │ │ │ │ -00013170: 7020 616e 2061 6363 7572 6174 6520 6d65 p an accurate me │ │ │ │ │ -00013180: 6e74 616c 2070 6963 7475 7265 206f 6620 ntal picture of │ │ │ │ │ -00013190: 6865 720a 636f 6465 2061 6e64 2069 7473 her.code and its │ │ │ │ │ -000131a0: 206d 6561 6e69 6e67 2e20 2054 6869 7320 meaning. This │ │ │ │ │ -000131b0: 696d 6167 6520 6973 2062 6573 7420 6275 image is best bu │ │ │ │ │ -000131c0: 696c 7420 696e 2073 6d61 6c6c 2070 6965 ilt in small pie │ │ │ │ │ -000131d0: 6365 732e 0a54 6865 7265 666f 7265 2c20 ces..Therefore, │ │ │ │ │ -000131e0: e280 9873 6b65 7463 68e2 8099 2069 6e70 ...sketch... inp │ │ │ │ │ -000131f0: 7574 7320 6172 6520 6265 7374 2063 7265 uts are best cre │ │ │ │ │ -00013200: 6174 6564 2069 6e20 736d 616c 6c20 696e ated in small in │ │ │ │ │ -00013210: 6372 656d 656e 7473 2077 6974 680a 6672 crements with.fr │ │ │ │ │ -00013220: 6571 7565 6e74 2070 6175 7365 7320 746f equent pauses to │ │ │ │ │ -00013230: 2063 6f6d 7069 6c65 2061 6e64 2076 6965 compile and vie │ │ │ │ │ -00013240: 7720 7468 6520 7265 7375 6c74 732e 2020 w the results. │ │ │ │ │ -00013250: 4361 7265 6675 6c20 636f 6d6d 656e 7473 Careful comments │ │ │ │ │ -00013260: 2069 6e0a 7468 6520 696e 7075 7420 6f66 in.the input of │ │ │ │ │ -00013270: 7465 6e20 6865 6c70 2061 7320 6120 7363 ten help as a sc │ │ │ │ │ -00013280: 656e 6520 6772 6f77 7320 696e 2063 6f6d ene grows in com │ │ │ │ │ -00013290: 706c 6578 6974 792e 0a0a 2a20 4d65 6e75 plexity...* Menu │ │ │ │ │ -000132a0: 3a0a 0a2a 204f 7665 7276 6965 773a 3a20 :..* Overview:: │ │ │ │ │ -000132b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000132c0: 2020 2042 7569 6c64 696e 6720 6120 7375 Building a su │ │ │ │ │ -000132d0: 6273 7461 6e74 6961 6c20 6472 6177 696e bstantial drawin │ │ │ │ │ -000132e0: 672e 0a2a 2041 2074 6563 686e 6963 616c g..* A technical │ │ │ │ │ -000132f0: 2064 7261 7769 6e67 3a3a 2020 2020 2020 drawing:: │ │ │ │ │ -00013300: 2020 2041 6e20 6578 616d 706c 6520 7769 An example wi │ │ │ │ │ -00013310: 7468 2066 696e 6520 706c 6163 656d 656e th fine placemen │ │ │ │ │ -00013320: 742e 0a2a 2041 2068 6965 7261 7263 6869 t..* A hierarchi │ │ │ │ │ -00013330: 6361 6c20 6d6f 6465 6c3a 3a20 2020 2020 cal model:: │ │ │ │ │ -00013340: 2020 2041 6e20 6578 616d 706c 6520 7769 An example wi │ │ │ │ │ -00013350: 7468 2073 7765 6570 7320 616e 6420 7075 th sweeps and pu │ │ │ │ │ -00013360: 7473 2e0a 2a20 4361 7665 6174 733a 3a20 ts..* Caveats:: │ │ │ │ │ -00013370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00013380: 2020 2020 5768 6572 6520 7472 6f75 626c Where troubl │ │ │ │ │ -00013390: 6520 6361 6e20 6f63 6375 722e 0a0a 1f0a e can occur..... │ │ │ │ │ -000133a0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -000133b0: 6f2c 2020 4e6f 6465 3a20 4f76 6572 7669 o, Node: Overvi │ │ │ │ │ -000133c0: 6577 2c20 204e 6578 743a 2041 2074 6563 ew, Next: A tec │ │ │ │ │ -000133d0: 686e 6963 616c 2064 7261 7769 6e67 2c20 hnical drawing, │ │ │ │ │ -000133e0: 2050 7265 763a 2042 7569 6c64 696e 6720 Prev: Building │ │ │ │ │ -000133f0: 6120 6472 6177 696e 672c 2020 5570 3a20 a drawing, Up: │ │ │ │ │ -00013400: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi │ │ │ │ │ -00013410: 6e67 0a0a 342e 3120 4f76 6572 7669 6577 ng..4.1 Overview │ │ │ │ │ -00013420: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 .============..A │ │ │ │ │ -00013430: 7320 616e 206f 7665 7276 6965 772c 206c s an overview, l │ │ │ │ │ -00013440: 6574 2773 2064 6576 656c 6f70 2061 2064 et's develop a d │ │ │ │ │ -00013450: 6961 6772 616d 2074 6861 7420 7368 6f77 iagram that show │ │ │ │ │ -00013460: 7320 686f 7720 6120 7065 7273 7065 6374 s how a perspect │ │ │ │ │ -00013470: 6976 650a 7072 6f6a 6563 7469 6f6e 2074 ive.projection t │ │ │ │ │ -00013480: 7261 6e73 666f 726d 2077 6f72 6b73 2e20 ransform works. │ │ │ │ │ -00013490: 2057 6527 6c6c 2073 7461 7274 2077 6974 We'll start wit │ │ │ │ │ -000134a0: 6820 7468 6520 7472 6164 6974 696f 6e61 h the traditiona │ │ │ │ │ -000134b0: 6c20 7265 6665 7265 6e63 650a 6f62 6a65 l reference.obje │ │ │ │ │ -000134c0: 6374 2075 7365 6420 696e 2063 6f6d 7075 ct used in compu │ │ │ │ │ -000134d0: 7465 7220 6772 6170 6869 6373 2074 6578 ter graphics tex │ │ │ │ │ -000134e0: 7462 6f6f 6b73 2c20 6120 686f 7573 652d tbooks, a house- │ │ │ │ │ -000134f0: 7368 6170 6564 2070 7269 736d 2e20 2042 shaped prism. B │ │ │ │ │ -00013500: 6567 696e 0a62 7920 6465 6669 6e69 6e67 egin.by defining │ │ │ │ │ -00013510: 2074 6865 2070 6f69 6e74 7320 6f66 2074 the points of t │ │ │ │ │ -00013520: 6865 2068 6f75 7365 2e20 2052 6174 6865 he house. Rathe │ │ │ │ │ -00013530: 7220 7468 616e 2064 6566 696e 696e 6720 r than defining │ │ │ │ │ -00013540: 7468 6520 6661 6365 7320 6f66 0a74 6865 the faces of.the │ │ │ │ │ -00013550: 2068 6f75 7365 2061 7320 706f 6c79 676f house as polygo │ │ │ │ │ -00013560: 6e73 2061 6e64 2074 7261 6e73 666f 726d ns and transform │ │ │ │ │ -00013570: 696e 6720 7468 6f73 652c 2077 6520 6172 ing those, we ar │ │ │ │ │ -00013580: 6520 676f 696e 6720 746f 2074 7261 6e73 e going to trans │ │ │ │ │ -00013590: 666f 726d 0a74 6865 2070 6f69 6e74 7320 form.the points │ │ │ │ │ -000135a0: 7468 656d 7365 6c76 6573 2077 6974 6820 themselves with │ │ │ │ │ -000135b0: e280 9873 6b65 7463 68e2 8099 2061 7269 ...sketch... ari │ │ │ │ │ -000135c0: 7468 6d65 7469 6320 736f 2074 6861 7420 thmetic so that │ │ │ │ │ -000135d0: 7765 2068 6176 6520 6e61 6d65 7320 666f we have names fo │ │ │ │ │ -000135e0: 720a 7468 6520 7472 616e 7366 6f72 6d65 r.the transforme │ │ │ │ │ -000135f0: 6420 706f 696e 7473 206c 6174 6572 2e0a d points later.. │ │ │ │ │ -00013600: 2020 2520 7269 6768 7420 7369 6465 2028 % right side ( │ │ │ │ │ -00013610: 6f75 7473 6964 6520 746f 2072 6967 6874 outside to right │ │ │ │ │ -00013620: 290a 2020 6465 6620 5231 2028 312c 312c ). def R1 (1,1, │ │ │ │ │ -00013630: 3129 2064 6566 2052 3220 2831 2c2d 312c 1) def R2 (1,-1, │ │ │ │ │ -00013640: 3129 2064 6566 2052 3320 2831 2c2d 312c 1) def R3 (1,-1, │ │ │ │ │ -00013650: 2d31 2920 6465 6620 5234 2028 312c 312c -1) def R4 (1,1, │ │ │ │ │ -00013660: 2d31 290a 2020 6465 6620 5235 2028 312c -1). def R5 (1, │ │ │ │ │ -00013670: 312e 352c 3029 0a0a 2020 2520 6c65 6674 1.5,0).. % left │ │ │ │ │ -00013680: 2073 6964 6520 286f 7574 7369 6465 2074 side (outside t │ │ │ │ │ -00013690: 6f20 7269 6768 742d 2d62 6163 6b77 6172 o right--backwar │ │ │ │ │ -000136a0: 6429 0a20 2064 6566 2057 2020 5b32 2c30 d). def W [2,0 │ │ │ │ │ -000136b0: 2c30 5d0a 2020 6465 6620 4c31 2028 5231 ,0]. def L1 (R1 │ │ │ │ │ -000136c0: 292d 5b57 5d20 6465 6620 4c32 2028 5232 )-[W] def L2 (R2 │ │ │ │ │ -000136d0: 292d 5b57 5d20 6465 6620 4c33 2028 5233 )-[W] def L3 (R3 │ │ │ │ │ -000136e0: 292d 5b57 5d20 6465 6620 4c34 2028 5234 )-[W] def L4 (R4 │ │ │ │ │ -000136f0: 292d 5b57 5d0a 2020 6465 6620 4c35 2028 )-[W]. def L5 ( │ │ │ │ │ -00013700: 5235 292d 5b57 5d0a 546f 2061 6464 2061 R5)-[W].To add a │ │ │ │ │ -00013710: 2064 6f6f 7220 746f 2074 6865 2068 6f75 door to the hou │ │ │ │ │ -00013720: 7365 2c20 7765 2075 7365 2061 2070 6f6c se, we use a pol │ │ │ │ │ -00013730: 7967 6f6e 2073 6c69 6768 746c 7920 696e ygon slightly in │ │ │ │ │ -00013740: 2066 726f 6e74 206f 6620 7468 650a 666f front of the.fo │ │ │ │ │ -00013750: 7265 6d6f 7374 2066 6163 6520 6f66 2074 remost face of t │ │ │ │ │ -00013760: 6865 2068 6f75 7365 2e0a 2020 2520 646f he house.. % do │ │ │ │ │ -00013770: 6f72 0a20 2064 6566 2065 202e 3031 0a20 or. def e .01. │ │ │ │ │ -00013780: 2064 6566 2044 3120 2830 2c2d 312c 312b def D1 (0,-1,1+ │ │ │ │ │ -00013790: 6529 2064 6566 2044 3220 282e 352c 2d31 e) def D2 (.5,-1 │ │ │ │ │ -000137a0: 2c31 2b65 2920 6465 6620 4433 2028 2e35 ,1+e) def D3 (.5 │ │ │ │ │ -000137b0: 2c30 2c31 2b65 2920 6465 6620 4434 2028 ,0,1+e) def D4 ( │ │ │ │ │ -000137c0: 302c 302c 312b 6529 0a4e 6f77 206c 6574 0,0,1+e).Now let │ │ │ │ │ -000137d0: 2773 2063 7265 6174 6520 6120 6e65 7720 's create a new │ │ │ │ │ -000137e0: 7365 7420 6f66 2070 6f69 6e74 7320 7468 set of points th │ │ │ │ │ -000137f0: 6174 2061 7265 2061 2074 6f2d 6265 2d64 at are a to-be-d │ │ │ │ │ -00013800: 6574 6572 6d69 6e65 640a 7472 616e 7366 etermined.transf │ │ │ │ │ -00013810: 6f72 6d20 6f66 2074 6865 206f 7269 6769 orm of the origi │ │ │ │ │ -00013820: 6e61 6c73 2e0a 2020 6465 6620 6870 2073 nals.. def hp s │ │ │ │ │ -00013830: 6361 6c65 2831 2920 2520 686f 7573 6520 cale(1) % house │ │ │ │ │ -00013840: 706f 7369 7469 6f6e 6572 0a20 2064 6566 positioner. def │ │ │ │ │ -00013850: 2070 5231 205b 5b68 705d 5d2a 2852 3129 pR1 [[hp]]*(R1) │ │ │ │ │ -00013860: 2064 6566 2070 5232 205b 5b68 705d 5d2a def pR2 [[hp]]* │ │ │ │ │ -00013870: 2852 3229 2064 6566 2070 5233 205b 5b68 (R2) def pR3 [[h │ │ │ │ │ -00013880: 705d 5d2a 2852 3329 0a20 2064 6566 2070 p]]*(R3). def p │ │ │ │ │ -00013890: 5234 205b 5b68 705d 5d2a 2852 3429 2064 R4 [[hp]]*(R4) d │ │ │ │ │ -000138a0: 6566 2070 5235 205b 5b68 705d 5d2a 2852 ef pR5 [[hp]]*(R │ │ │ │ │ -000138b0: 3529 0a20 2064 6566 2070 4c31 205b 5b68 5). def pL1 [[h │ │ │ │ │ -000138c0: 705d 5d2a 284c 3129 2064 6566 2070 4c32 p]]*(L1) def pL2 │ │ │ │ │ -000138d0: 205b 5b68 705d 5d2a 284c 3229 2064 6566 [[hp]]*(L2) def │ │ │ │ │ -000138e0: 2070 4c33 205b 5b68 705d 5d2a 284c 3329 pL3 [[hp]]*(L3) │ │ │ │ │ -000138f0: 0a20 2064 6566 2070 4c34 205b 5b68 705d . def pL4 [[hp] │ │ │ │ │ -00013900: 5d2a 284c 3429 2064 6566 2070 4c35 205b ]*(L4) def pL5 [ │ │ │ │ │ -00013910: 5b68 705d 5d2a 284c 3529 0a20 2064 6566 [hp]]*(L5). def │ │ │ │ │ -00013920: 2070 4431 205b 5b68 705d 5d2a 2844 3129 pD1 [[hp]]*(D1) │ │ │ │ │ -00013930: 2064 6566 2070 4432 205b 5b68 705d 5d2a def pD2 [[hp]]* │ │ │ │ │ -00013940: 2844 3229 2064 6566 2070 4433 205b 5b68 (D2) def pD3 [[h │ │ │ │ │ -00013950: 705d 5d2a 2844 3329 0a20 2064 6566 2070 p]]*(D3). def p │ │ │ │ │ -00013960: 4434 205b 5b68 705d 5d2a 2844 3429 200a D4 [[hp]]*(D4) . │ │ │ │ │ -00013970: 4e6f 7465 2074 6865 2075 7365 206f 6620 Note the use of │ │ │ │ │ -00013980: 6120 e280 9c74 7261 6e73 666f 726d 2064 a ...transform d │ │ │ │ │ -00013990: 6566 696e 6974 696f 6ee2 809d 2061 6e64 efinition... and │ │ │ │ │ -000139a0: 20e2 809c 7472 616e 7366 6f72 6d20 7265 ...transform re │ │ │ │ │ -000139b0: 6665 7265 6e63 6573 e280 9d2e 0a4e 6f77 ferences.....Now │ │ │ │ │ -000139c0: 2064 6566 696e 6520 7468 6520 7365 7665 define the seve │ │ │ │ │ -000139d0: 6e20 706f 6c79 676f 6e61 6c20 6661 6365 n polygonal face │ │ │ │ │ -000139e0: 7320 6f66 2074 6865 2068 6f75 7365 2061 s of the house a │ │ │ │ │ -000139f0: 6e64 2074 6865 2064 6f6f 7220 7573 696e nd the door usin │ │ │ │ │ -00013a00: 6720 7468 650a 7472 616e 7366 6f72 6d65 g the.transforme │ │ │ │ │ -00013a10: 6420 706f 696e 7473 2061 7320 7665 7274 d points as vert │ │ │ │ │ -00013a20: 6963 6573 2e20 2042 6520 6361 7265 6675 ices. Be carefu │ │ │ │ │ -00013a30: 6c20 7769 7468 2076 6572 7465 7820 6f72 l with vertex or │ │ │ │ │ -00013a40: 6465 7221 0a20 2064 6566 2072 6774 2070 der!. def rgt p │ │ │ │ │ -00013a50: 6f6c 7967 6f6e 2028 7052 3129 2870 5232 olygon (pR1)(pR2 │ │ │ │ │ -00013a60: 2928 7052 3329 2870 5234 2928 7052 3529 )(pR3)(pR4)(pR5) │ │ │ │ │ -00013a70: 0a20 2064 6566 206c 6674 2070 6f6c 7967 . def lft polyg │ │ │ │ │ -00013a80: 6f6e 2028 704c 3529 2870 4c34 2928 704c on (pL5)(pL4)(pL │ │ │ │ │ -00013a90: 3329 2870 4c32 2928 704c 3129 0a20 2064 3)(pL2)(pL1). d │ │ │ │ │ -00013aa0: 6566 2066 7274 2070 6f6c 7967 6f6e 2028 ef frt polygon ( │ │ │ │ │ -00013ab0: 7052 3229 2870 5231 2928 704c 3129 2870 pR2)(pR1)(pL1)(p │ │ │ │ │ -00013ac0: 4c32 290a 2020 6465 6620 6263 6b20 706f L2). def bck po │ │ │ │ │ -00013ad0: 6c79 676f 6e20 2870 5234 2928 7052 3329 lygon (pR4)(pR3) │ │ │ │ │ -00013ae0: 2870 4c33 2928 704c 3429 0a20 2064 6566 (pL3)(pL4). def │ │ │ │ │ -00013af0: 2074 6672 2070 6f6c 7967 6f6e 2028 7052 tfr polygon (pR │ │ │ │ │ -00013b00: 3129 2870 5235 2928 704c 3529 2870 4c31 1)(pR5)(pL5)(pL1 │ │ │ │ │ -00013b10: 290a 2020 6465 6620 7462 6b20 706f 6c79 ). def tbk poly │ │ │ │ │ -00013b20: 676f 6e20 2870 5235 2928 7052 3429 2870 gon (pR5)(pR4)(p │ │ │ │ │ -00013b30: 4c34 2928 704c 3529 0a20 2064 6566 2062 L4)(pL5). def b │ │ │ │ │ -00013b40: 6f74 2070 6f6c 7967 6f6e 2028 7052 3229 ot polygon (pR2) │ │ │ │ │ -00013b50: 2870 4c32 2928 704c 3329 2870 5233 290a (pL2)(pL3)(pR3). │ │ │ │ │ -00013b60: 2020 6465 6620 646f 6f72 2070 6f6c 7967 def door polyg │ │ │ │ │ -00013b70: 6f6e 5b66 696c 6c63 6f6c 6f72 3d62 726f on[fillcolor=bro │ │ │ │ │ -00013b80: 776e 5d20 2870 4431 2928 7044 3229 2870 wn] (pD1)(pD2)(p │ │ │ │ │ -00013b90: 4433 2928 7044 3429 0a20 2064 6566 2068 D3)(pD4). def h │ │ │ │ │ -00013ba0: 6f75 7365 207b 207b 7267 747d 7b6c 6674 ouse { {rgt}{lft │ │ │ │ │ -00013bb0: 7d7b 6672 747d 7b62 636b 7d7b 7466 727d }{frt}{bck}{tfr} │ │ │ │ │ -00013bc0: 7b74 626b 7d7b 626f 747d 7b64 6f6f 727d {tbk}{bot}{door} │ │ │ │ │ -00013bd0: 207d 0a20 2020 5469 6d65 2066 6f72 2061 }. Time for a │ │ │ │ │ -00013be0: 2073 616e 6974 7920 6368 6563 6b2e 2020 sanity check. │ │ │ │ │ -00013bf0: 4164 6420 7468 6520 6c69 6e65 0a20 207b Add the line. { │ │ │ │ │ -00013c00: 686f 7573 657d 0a61 6e64 2074 6869 7320 house}.and this │ │ │ │ │ -00013c10: 6973 2077 6861 7420 7765 2067 6574 2e0a is what we get.. │ │ │ │ │ -00013c20: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src="e │ │ │ │ │ -00013c30: 7831 3330 2e70 6e67 2220 7465 7874 3d22 x130.png" text=" │ │ │ │ │ -00013c40: 496d 6167 6520 6578 3133 3020 6f6d 6974 Image ex130 omit │ │ │ │ │ -00013c50: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers │ │ │ │ │ -00013c60: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu │ │ │ │ │ -00013c70: 6d65 6e74 2e22 0008 5d0a 0a54 6869 7320 ment."..]..This │ │ │ │ │ -00013c80: 6973 2063 6f72 7265 6374 2c20 6275 7420 is correct, but │ │ │ │ │ -00013c90: 646f 6573 206e 6f74 2072 6576 6561 6c20 does not reveal │ │ │ │ │ -00013ca0: 7665 7279 206d 7563 682e 2020 436f 6d6d very much. Comm │ │ │ │ │ -00013cb0: 6f6e 2065 7272 6f72 7320 6172 650a 6d69 on errors are.mi │ │ │ │ │ -00013cc0: 7370 6c61 6365 6420 7665 7274 6963 6573 splaced vertices │ │ │ │ │ -00013cd0: 2061 6e64 2070 6f6c 7967 6f6e 7320 6d69 and polygons mi │ │ │ │ │ -00013ce0: 7373 696e 6720 656e 7469 7265 6c79 2064 ssing entirely d │ │ │ │ │ -00013cf0: 7565 2074 6f20 696e 636f 7272 6563 7420 ue to incorrect │ │ │ │ │ -00013d00: 7665 7274 6578 0a6f 7264 6572 2e20 2054 vertex.order. T │ │ │ │ │ -00013d10: 6f20 7275 6c65 2074 6865 7365 206f 7574 o rule these out │ │ │ │ │ -00013d20: 2c20 6c65 7427 7320 696e 7370 6563 7420 , let's inspect │ │ │ │ │ -00013d30: 616c 6c20 7369 6465 7320 6f66 2074 6865 all sides of the │ │ │ │ │ -00013d40: 2068 6f75 7365 2e20 2054 6869 730a 6973 house. This.is │ │ │ │ │ -00013d50: 206e 6f74 2068 6172 642e 2020 4d65 7265 not hard. Mere │ │ │ │ │ -00013d60: 6c79 2072 6570 6c61 6365 2074 6865 2072 ly replace the r │ │ │ │ │ -00013d70: 6566 6572 656e 6365 207b 686f 7573 657d eference {house} │ │ │ │ │ -00013d80: 2077 6974 6820 6120 e280 9872 6570 6561 with a ...repea │ │ │ │ │ -00013d90: 74e2 8099 2e0a 2a4e 6f74 6520 5265 7065 t.....*Note Repe │ │ │ │ │ -00013da0: 6174 733a 3a2e 0a20 2072 6570 6561 7420 ats::.. repeat │ │ │ │ │ -00013db0: 7b20 3133 2c20 726f 7461 7465 2833 302c { 13, rotate(30, │ │ │ │ │ -00013dc0: 205b 312c 322c 335d 292c 2074 7261 6e73 [1,2,3]), trans │ │ │ │ │ -00013dd0: 6c61 7465 285b 332c 302c 305d 2920 7d20 late([3,0,0]) } │ │ │ │ │ -00013de0: 7b68 6f75 7365 7d0a 0008 5b69 6d61 6765 {house}...[image │ │ │ │ │ -00013df0: 2073 7263 3d22 6578 3134 302e 706e 6722 src="ex140.png" │ │ │ │ │ -00013e00: 2074 6578 743d 2249 6d61 6765 2065 7831 text="Image ex1 │ │ │ │ │ -00013e10: 3430 206f 6d69 7474 6564 2069 6e20 7465 40 omitted in te │ │ │ │ │ -00013e20: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00013e30: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00013e40: 0a0a 4167 6169 6e20 7468 696e 6773 206c ..Again things l │ │ │ │ │ -00013e50: 6f6f 6b20 636f 7272 6563 742e 2020 4e6f ook correct. No │ │ │ │ │ -00013e60: 7465 2074 6861 7420 7468 6520 6869 6464 te that the hidd │ │ │ │ │ -00013e70: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor │ │ │ │ │ -00013e80: 6974 686d 0a68 616e 646c 6573 2069 6e74 ithm.handles int │ │ │ │ │ -00013e90: 6572 7365 6374 696e 6720 706f 6c79 676f ersecting polygo │ │ │ │ │ -00013ea0: 6e73 2063 6f72 7265 6374 6c79 2077 6865 ns correctly whe │ │ │ │ │ -00013eb0: 7265 2073 6f6d 6520 636f 7069 6573 206f re some copies o │ │ │ │ │ -00013ec0: 6620 7468 6520 686f 7573 650a 6f76 6572 f the house.over │ │ │ │ │ -00013ed0: 6c61 702e 0a0a 2020 204c 6574 2773 206c lap... Let's l │ │ │ │ │ -00013ee0: 6179 206f 7574 2074 6865 2067 656f 6d65 ay out the geome │ │ │ │ │ -00013ef0: 7472 7920 6f66 2070 6572 7370 6563 7469 try of perspecti │ │ │ │ │ -00013f00: 7665 2070 726f 6a65 6374 696f 6e20 6f66 ve projection of │ │ │ │ │ -00013f10: 2074 6865 2068 6f75 7365 0a6f 6e74 6f20 the house.onto │ │ │ │ │ -00013f20: 6120 706c 616e 6520 7769 7468 2072 6179 a plane with ray │ │ │ │ │ -00013f30: 7320 7061 7373 696e 6720 7468 726f 7567 s passing throug │ │ │ │ │ -00013f40: 6820 7468 6520 6f72 6967 696e 2e20 2042 h the origin. B │ │ │ │ │ -00013f50: 6567 696e 2062 7920 706f 7369 7469 6f6e egin by position │ │ │ │ │ -00013f60: 696e 670a 7468 6520 686f 7573 6520 7477 ing.the house tw │ │ │ │ │ -00013f70: 656c 7665 2075 6e69 7473 2062 6163 6b20 elve units back │ │ │ │ │ -00013f80: 6f6e 2074 6865 206e 6567 6174 6976 6520 on the negative │ │ │ │ │ -00013f90: 7a2d 6178 6973 2061 6e64 2061 6464 696e z-axis and addin │ │ │ │ │ -00013fa0: 6720 6120 7365 7420 6f66 0a63 6f6f 7264 g a set of.coord │ │ │ │ │ -00013fb0: 696e 6174 6520 6178 6573 2e20 2054 6f20 inate axes. To │ │ │ │ │ -00013fc0: 6d6f 7665 2074 6865 2068 6f75 7365 2077 move the house w │ │ │ │ │ -00013fd0: 6520 6e65 6564 206f 6e6c 7920 6368 616e e need only chan │ │ │ │ │ -00013fe0: 6765 2074 6865 2022 686f 7573 650a 706f ge the "house.po │ │ │ │ │ -00013ff0: 7369 7469 6f6e 696e 6722 2074 7261 6e73 sitioning" trans │ │ │ │ │ -00014000: 666f 726d 2064 6566 696e 6564 2065 6172 form defined ear │ │ │ │ │ -00014010: 6c69 6572 2e0a 2020 6465 6620 6870 2072 lier.. def hp r │ │ │ │ │ -00014020: 6f74 6174 6528 2d34 302c 205b 302c 312c otate(-40, [0,1, │ │ │ │ │ -00014030: 305d 2920 7468 656e 2074 7261 6e73 6c61 0]) then transla │ │ │ │ │ -00014040: 7465 285b 302c 302c 2d31 325d 290a 2020 te([0,0,-12]). │ │ │ │ │ -00014050: 6465 6620 6178 6573 207b 0a20 2020 2064 def axes {. d │ │ │ │ │ -00014060: 6566 2073 7a20 310a 2020 2020 6c69 6e65 ef sz 1. line │ │ │ │ │ -00014070: 205b 6172 726f 7773 3d3c 2d3e 5d20 2873 [arrows=<->] (s │ │ │ │ │ -00014080: 7a2c 302c 3029 284f 2928 302c 737a 2c30 z,0,0)(O)(0,sz,0 │ │ │ │ │ -00014090: 290a 2020 2020 6c69 6e65 205b 6172 726f ). line [arro │ │ │ │ │ -000140a0: 7773 3d2d 3e5d 2020 284f 2928 302c 302c ws=->] (O)(0,0, │ │ │ │ │ -000140b0: 737a 290a 2020 2020 6c69 6e65 205b 6c69 sz). line [li │ │ │ │ │ -000140c0: 6e65 7769 6474 683d 2e32 7074 2c6c 696e newidth=.2pt,lin │ │ │ │ │ -000140d0: 6563 6f6c 6f72 3d62 6c75 652c 6c69 6e65 ecolor=blue,line │ │ │ │ │ -000140e0: 7374 796c 653d 6461 7368 6564 5d20 284f style=dashed] (O │ │ │ │ │ -000140f0: 2928 302c 302c 2d31 3029 0a20 2020 2073 )(0,0,-10). s │ │ │ │ │ -00014100: 7065 6369 616c 207c 5c75 7075 745b 725d pecial |\uput[r] │ │ │ │ │ -00014110: 2331 7b24 7824 7d5c 7570 7574 5b75 5d23 #1{$x$}\uput[u]# │ │ │ │ │ -00014120: 327b 2479 247d 5c75 7075 745b 6c5d 2333 2{$y$}\uput[l]#3 │ │ │ │ │ -00014130: 7b24 7a24 7d7c 0a20 2020 2020 2028 737a {$z$}|. (sz │ │ │ │ │ -00014140: 2c30 2c30 2928 302c 737a 2c30 2928 302c ,0,0)(0,sz,0)(0, │ │ │ │ │ -00014150: 302c 737a 290a 2020 7d0a 0a20 2020 5469 0,sz). }.. Ti │ │ │ │ │ -00014160: 6d65 2066 6f72 2061 6e6f 7468 6572 2074 me for another t │ │ │ │ │ -00014170: 6573 742e 2020 4c65 7427 7320 6275 696c est. Let's buil │ │ │ │ │ -00014180: 6420 6120 7265 616c 2076 6965 7720 7472 d a real view tr │ │ │ │ │ -00014190: 616e 7366 6f72 6d2c 2063 7265 6174 696e ansform, creatin │ │ │ │ │ -000141a0: 6720 610a e280 9c76 6972 7475 616c 2063 g a....virtual c │ │ │ │ │ -000141b0: 616d 6572 61e2 809d 2074 6f20 6c6f 6f6b amera... to look │ │ │ │ │ -000141c0: 2061 7420 7468 6520 7363 656e 6520 7765 at the scene we │ │ │ │ │ -000141d0: 2061 7265 2063 6f6e 7374 7275 6374 696e are constructin │ │ │ │ │ -000141e0: 672e 2020 5265 706c 6163 6520 7468 650a g. Replace the. │ │ │ │ │ -000141f0: e280 9872 6570 6561 74e2 8099 2077 6974 ...repeat... wit │ │ │ │ │ -00014200: 680a 2020 6465 6620 6579 6520 2831 302c h. def eye (10, │ │ │ │ │ -00014210: 342c 3130 290a 2020 6465 6620 6c6f 6f6b 4,10). def look │ │ │ │ │ -00014220: 5f61 7420 2830 2c30 2c2d 3529 0a20 2070 _at (0,0,-5). p │ │ │ │ │ -00014230: 7574 207b 2076 6965 7728 2865 7965 292c ut { view((eye), │ │ │ │ │ -00014240: 2028 6c6f 6f6b 5f61 7429 2920 7d20 7b20 (look_at)) } { │ │ │ │ │ -00014250: 7b68 6f75 7365 7d7b 6178 6573 7d20 7d0a {house}{axes} }. │ │ │ │ │ -00014260: 2020 2054 6865 20e2 809c 7669 6577 2074 The ...view t │ │ │ │ │ -00014270: 7261 6e73 666f 726d e280 9d20 7265 706f ransform... repo │ │ │ │ │ -00014280: 7369 7469 6f6e 7320 7468 6520 7363 656e sitions the scen │ │ │ │ │ -00014290: 6520 736f 2074 6861 7420 7468 6520 706f e so that the po │ │ │ │ │ -000142a0: 696e 7420 e280 9865 7965 e280 9920 6973 int ...eye... is │ │ │ │ │ -000142b0: 0a61 7420 7468 6520 6f72 6967 696e 2061 .at the origin a │ │ │ │ │ -000142c0: 6e64 2074 6865 2064 6972 6563 7469 6f6e nd the direction │ │ │ │ │ -000142d0: 2066 726f 6d20 e280 9865 7965 e280 9920 from ...eye... │ │ │ │ │ -000142e0: 746f 20e2 8098 6c6f 6f6b 5f61 74e2 8099 to ...look_at... │ │ │ │ │ -000142f0: 2069 7320 7468 6520 6e65 6761 7469 7665 is the negative │ │ │ │ │ -00014300: 0a7a 2d61 7869 732e 2020 5468 6973 2072 .z-axis. This r │ │ │ │ │ -00014310: 6571 7569 7265 7320 6120 726f 7461 7469 equires a rotati │ │ │ │ │ -00014320: 6f6e 2061 6e64 2061 2074 7261 6e73 6c61 on and a transla │ │ │ │ │ -00014330: 7469 6f6e 2074 6861 7420 6172 6520 616c tion that are al │ │ │ │ │ -00014340: 6c20 7061 636b 6564 0a69 6e74 6f20 7468 l packed.into th │ │ │ │ │ -00014350: 6520 636f 6e73 7472 7563 746f 7220 e280 e constructor .. │ │ │ │ │ -00014360: 9876 6965 77e2 8099 2e0a 0a00 085b 696d .view........[im │ │ │ │ │ -00014370: 6167 6520 7372 633d 2265 7831 3530 2e70 age src="ex150.p │ │ │ │ │ -00014380: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng" text="Image │ │ │ │ │ -00014390: 6578 3135 3020 6f6d 6974 7465 6420 696e ex150 omitted in │ │ │ │ │ -000143a0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of │ │ │ │ │ -000143b0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document." │ │ │ │ │ -000143c0: 0008 5d0a 0a54 6869 7320 6973 2073 7461 ..]..This is sta │ │ │ │ │ -000143d0: 7274 696e 6720 746f 206c 6f6f 6b20 676f rting to look go │ │ │ │ │ -000143e0: 6f64 2120 2041 6464 2074 6865 2070 726f od! Add the pro │ │ │ │ │ -000143f0: 6a65 6374 696f 6e20 706c 616e 6520 6861 jection plane ha │ │ │ │ │ -00014400: 6c66 2077 6179 0a62 6574 7765 656e 2074 lf way.between t │ │ │ │ │ -00014410: 6865 206f 7269 6769 6e20 616e 6420 7468 he origin and th │ │ │ │ │ -00014420: 6520 686f 7573 6520 6174 207a 3d2d 352e e house at z=-5. │ │ │ │ │ -00014430: 2020 5765 276c 6c20 7472 7920 7468 6520 We'll try the │ │ │ │ │ -00014440: 616e 676c 6520 6172 6775 6d65 6e74 0a66 angle argument.f │ │ │ │ │ -00014450: 6561 7475 7265 206f 6620 e280 9873 7065 eature of ...spe │ │ │ │ │ -00014460: 6369 616c e280 9920 746f 2070 6f73 6974 cial... to posit │ │ │ │ │ -00014470: 696f 6e20 6120 6c61 6265 6c2e 0a20 2064 ion a label.. d │ │ │ │ │ -00014480: 6566 2070 2035 2025 2070 726f 6a65 6374 ef p 5 % project │ │ │ │ │ -00014490: 696f 6e20 6469 7374 616e 6365 2028 706c ion distance (pl │ │ │ │ │ -000144a0: 616e 6520 6174 207a 3d2d 7029 0a20 2064 ane at z=-p). d │ │ │ │ │ -000144b0: 6566 2070 726f 6a65 6374 696f 6e5f 706c ef projection_pl │ │ │ │ │ -000144c0: 616e 6520 7b0a 2020 2020 6465 6620 737a ane {. def sz │ │ │ │ │ -000144d0: 2031 2e35 0a20 2020 2070 6f6c 7967 6f6e 1.5. polygon │ │ │ │ │ -000144e0: 2028 2d73 7a2c 2d73 7a2c 2d70 2928 737a (-sz,-sz,-p)(sz │ │ │ │ │ -000144f0: 2c2d 737a 2c2d 7029 2873 7a2c 737a 2c2d ,-sz,-p)(sz,sz,- │ │ │ │ │ -00014500: 7029 282d 737a 2c73 7a2c 2d70 290a 2020 p)(-sz,sz,-p). │ │ │ │ │ -00014510: 2020 7370 6563 6961 6c20 7c5c 7270 7574 special |\rput │ │ │ │ │ -00014520: 5b62 5d23 312d 3223 337b 5c66 6f6f 746e [b]#1-2#3{\footn │ │ │ │ │ -00014530: 6f74 6573 697a 655c 7366 2070 726f 6a65 otesize\sf proje │ │ │ │ │ -00014540: 6374 696f 6e20 706c 616e 657d 7c20 0a20 ction plane}| . │ │ │ │ │ -00014550: 2020 2020 2028 2d73 7a2c 2d73 7a2c 2d70 (-sz,-sz,-p │ │ │ │ │ -00014560: 2928 737a 2c2d 737a 2c2d 7029 2830 2c2d )(sz,-sz,-p)(0,- │ │ │ │ │ -00014570: 737a 2b2e 312c 2d70 290a 2020 7d0a 4164 sz+.1,-p). }.Ad │ │ │ │ │ -00014580: 6420 7b70 726f 6a65 6374 696f 6e5f 706c d {projection_pl │ │ │ │ │ -00014590: 616e 657d 2074 6f20 7468 6520 6c69 7374 ane} to the list │ │ │ │ │ -000145a0: 206f 6620 6f62 6a65 6374 7320 696e 2074 of objects in t │ │ │ │ │ -000145b0: 6865 20e2 8098 7075 74e2 8099 2061 626f he ...put... abo │ │ │ │ │ -000145c0: 7665 2e0a 0a00 085b 696d 6167 6520 7372 ve.....[image sr │ │ │ │ │ -000145d0: 633d 2265 7831 3630 2e70 6e67 2220 7465 c="ex160.png" te │ │ │ │ │ -000145e0: 7874 3d22 496d 6167 6520 6578 3136 3020 xt="Image ex160 │ │ │ │ │ -000145f0: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text │ │ │ │ │ -00014600: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this │ │ │ │ │ -00014610: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a20 document."..].. │ │ │ │ │ -00014620: 2020 5468 6520 7761 7920 7765 2063 6f6e The way we con │ │ │ │ │ -00014630: 7374 7275 6374 6564 2074 6865 2070 6f69 structed the poi │ │ │ │ │ -00014640: 6e74 7320 6f66 2074 6865 2068 6f75 7365 nts of the house │ │ │ │ │ -00014650: 206e 6f77 206d 616b 6573 2069 7420 6561 now makes it ea │ │ │ │ │ -00014660: 7379 2074 6f0a 6472 6177 2072 6179 7320 sy to.draw rays │ │ │ │ │ -00014670: 6f66 2070 726f 6a65 6374 696f 6e2e 2020 of projection. │ │ │ │ │ -00014680: 5765 276c 6c20 6361 7374 206f 6e65 2072 We'll cast one r │ │ │ │ │ -00014690: 6179 2066 726f 6d20 6576 6572 7920 7669 ay from every vi │ │ │ │ │ -000146a0: 7369 626c 6520 7665 7274 6578 0a6f 6620 sible vertex.of │ │ │ │ │ -000146b0: 7468 6520 686f 7573 6520 616e 6420 6465 the house and de │ │ │ │ │ -000146c0: 6669 6e65 206f 7074 696f 6e73 2073 6f20 fine options so │ │ │ │ │ -000146d0: 7468 6520 6170 7065 6172 616e 6365 206f the appearance o │ │ │ │ │ -000146e0: 6620 616c 6c20 7261 7973 2063 616e 2062 f all rays can b │ │ │ │ │ -000146f0: 650a 6368 616e 6765 6420 6174 2074 6865 e.changed at the │ │ │ │ │ -00014700: 2073 616d 6520 7469 6d65 2e0a 2020 6465 same time.. de │ │ │ │ │ -00014710: 6620 7072 6f6a 6563 7469 6f6e 5f72 6179 f projection_ray │ │ │ │ │ -00014720: 7320 7b0a 2020 2020 6465 6620 7261 796f s {. def rayo │ │ │ │ │ -00014730: 7074 205b 6c69 6e65 7769 6474 683d 2e33 pt [linewidth=.3 │ │ │ │ │ -00014740: 7074 2c6c 696e 6563 6f6c 6f72 3d6c 6967 pt,linecolor=lig │ │ │ │ │ -00014750: 6874 6772 6179 5d0a 2020 2020 6c69 6e65 htgray]. line │ │ │ │ │ -00014760: 205b 7261 796f 7074 5d28 4f29 2870 5231 [rayopt](O)(pR1 │ │ │ │ │ -00014770: 2920 6c69 6e65 205b 7261 796f 7074 5d28 ) line [rayopt]( │ │ │ │ │ -00014780: 4f29 2870 5232 2920 6c69 6e65 5b72 6179 O)(pR2) line[ray │ │ │ │ │ -00014790: 6f70 745d 284f 2928 7052 3329 0a20 2020 opt](O)(pR3). │ │ │ │ │ -000147a0: 206c 696e 6520 5b72 6179 6f70 745d 284f line [rayopt](O │ │ │ │ │ -000147b0: 2928 7052 3429 206c 696e 6520 5b72 6179 )(pR4) line [ray │ │ │ │ │ -000147c0: 6f70 745d 284f 2928 7052 3529 0a20 2020 opt](O)(pR5). │ │ │ │ │ -000147d0: 206c 696e 6520 5b72 6179 6f70 745d 284f line [rayopt](O │ │ │ │ │ -000147e0: 2928 704c 3129 206c 696e 6520 5b72 6179 )(pL1) line [ray │ │ │ │ │ -000147f0: 6f70 745d 284f 2928 704c 3229 206c 696e opt](O)(pL2) lin │ │ │ │ │ -00014800: 655b 7261 796f 7074 5d28 4f29 2870 4c35 e[rayopt](O)(pL5 │ │ │ │ │ -00014810: 290a 2020 2020 6c69 6e65 205b 7261 796f ). line [rayo │ │ │ │ │ -00014820: 7074 5d28 4f29 2870 4431 2920 6c69 6e65 pt](O)(pD1) line │ │ │ │ │ -00014830: 205b 7261 796f 7074 5d28 4f29 2870 4432 [rayopt](O)(pD2 │ │ │ │ │ -00014840: 2920 0a20 2020 206c 696e 6520 5b72 6179 ) . line [ray │ │ │ │ │ -00014850: 6f70 745d 284f 2928 7044 3329 206c 696e opt](O)(pD3) lin │ │ │ │ │ -00014860: 6520 5b72 6179 6f70 745d 284f 2928 7044 e [rayopt](O)(pD │ │ │ │ │ -00014870: 3429 200a 2020 7d0a 5468 6520 7265 7375 4) . }.The resu │ │ │ │ │ -00014880: 6c74 2069 7320 7368 6f77 6e20 6865 7265 lt is shown here │ │ │ │ │ -00014890: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src= │ │ │ │ │ -000148a0: 2265 7831 3730 2e70 6e67 2220 7465 7874 "ex170.png" text │ │ │ │ │ -000148b0: 3d22 496d 6167 6520 6578 3137 3020 6f6d ="Image ex170 om │ │ │ │ │ -000148c0: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve │ │ │ │ │ -000148d0: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do │ │ │ │ │ -000148e0: 6375 6d65 6e74 2e22 0008 5d0a 0a54 6865 cument."..]..The │ │ │ │ │ -000148f0: 2072 6179 7320 7069 6572 6365 2074 6865 rays pierce the │ │ │ │ │ -00014900: 2070 726f 6a65 6374 696f 6e20 706c 616e projection plan │ │ │ │ │ -00014910: 6520 6174 2074 6865 2063 6f72 7265 7370 e at the corresp │ │ │ │ │ -00014920: 6f6e 6469 6e67 2070 6f69 6e74 7320 6f6e onding points on │ │ │ │ │ -00014930: 2074 6865 0a70 6572 7370 6563 7469 7665 the.perspective │ │ │ │ │ -00014940: 2069 6d61 6765 2077 6520 6172 6520 7472 image we are tr │ │ │ │ │ -00014950: 7969 6e67 2074 6f20 6472 6177 2e20 2041 ying to draw. A │ │ │ │ │ -00014960: 6c62 7265 6368 7420 44c3 bc72 6572 2061 lbrecht D..rer a │ │ │ │ │ -00014970: 6e64 2068 6973 0a52 656e 6169 7373 616e nd his.Renaissan │ │ │ │ │ -00014980: 6365 2063 6f6e 7465 6d70 6f72 6172 6965 ce contemporarie │ │ │ │ │ -00014990: 7320 6861 6420 7468 6520 7361 6d65 2069 s had the same i │ │ │ │ │ -000149a0: 6465 6120 696e 2074 6865 2065 6172 6c79 dea in the early │ │ │ │ │ -000149b0: 2031 3530 3027 732e 0a0a 0008 5b69 6d61 1500's.....[ima │ │ │ │ │ -000149c0: 6765 2073 7263 3d22 6475 6572 6572 2e70 ge src="duerer.p │ │ │ │ │ -000149d0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng" text="Image │ │ │ │ │ -000149e0: 6f66 2044 7565 7265 7227 7320 7065 7273 of Duerer's pers │ │ │ │ │ -000149f0: 7065 6374 6976 6520 636f 6d70 7574 6572 pective computer │ │ │ │ │ -00014a00: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ -00014a10: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ -00014a20: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ -00014a30: 2020 2041 6c6c 2074 6861 7427 7320 6c65 All that's le │ │ │ │ │ -00014a40: 6674 2069 7320 746f 2066 696e 6420 6120 ft is to find a │ │ │ │ │ -00014a50: 7761 7920 746f 2063 6f6e 6e65 6374 2074 way to connect t │ │ │ │ │ -00014a60: 6865 2070 6f69 6e74 7320 6f66 2074 6865 he points of the │ │ │ │ │ -00014a70: 2068 6f75 7365 0a6f 6e20 7468 6520 7072 house.on the pr │ │ │ │ │ -00014a80: 6f6a 6563 7469 6f6e 2070 6c61 6e65 2e20 ojection plane. │ │ │ │ │ -00014a90: 2057 6520 636f 756c 6420 7075 6c6c 206f We could pull o │ │ │ │ │ -00014aa0: 7574 2061 2067 6f6f 6420 636f 6d70 7574 ut a good comput │ │ │ │ │ -00014ab0: 6572 2067 7261 7068 6963 730a 7465 7874 er graphics.text │ │ │ │ │ -00014ac0: 2c20 6669 6e64 2074 6865 206e 6563 6573 , find the neces │ │ │ │ │ -00014ad0: 7361 7279 206d 6174 7269 782c 2061 6e64 sary matrix, and │ │ │ │ │ -00014ae0: 2065 6e74 6572 2069 7420 6f75 7273 656c enter it oursel │ │ │ │ │ -00014af0: 7665 7320 6173 2061 2074 7261 6e73 666f ves as a transfo │ │ │ │ │ -00014b00: 726d 0a6c 6974 6572 616c 2e20 202a 4e6f rm.literal. *No │ │ │ │ │ -00014b10: 7465 2054 7261 6e73 666f 726d 206c 6974 te Transform lit │ │ │ │ │ -00014b20: 6572 616c 733a 3a2e 2020 5468 6174 2077 erals::. That w │ │ │ │ │ -00014b30: 6f72 6b20 6973 2061 6c72 6561 6479 2064 ork is already d │ │ │ │ │ -00014b40: 6f6e 652c 0a68 6f77 6576 6572 2e20 2057 one,.however. W │ │ │ │ │ -00014b50: 6520 6361 6e20 7573 6520 7468 6520 e280 e can use the .. │ │ │ │ │ -00014b60: 9870 726f 6a65 6374 2870 29e2 8099 2063 .project(p)... c │ │ │ │ │ -00014b70: 6f6e 7374 7275 6374 6f72 2e0a 0a20 2020 onstructor... │ │ │ │ │ -00014b80: 5468 6572 6520 6172 6520 7374 696c 6c20 There are still │ │ │ │ │ -00014b90: 736f 6d65 2064 6574 6169 6c73 2074 6861 some details tha │ │ │ │ │ -00014ba0: 7420 7265 7175 6972 6520 6361 7265 2e20 t require care. │ │ │ │ │ -00014bb0: 2050 726f 6a65 6374 696f 6e20 7769 6c6c Projection will │ │ │ │ │ -00014bc0: 0a66 6c61 7474 656e 2077 6861 7465 7665 .flatten whateve │ │ │ │ │ -00014bd0: 7220 6973 2074 7261 6e73 666f 726d 6564 r is transformed │ │ │ │ │ -00014be0: 206f 6e74 6f20 7468 6520 706c 616e 6520 onto the plane │ │ │ │ │ -00014bf0: 7a3d 2d70 2e20 2054 6865 7265 666f 7265 z=-p. Therefore │ │ │ │ │ -00014c00: 2061 6e79 2070 6172 740a 6f66 2074 6865 any part.of the │ │ │ │ │ -00014c10: 2068 6f75 7365 2063 6f75 6c64 2064 6973 house could dis │ │ │ │ │ -00014c20: 6170 7065 6172 2062 6568 696e 6420 7468 appear behind th │ │ │ │ │ -00014c30: 6520 7072 6f6a 6563 7469 6f6e 2070 6c61 e projection pla │ │ │ │ │ -00014c40: 6e65 2028 7468 6520 6869 6464 656e 0a73 ne (the hidden.s │ │ │ │ │ -00014c50: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm │ │ │ │ │ -00014c60: 206f 7264 6572 7320 6f62 6a65 6374 7320 orders objects │ │ │ │ │ -00014c70: 6174 2074 6865 2073 616d 6520 6465 7074 at the same dept │ │ │ │ │ -00014c80: 6820 6172 6269 7472 6172 696c 7929 2e20 h arbitrarily). │ │ │ │ │ -00014c90: 2054 6865 0a64 6f6f 7220 6d61 7920 616c The.door may al │ │ │ │ │ -00014ca0: 736f 2064 6973 6170 7065 6172 2062 6568 so disappear beh │ │ │ │ │ -00014cb0: 696e 6420 7468 6520 6672 6f6e 7420 6f66 ind the front of │ │ │ │ │ -00014cc0: 2074 6865 2068 6f75 7365 2e20 2054 6f20 the house. To │ │ │ │ │ -00014cd0: 6d61 6b65 2073 7572 650a 6576 6572 7974 make sure.everyt │ │ │ │ │ -00014ce0: 6869 6e67 2072 656d 6169 6e73 2076 6973 hing remains vis │ │ │ │ │ -00014cf0: 6962 6c65 2c20 7765 276c 6c20 706c 6163 ible, we'll plac │ │ │ │ │ -00014d00: 6520 7468 6520 686f 7573 6520 6120 7469 e the house a ti │ │ │ │ │ -00014d10: 6e79 2062 6974 2069 6e20 6672 6f6e 7420 ny bit in front │ │ │ │ │ -00014d20: 6f66 0a74 6865 2070 726f 6a65 6374 696f of.the projectio │ │ │ │ │ -00014d30: 6e20 706c 616e 6520 616e 6420 6120 7365 n plane and a se │ │ │ │ │ -00014d40: 636f 6e64 2063 6f70 7920 6f66 2074 6865 cond copy of the │ │ │ │ │ -00014d50: 2064 6f6f 7220 696e 2066 726f 6e74 206f door in front o │ │ │ │ │ -00014d60: 6620 7468 650a 686f 7573 652e 0a20 2064 f the.house.. d │ │ │ │ │ -00014d70: 6566 2070 726f 6a65 6374 696f 6e20 7b0a ef projection {. │ │ │ │ │ -00014d80: 2020 2020 2520 6520 6973 2061 2073 6d61 % e is a sma │ │ │ │ │ -00014d90: 6c6c 206e 756d 6265 7220 6465 6669 6e65 ll number define │ │ │ │ │ -00014da0: 6420 6162 6f76 650a 2020 2020 7075 7420 d above. put │ │ │ │ │ -00014db0: 7b20 7072 6f6a 6563 7428 7029 2074 6865 { project(p) the │ │ │ │ │ -00014dc0: 6e20 7472 616e 736c 6174 6528 5b30 2c30 n translate([0,0 │ │ │ │ │ -00014dd0: 2c31 2a65 5d29 207d 207b 686f 7573 657d ,1*e]) } {house} │ │ │ │ │ -00014de0: 0a20 2020 2070 7574 207b 2070 726f 6a65 . put { proje │ │ │ │ │ -00014df0: 6374 2870 2920 7468 656e 2074 7261 6e73 ct(p) then trans │ │ │ │ │ -00014e00: 6c61 7465 285b 302c 302c 322a 655d 2920 late([0,0,2*e]) │ │ │ │ │ -00014e10: 7d20 7b64 6f6f 727d 0a20 207d 0a0a 0008 } {door}. }.... │ │ │ │ │ -00014e20: 5b69 6d61 6765 2073 7263 3d22 6578 3138 [image src="ex18 │ │ │ │ │ -00014e30: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00014e40: 6765 2065 7831 3830 206f 6d69 7474 6564 ge ex180 omitted │ │ │ │ │ -00014e50: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00014e60: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00014e70: 742e 2200 085d 0a0a 2020 2049 6620 796f t."..].. If yo │ │ │ │ │ -00014e80: 7520 6861 7665 2073 7475 6469 6564 2061 u have studied a │ │ │ │ │ -00014e90: 6e64 2075 6e64 6572 7374 616e 6420 616c nd understand al │ │ │ │ │ -00014ea0: 6c20 7468 6973 2c20 796f 7520 6172 6520 l this, you are │ │ │ │ │ -00014eb0: 7765 6c6c 206f 6e20 7468 6520 7761 790a well on the way. │ │ │ │ │ -00014ec0: 746f 2073 7563 6365 7373 2077 6974 6820 to success with │ │ │ │ │ -00014ed0: e280 9873 6b65 7463 68e2 8099 2e20 204e ...sketch.... N │ │ │ │ │ -00014ee0: 6f74 2073 686f 776e 2061 7265 2074 6865 ot shown are the │ │ │ │ │ -00014ef0: 2032 3020 6f72 2073 6f20 6974 6572 6174 20 or so iterat │ │ │ │ │ -00014f00: 696f 6e73 2074 6861 740a 7765 7265 2072 ions that.were r │ │ │ │ │ -00014f10: 6571 7569 7265 6420 746f 2066 696e 6420 equired to find │ │ │ │ │ -00014f20: 6120 7265 6173 6f6e 6162 6c65 2076 6965 a reasonable vie │ │ │ │ │ -00014f30: 7769 6e67 2061 6e67 6c65 2061 6e64 2068 wing angle and h │ │ │ │ │ -00014f40: 6f75 7365 2070 6f73 6974 696f 6e2c 0a65 ouse position,.e │ │ │ │ │ -00014f50: 7463 2e20 204e 6f6e 6574 6865 6c65 7373 tc. Nonetheless │ │ │ │ │ -00014f60: 2c20 7468 6973 2064 7261 7769 6e67 2077 , this drawing w │ │ │ │ │ -00014f70: 6173 2063 6f6d 706c 6574 6564 2069 6e20 as completed in │ │ │ │ │ -00014f80: 6162 6f75 7420 616e 2068 6f75 722e 2020 about an hour. │ │ │ │ │ -00014f90: 5768 696c 6520 610a 4755 4920 746f 6f6c While a.GUI tool │ │ │ │ │ -00014fa0: 206d 6179 2068 6176 6520 6265 656e 2061 may have been a │ │ │ │ │ -00014fb0: 206c 6974 746c 6520 6661 7374 6572 2c20 little faster, │ │ │ │ │ -00014fc0: 6974 2069 7320 756e 6c69 6b65 6c79 2074 it is unlikely t │ │ │ │ │ -00014fd0: 6861 7420 6120 6e65 770a 6472 6177 696e hat a new.drawin │ │ │ │ │ -00014fe0: 672c 2069 7473 656c 6620 6120 7065 7273 g, itself a pers │ │ │ │ │ -00014ff0: 7065 6374 6976 6520 7072 6f6a 6563 7469 pective projecti │ │ │ │ │ -00015000: 6f6e 206f 6620 7468 6520 7363 656e 652c on of the scene, │ │ │ │ │ -00015010: 2063 6f75 6c64 2062 650a 6765 6e65 7261 could be.genera │ │ │ │ │ -00015020: 7465 6420 7769 7468 2074 776f 206d 6f72 ted with two mor │ │ │ │ │ -00015030: 6520 6d69 6e75 7465 7327 2077 6f72 6b21 e minutes' work! │ │ │ │ │ -00015040: 2020 4a75 7374 2063 6861 6e67 6520 7468 Just change th │ │ │ │ │ -00015050: 6520 7669 6577 2074 7261 6e73 666f 726d e view transform │ │ │ │ │ -00015060: 0a74 6f0a 2020 7075 7420 7b20 7669 6577 .to. put { view │ │ │ │ │ -00015070: 2828 6579 6529 2c20 286c 6f6f 6b5f 6174 ((eye), (look_at │ │ │ │ │ -00015080: 2929 2074 6865 6e20 7065 7273 7065 6374 )) then perspect │ │ │ │ │ -00015090: 6976 6528 3929 207d 207b 202e 2e2e 0a61 ive(9) } { ....a │ │ │ │ │ -000150a0: 6e64 2070 726f 6475 6365 2074 6869 732e nd produce this. │ │ │ │ │ -000150b0: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -000150c0: 6578 3139 302e 706e 6722 2074 6578 743d ex190.png" text= │ │ │ │ │ -000150d0: 2249 6d61 6765 2065 7831 3930 206f 6d69 "Image ex190 omi │ │ │ │ │ -000150e0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -000150f0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -00015100: 756d 656e 742e 2200 085d 0a0a 1f0a 4669 ument."..]....Fi │ │ │ │ │ -00015110: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00015120: 2020 4e6f 6465 3a20 4120 7465 6368 6e69 Node: A techni │ │ │ │ │ -00015130: 6361 6c20 6472 6177 696e 672c 2020 4e65 cal drawing, Ne │ │ │ │ │ -00015140: 7874 3a20 4120 6869 6572 6172 6368 6963 xt: A hierarchic │ │ │ │ │ -00015150: 616c 206d 6f64 656c 2c20 2050 7265 763a al model, Prev: │ │ │ │ │ -00015160: 204f 7665 7276 6965 772c 2020 5570 3a20 Overview, Up: │ │ │ │ │ -00015170: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi │ │ │ │ │ -00015180: 6e67 0a0a 342e 3220 4120 7465 6368 6e69 ng..4.2 A techni │ │ │ │ │ -00015190: 6361 6c20 6472 6177 696e 670a 3d3d 3d3d cal drawing.==== │ │ │ │ │ +00011d40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a73 6361 ------------.sca │ │ │ │ │ +00011d50: 6c61 7220 2020 2020 20e2 8098 4944 e280 lar ...ID.. │ │ │ │ │ +00011d60: 990a 706f 696e 7420 2020 2020 2020 e280 ..point .. │ │ │ │ │ +00011d70: 9828 4944 29e2 8099 0a76 6563 746f 7220 .(ID)....vector │ │ │ │ │ +00011d80: 2020 2020 20e2 8098 5b49 445d e280 990a ...[ID].... │ │ │ │ │ +00011d90: 7472 616e 7366 6f72 6d20 2020 e280 985b transform ...[ │ │ │ │ │ +00011da0: 5b49 445d 5de2 8099 0a64 7261 7761 626c [ID]]....drawabl │ │ │ │ │ +00011db0: 6520 2020 20e2 8098 7b49 447d e280 990a e ...{ID}.... │ │ │ │ │ +00011dc0: 6f70 7469 6f6e 7320 2020 2020 e280 985b options ...[ │ │ │ │ │ +00011dd0: 4944 5de2 8099 206f 7220 e280 985b 4944 ID]... or ...[ID │ │ │ │ │ +00011de0: 312c 2e2e 2e2c 4944 4e5d e280 990a 7461 1,...,IDN]....ta │ │ │ │ │ +00011df0: 6720 2020 2020 2020 2020 e280 983c 4944 g ........Note that │ │ │ │ │ +00011e10: 7371 7561 7265 2062 7261 636b 6574 7320 square brackets │ │ │ │ │ +00011e20: e280 985b 205d e280 9920 6172 6520 7573 ...[ ]... are us │ │ │ │ │ +00011e30: 6564 2062 6f74 6820 666f 7220 7665 6374 ed both for vect │ │ │ │ │ +00011e40: 6f72 2061 6e64 2066 6f72 206f 7074 696f or and for optio │ │ │ │ │ +00011e50: 6e73 0a72 6566 6572 656e 6365 732e 2020 ns.references. │ │ │ │ │ +00011e60: 4465 7461 696c 7320 6f66 20e2 8098 736b Details of ...sk │ │ │ │ │ +00011e70: 6574 6368 e280 9920 7379 6e74 6178 206d etch... syntax m │ │ │ │ │ +00011e80: 616b 6520 6974 2069 6d70 6f73 7369 626c ake it impossibl │ │ │ │ │ +00011e90: 6520 666f 7220 7468 6573 6520 7477 6f0a e for these two. │ │ │ │ │ +00011ea0: 7265 6665 7265 6e63 6520 7479 7065 7320 reference types │ │ │ │ │ +00011eb0: 746f 2062 6520 636f 6e66 7573 6564 2e20 to be confused. │ │ │ │ │ +00011ec0: 2054 6865 2073 7065 6369 616c 206d 756c The special mul │ │ │ │ │ +00011ed0: 7469 706c 6520 7265 6665 7265 6e63 650a tiple reference. │ │ │ │ │ +00011ee0: e280 985b 4944 312c 4944 322c 2e2e 2e2c ...[ID1,ID2,..., │ │ │ │ │ +00011ef0: 4944 4e5d e280 9920 6163 7473 2061 7320 IDN]... acts as │ │ │ │ │ +00011f00: 6966 2074 6865 2072 6573 7065 6374 6976 if the respectiv │ │ │ │ │ +00011f10: 6520 6c69 7374 7320 6f66 206f 7074 696f e lists of optio │ │ │ │ │ +00011f20: 6e73 2077 6572 650a 636f 6e63 6174 656e ns were.concaten │ │ │ │ │ +00011f30: 6174 6564 2e0a 0a1f 0a46 696c 653a 2073 ated.....File: s │ │ │ │ │ +00011f40: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +00011f50: 653a 2047 6c6f 6261 6c20 656e 7669 726f e: Global enviro │ │ │ │ │ +00011f60: 6e6d 656e 742c 2020 5072 6576 3a20 4465 nment, Prev: De │ │ │ │ │ +00011f70: 6669 6e69 7469 6f6e 732c 2020 5570 3a20 finitions, Up: │ │ │ │ │ +00011f80: 496e 7075 7420 6c61 6e67 7561 6765 0a0a Input language.. │ │ │ │ │ +00011f90: 332e 3420 476c 6f62 616c 2065 6e76 6972 3.4 Global envir │ │ │ │ │ +00011fa0: 6f6e 6d65 6e74 0a3d 3d3d 3d3d 3d3d 3d3d onment.========= │ │ │ │ │ +00011fb0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 =============..A │ │ │ │ │ +00011fc0: 6e20 6f70 7469 6f6e 616c 2067 6c6f 6261 n optional globa │ │ │ │ │ +00011fd0: 6c20 656e 7669 726f 6e6d 656e 7420 626c l environment bl │ │ │ │ │ +00011fe0: 6f63 6b20 7072 6f76 6964 6573 2061 2066 ock provides a f │ │ │ │ │ +00011ff0: 6577 2077 6179 7320 746f 2061 6666 6563 ew ways to affec │ │ │ │ │ +00012000: 7420 7468 650a 656e 7469 7265 2073 6365 t the.entire sce │ │ │ │ │ +00012010: 6e65 2e20 2054 6865 2062 6c6f 636b 206d ne. The block m │ │ │ │ │ +00012020: 7573 7420 6170 7065 6172 2061 7320 7468 ust appear as th │ │ │ │ │ +00012030: 6520 6c61 7374 2074 6578 7420 696e 2074 e last text in t │ │ │ │ │ +00012040: 6865 20e2 8098 736b 6574 6368 e280 990a he ...sketch.... │ │ │ │ │ +00012050: 696e 7075 7420 6669 6c65 2e20 2049 7420 input file. It │ │ │ │ │ +00012060: 6d61 7920 696e 636c 7564 6520 6465 6669 may include defi │ │ │ │ │ +00012070: 6e69 7469 6f6e 732c 2062 7574 206e 6f74 nitions, but not │ │ │ │ │ +00012080: 6520 7468 6174 2070 7265 7669 6f75 730a e that previous. │ │ │ │ │ +00012090: 6465 6669 6e69 7469 6f6e 7320 6174 2074 definitions at t │ │ │ │ │ +000120a0: 6865 2074 6f70 206c 6576 656c 2028 6e6f he top level (no │ │ │ │ │ +000120b0: 7420 6e65 7374 6564 2069 6e73 6964 6520 t nested inside │ │ │ │ │ +000120c0: 626c 6f63 6b73 2920 6172 6520 616c 736f blocks) are also │ │ │ │ │ +000120d0: 0a61 7661 696c 6162 6c65 2e0a 0a2a 5379 .available...*Sy │ │ │ │ │ +000120e0: 6e74 6178 3a2a 0a20 2020 2020 676c 6f62 ntax:*. glob │ │ │ │ │ +000120f0: 616c 207b 2045 4e56 4952 4f4e 4d45 4e54 al { ENVIRONMENT │ │ │ │ │ +00012100: 5f53 4554 5449 4e47 5320 7d0a 5468 6520 _SETTINGS }.The │ │ │ │ │ +00012110: 636f 6e74 656e 7473 206f 6620 454e 5649 contents of ENVI │ │ │ │ │ +00012120: 524f 4e4d 454e 545f 5345 5454 494e 4753 RONMENT_SETTINGS │ │ │ │ │ +00012130: 2061 7265 2064 6973 6375 7373 6564 2069 are discussed i │ │ │ │ │ +00012140: 6e20 7468 6520 7365 6374 696f 6e73 2074 n the sections t │ │ │ │ │ +00012150: 6861 740a 666f 6c6c 6f77 2e0a 0a2a 204d hat.follow...* M │ │ │ │ │ +00012160: 656e 753a 0a0a 2a20 476c 6f62 616c 206f enu:..* Global o │ │ │ │ │ +00012170: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: │ │ │ │ │ +00012180: 2020 2020 2020 4174 7472 6962 7574 6573 Attributes │ │ │ │ │ +00012190: 206f 6620 7468 6520 656e 7469 7265 2064 of the entire d │ │ │ │ │ +000121a0: 7261 7769 6e67 2e0a 2a20 4361 6d65 7261 rawing..* Camera │ │ │ │ │ +000121b0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +000121c0: 2020 2020 2020 2020 4120 6669 6e61 6c20 A final │ │ │ │ │ +000121d0: 6361 6d65 7261 2074 7261 6e73 666f 726d camera transform │ │ │ │ │ +000121e0: 6174 696f 6e20 6f66 2074 6865 2073 6365 ation of the sce │ │ │ │ │ +000121f0: 6e65 2e0a 2a20 5069 6374 7572 6520 626f ne..* Picture bo │ │ │ │ │ +00012200: 783a 3a20 2020 2020 2020 2020 2020 2020 x:: │ │ │ │ │ +00012210: 2020 2020 5365 7474 696e 6720 7468 6520 Setting the │ │ │ │ │ +00012220: 626f 756e 6469 6e67 2062 6f78 2061 6e64 bounding box and │ │ │ │ │ +00012230: 2032 6420 636c 6970 7069 6e67 2e0a 2a20 2d clipping..* │ │ │ │ │ +00012240: 4672 616d 653a 3a20 2020 2020 2020 2020 Frame:: │ │ │ │ │ +00012250: 2020 2020 2020 2020 2020 2020 2020 4164 Ad │ │ │ │ │ +00012260: 6469 6e67 2061 2062 6f78 2061 726f 756e ding a box aroun │ │ │ │ │ +00012270: 6420 7468 6520 6472 6177 696e 672e 0a2a d the drawing..* │ │ │ │ │ +00012280: 204c 616e 6775 6167 653a 3a20 2020 2020 Language:: │ │ │ │ │ +00012290: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +000122a0: 6574 7469 6e67 2074 6865 206f 7574 7075 etting the outpu │ │ │ │ │ +000122b0: 7420 6c61 6e67 7561 6765 2e0a 0a1f 0a46 t language.....F │ │ │ │ │ +000122c0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +000122d0: 2c20 204e 6f64 653a 2047 6c6f 6261 6c20 , Node: Global │ │ │ │ │ +000122e0: 6f70 7469 6f6e 732c 2020 4e65 7874 3a20 options, Next: │ │ │ │ │ +000122f0: 4361 6d65 7261 2c20 2050 7265 763a 2047 Camera, Prev: G │ │ │ │ │ +00012300: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ +00012310: 742c 2020 5570 3a20 476c 6f62 616c 2065 t, Up: Global e │ │ │ │ │ +00012320: 6e76 6972 6f6e 6d65 6e74 0a0a 332e 342e nvironment..3.4. │ │ │ │ │ +00012330: 3120 476c 6f62 616c 206f 7074 696f 6e73 1 Global options │ │ │ │ │ +00012340: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +00012350: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:* │ │ │ │ │ +00012360: 0a20 2020 2020 7365 7420 5b20 4f50 5449 . set [ OPTI │ │ │ │ │ +00012370: 4f4e 5320 5d0a 5468 6520 636f 6e74 656e ONS ].The conten │ │ │ │ │ +00012380: 7473 206f 6620 4f50 5449 4f4e 532c 2065 ts of OPTIONS, e │ │ │ │ │ +00012390: 7863 6570 7420 666f 7220 e280 9873 6b65 xcept for ...ske │ │ │ │ │ +000123a0: 7463 68e2 8099 2069 6e74 6572 6e61 6c20 tch... internal │ │ │ │ │ +000123b0: 6f70 7469 6f6e 732c 2061 7265 0a63 6f70 options, are.cop │ │ │ │ │ +000123c0: 6965 6420 6173 2d69 7320 746f 2061 205c ied as-is to a \ │ │ │ │ │ +000123d0: 7073 7365 7420 7468 6174 2061 7070 6561 psset that appea │ │ │ │ │ +000123e0: 7273 2062 6566 6f72 6520 616e 7974 6869 rs before anythi │ │ │ │ │ +000123f0: 6e67 2065 6c73 6520 696e 2074 6865 206f ng else in the o │ │ │ │ │ +00012400: 7574 7075 740a 6669 6c65 2e20 2054 6869 utput.file. Thi │ │ │ │ │ +00012410: 7320 6973 2061 2067 6f6f 6420 706c 6163 s is a good plac │ │ │ │ │ +00012420: 6520 746f 2073 6574 20e2 8098 756e 6974 e to set ...unit │ │ │ │ │ +00012430: e280 992c 2061 2064 6566 6175 6c74 20e2 ..., a default . │ │ │ │ │ +00012440: 8098 6c69 6e65 7769 6474 68e2 8099 2c20 ..linewidth..., │ │ │ │ │ +00012450: 6574 632e 0a0a 2020 2049 6e74 6572 6e61 etc... Interna │ │ │ │ │ +00012460: 6c20 6f70 7469 6f6e 7320 776f 726b 206f l options work o │ │ │ │ │ +00012470: 6e20 616c 6c20 6f62 6a65 6374 7320 7768 n all objects wh │ │ │ │ │ +00012480: 6572 6520 7468 6579 206d 616b 6520 7365 ere they make se │ │ │ │ │ +00012490: 6e73 652e 2020 5468 6973 0a69 6e63 6c75 nse. This.inclu │ │ │ │ │ +000124a0: 6465 7320 e280 9863 756c 6ce2 8099 2061 des ...cull... a │ │ │ │ │ +000124b0: 6e64 20e2 8098 7370 6c69 74e2 8099 2028 nd ...split... ( │ │ │ │ │ +000124c0: 6275 7420 6e6f 7420 e280 986c 6179 e280 but not ...lay.. │ │ │ │ │ +000124d0: 9929 2e20 202a 4e6f 7465 2049 6e74 6572 .). *Note Inter │ │ │ │ │ +000124e0: 6e61 6c20 6f70 7469 6f6e 733a 3a2e 0a0a nal options::... │ │ │ │ │ +000124f0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00012500: 6e66 6f2c 2020 4e6f 6465 3a20 4361 6d65 nfo, Node: Came │ │ │ │ │ +00012510: 7261 2c20 204e 6578 743a 2050 6963 7475 ra, Next: Pictu │ │ │ │ │ +00012520: 7265 2062 6f78 2c20 2050 7265 763a 2047 re box, Prev: G │ │ │ │ │ +00012530: 6c6f 6261 6c20 6f70 7469 6f6e 732c 2020 lobal options, │ │ │ │ │ +00012540: 5570 3a20 476c 6f62 616c 2065 6e76 6972 Up: Global envir │ │ │ │ │ +00012550: 6f6e 6d65 6e74 0a0a 332e 342e 3220 4361 onment..3.4.2 Ca │ │ │ │ │ +00012560: 6d65 7261 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d mera.----------- │ │ │ │ │ +00012570: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. │ │ │ │ │ +00012580: 2020 6361 6d65 7261 2054 5241 4e53 464f camera TRANSFO │ │ │ │ │ +00012590: 524d 5f45 5850 5245 5353 494f 4e0a 2020 RM_EXPRESSION. │ │ │ │ │ +000125a0: 2054 6865 2054 5241 4e53 464f 524d 5f45 The TRANSFORM_E │ │ │ │ │ +000125b0: 5850 5245 5353 494f 4e20 6973 2061 7070 XPRESSION is app │ │ │ │ │ +000125c0: 6c69 6564 2061 6674 6572 2061 6c6c 206f lied after all o │ │ │ │ │ +000125d0: 7468 6572 2074 7261 6e73 666f 726d 6174 ther transformat │ │ │ │ │ +000125e0: 696f 6e73 0a6f 6620 7468 6520 7363 656e ions.of the scen │ │ │ │ │ +000125f0: 652e 2020 5468 6973 2069 7320 6375 7272 e. This is curr │ │ │ │ │ +00012600: 656e 746c 7920 6f6e 6c79 2075 7365 6675 ently only usefu │ │ │ │ │ +00012610: 6c20 666f 7220 7472 616e 7366 6f72 6d69 l for transformi │ │ │ │ │ +00012620: 6e67 2074 6865 0a62 6f75 6e64 696e 6720 ng the.bounding │ │ │ │ │ +00012630: 626f 782e 2020 2a4e 6f74 6520 5069 6374 box. *Note Pict │ │ │ │ │ +00012640: 7572 6520 626f 783a 3a2e 2020 4974 2077 ure box::. It w │ │ │ │ │ +00012650: 696c 6c20 706c 6179 2061 2072 6f6c 6520 ill play a role │ │ │ │ │ +00012660: 696e 2061 6e79 2066 7574 7572 650a 696d in any future.im │ │ │ │ │ +00012670: 706c 656d 656e 7461 7469 6f6e 206f 6620 plementation of │ │ │ │ │ +00012680: 636c 6970 7069 6e67 2e0a 0a1f 0a46 696c clipping.....Fil │ │ │ │ │ +00012690: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +000126a0: 204e 6f64 653a 2050 6963 7475 7265 2062 Node: Picture b │ │ │ │ │ +000126b0: 6f78 2c20 204e 6578 743a 2046 7261 6d65 ox, Next: Frame │ │ │ │ │ +000126c0: 2c20 2050 7265 763a 2043 616d 6572 612c , Prev: Camera, │ │ │ │ │ +000126d0: 2020 5570 3a20 476c 6f62 616c 2065 6e76 Up: Global env │ │ │ │ │ +000126e0: 6972 6f6e 6d65 6e74 0a0a 332e 342e 3320 ironment..3.4.3 │ │ │ │ │ +000126f0: 5069 6374 7572 6520 626f 780a 2d2d 2d2d Picture box.---- │ │ │ │ │ +00012700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a -------------..* │ │ │ │ │ +00012710: 5379 6e74 6178 3a2a 0a20 2020 2020 7069 Syntax:*. pi │ │ │ │ │ +00012720: 6374 7572 6562 6f78 5b42 4153 454c 494e cturebox[BASELIN │ │ │ │ │ +00012730: 455d 0a20 2020 2020 7069 6374 7572 6562 E]. pictureb │ │ │ │ │ +00012740: 6f78 5b42 4153 454c 494e 455d 2028 5031 ox[BASELINE] (P1 │ │ │ │ │ +00012750: 2928 5032 290a 5468 6520 6669 7273 7420 )(P2).The first │ │ │ │ │ +00012760: 666f 726d 206f 6620 e280 9870 6963 7475 form of ...pictu │ │ │ │ │ +00012770: 7265 626f 78e2 8099 2063 6175 7365 7320 rebox... causes │ │ │ │ │ +00012780: 6120 7363 616c 6172 2042 4153 454c 494e a scalar BASELIN │ │ │ │ │ +00012790: 4520 6672 6163 7469 6f6e 2074 6f20 6265 E fraction to be │ │ │ │ │ +000127a0: 0a65 6d69 7474 6564 2069 6e20 7468 6520 .emitted in the │ │ │ │ │ +000127b0: e280 9870 7370 6963 7475 7265 e280 9920 ...pspicture... │ │ │ │ │ +000127c0: 656e 7669 726f 6e6d 656e 7420 6f66 2074 environment of t │ │ │ │ │ +000127d0: 6865 206f 7574 7075 742e 2020 5365 6520 he output. See │ │ │ │ │ +000127e0: e280 9850 5354 7269 636b 73e2 8099 0a64 ...PSTricks....d │ │ │ │ │ +000127f0: 6f63 756d 656e 7461 7469 6f6e 2066 6f72 ocumentation for │ │ │ │ │ +00012800: 20e2 8098 7073 7069 6374 7572 65e2 8099 ...pspicture... │ │ │ │ │ +00012810: 2e0a 0a20 2020 496e 2074 6865 2073 6563 ... In the sec │ │ │ │ │ +00012820: 6f6e 6420 666f 726d 2c20 7468 6520 4241 ond form, the BA │ │ │ │ │ +00012830: 5345 4c49 4e45 2066 7261 6374 696f 6e20 SELINE fraction │ │ │ │ │ +00012840: 6973 206f 7074 696f 6e61 6c2c 2061 6e64 is optional, and │ │ │ │ │ +00012850: 2074 6865 2074 776f 0a70 6f69 6e74 7320 the two.points │ │ │ │ │ +00012860: 7468 6174 2066 6f6c 6c6f 7720 6465 6669 that follow defi │ │ │ │ │ +00012870: 6e65 2074 6865 2064 6961 676f 6e61 6c20 ne the diagonal │ │ │ │ │ +00012880: 6f66 2061 2074 6872 6565 2d64 696d 656e of a three-dimen │ │ │ │ │ +00012890: 7369 6f6e 616c 2062 6f75 6e64 696e 670a sional bounding. │ │ │ │ │ +000128a0: 626f 7820 666f 7220 7468 6520 636f 6d70 box for the comp │ │ │ │ │ +000128b0: 6c65 7465 6420 7363 656e 652e 2020 5468 leted scene. Th │ │ │ │ │ +000128c0: 6520 7061 7261 6c6c 656c 2070 726f 6a65 e parallel proje │ │ │ │ │ +000128d0: 6374 696f 6e20 6f66 2074 6865 2062 6f75 ction of the bou │ │ │ │ │ +000128e0: 6e64 696e 670a 626f 7820 6465 7465 726d nding.box determ │ │ │ │ │ +000128f0: 696e 6573 2074 6865 2063 6f72 6e65 7273 ines the corners │ │ │ │ │ +00012900: 206f 6620 7468 6520 6472 6177 696e 6727 of the drawing' │ │ │ │ │ +00012910: 7320 e280 9870 7370 6963 7475 7265 2ae2 s ...pspicture*. │ │ │ │ │ +00012920: 8099 2065 6e76 6972 6f6e 6d65 6e74 2c0a .. environment,. │ │ │ │ │ +00012930: 7768 6963 6820 6973 2075 7365 6420 696e which is used in │ │ │ │ │ +00012940: 2070 6c61 6365 206f 6620 e280 9870 7370 place of ...psp │ │ │ │ │ +00012950: 6963 7475 7265 e280 992e 2020 5468 6973 icture.... This │ │ │ │ │ +00012960: 2063 6175 7365 7320 506f 7374 5363 7269 causes PostScri │ │ │ │ │ +00012970: 7074 2074 6f20 636c 6970 0a74 6865 2066 pt to clip.the f │ │ │ │ │ +00012980: 696e 616c 2064 7261 7769 6e67 2074 6f20 inal drawing to │ │ │ │ │ +00012990: 7468 6520 626f 756e 6469 6e67 2062 6f78 the bounding box │ │ │ │ │ +000129a0: 2069 6e20 3264 2e20 2049 6620 7468 6572 in 2d. If ther │ │ │ │ │ +000129b0: 6520 6973 2061 20e2 8098 6361 6d65 7261 e is a ...camera │ │ │ │ │ +000129c0: e280 990a 7370 6563 6966 6965 642c 2074 ....specified, t │ │ │ │ │ +000129d0: 6865 2063 616d 6572 6120 7472 616e 666f he camera tranfo │ │ │ │ │ +000129e0: 726d 6174 696f 6e20 6973 2061 7070 6c69 rmation is appli │ │ │ │ │ +000129f0: 6564 2074 6f20 7468 6520 626f 756e 6469 ed to the boundi │ │ │ │ │ +00012a00: 6e67 2062 6f78 2c20 616e 640a 7468 6520 ng box, and.the │ │ │ │ │ +00012a10: e280 9870 7370 6963 7475 7265 e280 9920 ...pspicture... │ │ │ │ │ +00012a20: 6973 2073 6574 206a 7573 7420 6c61 7267 is set just larg │ │ │ │ │ +00012a30: 6520 656e 6f75 6768 2074 6f20 696e 636c e enough to incl │ │ │ │ │ +00012a40: 7564 6520 7468 6520 7472 616e 7366 6f72 ude the transfor │ │ │ │ │ +00012a50: 6d65 6420 626f 782e 0a0a 2020 2057 6865 med box... Whe │ │ │ │ │ +00012a60: 6e20 6e6f 2062 6f75 6e64 696e 6720 626f n no bounding bo │ │ │ │ │ +00012a70: 7820 6973 2067 6976 656e 2c20 e280 9873 x is given, ...s │ │ │ │ │ +00012a80: 6b65 7463 68e2 8099 2063 6f6d 7075 7465 ketch... compute │ │ │ │ │ +00012a90: 7320 6f6e 6520 6175 746f 6d61 7469 6361 s one automatica │ │ │ │ │ +00012aa0: 6c6c 792e 0a0a 1f0a 4669 6c65 3a20 736b lly.....File: sk │ │ │ │ │ +00012ab0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +00012ac0: 3a20 4672 616d 652c 2020 4e65 7874 3a20 : Frame, Next: │ │ │ │ │ +00012ad0: 4c61 6e67 7561 6765 2c20 2050 7265 763a Language, Prev: │ │ │ │ │ +00012ae0: 2050 6963 7475 7265 2062 6f78 2c20 2055 Picture box, U │ │ │ │ │ +00012af0: 703a 2047 6c6f 6261 6c20 656e 7669 726f p: Global enviro │ │ │ │ │ +00012b00: 6e6d 656e 740a 0a33 2e34 2e34 2046 7261 nment..3.4.4 Fra │ │ │ │ │ +00012b10: 6d65 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a me.-----------.. │ │ │ │ │ +00012b20: 2a53 796e 7461 783a 2a0a 2020 2020 2066 *Syntax:*. f │ │ │ │ │ +00012b30: 7261 6d65 205b 4f50 5449 4f4e 535d 0a43 rame [OPTIONS].C │ │ │ │ │ +00012b40: 6175 7365 7320 6120 5c70 7366 7261 6d65 auses a \psframe │ │ │ │ │ +00012b50: 626f 7820 746f 2073 7572 726f 756e 6420 box to surround │ │ │ │ │ +00012b60: 7468 6520 e280 9870 7370 6963 7475 7265 the ...pspicture │ │ │ │ │ +00012b70: e280 9920 656e 7669 726f 6e6d 656e 7420 ... environment │ │ │ │ │ +00012b80: 696e 2074 6865 0a6f 7574 7075 742e 2020 in the.output. │ │ │ │ │ +00012b90: 4966 204f 5054 494f 4e53 2061 7265 2070 If OPTIONS are p │ │ │ │ │ +00012ba0: 7265 7365 6e74 2c20 7468 6579 2061 7265 resent, they are │ │ │ │ │ +00012bb0: 2063 6f70 6965 6420 6173 2d69 732e 2020 copied as-is. │ │ │ │ │ +00012bc0: 4e6f 726d 616c 6c79 206f 6e65 0a77 6f75 Normally one.wou │ │ │ │ │ +00012bd0: 6c64 2077 616e 7420 746f 2073 6574 20e2 ld want to set . │ │ │ │ │ +00012be0: 8098 6c69 6e65 7769 6474 68e2 8099 2c20 ..linewidth..., │ │ │ │ │ +00012bf0: e280 986c 696e 6573 7479 6c65 e280 992c ...linestyle..., │ │ │ │ │ +00012c00: 20e2 8098 6c69 6e65 636f 6c6f 72e2 8099 ...linecolor... │ │ │ │ │ +00012c10: 2c20 6574 632e 2020 4966 0a6f 6d69 7474 , etc. If.omitt │ │ │ │ │ +00012c20: 6564 2c20 7468 656e 20e2 8098 6672 616d ed, then ...fram │ │ │ │ │ +00012c30: 6573 6570 3d30 7074 e280 9920 6973 2061 esep=0pt... is a │ │ │ │ │ +00012c40: 6464 6564 2073 6f20 7468 6174 2074 6865 dded so that the │ │ │ │ │ +00012c50: 2066 7261 6d65 2074 6967 6874 6c79 2068 frame tightly h │ │ │ │ │ +00012c60: 7567 7320 7468 650a e280 9870 7370 6963 ugs the....pspic │ │ │ │ │ +00012c70: 7475 7265 e280 992e 0a0a 1f0a 4669 6c65 ture........File │ │ │ │ │ +00012c80: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00012c90: 4e6f 6465 3a20 4c61 6e67 7561 6765 2c20 Node: Language, │ │ │ │ │ +00012ca0: 2050 7265 763a 2046 7261 6d65 2c20 2055 Prev: Frame, U │ │ │ │ │ +00012cb0: 703a 2047 6c6f 6261 6c20 656e 7669 726f p: Global enviro │ │ │ │ │ +00012cc0: 6e6d 656e 740a 0a33 2e34 2e35 204c 616e nment..3.4.5 Lan │ │ │ │ │ +00012cd0: 6775 6167 650a 2d2d 2d2d 2d2d 2d2d 2d2d guage.---------- │ │ │ │ │ +00012ce0: 2d2d 2d2d 0a0a 2020 2020 206c 616e 6775 ----.. langu │ │ │ │ │ +00012cf0: 6167 6520 7469 6b7a 0a20 2020 2020 6c61 age tikz. la │ │ │ │ │ +00012d00: 6e67 7561 6765 2074 696b 7a2c 2063 6f6e nguage tikz, con │ │ │ │ │ +00012d10: 7465 7874 0a20 2020 2020 6c61 6e67 7561 text. langua │ │ │ │ │ +00012d20: 6765 2070 7374 7269 636b 730a 2020 2020 ge pstricks. │ │ │ │ │ +00012d30: 206c 616e 6775 6167 6520 7073 7472 6963 language pstric │ │ │ │ │ +00012d40: 6b73 2c20 6c61 7465 780a 5365 7473 2074 ks, latex.Sets t │ │ │ │ │ +00012d50: 6865 206f 7574 7075 7420 6c61 6e67 7561 he output langua │ │ │ │ │ +00012d60: 6765 2067 656e 6572 6174 6564 2062 7920 ge generated by │ │ │ │ │ +00012d70: e280 9873 6b65 7463 68e2 8099 2e20 2054 ...sketch.... T │ │ │ │ │ +00012d80: 6865 2073 6574 206f 6620 6f70 7469 6f6e he set of option │ │ │ │ │ +00012d90: 730a 756e 6465 7273 746f 6f64 2062 7920 s.understood by │ │ │ │ │ +00012da0: 736b 6574 6368 2061 6c73 6f20 6368 616e sketch also chan │ │ │ │ │ +00012db0: 6765 732e 2020 466f 7220 6578 616d 706c ges. For exampl │ │ │ │ │ +00012dc0: 652c 2074 6865 20e2 8098 5053 5472 6963 e, the ...PSTric │ │ │ │ │ +00012dd0: 6b73 e280 9920 6f70 7469 6f6e 0ae2 8098 ks... option.... │ │ │ │ │ +00012de0: 6c69 6e65 7769 6474 68e2 8099 2077 696c linewidth... wil │ │ │ │ │ +00012df0: 6c20 6e6f 7420 6265 2070 726f 7065 726c l not be properl │ │ │ │ │ +00012e00: 7920 6861 6e64 6c65 6420 6966 20e2 8098 y handled if ... │ │ │ │ │ +00012e10: 6c61 6e67 7561 6765 e280 9920 6973 2073 language... is s │ │ │ │ │ +00012e20: 6574 2074 6f20 e280 9874 696b 7ae2 8099 et to ...tikz... │ │ │ │ │ +00012e30: 2e0a 5369 6d69 6c61 726c 792c 2074 6865 ..Similarly, the │ │ │ │ │ +00012e40: 20e2 8098 5469 6b5a e280 9920 6f70 7469 ...TikZ... opti │ │ │ │ │ +00012e50: 6f6e 20e2 8098 6c69 6e65 2073 7479 6c65 on ...line style │ │ │ │ │ +00012e60: e280 9920 286e 6f74 6520 7468 6520 7370 ... (note the sp │ │ │ │ │ +00012e70: 6163 6529 2077 696c 6c20 6e6f 7420 6265 ace) will not be │ │ │ │ │ +00012e80: 0a70 726f 7065 726c 7920 6861 6e64 6c65 .properly handle │ │ │ │ │ +00012e90: 6420 6966 20e2 8098 6c61 6e67 7561 6765 d if ...language │ │ │ │ │ +00012ea0: e280 9920 6973 2073 6574 2074 6f20 e280 ... is set to .. │ │ │ │ │ +00012eb0: 9870 7374 7269 636b 73e2 8099 2e20 2049 .pstricks.... I │ │ │ │ │ +00012ec0: 6620 6e6f 206c 616e 6775 6167 6520 6973 f no language is │ │ │ │ │ +00012ed0: 0a73 7065 6369 6669 6564 2c20 7468 6520 .specified, the │ │ │ │ │ +00012ee0: 6465 6661 756c 7420 e280 9870 7374 7269 default ...pstri │ │ │ │ │ +00012ef0: 636b 73e2 8099 2069 7320 7573 6564 2e0a cks... is used.. │ │ │ │ │ +00012f00: 0a20 2020 416e 206f 7074 696f 6e61 6c20 . An optional │ │ │ │ │ +00012f10: 636f 6d6d 6120 666f 6c6c 6f77 6564 2062 comma followed b │ │ │ │ │ +00012f20: 7920 e280 986c 6174 6578 e280 9920 6f72 y ...latex... or │ │ │ │ │ +00012f30: 20e2 8098 636f 6e74 6578 74e2 8099 2073 ...context... s │ │ │ │ │ +00012f40: 7065 6369 6669 6573 2074 6865 0a6d 6163 pecifies the.mac │ │ │ │ │ +00012f50: 726f 2070 6163 6b61 6765 2074 6861 7420 ro package that │ │ │ │ │ +00012f60: 7468 6520 6f75 7470 7574 2073 686f 756c the output shoul │ │ │ │ │ +00012f70: 6420 6173 7375 6d65 2e20 2054 6869 7320 d assume. This │ │ │ │ │ +00012f80: 6166 6665 6374 7320 7468 6520 e280 9870 affects the ...p │ │ │ │ │ +00012f90: 6963 7475 7265 e280 990a 656e 7669 726f icture....enviro │ │ │ │ │ +00012fa0: 6e6d 656e 7420 636f 6d6d 616e 6473 2065 nment commands e │ │ │ │ │ +00012fb0: 6d69 7474 6564 2061 6e64 2074 6865 2064 mitted and the d │ │ │ │ │ +00012fc0: 6f63 756d 656e 7420 7465 6d70 6c61 7465 ocument template │ │ │ │ │ +00012fd0: 2075 7365 6420 7769 7468 2074 6865 0ae2 used with the.. │ │ │ │ │ +00012fe0: 8098 2d54 e280 9920 6f70 7469 6f6e 2e20 ..-T... option. │ │ │ │ │ +00012ff0: 202a 4e6f 7465 2043 6f6d 6d61 6e64 206c *Note Command l │ │ │ │ │ +00013000: 696e 653a 3a2e 2020 4e6f 7465 2074 6861 ine::. Note tha │ │ │ │ │ +00013010: 7420 6174 2074 6865 2074 696d 6520 7468 t at the time th │ │ │ │ │ +00013020: 6973 206d 616e 7561 6c0a 7761 7320 6765 is manual.was ge │ │ │ │ │ +00013030: 6e65 7261 7465 642c 20e2 8098 5053 5472 nerated, ...PSTr │ │ │ │ │ +00013040: 6963 6b73 e280 9920 7761 7320 6e6f 7420 icks... was not │ │ │ │ │ +00013050: 7375 7070 6f72 7465 6420 6279 204c 6154 supported by LaT │ │ │ │ │ +00013060: 6558 206f 7220 6279 20e2 8098 436f 6e54 eX or by ...ConT │ │ │ │ │ +00013070: 6558 74e2 8099 2e0a 0a1f 0a46 696c 653a eXt........File: │ │ │ │ │ +00013080: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00013090: 6f64 653a 2042 7569 6c64 696e 6720 6120 ode: Building a │ │ │ │ │ +000130a0: 6472 6177 696e 672c 2020 4e65 7874 3a20 drawing, Next: │ │ │ │ │ +000130b0: 436f 6d6d 616e 6420 6c69 6e65 2c20 2050 Command line, P │ │ │ │ │ +000130c0: 7265 763a 2049 6e70 7574 206c 616e 6775 rev: Input langu │ │ │ │ │ +000130d0: 6167 652c 2020 5570 3a20 546f 700a 0a34 age, Up: Top..4 │ │ │ │ │ +000130e0: 2042 7569 6c64 696e 6720 6120 6472 6177 Building a draw │ │ │ │ │ +000130f0: 696e 670a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ing.************ │ │ │ │ │ +00013100: 2a2a 2a2a 2a2a 2a2a 0a0a 5375 6363 6573 ********..Succes │ │ │ │ │ +00013110: 7366 756c 2064 7261 7769 6e67 7320 7769 sful drawings wi │ │ │ │ │ +00013120: 7468 20e2 8098 736b 6574 6368 e280 9920 th ...sketch... │ │ │ │ │ +00013130: 616e 6420 7769 7468 2061 6e79 2073 6365 and with any sce │ │ │ │ │ +00013140: 6e65 2064 6573 6372 6970 7469 6f6e 0a6c ne description.l │ │ │ │ │ +00013150: 616e 6775 6167 6520 7265 7175 6972 6520 anguage require │ │ │ │ │ +00013160: 7468 6174 2074 6865 2075 7365 7220 6465 that the user de │ │ │ │ │ +00013170: 7665 6c6f 7020 616e 2061 6363 7572 6174 velop an accurat │ │ │ │ │ +00013180: 6520 6d65 6e74 616c 2070 6963 7475 7265 e mental picture │ │ │ │ │ +00013190: 206f 6620 6865 720a 636f 6465 2061 6e64 of her.code and │ │ │ │ │ +000131a0: 2069 7473 206d 6561 6e69 6e67 2e20 2054 its meaning. T │ │ │ │ │ +000131b0: 6869 7320 696d 6167 6520 6973 2062 6573 his image is bes │ │ │ │ │ +000131c0: 7420 6275 696c 7420 696e 2073 6d61 6c6c t built in small │ │ │ │ │ +000131d0: 2070 6965 6365 732e 0a54 6865 7265 666f pieces..Therefo │ │ │ │ │ +000131e0: 7265 2c20 e280 9873 6b65 7463 68e2 8099 re, ...sketch... │ │ │ │ │ +000131f0: 2069 6e70 7574 7320 6172 6520 6265 7374 inputs are best │ │ │ │ │ +00013200: 2063 7265 6174 6564 2069 6e20 736d 616c created in smal │ │ │ │ │ +00013210: 6c20 696e 6372 656d 656e 7473 2077 6974 l increments wit │ │ │ │ │ +00013220: 680a 6672 6571 7565 6e74 2070 6175 7365 h.frequent pause │ │ │ │ │ +00013230: 7320 746f 2063 6f6d 7069 6c65 2061 6e64 s to compile and │ │ │ │ │ +00013240: 2076 6965 7720 7468 6520 7265 7375 6c74 view the result │ │ │ │ │ +00013250: 732e 2020 4361 7265 6675 6c20 636f 6d6d s. Careful comm │ │ │ │ │ +00013260: 656e 7473 2069 6e0a 7468 6520 696e 7075 ents in.the inpu │ │ │ │ │ +00013270: 7420 6f66 7465 6e20 6865 6c70 2061 7320 t often help as │ │ │ │ │ +00013280: 6120 7363 656e 6520 6772 6f77 7320 696e a scene grows in │ │ │ │ │ +00013290: 2063 6f6d 706c 6578 6974 792e 0a0a 2a20 complexity...* │ │ │ │ │ +000132a0: 4d65 6e75 3a0a 0a2a 204f 7665 7276 6965 Menu:..* Overvie │ │ │ │ │ +000132b0: 773a 3a20 2020 2020 2020 2020 2020 2020 w:: │ │ │ │ │ +000132c0: 2020 2020 2020 2042 7569 6c64 696e 6720 Building │ │ │ │ │ +000132d0: 6120 7375 6273 7461 6e74 6961 6c20 6472 a substantial dr │ │ │ │ │ +000132e0: 6177 696e 672e 0a2a 2041 2074 6563 686e awing..* A techn │ │ │ │ │ +000132f0: 6963 616c 2064 7261 7769 6e67 3a3a 2020 ical drawing:: │ │ │ │ │ +00013300: 2020 2020 2020 2041 6e20 6578 616d 706c An exampl │ │ │ │ │ +00013310: 6520 7769 7468 2066 696e 6520 706c 6163 e with fine plac │ │ │ │ │ +00013320: 656d 656e 742e 0a2a 2041 2068 6965 7261 ement..* A hiera │ │ │ │ │ +00013330: 7263 6869 6361 6c20 6d6f 6465 6c3a 3a20 rchical model:: │ │ │ │ │ +00013340: 2020 2020 2020 2041 6e20 6578 616d 706c An exampl │ │ │ │ │ +00013350: 6520 7769 7468 2073 7765 6570 7320 616e e with sweeps an │ │ │ │ │ +00013360: 6420 7075 7473 2e0a 2a20 4361 7665 6174 d puts..* Caveat │ │ │ │ │ +00013370: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00013380: 2020 2020 2020 2020 5768 6572 6520 7472 Where tr │ │ │ │ │ +00013390: 6f75 626c 6520 6361 6e20 6f63 6375 722e ouble can occur. │ │ │ │ │ +000133a0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +000133b0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4f76 .info, Node: Ov │ │ │ │ │ +000133c0: 6572 7669 6577 2c20 204e 6578 743a 2041 erview, Next: A │ │ │ │ │ +000133d0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +000133e0: 6e67 2c20 2050 7265 763a 2042 7569 6c64 ng, Prev: Build │ │ │ │ │ +000133f0: 696e 6720 6120 6472 6177 696e 672c 2020 ing a drawing, │ │ │ │ │ +00013400: 5570 3a20 4275 696c 6469 6e67 2061 2064 Up: Building a d │ │ │ │ │ +00013410: 7261 7769 6e67 0a0a 342e 3120 4f76 6572 rawing..4.1 Over │ │ │ │ │ +00013420: 7669 6577 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d view.=========== │ │ │ │ │ +00013430: 3d0a 0a41 7320 616e 206f 7665 7276 6965 =..As an overvie │ │ │ │ │ +00013440: 772c 206c 6574 2773 2064 6576 656c 6f70 w, let's develop │ │ │ │ │ +00013450: 2061 2064 6961 6772 616d 2074 6861 7420 a diagram that │ │ │ │ │ +00013460: 7368 6f77 7320 686f 7720 6120 7065 7273 shows how a pers │ │ │ │ │ +00013470: 7065 6374 6976 650a 7072 6f6a 6563 7469 pective.projecti │ │ │ │ │ +00013480: 6f6e 2074 7261 6e73 666f 726d 2077 6f72 on transform wor │ │ │ │ │ +00013490: 6b73 2e20 2057 6527 6c6c 2073 7461 7274 ks. We'll start │ │ │ │ │ +000134a0: 2077 6974 6820 7468 6520 7472 6164 6974 with the tradit │ │ │ │ │ +000134b0: 696f 6e61 6c20 7265 6665 7265 6e63 650a ional reference. │ │ │ │ │ +000134c0: 6f62 6a65 6374 2075 7365 6420 696e 2063 object used in c │ │ │ │ │ +000134d0: 6f6d 7075 7465 7220 6772 6170 6869 6373 omputer graphics │ │ │ │ │ +000134e0: 2074 6578 7462 6f6f 6b73 2c20 6120 686f textbooks, a ho │ │ │ │ │ +000134f0: 7573 652d 7368 6170 6564 2070 7269 736d use-shaped prism │ │ │ │ │ +00013500: 2e20 2042 6567 696e 0a62 7920 6465 6669 . Begin.by defi │ │ │ │ │ +00013510: 6e69 6e67 2074 6865 2070 6f69 6e74 7320 ning the points │ │ │ │ │ +00013520: 6f66 2074 6865 2068 6f75 7365 2e20 2052 of the house. R │ │ │ │ │ +00013530: 6174 6865 7220 7468 616e 2064 6566 696e ather than defin │ │ │ │ │ +00013540: 696e 6720 7468 6520 6661 6365 7320 6f66 ing the faces of │ │ │ │ │ +00013550: 0a74 6865 2068 6f75 7365 2061 7320 706f .the house as po │ │ │ │ │ +00013560: 6c79 676f 6e73 2061 6e64 2074 7261 6e73 lygons and trans │ │ │ │ │ +00013570: 666f 726d 696e 6720 7468 6f73 652c 2077 forming those, w │ │ │ │ │ +00013580: 6520 6172 6520 676f 696e 6720 746f 2074 e are going to t │ │ │ │ │ +00013590: 7261 6e73 666f 726d 0a74 6865 2070 6f69 ransform.the poi │ │ │ │ │ +000135a0: 6e74 7320 7468 656d 7365 6c76 6573 2077 nts themselves w │ │ │ │ │ +000135b0: 6974 6820 e280 9873 6b65 7463 68e2 8099 ith ...sketch... │ │ │ │ │ +000135c0: 2061 7269 7468 6d65 7469 6320 736f 2074 arithmetic so t │ │ │ │ │ +000135d0: 6861 7420 7765 2068 6176 6520 6e61 6d65 hat we have name │ │ │ │ │ +000135e0: 7320 666f 720a 7468 6520 7472 616e 7366 s for.the transf │ │ │ │ │ +000135f0: 6f72 6d65 6420 706f 696e 7473 206c 6174 ormed points lat │ │ │ │ │ +00013600: 6572 2e0a 2020 2520 7269 6768 7420 7369 er.. % right si │ │ │ │ │ +00013610: 6465 2028 6f75 7473 6964 6520 746f 2072 de (outside to r │ │ │ │ │ +00013620: 6967 6874 290a 2020 6465 6620 5231 2028 ight). def R1 ( │ │ │ │ │ +00013630: 312c 312c 3129 2064 6566 2052 3220 2831 1,1,1) def R2 (1 │ │ │ │ │ +00013640: 2c2d 312c 3129 2064 6566 2052 3320 2831 ,-1,1) def R3 (1 │ │ │ │ │ +00013650: 2c2d 312c 2d31 2920 6465 6620 5234 2028 ,-1,-1) def R4 ( │ │ │ │ │ +00013660: 312c 312c 2d31 290a 2020 6465 6620 5235 1,1,-1). def R5 │ │ │ │ │ +00013670: 2028 312c 312e 352c 3029 0a0a 2020 2520 (1,1.5,0).. % │ │ │ │ │ +00013680: 6c65 6674 2073 6964 6520 286f 7574 7369 left side (outsi │ │ │ │ │ +00013690: 6465 2074 6f20 7269 6768 742d 2d62 6163 de to right--bac │ │ │ │ │ +000136a0: 6b77 6172 6429 0a20 2064 6566 2057 2020 kward). def W │ │ │ │ │ +000136b0: 5b32 2c30 2c30 5d0a 2020 6465 6620 4c31 [2,0,0]. def L1 │ │ │ │ │ +000136c0: 2028 5231 292d 5b57 5d20 6465 6620 4c32 (R1)-[W] def L2 │ │ │ │ │ +000136d0: 2028 5232 292d 5b57 5d20 6465 6620 4c33 (R2)-[W] def L3 │ │ │ │ │ +000136e0: 2028 5233 292d 5b57 5d20 6465 6620 4c34 (R3)-[W] def L4 │ │ │ │ │ +000136f0: 2028 5234 292d 5b57 5d0a 2020 6465 6620 (R4)-[W]. def │ │ │ │ │ +00013700: 4c35 2028 5235 292d 5b57 5d0a 546f 2061 L5 (R5)-[W].To a │ │ │ │ │ +00013710: 6464 2061 2064 6f6f 7220 746f 2074 6865 dd a door to the │ │ │ │ │ +00013720: 2068 6f75 7365 2c20 7765 2075 7365 2061 house, we use a │ │ │ │ │ +00013730: 2070 6f6c 7967 6f6e 2073 6c69 6768 746c polygon slightl │ │ │ │ │ +00013740: 7920 696e 2066 726f 6e74 206f 6620 7468 y in front of th │ │ │ │ │ +00013750: 650a 666f 7265 6d6f 7374 2066 6163 6520 e.foremost face │ │ │ │ │ +00013760: 6f66 2074 6865 2068 6f75 7365 2e0a 2020 of the house.. │ │ │ │ │ +00013770: 2520 646f 6f72 0a20 2064 6566 2065 202e % door. def e . │ │ │ │ │ +00013780: 3031 0a20 2064 6566 2044 3120 2830 2c2d 01. def D1 (0,- │ │ │ │ │ +00013790: 312c 312b 6529 2064 6566 2044 3220 282e 1,1+e) def D2 (. │ │ │ │ │ +000137a0: 352c 2d31 2c31 2b65 2920 6465 6620 4433 5,-1,1+e) def D3 │ │ │ │ │ +000137b0: 2028 2e35 2c30 2c31 2b65 2920 6465 6620 (.5,0,1+e) def │ │ │ │ │ +000137c0: 4434 2028 302c 302c 312b 6529 0a4e 6f77 D4 (0,0,1+e).Now │ │ │ │ │ +000137d0: 206c 6574 2773 2063 7265 6174 6520 6120 let's create a │ │ │ │ │ +000137e0: 6e65 7720 7365 7420 6f66 2070 6f69 6e74 new set of point │ │ │ │ │ +000137f0: 7320 7468 6174 2061 7265 2061 2074 6f2d s that are a to- │ │ │ │ │ +00013800: 6265 2d64 6574 6572 6d69 6e65 640a 7472 be-determined.tr │ │ │ │ │ +00013810: 616e 7366 6f72 6d20 6f66 2074 6865 206f ansform of the o │ │ │ │ │ +00013820: 7269 6769 6e61 6c73 2e0a 2020 6465 6620 riginals.. def │ │ │ │ │ +00013830: 6870 2073 6361 6c65 2831 2920 2520 686f hp scale(1) % ho │ │ │ │ │ +00013840: 7573 6520 706f 7369 7469 6f6e 6572 0a20 use positioner. │ │ │ │ │ +00013850: 2064 6566 2070 5231 205b 5b68 705d 5d2a def pR1 [[hp]]* │ │ │ │ │ +00013860: 2852 3129 2064 6566 2070 5232 205b 5b68 (R1) def pR2 [[h │ │ │ │ │ +00013870: 705d 5d2a 2852 3229 2064 6566 2070 5233 p]]*(R2) def pR3 │ │ │ │ │ +00013880: 205b 5b68 705d 5d2a 2852 3329 0a20 2064 [[hp]]*(R3). d │ │ │ │ │ +00013890: 6566 2070 5234 205b 5b68 705d 5d2a 2852 ef pR4 [[hp]]*(R │ │ │ │ │ +000138a0: 3429 2064 6566 2070 5235 205b 5b68 705d 4) def pR5 [[hp] │ │ │ │ │ +000138b0: 5d2a 2852 3529 0a20 2064 6566 2070 4c31 ]*(R5). def pL1 │ │ │ │ │ +000138c0: 205b 5b68 705d 5d2a 284c 3129 2064 6566 [[hp]]*(L1) def │ │ │ │ │ +000138d0: 2070 4c32 205b 5b68 705d 5d2a 284c 3229 pL2 [[hp]]*(L2) │ │ │ │ │ +000138e0: 2064 6566 2070 4c33 205b 5b68 705d 5d2a def pL3 [[hp]]* │ │ │ │ │ +000138f0: 284c 3329 0a20 2064 6566 2070 4c34 205b (L3). def pL4 [ │ │ │ │ │ +00013900: 5b68 705d 5d2a 284c 3429 2064 6566 2070 [hp]]*(L4) def p │ │ │ │ │ +00013910: 4c35 205b 5b68 705d 5d2a 284c 3529 0a20 L5 [[hp]]*(L5). │ │ │ │ │ +00013920: 2064 6566 2070 4431 205b 5b68 705d 5d2a def pD1 [[hp]]* │ │ │ │ │ +00013930: 2844 3129 2064 6566 2070 4432 205b 5b68 (D1) def pD2 [[h │ │ │ │ │ +00013940: 705d 5d2a 2844 3229 2064 6566 2070 4433 p]]*(D2) def pD3 │ │ │ │ │ +00013950: 205b 5b68 705d 5d2a 2844 3329 0a20 2064 [[hp]]*(D3). d │ │ │ │ │ +00013960: 6566 2070 4434 205b 5b68 705d 5d2a 2844 ef pD4 [[hp]]*(D │ │ │ │ │ +00013970: 3429 200a 4e6f 7465 2074 6865 2075 7365 4) .Note the use │ │ │ │ │ +00013980: 206f 6620 6120 e280 9c74 7261 6e73 666f of a ...transfo │ │ │ │ │ +00013990: 726d 2064 6566 696e 6974 696f 6ee2 809d rm definition... │ │ │ │ │ +000139a0: 2061 6e64 20e2 809c 7472 616e 7366 6f72 and ...transfor │ │ │ │ │ +000139b0: 6d20 7265 6665 7265 6e63 6573 e280 9d2e m references.... │ │ │ │ │ +000139c0: 0a4e 6f77 2064 6566 696e 6520 7468 6520 .Now define the │ │ │ │ │ +000139d0: 7365 7665 6e20 706f 6c79 676f 6e61 6c20 seven polygonal │ │ │ │ │ +000139e0: 6661 6365 7320 6f66 2074 6865 2068 6f75 faces of the hou │ │ │ │ │ +000139f0: 7365 2061 6e64 2074 6865 2064 6f6f 7220 se and the door │ │ │ │ │ +00013a00: 7573 696e 6720 7468 650a 7472 616e 7366 using the.transf │ │ │ │ │ +00013a10: 6f72 6d65 6420 706f 696e 7473 2061 7320 ormed points as │ │ │ │ │ +00013a20: 7665 7274 6963 6573 2e20 2042 6520 6361 vertices. Be ca │ │ │ │ │ +00013a30: 7265 6675 6c20 7769 7468 2076 6572 7465 reful with verte │ │ │ │ │ +00013a40: 7820 6f72 6465 7221 0a20 2064 6566 2072 x order!. def r │ │ │ │ │ +00013a50: 6774 2070 6f6c 7967 6f6e 2028 7052 3129 gt polygon (pR1) │ │ │ │ │ +00013a60: 2870 5232 2928 7052 3329 2870 5234 2928 (pR2)(pR3)(pR4)( │ │ │ │ │ +00013a70: 7052 3529 0a20 2064 6566 206c 6674 2070 pR5). def lft p │ │ │ │ │ +00013a80: 6f6c 7967 6f6e 2028 704c 3529 2870 4c34 olygon (pL5)(pL4 │ │ │ │ │ +00013a90: 2928 704c 3329 2870 4c32 2928 704c 3129 )(pL3)(pL2)(pL1) │ │ │ │ │ +00013aa0: 0a20 2064 6566 2066 7274 2070 6f6c 7967 . def frt polyg │ │ │ │ │ +00013ab0: 6f6e 2028 7052 3229 2870 5231 2928 704c on (pR2)(pR1)(pL │ │ │ │ │ +00013ac0: 3129 2870 4c32 290a 2020 6465 6620 6263 1)(pL2). def bc │ │ │ │ │ +00013ad0: 6b20 706f 6c79 676f 6e20 2870 5234 2928 k polygon (pR4)( │ │ │ │ │ +00013ae0: 7052 3329 2870 4c33 2928 704c 3429 0a20 pR3)(pL3)(pL4). │ │ │ │ │ +00013af0: 2064 6566 2074 6672 2070 6f6c 7967 6f6e def tfr polygon │ │ │ │ │ +00013b00: 2028 7052 3129 2870 5235 2928 704c 3529 (pR1)(pR5)(pL5) │ │ │ │ │ +00013b10: 2870 4c31 290a 2020 6465 6620 7462 6b20 (pL1). def tbk │ │ │ │ │ +00013b20: 706f 6c79 676f 6e20 2870 5235 2928 7052 polygon (pR5)(pR │ │ │ │ │ +00013b30: 3429 2870 4c34 2928 704c 3529 0a20 2064 4)(pL4)(pL5). d │ │ │ │ │ +00013b40: 6566 2062 6f74 2070 6f6c 7967 6f6e 2028 ef bot polygon ( │ │ │ │ │ +00013b50: 7052 3229 2870 4c32 2928 704c 3329 2870 pR2)(pL2)(pL3)(p │ │ │ │ │ +00013b60: 5233 290a 2020 6465 6620 646f 6f72 2070 R3). def door p │ │ │ │ │ +00013b70: 6f6c 7967 6f6e 5b66 696c 6c63 6f6c 6f72 olygon[fillcolor │ │ │ │ │ +00013b80: 3d62 726f 776e 5d20 2870 4431 2928 7044 =brown] (pD1)(pD │ │ │ │ │ +00013b90: 3229 2870 4433 2928 7044 3429 0a20 2064 2)(pD3)(pD4). d │ │ │ │ │ +00013ba0: 6566 2068 6f75 7365 207b 207b 7267 747d ef house { {rgt} │ │ │ │ │ +00013bb0: 7b6c 6674 7d7b 6672 747d 7b62 636b 7d7b {lft}{frt}{bck}{ │ │ │ │ │ +00013bc0: 7466 727d 7b74 626b 7d7b 626f 747d 7b64 tfr}{tbk}{bot}{d │ │ │ │ │ +00013bd0: 6f6f 727d 207d 0a20 2020 5469 6d65 2066 oor} }. Time f │ │ │ │ │ +00013be0: 6f72 2061 2073 616e 6974 7920 6368 6563 or a sanity chec │ │ │ │ │ +00013bf0: 6b2e 2020 4164 6420 7468 6520 6c69 6e65 k. Add the line │ │ │ │ │ +00013c00: 0a20 207b 686f 7573 657d 0a61 6e64 2074 . {house}.and t │ │ │ │ │ +00013c10: 6869 7320 6973 2077 6861 7420 7765 2067 his is what we g │ │ │ │ │ +00013c20: 6574 2e0a 0a00 085b 696d 6167 6520 7372 et.....[image sr │ │ │ │ │ +00013c30: 633d 2265 7831 3330 2e70 6e67 2220 7465 c="ex130.png" te │ │ │ │ │ +00013c40: 7874 3d22 496d 6167 6520 6578 3133 3020 xt="Image ex130 │ │ │ │ │ +00013c50: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text │ │ │ │ │ +00013c60: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this │ │ │ │ │ +00013c70: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a54 document."..]..T │ │ │ │ │ +00013c80: 6869 7320 6973 2063 6f72 7265 6374 2c20 his is correct, │ │ │ │ │ +00013c90: 6275 7420 646f 6573 206e 6f74 2072 6576 but does not rev │ │ │ │ │ +00013ca0: 6561 6c20 7665 7279 206d 7563 682e 2020 eal very much. │ │ │ │ │ +00013cb0: 436f 6d6d 6f6e 2065 7272 6f72 7320 6172 Common errors ar │ │ │ │ │ +00013cc0: 650a 6d69 7370 6c61 6365 6420 7665 7274 e.misplaced vert │ │ │ │ │ +00013cd0: 6963 6573 2061 6e64 2070 6f6c 7967 6f6e ices and polygon │ │ │ │ │ +00013ce0: 7320 6d69 7373 696e 6720 656e 7469 7265 s missing entire │ │ │ │ │ +00013cf0: 6c79 2064 7565 2074 6f20 696e 636f 7272 ly due to incorr │ │ │ │ │ +00013d00: 6563 7420 7665 7274 6578 0a6f 7264 6572 ect vertex.order │ │ │ │ │ +00013d10: 2e20 2054 6f20 7275 6c65 2074 6865 7365 . To rule these │ │ │ │ │ +00013d20: 206f 7574 2c20 6c65 7427 7320 696e 7370 out, let's insp │ │ │ │ │ +00013d30: 6563 7420 616c 6c20 7369 6465 7320 6f66 ect all sides of │ │ │ │ │ +00013d40: 2074 6865 2068 6f75 7365 2e20 2054 6869 the house. Thi │ │ │ │ │ +00013d50: 730a 6973 206e 6f74 2068 6172 642e 2020 s.is not hard. │ │ │ │ │ +00013d60: 4d65 7265 6c79 2072 6570 6c61 6365 2074 Merely replace t │ │ │ │ │ +00013d70: 6865 2072 6566 6572 656e 6365 207b 686f he reference {ho │ │ │ │ │ +00013d80: 7573 657d 2077 6974 6820 6120 e280 9872 use} with a ...r │ │ │ │ │ +00013d90: 6570 6561 74e2 8099 2e0a 2a4e 6f74 6520 epeat.....*Note │ │ │ │ │ +00013da0: 5265 7065 6174 733a 3a2e 0a20 2072 6570 Repeats::.. rep │ │ │ │ │ +00013db0: 6561 7420 7b20 3133 2c20 726f 7461 7465 eat { 13, rotate │ │ │ │ │ +00013dc0: 2833 302c 205b 312c 322c 335d 292c 2074 (30, [1,2,3]), t │ │ │ │ │ +00013dd0: 7261 6e73 6c61 7465 285b 332c 302c 305d ranslate([3,0,0] │ │ │ │ │ +00013de0: 2920 7d20 7b68 6f75 7365 7d0a 0008 5b69 ) } {house}...[i │ │ │ │ │ +00013df0: 6d61 6765 2073 7263 3d22 6578 3134 302e mage src="ex140. │ │ │ │ │ +00013e00: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00013e10: 2065 7831 3430 206f 6d69 7474 6564 2069 ex140 omitted i │ │ │ │ │ +00013e20: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00013e30: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +00013e40: 2200 085d 0a0a 4167 6169 6e20 7468 696e "..]..Again thin │ │ │ │ │ +00013e50: 6773 206c 6f6f 6b20 636f 7272 6563 742e gs look correct. │ │ │ │ │ +00013e60: 2020 4e6f 7465 2074 6861 7420 7468 6520 Note that the │ │ │ │ │ +00013e70: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ +00013e80: 6c67 6f72 6974 686d 0a68 616e 646c 6573 lgorithm.handles │ │ │ │ │ +00013e90: 2069 6e74 6572 7365 6374 696e 6720 706f intersecting po │ │ │ │ │ +00013ea0: 6c79 676f 6e73 2063 6f72 7265 6374 6c79 lygons correctly │ │ │ │ │ +00013eb0: 2077 6865 7265 2073 6f6d 6520 636f 7069 where some copi │ │ │ │ │ +00013ec0: 6573 206f 6620 7468 6520 686f 7573 650a es of the house. │ │ │ │ │ +00013ed0: 6f76 6572 6c61 702e 0a0a 2020 204c 6574 overlap... Let │ │ │ │ │ +00013ee0: 2773 206c 6179 206f 7574 2074 6865 2067 's lay out the g │ │ │ │ │ +00013ef0: 656f 6d65 7472 7920 6f66 2070 6572 7370 eometry of persp │ │ │ │ │ +00013f00: 6563 7469 7665 2070 726f 6a65 6374 696f ective projectio │ │ │ │ │ +00013f10: 6e20 6f66 2074 6865 2068 6f75 7365 0a6f n of the house.o │ │ │ │ │ +00013f20: 6e74 6f20 6120 706c 616e 6520 7769 7468 nto a plane with │ │ │ │ │ +00013f30: 2072 6179 7320 7061 7373 696e 6720 7468 rays passing th │ │ │ │ │ +00013f40: 726f 7567 6820 7468 6520 6f72 6967 696e rough the origin │ │ │ │ │ +00013f50: 2e20 2042 6567 696e 2062 7920 706f 7369 . Begin by posi │ │ │ │ │ +00013f60: 7469 6f6e 696e 670a 7468 6520 686f 7573 tioning.the hous │ │ │ │ │ +00013f70: 6520 7477 656c 7665 2075 6e69 7473 2062 e twelve units b │ │ │ │ │ +00013f80: 6163 6b20 6f6e 2074 6865 206e 6567 6174 ack on the negat │ │ │ │ │ +00013f90: 6976 6520 7a2d 6178 6973 2061 6e64 2061 ive z-axis and a │ │ │ │ │ +00013fa0: 6464 696e 6720 6120 7365 7420 6f66 0a63 dding a set of.c │ │ │ │ │ +00013fb0: 6f6f 7264 696e 6174 6520 6178 6573 2e20 oordinate axes. │ │ │ │ │ +00013fc0: 2054 6f20 6d6f 7665 2074 6865 2068 6f75 To move the hou │ │ │ │ │ +00013fd0: 7365 2077 6520 6e65 6564 206f 6e6c 7920 se we need only │ │ │ │ │ +00013fe0: 6368 616e 6765 2074 6865 2022 686f 7573 change the "hous │ │ │ │ │ +00013ff0: 650a 706f 7369 7469 6f6e 696e 6722 2074 e.positioning" t │ │ │ │ │ +00014000: 7261 6e73 666f 726d 2064 6566 696e 6564 ransform defined │ │ │ │ │ +00014010: 2065 6172 6c69 6572 2e0a 2020 6465 6620 earlier.. def │ │ │ │ │ +00014020: 6870 2072 6f74 6174 6528 2d34 302c 205b hp rotate(-40, [ │ │ │ │ │ +00014030: 302c 312c 305d 2920 7468 656e 2074 7261 0,1,0]) then tra │ │ │ │ │ +00014040: 6e73 6c61 7465 285b 302c 302c 2d31 325d nslate([0,0,-12] │ │ │ │ │ +00014050: 290a 2020 6465 6620 6178 6573 207b 0a20 ). def axes {. │ │ │ │ │ +00014060: 2020 2064 6566 2073 7a20 310a 2020 2020 def sz 1. │ │ │ │ │ +00014070: 6c69 6e65 205b 6172 726f 7773 3d3c 2d3e line [arrows=<-> │ │ │ │ │ +00014080: 5d20 2873 7a2c 302c 3029 284f 2928 302c ] (sz,0,0)(O)(0, │ │ │ │ │ +00014090: 737a 2c30 290a 2020 2020 6c69 6e65 205b sz,0). line [ │ │ │ │ │ +000140a0: 6172 726f 7773 3d2d 3e5d 2020 284f 2928 arrows=->] (O)( │ │ │ │ │ +000140b0: 302c 302c 737a 290a 2020 2020 6c69 6e65 0,0,sz). line │ │ │ │ │ +000140c0: 205b 6c69 6e65 7769 6474 683d 2e32 7074 [linewidth=.2pt │ │ │ │ │ +000140d0: 2c6c 696e 6563 6f6c 6f72 3d62 6c75 652c ,linecolor=blue, │ │ │ │ │ +000140e0: 6c69 6e65 7374 796c 653d 6461 7368 6564 linestyle=dashed │ │ │ │ │ +000140f0: 5d20 284f 2928 302c 302c 2d31 3029 0a20 ] (O)(0,0,-10). │ │ │ │ │ +00014100: 2020 2073 7065 6369 616c 207c 5c75 7075 special |\upu │ │ │ │ │ +00014110: 745b 725d 2331 7b24 7824 7d5c 7570 7574 t[r]#1{$x$}\uput │ │ │ │ │ +00014120: 5b75 5d23 327b 2479 247d 5c75 7075 745b [u]#2{$y$}\uput[ │ │ │ │ │ +00014130: 6c5d 2333 7b24 7a24 7d7c 0a20 2020 2020 l]#3{$z$}|. │ │ │ │ │ +00014140: 2028 737a 2c30 2c30 2928 302c 737a 2c30 (sz,0,0)(0,sz,0 │ │ │ │ │ +00014150: 2928 302c 302c 737a 290a 2020 7d0a 0a20 )(0,0,sz). }.. │ │ │ │ │ +00014160: 2020 5469 6d65 2066 6f72 2061 6e6f 7468 Time for anoth │ │ │ │ │ +00014170: 6572 2074 6573 742e 2020 4c65 7427 7320 er test. Let's │ │ │ │ │ +00014180: 6275 696c 6420 6120 7265 616c 2076 6965 build a real vie │ │ │ │ │ +00014190: 7720 7472 616e 7366 6f72 6d2c 2063 7265 w transform, cre │ │ │ │ │ +000141a0: 6174 696e 6720 610a e280 9c76 6972 7475 ating a....virtu │ │ │ │ │ +000141b0: 616c 2063 616d 6572 61e2 809d 2074 6f20 al camera... to │ │ │ │ │ +000141c0: 6c6f 6f6b 2061 7420 7468 6520 7363 656e look at the scen │ │ │ │ │ +000141d0: 6520 7765 2061 7265 2063 6f6e 7374 7275 e we are constru │ │ │ │ │ +000141e0: 6374 696e 672e 2020 5265 706c 6163 6520 cting. Replace │ │ │ │ │ +000141f0: 7468 650a e280 9872 6570 6561 74e2 8099 the....repeat... │ │ │ │ │ +00014200: 2077 6974 680a 2020 6465 6620 6579 6520 with. def eye │ │ │ │ │ +00014210: 2831 302c 342c 3130 290a 2020 6465 6620 (10,4,10). def │ │ │ │ │ +00014220: 6c6f 6f6b 5f61 7420 2830 2c30 2c2d 3529 look_at (0,0,-5) │ │ │ │ │ +00014230: 0a20 2070 7574 207b 2076 6965 7728 2865 . put { view((e │ │ │ │ │ +00014240: 7965 292c 2028 6c6f 6f6b 5f61 7429 2920 ye), (look_at)) │ │ │ │ │ +00014250: 7d20 7b20 7b68 6f75 7365 7d7b 6178 6573 } { {house}{axes │ │ │ │ │ +00014260: 7d20 7d0a 2020 2054 6865 20e2 809c 7669 } }. The ...vi │ │ │ │ │ +00014270: 6577 2074 7261 6e73 666f 726d e280 9d20 ew transform... │ │ │ │ │ +00014280: 7265 706f 7369 7469 6f6e 7320 7468 6520 repositions the │ │ │ │ │ +00014290: 7363 656e 6520 736f 2074 6861 7420 7468 scene so that th │ │ │ │ │ +000142a0: 6520 706f 696e 7420 e280 9865 7965 e280 e point ...eye.. │ │ │ │ │ +000142b0: 9920 6973 0a61 7420 7468 6520 6f72 6967 . is.at the orig │ │ │ │ │ +000142c0: 696e 2061 6e64 2074 6865 2064 6972 6563 in and the direc │ │ │ │ │ +000142d0: 7469 6f6e 2066 726f 6d20 e280 9865 7965 tion from ...eye │ │ │ │ │ +000142e0: e280 9920 746f 20e2 8098 6c6f 6f6b 5f61 ... to ...look_a │ │ │ │ │ +000142f0: 74e2 8099 2069 7320 7468 6520 6e65 6761 t... is the nega │ │ │ │ │ +00014300: 7469 7665 0a7a 2d61 7869 732e 2020 5468 tive.z-axis. Th │ │ │ │ │ +00014310: 6973 2072 6571 7569 7265 7320 6120 726f is requires a ro │ │ │ │ │ +00014320: 7461 7469 6f6e 2061 6e64 2061 2074 7261 tation and a tra │ │ │ │ │ +00014330: 6e73 6c61 7469 6f6e 2074 6861 7420 6172 nslation that ar │ │ │ │ │ +00014340: 6520 616c 6c20 7061 636b 6564 0a69 6e74 e all packed.int │ │ │ │ │ +00014350: 6f20 7468 6520 636f 6e73 7472 7563 746f o the constructo │ │ │ │ │ +00014360: 7220 e280 9876 6965 77e2 8099 2e0a 0a00 r ...view....... │ │ │ │ │ +00014370: 085b 696d 6167 6520 7372 633d 2265 7831 .[image src="ex1 │ │ │ │ │ +00014380: 3530 2e70 6e67 2220 7465 7874 3d22 496d 50.png" text="Im │ │ │ │ │ +00014390: 6167 6520 6578 3135 3020 6f6d 6974 7465 age ex150 omitte │ │ │ │ │ +000143a0: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio │ │ │ │ │ +000143b0: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume │ │ │ │ │ +000143c0: 6e74 2e22 0008 5d0a 0a54 6869 7320 6973 nt."..]..This is │ │ │ │ │ +000143d0: 2073 7461 7274 696e 6720 746f 206c 6f6f starting to loo │ │ │ │ │ +000143e0: 6b20 676f 6f64 2120 2041 6464 2074 6865 k good! Add the │ │ │ │ │ +000143f0: 2070 726f 6a65 6374 696f 6e20 706c 616e projection plan │ │ │ │ │ +00014400: 6520 6861 6c66 2077 6179 0a62 6574 7765 e half way.betwe │ │ │ │ │ +00014410: 656e 2074 6865 206f 7269 6769 6e20 616e en the origin an │ │ │ │ │ +00014420: 6420 7468 6520 686f 7573 6520 6174 207a d the house at z │ │ │ │ │ +00014430: 3d2d 352e 2020 5765 276c 6c20 7472 7920 =-5. We'll try │ │ │ │ │ +00014440: 7468 6520 616e 676c 6520 6172 6775 6d65 the angle argume │ │ │ │ │ +00014450: 6e74 0a66 6561 7475 7265 206f 6620 e280 nt.feature of .. │ │ │ │ │ +00014460: 9873 7065 6369 616c e280 9920 746f 2070 .special... to p │ │ │ │ │ +00014470: 6f73 6974 696f 6e20 6120 6c61 6265 6c2e osition a label. │ │ │ │ │ +00014480: 0a20 2064 6566 2070 2035 2025 2070 726f . def p 5 % pro │ │ │ │ │ +00014490: 6a65 6374 696f 6e20 6469 7374 616e 6365 jection distance │ │ │ │ │ +000144a0: 2028 706c 616e 6520 6174 207a 3d2d 7029 (plane at z=-p) │ │ │ │ │ +000144b0: 0a20 2064 6566 2070 726f 6a65 6374 696f . def projectio │ │ │ │ │ +000144c0: 6e5f 706c 616e 6520 7b0a 2020 2020 6465 n_plane {. de │ │ │ │ │ +000144d0: 6620 737a 2031 2e35 0a20 2020 2070 6f6c f sz 1.5. pol │ │ │ │ │ +000144e0: 7967 6f6e 2028 2d73 7a2c 2d73 7a2c 2d70 ygon (-sz,-sz,-p │ │ │ │ │ +000144f0: 2928 737a 2c2d 737a 2c2d 7029 2873 7a2c )(sz,-sz,-p)(sz, │ │ │ │ │ +00014500: 737a 2c2d 7029 282d 737a 2c73 7a2c 2d70 sz,-p)(-sz,sz,-p │ │ │ │ │ +00014510: 290a 2020 2020 7370 6563 6961 6c20 7c5c ). special |\ │ │ │ │ │ +00014520: 7270 7574 5b62 5d23 312d 3223 337b 5c66 rput[b]#1-2#3{\f │ │ │ │ │ +00014530: 6f6f 746e 6f74 6573 697a 655c 7366 2070 ootnotesize\sf p │ │ │ │ │ +00014540: 726f 6a65 6374 696f 6e20 706c 616e 657d rojection plane} │ │ │ │ │ +00014550: 7c20 0a20 2020 2020 2028 2d73 7a2c 2d73 | . (-sz,-s │ │ │ │ │ +00014560: 7a2c 2d70 2928 737a 2c2d 737a 2c2d 7029 z,-p)(sz,-sz,-p) │ │ │ │ │ +00014570: 2830 2c2d 737a 2b2e 312c 2d70 290a 2020 (0,-sz+.1,-p). │ │ │ │ │ +00014580: 7d0a 4164 6420 7b70 726f 6a65 6374 696f }.Add {projectio │ │ │ │ │ +00014590: 6e5f 706c 616e 657d 2074 6f20 7468 6520 n_plane} to the │ │ │ │ │ +000145a0: 6c69 7374 206f 6620 6f62 6a65 6374 7320 list of objects │ │ │ │ │ +000145b0: 696e 2074 6865 20e2 8098 7075 74e2 8099 in the ...put... │ │ │ │ │ +000145c0: 2061 626f 7665 2e0a 0a00 085b 696d 6167 above.....[imag │ │ │ │ │ +000145d0: 6520 7372 633d 2265 7831 3630 2e70 6e67 e src="ex160.png │ │ │ │ │ +000145e0: 2220 7465 7874 3d22 496d 6167 6520 6578 " text="Image ex │ │ │ │ │ +000145f0: 3136 3020 6f6d 6974 7465 6420 696e 2074 160 omitted in t │ │ │ │ │ +00014600: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t │ │ │ │ │ +00014610: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.".. │ │ │ │ │ +00014620: 5d0a 0a20 2020 5468 6520 7761 7920 7765 ].. The way we │ │ │ │ │ +00014630: 2063 6f6e 7374 7275 6374 6564 2074 6865 constructed the │ │ │ │ │ +00014640: 2070 6f69 6e74 7320 6f66 2074 6865 2068 points of the h │ │ │ │ │ +00014650: 6f75 7365 206e 6f77 206d 616b 6573 2069 ouse now makes i │ │ │ │ │ +00014660: 7420 6561 7379 2074 6f0a 6472 6177 2072 t easy to.draw r │ │ │ │ │ +00014670: 6179 7320 6f66 2070 726f 6a65 6374 696f ays of projectio │ │ │ │ │ +00014680: 6e2e 2020 5765 276c 6c20 6361 7374 206f n. We'll cast o │ │ │ │ │ +00014690: 6e65 2072 6179 2066 726f 6d20 6576 6572 ne ray from ever │ │ │ │ │ +000146a0: 7920 7669 7369 626c 6520 7665 7274 6578 y visible vertex │ │ │ │ │ +000146b0: 0a6f 6620 7468 6520 686f 7573 6520 616e .of the house an │ │ │ │ │ +000146c0: 6420 6465 6669 6e65 206f 7074 696f 6e73 d define options │ │ │ │ │ +000146d0: 2073 6f20 7468 6520 6170 7065 6172 616e so the appearan │ │ │ │ │ +000146e0: 6365 206f 6620 616c 6c20 7261 7973 2063 ce of all rays c │ │ │ │ │ +000146f0: 616e 2062 650a 6368 616e 6765 6420 6174 an be.changed at │ │ │ │ │ +00014700: 2074 6865 2073 616d 6520 7469 6d65 2e0a the same time.. │ │ │ │ │ +00014710: 2020 6465 6620 7072 6f6a 6563 7469 6f6e def projection │ │ │ │ │ +00014720: 5f72 6179 7320 7b0a 2020 2020 6465 6620 _rays {. def │ │ │ │ │ +00014730: 7261 796f 7074 205b 6c69 6e65 7769 6474 rayopt [linewidt │ │ │ │ │ +00014740: 683d 2e33 7074 2c6c 696e 6563 6f6c 6f72 h=.3pt,linecolor │ │ │ │ │ +00014750: 3d6c 6967 6874 6772 6179 5d0a 2020 2020 =lightgray]. │ │ │ │ │ +00014760: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O) │ │ │ │ │ +00014770: 2870 5231 2920 6c69 6e65 205b 7261 796f (pR1) line [rayo │ │ │ │ │ +00014780: 7074 5d28 4f29 2870 5232 2920 6c69 6e65 pt](O)(pR2) line │ │ │ │ │ +00014790: 5b72 6179 6f70 745d 284f 2928 7052 3329 [rayopt](O)(pR3) │ │ │ │ │ +000147a0: 0a20 2020 206c 696e 6520 5b72 6179 6f70 . line [rayop │ │ │ │ │ +000147b0: 745d 284f 2928 7052 3429 206c 696e 6520 t](O)(pR4) line │ │ │ │ │ +000147c0: 5b72 6179 6f70 745d 284f 2928 7052 3529 [rayopt](O)(pR5) │ │ │ │ │ +000147d0: 0a20 2020 206c 696e 6520 5b72 6179 6f70 . line [rayop │ │ │ │ │ +000147e0: 745d 284f 2928 704c 3129 206c 696e 6520 t](O)(pL1) line │ │ │ │ │ +000147f0: 5b72 6179 6f70 745d 284f 2928 704c 3229 [rayopt](O)(pL2) │ │ │ │ │ +00014800: 206c 696e 655b 7261 796f 7074 5d28 4f29 line[rayopt](O) │ │ │ │ │ +00014810: 2870 4c35 290a 2020 2020 6c69 6e65 205b (pL5). line [ │ │ │ │ │ +00014820: 7261 796f 7074 5d28 4f29 2870 4431 2920 rayopt](O)(pD1) │ │ │ │ │ +00014830: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O) │ │ │ │ │ +00014840: 2870 4432 2920 0a20 2020 206c 696e 6520 (pD2) . line │ │ │ │ │ +00014850: 5b72 6179 6f70 745d 284f 2928 7044 3329 [rayopt](O)(pD3) │ │ │ │ │ +00014860: 206c 696e 6520 5b72 6179 6f70 745d 284f line [rayopt](O │ │ │ │ │ +00014870: 2928 7044 3429 200a 2020 7d0a 5468 6520 )(pD4) . }.The │ │ │ │ │ +00014880: 7265 7375 6c74 2069 7320 7368 6f77 6e20 result is shown │ │ │ │ │ +00014890: 6865 7265 2e0a 0a00 085b 696d 6167 6520 here.....[image │ │ │ │ │ +000148a0: 7372 633d 2265 7831 3730 2e70 6e67 2220 src="ex170.png" │ │ │ │ │ +000148b0: 7465 7874 3d22 496d 6167 6520 6578 3137 text="Image ex17 │ │ │ │ │ +000148c0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex │ │ │ │ │ +000148d0: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi │ │ │ │ │ +000148e0: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document."..]. │ │ │ │ │ +000148f0: 0a54 6865 2072 6179 7320 7069 6572 6365 .The rays pierce │ │ │ │ │ +00014900: 2074 6865 2070 726f 6a65 6374 696f 6e20 the projection │ │ │ │ │ +00014910: 706c 616e 6520 6174 2074 6865 2063 6f72 plane at the cor │ │ │ │ │ +00014920: 7265 7370 6f6e 6469 6e67 2070 6f69 6e74 responding point │ │ │ │ │ +00014930: 7320 6f6e 2074 6865 0a70 6572 7370 6563 s on the.perspec │ │ │ │ │ +00014940: 7469 7665 2069 6d61 6765 2077 6520 6172 tive image we ar │ │ │ │ │ +00014950: 6520 7472 7969 6e67 2074 6f20 6472 6177 e trying to draw │ │ │ │ │ +00014960: 2e20 2041 6c62 7265 6368 7420 44c3 bc72 . Albrecht D..r │ │ │ │ │ +00014970: 6572 2061 6e64 2068 6973 0a52 656e 6169 er and his.Renai │ │ │ │ │ +00014980: 7373 616e 6365 2063 6f6e 7465 6d70 6f72 ssance contempor │ │ │ │ │ +00014990: 6172 6965 7320 6861 6420 7468 6520 7361 aries had the sa │ │ │ │ │ +000149a0: 6d65 2069 6465 6120 696e 2074 6865 2065 me idea in the e │ │ │ │ │ +000149b0: 6172 6c79 2031 3530 3027 732e 0a0a 0008 arly 1500's..... │ │ │ │ │ +000149c0: 5b69 6d61 6765 2073 7263 3d22 6475 6572 [image src="duer │ │ │ │ │ +000149d0: 6572 2e70 6e67 2220 7465 7874 3d22 496d er.png" text="Im │ │ │ │ │ +000149e0: 6167 6520 6f66 2044 7565 7265 7227 7320 age of Duerer's │ │ │ │ │ +000149f0: 7065 7273 7065 6374 6976 6520 636f 6d70 perspective comp │ │ │ │ │ +00014a00: 7574 6572 206f 6d69 7474 6564 2069 6e20 uter omitted in │ │ │ │ │ +00014a10: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +00014a20: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +00014a30: 085d 0a0a 2020 2041 6c6c 2074 6861 7427 .].. All that' │ │ │ │ │ +00014a40: 7320 6c65 6674 2069 7320 746f 2066 696e s left is to fin │ │ │ │ │ +00014a50: 6420 6120 7761 7920 746f 2063 6f6e 6e65 d a way to conne │ │ │ │ │ +00014a60: 6374 2074 6865 2070 6f69 6e74 7320 6f66 ct the points of │ │ │ │ │ +00014a70: 2074 6865 2068 6f75 7365 0a6f 6e20 7468 the house.on th │ │ │ │ │ +00014a80: 6520 7072 6f6a 6563 7469 6f6e 2070 6c61 e projection pla │ │ │ │ │ +00014a90: 6e65 2e20 2057 6520 636f 756c 6420 7075 ne. We could pu │ │ │ │ │ +00014aa0: 6c6c 206f 7574 2061 2067 6f6f 6420 636f ll out a good co │ │ │ │ │ +00014ab0: 6d70 7574 6572 2067 7261 7068 6963 730a mputer graphics. │ │ │ │ │ +00014ac0: 7465 7874 2c20 6669 6e64 2074 6865 206e text, find the n │ │ │ │ │ +00014ad0: 6563 6573 7361 7279 206d 6174 7269 782c ecessary matrix, │ │ │ │ │ +00014ae0: 2061 6e64 2065 6e74 6572 2069 7420 6f75 and enter it ou │ │ │ │ │ +00014af0: 7273 656c 7665 7320 6173 2061 2074 7261 rselves as a tra │ │ │ │ │ +00014b00: 6e73 666f 726d 0a6c 6974 6572 616c 2e20 nsform.literal. │ │ │ │ │ +00014b10: 202a 4e6f 7465 2054 7261 6e73 666f 726d *Note Transform │ │ │ │ │ +00014b20: 206c 6974 6572 616c 733a 3a2e 2020 5468 literals::. Th │ │ │ │ │ +00014b30: 6174 2077 6f72 6b20 6973 2061 6c72 6561 at work is alrea │ │ │ │ │ +00014b40: 6479 2064 6f6e 652c 0a68 6f77 6576 6572 dy done,.however │ │ │ │ │ +00014b50: 2e20 2057 6520 6361 6e20 7573 6520 7468 . We can use th │ │ │ │ │ +00014b60: 6520 e280 9870 726f 6a65 6374 2870 29e2 e ...project(p). │ │ │ │ │ +00014b70: 8099 2063 6f6e 7374 7275 6374 6f72 2e0a .. constructor.. │ │ │ │ │ +00014b80: 0a20 2020 5468 6572 6520 6172 6520 7374 . There are st │ │ │ │ │ +00014b90: 696c 6c20 736f 6d65 2064 6574 6169 6c73 ill some details │ │ │ │ │ +00014ba0: 2074 6861 7420 7265 7175 6972 6520 6361 that require ca │ │ │ │ │ +00014bb0: 7265 2e20 2050 726f 6a65 6374 696f 6e20 re. Projection │ │ │ │ │ +00014bc0: 7769 6c6c 0a66 6c61 7474 656e 2077 6861 will.flatten wha │ │ │ │ │ +00014bd0: 7465 7665 7220 6973 2074 7261 6e73 666f tever is transfo │ │ │ │ │ +00014be0: 726d 6564 206f 6e74 6f20 7468 6520 706c rmed onto the pl │ │ │ │ │ +00014bf0: 616e 6520 7a3d 2d70 2e20 2054 6865 7265 ane z=-p. There │ │ │ │ │ +00014c00: 666f 7265 2061 6e79 2070 6172 740a 6f66 fore any part.of │ │ │ │ │ +00014c10: 2074 6865 2068 6f75 7365 2063 6f75 6c64 the house could │ │ │ │ │ +00014c20: 2064 6973 6170 7065 6172 2062 6568 696e disappear behin │ │ │ │ │ +00014c30: 6420 7468 6520 7072 6f6a 6563 7469 6f6e d the projection │ │ │ │ │ +00014c40: 2070 6c61 6e65 2028 7468 6520 6869 6464 plane (the hidd │ │ │ │ │ +00014c50: 656e 0a73 7572 6661 6365 2061 6c67 6f72 en.surface algor │ │ │ │ │ +00014c60: 6974 686d 206f 7264 6572 7320 6f62 6a65 ithm orders obje │ │ │ │ │ +00014c70: 6374 7320 6174 2074 6865 2073 616d 6520 cts at the same │ │ │ │ │ +00014c80: 6465 7074 6820 6172 6269 7472 6172 696c depth arbitraril │ │ │ │ │ +00014c90: 7929 2e20 2054 6865 0a64 6f6f 7220 6d61 y). The.door ma │ │ │ │ │ +00014ca0: 7920 616c 736f 2064 6973 6170 7065 6172 y also disappear │ │ │ │ │ +00014cb0: 2062 6568 696e 6420 7468 6520 6672 6f6e behind the fron │ │ │ │ │ +00014cc0: 7420 6f66 2074 6865 2068 6f75 7365 2e20 t of the house. │ │ │ │ │ +00014cd0: 2054 6f20 6d61 6b65 2073 7572 650a 6576 To make sure.ev │ │ │ │ │ +00014ce0: 6572 7974 6869 6e67 2072 656d 6169 6e73 erything remains │ │ │ │ │ +00014cf0: 2076 6973 6962 6c65 2c20 7765 276c 6c20 visible, we'll │ │ │ │ │ +00014d00: 706c 6163 6520 7468 6520 686f 7573 6520 place the house │ │ │ │ │ +00014d10: 6120 7469 6e79 2062 6974 2069 6e20 6672 a tiny bit in fr │ │ │ │ │ +00014d20: 6f6e 7420 6f66 0a74 6865 2070 726f 6a65 ont of.the proje │ │ │ │ │ +00014d30: 6374 696f 6e20 706c 616e 6520 616e 6420 ction plane and │ │ │ │ │ +00014d40: 6120 7365 636f 6e64 2063 6f70 7920 6f66 a second copy of │ │ │ │ │ +00014d50: 2074 6865 2064 6f6f 7220 696e 2066 726f the door in fro │ │ │ │ │ +00014d60: 6e74 206f 6620 7468 650a 686f 7573 652e nt of the.house. │ │ │ │ │ +00014d70: 0a20 2064 6566 2070 726f 6a65 6374 696f . def projectio │ │ │ │ │ +00014d80: 6e20 7b0a 2020 2020 2520 6520 6973 2061 n {. % e is a │ │ │ │ │ +00014d90: 2073 6d61 6c6c 206e 756d 6265 7220 6465 small number de │ │ │ │ │ +00014da0: 6669 6e65 6420 6162 6f76 650a 2020 2020 fined above. │ │ │ │ │ +00014db0: 7075 7420 7b20 7072 6f6a 6563 7428 7029 put { project(p) │ │ │ │ │ +00014dc0: 2074 6865 6e20 7472 616e 736c 6174 6528 then translate( │ │ │ │ │ +00014dd0: 5b30 2c30 2c31 2a65 5d29 207d 207b 686f [0,0,1*e]) } {ho │ │ │ │ │ +00014de0: 7573 657d 0a20 2020 2070 7574 207b 2070 use}. put { p │ │ │ │ │ +00014df0: 726f 6a65 6374 2870 2920 7468 656e 2074 roject(p) then t │ │ │ │ │ +00014e00: 7261 6e73 6c61 7465 285b 302c 302c 322a ranslate([0,0,2* │ │ │ │ │ +00014e10: 655d 2920 7d20 7b64 6f6f 727d 0a20 207d e]) } {door}. } │ │ │ │ │ +00014e20: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ +00014e30: 6578 3138 302e 706e 6722 2074 6578 743d ex180.png" text= │ │ │ │ │ +00014e40: 2249 6d61 6765 2065 7831 3830 206f 6d69 "Image ex180 omi │ │ │ │ │ +00014e50: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ +00014e60: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ +00014e70: 756d 656e 742e 2200 085d 0a0a 2020 2049 ument."..].. I │ │ │ │ │ +00014e80: 6620 796f 7520 6861 7665 2073 7475 6469 f you have studi │ │ │ │ │ +00014e90: 6564 2061 6e64 2075 6e64 6572 7374 616e ed and understan │ │ │ │ │ +00014ea0: 6420 616c 6c20 7468 6973 2c20 796f 7520 d all this, you │ │ │ │ │ +00014eb0: 6172 6520 7765 6c6c 206f 6e20 7468 6520 are well on the │ │ │ │ │ +00014ec0: 7761 790a 746f 2073 7563 6365 7373 2077 way.to success w │ │ │ │ │ +00014ed0: 6974 6820 e280 9873 6b65 7463 68e2 8099 ith ...sketch... │ │ │ │ │ +00014ee0: 2e20 204e 6f74 2073 686f 776e 2061 7265 . Not shown are │ │ │ │ │ +00014ef0: 2074 6865 2032 3020 6f72 2073 6f20 6974 the 20 or so it │ │ │ │ │ +00014f00: 6572 6174 696f 6e73 2074 6861 740a 7765 erations that.we │ │ │ │ │ +00014f10: 7265 2072 6571 7569 7265 6420 746f 2066 re required to f │ │ │ │ │ +00014f20: 696e 6420 6120 7265 6173 6f6e 6162 6c65 ind a reasonable │ │ │ │ │ +00014f30: 2076 6965 7769 6e67 2061 6e67 6c65 2061 viewing angle a │ │ │ │ │ +00014f40: 6e64 2068 6f75 7365 2070 6f73 6974 696f nd house positio │ │ │ │ │ +00014f50: 6e2c 0a65 7463 2e20 204e 6f6e 6574 6865 n,.etc. Nonethe │ │ │ │ │ +00014f60: 6c65 7373 2c20 7468 6973 2064 7261 7769 less, this drawi │ │ │ │ │ +00014f70: 6e67 2077 6173 2063 6f6d 706c 6574 6564 ng was completed │ │ │ │ │ +00014f80: 2069 6e20 6162 6f75 7420 616e 2068 6f75 in about an hou │ │ │ │ │ +00014f90: 722e 2020 5768 696c 6520 610a 4755 4920 r. While a.GUI │ │ │ │ │ +00014fa0: 746f 6f6c 206d 6179 2068 6176 6520 6265 tool may have be │ │ │ │ │ +00014fb0: 656e 2061 206c 6974 746c 6520 6661 7374 en a little fast │ │ │ │ │ +00014fc0: 6572 2c20 6974 2069 7320 756e 6c69 6b65 er, it is unlike │ │ │ │ │ +00014fd0: 6c79 2074 6861 7420 6120 6e65 770a 6472 ly that a new.dr │ │ │ │ │ +00014fe0: 6177 696e 672c 2069 7473 656c 6620 6120 awing, itself a │ │ │ │ │ +00014ff0: 7065 7273 7065 6374 6976 6520 7072 6f6a perspective proj │ │ │ │ │ +00015000: 6563 7469 6f6e 206f 6620 7468 6520 7363 ection of the sc │ │ │ │ │ +00015010: 656e 652c 2063 6f75 6c64 2062 650a 6765 ene, could be.ge │ │ │ │ │ +00015020: 6e65 7261 7465 6420 7769 7468 2074 776f nerated with two │ │ │ │ │ +00015030: 206d 6f72 6520 6d69 6e75 7465 7327 2077 more minutes' w │ │ │ │ │ +00015040: 6f72 6b21 2020 4a75 7374 2063 6861 6e67 ork! Just chang │ │ │ │ │ +00015050: 6520 7468 6520 7669 6577 2074 7261 6e73 e the view trans │ │ │ │ │ +00015060: 666f 726d 0a74 6f0a 2020 7075 7420 7b20 form.to. put { │ │ │ │ │ +00015070: 7669 6577 2828 6579 6529 2c20 286c 6f6f view((eye), (loo │ │ │ │ │ +00015080: 6b5f 6174 2929 2074 6865 6e20 7065 7273 k_at)) then pers │ │ │ │ │ +00015090: 7065 6374 6976 6528 3929 207d 207b 202e pective(9) } { . │ │ │ │ │ +000150a0: 2e2e 0a61 6e64 2070 726f 6475 6365 2074 ...and produce t │ │ │ │ │ +000150b0: 6869 732e 0a0a 0008 5b69 6d61 6765 2073 his.....[image s │ │ │ │ │ +000150c0: 7263 3d22 6578 3139 302e 706e 6722 2074 rc="ex190.png" t │ │ │ │ │ +000150d0: 6578 743d 2249 6d61 6765 2065 7831 3930 ext="Image ex190 │ │ │ │ │ +000150e0: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +000150f0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00015100: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00015110: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00015120: 6e66 6f2c 2020 4e6f 6465 3a20 4120 7465 nfo, Node: A te │ │ │ │ │ +00015130: 6368 6e69 6361 6c20 6472 6177 696e 672c chnical drawing, │ │ │ │ │ +00015140: 2020 4e65 7874 3a20 4120 6869 6572 6172 Next: A hierar │ │ │ │ │ +00015150: 6368 6963 616c 206d 6f64 656c 2c20 2050 chical model, P │ │ │ │ │ +00015160: 7265 763a 204f 7665 7276 6965 772c 2020 rev: Overview, │ │ │ │ │ +00015170: 5570 3a20 4275 696c 6469 6e67 2061 2064 Up: Building a d │ │ │ │ │ +00015180: 7261 7769 6e67 0a0a 342e 3220 4120 7465 rawing..4.2 A te │ │ │ │ │ +00015190: 6368 6e69 6361 6c20 6472 6177 696e 670a chnical drawing. │ │ │ │ │ 000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -000151b0: 3d3d 3d0a 0a4c 6574 2773 206c 6f6f 6b20 ===..Let's look │ │ │ │ │ -000151c0: 6174 2061 2064 7261 7769 6e67 2074 6861 at a drawing tha │ │ │ │ │ -000151d0: 7420 7265 7072 6573 656e 7473 2074 6865 t represents the │ │ │ │ │ -000151e0: 206b 696e 6420 6f66 2070 726f 626c 656d kind of problem │ │ │ │ │ -000151f0: 20e2 8098 736b 6574 6368 e280 9920 7761 ...sketch... wa │ │ │ │ │ -00015200: 730a 6d65 616e 7420 746f 2073 6f6c 7665 s.meant to solve │ │ │ │ │ -00015210: 2d2d 6120 7061 6972 206f 6620 7465 7874 --a pair of text │ │ │ │ │ -00015220: 626f 6f6b 2066 6967 7572 6573 2072 6567 book figures reg │ │ │ │ │ -00015230: 6172 6469 6e67 2061 2070 6f6c 7967 6f6e arding a polygon │ │ │ │ │ -00015240: 616c 0a61 7070 726f 7869 6d61 7469 6f6e al.approximation │ │ │ │ │ -00015250: 206f 6620 6120 7472 756e 6361 7465 6420 of a truncated │ │ │ │ │ -00015260: 636f 6e65 2e20 2048 6572 6520 6172 6520 cone. Here are │ │ │ │ │ -00015270: 7468 6520 7069 6374 7572 6573 2077 6520 the pictures we │ │ │ │ │ -00015280: 7769 6c6c 0a70 726f 6475 6365 2e0a 0a00 will.produce.... │ │ │ │ │ -00015290: 085b 696d 6167 6520 7372 633d 2265 7832 .[image src="ex2 │ │ │ │ │ -000152a0: 3530 2e70 6e67 2220 7465 7874 3d22 496d 50.png" text="Im │ │ │ │ │ -000152b0: 6167 6520 6578 3235 3020 6f6d 6974 7465 age ex250 omitte │ │ │ │ │ -000152c0: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio │ │ │ │ │ -000152d0: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume │ │ │ │ │ -000152e0: 6e74 2e22 0008 5d20 2020 2020 0008 5b69 nt."..] ..[i │ │ │ │ │ -000152f0: 6d61 6765 2073 7263 3d22 6578 3236 302e mage src="ex260. │ │ │ │ │ -00015300: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ -00015310: 2065 7832 3630 206f 6d69 7474 6564 2069 ex260 omitted i │ │ │ │ │ -00015320: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ -00015330: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ -00015340: 2200 085d 0a0a 2020 2054 6865 2063 6f6e "..].. The con │ │ │ │ │ -00015350: 6520 7368 6170 6520 6973 206a 7573 7420 e shape is just │ │ │ │ │ -00015360: 6120 7377 6570 7420 6c69 6e65 2077 6974 a swept line wit │ │ │ │ │ -00015370: 6820 6e6f 2063 6c6f 7375 7265 2074 6167 h no closure tag │ │ │ │ │ -00015380: 2061 6e64 2063 756c 6c69 6e67 0a74 7572 and culling.tur │ │ │ │ │ -00015390: 6e65 6420 6f66 662e 2020 4265 6769 6e20 ned off. Begin │ │ │ │ │ -000153a0: 6279 2073 6574 7469 6e67 2075 7020 736f by setting up so │ │ │ │ │ -000153b0: 6d65 2075 7365 6675 6c20 636f 6e73 7461 me useful consta │ │ │ │ │ -000153c0: 6e74 732e 0a20 2064 6566 204f 2028 302c nts.. def O (0, │ │ │ │ │ -000153d0: 302c 3029 2064 6566 2049 205b 312c 302c 0,0) def I [1,0, │ │ │ │ │ -000153e0: 305d 2064 6566 204a 205b 302c 312c 305d 0] def J [0,1,0] │ │ │ │ │ -000153f0: 2064 6566 204b 205b 302c 302c 315d 0a20 def K [0,0,1]. │ │ │ │ │ -00015400: 2064 6566 2070 3020 2831 2c32 2920 6465 def p0 (1,2) de │ │ │ │ │ -00015410: 6620 7031 2028 312e 352c 3029 2064 6566 f p1 (1.5,0) def │ │ │ │ │ -00015420: 204e 2038 0a20 2064 6566 2073 6567 5f72 N 8. def seg_r │ │ │ │ │ -00015430: 6f74 2072 6f74 6174 6528 3336 3020 2f20 ot rotate(360 / │ │ │ │ │ -00015440: 4e2c 205b 4a5d 290a 5468 6520 706f 696e N, [J]).The poin │ │ │ │ │ -00015450: 7473 20e2 8098 7030 e280 9920 616e 6420 ts ...p0... and │ │ │ │ │ -00015460: e280 9870 31e2 8099 2061 7265 2074 6865 ...p1... are the │ │ │ │ │ -00015470: 2065 6e64 2070 6f69 6e74 7320 6f66 2074 end points of t │ │ │ │ │ -00015480: 6865 206c 696e 6520 746f 2062 6520 7377 he line to be sw │ │ │ │ │ -00015490: 6570 742e 0a54 6865 2064 6566 696e 6974 ept..The definit │ │ │ │ │ -000154a0: 696f 6e20 e280 9873 6567 5f72 6f74 e280 ion ...seg_rot.. │ │ │ │ │ -000154b0: 9920 6973 2074 6865 2073 7765 6570 2074 . is the sweep t │ │ │ │ │ -000154c0: 7261 6e73 666f 726d 6174 696f 6e2e 2020 ransformation. │ │ │ │ │ -000154d0: 5769 7468 2074 6865 7365 2c20 7468 650a With these, the. │ │ │ │ │ -000154e0: 636f 6e65 2069 7473 656c 6620 6973 2073 cone itself is s │ │ │ │ │ -000154f0: 696d 706c 652e 0a20 2073 7765 6570 5b63 imple.. sweep[c │ │ │ │ │ -00015500: 756c 6c3d 6661 6c73 655d 207b 204e 2c20 ull=false] { N, │ │ │ │ │ -00015510: 5b5b 7365 675f 726f 745d 5d20 7d20 6c69 [[seg_rot]] } li │ │ │ │ │ -00015520: 6e65 2870 3029 2870 3129 0a0a 2020 2054 ne(p0)(p1).. T │ │ │ │ │ -00015530: 6865 2061 7865 7320 6172 6520 6e65 7874 he axes are next │ │ │ │ │ -00015540: 2061 6e64 2069 6e63 6c75 6465 2061 6e20 and include an │ │ │ │ │ -00015550: 696e 7465 7265 7369 6e67 2074 7269 636b interesing trick │ │ │ │ │ -00015560: 2074 6861 7420 7368 6f77 7320 7468 650a that shows the. │ │ │ │ │ -00015570: 6869 6464 656e 2070 6172 7473 2061 7320 hidden parts as │ │ │ │ │ -00015580: 646f 7474 6564 206c 696e 6573 2e20 2054 dotted lines. T │ │ │ │ │ -00015590: 6865 2073 6563 7265 7420 6973 2064 7261 he secret is dra │ │ │ │ │ -000155a0: 7720 7468 6520 6178 6573 2074 7769 6365 w the axes twice │ │ │ │ │ -000155b0: 2d2d 736f 6c69 640a 6c69 6e65 7320 7769 --solid.lines wi │ │ │ │ │ -000155c0: 7468 2074 6865 206e 6f72 6d61 6c20 6869 th the normal hi │ │ │ │ │ -000155d0: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg │ │ │ │ │ -000155e0: 6f72 6974 686d 2069 6e20 6566 6665 6374 orithm in effect │ │ │ │ │ -000155f0: 2c20 616e 6420 7468 656e 0a64 6f74 7465 , and then.dotte │ │ │ │ │ -00015600: 6420 7769 7468 2074 6865 206f 7074 696f d with the optio │ │ │ │ │ -00015610: 6e20 e280 986c 6179 3d6f 7665 72e2 8099 n ...lay=over... │ │ │ │ │ -00015620: 2073 6f20 7468 6174 206e 6f20 706f 6c79 so that no poly │ │ │ │ │ -00015630: 676f 6e73 2063 616e 2068 6964 6520 7468 gons can hide th │ │ │ │ │ -00015640: 656d 2e0a 2020 6465 6620 6178 2028 6478 em.. def ax (dx │ │ │ │ │ -00015650: 2c30 2c30 2920 2520 7469 7073 206f 6620 ,0,0) % tips of │ │ │ │ │ -00015660: 7468 6520 6178 6573 0a20 2064 6566 2061 the axes. def a │ │ │ │ │ -00015670: 7920 2830 2c64 792c 3029 0a20 2064 6566 y (0,dy,0). def │ │ │ │ │ -00015680: 2061 7a20 2830 2c30 2c64 7a29 0a20 206c az (0,0,dz). l │ │ │ │ │ -00015690: 696e 655b 6172 726f 7773 3d3c 2d3e 2c6c ine[arrows=<->,l │ │ │ │ │ -000156a0: 696e 6577 6964 7468 3d2e 3470 745d 2861 inewidth=.4pt](a │ │ │ │ │ -000156b0: 7829 284f 2928 6179 290a 2020 6c69 6e65 x)(O)(ay). line │ │ │ │ │ -000156c0: 5b61 7272 6f77 733d 2d3e 2c6c 696e 6577 [arrows=->,linew │ │ │ │ │ -000156d0: 6964 7468 3d2e 3470 745d 284f 2928 617a idth=.4pt](O)(az │ │ │ │ │ -000156e0: 290a 2020 2520 7265 7065 6174 2064 6f74 ). % repeat dot │ │ │ │ │ -000156f0: 7465 6420 6173 2061 6e20 6f76 6572 6c61 ted as an overla │ │ │ │ │ -00015700: 7920 746f 2068 696e 7420 6174 2074 6865 y to hint at the │ │ │ │ │ -00015710: 2068 6964 6465 6e20 6c69 6e65 730a 2020 hidden lines. │ │ │ │ │ -00015720: 6c69 6e65 5b6c 6179 3d6f 7665 722c 6c69 line[lay=over,li │ │ │ │ │ -00015730: 6e65 7374 796c 653d 646f 7474 6564 2c6c nestyle=dotted,l │ │ │ │ │ -00015740: 696e 6577 6964 7468 3d2e 3470 745d 2861 inewidth=.4pt](a │ │ │ │ │ -00015750: 7829 284f 2928 6179 290a 2020 6c69 6e65 x)(O)(ay). line │ │ │ │ │ -00015760: 5b6c 6179 3d6f 7665 722c 6c69 6e65 7374 [lay=over,linest │ │ │ │ │ -00015770: 796c 653d 646f 7474 6564 2c6c 696e 6577 yle=dotted,linew │ │ │ │ │ -00015780: 6964 7468 3d2e 3470 745d 284f 2928 617a idth=.4pt](O)(az │ │ │ │ │ -00015790: 290a 2020 7370 6563 6961 6c7c 5c66 6f6f ). special|\foo │ │ │ │ │ -000157a0: 746e 6f74 6573 697a 650a 2020 2020 2020 tnotesize. │ │ │ │ │ -000157b0: 2020 2020 5c75 7075 745b 645d 2331 7b24 \uput[d]#1{$ │ │ │ │ │ -000157c0: 7824 7d5c 7570 7574 5b75 5d23 327b 2479 x$}\uput[u]#2{$y │ │ │ │ │ -000157d0: 247d 5c75 7075 745b 6c5d 2333 7b24 7a24 $}\uput[l]#3{$z$ │ │ │ │ │ -000157e0: 7d7c 0a20 2020 2028 6178 2928 6179 2928 }|. (ax)(ay)( │ │ │ │ │ -000157f0: 617a 290a 5468 6520 6c61 6265 6c73 2061 az).The labels a │ │ │ │ │ -00015800: 7265 2061 7070 6c69 6564 2077 6974 6820 re applied with │ │ │ │ │ -00015810: e280 9850 5354 7269 636b 73e2 8099 2073 ...PSTricks... s │ │ │ │ │ -00015820: 7065 6369 616c 206f 626a 6563 7473 2061 pecial objects a │ │ │ │ │ -00015830: 7320 7573 7561 6c2e 0a0a 2020 2046 6f72 s usual... For │ │ │ │ │ -00015840: 2074 6865 2068 6569 6768 7420 6469 6d65 the height dime │ │ │ │ │ -00015850: 6e73 696f 6e20 6d61 726b 2c20 7468 6520 nsion mark, the │ │ │ │ │ -00015860: 706f 7765 7220 6f66 2061 6666 696e 6520 power of affine │ │ │ │ │ -00015870: 6172 6974 6865 7469 6320 6973 2076 6572 arithetic is ver │ │ │ │ │ -00015880: 790a 6865 6c70 6675 6c2e 0a20 2064 6566 y.helpful.. def │ │ │ │ │ -00015890: 2068 6469 6d5f 7265 6620 756e 6974 2828 hdim_ref unit(( │ │ │ │ │ -000158a0: 7031 2920 2d20 284f 2929 2074 6865 6e20 p1) - (O)) then │ │ │ │ │ -000158b0: 5b5b 7365 675f 726f 745d 5d5e 320a 2020 [[seg_rot]]^2. │ │ │ │ │ -000158c0: 6465 6620 6330 2028 7030 2920 7468 656e def c0 (p0) then │ │ │ │ │ -000158d0: 2073 6361 6c65 285b 4a5d 290a 2020 6465 scale([J]). de │ │ │ │ │ -000158e0: 6620 6830 3020 2863 3029 202b 2031 2e31 f h00 (c0) + 1.1 │ │ │ │ │ -000158f0: 202a 205b 6864 696d 5f72 6566 5d0a 2020 * [hdim_ref]. │ │ │ │ │ -00015900: 6465 6620 6830 3120 2863 3029 202b 2031 def h01 (c0) + 1 │ │ │ │ │ -00015910: 2e39 202a 205b 6864 696d 5f72 6566 5d0a .9 * [hdim_ref]. │ │ │ │ │ -00015920: 2020 6465 6620 6830 3220 2863 3029 202b def h02 (c0) + │ │ │ │ │ -00015930: 2031 2e38 202a 205b 6864 696d 5f72 6566 1.8 * [hdim_ref │ │ │ │ │ -00015940: 5d0a 2020 6c69 6e65 2868 3030 2928 6830 ]. line(h00)(h0 │ │ │ │ │ -00015950: 3129 0a20 2064 6566 2068 3130 2028 4f29 1). def h10 (O) │ │ │ │ │ -00015960: 202b 2031 2e36 202a 205b 6864 696d 5f72 + 1.6 * [hdim_r │ │ │ │ │ -00015970: 6566 5d0a 2020 6465 6620 6831 3120 284f ef]. def h11 (O │ │ │ │ │ -00015980: 2920 2b20 312e 3920 2a20 5b68 6469 6d5f ) + 1.9 * [hdim_ │ │ │ │ │ -00015990: 7265 665d 0a20 2064 6566 2068 3132 2028 ref]. def h12 ( │ │ │ │ │ -000159a0: 4f29 202b 2031 2e38 202a 205b 6864 696d O) + 1.8 * [hdim │ │ │ │ │ -000159b0: 5f72 6566 5d0a 2020 6c69 6e65 2868 3130 _ref]. line(h10 │ │ │ │ │ -000159c0: 2928 6831 3129 0a20 206c 696e 655b 6172 )(h11). line[ar │ │ │ │ │ -000159d0: 726f 7773 3d3c 2d3e 5d28 6830 3229 2868 rows=<->](h02)(h │ │ │ │ │ -000159e0: 3132 290a 2020 6465 6620 686d 3220 2828 12). def hm2 (( │ │ │ │ │ -000159f0: 6830 3229 202d 2028 4f29 202b 2028 6831 h02) - (O) + (h1 │ │ │ │ │ -00015a00: 3229 202d 2028 4f29 2920 2f20 3220 2b20 2) - (O)) / 2 + │ │ │ │ │ -00015a10: 284f 290a 2020 7370 6563 6961 6c7c 5c66 (O). special|\f │ │ │ │ │ -00015a20: 6f6f 746e 6f74 6573 697a 655c 7270 7574 ootnotesize\rput │ │ │ │ │ -00015a30: 2a23 317b 2468 247d 7c28 686d 3229 0a20 *#1{$h$}|(hm2). │ │ │ │ │ -00015a40: 2020 5468 6520 6765 6e65 7261 6c20 6964 The general id │ │ │ │ │ -00015a50: 6561 2065 6d70 6c6f 7965 6420 6865 7265 ea employed here │ │ │ │ │ -00015a60: 2069 7320 746f 2063 6f6d 7075 7465 2061 is to compute a │ │ │ │ │ -00015a70: 2075 6e69 7420 2272 6566 6572 656e 6365 unit "reference │ │ │ │ │ -00015a80: 0a76 6563 746f 7222 2070 6172 616c 6c65 .vector" paralle │ │ │ │ │ -00015a90: 6c20 746f 2074 6865 2078 7a2d 706c 616e l to the xz-plan │ │ │ │ │ -00015aa0: 6520 696e 2074 6865 2064 6573 6972 6564 e in the desired │ │ │ │ │ -00015ab0: 2064 6972 6563 7469 6f6e 206f 6620 7468 direction of th │ │ │ │ │ -00015ac0: 650a 6469 6d65 6e73 696f 6e20 6672 6f6d e.dimension from │ │ │ │ │ -00015ad0: 2074 6865 206f 7269 6769 6e2e 2020 5468 the origin. Th │ │ │ │ │ -00015ae0: 6520 7472 616e 7366 6f72 6d61 7469 6f6e e transformation │ │ │ │ │ -00015af0: 20e2 8098 5b5b 7365 675f 726f 745d 5d5e ...[[seg_rot]]^ │ │ │ │ │ -00015b00: 32e2 8099 2072 6f74 6174 6573 0a74 776f 2... rotates.two │ │ │ │ │ -00015b10: 2073 6567 6d65 6e74 7320 6162 6f75 7420 segments about │ │ │ │ │ -00015b20: 7468 6520 792d 6178 6973 2e20 2057 6865 the y-axis. Whe │ │ │ │ │ -00015b30: 6e20 6170 706c 6965 6420 746f 20e2 8098 n applied to ... │ │ │ │ │ -00015b40: 2870 3129 202d 2028 4f29 e280 992c 2074 (p1) - (O)..., t │ │ │ │ │ -00015b50: 6865 0a72 6573 756c 7469 6e67 2076 6563 he.resulting vec │ │ │ │ │ -00015b60: 746f 7220 706f 696e 7473 2074 6f20 7468 tor points to th │ │ │ │ │ -00015b70: 6520 7269 6768 7420 6173 2073 686f 776e e right as shown │ │ │ │ │ -00015b80: 2e20 2049 6e20 7468 6973 206d 616e 6e65 . In this manne │ │ │ │ │ -00015b90: 722c 2077 6520 6361 6e0a 7069 636b 2061 r, we can.pick a │ │ │ │ │ -00015ba0: 6e79 2076 6572 7465 7820 6173 2074 6865 ny vertex as the │ │ │ │ │ -00015bb0: 206c 6f63 6174 696f 6e20 6f66 2074 6865 location of the │ │ │ │ │ -00015bc0: 2068 6569 6768 7420 6469 6d65 6e73 696f height dimensio │ │ │ │ │ -00015bd0: 6e20 6c69 6e65 7320 6279 2076 6172 7969 n lines by varyi │ │ │ │ │ -00015be0: 6e67 0a74 6865 2065 7870 6f6e 656e 7420 ng.the exponent │ │ │ │ │ -00015bf0: 6f66 20e2 8098 5b5b 7365 675f 726f 745d of ...[[seg_rot] │ │ │ │ │ -00015c00: 5de2 8099 2e20 2054 6869 7320 6973 206f ].... This is o │ │ │ │ │ -00015c10: 6e6c 7920 6f6e 6520 6f66 206d 616e 7920 nly one of many │ │ │ │ │ -00015c20: 706f 7373 6962 6c65 0a73 7472 6174 6567 possible.strateg │ │ │ │ │ -00015c30: 6965 732e 0a0a 2020 2054 6865 2063 6f6d ies... The com │ │ │ │ │ -00015c40: 7075 7461 7469 6f6e 206f 6620 e280 9868 putation of ...h │ │ │ │ │ -00015c50: 6d32 e280 9920 6973 2061 2075 7365 6675 m2... is a usefu │ │ │ │ │ -00015c60: 6c20 6964 696f 6d20 666f 7220 6669 6e64 l idiom for find │ │ │ │ │ -00015c70: 696e 6720 7468 6520 6365 6e74 726f 6964 ing the centroid │ │ │ │ │ -00015c80: 0a6f 6620 6120 7365 7420 6f66 2070 6f69 .of a set of poi │ │ │ │ │ -00015c90: 6e74 732e 0a0a 2020 2054 6865 2074 776f nts... The two │ │ │ │ │ -00015ca0: 2072 6164 6975 7320 6d61 726b 7320 6172 radius marks ar │ │ │ │ │ -00015cb0: 6520 646f 6e65 2073 696d 696c 6172 6c79 e done similarly │ │ │ │ │ -00015cc0: 2c20 736f 2077 6520 7072 6573 656e 7420 , so we present │ │ │ │ │ -00015cd0: 7468 6520 636f 6465 0a77 6974 686f 7574 the code.without │ │ │ │ │ -00015ce0: 2063 6f6d 6d65 6e74 2e0a 2020 2520 7261 comment.. % ra │ │ │ │ │ -00015cf0: 6469 7573 206d 6561 7375 7265 6d65 6e74 dius measurement │ │ │ │ │ -00015d00: 206d 6172 6b73 0a20 2064 6566 2067 6170 marks. def gap │ │ │ │ │ -00015d10: 205b 302c 2e32 2c30 5d20 2025 2075 7365 [0,.2,0] % use │ │ │ │ │ -00015d20: 6420 746f 2063 7265 6174 6520 736d 616c d to create smal │ │ │ │ │ -00015d30: 6c20 7665 7274 6963 616c 2067 6170 730a l vertical gaps. │ │ │ │ │ -00015d40: 0a20 2025 2066 6972 7374 2072 310a 2020 . % first r1. │ │ │ │ │ -00015d50: 6465 6620 7570 3120 5b30 2c33 2e31 2c30 def up1 [0,3.1,0 │ │ │ │ │ -00015d60: 5d20 2520 7469 636b 2072 6973 6573 2061 ] % tick rises a │ │ │ │ │ -00015d70: 626f 7665 2064 696d 656e 7369 6f6e 2061 bove dimension a │ │ │ │ │ -00015d80: 206c 6974 746c 650a 2020 6465 6620 7231 little. def r1 │ │ │ │ │ -00015d90: 2028 2870 3129 2074 6865 6e20 5b5b 7365 ((p1) then [[se │ │ │ │ │ -00015da0: 675f 726f 745d 5d5e 2d32 2920 2b20 5b75 g_rot]]^-2) + [u │ │ │ │ │ -00015db0: 7031 5d0a 2020 6465 6620 7231 6320 2872 p1]. def r1c (r │ │ │ │ │ -00015dc0: 3129 2074 6865 6e20 7363 616c 6528 5b4a 1) then scale([J │ │ │ │ │ -00015dd0: 5d29 0a20 2064 6566 2072 3174 2028 7231 ]). def r1t (r1 │ │ │ │ │ -00015de0: 2920 2b20 5b67 6170 5d0a 2020 6465 6620 ) + [gap]. def │ │ │ │ │ -00015df0: 7231 6220 2828 7231 7429 2074 6865 6e20 r1b ((r1t) then │ │ │ │ │ -00015e00: 7363 616c 6528 5b31 2c30 2c31 5d29 2920 scale([1,0,1])) │ │ │ │ │ -00015e10: 2b20 5b67 6170 5d0a 2020 6c69 6e65 5b61 + [gap]. line[a │ │ │ │ │ -00015e20: 7272 6f77 733d 3c2d 3e5d 2872 3163 2928 rrows=<->](r1c)( │ │ │ │ │ -00015e30: 7231 2920 2025 2064 696d 656e 7369 6f6e r1) % dimension │ │ │ │ │ -00015e40: 206c 696e 650a 2020 6c69 6e65 2872 3162 line. line(r1b │ │ │ │ │ -00015e50: 2928 7231 7429 2020 2020 2020 2020 2020 )(r1t) │ │ │ │ │ -00015e60: 2020 2025 2074 6963 6b0a 2020 6465 6620 % tick. def │ │ │ │ │ -00015e70: 7231 6d20 2828 7231 2920 2d20 284f 2920 r1m ((r1) - (O) │ │ │ │ │ -00015e80: 2b20 2872 3163 2920 2d20 284f 2929 202f + (r1c) - (O)) / │ │ │ │ │ -00015e90: 2032 202b 2028 4f29 2025 206c 6162 656c 2 + (O) % label │ │ │ │ │ -00015ea0: 2070 6f73 6974 696f 6e0a 2020 7370 6563 position. spec │ │ │ │ │ -00015eb0: 6961 6c20 7c5c 666f 6f74 6e6f 7465 7369 ial |\footnotesi │ │ │ │ │ -00015ec0: 7a65 5c72 7075 742a 2331 7b24 725f 3124 ze\rput*#1{$r_1$ │ │ │ │ │ -00015ed0: 7d7c 2872 316d 2920 2025 206c 6162 656c }|(r1m) % label │ │ │ │ │ -00015ee0: 0a0a 2020 2520 7361 6d65 2064 7269 6c6c .. % same drill │ │ │ │ │ -00015ef0: 2066 6f72 2072 302c 2062 7574 206d 7573 for r0, but mus │ │ │ │ │ -00015f00: 7420 7072 6f6a 6563 7420 646f 776e 2066 t project down f │ │ │ │ │ -00015f10: 6972 7374 0a20 2064 6566 2075 7030 205b irst. def up0 [ │ │ │ │ │ -00015f20: 302c 322e 372c 305d 0a20 2064 6566 2072 0,2.7,0]. def r │ │ │ │ │ -00015f30: 3020 2828 7030 2920 7468 656e 2073 6361 0 ((p0) then sca │ │ │ │ │ -00015f40: 6c65 285b 312c 302c 315d 2920 7468 656e le([1,0,1]) then │ │ │ │ │ -00015f50: 205b 5b73 6567 5f72 6f74 5d5d 5e2d 3229 [[seg_rot]]^-2) │ │ │ │ │ -00015f60: 202b 205b 7570 305d 0a20 2064 6566 2072 + [up0]. def r │ │ │ │ │ -00015f70: 3063 2028 7230 2920 7468 656e 2073 6361 0c (r0) then sca │ │ │ │ │ -00015f80: 6c65 285b 4a5d 290a 2020 6465 6620 7230 le([J]). def r0 │ │ │ │ │ -00015f90: 7420 2872 3029 202b 205b 6761 705d 0a20 t (r0) + [gap]. │ │ │ │ │ -00015fa0: 2064 6566 2072 3062 2028 2870 3029 2074 def r0b ((p0) t │ │ │ │ │ -00015fb0: 6865 6e20 5b5b 7365 675f 726f 745d 5d5e hen [[seg_rot]]^ │ │ │ │ │ -00015fc0: 2d32 2920 2b20 5b67 6170 5d0a 2020 6c69 -2) + [gap]. li │ │ │ │ │ -00015fd0: 6e65 5b61 7272 6f77 733d 3c2d 3e5d 2872 ne[arrows=<->](r │ │ │ │ │ -00015fe0: 3063 2928 7230 290a 2020 6c69 6e65 2872 0c)(r0). line(r │ │ │ │ │ -00015ff0: 3062 2928 7230 7429 0a20 2064 6566 2072 0b)(r0t). def r │ │ │ │ │ -00016000: 306d 2028 2872 3029 202d 2028 4f29 202b 0m ((r0) - (O) + │ │ │ │ │ -00016010: 2028 7230 6329 202d 2028 4f29 2920 2f20 (r0c) - (O)) / │ │ │ │ │ -00016020: 3220 2b20 284f 290a 2020 7370 6563 6961 2 + (O). specia │ │ │ │ │ -00016030: 6c20 7c5c 666f 6f74 6e6f 7465 7369 7a65 l |\footnotesize │ │ │ │ │ -00016040: 5c72 7075 742a 2331 7b24 725f 3024 7d7c \rput*#1{$r_0$}| │ │ │ │ │ -00016050: 2872 306d 290a 0a20 2020 5468 6520 7365 (r0m).. The se │ │ │ │ │ -00016060: 636f 6e64 2064 7261 7769 6e67 2075 7365 cond drawing use │ │ │ │ │ -00016070: 7320 7468 6520 7361 6d65 2074 6563 686e s the same techn │ │ │ │ │ -00016080: 6971 7565 732e 2020 4f6e 6c79 2074 6865 iques. Only the │ │ │ │ │ -00016090: 206d 6574 686f 6420 666f 720a 6472 6177 method for.draw │ │ │ │ │ -000160a0: 696e 6720 7468 6520 656c 6c69 7074 6963 ing the elliptic │ │ │ │ │ -000160b0: 616c 2061 7263 2069 7320 6e65 772e 2020 al arc is new. │ │ │ │ │ -000160c0: 4865 7265 2069 7320 7468 6520 636f 6465 Here is the code │ │ │ │ │ -000160d0: 2e0a 2020 6465 6620 6d69 6420 2828 7030 .. def mid ((p0 │ │ │ │ │ -000160e0: 3029 2d28 4f29 2b28 7031 3029 2d28 4f29 0)-(O)+(p10)-(O) │ │ │ │ │ -000160f0: 2b28 7031 3129 2d28 4f29 2b28 7030 3129 +(p11)-(O)+(p01) │ │ │ │ │ -00016100: 2d28 4f29 292f 342b 284f 290a 2020 7370 -(O))/4+(O). sp │ │ │ │ │ -00016110: 6563 6961 6c7c 5c72 7075 7423 317b 5c70 ecial|\rput#1{\p │ │ │ │ │ -00016120: 7363 7573 746f 6d7b 0a20 2020 205c 7363 scustom{. \sc │ │ │ │ │ -00016130: 616c 657b 3120 312e 337d 0a20 2020 205c ale{1 1.3}. \ │ │ │ │ │ -00016140: 7073 6172 635b 6172 726f 776c 656e 6774 psarc[arrowlengt │ │ │ │ │ -00016150: 683d 2e35 5d7b 2d3e 7d7b 2e32 357d 7b2d h=.5]{->}{.25}{- │ │ │ │ │ -00016160: 3630 7d7b 3234 307d 7d7d 7c0a 2020 2020 60}{240}}}|. │ │ │ │ │ -00016170: 5b6c 6179 3d6f 7665 725d 286d 6964 290a [lay=over](mid). │ │ │ │ │ -00016180: 5765 2063 6f75 6c64 2068 6176 6520 7377 We could have sw │ │ │ │ │ -00016190: 6570 7420 6120 706f 696e 7420 746f 206d ept a point to m │ │ │ │ │ -000161a0: 616b 6520 7468 6520 6172 6320 7769 7468 ake the arc with │ │ │ │ │ -000161b0: 20e2 8098 736b 6574 6368 e280 992c 2062 ...sketch..., b │ │ │ │ │ -000161c0: 7574 2075 7369 6e67 2061 0ae2 8098 5053 ut using a....PS │ │ │ │ │ -000161d0: 5472 6963 6b73 e280 9920 6375 7374 6f6d Tricks... custom │ │ │ │ │ -000161e0: 2067 7261 7068 6963 2077 6173 2073 696d graphic was sim │ │ │ │ │ -000161f0: 706c 6572 2e20 2041 6761 696e 2077 6520 pler. Again we │ │ │ │ │ -00016200: 636f 6d70 7574 6564 2074 6865 2063 656e computed the cen │ │ │ │ │ -00016210: 7472 6f69 640a 6f66 2074 6865 2071 7561 troid.of the qua │ │ │ │ │ -00016220: 6472 696c 6174 6572 616c 2062 7920 6176 drilateral by av │ │ │ │ │ -00016230: 6572 6167 696e 6720 706f 696e 7473 2e20 eraging points. │ │ │ │ │ -00016240: 204e 6f74 6520 7468 6174 2073 6361 6c69 Note that scali │ │ │ │ │ -00016250: 6e67 2069 6e0a 506f 7374 7363 7269 7074 ng in.Postscript │ │ │ │ │ -00016260: 2064 6973 746f 7274 7320 7468 6520 6172 distorts the ar │ │ │ │ │ -00016270: 726f 7768 6561 642c 2062 7574 2069 6e20 rowhead, but in │ │ │ │ │ -00016280: 7468 6973 2063 6173 6520 7468 6520 6469 this case the di │ │ │ │ │ -00016290: 7374 6f72 7469 6f6e 0a61 6374 7561 6c6c stortion.actuall │ │ │ │ │ -000162a0: 7920 6c6f 6f6b 7320 6265 7474 6572 2069 y looks better i │ │ │ │ │ -000162b0: 6e20 7468 6520 7072 6f6a 6563 7469 6f6e n the projection │ │ │ │ │ -000162c0: 206f 6620 7468 6520 736c 616e 7465 6420 of the slanted │ │ │ │ │ -000162d0: 6661 6365 2e20 2041 20e2 8098 736b 6574 face. A ...sket │ │ │ │ │ -000162e0: 6368 e280 990a 6172 726f 7768 6561 6420 ch....arrowhead │ │ │ │ │ -000162f0: 776f 756c 6420 6e6f 7420 6861 7665 2062 would not have b │ │ │ │ │ -00016300: 6565 6e20 6469 7374 6f72 7465 642e 0a0a een distorted... │ │ │ │ │ -00016310: 2020 2054 6865 2063 6f6d 706c 6574 6520 The complete │ │ │ │ │ -00016320: 636f 6465 2066 6f72 2074 6869 7320 6578 code for this ex │ │ │ │ │ -00016330: 616d 706c 652c 2077 6869 6368 2064 7261 ample, which dra │ │ │ │ │ -00016340: 7773 2065 6974 6865 7220 6669 6775 7265 ws either figure │ │ │ │ │ -00016350: 0a64 6570 656e 6469 6e67 206f 6e20 7468 .depending on th │ │ │ │ │ -00016360: 6520 6465 6669 6e69 7469 6f6e 206f 6620 e definition of │ │ │ │ │ -00016370: 7468 6520 7461 6720 e280 983c 6c61 6265 the tag ......, is incl │ │ │ │ │ -00016390: 7564 6564 2069 6e20 7468 650a e280 9873 uded in the....s │ │ │ │ │ -000163a0: 6b65 7463 68e2 8099 2064 6973 7472 6962 ketch... distrib │ │ │ │ │ -000163b0: 7574 696f 6e20 696e 2074 6865 2066 696c ution in the fil │ │ │ │ │ -000163c0: 6520 e280 9874 7275 6e63 6174 6564 636f e ...truncatedco │ │ │ │ │ -000163d0: 6e65 2e73 6be2 8099 2e0a 0a1f 0a46 696c ne.sk........Fil │ │ │ │ │ -000163e0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -000163f0: 204e 6f64 653a 2041 2068 6965 7261 7263 Node: A hierarc │ │ │ │ │ -00016400: 6869 6361 6c20 6d6f 6465 6c2c 2020 4e65 hical model, Ne │ │ │ │ │ -00016410: 7874 3a20 4361 7665 6174 732c 2020 5072 xt: Caveats, Pr │ │ │ │ │ -00016420: 6576 3a20 4120 7465 6368 6e69 6361 6c20 ev: A technical │ │ │ │ │ -00016430: 6472 6177 696e 672c 2020 5570 3a20 4275 drawing, Up: Bu │ │ │ │ │ -00016440: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing │ │ │ │ │ -00016450: 0a0a 342e 3320 4120 6869 6572 6172 6368 ..4.3 A hierarch │ │ │ │ │ -00016460: 6963 616c 206d 6f64 656c 0a3d 3d3d 3d3d ical model.===== │ │ │ │ │ +000151b0: 3d3d 3d3d 3d3d 3d0a 0a4c 6574 2773 206c =======..Let's l │ │ │ │ │ +000151c0: 6f6f 6b20 6174 2061 2064 7261 7769 6e67 ook at a drawing │ │ │ │ │ +000151d0: 2074 6861 7420 7265 7072 6573 656e 7473 that represents │ │ │ │ │ +000151e0: 2074 6865 206b 696e 6420 6f66 2070 726f the kind of pro │ │ │ │ │ +000151f0: 626c 656d 20e2 8098 736b 6574 6368 e280 blem ...sketch.. │ │ │ │ │ +00015200: 9920 7761 730a 6d65 616e 7420 746f 2073 . was.meant to s │ │ │ │ │ +00015210: 6f6c 7665 2d2d 6120 7061 6972 206f 6620 olve--a pair of │ │ │ │ │ +00015220: 7465 7874 626f 6f6b 2066 6967 7572 6573 textbook figures │ │ │ │ │ +00015230: 2072 6567 6172 6469 6e67 2061 2070 6f6c regarding a pol │ │ │ │ │ +00015240: 7967 6f6e 616c 0a61 7070 726f 7869 6d61 ygonal.approxima │ │ │ │ │ +00015250: 7469 6f6e 206f 6620 6120 7472 756e 6361 tion of a trunca │ │ │ │ │ +00015260: 7465 6420 636f 6e65 2e20 2048 6572 6520 ted cone. Here │ │ │ │ │ +00015270: 6172 6520 7468 6520 7069 6374 7572 6573 are the pictures │ │ │ │ │ +00015280: 2077 6520 7769 6c6c 0a70 726f 6475 6365 we will.produce │ │ │ │ │ +00015290: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src= │ │ │ │ │ +000152a0: 2265 7832 3530 2e70 6e67 2220 7465 7874 "ex250.png" text │ │ │ │ │ +000152b0: 3d22 496d 6167 6520 6578 3235 3020 6f6d ="Image ex250 om │ │ │ │ │ +000152c0: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve │ │ │ │ │ +000152d0: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do │ │ │ │ │ +000152e0: 6375 6d65 6e74 2e22 0008 5d20 2020 2020 cument."..] │ │ │ │ │ +000152f0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00015300: 3236 302e 706e 6722 2074 6578 743d 2249 260.png" text="I │ │ │ │ │ +00015310: 6d61 6765 2065 7832 3630 206f 6d69 7474 mage ex260 omitt │ │ │ │ │ +00015320: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00015330: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00015340: 656e 742e 2200 085d 0a0a 2020 2054 6865 ent."..].. The │ │ │ │ │ +00015350: 2063 6f6e 6520 7368 6170 6520 6973 206a cone shape is j │ │ │ │ │ +00015360: 7573 7420 6120 7377 6570 7420 6c69 6e65 ust a swept line │ │ │ │ │ +00015370: 2077 6974 6820 6e6f 2063 6c6f 7375 7265 with no closure │ │ │ │ │ +00015380: 2074 6167 2061 6e64 2063 756c 6c69 6e67 tag and culling │ │ │ │ │ +00015390: 0a74 7572 6e65 6420 6f66 662e 2020 4265 .turned off. Be │ │ │ │ │ +000153a0: 6769 6e20 6279 2073 6574 7469 6e67 2075 gin by setting u │ │ │ │ │ +000153b0: 7020 736f 6d65 2075 7365 6675 6c20 636f p some useful co │ │ │ │ │ +000153c0: 6e73 7461 6e74 732e 0a20 2064 6566 204f nstants.. def O │ │ │ │ │ +000153d0: 2028 302c 302c 3029 2064 6566 2049 205b (0,0,0) def I [ │ │ │ │ │ +000153e0: 312c 302c 305d 2064 6566 204a 205b 302c 1,0,0] def J [0, │ │ │ │ │ +000153f0: 312c 305d 2064 6566 204b 205b 302c 302c 1,0] def K [0,0, │ │ │ │ │ +00015400: 315d 0a20 2064 6566 2070 3020 2831 2c32 1]. def p0 (1,2 │ │ │ │ │ +00015410: 2920 6465 6620 7031 2028 312e 352c 3029 ) def p1 (1.5,0) │ │ │ │ │ +00015420: 2064 6566 204e 2038 0a20 2064 6566 2073 def N 8. def s │ │ │ │ │ +00015430: 6567 5f72 6f74 2072 6f74 6174 6528 3336 eg_rot rotate(36 │ │ │ │ │ +00015440: 3020 2f20 4e2c 205b 4a5d 290a 5468 6520 0 / N, [J]).The │ │ │ │ │ +00015450: 706f 696e 7473 20e2 8098 7030 e280 9920 points ...p0... │ │ │ │ │ +00015460: 616e 6420 e280 9870 31e2 8099 2061 7265 and ...p1... are │ │ │ │ │ +00015470: 2074 6865 2065 6e64 2070 6f69 6e74 7320 the end points │ │ │ │ │ +00015480: 6f66 2074 6865 206c 696e 6520 746f 2062 of the line to b │ │ │ │ │ +00015490: 6520 7377 6570 742e 0a54 6865 2064 6566 e swept..The def │ │ │ │ │ +000154a0: 696e 6974 696f 6e20 e280 9873 6567 5f72 inition ...seg_r │ │ │ │ │ +000154b0: 6f74 e280 9920 6973 2074 6865 2073 7765 ot... is the swe │ │ │ │ │ +000154c0: 6570 2074 7261 6e73 666f 726d 6174 696f ep transformatio │ │ │ │ │ +000154d0: 6e2e 2020 5769 7468 2074 6865 7365 2c20 n. With these, │ │ │ │ │ +000154e0: 7468 650a 636f 6e65 2069 7473 656c 6620 the.cone itself │ │ │ │ │ +000154f0: 6973 2073 696d 706c 652e 0a20 2073 7765 is simple.. swe │ │ │ │ │ +00015500: 6570 5b63 756c 6c3d 6661 6c73 655d 207b ep[cull=false] { │ │ │ │ │ +00015510: 204e 2c20 5b5b 7365 675f 726f 745d 5d20 N, [[seg_rot]] │ │ │ │ │ +00015520: 7d20 6c69 6e65 2870 3029 2870 3129 0a0a } line(p0)(p1).. │ │ │ │ │ +00015530: 2020 2054 6865 2061 7865 7320 6172 6520 The axes are │ │ │ │ │ +00015540: 6e65 7874 2061 6e64 2069 6e63 6c75 6465 next and include │ │ │ │ │ +00015550: 2061 6e20 696e 7465 7265 7369 6e67 2074 an interesing t │ │ │ │ │ +00015560: 7269 636b 2074 6861 7420 7368 6f77 7320 rick that shows │ │ │ │ │ +00015570: 7468 650a 6869 6464 656e 2070 6172 7473 the.hidden parts │ │ │ │ │ +00015580: 2061 7320 646f 7474 6564 206c 696e 6573 as dotted lines │ │ │ │ │ +00015590: 2e20 2054 6865 2073 6563 7265 7420 6973 . The secret is │ │ │ │ │ +000155a0: 2064 7261 7720 7468 6520 6178 6573 2074 draw the axes t │ │ │ │ │ +000155b0: 7769 6365 2d2d 736f 6c69 640a 6c69 6e65 wice--solid.line │ │ │ │ │ +000155c0: 7320 7769 7468 2074 6865 206e 6f72 6d61 s with the norma │ │ │ │ │ +000155d0: 6c20 6869 6464 656e 2073 7572 6661 6365 l hidden surface │ │ │ │ │ +000155e0: 2061 6c67 6f72 6974 686d 2069 6e20 6566 algorithm in ef │ │ │ │ │ +000155f0: 6665 6374 2c20 616e 6420 7468 656e 0a64 fect, and then.d │ │ │ │ │ +00015600: 6f74 7465 6420 7769 7468 2074 6865 206f otted with the o │ │ │ │ │ +00015610: 7074 696f 6e20 e280 986c 6179 3d6f 7665 ption ...lay=ove │ │ │ │ │ +00015620: 72e2 8099 2073 6f20 7468 6174 206e 6f20 r... so that no │ │ │ │ │ +00015630: 706f 6c79 676f 6e73 2063 616e 2068 6964 polygons can hid │ │ │ │ │ +00015640: 6520 7468 656d 2e0a 2020 6465 6620 6178 e them.. def ax │ │ │ │ │ +00015650: 2028 6478 2c30 2c30 2920 2520 7469 7073 (dx,0,0) % tips │ │ │ │ │ +00015660: 206f 6620 7468 6520 6178 6573 0a20 2064 of the axes. d │ │ │ │ │ +00015670: 6566 2061 7920 2830 2c64 792c 3029 0a20 ef ay (0,dy,0). │ │ │ │ │ +00015680: 2064 6566 2061 7a20 2830 2c30 2c64 7a29 def az (0,0,dz) │ │ │ │ │ +00015690: 0a20 206c 696e 655b 6172 726f 7773 3d3c . line[arrows=< │ │ │ │ │ +000156a0: 2d3e 2c6c 696e 6577 6964 7468 3d2e 3470 ->,linewidth=.4p │ │ │ │ │ +000156b0: 745d 2861 7829 284f 2928 6179 290a 2020 t](ax)(O)(ay). │ │ │ │ │ +000156c0: 6c69 6e65 5b61 7272 6f77 733d 2d3e 2c6c line[arrows=->,l │ │ │ │ │ +000156d0: 696e 6577 6964 7468 3d2e 3470 745d 284f inewidth=.4pt](O │ │ │ │ │ +000156e0: 2928 617a 290a 2020 2520 7265 7065 6174 )(az). % repeat │ │ │ │ │ +000156f0: 2064 6f74 7465 6420 6173 2061 6e20 6f76 dotted as an ov │ │ │ │ │ +00015700: 6572 6c61 7920 746f 2068 696e 7420 6174 erlay to hint at │ │ │ │ │ +00015710: 2074 6865 2068 6964 6465 6e20 6c69 6e65 the hidden line │ │ │ │ │ +00015720: 730a 2020 6c69 6e65 5b6c 6179 3d6f 7665 s. line[lay=ove │ │ │ │ │ +00015730: 722c 6c69 6e65 7374 796c 653d 646f 7474 r,linestyle=dott │ │ │ │ │ +00015740: 6564 2c6c 696e 6577 6964 7468 3d2e 3470 ed,linewidth=.4p │ │ │ │ │ +00015750: 745d 2861 7829 284f 2928 6179 290a 2020 t](ax)(O)(ay). │ │ │ │ │ +00015760: 6c69 6e65 5b6c 6179 3d6f 7665 722c 6c69 line[lay=over,li │ │ │ │ │ +00015770: 6e65 7374 796c 653d 646f 7474 6564 2c6c nestyle=dotted,l │ │ │ │ │ +00015780: 696e 6577 6964 7468 3d2e 3470 745d 284f inewidth=.4pt](O │ │ │ │ │ +00015790: 2928 617a 290a 2020 7370 6563 6961 6c7c )(az). special| │ │ │ │ │ +000157a0: 5c66 6f6f 746e 6f74 6573 697a 650a 2020 \footnotesize. │ │ │ │ │ +000157b0: 2020 2020 2020 2020 5c75 7075 745b 645d \uput[d] │ │ │ │ │ +000157c0: 2331 7b24 7824 7d5c 7570 7574 5b75 5d23 #1{$x$}\uput[u]# │ │ │ │ │ +000157d0: 327b 2479 247d 5c75 7075 745b 6c5d 2333 2{$y$}\uput[l]#3 │ │ │ │ │ +000157e0: 7b24 7a24 7d7c 0a20 2020 2028 6178 2928 {$z$}|. (ax)( │ │ │ │ │ +000157f0: 6179 2928 617a 290a 5468 6520 6c61 6265 ay)(az).The labe │ │ │ │ │ +00015800: 6c73 2061 7265 2061 7070 6c69 6564 2077 ls are applied w │ │ │ │ │ +00015810: 6974 6820 e280 9850 5354 7269 636b 73e2 ith ...PSTricks. │ │ │ │ │ +00015820: 8099 2073 7065 6369 616c 206f 626a 6563 .. special objec │ │ │ │ │ +00015830: 7473 2061 7320 7573 7561 6c2e 0a0a 2020 ts as usual... │ │ │ │ │ +00015840: 2046 6f72 2074 6865 2068 6569 6768 7420 For the height │ │ │ │ │ +00015850: 6469 6d65 6e73 696f 6e20 6d61 726b 2c20 dimension mark, │ │ │ │ │ +00015860: 7468 6520 706f 7765 7220 6f66 2061 6666 the power of aff │ │ │ │ │ +00015870: 696e 6520 6172 6974 6865 7469 6320 6973 ine arithetic is │ │ │ │ │ +00015880: 2076 6572 790a 6865 6c70 6675 6c2e 0a20 very.helpful.. │ │ │ │ │ +00015890: 2064 6566 2068 6469 6d5f 7265 6620 756e def hdim_ref un │ │ │ │ │ +000158a0: 6974 2828 7031 2920 2d20 284f 2929 2074 it((p1) - (O)) t │ │ │ │ │ +000158b0: 6865 6e20 5b5b 7365 675f 726f 745d 5d5e hen [[seg_rot]]^ │ │ │ │ │ +000158c0: 320a 2020 6465 6620 6330 2028 7030 2920 2. def c0 (p0) │ │ │ │ │ +000158d0: 7468 656e 2073 6361 6c65 285b 4a5d 290a then scale([J]). │ │ │ │ │ +000158e0: 2020 6465 6620 6830 3020 2863 3029 202b def h00 (c0) + │ │ │ │ │ +000158f0: 2031 2e31 202a 205b 6864 696d 5f72 6566 1.1 * [hdim_ref │ │ │ │ │ +00015900: 5d0a 2020 6465 6620 6830 3120 2863 3029 ]. def h01 (c0) │ │ │ │ │ +00015910: 202b 2031 2e39 202a 205b 6864 696d 5f72 + 1.9 * [hdim_r │ │ │ │ │ +00015920: 6566 5d0a 2020 6465 6620 6830 3220 2863 ef]. def h02 (c │ │ │ │ │ +00015930: 3029 202b 2031 2e38 202a 205b 6864 696d 0) + 1.8 * [hdim │ │ │ │ │ +00015940: 5f72 6566 5d0a 2020 6c69 6e65 2868 3030 _ref]. line(h00 │ │ │ │ │ +00015950: 2928 6830 3129 0a20 2064 6566 2068 3130 )(h01). def h10 │ │ │ │ │ +00015960: 2028 4f29 202b 2031 2e36 202a 205b 6864 (O) + 1.6 * [hd │ │ │ │ │ +00015970: 696d 5f72 6566 5d0a 2020 6465 6620 6831 im_ref]. def h1 │ │ │ │ │ +00015980: 3120 284f 2920 2b20 312e 3920 2a20 5b68 1 (O) + 1.9 * [h │ │ │ │ │ +00015990: 6469 6d5f 7265 665d 0a20 2064 6566 2068 dim_ref]. def h │ │ │ │ │ +000159a0: 3132 2028 4f29 202b 2031 2e38 202a 205b 12 (O) + 1.8 * [ │ │ │ │ │ +000159b0: 6864 696d 5f72 6566 5d0a 2020 6c69 6e65 hdim_ref]. line │ │ │ │ │ +000159c0: 2868 3130 2928 6831 3129 0a20 206c 696e (h10)(h11). lin │ │ │ │ │ +000159d0: 655b 6172 726f 7773 3d3c 2d3e 5d28 6830 e[arrows=<->](h0 │ │ │ │ │ +000159e0: 3229 2868 3132 290a 2020 6465 6620 686d 2)(h12). def hm │ │ │ │ │ +000159f0: 3220 2828 6830 3229 202d 2028 4f29 202b 2 ((h02) - (O) + │ │ │ │ │ +00015a00: 2028 6831 3229 202d 2028 4f29 2920 2f20 (h12) - (O)) / │ │ │ │ │ +00015a10: 3220 2b20 284f 290a 2020 7370 6563 6961 2 + (O). specia │ │ │ │ │ +00015a20: 6c7c 5c66 6f6f 746e 6f74 6573 697a 655c l|\footnotesize\ │ │ │ │ │ +00015a30: 7270 7574 2a23 317b 2468 247d 7c28 686d rput*#1{$h$}|(hm │ │ │ │ │ +00015a40: 3229 0a20 2020 5468 6520 6765 6e65 7261 2). The genera │ │ │ │ │ +00015a50: 6c20 6964 6561 2065 6d70 6c6f 7965 6420 l idea employed │ │ │ │ │ +00015a60: 6865 7265 2069 7320 746f 2063 6f6d 7075 here is to compu │ │ │ │ │ +00015a70: 7465 2061 2075 6e69 7420 2272 6566 6572 te a unit "refer │ │ │ │ │ +00015a80: 656e 6365 0a76 6563 746f 7222 2070 6172 ence.vector" par │ │ │ │ │ +00015a90: 616c 6c65 6c20 746f 2074 6865 2078 7a2d allel to the xz- │ │ │ │ │ +00015aa0: 706c 616e 6520 696e 2074 6865 2064 6573 plane in the des │ │ │ │ │ +00015ab0: 6972 6564 2064 6972 6563 7469 6f6e 206f ired direction o │ │ │ │ │ +00015ac0: 6620 7468 650a 6469 6d65 6e73 696f 6e20 f the.dimension │ │ │ │ │ +00015ad0: 6672 6f6d 2074 6865 206f 7269 6769 6e2e from the origin. │ │ │ │ │ +00015ae0: 2020 5468 6520 7472 616e 7366 6f72 6d61 The transforma │ │ │ │ │ +00015af0: 7469 6f6e 20e2 8098 5b5b 7365 675f 726f tion ...[[seg_ro │ │ │ │ │ +00015b00: 745d 5d5e 32e2 8099 2072 6f74 6174 6573 t]]^2... rotates │ │ │ │ │ +00015b10: 0a74 776f 2073 6567 6d65 6e74 7320 6162 .two segments ab │ │ │ │ │ +00015b20: 6f75 7420 7468 6520 792d 6178 6973 2e20 out the y-axis. │ │ │ │ │ +00015b30: 2057 6865 6e20 6170 706c 6965 6420 746f When applied to │ │ │ │ │ +00015b40: 20e2 8098 2870 3129 202d 2028 4f29 e280 ...(p1) - (O).. │ │ │ │ │ +00015b50: 992c 2074 6865 0a72 6573 756c 7469 6e67 ., the.resulting │ │ │ │ │ +00015b60: 2076 6563 746f 7220 706f 696e 7473 2074 vector points t │ │ │ │ │ +00015b70: 6f20 7468 6520 7269 6768 7420 6173 2073 o the right as s │ │ │ │ │ +00015b80: 686f 776e 2e20 2049 6e20 7468 6973 206d hown. In this m │ │ │ │ │ +00015b90: 616e 6e65 722c 2077 6520 6361 6e0a 7069 anner, we can.pi │ │ │ │ │ +00015ba0: 636b 2061 6e79 2076 6572 7465 7820 6173 ck any vertex as │ │ │ │ │ +00015bb0: 2074 6865 206c 6f63 6174 696f 6e20 6f66 the location of │ │ │ │ │ +00015bc0: 2074 6865 2068 6569 6768 7420 6469 6d65 the height dime │ │ │ │ │ +00015bd0: 6e73 696f 6e20 6c69 6e65 7320 6279 2076 nsion lines by v │ │ │ │ │ +00015be0: 6172 7969 6e67 0a74 6865 2065 7870 6f6e arying.the expon │ │ │ │ │ +00015bf0: 656e 7420 6f66 20e2 8098 5b5b 7365 675f ent of ...[[seg_ │ │ │ │ │ +00015c00: 726f 745d 5de2 8099 2e20 2054 6869 7320 rot]].... This │ │ │ │ │ +00015c10: 6973 206f 6e6c 7920 6f6e 6520 6f66 206d is only one of m │ │ │ │ │ +00015c20: 616e 7920 706f 7373 6962 6c65 0a73 7472 any possible.str │ │ │ │ │ +00015c30: 6174 6567 6965 732e 0a0a 2020 2054 6865 ategies... The │ │ │ │ │ +00015c40: 2063 6f6d 7075 7461 7469 6f6e 206f 6620 computation of │ │ │ │ │ +00015c50: e280 9868 6d32 e280 9920 6973 2061 2075 ...hm2... is a u │ │ │ │ │ +00015c60: 7365 6675 6c20 6964 696f 6d20 666f 7220 seful idiom for │ │ │ │ │ +00015c70: 6669 6e64 696e 6720 7468 6520 6365 6e74 finding the cent │ │ │ │ │ +00015c80: 726f 6964 0a6f 6620 6120 7365 7420 6f66 roid.of a set of │ │ │ │ │ +00015c90: 2070 6f69 6e74 732e 0a0a 2020 2054 6865 points... The │ │ │ │ │ +00015ca0: 2074 776f 2072 6164 6975 7320 6d61 726b two radius mark │ │ │ │ │ +00015cb0: 7320 6172 6520 646f 6e65 2073 696d 696c s are done simil │ │ │ │ │ +00015cc0: 6172 6c79 2c20 736f 2077 6520 7072 6573 arly, so we pres │ │ │ │ │ +00015cd0: 656e 7420 7468 6520 636f 6465 0a77 6974 ent the code.wit │ │ │ │ │ +00015ce0: 686f 7574 2063 6f6d 6d65 6e74 2e0a 2020 hout comment.. │ │ │ │ │ +00015cf0: 2520 7261 6469 7573 206d 6561 7375 7265 % radius measure │ │ │ │ │ +00015d00: 6d65 6e74 206d 6172 6b73 0a20 2064 6566 ment marks. def │ │ │ │ │ +00015d10: 2067 6170 205b 302c 2e32 2c30 5d20 2025 gap [0,.2,0] % │ │ │ │ │ +00015d20: 2075 7365 6420 746f 2063 7265 6174 6520 used to create │ │ │ │ │ +00015d30: 736d 616c 6c20 7665 7274 6963 616c 2067 small vertical g │ │ │ │ │ +00015d40: 6170 730a 0a20 2025 2066 6972 7374 2072 aps.. % first r │ │ │ │ │ +00015d50: 310a 2020 6465 6620 7570 3120 5b30 2c33 1. def up1 [0,3 │ │ │ │ │ +00015d60: 2e31 2c30 5d20 2520 7469 636b 2072 6973 .1,0] % tick ris │ │ │ │ │ +00015d70: 6573 2061 626f 7665 2064 696d 656e 7369 es above dimensi │ │ │ │ │ +00015d80: 6f6e 2061 206c 6974 746c 650a 2020 6465 on a little. de │ │ │ │ │ +00015d90: 6620 7231 2028 2870 3129 2074 6865 6e20 f r1 ((p1) then │ │ │ │ │ +00015da0: 5b5b 7365 675f 726f 745d 5d5e 2d32 2920 [[seg_rot]]^-2) │ │ │ │ │ +00015db0: 2b20 5b75 7031 5d0a 2020 6465 6620 7231 + [up1]. def r1 │ │ │ │ │ +00015dc0: 6320 2872 3129 2074 6865 6e20 7363 616c c (r1) then scal │ │ │ │ │ +00015dd0: 6528 5b4a 5d29 0a20 2064 6566 2072 3174 e([J]). def r1t │ │ │ │ │ +00015de0: 2028 7231 2920 2b20 5b67 6170 5d0a 2020 (r1) + [gap]. │ │ │ │ │ +00015df0: 6465 6620 7231 6220 2828 7231 7429 2074 def r1b ((r1t) t │ │ │ │ │ +00015e00: 6865 6e20 7363 616c 6528 5b31 2c30 2c31 hen scale([1,0,1 │ │ │ │ │ +00015e10: 5d29 2920 2b20 5b67 6170 5d0a 2020 6c69 ])) + [gap]. li │ │ │ │ │ +00015e20: 6e65 5b61 7272 6f77 733d 3c2d 3e5d 2872 ne[arrows=<->](r │ │ │ │ │ +00015e30: 3163 2928 7231 2920 2025 2064 696d 656e 1c)(r1) % dimen │ │ │ │ │ +00015e40: 7369 6f6e 206c 696e 650a 2020 6c69 6e65 sion line. line │ │ │ │ │ +00015e50: 2872 3162 2928 7231 7429 2020 2020 2020 (r1b)(r1t) │ │ │ │ │ +00015e60: 2020 2020 2020 2025 2074 6963 6b0a 2020 % tick. │ │ │ │ │ +00015e70: 6465 6620 7231 6d20 2828 7231 2920 2d20 def r1m ((r1) - │ │ │ │ │ +00015e80: 284f 2920 2b20 2872 3163 2920 2d20 284f (O) + (r1c) - (O │ │ │ │ │ +00015e90: 2929 202f 2032 202b 2028 4f29 2025 206c )) / 2 + (O) % l │ │ │ │ │ +00015ea0: 6162 656c 2070 6f73 6974 696f 6e0a 2020 abel position. │ │ │ │ │ +00015eb0: 7370 6563 6961 6c20 7c5c 666f 6f74 6e6f special |\footno │ │ │ │ │ +00015ec0: 7465 7369 7a65 5c72 7075 742a 2331 7b24 tesize\rput*#1{$ │ │ │ │ │ +00015ed0: 725f 3124 7d7c 2872 316d 2920 2025 206c r_1$}|(r1m) % l │ │ │ │ │ +00015ee0: 6162 656c 0a0a 2020 2520 7361 6d65 2064 abel.. % same d │ │ │ │ │ +00015ef0: 7269 6c6c 2066 6f72 2072 302c 2062 7574 rill for r0, but │ │ │ │ │ +00015f00: 206d 7573 7420 7072 6f6a 6563 7420 646f must project do │ │ │ │ │ +00015f10: 776e 2066 6972 7374 0a20 2064 6566 2075 wn first. def u │ │ │ │ │ +00015f20: 7030 205b 302c 322e 372c 305d 0a20 2064 p0 [0,2.7,0]. d │ │ │ │ │ +00015f30: 6566 2072 3020 2828 7030 2920 7468 656e ef r0 ((p0) then │ │ │ │ │ +00015f40: 2073 6361 6c65 285b 312c 302c 315d 2920 scale([1,0,1]) │ │ │ │ │ +00015f50: 7468 656e 205b 5b73 6567 5f72 6f74 5d5d then [[seg_rot]] │ │ │ │ │ +00015f60: 5e2d 3229 202b 205b 7570 305d 0a20 2064 ^-2) + [up0]. d │ │ │ │ │ +00015f70: 6566 2072 3063 2028 7230 2920 7468 656e ef r0c (r0) then │ │ │ │ │ +00015f80: 2073 6361 6c65 285b 4a5d 290a 2020 6465 scale([J]). de │ │ │ │ │ +00015f90: 6620 7230 7420 2872 3029 202b 205b 6761 f r0t (r0) + [ga │ │ │ │ │ +00015fa0: 705d 0a20 2064 6566 2072 3062 2028 2870 p]. def r0b ((p │ │ │ │ │ +00015fb0: 3029 2074 6865 6e20 5b5b 7365 675f 726f 0) then [[seg_ro │ │ │ │ │ +00015fc0: 745d 5d5e 2d32 2920 2b20 5b67 6170 5d0a t]]^-2) + [gap]. │ │ │ │ │ +00015fd0: 2020 6c69 6e65 5b61 7272 6f77 733d 3c2d line[arrows=<- │ │ │ │ │ +00015fe0: 3e5d 2872 3063 2928 7230 290a 2020 6c69 >](r0c)(r0). li │ │ │ │ │ +00015ff0: 6e65 2872 3062 2928 7230 7429 0a20 2064 ne(r0b)(r0t). d │ │ │ │ │ +00016000: 6566 2072 306d 2028 2872 3029 202d 2028 ef r0m ((r0) - ( │ │ │ │ │ +00016010: 4f29 202b 2028 7230 6329 202d 2028 4f29 O) + (r0c) - (O) │ │ │ │ │ +00016020: 2920 2f20 3220 2b20 284f 290a 2020 7370 ) / 2 + (O). sp │ │ │ │ │ +00016030: 6563 6961 6c20 7c5c 666f 6f74 6e6f 7465 ecial |\footnote │ │ │ │ │ +00016040: 7369 7a65 5c72 7075 742a 2331 7b24 725f size\rput*#1{$r_ │ │ │ │ │ +00016050: 3024 7d7c 2872 306d 290a 0a20 2020 5468 0$}|(r0m).. Th │ │ │ │ │ +00016060: 6520 7365 636f 6e64 2064 7261 7769 6e67 e second drawing │ │ │ │ │ +00016070: 2075 7365 7320 7468 6520 7361 6d65 2074 uses the same t │ │ │ │ │ +00016080: 6563 686e 6971 7565 732e 2020 4f6e 6c79 echniques. Only │ │ │ │ │ +00016090: 2074 6865 206d 6574 686f 6420 666f 720a the method for. │ │ │ │ │ +000160a0: 6472 6177 696e 6720 7468 6520 656c 6c69 drawing the elli │ │ │ │ │ +000160b0: 7074 6963 616c 2061 7263 2069 7320 6e65 ptical arc is ne │ │ │ │ │ +000160c0: 772e 2020 4865 7265 2069 7320 7468 6520 w. Here is the │ │ │ │ │ +000160d0: 636f 6465 2e0a 2020 6465 6620 6d69 6420 code.. def mid │ │ │ │ │ +000160e0: 2828 7030 3029 2d28 4f29 2b28 7031 3029 ((p00)-(O)+(p10) │ │ │ │ │ +000160f0: 2d28 4f29 2b28 7031 3129 2d28 4f29 2b28 -(O)+(p11)-(O)+( │ │ │ │ │ +00016100: 7030 3129 2d28 4f29 292f 342b 284f 290a p01)-(O))/4+(O). │ │ │ │ │ +00016110: 2020 7370 6563 6961 6c7c 5c72 7075 7423 special|\rput# │ │ │ │ │ +00016120: 317b 5c70 7363 7573 746f 6d7b 0a20 2020 1{\pscustom{. │ │ │ │ │ +00016130: 205c 7363 616c 657b 3120 312e 337d 0a20 \scale{1 1.3}. │ │ │ │ │ +00016140: 2020 205c 7073 6172 635b 6172 726f 776c \psarc[arrowl │ │ │ │ │ +00016150: 656e 6774 683d 2e35 5d7b 2d3e 7d7b 2e32 ength=.5]{->}{.2 │ │ │ │ │ +00016160: 357d 7b2d 3630 7d7b 3234 307d 7d7d 7c0a 5}{-60}{240}}}|. │ │ │ │ │ +00016170: 2020 2020 5b6c 6179 3d6f 7665 725d 286d [lay=over](m │ │ │ │ │ +00016180: 6964 290a 5765 2063 6f75 6c64 2068 6176 id).We could hav │ │ │ │ │ +00016190: 6520 7377 6570 7420 6120 706f 696e 7420 e swept a point │ │ │ │ │ +000161a0: 746f 206d 616b 6520 7468 6520 6172 6320 to make the arc │ │ │ │ │ +000161b0: 7769 7468 20e2 8098 736b 6574 6368 e280 with ...sketch.. │ │ │ │ │ +000161c0: 992c 2062 7574 2075 7369 6e67 2061 0ae2 ., but using a.. │ │ │ │ │ +000161d0: 8098 5053 5472 6963 6b73 e280 9920 6375 ..PSTricks... cu │ │ │ │ │ +000161e0: 7374 6f6d 2067 7261 7068 6963 2077 6173 stom graphic was │ │ │ │ │ +000161f0: 2073 696d 706c 6572 2e20 2041 6761 696e simpler. Again │ │ │ │ │ +00016200: 2077 6520 636f 6d70 7574 6564 2074 6865 we computed the │ │ │ │ │ +00016210: 2063 656e 7472 6f69 640a 6f66 2074 6865 centroid.of the │ │ │ │ │ +00016220: 2071 7561 6472 696c 6174 6572 616c 2062 quadrilateral b │ │ │ │ │ +00016230: 7920 6176 6572 6167 696e 6720 706f 696e y averaging poin │ │ │ │ │ +00016240: 7473 2e20 204e 6f74 6520 7468 6174 2073 ts. Note that s │ │ │ │ │ +00016250: 6361 6c69 6e67 2069 6e0a 506f 7374 7363 caling in.Postsc │ │ │ │ │ +00016260: 7269 7074 2064 6973 746f 7274 7320 7468 ript distorts th │ │ │ │ │ +00016270: 6520 6172 726f 7768 6561 642c 2062 7574 e arrowhead, but │ │ │ │ │ +00016280: 2069 6e20 7468 6973 2063 6173 6520 7468 in this case th │ │ │ │ │ +00016290: 6520 6469 7374 6f72 7469 6f6e 0a61 6374 e distortion.act │ │ │ │ │ +000162a0: 7561 6c6c 7920 6c6f 6f6b 7320 6265 7474 ually looks bett │ │ │ │ │ +000162b0: 6572 2069 6e20 7468 6520 7072 6f6a 6563 er in the projec │ │ │ │ │ +000162c0: 7469 6f6e 206f 6620 7468 6520 736c 616e tion of the slan │ │ │ │ │ +000162d0: 7465 6420 6661 6365 2e20 2041 20e2 8098 ted face. A ... │ │ │ │ │ +000162e0: 736b 6574 6368 e280 990a 6172 726f 7768 sketch....arrowh │ │ │ │ │ +000162f0: 6561 6420 776f 756c 6420 6e6f 7420 6861 ead would not ha │ │ │ │ │ +00016300: 7665 2062 6565 6e20 6469 7374 6f72 7465 ve been distorte │ │ │ │ │ +00016310: 642e 0a0a 2020 2054 6865 2063 6f6d 706c d... The compl │ │ │ │ │ +00016320: 6574 6520 636f 6465 2066 6f72 2074 6869 ete code for thi │ │ │ │ │ +00016330: 7320 6578 616d 706c 652c 2077 6869 6368 s example, which │ │ │ │ │ +00016340: 2064 7261 7773 2065 6974 6865 7220 6669 draws either fi │ │ │ │ │ +00016350: 6775 7265 0a64 6570 656e 6469 6e67 206f gure.depending o │ │ │ │ │ +00016360: 6e20 7468 6520 6465 6669 6e69 7469 6f6e n the definition │ │ │ │ │ +00016370: 206f 6620 7468 6520 7461 6720 e280 983c of the tag ...< │ │ │ │ │ +00016380: 6c61 6265 6c65 643e e280 992c 2069 7320 labeled>..., is │ │ │ │ │ +00016390: 696e 636c 7564 6564 2069 6e20 7468 650a included in the. │ │ │ │ │ +000163a0: e280 9873 6b65 7463 68e2 8099 2064 6973 ...sketch... dis │ │ │ │ │ +000163b0: 7472 6962 7574 696f 6e20 696e 2074 6865 tribution in the │ │ │ │ │ +000163c0: 2066 696c 6520 e280 9874 7275 6e63 6174 file ...truncat │ │ │ │ │ +000163d0: 6564 636f 6e65 2e73 6be2 8099 2e0a 0a1f edcone.sk....... │ │ │ │ │ +000163e0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +000163f0: 666f 2c20 204e 6f64 653a 2041 2068 6965 fo, Node: A hie │ │ │ │ │ +00016400: 7261 7263 6869 6361 6c20 6d6f 6465 6c2c rarchical model, │ │ │ │ │ +00016410: 2020 4e65 7874 3a20 4361 7665 6174 732c Next: Caveats, │ │ │ │ │ +00016420: 2020 5072 6576 3a20 4120 7465 6368 6e69 Prev: A techni │ │ │ │ │ +00016430: 6361 6c20 6472 6177 696e 672c 2020 5570 cal drawing, Up │ │ │ │ │ +00016440: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra │ │ │ │ │ +00016450: 7769 6e67 0a0a 342e 3320 4120 6869 6572 wing..4.3 A hier │ │ │ │ │ +00016460: 6172 6368 6963 616c 206d 6f64 656c 0a3d archical model.= │ │ │ │ │ 00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -00016480: 3d3d 3d0a 0a57 6869 6c65 20e2 8098 736b ===..While ...sk │ │ │ │ │ -00016490: 6574 6368 e280 9920 7761 7320 6e65 7665 etch... was neve │ │ │ │ │ -000164a0: 7220 6d65 616e 7420 746f 2062 6520 6120 r meant to be a │ │ │ │ │ -000164b0: 6765 6f6d 6574 7269 6320 6d6f 6465 6c69 geometric modeli │ │ │ │ │ -000164c0: 6e67 206c 616e 6775 6167 652c 2069 740a ng language, it. │ │ │ │ │ -000164d0: 636f 6d65 7320 6661 6972 6c79 2063 6c6f comes fairly clo │ │ │ │ │ -000164e0: 7365 2e20 2054 6865 2066 6f6c 6c6f 7769 se. The followi │ │ │ │ │ -000164f0: 6e67 2065 7861 6d70 6c65 2070 7574 7320 ng example puts │ │ │ │ │ -00016500: 616c 6c20 7765 2068 6176 6520 7365 656e all we have seen │ │ │ │ │ -00016510: 2074 6f20 776f 726b 0a69 6e20 6120 7665 to work.in a ve │ │ │ │ │ -00016520: 7279 2073 696d 706c 6520 6d6f 6465 6c20 ry simple model │ │ │ │ │ -00016530: 6f66 2074 6865 2068 756d 616e 2068 616e of the human han │ │ │ │ │ -00016540: 642e 2020 5374 6172 7420 6279 2073 7765 d. Start by swe │ │ │ │ │ -00016550: 6570 696e 6720 6120 6c69 6e65 2074 6f0a eping a line to. │ │ │ │ │ -00016560: 6d61 6b65 2061 2074 7275 6e63 6174 6564 make a truncated │ │ │ │ │ -00016570: 2063 6f6e 652c 2077 6869 6368 2077 696c cone, which wil │ │ │ │ │ -00016580: 6c20 6265 2063 6f70 6965 6420 6f76 6572 l be copied over │ │ │ │ │ -00016590: 2061 6e64 206f 7665 7220 6167 6169 6e20 and over again │ │ │ │ │ -000165a0: 746f 206d 616b 650a 7468 6520 7365 676d to make.the segm │ │ │ │ │ -000165b0: 656e 7473 206f 6620 6669 6e67 6572 732e ents of fingers. │ │ │ │ │ -000165c0: 0a20 2064 6566 204f 2028 302c 302c 3029 . def O (0,0,0) │ │ │ │ │ -000165d0: 2025 206f 7269 6769 6e0a 2020 6465 6620 % origin. def │ │ │ │ │ -000165e0: 4920 5b31 2c30 2c30 5d20 6465 6620 4a20 I [1,0,0] def J │ │ │ │ │ -000165f0: 5b30 2c31 2c30 5d20 6465 6620 4b20 5b30 [0,1,0] def K [0 │ │ │ │ │ -00016600: 2c30 2c31 5d20 2520 6361 6e6f 6e69 6361 ,0,1] % canonica │ │ │ │ │ -00016610: 6c20 756e 6974 2076 6563 746f 7273 0a20 l unit vectors. │ │ │ │ │ -00016620: 2064 6566 2073 6567 6d65 6e74 207b 0a20 def segment {. │ │ │ │ │ -00016630: 2020 2064 6566 206e 5f66 6163 6573 2038 def n_faces 8 │ │ │ │ │ -00016640: 0a20 2020 2073 7765 6570 207b 206e 5f66 . sweep { n_f │ │ │ │ │ -00016650: 6163 6573 3c3e 2c20 726f 7461 7465 2833 aces<>, rotate(3 │ │ │ │ │ -00016660: 3630 202f 206e 5f66 6163 6573 2c20 5b4a 60 / n_faces, [J │ │ │ │ │ -00016670: 5d29 207d 200a 2020 2020 2020 6c69 6e65 ]) } . line │ │ │ │ │ -00016680: 2870 726f 7869 6d61 6c5f 7261 642c 2030 (proximal_rad, 0 │ │ │ │ │ -00016690: 2928 6469 7374 616c 5f72 6164 2c20 6469 )(distal_rad, di │ │ │ │ │ -000166a0: 7374 616c 5f6c 656e 290a 2020 7d0a 496e stal_len). }.In │ │ │ │ │ -000166b0: 2068 616e 6420 616e 6174 6f6d 792c 205f hand anatomy, _ │ │ │ │ │ -000166c0: 6469 7374 616c 5f20 6973 2022 6174 2074 distal_ is "at t │ │ │ │ │ -000166d0: 6865 2074 6970 2220 616e 6420 5f70 726f he tip" and _pro │ │ │ │ │ -000166e0: 7869 6d61 6c5f 2069 7320 2269 6e20 7468 ximal_ is "in th │ │ │ │ │ -000166f0: 6520 6172 6561 0a6f 6620 7468 6520 7061 e area.of the pa │ │ │ │ │ -00016700: 6c6d 2e22 2020 5765 2068 6176 6520 6f6d lm." We have om │ │ │ │ │ -00016710: 6974 7465 6420 616c 6c20 7468 6520 7363 itted all the sc │ │ │ │ │ -00016720: 616c 6172 2063 6f6e 7374 616e 7473 2e20 alar constants. │ │ │ │ │ -00016730: 2059 6f75 2063 616e 2066 696e 640a 7468 You can find.th │ │ │ │ │ -00016740: 656d 2069 6e20 e280 9868 616e 642e 736b em in ...hand.sk │ │ │ │ │ -00016750: e280 992c 2077 6869 6368 2069 7320 7072 ..., which is pr │ │ │ │ │ -00016760: 6f76 6964 6564 2069 6e20 7468 6520 e280 ovided in the .. │ │ │ │ │ -00016770: 9873 6b65 7463 68e2 8099 2064 6973 7472 .sketch... distr │ │ │ │ │ -00016780: 6962 7574 696f 6e2e 0a0a 2020 2057 6520 ibution... We │ │ │ │ │ -00016790: 616c 736f 206e 6565 6420 6120 7072 6f74 also need a prot │ │ │ │ │ -000167a0: 6f74 7970 6963 616c 2073 7068 6572 6520 otypical sphere │ │ │ │ │ -000167b0: 746f 2075 7365 2066 6f72 2074 6865 206a to use for the j │ │ │ │ │ -000167c0: 6f69 6e74 7320 7468 656d 7365 6c76 6573 oints themselves │ │ │ │ │ -000167d0: 2e0a 2020 6465 6620 6a6f 696e 745f 7370 .. def joint_sp │ │ │ │ │ -000167e0: 6865 7265 207b 0a20 2020 2064 6566 206e here {. def n │ │ │ │ │ -000167f0: 5f6a 6f69 6e74 5f66 6163 6573 2038 0a20 _joint_faces 8. │ │ │ │ │ -00016800: 2020 2073 7765 6570 205b 6669 6c6c 636f sweep [fillco │ │ │ │ │ -00016810: 6c6f 723d 7265 645d 207b 206e 5f6a 6f69 lor=red] { n_joi │ │ │ │ │ -00016820: 6e74 5f66 6163 6573 2c20 726f 7461 7465 nt_faces, rotate │ │ │ │ │ -00016830: 2833 3630 202f 206e 5f6a 6f69 6e74 5f66 (360 / n_joint_f │ │ │ │ │ -00016840: 6163 6573 2c20 5b4a 5d29 207d 0a20 2020 aces, [J]) }. │ │ │ │ │ -00016850: 2020 2073 7765 6570 207b 206e 5f6a 6f69 sweep { n_joi │ │ │ │ │ -00016860: 6e74 5f66 6163 6573 2c20 726f 7461 7465 nt_faces, rotate │ │ │ │ │ -00016870: 2831 3830 202f 206e 5f6a 6f69 6e74 5f66 (180 / n_joint_f │ │ │ │ │ -00016880: 6163 6573 2920 7d20 0a20 2020 2020 2020 aces) } . │ │ │ │ │ -00016890: 2028 302c 202d 6a6f 696e 745f 7261 6429 (0, -joint_rad) │ │ │ │ │ -000168a0: 0a20 207d 0a0a 2020 2057 6527 6c6c 206e . }.. We'll n │ │ │ │ │ -000168b0: 6f77 2064 6573 6967 6e20 7468 6520 696e ow design the in │ │ │ │ │ -000168c0: 6465 7820 6669 6e67 6572 2028 6e75 6d62 dex finger (numb │ │ │ │ │ -000168d0: 6572 2031 2069 6e20 6f75 7220 6e6f 7461 er 1 in our nota │ │ │ │ │ -000168e0: 7469 6f6e 616c 0a63 6f6e 7665 6e74 696f tional.conventio │ │ │ │ │ -000168f0: 6e3b 2066 696e 6765 7220 3020 6973 2074 n; finger 0 is t │ │ │ │ │ -00016900: 6865 2074 6875 6d62 292e 2020 5468 6520 he thumb). The │ │ │ │ │ -00016910: 6469 7374 616c 2072 6f74 6174 696f 6e20 distal rotation │ │ │ │ │ -00016920: 666f 7220 7468 6520 6669 6e67 6572 0a61 for the finger.a │ │ │ │ │ -00016930: 7070 6c69 6573 206f 6e6c 7920 746f 2074 pplies only to t │ │ │ │ │ -00016940: 6865 2074 6970 2c20 736f 2077 6520 6465 he tip, so we de │ │ │ │ │ -00016950: 6669 6e65 2074 6865 2066 6f6c 6c6f 7769 fine the followi │ │ │ │ │ -00016960: 6e67 2e0a 2020 6465 6620 6469 7374 616c ng.. def distal │ │ │ │ │ -00016970: 5f31 207b 0a20 2020 2070 7574 207b 2074 _1 {. put { t │ │ │ │ │ -00016980: 7261 6e73 6c61 7465 286a 6f69 6e74 5f67 ranslate(joint_g │ │ │ │ │ -00016990: 6170 202a 206a 6f69 6e74 5f72 6164 202a ap * joint_rad * │ │ │ │ │ -000169a0: 205b 4a5d 2920 0a20 2020 2020 2020 2020 [J]) . │ │ │ │ │ -000169b0: 2074 6865 6e20 726f 7461 7465 2864 6973 then rotate(dis │ │ │ │ │ -000169c0: 7461 6c5f 315f 726f 742c 205b 495d 2920 tal_1_rot, [I]) │ │ │ │ │ -000169d0: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then │ │ │ │ │ -000169e0: 7472 616e 736c 6174 6528 2864 6973 7461 translate((dista │ │ │ │ │ -000169f0: 6c5f 6c65 6e20 2b20 6a6f 696e 745f 6761 l_len + joint_ga │ │ │ │ │ -00016a00: 7020 2a20 6a6f 696e 745f 7261 6429 202a p * joint_rad) * │ │ │ │ │ -00016a10: 205b 4a5d 2920 7d0a 2020 2020 2020 7b73 [J]) }. {s │ │ │ │ │ -00016a20: 6567 6d65 6e74 7d0a 2020 2020 7075 7420 egment}. put │ │ │ │ │ -00016a30: 7b20 726f 7461 7465 2864 6973 7461 6c5f { rotate(distal_ │ │ │ │ │ -00016a40: 315f 726f 7420 2f20 322c 205b 495d 290a 1_rot / 2, [I]). │ │ │ │ │ -00016a50: 2020 2020 2020 2020 2020 7468 656e 2074 then t │ │ │ │ │ -00016a60: 7261 6e73 6c61 7465 2828 6469 7374 616c ranslate((distal │ │ │ │ │ -00016a70: 5f6c 656e 202b 206a 6f69 6e74 5f67 6170 _len + joint_gap │ │ │ │ │ -00016a80: 202a 206a 6f69 6e74 5f72 6164 2920 2a20 * joint_rad) * │ │ │ │ │ -00016a90: 5b4a 5d29 207d 200a 2020 2020 2020 7b6a [J]) } . {j │ │ │ │ │ -00016aa0: 6f69 6e74 5f73 7068 6572 657d 0a20 2020 oint_sphere}. │ │ │ │ │ -00016ab0: 2070 7574 207b 2073 6361 6c65 2820 5b4a put { scale( [J │ │ │ │ │ -00016ac0: 5d20 2b20 7072 6f78 696d 616c 5f64 6973 ] + proximal_dis │ │ │ │ │ -00016ad0: 7461 6c5f 7261 7469 6f20 2a20 285b 495d tal_ratio * ([I] │ │ │ │ │ -00016ae0: 2b5b 4b5d 2920 2920 7d0a 2020 2020 2020 +[K]) ) }. │ │ │ │ │ -00016af0: 7b73 6567 6d65 6e74 7d0a 2020 7d20 200a {segment}. } . │ │ │ │ │ -00016b00: 5468 6520 6964 656e 7469 6669 6572 7320 The identifiers │ │ │ │ │ -00016b10: 6865 7265 2061 7265 2066 6f72 2073 697a here are for siz │ │ │ │ │ -00016b20: 6520 616e 6420 6c6f 6361 7469 6f6e 2063 e and location c │ │ │ │ │ -00016b30: 6f6e 7374 616e 7473 2e20 2054 6865 2065 onstants. The e │ │ │ │ │ -00016b40: 7863 6570 7469 6f6e 0a69 7320 e280 9864 xception.is ...d │ │ │ │ │ -00016b50: 6973 7461 6c5f 726f 745f 31e2 8099 2e20 istal_rot_1.... │ │ │ │ │ -00016b60: 2054 6869 7320 726f 7461 7469 6f6e 2070 This rotation p │ │ │ │ │ -00016b70: 6172 616d 6574 6572 206d 6f64 656c 7320 arameter models │ │ │ │ │ -00016b80: 7468 6520 666c 6578 696e 6720 6f66 2074 the flexing of t │ │ │ │ │ -00016b90: 6865 0a66 696e 6765 7220 7469 702e 2020 he.finger tip. │ │ │ │ │ -00016ba0: 5468 6520 6669 7273 7420 e280 9870 7574 The first ...put │ │ │ │ │ -00016bb0: e280 9920 6d61 6b65 7320 6120 636f 7079 ... makes a copy │ │ │ │ │ -00016bc0: 206f 6620 7468 6520 6669 6e67 6572 2073 of the finger s │ │ │ │ │ -00016bd0: 6567 6d65 6e74 2074 6861 7420 6973 0a74 egment that is.t │ │ │ │ │ -00016be0: 7261 6e73 6c61 7465 6420 7570 7761 7264 ranslated upward │ │ │ │ │ -00016bf0: 206a 7573 7420 6661 7220 656e 6f75 6768 just far enough │ │ │ │ │ -00016c00: 2074 6f20 6d61 6b65 2072 6f6f 6d20 666f to make room fo │ │ │ │ │ -00016c10: 7220 7468 6520 7370 6865 7269 6361 6c20 r the spherical │ │ │ │ │ -00016c20: 6a6f 696e 742e 0a54 6865 6e20 6974 2061 joint..Then it a │ │ │ │ │ -00016c30: 7070 6c69 6573 2074 6865 2064 6973 7461 pplies the dista │ │ │ │ │ -00016c40: 6c20 726f 7461 7469 6f6e 2e20 2046 696e l rotation. Fin │ │ │ │ │ -00016c50: 616c 6c79 2069 7420 7472 616e 736c 6174 ally it translat │ │ │ │ │ -00016c60: 6573 2074 6865 2077 686f 6c65 0a61 7373 es the whole.ass │ │ │ │ │ -00016c70: 656d 626c 7920 7570 7761 7264 2061 6761 embly upward aga │ │ │ │ │ -00016c80: 696e 2074 6f20 6d61 6b65 2072 6f6f 6d20 in to make room │ │ │ │ │ -00016c90: 666f 7220 7468 6520 6d69 6464 6c65 2070 for the middle p │ │ │ │ │ -00016ca0: 686c 616e 6765 7320 2874 6865 206e 6578 hlanges (the nex │ │ │ │ │ -00016cb0: 740a 626f 6e65 2074 6f77 6172 6420 7468 t.bone toward th │ │ │ │ │ -00016cc0: 6520 7061 6c6d 292e 2020 5468 6520 7365 e palm). The se │ │ │ │ │ -00016cd0: 636f 6e64 20e2 8098 7075 74e2 8099 2070 cond ...put... p │ │ │ │ │ -00016ce0: 6f73 6974 696f 6e73 2074 6865 2073 7068 ositions the sph │ │ │ │ │ -00016cf0: 6572 652e 2020 5468 6572 6520 6973 0a61 ere. There is.a │ │ │ │ │ -00016d00: 2072 6f74 6174 696f 6e20 746f 2070 6c61 rotation to pla │ │ │ │ │ -00016d10: 6365 2074 6865 2067 7269 6420 6f6e 2074 ce the grid on t │ │ │ │ │ -00016d20: 6865 2073 7068 6572 6520 7375 7266 6163 he sphere surfac │ │ │ │ │ -00016d30: 6520 6174 2061 6e20 6e69 6365 2061 6e67 e at an nice ang │ │ │ │ │ -00016d40: 6c65 2c0a 7468 656e 2061 2074 7261 6e73 le,.then a trans │ │ │ │ │ -00016d50: 6c61 7469 6f6e 2074 6f20 7468 6520 6261 lation to the ba │ │ │ │ │ -00016d60: 7365 206f 6620 7468 6520 6469 7374 616c se of the distal │ │ │ │ │ -00016d70: 2070 686c 616e 6765 732c 2077 6869 6368 phlanges, which │ │ │ │ │ -00016d80: 2069 7320 616c 736f 0a63 656e 7465 7220 is also.center │ │ │ │ │ -00016d90: 6f66 2069 7473 2072 6f74 6174 696f 6e2e of its rotation. │ │ │ │ │ -00016da0: 2020 4669 6e61 6c6c 792c 2074 6865 206c Finally, the l │ │ │ │ │ -00016db0: 6173 7420 e280 9870 7574 e280 9920 706f ast ...put... po │ │ │ │ │ -00016dc0: 7369 7469 6f6e 7320 7468 6520 6d69 6464 sitions the midd │ │ │ │ │ -00016dd0: 6c65 0a73 6567 6d65 6e74 2069 7473 656c le.segment itsel │ │ │ │ │ -00016de0: 662e 0a0a 2020 2054 6865 206d 6964 646c f... The middl │ │ │ │ │ -00016df0: 6520 6a6f 696e 7420 6973 2074 6865 206e e joint is the n │ │ │ │ │ -00016e00: 6578 7420 6f6e 6520 646f 776e 2c20 7769 ext one down, wi │ │ │ │ │ -00016e10: 7468 2072 6f74 6174 696f 6e20 616e 676c th rotation angl │ │ │ │ │ -00016e20: 650a e280 986d 6964 646c 655f 726f 745f e....middle_rot_ │ │ │ │ │ -00016e30: 31e2 8099 2e20 2057 6865 6e20 7468 6973 1.... When this │ │ │ │ │ -00016e40: 2061 6e67 6c65 2063 6861 6e67 6573 2c20 angle changes, │ │ │ │ │ -00016e50: 7765 206e 6565 6420 616c 6c20 7468 6520 we need all the │ │ │ │ │ -00016e60: 6f62 6a65 6374 7320 696e 0ae2 8098 6469 objects in....di │ │ │ │ │ -00016e70: 7374 616c 5f31 e280 9920 746f 2072 6f74 stal_1... to rot │ │ │ │ │ -00016e80: 6174 6520 6173 2061 2075 6e69 742e 2020 ate as a unit. │ │ │ │ │ -00016e90: 5468 6973 2069 7320 7468 6520 7265 6173 This is the reas │ │ │ │ │ -00016ea0: 6f6e 696e 6720 6265 6869 6e64 2074 6865 oning behind the │ │ │ │ │ -00016eb0: 206e 6578 740a 6465 6669 6e69 7469 6f6e next.definition │ │ │ │ │ -00016ec0: 2e0a 2020 6465 6620 6669 6e67 6572 5f31 .. def finger_1 │ │ │ │ │ -00016ed0: 207b 0a20 2020 2070 7574 207b 2074 7261 {. put { tra │ │ │ │ │ -00016ee0: 6e73 6c61 7465 286a 6f69 6e74 5f67 6170 nslate(joint_gap │ │ │ │ │ -00016ef0: 202a 206a 6f69 6e74 5f72 6164 202a 205b * joint_rad * [ │ │ │ │ │ -00016f00: 4a5d 290a 2020 2020 2020 2020 2020 7468 J]). th │ │ │ │ │ -00016f10: 656e 2072 6f74 6174 6528 6d69 6464 6c65 en rotate(middle │ │ │ │ │ -00016f20: 5f31 5f72 6f74 2c20 5b49 5d29 0a20 2020 _1_rot, [I]). │ │ │ │ │ -00016f30: 2020 2020 2020 2074 6865 6e20 7472 616e then tran │ │ │ │ │ -00016f40: 736c 6174 6528 286d 6964 646c 655f 7261 slate((middle_ra │ │ │ │ │ -00016f50: 7469 6f20 2a20 6469 7374 616c 5f6c 656e tio * distal_len │ │ │ │ │ -00016f60: 202b 200a 2020 2020 2020 2020 2020 2020 + . │ │ │ │ │ -00016f70: 2020 2020 2020 2020 2020 2020 2020 6a6f jo │ │ │ │ │ -00016f80: 696e 745f 6761 7020 2a20 6a6f 696e 745f int_gap * joint_ │ │ │ │ │ -00016f90: 7261 6429 202a 205b 4a5d 2920 7d0a 2020 rad) * [J]) }. │ │ │ │ │ -00016fa0: 2020 2020 7b64 6973 7461 6c5f 317d 0a20 {distal_1}. │ │ │ │ │ -00016fb0: 2020 2070 7574 207b 2073 6361 6c65 2870 put { scale(p │ │ │ │ │ -00016fc0: 726f 7869 6d61 6c5f 6469 7374 616c 5f72 roximal_distal_r │ │ │ │ │ -00016fd0: 6174 696f 290a 2020 2020 2020 2020 2020 atio). │ │ │ │ │ -00016fe0: 7468 656e 2072 6f74 6174 6528 6d69 6464 then rotate(midd │ │ │ │ │ -00016ff0: 6c65 5f31 5f72 6f74 202f 2032 2c20 5b49 le_1_rot / 2, [I │ │ │ │ │ -00017000: 5d29 0a20 2020 2020 2020 2020 2074 6865 ]). the │ │ │ │ │ -00017010: 6e20 7472 616e 736c 6174 6528 286d 6964 n translate((mid │ │ │ │ │ -00017020: 646c 655f 7261 7469 6f20 2a20 6469 7374 dle_ratio * dist │ │ │ │ │ -00017030: 616c 5f6c 656e 202b 200a 2020 2020 2020 al_len + . │ │ │ │ │ +00016480: 3d3d 3d3d 3d3d 3d0a 0a57 6869 6c65 20e2 =======..While . │ │ │ │ │ +00016490: 8098 736b 6574 6368 e280 9920 7761 7320 ..sketch... was │ │ │ │ │ +000164a0: 6e65 7665 7220 6d65 616e 7420 746f 2062 never meant to b │ │ │ │ │ +000164b0: 6520 6120 6765 6f6d 6574 7269 6320 6d6f e a geometric mo │ │ │ │ │ +000164c0: 6465 6c69 6e67 206c 616e 6775 6167 652c deling language, │ │ │ │ │ +000164d0: 2069 740a 636f 6d65 7320 6661 6972 6c79 it.comes fairly │ │ │ │ │ +000164e0: 2063 6c6f 7365 2e20 2054 6865 2066 6f6c close. The fol │ │ │ │ │ +000164f0: 6c6f 7769 6e67 2065 7861 6d70 6c65 2070 lowing example p │ │ │ │ │ +00016500: 7574 7320 616c 6c20 7765 2068 6176 6520 uts all we have │ │ │ │ │ +00016510: 7365 656e 2074 6f20 776f 726b 0a69 6e20 seen to work.in │ │ │ │ │ +00016520: 6120 7665 7279 2073 696d 706c 6520 6d6f a very simple mo │ │ │ │ │ +00016530: 6465 6c20 6f66 2074 6865 2068 756d 616e del of the human │ │ │ │ │ +00016540: 2068 616e 642e 2020 5374 6172 7420 6279 hand. Start by │ │ │ │ │ +00016550: 2073 7765 6570 696e 6720 6120 6c69 6e65 sweeping a line │ │ │ │ │ +00016560: 2074 6f0a 6d61 6b65 2061 2074 7275 6e63 to.make a trunc │ │ │ │ │ +00016570: 6174 6564 2063 6f6e 652c 2077 6869 6368 ated cone, which │ │ │ │ │ +00016580: 2077 696c 6c20 6265 2063 6f70 6965 6420 will be copied │ │ │ │ │ +00016590: 6f76 6572 2061 6e64 206f 7665 7220 6167 over and over ag │ │ │ │ │ +000165a0: 6169 6e20 746f 206d 616b 650a 7468 6520 ain to make.the │ │ │ │ │ +000165b0: 7365 676d 656e 7473 206f 6620 6669 6e67 segments of fing │ │ │ │ │ +000165c0: 6572 732e 0a20 2064 6566 204f 2028 302c ers.. def O (0, │ │ │ │ │ +000165d0: 302c 3029 2025 206f 7269 6769 6e0a 2020 0,0) % origin. │ │ │ │ │ +000165e0: 6465 6620 4920 5b31 2c30 2c30 5d20 6465 def I [1,0,0] de │ │ │ │ │ +000165f0: 6620 4a20 5b30 2c31 2c30 5d20 6465 6620 f J [0,1,0] def │ │ │ │ │ +00016600: 4b20 5b30 2c30 2c31 5d20 2520 6361 6e6f K [0,0,1] % cano │ │ │ │ │ +00016610: 6e69 6361 6c20 756e 6974 2076 6563 746f nical unit vecto │ │ │ │ │ +00016620: 7273 0a20 2064 6566 2073 6567 6d65 6e74 rs. def segment │ │ │ │ │ +00016630: 207b 0a20 2020 2064 6566 206e 5f66 6163 {. def n_fac │ │ │ │ │ +00016640: 6573 2038 0a20 2020 2073 7765 6570 207b es 8. sweep { │ │ │ │ │ +00016650: 206e 5f66 6163 6573 3c3e 2c20 726f 7461 n_faces<>, rota │ │ │ │ │ +00016660: 7465 2833 3630 202f 206e 5f66 6163 6573 te(360 / n_faces │ │ │ │ │ +00016670: 2c20 5b4a 5d29 207d 200a 2020 2020 2020 , [J]) } . │ │ │ │ │ +00016680: 6c69 6e65 2870 726f 7869 6d61 6c5f 7261 line(proximal_ra │ │ │ │ │ +00016690: 642c 2030 2928 6469 7374 616c 5f72 6164 d, 0)(distal_rad │ │ │ │ │ +000166a0: 2c20 6469 7374 616c 5f6c 656e 290a 2020 , distal_len). │ │ │ │ │ +000166b0: 7d0a 496e 2068 616e 6420 616e 6174 6f6d }.In hand anatom │ │ │ │ │ +000166c0: 792c 205f 6469 7374 616c 5f20 6973 2022 y, _distal_ is " │ │ │ │ │ +000166d0: 6174 2074 6865 2074 6970 2220 616e 6420 at the tip" and │ │ │ │ │ +000166e0: 5f70 726f 7869 6d61 6c5f 2069 7320 2269 _proximal_ is "i │ │ │ │ │ +000166f0: 6e20 7468 6520 6172 6561 0a6f 6620 7468 n the area.of th │ │ │ │ │ +00016700: 6520 7061 6c6d 2e22 2020 5765 2068 6176 e palm." We hav │ │ │ │ │ +00016710: 6520 6f6d 6974 7465 6420 616c 6c20 7468 e omitted all th │ │ │ │ │ +00016720: 6520 7363 616c 6172 2063 6f6e 7374 616e e scalar constan │ │ │ │ │ +00016730: 7473 2e20 2059 6f75 2063 616e 2066 696e ts. You can fin │ │ │ │ │ +00016740: 640a 7468 656d 2069 6e20 e280 9868 616e d.them in ...han │ │ │ │ │ +00016750: 642e 736b e280 992c 2077 6869 6368 2069 d.sk..., which i │ │ │ │ │ +00016760: 7320 7072 6f76 6964 6564 2069 6e20 7468 s provided in th │ │ │ │ │ +00016770: 6520 e280 9873 6b65 7463 68e2 8099 2064 e ...sketch... d │ │ │ │ │ +00016780: 6973 7472 6962 7574 696f 6e2e 0a0a 2020 istribution... │ │ │ │ │ +00016790: 2057 6520 616c 736f 206e 6565 6420 6120 We also need a │ │ │ │ │ +000167a0: 7072 6f74 6f74 7970 6963 616c 2073 7068 prototypical sph │ │ │ │ │ +000167b0: 6572 6520 746f 2075 7365 2066 6f72 2074 ere to use for t │ │ │ │ │ +000167c0: 6865 206a 6f69 6e74 7320 7468 656d 7365 he joints themse │ │ │ │ │ +000167d0: 6c76 6573 2e0a 2020 6465 6620 6a6f 696e lves.. def join │ │ │ │ │ +000167e0: 745f 7370 6865 7265 207b 0a20 2020 2064 t_sphere {. d │ │ │ │ │ +000167f0: 6566 206e 5f6a 6f69 6e74 5f66 6163 6573 ef n_joint_faces │ │ │ │ │ +00016800: 2038 0a20 2020 2073 7765 6570 205b 6669 8. sweep [fi │ │ │ │ │ +00016810: 6c6c 636f 6c6f 723d 7265 645d 207b 206e llcolor=red] { n │ │ │ │ │ +00016820: 5f6a 6f69 6e74 5f66 6163 6573 2c20 726f _joint_faces, ro │ │ │ │ │ +00016830: 7461 7465 2833 3630 202f 206e 5f6a 6f69 tate(360 / n_joi │ │ │ │ │ +00016840: 6e74 5f66 6163 6573 2c20 5b4a 5d29 207d nt_faces, [J]) } │ │ │ │ │ +00016850: 0a20 2020 2020 2073 7765 6570 207b 206e . sweep { n │ │ │ │ │ +00016860: 5f6a 6f69 6e74 5f66 6163 6573 2c20 726f _joint_faces, ro │ │ │ │ │ +00016870: 7461 7465 2831 3830 202f 206e 5f6a 6f69 tate(180 / n_joi │ │ │ │ │ +00016880: 6e74 5f66 6163 6573 2920 7d20 0a20 2020 nt_faces) } . │ │ │ │ │ +00016890: 2020 2020 2028 302c 202d 6a6f 696e 745f (0, -joint_ │ │ │ │ │ +000168a0: 7261 6429 0a20 207d 0a0a 2020 2057 6527 rad). }.. We' │ │ │ │ │ +000168b0: 6c6c 206e 6f77 2064 6573 6967 6e20 7468 ll now design th │ │ │ │ │ +000168c0: 6520 696e 6465 7820 6669 6e67 6572 2028 e index finger ( │ │ │ │ │ +000168d0: 6e75 6d62 6572 2031 2069 6e20 6f75 7220 number 1 in our │ │ │ │ │ +000168e0: 6e6f 7461 7469 6f6e 616c 0a63 6f6e 7665 notational.conve │ │ │ │ │ +000168f0: 6e74 696f 6e3b 2066 696e 6765 7220 3020 ntion; finger 0 │ │ │ │ │ +00016900: 6973 2074 6865 2074 6875 6d62 292e 2020 is the thumb). │ │ │ │ │ +00016910: 5468 6520 6469 7374 616c 2072 6f74 6174 The distal rotat │ │ │ │ │ +00016920: 696f 6e20 666f 7220 7468 6520 6669 6e67 ion for the fing │ │ │ │ │ +00016930: 6572 0a61 7070 6c69 6573 206f 6e6c 7920 er.applies only │ │ │ │ │ +00016940: 746f 2074 6865 2074 6970 2c20 736f 2077 to the tip, so w │ │ │ │ │ +00016950: 6520 6465 6669 6e65 2074 6865 2066 6f6c e define the fol │ │ │ │ │ +00016960: 6c6f 7769 6e67 2e0a 2020 6465 6620 6469 lowing.. def di │ │ │ │ │ +00016970: 7374 616c 5f31 207b 0a20 2020 2070 7574 stal_1 {. put │ │ │ │ │ +00016980: 207b 2074 7261 6e73 6c61 7465 286a 6f69 { translate(joi │ │ │ │ │ +00016990: 6e74 5f67 6170 202a 206a 6f69 6e74 5f72 nt_gap * joint_r │ │ │ │ │ +000169a0: 6164 202a 205b 4a5d 2920 0a20 2020 2020 ad * [J]) . │ │ │ │ │ +000169b0: 2020 2020 2074 6865 6e20 726f 7461 7465 then rotate │ │ │ │ │ +000169c0: 2864 6973 7461 6c5f 315f 726f 742c 205b (distal_1_rot, [ │ │ │ │ │ +000169d0: 495d 2920 0a20 2020 2020 2020 2020 2074 I]) . t │ │ │ │ │ +000169e0: 6865 6e20 7472 616e 736c 6174 6528 2864 hen translate((d │ │ │ │ │ +000169f0: 6973 7461 6c5f 6c65 6e20 2b20 6a6f 696e istal_len + join │ │ │ │ │ +00016a00: 745f 6761 7020 2a20 6a6f 696e 745f 7261 t_gap * joint_ra │ │ │ │ │ +00016a10: 6429 202a 205b 4a5d 2920 7d0a 2020 2020 d) * [J]) }. │ │ │ │ │ +00016a20: 2020 7b73 6567 6d65 6e74 7d0a 2020 2020 {segment}. │ │ │ │ │ +00016a30: 7075 7420 7b20 726f 7461 7465 2864 6973 put { rotate(dis │ │ │ │ │ +00016a40: 7461 6c5f 315f 726f 7420 2f20 322c 205b tal_1_rot / 2, [ │ │ │ │ │ +00016a50: 495d 290a 2020 2020 2020 2020 2020 7468 I]). th │ │ │ │ │ +00016a60: 656e 2074 7261 6e73 6c61 7465 2828 6469 en translate((di │ │ │ │ │ +00016a70: 7374 616c 5f6c 656e 202b 206a 6f69 6e74 stal_len + joint │ │ │ │ │ +00016a80: 5f67 6170 202a 206a 6f69 6e74 5f72 6164 _gap * joint_rad │ │ │ │ │ +00016a90: 2920 2a20 5b4a 5d29 207d 200a 2020 2020 ) * [J]) } . │ │ │ │ │ +00016aa0: 2020 7b6a 6f69 6e74 5f73 7068 6572 657d {joint_sphere} │ │ │ │ │ +00016ab0: 0a20 2020 2070 7574 207b 2073 6361 6c65 . put { scale │ │ │ │ │ +00016ac0: 2820 5b4a 5d20 2b20 7072 6f78 696d 616c ( [J] + proximal │ │ │ │ │ +00016ad0: 5f64 6973 7461 6c5f 7261 7469 6f20 2a20 _distal_ratio * │ │ │ │ │ +00016ae0: 285b 495d 2b5b 4b5d 2920 2920 7d0a 2020 ([I]+[K]) ) }. │ │ │ │ │ +00016af0: 2020 2020 7b73 6567 6d65 6e74 7d0a 2020 {segment}. │ │ │ │ │ +00016b00: 7d20 200a 5468 6520 6964 656e 7469 6669 } .The identifi │ │ │ │ │ +00016b10: 6572 7320 6865 7265 2061 7265 2066 6f72 ers here are for │ │ │ │ │ +00016b20: 2073 697a 6520 616e 6420 6c6f 6361 7469 size and locati │ │ │ │ │ +00016b30: 6f6e 2063 6f6e 7374 616e 7473 2e20 2054 on constants. T │ │ │ │ │ +00016b40: 6865 2065 7863 6570 7469 6f6e 0a69 7320 he exception.is │ │ │ │ │ +00016b50: e280 9864 6973 7461 6c5f 726f 745f 31e2 ...distal_rot_1. │ │ │ │ │ +00016b60: 8099 2e20 2054 6869 7320 726f 7461 7469 ... This rotati │ │ │ │ │ +00016b70: 6f6e 2070 6172 616d 6574 6572 206d 6f64 on parameter mod │ │ │ │ │ +00016b80: 656c 7320 7468 6520 666c 6578 696e 6720 els the flexing │ │ │ │ │ +00016b90: 6f66 2074 6865 0a66 696e 6765 7220 7469 of the.finger ti │ │ │ │ │ +00016ba0: 702e 2020 5468 6520 6669 7273 7420 e280 p. The first .. │ │ │ │ │ +00016bb0: 9870 7574 e280 9920 6d61 6b65 7320 6120 .put... makes a │ │ │ │ │ +00016bc0: 636f 7079 206f 6620 7468 6520 6669 6e67 copy of the fing │ │ │ │ │ +00016bd0: 6572 2073 6567 6d65 6e74 2074 6861 7420 er segment that │ │ │ │ │ +00016be0: 6973 0a74 7261 6e73 6c61 7465 6420 7570 is.translated up │ │ │ │ │ +00016bf0: 7761 7264 206a 7573 7420 6661 7220 656e ward just far en │ │ │ │ │ +00016c00: 6f75 6768 2074 6f20 6d61 6b65 2072 6f6f ough to make roo │ │ │ │ │ +00016c10: 6d20 666f 7220 7468 6520 7370 6865 7269 m for the spheri │ │ │ │ │ +00016c20: 6361 6c20 6a6f 696e 742e 0a54 6865 6e20 cal joint..Then │ │ │ │ │ +00016c30: 6974 2061 7070 6c69 6573 2074 6865 2064 it applies the d │ │ │ │ │ +00016c40: 6973 7461 6c20 726f 7461 7469 6f6e 2e20 istal rotation. │ │ │ │ │ +00016c50: 2046 696e 616c 6c79 2069 7420 7472 616e Finally it tran │ │ │ │ │ +00016c60: 736c 6174 6573 2074 6865 2077 686f 6c65 slates the whole │ │ │ │ │ +00016c70: 0a61 7373 656d 626c 7920 7570 7761 7264 .assembly upward │ │ │ │ │ +00016c80: 2061 6761 696e 2074 6f20 6d61 6b65 2072 again to make r │ │ │ │ │ +00016c90: 6f6f 6d20 666f 7220 7468 6520 6d69 6464 oom for the midd │ │ │ │ │ +00016ca0: 6c65 2070 686c 616e 6765 7320 2874 6865 le phlanges (the │ │ │ │ │ +00016cb0: 206e 6578 740a 626f 6e65 2074 6f77 6172 next.bone towar │ │ │ │ │ +00016cc0: 6420 7468 6520 7061 6c6d 292e 2020 5468 d the palm). Th │ │ │ │ │ +00016cd0: 6520 7365 636f 6e64 20e2 8098 7075 74e2 e second ...put. │ │ │ │ │ +00016ce0: 8099 2070 6f73 6974 696f 6e73 2074 6865 .. positions the │ │ │ │ │ +00016cf0: 2073 7068 6572 652e 2020 5468 6572 6520 sphere. There │ │ │ │ │ +00016d00: 6973 0a61 2072 6f74 6174 696f 6e20 746f is.a rotation to │ │ │ │ │ +00016d10: 2070 6c61 6365 2074 6865 2067 7269 6420 place the grid │ │ │ │ │ +00016d20: 6f6e 2074 6865 2073 7068 6572 6520 7375 on the sphere su │ │ │ │ │ +00016d30: 7266 6163 6520 6174 2061 6e20 6e69 6365 rface at an nice │ │ │ │ │ +00016d40: 2061 6e67 6c65 2c0a 7468 656e 2061 2074 angle,.then a t │ │ │ │ │ +00016d50: 7261 6e73 6c61 7469 6f6e 2074 6f20 7468 ranslation to th │ │ │ │ │ +00016d60: 6520 6261 7365 206f 6620 7468 6520 6469 e base of the di │ │ │ │ │ +00016d70: 7374 616c 2070 686c 616e 6765 732c 2077 stal phlanges, w │ │ │ │ │ +00016d80: 6869 6368 2069 7320 616c 736f 0a63 656e hich is also.cen │ │ │ │ │ +00016d90: 7465 7220 6f66 2069 7473 2072 6f74 6174 ter of its rotat │ │ │ │ │ +00016da0: 696f 6e2e 2020 4669 6e61 6c6c 792c 2074 ion. Finally, t │ │ │ │ │ +00016db0: 6865 206c 6173 7420 e280 9870 7574 e280 he last ...put.. │ │ │ │ │ +00016dc0: 9920 706f 7369 7469 6f6e 7320 7468 6520 . positions the │ │ │ │ │ +00016dd0: 6d69 6464 6c65 0a73 6567 6d65 6e74 2069 middle.segment i │ │ │ │ │ +00016de0: 7473 656c 662e 0a0a 2020 2054 6865 206d tself... The m │ │ │ │ │ +00016df0: 6964 646c 6520 6a6f 696e 7420 6973 2074 iddle joint is t │ │ │ │ │ +00016e00: 6865 206e 6578 7420 6f6e 6520 646f 776e he next one down │ │ │ │ │ +00016e10: 2c20 7769 7468 2072 6f74 6174 696f 6e20 , with rotation │ │ │ │ │ +00016e20: 616e 676c 650a e280 986d 6964 646c 655f angle....middle_ │ │ │ │ │ +00016e30: 726f 745f 31e2 8099 2e20 2057 6865 6e20 rot_1.... When │ │ │ │ │ +00016e40: 7468 6973 2061 6e67 6c65 2063 6861 6e67 this angle chang │ │ │ │ │ +00016e50: 6573 2c20 7765 206e 6565 6420 616c 6c20 es, we need all │ │ │ │ │ +00016e60: 7468 6520 6f62 6a65 6374 7320 696e 0ae2 the objects in.. │ │ │ │ │ +00016e70: 8098 6469 7374 616c 5f31 e280 9920 746f ..distal_1... to │ │ │ │ │ +00016e80: 2072 6f74 6174 6520 6173 2061 2075 6e69 rotate as a uni │ │ │ │ │ +00016e90: 742e 2020 5468 6973 2069 7320 7468 6520 t. This is the │ │ │ │ │ +00016ea0: 7265 6173 6f6e 696e 6720 6265 6869 6e64 reasoning behind │ │ │ │ │ +00016eb0: 2074 6865 206e 6578 740a 6465 6669 6e69 the next.defini │ │ │ │ │ +00016ec0: 7469 6f6e 2e0a 2020 6465 6620 6669 6e67 tion.. def fing │ │ │ │ │ +00016ed0: 6572 5f31 207b 0a20 2020 2070 7574 207b er_1 {. put { │ │ │ │ │ +00016ee0: 2074 7261 6e73 6c61 7465 286a 6f69 6e74 translate(joint │ │ │ │ │ +00016ef0: 5f67 6170 202a 206a 6f69 6e74 5f72 6164 _gap * joint_rad │ │ │ │ │ +00016f00: 202a 205b 4a5d 290a 2020 2020 2020 2020 * [J]). │ │ │ │ │ +00016f10: 2020 7468 656e 2072 6f74 6174 6528 6d69 then rotate(mi │ │ │ │ │ +00016f20: 6464 6c65 5f31 5f72 6f74 2c20 5b49 5d29 ddle_1_rot, [I]) │ │ │ │ │ +00016f30: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then │ │ │ │ │ +00016f40: 7472 616e 736c 6174 6528 286d 6964 646c translate((middl │ │ │ │ │ +00016f50: 655f 7261 7469 6f20 2a20 6469 7374 616c e_ratio * distal │ │ │ │ │ +00016f60: 5f6c 656e 202b 200a 2020 2020 2020 2020 _len + . │ │ │ │ │ +00016f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00016f80: 2020 6a6f 696e 745f 6761 7020 2a20 6a6f joint_gap * jo │ │ │ │ │ +00016f90: 696e 745f 7261 6429 202a 205b 4a5d 2920 int_rad) * [J]) │ │ │ │ │ +00016fa0: 7d0a 2020 2020 2020 7b64 6973 7461 6c5f }. {distal_ │ │ │ │ │ +00016fb0: 317d 0a20 2020 2070 7574 207b 2073 6361 1}. put { sca │ │ │ │ │ +00016fc0: 6c65 2870 726f 7869 6d61 6c5f 6469 7374 le(proximal_dist │ │ │ │ │ +00016fd0: 616c 5f72 6174 696f 290a 2020 2020 2020 al_ratio). │ │ │ │ │ +00016fe0: 2020 2020 7468 656e 2072 6f74 6174 6528 then rotate( │ │ │ │ │ +00016ff0: 6d69 6464 6c65 5f31 5f72 6f74 202f 2032 middle_1_rot / 2 │ │ │ │ │ +00017000: 2c20 5b49 5d29 0a20 2020 2020 2020 2020 , [I]). │ │ │ │ │ +00017010: 2074 6865 6e20 7472 616e 736c 6174 6528 then translate( │ │ │ │ │ +00017020: 286d 6964 646c 655f 7261 7469 6f20 2a20 (middle_ratio * │ │ │ │ │ +00017030: 6469 7374 616c 5f6c 656e 202b 200a 2020 distal_len + . │ │ │ │ │ 00017040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00017050: 2020 2020 6a6f 696e 745f 6761 7020 2a20 joint_gap * │ │ │ │ │ -00017060: 6a6f 696e 745f 7261 6429 202a 205b 4a5d joint_rad) * [J] │ │ │ │ │ -00017070: 2920 7d20 0a20 2020 2020 207b 6a6f 696e ) } . {join │ │ │ │ │ -00017080: 745f 7370 6865 7265 7d0a 2020 2020 7075 t_sphere}. pu │ │ │ │ │ -00017090: 7420 7b20 7363 616c 6528 206d 6964 646c t { scale( middl │ │ │ │ │ -000170a0: 655f 7261 7469 6f20 2a20 5b4a 5d20 2b20 e_ratio * [J] + │ │ │ │ │ -000170b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -000170c0: 2020 7072 6f78 696d 616c 5f64 6973 7461 proximal_dista │ │ │ │ │ -000170d0: 6c5f 7261 7469 6f5e 3220 2a20 285b 495d l_ratio^2 * ([I] │ │ │ │ │ -000170e0: 2b5b 4b5d 2920 2920 7d0a 2020 2020 2020 +[K]) ) }. │ │ │ │ │ -000170f0: 7b73 6567 6d65 6e74 7d0a 2020 7d0a 5468 {segment}. }.Th │ │ │ │ │ -00017100: 6973 206c 6f6f 6b73 2076 6572 7920 7369 is looks very si │ │ │ │ │ -00017110: 6d69 6c61 7220 746f 2074 6865 2070 7265 milar to the pre │ │ │ │ │ -00017120: 7669 6f75 7320 6465 6669 6e69 7469 6f6e vious definition │ │ │ │ │ -00017130: 2c20 616e 6420 6974 2069 732e 2020 5468 , and it is. Th │ │ │ │ │ -00017140: 650a 696d 706f 7274 616e 7420 6469 6666 e.important diff │ │ │ │ │ -00017150: 6572 656e 6365 2069 7320 7468 6174 2072 erence is that r │ │ │ │ │ -00017160: 6174 6865 7220 7468 616e 2070 6f73 6974 ather than posit │ │ │ │ │ -00017170: 696f 6e69 6e67 2061 6e64 2072 6f74 6174 ioning and rotat │ │ │ │ │ -00017180: 696e 6720 610a 7369 6e67 6c65 2073 6567 ing a.single seg │ │ │ │ │ -00017190: 6d65 6e74 2c20 7765 2070 6f73 6974 696f ment, we positio │ │ │ │ │ -000171a0: 6e20 616e 6420 726f 7461 7465 2074 6865 n and rotate the │ │ │ │ │ -000171b0: 2065 6e74 6972 6520 2261 7373 656d 626c entire "assembl │ │ │ │ │ -000171c0: 7922 2064 6566 696e 6564 2061 730a e280 y" defined as... │ │ │ │ │ -000171d0: 9864 6973 7461 6c5f 31e2 8099 2e20 2054 .distal_1.... T │ │ │ │ │ -000171e0: 6865 2072 6573 7420 6973 206a 7573 7420 he rest is just │ │ │ │ │ -000171f0: 6172 6974 686d 6574 6963 2074 6f20 636f arithmetic to co │ │ │ │ │ -00017200: 6d70 7574 6520 7369 7a65 7320 616e 6420 mpute sizes and │ │ │ │ │ -00017210: 706f 7369 7469 6f6e 730a 7468 6174 206c positions.that l │ │ │ │ │ -00017220: 6f6f 6b20 6e69 6365 2e20 2054 6865 206c ook nice. The l │ │ │ │ │ -00017230: 6173 7420 e280 9870 7574 e280 9920 706c ast ...put... pl │ │ │ │ │ -00017240: 6163 6573 2061 6e20 6170 7072 6f70 7269 aces an appropri │ │ │ │ │ -00017250: 6174 656c 7920 7368 6170 6564 2073 6567 ately shaped seg │ │ │ │ │ -00017260: 6d65 6e74 0a74 6861 7420 6973 2074 6865 ment.that is the │ │ │ │ │ -00017270: 205f 7072 6f78 696d 616c 2070 686c 616e _proximal phlan │ │ │ │ │ -00017280: 6765 735f 2c20 7468 6520 626f 6e65 2074 ges_, the bone t │ │ │ │ │ -00017290: 6861 7420 6a6f 696e 7320 7468 6520 7061 hat joins the pa │ │ │ │ │ -000172a0: 6c6d 206f 6620 7468 650a 6861 6e64 2e20 lm of the.hand. │ │ │ │ │ -000172b0: 2054 6869 7320 636f 6d70 6c65 7465 7320 This completes │ │ │ │ │ -000172c0: 7468 6520 6669 6e67 6572 2069 7473 656c the finger itsel │ │ │ │ │ -000172d0: 662e 0a0a 2020 2041 6c6c 2074 6865 206f f... All the o │ │ │ │ │ -000172e0: 7468 6572 2066 696e 6765 7273 2061 7265 ther fingers are │ │ │ │ │ -000172f0: 2064 6573 6372 6962 6564 2069 6465 6e74 described ident │ │ │ │ │ -00017300: 6963 616c 6c79 2074 6f20 7468 6973 206f ically to this o │ │ │ │ │ -00017310: 6e65 2e20 2057 650a 6163 636f 756e 7420 ne. We.account │ │ │ │ │ -00017320: 666f 7220 7468 6520 6661 6374 2074 6861 for the fact tha │ │ │ │ │ -00017330: 7420 7265 616c 2066 696e 6765 7273 2061 t real fingers a │ │ │ │ │ -00017340: 7265 2064 6966 6665 7265 6e74 2073 697a re different siz │ │ │ │ │ -00017350: 6573 2069 6e20 7468 6520 6e65 7874 0a73 es in the next.s │ │ │ │ │ -00017360: 7465 702c 2077 6869 6368 2069 7320 746f tep, which is to │ │ │ │ │ -00017370: 2062 7569 6c64 2074 6865 2065 6e74 6972 build the entir │ │ │ │ │ -00017380: 6520 6861 6e64 2e0a 0a20 2020 5468 6520 e hand... The │ │ │ │ │ -00017390: e280 9868 616e 64e2 8099 2064 6566 696e ...hand... defin │ │ │ │ │ -000173a0: 6974 696f 6e20 7468 6174 2066 6f6c 6c6f ition that follo │ │ │ │ │ -000173b0: 7773 2069 6e63 6c75 6465 7320 6120 7365 ws includes a se │ │ │ │ │ -000173c0: 6374 696f 6e20 666f 7220 6561 6368 0a66 ction for each.f │ │ │ │ │ -000173d0: 696e 6765 722e 2020 5765 276c 6c20 636f inger. We'll co │ │ │ │ │ -000173e0: 6e74 696e 7565 2077 6974 6820 6669 6e67 ntinue with fing │ │ │ │ │ -000173f0: 6572 2031 2061 6e64 206f 6d69 7420 616c er 1 and omit al │ │ │ │ │ -00017400: 6c20 7468 6520 6f74 6865 7273 2e20 2028 l the others. ( │ │ │ │ │ -00017410: 4f66 206e 6f74 650a 6973 2074 6861 7420 Of note.is that │ │ │ │ │ -00017420: 7468 6520 7468 756d 6220 6e65 6564 7320 the thumb needs │ │ │ │ │ -00017430: 736c 6967 6874 6c79 2073 7065 6369 616c slightly special │ │ │ │ │ -00017440: 2074 7265 6174 6d65 6e74 2d2d 616e 2065 treatment--an e │ │ │ │ │ -00017450: 7874 7261 2072 6f74 6174 696f 6e20 746f xtra rotation to │ │ │ │ │ -00017460: 0a61 6363 6f75 6e74 2066 6f72 2069 7473 .account for its │ │ │ │ │ -00017470: 206f 7070 6f73 696e 6720 616e 676c 652e opposing angle. │ │ │ │ │ -00017480: 2020 5468 6973 2069 7320 636c 6561 7220 This is clear │ │ │ │ │ -00017490: 696e 2074 6865 2066 756c 6c20 736f 7572 in the full sour │ │ │ │ │ -000174a0: 6365 2063 6f64 652e 290a 4e6f 7420 7375 ce code.).Not su │ │ │ │ │ -000174b0: 7270 7269 7369 6e67 6c79 2c20 7468 6520 rprisingly, the │ │ │ │ │ -000174c0: e280 9868 616e 64e2 8099 2064 6566 696e ...hand... defin │ │ │ │ │ -000174d0: 6974 696f 6e20 6c6f 6f6b 7320 7665 7279 ition looks very │ │ │ │ │ -000174e0: 206d 7563 6820 6c69 6b65 2074 6865 0a70 much like the.p │ │ │ │ │ -000174f0: 7265 7669 6f75 7320 7477 6f2e 2020 4974 revious two. It │ │ │ │ │ -00017500: 2073 686f 756c 6420 6265 206e 6f20 7375 should be no su │ │ │ │ │ -00017510: 7270 7269 7365 2074 6861 7420 7768 656e rprise that when │ │ │ │ │ -00017520: 2074 6865 2072 6f74 6174 696f 6e20 7061 the rotation pa │ │ │ │ │ -00017530: 7261 6d65 7465 720a e280 986d 6574 615f rameter....meta_ │ │ │ │ │ -00017540: 315f 726f 74e2 8099 2063 6861 6e67 6573 1_rot... changes │ │ │ │ │ -00017550: 2c20 7468 6520 656e 7469 7265 2066 696e , the entire fin │ │ │ │ │ -00017560: 6765 7220 726f 7461 7465 7321 2020 5468 ger rotates! Th │ │ │ │ │ -00017570: 6572 6520 6973 2061 6e20 6164 6469 7469 ere is an additi │ │ │ │ │ -00017580: 6f6e 616c 0a72 6f74 6174 696f 6e20 7468 onal.rotation th │ │ │ │ │ -00017590: 6174 2061 6c6c 6f77 7320 7468 6520 6669 at allows the fi │ │ │ │ │ -000175a0: 6e67 6572 7320 746f 2073 7072 6561 6420 ngers to spread │ │ │ │ │ -000175b0: 6c61 7465 7261 6c6c 792e 2020 5765 2073 laterally. We s │ │ │ │ │ -000175c0: 6179 2074 6865 7365 0a6a 6f69 6e74 7320 ay these.joints │ │ │ │ │ -000175d0: 6f66 2074 6865 2070 726f 7869 6d61 6c20 of the proximal │ │ │ │ │ -000175e0: 7068 6c61 6e67 6573 2068 6176 6520 7477 phlanges have tw │ │ │ │ │ -000175f0: 6f20 5f64 6567 7265 6573 206f 6620 6672 o _degrees of fr │ │ │ │ │ -00017600: 6565 646f 6d5f 2e20 2054 6865 0a6a 6f69 eedom_. The.joi │ │ │ │ │ -00017610: 6e74 7320 6869 6768 6572 206f 6e20 7468 nts higher on th │ │ │ │ │ -00017620: 6520 6669 6e67 6572 2068 6176 6520 6f6e e finger have on │ │ │ │ │ -00017630: 6c79 206f 6e65 2e20 2046 696e 616c 6c79 ly one. Finally │ │ │ │ │ -00017640: 2c20 6561 6368 2066 696e 6765 7220 6973 , each finger is │ │ │ │ │ -00017650: 0a73 6361 6c65 6420 6279 2061 2066 6163 .scaled by a fac │ │ │ │ │ -00017660: 746f 7220 746f 206c 656e 6420 6974 2070 tor to lend it p │ │ │ │ │ -00017670: 726f 706f 7274 696f 6e2e 0a20 2064 6566 roportion.. def │ │ │ │ │ -00017680: 2068 616e 6420 7b0a 2020 2020 2520 6669 hand {. % fi │ │ │ │ │ -00017690: 6e67 6572 2031 205b 616c 6c20 6f74 6865 nger 1 [all othe │ │ │ │ │ -000176a0: 7220 6669 6e67 6572 7320 6f6d 6974 7465 r fingers omitte │ │ │ │ │ -000176b0: 645d 0a20 2020 2064 6566 2073 6361 6c65 d]. def scale │ │ │ │ │ -000176c0: 5f31 202e 3835 0a20 2020 2070 7574 207b _1 .85. put { │ │ │ │ │ -000176d0: 2073 6361 6c65 2873 6361 6c65 5f31 2920 scale(scale_1) │ │ │ │ │ -000176e0: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then │ │ │ │ │ -000176f0: 7472 616e 736c 6174 6528 286a 6f69 6e74 translate((joint │ │ │ │ │ -00017700: 5f67 6170 202a 206a 6f69 6e74 5f72 6164 _gap * joint_rad │ │ │ │ │ -00017710: 2920 2a20 5b4a 5d29 0a09 2020 7468 656e ) * [J]).. then │ │ │ │ │ -00017720: 2072 6f74 6174 6528 6d65 7461 5f31 5f72 rotate(meta_1_r │ │ │ │ │ -00017730: 6f74 2c20 5b49 5d29 0a20 2020 2020 2020 ot, [I]). │ │ │ │ │ -00017740: 2020 2074 6865 6e20 726f 7461 7465 282d then rotate(- │ │ │ │ │ -00017750: 7370 7265 6164 5f72 6f74 2c20 5b4b 5d29 spread_rot, [K]) │ │ │ │ │ -00017760: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then │ │ │ │ │ -00017770: 7472 616e 736c 6174 6528 2870 726f 7869 translate((proxi │ │ │ │ │ -00017780: 6d61 6c5f 315f 6c6f 6329 202d 2028 4f29 mal_1_loc) - (O) │ │ │ │ │ -00017790: 2920 7d20 0a20 2020 2020 207b 6669 6e67 ) } . {fing │ │ │ │ │ -000177a0: 6572 5f31 7d0a 2020 2020 7075 7420 7b20 er_1}. put { │ │ │ │ │ -000177b0: 7363 616c 6528 7363 616c 655f 3120 2a20 scale(scale_1 * │ │ │ │ │ -000177c0: 7072 6f78 696d 616c 5f64 6973 7461 6c5f proximal_distal_ │ │ │ │ │ -000177d0: 7261 7469 6f5e 3229 0a20 2020 2020 2020 ratio^2). │ │ │ │ │ -000177e0: 2020 2074 6865 6e20 726f 7461 7465 286d then rotate(m │ │ │ │ │ -000177f0: 6574 615f 315f 726f 7420 2f20 322c 205b eta_1_rot / 2, [ │ │ │ │ │ -00017800: 495d 290a 2020 2020 2020 2020 2020 7468 I]). th │ │ │ │ │ -00017810: 656e 2072 6f74 6174 6528 2d73 7072 6561 en rotate(-sprea │ │ │ │ │ -00017820: 645f 726f 742c 205b 4b5d 290a 2020 2020 d_rot, [K]). │ │ │ │ │ -00017830: 2020 2020 2020 7468 656e 2074 7261 6e73 then trans │ │ │ │ │ -00017840: 6c61 7465 2828 7072 6f78 696d 616c 5f31 late((proximal_1 │ │ │ │ │ -00017850: 5f6c 6f63 2920 2d20 284f 2929 207d 200a _loc) - (O)) } . │ │ │ │ │ -00017860: 2020 2020 2020 7b6a 6f69 6e74 5f73 7068 {joint_sph │ │ │ │ │ -00017870: 6572 657d 0a0a 2020 2020 2520 7061 6c6d ere}.. % palm │ │ │ │ │ -00017880: 0a20 2020 2073 7765 6570 207b 2031 2c20 . sweep { 1, │ │ │ │ │ -00017890: 726f 7461 7465 2836 2c20 2830 2c31 352c rotate(6, (0,15, │ │ │ │ │ -000178a0: 3029 2c20 5b49 5d29 207d 0a20 2020 2020 0), [I]) }. │ │ │ │ │ -000178b0: 2070 7574 207b 2072 6f74 6174 6528 2d33 put { rotate(-3 │ │ │ │ │ -000178c0: 2c20 2830 2c31 352c 3029 2c20 5b49 5d29 , (0,15,0), [I]) │ │ │ │ │ -000178d0: 207d 207b 0a20 2020 2020 2020 2070 6f6c } {. pol │ │ │ │ │ -000178e0: 7967 6f6e 2870 726f 7869 6d61 6c5f 315f ygon(proximal_1_ │ │ │ │ │ -000178f0: 6c6f 6329 2870 726f 7869 6d61 6c5f 325f loc)(proximal_2_ │ │ │ │ │ -00017900: 6c6f 6329 0a20 2020 2020 2020 2020 2020 loc). │ │ │ │ │ -00017910: 2020 2020 2870 726f 7869 6d61 6c5f 335f (proximal_3_ │ │ │ │ │ -00017920: 6c6f 6329 2870 726f 7869 6d61 6c5f 345f loc)(proximal_4_ │ │ │ │ │ -00017930: 6c6f 6329 0a20 2020 2020 2020 2020 2020 loc). │ │ │ │ │ -00017940: 2020 2020 2868 3529 2868 3629 2868 3661 (h5)(h6)(h6a │ │ │ │ │ -00017950: 2928 6839 2928 6831 3029 0a20 2020 2020 )(h9)(h10). │ │ │ │ │ -00017960: 2020 2070 6f6c 7967 6f6e 2868 3661 2928 polygon(h6a)( │ │ │ │ │ -00017970: 6837 2928 6838 2928 6839 290a 2020 207d h7)(h8)(h9). } │ │ │ │ │ -00017980: 2020 7d0a 5468 6520 6c61 7374 2073 6563 }.The last sec │ │ │ │ │ -00017990: 7469 6f6e 206f 6620 7468 6520 6465 6669 tion of the defi │ │ │ │ │ -000179a0: 6e69 7469 6f6e 2063 7265 6174 6573 2074 nition creates t │ │ │ │ │ -000179b0: 6865 2070 6f6c 7974 6f70 6520 666f 7220 he polytope for │ │ │ │ │ -000179c0: 7468 6520 7061 6c6d 206f 660a 7468 6520 the palm of.the │ │ │ │ │ -000179d0: 6861 6e64 2062 7920 e280 9873 7765 6570 hand by ...sweep │ │ │ │ │ -000179e0: e280 9969 6e67 2061 2031 302d 7369 6465 ...ing a 10-side │ │ │ │ │ -000179f0: 6420 706f 6c79 676f 6e20 7468 726f 7567 d polygon throug │ │ │ │ │ -00017a00: 6820 6120 7665 7279 2073 686f 7274 2061 h a very short a │ │ │ │ │ -00017a10: 7263 0a28 3920 6465 6772 6565 7329 2e20 rc.(9 degrees). │ │ │ │ │ -00017a20: 2054 6869 7320 7072 6f76 6964 6573 2061 This provides a │ │ │ │ │ -00017a30: 2077 6564 6765 2d73 6861 7065 6420 7072 wedge-shaped pr │ │ │ │ │ -00017a40: 6f66 696c 6520 7768 656e 2076 6965 7765 ofile when viewe │ │ │ │ │ -00017a50: 6420 6672 6f6d 2074 6865 0a73 6964 652e d from the.side. │ │ │ │ │ -00017a60: 2020 5468 6520 7468 6963 6b20 656e 6420 The thick end │ │ │ │ │ -00017a70: 6f66 2074 6865 2077 6564 6765 2069 7320 of the wedge is │ │ │ │ │ -00017a80: 7468 6520 7772 6973 742e 2020 4265 6361 the wrist. Beca │ │ │ │ │ -00017a90: 7573 6520 7468 6520 706f 6c79 676f 6e20 use the polygon │ │ │ │ │ -00017aa0: 6973 0a63 6f6e 6361 7665 2c20 6974 2069 is.concave, it i │ │ │ │ │ -00017ab0: 7320 7370 6c69 7420 696e 746f 2069 6e74 s split into int │ │ │ │ │ -00017ac0: 6f20 7477 6f20 636f 6e76 6578 2073 6861 o two convex sha │ │ │ │ │ -00017ad0: 7065 7320 7769 7468 206e 696e 6520 616e pes with nine an │ │ │ │ │ -00017ae0: 6420 666f 7572 0a76 6572 7469 6365 732e d four.vertices. │ │ │ │ │ -00017af0: 0a0a 2020 2057 6520 6361 6e20 6e6f 7720 .. We can now │ │ │ │ │ -00017b00: 6861 7665 2066 756e 2070 6f73 6974 696f have fun positio │ │ │ │ │ -00017b10: 6e69 6e67 2074 6865 2068 616e 6420 6279 ning the hand by │ │ │ │ │ -00017b20: 2061 646a 7573 7469 6e67 2074 6865 2076 adjusting the v │ │ │ │ │ -00017b30: 6172 696f 7573 0a72 6f74 6174 696f 6e20 arious.rotation │ │ │ │ │ -00017b40: 616e 676c 6573 2e20 2054 6865 2063 6f6d angles. The com │ │ │ │ │ -00017b50: 706c 6574 6520 736f 7572 6365 2069 6e63 plete source inc │ │ │ │ │ -00017b60: 6c75 6465 7320 6465 6669 6e69 7469 6f6e ludes definition │ │ │ │ │ -00017b70: 7320 7769 7468 0a61 6c74 6572 6e61 7469 s with.alternati │ │ │ │ │ -00017b80: 7665 7320 7468 6174 2069 6e63 6c75 6465 ves that include │ │ │ │ │ -00017b90: 2074 6865 2066 6f6c 6c6f 7769 6e67 2076 the following v │ │ │ │ │ -00017ba0: 6965 7773 2061 6e64 206d 6f72 652e 0a0a iews and more... │ │ │ │ │ -00017bb0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ -00017bc0: 3231 302e 706e 6722 2074 6578 743d 2249 210.png" text="I │ │ │ │ │ -00017bd0: 6d61 6765 2065 7832 3130 206f 6d69 7474 mage ex210 omitt │ │ │ │ │ -00017be0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ -00017bf0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ -00017c00: 656e 742e 2200 085d 0008 5b69 6d61 6765 ent."..]..[image │ │ │ │ │ -00017c10: 2073 7263 3d22 6578 3232 302e 706e 6722 src="ex220.png" │ │ │ │ │ -00017c20: 2074 6578 743d 2249 6d61 6765 2065 7832 text="Image ex2 │ │ │ │ │ -00017c30: 3230 206f 6d69 7474 6564 2069 6e20 7465 20 omitted in te │ │ │ │ │ -00017c40: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00017c50: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00017c60: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ -00017c70: 3233 302e 706e 6722 2074 6578 743d 2249 230.png" text="I │ │ │ │ │ -00017c80: 6d61 6765 2065 7832 3330 206f 6d69 7474 mage ex230 omitt │ │ │ │ │ -00017c90: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ -00017ca0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ -00017cb0: 656e 742e 2200 085d 0008 5b69 6d61 6765 ent."..]..[image │ │ │ │ │ -00017cc0: 2073 7263 3d22 6578 3234 302e 706e 6722 src="ex240.png" │ │ │ │ │ -00017cd0: 2074 6578 743d 2249 6d61 6765 2065 7832 text="Image ex2 │ │ │ │ │ -00017ce0: 3430 206f 6d69 7474 6564 2069 6e20 7465 40 omitted in te │ │ │ │ │ -00017cf0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00017d00: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00017d10: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -00017d20: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4361 .info, Node: Ca │ │ │ │ │ -00017d30: 7665 6174 732c 2020 5072 6576 3a20 4120 veats, Prev: A │ │ │ │ │ -00017d40: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ -00017d50: 656c 2c20 2055 703a 2042 7569 6c64 696e el, Up: Buildin │ │ │ │ │ -00017d60: 6720 6120 6472 6177 696e 670a 0a34 2e34 g a drawing..4.4 │ │ │ │ │ -00017d70: 2043 6176 6561 7473 0a3d 3d3d 3d3d 3d3d Caveats.======= │ │ │ │ │ -00017d80: 3d3d 3d3d 0a0a e280 9853 6b65 7463 68e2 ====.....Sketch. │ │ │ │ │ -00017d90: 8099 2069 7320 6120 6661 6972 6c79 2070 .. is a fairly p │ │ │ │ │ -00017da0: 6f77 6572 6675 6c20 746f 6f6c 2066 6f72 owerful tool for │ │ │ │ │ -00017db0: 2064 7261 7769 6e67 2c20 6275 742c 206a drawing, but, j │ │ │ │ │ -00017dc0: 7573 7420 6173 2077 6974 6820 5465 582c ust as with TeX, │ │ │ │ │ -00017dd0: 0a74 6865 2070 6f77 6572 2074 6f20 6372 .the power to cr │ │ │ │ │ -00017de0: 6561 7465 2062 6561 7574 6966 756c 2072 eate beautiful r │ │ │ │ │ -00017df0: 6573 756c 7473 2063 6f6d 6573 2061 6c6f esults comes alo │ │ │ │ │ -00017e00: 6e67 2077 6974 6820 7468 6520 706f 7765 ng with the powe │ │ │ │ │ -00017e10: 7220 746f 206d 616b 650a 6d69 7374 616b r to make.mistak │ │ │ │ │ -00017e20: 6573 2e20 2054 6865 2066 6f6c 6c6f 7769 es. The followi │ │ │ │ │ -00017e30: 6e67 2061 7265 2073 6f6d 6520 706f 696e ng are some poin │ │ │ │ │ -00017e40: 7473 2077 6865 7265 2063 6172 6520 6973 ts where care is │ │ │ │ │ -00017e50: 206e 6563 6573 7361 7279 2061 6e64 0a77 necessary and.w │ │ │ │ │ -00017e60: 6865 7265 2074 6865 2063 7572 7265 6e74 here the current │ │ │ │ │ -00017e70: 2076 6572 7369 6f6e 206f 6620 e280 9873 version of ...s │ │ │ │ │ -00017e80: 6b65 7463 68e2 8099 2069 7320 6c69 6d69 ketch... is limi │ │ │ │ │ -00017e90: 7465 6420 6f72 2068 6173 206b 6e6f 776e ted or has known │ │ │ │ │ -00017ea0: 2062 7567 732e 0a0a 2a20 4d65 6e75 3a0a bugs...* Menu:. │ │ │ │ │ -00017eb0: 0a2a 204c 696d 6974 7320 6f6e 2065 7272 .* Limits on err │ │ │ │ │ -00017ec0: 6f72 2064 6574 6563 7469 6f6e 3a3a 2020 or detection:: │ │ │ │ │ -00017ed0: 2057 6861 7420 736b 6574 6368 2064 6f65 What sketch doe │ │ │ │ │ -00017ee0: 736e 2774 2064 6f2e 0a2a 2043 6c69 7070 sn't do..* Clipp │ │ │ │ │ -00017ef0: 696e 673a 3a20 2020 2020 2020 2020 2020 ing:: │ │ │ │ │ -00017f00: 2020 2020 2020 2020 204e 6f20 636c 6970 No clip │ │ │ │ │ -00017f10: 7069 6e67 2061 7420 7072 6573 656e 742e ping at present. │ │ │ │ │ -00017f20: 0a2a 2048 6964 6465 6e20 7375 7266 6163 .* Hidden surfac │ │ │ │ │ -00017f30: 6520 7265 6d6f 7661 6c3a 3a20 2020 2020 e removal:: │ │ │ │ │ -00017f40: 2049 6d70 6572 6665 6374 696f 6e73 2074 Imperfections t │ │ │ │ │ -00017f50: 6f20 6669 782e 0a0a 1f0a 4669 6c65 3a20 o fix.....File: │ │ │ │ │ -00017f60: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00017f70: 6465 3a20 4c69 6d69 7473 206f 6e20 6572 de: Limits on er │ │ │ │ │ -00017f80: 726f 7220 6465 7465 6374 696f 6e2c 2020 ror detection, │ │ │ │ │ -00017f90: 4e65 7874 3a20 436c 6970 7069 6e67 2c20 Next: Clipping, │ │ │ │ │ -00017fa0: 2050 7265 763a 2043 6176 6561 7473 2c20 Prev: Caveats, │ │ │ │ │ -00017fb0: 2055 703a 2043 6176 6561 7473 0a0a 342e Up: Caveats..4. │ │ │ │ │ -00017fc0: 342e 3120 4c69 6d69 7473 206f 6e20 e280 4.1 Limits on .. │ │ │ │ │ -00017fd0: 9873 6b65 7463 68e2 8099 2065 7272 6f72 .sketch... error │ │ │ │ │ -00017fe0: 2064 6574 6563 7469 6f6e 0a2d 2d2d 2d2d detection.----- │ │ │ │ │ +00017050: 2020 2020 2020 2020 6a6f 696e 745f 6761 joint_ga │ │ │ │ │ +00017060: 7020 2a20 6a6f 696e 745f 7261 6429 202a p * joint_rad) * │ │ │ │ │ +00017070: 205b 4a5d 2920 7d20 0a20 2020 2020 207b [J]) } . { │ │ │ │ │ +00017080: 6a6f 696e 745f 7370 6865 7265 7d0a 2020 joint_sphere}. │ │ │ │ │ +00017090: 2020 7075 7420 7b20 7363 616c 6528 206d put { scale( m │ │ │ │ │ +000170a0: 6964 646c 655f 7261 7469 6f20 2a20 5b4a iddle_ratio * [J │ │ │ │ │ +000170b0: 5d20 2b20 0a20 2020 2020 2020 2020 2020 ] + . │ │ │ │ │ +000170c0: 2020 2020 2020 7072 6f78 696d 616c 5f64 proximal_d │ │ │ │ │ +000170d0: 6973 7461 6c5f 7261 7469 6f5e 3220 2a20 istal_ratio^2 * │ │ │ │ │ +000170e0: 285b 495d 2b5b 4b5d 2920 2920 7d0a 2020 ([I]+[K]) ) }. │ │ │ │ │ +000170f0: 2020 2020 7b73 6567 6d65 6e74 7d0a 2020 {segment}. │ │ │ │ │ +00017100: 7d0a 5468 6973 206c 6f6f 6b73 2076 6572 }.This looks ver │ │ │ │ │ +00017110: 7920 7369 6d69 6c61 7220 746f 2074 6865 y similar to the │ │ │ │ │ +00017120: 2070 7265 7669 6f75 7320 6465 6669 6e69 previous defini │ │ │ │ │ +00017130: 7469 6f6e 2c20 616e 6420 6974 2069 732e tion, and it is. │ │ │ │ │ +00017140: 2020 5468 650a 696d 706f 7274 616e 7420 The.important │ │ │ │ │ +00017150: 6469 6666 6572 656e 6365 2069 7320 7468 difference is th │ │ │ │ │ +00017160: 6174 2072 6174 6865 7220 7468 616e 2070 at rather than p │ │ │ │ │ +00017170: 6f73 6974 696f 6e69 6e67 2061 6e64 2072 ositioning and r │ │ │ │ │ +00017180: 6f74 6174 696e 6720 610a 7369 6e67 6c65 otating a.single │ │ │ │ │ +00017190: 2073 6567 6d65 6e74 2c20 7765 2070 6f73 segment, we pos │ │ │ │ │ +000171a0: 6974 696f 6e20 616e 6420 726f 7461 7465 ition and rotate │ │ │ │ │ +000171b0: 2074 6865 2065 6e74 6972 6520 2261 7373 the entire "ass │ │ │ │ │ +000171c0: 656d 626c 7922 2064 6566 696e 6564 2061 embly" defined a │ │ │ │ │ +000171d0: 730a e280 9864 6973 7461 6c5f 31e2 8099 s....distal_1... │ │ │ │ │ +000171e0: 2e20 2054 6865 2072 6573 7420 6973 206a . The rest is j │ │ │ │ │ +000171f0: 7573 7420 6172 6974 686d 6574 6963 2074 ust arithmetic t │ │ │ │ │ +00017200: 6f20 636f 6d70 7574 6520 7369 7a65 7320 o compute sizes │ │ │ │ │ +00017210: 616e 6420 706f 7369 7469 6f6e 730a 7468 and positions.th │ │ │ │ │ +00017220: 6174 206c 6f6f 6b20 6e69 6365 2e20 2054 at look nice. T │ │ │ │ │ +00017230: 6865 206c 6173 7420 e280 9870 7574 e280 he last ...put.. │ │ │ │ │ +00017240: 9920 706c 6163 6573 2061 6e20 6170 7072 . places an appr │ │ │ │ │ +00017250: 6f70 7269 6174 656c 7920 7368 6170 6564 opriately shaped │ │ │ │ │ +00017260: 2073 6567 6d65 6e74 0a74 6861 7420 6973 segment.that is │ │ │ │ │ +00017270: 2074 6865 205f 7072 6f78 696d 616c 2070 the _proximal p │ │ │ │ │ +00017280: 686c 616e 6765 735f 2c20 7468 6520 626f hlanges_, the bo │ │ │ │ │ +00017290: 6e65 2074 6861 7420 6a6f 696e 7320 7468 ne that joins th │ │ │ │ │ +000172a0: 6520 7061 6c6d 206f 6620 7468 650a 6861 e palm of the.ha │ │ │ │ │ +000172b0: 6e64 2e20 2054 6869 7320 636f 6d70 6c65 nd. This comple │ │ │ │ │ +000172c0: 7465 7320 7468 6520 6669 6e67 6572 2069 tes the finger i │ │ │ │ │ +000172d0: 7473 656c 662e 0a0a 2020 2041 6c6c 2074 tself... All t │ │ │ │ │ +000172e0: 6865 206f 7468 6572 2066 696e 6765 7273 he other fingers │ │ │ │ │ +000172f0: 2061 7265 2064 6573 6372 6962 6564 2069 are described i │ │ │ │ │ +00017300: 6465 6e74 6963 616c 6c79 2074 6f20 7468 dentically to th │ │ │ │ │ +00017310: 6973 206f 6e65 2e20 2057 650a 6163 636f is one. We.acco │ │ │ │ │ +00017320: 756e 7420 666f 7220 7468 6520 6661 6374 unt for the fact │ │ │ │ │ +00017330: 2074 6861 7420 7265 616c 2066 696e 6765 that real finge │ │ │ │ │ +00017340: 7273 2061 7265 2064 6966 6665 7265 6e74 rs are different │ │ │ │ │ +00017350: 2073 697a 6573 2069 6e20 7468 6520 6e65 sizes in the ne │ │ │ │ │ +00017360: 7874 0a73 7465 702c 2077 6869 6368 2069 xt.step, which i │ │ │ │ │ +00017370: 7320 746f 2062 7569 6c64 2074 6865 2065 s to build the e │ │ │ │ │ +00017380: 6e74 6972 6520 6861 6e64 2e0a 0a20 2020 ntire hand... │ │ │ │ │ +00017390: 5468 6520 e280 9868 616e 64e2 8099 2064 The ...hand... d │ │ │ │ │ +000173a0: 6566 696e 6974 696f 6e20 7468 6174 2066 efinition that f │ │ │ │ │ +000173b0: 6f6c 6c6f 7773 2069 6e63 6c75 6465 7320 ollows includes │ │ │ │ │ +000173c0: 6120 7365 6374 696f 6e20 666f 7220 6561 a section for ea │ │ │ │ │ +000173d0: 6368 0a66 696e 6765 722e 2020 5765 276c ch.finger. We'l │ │ │ │ │ +000173e0: 6c20 636f 6e74 696e 7565 2077 6974 6820 l continue with │ │ │ │ │ +000173f0: 6669 6e67 6572 2031 2061 6e64 206f 6d69 finger 1 and omi │ │ │ │ │ +00017400: 7420 616c 6c20 7468 6520 6f74 6865 7273 t all the others │ │ │ │ │ +00017410: 2e20 2028 4f66 206e 6f74 650a 6973 2074 . (Of note.is t │ │ │ │ │ +00017420: 6861 7420 7468 6520 7468 756d 6220 6e65 hat the thumb ne │ │ │ │ │ +00017430: 6564 7320 736c 6967 6874 6c79 2073 7065 eds slightly spe │ │ │ │ │ +00017440: 6369 616c 2074 7265 6174 6d65 6e74 2d2d cial treatment-- │ │ │ │ │ +00017450: 616e 2065 7874 7261 2072 6f74 6174 696f an extra rotatio │ │ │ │ │ +00017460: 6e20 746f 0a61 6363 6f75 6e74 2066 6f72 n to.account for │ │ │ │ │ +00017470: 2069 7473 206f 7070 6f73 696e 6720 616e its opposing an │ │ │ │ │ +00017480: 676c 652e 2020 5468 6973 2069 7320 636c gle. This is cl │ │ │ │ │ +00017490: 6561 7220 696e 2074 6865 2066 756c 6c20 ear in the full │ │ │ │ │ +000174a0: 736f 7572 6365 2063 6f64 652e 290a 4e6f source code.).No │ │ │ │ │ +000174b0: 7420 7375 7270 7269 7369 6e67 6c79 2c20 t surprisingly, │ │ │ │ │ +000174c0: 7468 6520 e280 9868 616e 64e2 8099 2064 the ...hand... d │ │ │ │ │ +000174d0: 6566 696e 6974 696f 6e20 6c6f 6f6b 7320 efinition looks │ │ │ │ │ +000174e0: 7665 7279 206d 7563 6820 6c69 6b65 2074 very much like t │ │ │ │ │ +000174f0: 6865 0a70 7265 7669 6f75 7320 7477 6f2e he.previous two. │ │ │ │ │ +00017500: 2020 4974 2073 686f 756c 6420 6265 206e It should be n │ │ │ │ │ +00017510: 6f20 7375 7270 7269 7365 2074 6861 7420 o surprise that │ │ │ │ │ +00017520: 7768 656e 2074 6865 2072 6f74 6174 696f when the rotatio │ │ │ │ │ +00017530: 6e20 7061 7261 6d65 7465 720a e280 986d n parameter....m │ │ │ │ │ +00017540: 6574 615f 315f 726f 74e2 8099 2063 6861 eta_1_rot... cha │ │ │ │ │ +00017550: 6e67 6573 2c20 7468 6520 656e 7469 7265 nges, the entire │ │ │ │ │ +00017560: 2066 696e 6765 7220 726f 7461 7465 7321 finger rotates! │ │ │ │ │ +00017570: 2020 5468 6572 6520 6973 2061 6e20 6164 There is an ad │ │ │ │ │ +00017580: 6469 7469 6f6e 616c 0a72 6f74 6174 696f ditional.rotatio │ │ │ │ │ +00017590: 6e20 7468 6174 2061 6c6c 6f77 7320 7468 n that allows th │ │ │ │ │ +000175a0: 6520 6669 6e67 6572 7320 746f 2073 7072 e fingers to spr │ │ │ │ │ +000175b0: 6561 6420 6c61 7465 7261 6c6c 792e 2020 ead laterally. │ │ │ │ │ +000175c0: 5765 2073 6179 2074 6865 7365 0a6a 6f69 We say these.joi │ │ │ │ │ +000175d0: 6e74 7320 6f66 2074 6865 2070 726f 7869 nts of the proxi │ │ │ │ │ +000175e0: 6d61 6c20 7068 6c61 6e67 6573 2068 6176 mal phlanges hav │ │ │ │ │ +000175f0: 6520 7477 6f20 5f64 6567 7265 6573 206f e two _degrees o │ │ │ │ │ +00017600: 6620 6672 6565 646f 6d5f 2e20 2054 6865 f freedom_. The │ │ │ │ │ +00017610: 0a6a 6f69 6e74 7320 6869 6768 6572 206f .joints higher o │ │ │ │ │ +00017620: 6e20 7468 6520 6669 6e67 6572 2068 6176 n the finger hav │ │ │ │ │ +00017630: 6520 6f6e 6c79 206f 6e65 2e20 2046 696e e only one. Fin │ │ │ │ │ +00017640: 616c 6c79 2c20 6561 6368 2066 696e 6765 ally, each finge │ │ │ │ │ +00017650: 7220 6973 0a73 6361 6c65 6420 6279 2061 r is.scaled by a │ │ │ │ │ +00017660: 2066 6163 746f 7220 746f 206c 656e 6420 factor to lend │ │ │ │ │ +00017670: 6974 2070 726f 706f 7274 696f 6e2e 0a20 it proportion.. │ │ │ │ │ +00017680: 2064 6566 2068 616e 6420 7b0a 2020 2020 def hand {. │ │ │ │ │ +00017690: 2520 6669 6e67 6572 2031 205b 616c 6c20 % finger 1 [all │ │ │ │ │ +000176a0: 6f74 6865 7220 6669 6e67 6572 7320 6f6d other fingers om │ │ │ │ │ +000176b0: 6974 7465 645d 0a20 2020 2064 6566 2073 itted]. def s │ │ │ │ │ +000176c0: 6361 6c65 5f31 202e 3835 0a20 2020 2070 cale_1 .85. p │ │ │ │ │ +000176d0: 7574 207b 2073 6361 6c65 2873 6361 6c65 ut { scale(scale │ │ │ │ │ +000176e0: 5f31 2920 0a20 2020 2020 2020 2020 2074 _1) . t │ │ │ │ │ +000176f0: 6865 6e20 7472 616e 736c 6174 6528 286a hen translate((j │ │ │ │ │ +00017700: 6f69 6e74 5f67 6170 202a 206a 6f69 6e74 oint_gap * joint │ │ │ │ │ +00017710: 5f72 6164 2920 2a20 5b4a 5d29 0a09 2020 _rad) * [J]).. │ │ │ │ │ +00017720: 7468 656e 2072 6f74 6174 6528 6d65 7461 then rotate(meta │ │ │ │ │ +00017730: 5f31 5f72 6f74 2c20 5b49 5d29 0a20 2020 _1_rot, [I]). │ │ │ │ │ +00017740: 2020 2020 2020 2074 6865 6e20 726f 7461 then rota │ │ │ │ │ +00017750: 7465 282d 7370 7265 6164 5f72 6f74 2c20 te(-spread_rot, │ │ │ │ │ +00017760: 5b4b 5d29 0a20 2020 2020 2020 2020 2074 [K]). t │ │ │ │ │ +00017770: 6865 6e20 7472 616e 736c 6174 6528 2870 hen translate((p │ │ │ │ │ +00017780: 726f 7869 6d61 6c5f 315f 6c6f 6329 202d roximal_1_loc) - │ │ │ │ │ +00017790: 2028 4f29 2920 7d20 0a20 2020 2020 207b (O)) } . { │ │ │ │ │ +000177a0: 6669 6e67 6572 5f31 7d0a 2020 2020 7075 finger_1}. pu │ │ │ │ │ +000177b0: 7420 7b20 7363 616c 6528 7363 616c 655f t { scale(scale_ │ │ │ │ │ +000177c0: 3120 2a20 7072 6f78 696d 616c 5f64 6973 1 * proximal_dis │ │ │ │ │ +000177d0: 7461 6c5f 7261 7469 6f5e 3229 0a20 2020 tal_ratio^2). │ │ │ │ │ +000177e0: 2020 2020 2020 2074 6865 6e20 726f 7461 then rota │ │ │ │ │ +000177f0: 7465 286d 6574 615f 315f 726f 7420 2f20 te(meta_1_rot / │ │ │ │ │ +00017800: 322c 205b 495d 290a 2020 2020 2020 2020 2, [I]). │ │ │ │ │ +00017810: 2020 7468 656e 2072 6f74 6174 6528 2d73 then rotate(-s │ │ │ │ │ +00017820: 7072 6561 645f 726f 742c 205b 4b5d 290a pread_rot, [K]). │ │ │ │ │ +00017830: 2020 2020 2020 2020 2020 7468 656e 2074 then t │ │ │ │ │ +00017840: 7261 6e73 6c61 7465 2828 7072 6f78 696d ranslate((proxim │ │ │ │ │ +00017850: 616c 5f31 5f6c 6f63 2920 2d20 284f 2929 al_1_loc) - (O)) │ │ │ │ │ +00017860: 207d 200a 2020 2020 2020 7b6a 6f69 6e74 } . {joint │ │ │ │ │ +00017870: 5f73 7068 6572 657d 0a0a 2020 2020 2520 _sphere}.. % │ │ │ │ │ +00017880: 7061 6c6d 0a20 2020 2073 7765 6570 207b palm. sweep { │ │ │ │ │ +00017890: 2031 2c20 726f 7461 7465 2836 2c20 2830 1, rotate(6, (0 │ │ │ │ │ +000178a0: 2c31 352c 3029 2c20 5b49 5d29 207d 0a20 ,15,0), [I]) }. │ │ │ │ │ +000178b0: 2020 2020 2070 7574 207b 2072 6f74 6174 put { rotat │ │ │ │ │ +000178c0: 6528 2d33 2c20 2830 2c31 352c 3029 2c20 e(-3, (0,15,0), │ │ │ │ │ +000178d0: 5b49 5d29 207d 207b 0a20 2020 2020 2020 [I]) } {. │ │ │ │ │ +000178e0: 2070 6f6c 7967 6f6e 2870 726f 7869 6d61 polygon(proxima │ │ │ │ │ +000178f0: 6c5f 315f 6c6f 6329 2870 726f 7869 6d61 l_1_loc)(proxima │ │ │ │ │ +00017900: 6c5f 325f 6c6f 6329 0a20 2020 2020 2020 l_2_loc). │ │ │ │ │ +00017910: 2020 2020 2020 2020 2870 726f 7869 6d61 (proxima │ │ │ │ │ +00017920: 6c5f 335f 6c6f 6329 2870 726f 7869 6d61 l_3_loc)(proxima │ │ │ │ │ +00017930: 6c5f 345f 6c6f 6329 0a20 2020 2020 2020 l_4_loc). │ │ │ │ │ +00017940: 2020 2020 2020 2020 2868 3529 2868 3629 (h5)(h6) │ │ │ │ │ +00017950: 2868 3661 2928 6839 2928 6831 3029 0a20 (h6a)(h9)(h10). │ │ │ │ │ +00017960: 2020 2020 2020 2070 6f6c 7967 6f6e 2868 polygon(h │ │ │ │ │ +00017970: 3661 2928 6837 2928 6838 2928 6839 290a 6a)(h7)(h8)(h9). │ │ │ │ │ +00017980: 2020 207d 2020 7d0a 5468 6520 6c61 7374 } }.The last │ │ │ │ │ +00017990: 2073 6563 7469 6f6e 206f 6620 7468 6520 section of the │ │ │ │ │ +000179a0: 6465 6669 6e69 7469 6f6e 2063 7265 6174 definition creat │ │ │ │ │ +000179b0: 6573 2074 6865 2070 6f6c 7974 6f70 6520 es the polytope │ │ │ │ │ +000179c0: 666f 7220 7468 6520 7061 6c6d 206f 660a for the palm of. │ │ │ │ │ +000179d0: 7468 6520 6861 6e64 2062 7920 e280 9873 the hand by ...s │ │ │ │ │ +000179e0: 7765 6570 e280 9969 6e67 2061 2031 302d weep...ing a 10- │ │ │ │ │ +000179f0: 7369 6465 6420 706f 6c79 676f 6e20 7468 sided polygon th │ │ │ │ │ +00017a00: 726f 7567 6820 6120 7665 7279 2073 686f rough a very sho │ │ │ │ │ +00017a10: 7274 2061 7263 0a28 3920 6465 6772 6565 rt arc.(9 degree │ │ │ │ │ +00017a20: 7329 2e20 2054 6869 7320 7072 6f76 6964 s). This provid │ │ │ │ │ +00017a30: 6573 2061 2077 6564 6765 2d73 6861 7065 es a wedge-shape │ │ │ │ │ +00017a40: 6420 7072 6f66 696c 6520 7768 656e 2076 d profile when v │ │ │ │ │ +00017a50: 6965 7765 6420 6672 6f6d 2074 6865 0a73 iewed from the.s │ │ │ │ │ +00017a60: 6964 652e 2020 5468 6520 7468 6963 6b20 ide. The thick │ │ │ │ │ +00017a70: 656e 6420 6f66 2074 6865 2077 6564 6765 end of the wedge │ │ │ │ │ +00017a80: 2069 7320 7468 6520 7772 6973 742e 2020 is the wrist. │ │ │ │ │ +00017a90: 4265 6361 7573 6520 7468 6520 706f 6c79 Because the poly │ │ │ │ │ +00017aa0: 676f 6e20 6973 0a63 6f6e 6361 7665 2c20 gon is.concave, │ │ │ │ │ +00017ab0: 6974 2069 7320 7370 6c69 7420 696e 746f it is split into │ │ │ │ │ +00017ac0: 2069 6e74 6f20 7477 6f20 636f 6e76 6578 into two convex │ │ │ │ │ +00017ad0: 2073 6861 7065 7320 7769 7468 206e 696e shapes with nin │ │ │ │ │ +00017ae0: 6520 616e 6420 666f 7572 0a76 6572 7469 e and four.verti │ │ │ │ │ +00017af0: 6365 732e 0a0a 2020 2057 6520 6361 6e20 ces... We can │ │ │ │ │ +00017b00: 6e6f 7720 6861 7665 2066 756e 2070 6f73 now have fun pos │ │ │ │ │ +00017b10: 6974 696f 6e69 6e67 2074 6865 2068 616e itioning the han │ │ │ │ │ +00017b20: 6420 6279 2061 646a 7573 7469 6e67 2074 d by adjusting t │ │ │ │ │ +00017b30: 6865 2076 6172 696f 7573 0a72 6f74 6174 he various.rotat │ │ │ │ │ +00017b40: 696f 6e20 616e 676c 6573 2e20 2054 6865 ion angles. The │ │ │ │ │ +00017b50: 2063 6f6d 706c 6574 6520 736f 7572 6365 complete source │ │ │ │ │ +00017b60: 2069 6e63 6c75 6465 7320 6465 6669 6e69 includes defini │ │ │ │ │ +00017b70: 7469 6f6e 7320 7769 7468 0a61 6c74 6572 tions with.alter │ │ │ │ │ +00017b80: 6e61 7469 7665 7320 7468 6174 2069 6e63 natives that inc │ │ │ │ │ +00017b90: 6c75 6465 2074 6865 2066 6f6c 6c6f 7769 lude the followi │ │ │ │ │ +00017ba0: 6e67 2076 6965 7773 2061 6e64 206d 6f72 ng views and mor │ │ │ │ │ +00017bb0: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src │ │ │ │ │ +00017bc0: 3d22 6578 3231 302e 706e 6722 2074 6578 ="ex210.png" tex │ │ │ │ │ +00017bd0: 743d 2249 6d61 6765 2065 7832 3130 206f t="Image ex210 o │ │ │ │ │ +00017be0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ +00017bf0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ +00017c00: 6f63 756d 656e 742e 2200 085d 0008 5b69 ocument."..]..[i │ │ │ │ │ +00017c10: 6d61 6765 2073 7263 3d22 6578 3232 302e mage src="ex220. │ │ │ │ │ +00017c20: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00017c30: 2065 7832 3230 206f 6d69 7474 6564 2069 ex220 omitted i │ │ │ │ │ +00017c40: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00017c50: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +00017c60: 2200 085d 0008 5b69 6d61 6765 2073 7263 "..]..[image src │ │ │ │ │ +00017c70: 3d22 6578 3233 302e 706e 6722 2074 6578 ="ex230.png" tex │ │ │ │ │ +00017c80: 743d 2249 6d61 6765 2065 7832 3330 206f t="Image ex230 o │ │ │ │ │ +00017c90: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ +00017ca0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ +00017cb0: 6f63 756d 656e 742e 2200 085d 0008 5b69 ocument."..]..[i │ │ │ │ │ +00017cc0: 6d61 6765 2073 7263 3d22 6578 3234 302e mage src="ex240. │ │ │ │ │ +00017cd0: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00017ce0: 2065 7832 3430 206f 6d69 7474 6564 2069 ex240 omitted i │ │ │ │ │ +00017cf0: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00017d00: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +00017d10: 2200 085d 0a0a 1f0a 4669 6c65 3a20 736b "..]....File: sk │ │ │ │ │ +00017d20: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +00017d30: 3a20 4361 7665 6174 732c 2020 5072 6576 : Caveats, Prev │ │ │ │ │ +00017d40: 3a20 4120 6869 6572 6172 6368 6963 616c : A hierarchical │ │ │ │ │ +00017d50: 206d 6f64 656c 2c20 2055 703a 2042 7569 model, Up: Bui │ │ │ │ │ +00017d60: 6c64 696e 6720 6120 6472 6177 696e 670a lding a drawing. │ │ │ │ │ +00017d70: 0a34 2e34 2043 6176 6561 7473 0a3d 3d3d .4.4 Caveats.=== │ │ │ │ │ +00017d80: 3d3d 3d3d 3d3d 3d3d 0a0a e280 9853 6b65 ========.....Ske │ │ │ │ │ +00017d90: 7463 68e2 8099 2069 7320 6120 6661 6972 tch... is a fair │ │ │ │ │ +00017da0: 6c79 2070 6f77 6572 6675 6c20 746f 6f6c ly powerful tool │ │ │ │ │ +00017db0: 2066 6f72 2064 7261 7769 6e67 2c20 6275 for drawing, bu │ │ │ │ │ +00017dc0: 742c 206a 7573 7420 6173 2077 6974 6820 t, just as with │ │ │ │ │ +00017dd0: 5465 582c 0a74 6865 2070 6f77 6572 2074 TeX,.the power t │ │ │ │ │ +00017de0: 6f20 6372 6561 7465 2062 6561 7574 6966 o create beautif │ │ │ │ │ +00017df0: 756c 2072 6573 756c 7473 2063 6f6d 6573 ul results comes │ │ │ │ │ +00017e00: 2061 6c6f 6e67 2077 6974 6820 7468 6520 along with the │ │ │ │ │ +00017e10: 706f 7765 7220 746f 206d 616b 650a 6d69 power to make.mi │ │ │ │ │ +00017e20: 7374 616b 6573 2e20 2054 6865 2066 6f6c stakes. The fol │ │ │ │ │ +00017e30: 6c6f 7769 6e67 2061 7265 2073 6f6d 6520 lowing are some │ │ │ │ │ +00017e40: 706f 696e 7473 2077 6865 7265 2063 6172 points where car │ │ │ │ │ +00017e50: 6520 6973 206e 6563 6573 7361 7279 2061 e is necessary a │ │ │ │ │ +00017e60: 6e64 0a77 6865 7265 2074 6865 2063 7572 nd.where the cur │ │ │ │ │ +00017e70: 7265 6e74 2076 6572 7369 6f6e 206f 6620 rent version of │ │ │ │ │ +00017e80: e280 9873 6b65 7463 68e2 8099 2069 7320 ...sketch... is │ │ │ │ │ +00017e90: 6c69 6d69 7465 6420 6f72 2068 6173 206b limited or has k │ │ │ │ │ +00017ea0: 6e6f 776e 2062 7567 732e 0a0a 2a20 4d65 nown bugs...* Me │ │ │ │ │ +00017eb0: 6e75 3a0a 0a2a 204c 696d 6974 7320 6f6e nu:..* Limits on │ │ │ │ │ +00017ec0: 2065 7272 6f72 2064 6574 6563 7469 6f6e error detection │ │ │ │ │ +00017ed0: 3a3a 2020 2057 6861 7420 736b 6574 6368 :: What sketch │ │ │ │ │ +00017ee0: 2064 6f65 736e 2774 2064 6f2e 0a2a 2043 doesn't do..* C │ │ │ │ │ +00017ef0: 6c69 7070 696e 673a 3a20 2020 2020 2020 lipping:: │ │ │ │ │ +00017f00: 2020 2020 2020 2020 2020 2020 204e 6f20 No │ │ │ │ │ +00017f10: 636c 6970 7069 6e67 2061 7420 7072 6573 clipping at pres │ │ │ │ │ +00017f20: 656e 742e 0a2a 2048 6964 6465 6e20 7375 ent..* Hidden su │ │ │ │ │ +00017f30: 7266 6163 6520 7265 6d6f 7661 6c3a 3a20 rface removal:: │ │ │ │ │ +00017f40: 2020 2020 2049 6d70 6572 6665 6374 696f Imperfectio │ │ │ │ │ +00017f50: 6e73 2074 6f20 6669 782e 0a0a 1f0a 4669 ns to fix.....Fi │ │ │ │ │ +00017f60: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +00017f70: 2020 4e6f 6465 3a20 4c69 6d69 7473 206f Node: Limits o │ │ │ │ │ +00017f80: 6e20 6572 726f 7220 6465 7465 6374 696f n error detectio │ │ │ │ │ +00017f90: 6e2c 2020 4e65 7874 3a20 436c 6970 7069 n, Next: Clippi │ │ │ │ │ +00017fa0: 6e67 2c20 2050 7265 763a 2043 6176 6561 ng, Prev: Cavea │ │ │ │ │ +00017fb0: 7473 2c20 2055 703a 2043 6176 6561 7473 ts, Up: Caveats │ │ │ │ │ +00017fc0: 0a0a 342e 342e 3120 4c69 6d69 7473 206f ..4.4.1 Limits o │ │ │ │ │ +00017fd0: 6e20 e280 9873 6b65 7463 68e2 8099 2065 n ...sketch... e │ │ │ │ │ +00017fe0: 7272 6f72 2064 6574 6563 7469 6f6e 0a2d rror detection.- │ │ │ │ │ 00017ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00018010: 2d2d 2d0a 0ae2 8098 536b 6574 6368 e280 ---.....Sketch.. │ │ │ │ │ -00018020: 9920 6361 7463 6865 7320 6d61 6e79 206b . catches many k │ │ │ │ │ -00018030: 696e 6473 206f 6620 6572 726f 7273 2c20 inds of errors, │ │ │ │ │ -00018040: 6275 7420 6e6f 7420 616c 6c2e 2020 466f but not all. Fo │ │ │ │ │ -00018050: 7220 6578 616d 706c 652c 0a6f 7074 696f r example,.optio │ │ │ │ │ -00018060: 6e73 2074 6861 7420 736b 6574 6368 2064 ns that sketch d │ │ │ │ │ -00018070: 6f65 7320 6e6f 7420 7265 636f 676e 697a oes not recogniz │ │ │ │ │ -00018080: 652c 2065 7665 6e20 696e 636f 7272 6563 e, even incorrec │ │ │ │ │ -00018090: 7420 6f6e 6573 2c20 6172 6520 7175 6965 t ones, are quie │ │ │ │ │ -000180a0: 746c 790a 636f 7069 6564 2074 6f20 e280 tly.copied to .. │ │ │ │ │ -000180b0: 9850 5354 7269 636b 73e2 8099 2063 6f6d .PSTricks... com │ │ │ │ │ -000180c0: 6d61 6e64 7320 696e 2074 6865 206f 7574 mands in the out │ │ │ │ │ -000180d0: 7075 742e 2020 4974 2069 7320 616c 736f put. It is also │ │ │ │ │ -000180e0: 2075 6e66 6f72 7475 6e61 7465 6c79 0a65 unfortunately.e │ │ │ │ │ -000180f0: 6173 7920 746f 2070 726f 6475 6365 20e2 asy to produce . │ │ │ │ │ -00018100: 8098 736b 6574 6368 e280 9920 696e 7075 ..sketch... inpu │ │ │ │ │ -00018110: 7473 2074 6861 7420 6c65 6164 2074 6f20 ts that lead to │ │ │ │ │ -00018120: 6e6f 2070 6963 7475 7265 2061 7420 616c no picture at al │ │ │ │ │ -00018130: 6c20 2869 6d70 726f 7065 720a 7665 7274 l (improper.vert │ │ │ │ │ -00018140: 6578 206f 7264 6572 696e 6720 6361 7573 ex ordering caus │ │ │ │ │ -00018150: 6573 2065 7665 7279 7468 696e 6720 746f es everything to │ │ │ │ │ -00018160: 2062 6520 6375 6c6c 6564 292c 2074 6f20 be culled), to │ │ │ │ │ -00018170: 7069 6374 7572 6573 2074 6861 7420 6172 pictures that ar │ │ │ │ │ -00018180: 650a 746f 6f20 6269 6720 6f72 2074 6f6f e.too big or too │ │ │ │ │ -00018190: 2073 6d61 6c6c 2066 6f72 20e2 8098 5053 small for ...PS │ │ │ │ │ -000181a0: 5472 6963 6b73 e280 9920 746f 2064 7261 Tricks... to dra │ │ │ │ │ -000181b0: 7720 2864 7565 2074 6f20 6c69 6d69 7473 w (due to limits │ │ │ │ │ -000181c0: 206f 6620 5465 5820 6d61 7468 292c 0a61 of TeX math),.a │ │ │ │ │ -000181d0: 6e64 2070 6963 7475 7265 7320 7468 6174 nd pictures that │ │ │ │ │ -000181e0: 206c 6f6f 6b20 6e6f 7468 696e 6720 6c69 look nothing li │ │ │ │ │ -000181f0: 6b65 2077 6861 7420 7761 7320 696e 7465 ke what was inte │ │ │ │ │ -00018200: 6e64 6564 2e20 2041 2070 6963 7475 7265 nded. A picture │ │ │ │ │ -00018210: 2077 6974 680a 6f6e 6520 6f66 2074 6865 with.one of the │ │ │ │ │ -00018220: 7365 2070 726f 626c 656d 7320 6361 6e20 se problems can │ │ │ │ │ -00018230: 6265 2064 6966 6669 6375 6c74 2074 6f20 be difficult to │ │ │ │ │ -00018240: 2264 6562 7567 2e22 2020 5765 206f 6666 "debug." We off │ │ │ │ │ -00018250: 6572 2074 6865 0a66 6f6c 6c6f 7769 6e67 er the.following │ │ │ │ │ -00018260: 2073 7567 6765 7374 696f 6e73 2e0a 2020 suggestions.. │ │ │ │ │ -00018270: 20e2 80a2 2046 6f6c 6c6f 7720 7468 6520 ... Follow the │ │ │ │ │ -00018280: 7375 6767 6573 7465 6420 696e 6372 656d suggested increm │ │ │ │ │ -00018290: 656e 7461 6c20 6465 7665 6c6f 706d 656e ental developmen │ │ │ │ │ -000182a0: 7420 6d65 7468 6f64 2064 6573 6372 6962 t method describ │ │ │ │ │ -000182b0: 6564 2069 6e0a 2020 2020 202a 6e6f 7465 ed in. *note │ │ │ │ │ -000182c0: 204f 7665 7276 6965 773a 3a2e 0a20 2020 Overview::.. │ │ │ │ │ -000182d0: e280 a220 416c 7761 7973 206d 6169 6e74 ... Always maint │ │ │ │ │ -000182e0: 6169 6e20 6f6e 6520 6f72 2074 776f 2062 ain one or two b │ │ │ │ │ -000182f0: 6163 6b2d 7665 7273 696f 6e73 206f 6620 ack-versions of │ │ │ │ │ -00018300: 6120 6472 6177 696e 6720 736f 2074 6861 a drawing so tha │ │ │ │ │ -00018310: 7420 6974 2069 730a 2020 2020 2065 6173 t it is. eas │ │ │ │ │ -00018320: 7920 746f 2066 616c 6c20 6261 636b 2074 y to fall back t │ │ │ │ │ -00018330: 6f20 6120 6b6e 6f77 6e2d 676f 6f64 2069 o a known-good i │ │ │ │ │ -00018340: 6e63 7265 6d65 6e74 2e0a 2020 20e2 80a2 ncrement.. ... │ │ │ │ │ -00018350: 2057 6865 6e20 7573 696e 6720 e280 9870 When using ...p │ │ │ │ │ -00018360: 6572 7370 6563 7469 7665 e280 992c 2065 erspective..., e │ │ │ │ │ -00018370: 6e73 7572 6520 616c 6c20 6669 6e61 6c6c nsure all finall │ │ │ │ │ -00018380: 7920 7472 616e 7366 6f72 6d65 6420 6f62 y transformed ob │ │ │ │ │ -00018390: 6a65 6374 730a 2020 2020 2073 6174 6973 jects. satis │ │ │ │ │ -000183a0: 6679 207a 3c30 2061 6e64 2c20 696e 2066 fy z<0 and, in f │ │ │ │ │ -000183b0: 6163 742c 2064 6f20 6e6f 7420 636f 6d65 act, do not come │ │ │ │ │ -000183c0: 2076 6572 7920 636c 6f73 6520 746f 2074 very close to t │ │ │ │ │ -000183d0: 6865 206f 7269 6769 6e20 6174 0a20 2020 he origin at. │ │ │ │ │ -000183e0: 2020 616c 6c2e 0a20 2020 e280 a220 5465 all.. ... Te │ │ │ │ │ -000183f0: 6d70 6f72 6172 696c 7920 7573 6520 e280 mporarily use .. │ │ │ │ │ -00018400: 9863 756c 6c3d 6661 6c73 65e2 8099 2074 .cull=false... t │ │ │ │ │ -00018410: 6f20 7365 6520 7768 6572 6520 7665 7274 o see where vert │ │ │ │ │ -00018420: 6578 206f 7264 6572 696e 6720 7072 6f62 ex ordering prob │ │ │ │ │ -00018430: 6c65 6d73 0a20 2020 2020 6c69 652e 0a20 lems. lie.. │ │ │ │ │ -00018440: 2020 e280 a220 5573 6520 7465 6d70 6f72 ... Use tempor │ │ │ │ │ -00018450: 6172 7920 6368 616e 6765 7320 6f66 2063 ary changes of c │ │ │ │ │ -00018460: 6f6c 6f72 206f 6620 6f6e 6520 6f72 206d olor of one or m │ │ │ │ │ -00018470: 6f72 6520 6f62 6a65 6374 7320 746f 2065 ore objects to e │ │ │ │ │ -00018480: 6e73 7572 650a 2020 2020 2074 6861 7420 nsure. that │ │ │ │ │ -00018490: 796f 7572 2075 6e64 6572 7374 616e 6469 your understandi │ │ │ │ │ -000184a0: 6e67 206f 6620 7468 6520 7363 656e 6520 ng of the scene │ │ │ │ │ -000184b0: 6765 6f6d 6574 7279 2069 7320 636f 7272 geometry is corr │ │ │ │ │ -000184c0: 6563 742e 0a20 2020 e280 a220 4966 20e2 ect.. ... If . │ │ │ │ │ -000184d0: 8098 5053 5472 6963 6b73 e280 9920 636f ..PSTricks... co │ │ │ │ │ -000184e0: 6d70 6c61 696e 7320 6162 6f75 7420 736f mplains about so │ │ │ │ │ -000184f0: 6d65 7468 696e 672c 2069 6e73 7065 6374 mething, inspect │ │ │ │ │ -00018500: 2074 6865 206f 7574 7075 740a 2020 2020 the output. │ │ │ │ │ -00018510: 2064 6972 6563 746c 7920 666f 7220 636c directly for cl │ │ │ │ │ -00018520: 7565 732e 0a0a 1f0a 4669 6c65 3a20 736b ues.....File: sk │ │ │ │ │ -00018530: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00018540: 3a20 436c 6970 7069 6e67 2c20 204e 6578 : Clipping, Nex │ │ │ │ │ -00018550: 743a 2048 6964 6465 6e20 7375 7266 6163 t: Hidden surfac │ │ │ │ │ -00018560: 6520 7265 6d6f 7661 6c2c 2020 5072 6576 e removal, Prev │ │ │ │ │ -00018570: 3a20 4c69 6d69 7473 206f 6e20 6572 726f : Limits on erro │ │ │ │ │ -00018580: 7220 6465 7465 6374 696f 6e2c 2020 5570 r detection, Up │ │ │ │ │ -00018590: 3a20 4361 7665 6174 730a 0a34 2e34 2e32 : Caveats..4.4.2 │ │ │ │ │ -000185a0: 2043 6c69 7070 696e 670a 2d2d 2d2d 2d2d Clipping.------ │ │ │ │ │ -000185b0: 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6520 6375 --------..The cu │ │ │ │ │ -000185c0: 7272 656e 7420 7665 7273 696f 6e20 6f66 rrent version of │ │ │ │ │ -000185d0: 20e2 8098 736b 6574 6368 e280 9920 6861 ...sketch... ha │ │ │ │ │ -000185e0: 7320 6e6f 2063 6c69 7070 696e 6720 6f70 s no clipping op │ │ │ │ │ -000185f0: 6572 6174 696f 6e73 2e20 2054 6865 2065 erations. The e │ │ │ │ │ -00018600: 6e74 6972 650a 7363 656e 6520 6973 2061 ntire.scene is a │ │ │ │ │ -00018610: 6c77 6179 7320 6472 6177 6e2e 2020 5468 lways drawn. Th │ │ │ │ │ -00018620: 6973 206d 6561 6e73 2074 6861 7420 7768 is means that wh │ │ │ │ │ -00018630: 656e 2061 2070 6572 7370 6563 7469 7665 en a perspective │ │ │ │ │ -00018640: 2074 7261 6e73 666f 726d 2069 730a 656d transform is.em │ │ │ │ │ -00018650: 706c 6f79 6564 2c20 6974 2069 7320 7468 ployed, it is th │ │ │ │ │ -00018660: 6520 7573 6572 2773 2072 6573 706f 6e73 e user's respons │ │ │ │ │ -00018670: 6962 696c 6974 7920 746f 206d 616b 6520 ibility to make │ │ │ │ │ -00018680: 7375 7265 2074 6865 2065 6e74 6972 6520 sure the entire │ │ │ │ │ -00018690: 7363 656e 650a 7265 6d61 696e 7320 696e scene.remains in │ │ │ │ │ -000186a0: 2066 726f 6e74 206f 6620 7468 6520 7669 front of the vi │ │ │ │ │ -000186b0: 6577 6572 2c20 7468 6520 7265 6769 6f6e ewer, the region │ │ │ │ │ -000186c0: 207a 3c30 2e0a 0a1f 0a46 696c 653a 2073 z<0.....File: s │ │ │ │ │ -000186d0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -000186e0: 653a 2048 6964 6465 6e20 7375 7266 6163 e: Hidden surfac │ │ │ │ │ -000186f0: 6520 7265 6d6f 7661 6c2c 2020 5072 6576 e removal, Prev │ │ │ │ │ -00018700: 3a20 436c 6970 7069 6e67 2c20 2055 703a : Clipping, Up: │ │ │ │ │ -00018710: 2043 6176 6561 7473 0a0a 342e 342e 3320 Caveats..4.4.3 │ │ │ │ │ -00018720: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r │ │ │ │ │ -00018730: 656d 6f76 616c 2061 6e64 2070 6f6c 7967 emoval and polyg │ │ │ │ │ -00018740: 6f6e 2073 706c 6974 7469 6e67 0a2d 2d2d on splitting.--- │ │ │ │ │ -00018750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00018010: 2d2d 2d2d 2d2d 2d0a 0ae2 8098 536b 6574 -------.....Sket │ │ │ │ │ +00018020: 6368 e280 9920 6361 7463 6865 7320 6d61 ch... catches ma │ │ │ │ │ +00018030: 6e79 206b 696e 6473 206f 6620 6572 726f ny kinds of erro │ │ │ │ │ +00018040: 7273 2c20 6275 7420 6e6f 7420 616c 6c2e rs, but not all. │ │ │ │ │ +00018050: 2020 466f 7220 6578 616d 706c 652c 0a6f For example,.o │ │ │ │ │ +00018060: 7074 696f 6e73 2074 6861 7420 736b 6574 ptions that sket │ │ │ │ │ +00018070: 6368 2064 6f65 7320 6e6f 7420 7265 636f ch does not reco │ │ │ │ │ +00018080: 676e 697a 652c 2065 7665 6e20 696e 636f gnize, even inco │ │ │ │ │ +00018090: 7272 6563 7420 6f6e 6573 2c20 6172 6520 rrect ones, are │ │ │ │ │ +000180a0: 7175 6965 746c 790a 636f 7069 6564 2074 quietly.copied t │ │ │ │ │ +000180b0: 6f20 e280 9850 5354 7269 636b 73e2 8099 o ...PSTricks... │ │ │ │ │ +000180c0: 2063 6f6d 6d61 6e64 7320 696e 2074 6865 commands in the │ │ │ │ │ +000180d0: 206f 7574 7075 742e 2020 4974 2069 7320 output. It is │ │ │ │ │ +000180e0: 616c 736f 2075 6e66 6f72 7475 6e61 7465 also unfortunate │ │ │ │ │ +000180f0: 6c79 0a65 6173 7920 746f 2070 726f 6475 ly.easy to produ │ │ │ │ │ +00018100: 6365 20e2 8098 736b 6574 6368 e280 9920 ce ...sketch... │ │ │ │ │ +00018110: 696e 7075 7473 2074 6861 7420 6c65 6164 inputs that lead │ │ │ │ │ +00018120: 2074 6f20 6e6f 2070 6963 7475 7265 2061 to no picture a │ │ │ │ │ +00018130: 7420 616c 6c20 2869 6d70 726f 7065 720a t all (improper. │ │ │ │ │ +00018140: 7665 7274 6578 206f 7264 6572 696e 6720 vertex ordering │ │ │ │ │ +00018150: 6361 7573 6573 2065 7665 7279 7468 696e causes everythin │ │ │ │ │ +00018160: 6720 746f 2062 6520 6375 6c6c 6564 292c g to be culled), │ │ │ │ │ +00018170: 2074 6f20 7069 6374 7572 6573 2074 6861 to pictures tha │ │ │ │ │ +00018180: 7420 6172 650a 746f 6f20 6269 6720 6f72 t are.too big or │ │ │ │ │ +00018190: 2074 6f6f 2073 6d61 6c6c 2066 6f72 20e2 too small for . │ │ │ │ │ +000181a0: 8098 5053 5472 6963 6b73 e280 9920 746f ..PSTricks... to │ │ │ │ │ +000181b0: 2064 7261 7720 2864 7565 2074 6f20 6c69 draw (due to li │ │ │ │ │ +000181c0: 6d69 7473 206f 6620 5465 5820 6d61 7468 mits of TeX math │ │ │ │ │ +000181d0: 292c 0a61 6e64 2070 6963 7475 7265 7320 ),.and pictures │ │ │ │ │ +000181e0: 7468 6174 206c 6f6f 6b20 6e6f 7468 696e that look nothin │ │ │ │ │ +000181f0: 6720 6c69 6b65 2077 6861 7420 7761 7320 g like what was │ │ │ │ │ +00018200: 696e 7465 6e64 6564 2e20 2041 2070 6963 intended. A pic │ │ │ │ │ +00018210: 7475 7265 2077 6974 680a 6f6e 6520 6f66 ture with.one of │ │ │ │ │ +00018220: 2074 6865 7365 2070 726f 626c 656d 7320 these problems │ │ │ │ │ +00018230: 6361 6e20 6265 2064 6966 6669 6375 6c74 can be difficult │ │ │ │ │ +00018240: 2074 6f20 2264 6562 7567 2e22 2020 5765 to "debug." We │ │ │ │ │ +00018250: 206f 6666 6572 2074 6865 0a66 6f6c 6c6f offer the.follo │ │ │ │ │ +00018260: 7769 6e67 2073 7567 6765 7374 696f 6e73 wing suggestions │ │ │ │ │ +00018270: 2e0a 2020 20e2 80a2 2046 6f6c 6c6f 7720 .. ... Follow │ │ │ │ │ +00018280: 7468 6520 7375 6767 6573 7465 6420 696e the suggested in │ │ │ │ │ +00018290: 6372 656d 656e 7461 6c20 6465 7665 6c6f cremental develo │ │ │ │ │ +000182a0: 706d 656e 7420 6d65 7468 6f64 2064 6573 pment method des │ │ │ │ │ +000182b0: 6372 6962 6564 2069 6e0a 2020 2020 202a cribed in. * │ │ │ │ │ +000182c0: 6e6f 7465 204f 7665 7276 6965 773a 3a2e note Overview::. │ │ │ │ │ +000182d0: 0a20 2020 e280 a220 416c 7761 7973 206d . ... Always m │ │ │ │ │ +000182e0: 6169 6e74 6169 6e20 6f6e 6520 6f72 2074 aintain one or t │ │ │ │ │ +000182f0: 776f 2062 6163 6b2d 7665 7273 696f 6e73 wo back-versions │ │ │ │ │ +00018300: 206f 6620 6120 6472 6177 696e 6720 736f of a drawing so │ │ │ │ │ +00018310: 2074 6861 7420 6974 2069 730a 2020 2020 that it is. │ │ │ │ │ +00018320: 2065 6173 7920 746f 2066 616c 6c20 6261 easy to fall ba │ │ │ │ │ +00018330: 636b 2074 6f20 6120 6b6e 6f77 6e2d 676f ck to a known-go │ │ │ │ │ +00018340: 6f64 2069 6e63 7265 6d65 6e74 2e0a 2020 od increment.. │ │ │ │ │ +00018350: 20e2 80a2 2057 6865 6e20 7573 696e 6720 ... When using │ │ │ │ │ +00018360: e280 9870 6572 7370 6563 7469 7665 e280 ...perspective.. │ │ │ │ │ +00018370: 992c 2065 6e73 7572 6520 616c 6c20 6669 ., ensure all fi │ │ │ │ │ +00018380: 6e61 6c6c 7920 7472 616e 7366 6f72 6d65 nally transforme │ │ │ │ │ +00018390: 6420 6f62 6a65 6374 730a 2020 2020 2073 d objects. s │ │ │ │ │ +000183a0: 6174 6973 6679 207a 3c30 2061 6e64 2c20 atisfy z<0 and, │ │ │ │ │ +000183b0: 696e 2066 6163 742c 2064 6f20 6e6f 7420 in fact, do not │ │ │ │ │ +000183c0: 636f 6d65 2076 6572 7920 636c 6f73 6520 come very close │ │ │ │ │ +000183d0: 746f 2074 6865 206f 7269 6769 6e20 6174 to the origin at │ │ │ │ │ +000183e0: 0a20 2020 2020 616c 6c2e 0a20 2020 e280 . all.. .. │ │ │ │ │ +000183f0: a220 5465 6d70 6f72 6172 696c 7920 7573 . Temporarily us │ │ │ │ │ +00018400: 6520 e280 9863 756c 6c3d 6661 6c73 65e2 e ...cull=false. │ │ │ │ │ +00018410: 8099 2074 6f20 7365 6520 7768 6572 6520 .. to see where │ │ │ │ │ +00018420: 7665 7274 6578 206f 7264 6572 696e 6720 vertex ordering │ │ │ │ │ +00018430: 7072 6f62 6c65 6d73 0a20 2020 2020 6c69 problems. li │ │ │ │ │ +00018440: 652e 0a20 2020 e280 a220 5573 6520 7465 e.. ... Use te │ │ │ │ │ +00018450: 6d70 6f72 6172 7920 6368 616e 6765 7320 mporary changes │ │ │ │ │ +00018460: 6f66 2063 6f6c 6f72 206f 6620 6f6e 6520 of color of one │ │ │ │ │ +00018470: 6f72 206d 6f72 6520 6f62 6a65 6374 7320 or more objects │ │ │ │ │ +00018480: 746f 2065 6e73 7572 650a 2020 2020 2074 to ensure. t │ │ │ │ │ +00018490: 6861 7420 796f 7572 2075 6e64 6572 7374 hat your underst │ │ │ │ │ +000184a0: 616e 6469 6e67 206f 6620 7468 6520 7363 anding of the sc │ │ │ │ │ +000184b0: 656e 6520 6765 6f6d 6574 7279 2069 7320 ene geometry is │ │ │ │ │ +000184c0: 636f 7272 6563 742e 0a20 2020 e280 a220 correct.. ... │ │ │ │ │ +000184d0: 4966 20e2 8098 5053 5472 6963 6b73 e280 If ...PSTricks.. │ │ │ │ │ +000184e0: 9920 636f 6d70 6c61 696e 7320 6162 6f75 . complains abou │ │ │ │ │ +000184f0: 7420 736f 6d65 7468 696e 672c 2069 6e73 t something, ins │ │ │ │ │ +00018500: 7065 6374 2074 6865 206f 7574 7075 740a pect the output. │ │ │ │ │ +00018510: 2020 2020 2064 6972 6563 746c 7920 666f directly fo │ │ │ │ │ +00018520: 7220 636c 7565 732e 0a0a 1f0a 4669 6c65 r clues.....File │ │ │ │ │ +00018530: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00018540: 4e6f 6465 3a20 436c 6970 7069 6e67 2c20 Node: Clipping, │ │ │ │ │ +00018550: 204e 6578 743a 2048 6964 6465 6e20 7375 Next: Hidden su │ │ │ │ │ +00018560: 7266 6163 6520 7265 6d6f 7661 6c2c 2020 rface removal, │ │ │ │ │ +00018570: 5072 6576 3a20 4c69 6d69 7473 206f 6e20 Prev: Limits on │ │ │ │ │ +00018580: 6572 726f 7220 6465 7465 6374 696f 6e2c error detection, │ │ │ │ │ +00018590: 2020 5570 3a20 4361 7665 6174 730a 0a34 Up: Caveats..4 │ │ │ │ │ +000185a0: 2e34 2e32 2043 6c69 7070 696e 670a 2d2d .4.2 Clipping.-- │ │ │ │ │ +000185b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 ------------..Th │ │ │ │ │ +000185c0: 6520 6375 7272 656e 7420 7665 7273 696f e current versio │ │ │ │ │ +000185d0: 6e20 6f66 20e2 8098 736b 6574 6368 e280 n of ...sketch.. │ │ │ │ │ +000185e0: 9920 6861 7320 6e6f 2063 6c69 7070 696e . has no clippin │ │ │ │ │ +000185f0: 6720 6f70 6572 6174 696f 6e73 2e20 2054 g operations. T │ │ │ │ │ +00018600: 6865 2065 6e74 6972 650a 7363 656e 6520 he entire.scene │ │ │ │ │ +00018610: 6973 2061 6c77 6179 7320 6472 6177 6e2e is always drawn. │ │ │ │ │ +00018620: 2020 5468 6973 206d 6561 6e73 2074 6861 This means tha │ │ │ │ │ +00018630: 7420 7768 656e 2061 2070 6572 7370 6563 t when a perspec │ │ │ │ │ +00018640: 7469 7665 2074 7261 6e73 666f 726d 2069 tive transform i │ │ │ │ │ +00018650: 730a 656d 706c 6f79 6564 2c20 6974 2069 s.employed, it i │ │ │ │ │ +00018660: 7320 7468 6520 7573 6572 2773 2072 6573 s the user's res │ │ │ │ │ +00018670: 706f 6e73 6962 696c 6974 7920 746f 206d ponsibility to m │ │ │ │ │ +00018680: 616b 6520 7375 7265 2074 6865 2065 6e74 ake sure the ent │ │ │ │ │ +00018690: 6972 6520 7363 656e 650a 7265 6d61 696e ire scene.remain │ │ │ │ │ +000186a0: 7320 696e 2066 726f 6e74 206f 6620 7468 s in front of th │ │ │ │ │ +000186b0: 6520 7669 6577 6572 2c20 7468 6520 7265 e viewer, the re │ │ │ │ │ +000186c0: 6769 6f6e 207a 3c30 2e0a 0a1f 0a46 696c gion z<0.....Fil │ │ │ │ │ +000186d0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +000186e0: 204e 6f64 653a 2048 6964 6465 6e20 7375 Node: Hidden su │ │ │ │ │ +000186f0: 7266 6163 6520 7265 6d6f 7661 6c2c 2020 rface removal, │ │ │ │ │ +00018700: 5072 6576 3a20 436c 6970 7069 6e67 2c20 Prev: Clipping, │ │ │ │ │ +00018710: 2055 703a 2043 6176 6561 7473 0a0a 342e Up: Caveats..4. │ │ │ │ │ +00018720: 342e 3320 4869 6464 656e 2073 7572 6661 4.3 Hidden surfa │ │ │ │ │ +00018730: 6365 2072 656d 6f76 616c 2061 6e64 2070 ce removal and p │ │ │ │ │ +00018740: 6f6c 7967 6f6e 2073 706c 6974 7469 6e67 olygon splitting │ │ │ │ │ +00018750: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ 00018760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00018770: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ -00018780: 0ae2 8098 536b 6574 6368 e280 9920 7573 ....Sketch... us │ │ │ │ │ -00018790: 6573 2074 6865 20e2 809c 6465 7074 6820 es the ...depth │ │ │ │ │ -000187a0: 736f 7274 2061 6c67 6f72 6974 686d e280 sort algorithm.. │ │ │ │ │ -000187b0: 9d20 666f 7220 6869 6464 656e 2073 7572 . for hidden sur │ │ │ │ │ -000187c0: 6661 6365 2072 656d 6f76 616c 2e0a 5468 face removal..Th │ │ │ │ │ -000187d0: 6973 2069 7320 6120 7665 7279 206f 6c64 is is a very old │ │ │ │ │ -000187e0: 2074 6563 686e 6971 7565 2064 7565 2074 technique due t │ │ │ │ │ -000187f0: 6f20 4e65 7765 6c6c 2e28 3129 2020 4974 o Newell.(1) It │ │ │ │ │ -00018800: 2069 7320 6765 6e65 7261 6c6c 7920 7265 is generally re │ │ │ │ │ -00018810: 6761 7264 6564 0a61 7320 746f 6f20 736c garded.as too sl │ │ │ │ │ -00018820: 6f77 2066 6f72 2072 6561 6c20 7469 6d65 ow for real time │ │ │ │ │ -00018830: 2067 7261 7068 6963 732c 2062 7574 2069 graphics, but i │ │ │ │ │ -00018840: 7420 6973 2069 6465 616c 2066 6f72 206f t is ideal for o │ │ │ │ │ -00018850: 7572 2070 7572 706f 7365 0a77 6865 7265 ur purpose.where │ │ │ │ │ -00018860: 2073 7065 6564 2069 7320 6e6f 7420 7665 speed is not ve │ │ │ │ │ -00018870: 7279 2069 6d70 6f72 7461 6e74 2e28 3229 ry important.(2) │ │ │ │ │ -00018880: 0a0a 2020 2054 6865 2064 6570 7468 2073 .. The depth s │ │ │ │ │ -00018890: 6f72 7420 616c 676f 7269 7468 6d20 6d65 ort algorithm me │ │ │ │ │ -000188a0: 7265 6c79 2073 6f72 7473 206f 626a 6563 rely sorts objec │ │ │ │ │ -000188b0: 7473 206f 6e20 6120 6b65 7920 6f66 2069 ts on a key of i │ │ │ │ │ -000188c0: 6e63 7265 6173 696e 670a 7a2d 636f 6f72 ncreasing.z-coor │ │ │ │ │ -000188d0: 6469 6e61 7465 2c20 6571 7569 7661 6c65 dinate, equivale │ │ │ │ │ -000188e0: 6e74 2074 6f20 6465 6372 6561 7369 6e67 nt to decreasing │ │ │ │ │ -000188f0: 2064 6570 7468 2e20 204f 626a 6563 7473 depth. Objects │ │ │ │ │ -00018900: 2061 7265 2074 6865 6e20 6472 6177 6e20 are then drawn │ │ │ │ │ -00018910: 696e 0a74 6865 2073 6f72 7465 6420 7365 in.the sorted se │ │ │ │ │ -00018920: 7175 656e 6365 2073 6f20 7468 6174 2074 quence so that t │ │ │ │ │ -00018930: 686f 7365 2061 7420 7468 6520 7265 6172 hose at the rear │ │ │ │ │ -00018940: 206f 6620 7468 6520 7363 656e 6520 6172 of the scene ar │ │ │ │ │ -00018950: 650a 6f76 6572 7772 6974 7465 6e20 6279 e.overwritten by │ │ │ │ │ -00018960: 2074 686f 7365 2063 6c6f 7365 7220 746f those closer to │ │ │ │ │ -00018970: 2074 6865 2076 6965 7765 722e 2020 5369 the viewer. Si │ │ │ │ │ -00018980: 6e63 6520 7468 6973 2069 7320 616c 736f nce this is also │ │ │ │ │ -00018990: 2068 6f77 206f 696c 0a70 6169 6e74 6572 how oil.painter │ │ │ │ │ -000189a0: 7320 7072 6163 7469 6365 2074 6865 6972 s practice their │ │ │ │ │ -000189b0: 2061 7274 2c20 6465 7074 6820 736f 7274 art, depth sort │ │ │ │ │ -000189c0: 2069 7320 736f 6d65 7469 6d65 7320 6361 is sometimes ca │ │ │ │ │ -000189d0: 6c6c 6564 2022 7468 650a 7061 696e 7465 lled "the.painte │ │ │ │ │ -000189e0: 7227 7320 616c 676f 7269 7468 6d2e 220a r's algorithm.". │ │ │ │ │ -000189f0: 0a20 2020 496e 2073 6f6d 6520 6361 7365 . In some case │ │ │ │ │ -00018a00: 7320 6974 2069 7320 696d 706f 7373 6962 s it is impossib │ │ │ │ │ -00018a10: 6c65 2074 6f20 7374 7269 6374 6c79 206f le to strictly o │ │ │ │ │ -00018a20: 7264 6572 2070 6f6c 7967 6f6e 7320 6163 rder polygons ac │ │ │ │ │ -00018a30: 636f 7264 696e 670a 746f 2064 6570 7468 cording.to depth │ │ │ │ │ -00018a40: 2e20 204d 6f72 656f 7665 722c 2065 7665 . Moreover, eve │ │ │ │ │ -00018a50: 6e20 6966 2061 2063 6f72 7265 6374 2064 n if a correct d │ │ │ │ │ -00018a60: 6570 7468 206f 7264 6572 696e 6720 6578 epth ordering ex │ │ │ │ │ -00018a70: 6973 7473 2c20 7468 650a 636f 6d70 7574 ists, the.comput │ │ │ │ │ -00018a80: 6174 696f 6e20 6e65 6564 6564 2074 6f20 ation needed to │ │ │ │ │ -00018a90: 6669 6e64 2069 7420 6d61 7920 6265 2074 find it may be t │ │ │ │ │ -00018aa0: 6f6f 2063 6f6d 706c 6578 2061 6e64 2073 oo complex and s │ │ │ │ │ -00018ab0: 6c6f 772e 2020 496e 2074 6865 7365 0a63 low. In these.c │ │ │ │ │ -00018ac0: 6173 6573 2c20 e280 9873 6b65 7463 68e2 ases, ...sketch. │ │ │ │ │ -00018ad0: 8099 2073 706c 6974 7320 6f6e 6520 6f72 .. splits one or │ │ │ │ │ -00018ae0: 206d 6f72 6520 706f 6c79 676f 6e73 2069 more polygons i │ │ │ │ │ -00018af0: 6e74 6f20 7069 6563 6573 2e20 2054 6865 nto pieces. The │ │ │ │ │ -00018b00: 0a65 7870 6563 7461 7469 6f6e 2069 7320 .expectation is │ │ │ │ │ -00018b10: 7468 6174 2074 6865 206e 6577 2c20 736d that the new, sm │ │ │ │ │ -00018b20: 616c 6c65 7220 706f 6c79 676f 6e73 2077 aller polygons w │ │ │ │ │ -00018b30: 696c 6c20 6265 2073 696d 706c 6572 2074 ill be simpler t │ │ │ │ │ -00018b40: 6f20 6f72 6465 722e 0ae2 8098 536b 6574 o order.....Sket │ │ │ │ │ -00018b50: 6368 e280 9920 7573 6573 2061 2042 5350 ch... uses a BSP │ │ │ │ │ -00018b60: 2028 6269 6e61 7279 2073 7061 6365 2070 (binary space p │ │ │ │ │ -00018b70: 6172 7469 7469 6f6e 2920 746f 2068 616e artition) to han │ │ │ │ │ -00018b80: 646c 6520 7468 6520 7370 6c69 7474 696e dle the splittin │ │ │ │ │ -00018b90: 670a 6f70 6572 6174 696f 6e2e 0a0a 2a20 g.operation...* │ │ │ │ │ -00018ba0: 4d65 6e75 3a0a 0a2a 2053 7461 7469 7374 Menu:..* Statist │ │ │ │ │ -00018bb0: 6963 733a 3a20 2020 2020 2020 2020 2020 ics:: │ │ │ │ │ -00018bc0: 2020 2020 2020 2050 6572 666f 726d 616e Performan │ │ │ │ │ -00018bd0: 6365 206e 756d 6265 7273 206f 6e20 6465 ce numbers on de │ │ │ │ │ -00018be0: 7074 6820 736f 7274 2e0a 2a20 4275 6773 pth sort..* Bugs │ │ │ │ │ -00018bf0: 2061 6e64 2061 6e6f 6d61 6c69 6573 3a3a and anomalies:: │ │ │ │ │ -00018c00: 2020 2020 2020 2020 2020 496d 7065 7266 Imperf │ │ │ │ │ -00018c10: 6563 7469 6f6e 7320 696e 2074 6869 7320 ections in this │ │ │ │ │ -00018c20: 696d 706c 656d 656e 7461 7469 6f6e 2e0a implementation.. │ │ │ │ │ -00018c30: 0a20 2020 2d2d 2d2d 2d2d 2d2d 2d2d 2046 . ---------- F │ │ │ │ │ -00018c40: 6f6f 746e 6f74 6573 202d 2d2d 2d2d 2d2d ootnotes ------- │ │ │ │ │ -00018c50: 2d2d 2d0a 0a20 2020 2831 2920 4e65 7765 ---.. (1) Newe │ │ │ │ │ -00018c60: 6c6c 2c20 4d2e 452e 2c20 522e 472e 204e ll, M.E., R.G. N │ │ │ │ │ -00018c70: 6577 656c 6c2c 2061 6e64 2054 2e4c 2e20 ewell, and T.L. │ │ │ │ │ -00018c80: 5361 6e63 6861 2c20 4120 736f 6c75 7469 Sancha, A soluti │ │ │ │ │ -00018c90: 6f6e 2074 6f20 7468 650a 6869 6464 656e on to the.hidden │ │ │ │ │ -00018ca0: 2073 7572 6661 6365 2070 726f 626c 656d surface problem │ │ │ │ │ -00018cb0: 2e20 2050 726f 6365 6564 696e 6773 206f . Proceedings o │ │ │ │ │ -00018cc0: 6620 7468 6520 4143 4d20 616e 6e75 616c f the ACM annual │ │ │ │ │ -00018cd0: 2063 6f6e 6665 7265 6e63 6520 2d0a 566f conference -.Vo │ │ │ │ │ -00018ce0: 6c75 6d65 2031 2c20 7061 6765 2034 3433 lume 1, page 443 │ │ │ │ │ -00018cf0: 2d34 3530 2c20 4143 4d20 5072 6573 732c -450, ACM Press, │ │ │ │ │ -00018d00: 2031 3937 322e 0a0a 2020 2028 3229 2057 1972... (2) W │ │ │ │ │ -00018d10: 6520 6861 7665 2072 756e 20e2 8098 736b e have run ...sk │ │ │ │ │ -00018d20: 6574 6368 e280 9920 6f6e 2074 6865 2066 etch... on the f │ │ │ │ │ -00018d30: 616d 6f75 7320 5374 616e 666f 7264 2042 amous Stanford B │ │ │ │ │ -00018d40: 756e 6e79 2c20 7768 6963 6820 636f 6e73 unny, which cons │ │ │ │ │ -00018d50: 6973 7473 0a6f 6620 6e65 6172 6c79 2037 ists.of nearly 7 │ │ │ │ │ -00018d60: 302c 3030 3020 7472 6961 6e67 6c65 732e 0,000 triangles. │ │ │ │ │ -00018d70: 2020 5275 6e20 7469 6d65 2077 6173 2061 Run time was a │ │ │ │ │ -00018d80: 626f 7574 2036 2073 6563 6f6e 6473 2e20 bout 6 seconds. │ │ │ │ │ -00018d90: 204d 6f73 7420 6f66 2074 6869 730a 7761 Most of this.wa │ │ │ │ │ -00018da0: 7320 7370 656e 7420 7772 6974 696e 6720 s spent writing │ │ │ │ │ -00018db0: 7468 6520 6f75 7470 7574 2066 696c 6520 the output file │ │ │ │ │ -00018dc0: 7261 7468 6572 2074 6861 6e20 696e 2074 rather than in t │ │ │ │ │ -00018dd0: 6865 2068 6964 6465 6e20 7375 7266 6163 he hidden surfac │ │ │ │ │ -00018de0: 650a 616c 676f 7269 7468 6d2e 2020 4c61 e.algorithm. La │ │ │ │ │ -00018df0: 5465 5820 746f 6f6b 206d 7563 6820 6c6f TeX took much lo │ │ │ │ │ -00018e00: 6e67 6572 2074 6f20 7072 6f63 6573 7320 nger to process │ │ │ │ │ -00018e10: 7468 6520 7265 7375 6c74 696e 6720 e280 the resulting .. │ │ │ │ │ -00018e20: 9850 5354 7269 636b 73e2 8099 0a63 6f64 .PSTricks....cod │ │ │ │ │ -00018e30: 652e 2020 5468 6520 6f62 7669 6f75 7320 e. The obvious │ │ │ │ │ -00018e40: 636f 6e63 6c75 7369 6f6e 2069 7320 7468 conclusion is th │ │ │ │ │ -00018e50: 6174 2074 6865 2073 7065 6564 206f 6620 at the speed of │ │ │ │ │ -00018e60: 7468 6520 6465 7074 6820 736f 7274 0a61 the depth sort.a │ │ │ │ │ -00018e70: 6c67 6f72 6974 686d 2069 7320 6e6f 7420 lgorithm is not │ │ │ │ │ -00018e80: 6120 776f 7272 792e 0a0a 1f0a 4669 6c65 a worry.....File │ │ │ │ │ -00018e90: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -00018ea0: 4e6f 6465 3a20 5374 6174 6973 7469 6373 Node: Statistics │ │ │ │ │ -00018eb0: 2c20 204e 6578 743a 2042 7567 7320 616e , Next: Bugs an │ │ │ │ │ -00018ec0: 6420 616e 6f6d 616c 6965 732c 2020 5072 d anomalies, Pr │ │ │ │ │ -00018ed0: 6576 3a20 4869 6464 656e 2073 7572 6661 ev: Hidden surfa │ │ │ │ │ -00018ee0: 6365 2072 656d 6f76 616c 2c20 2055 703a ce removal, Up: │ │ │ │ │ -00018ef0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ -00018f00: 7265 6d6f 7661 6c0a 0a34 2e34 2e33 2e31 removal..4.4.3.1 │ │ │ │ │ -00018f10: 2053 7461 7469 7374 6963 730a 2e2e 2e2e Statistics..... │ │ │ │ │ -00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ -00018f30: 466f 7220 7468 6520 6375 7269 6f75 732c For the curious, │ │ │ │ │ -00018f40: 20e2 8098 736b 6574 6368 e280 9920 7772 ...sketch... wr │ │ │ │ │ -00018f50: 6974 6573 206f 6e65 206c 696e 6520 6f66 ites one line of │ │ │ │ │ -00018f60: 2064 6570 7468 2073 6f72 7420 7374 6174 depth sort stat │ │ │ │ │ -00018f70: 6973 7469 6373 2e0a 4865 7265 2069 7320 istics..Here is │ │ │ │ │ -00018f80: 616e 2065 7861 6d70 6c65 2066 6f72 2061 an example for a │ │ │ │ │ -00018f90: 206c 6172 6765 2063 6f6c 6c65 6374 696f large collectio │ │ │ │ │ -00018fa0: 6e20 6f66 2074 7269 616e 676c 6573 2e0a n of triangles.. │ │ │ │ │ -00018fb0: 2020 7265 6d61 726b 2c20 6e6f 6465 3d33 remark, node=3 │ │ │ │ │ -00018fc0: 3438 3234 2070 726f 6265 3d35 3831 2e39 4824 probe=581.9 │ │ │ │ │ -00018fd0: 2073 7761 703d 3520 7370 6c69 743d 3220 swap=5 split=2 │ │ │ │ │ -00018fe0: 2869 6e3d 3420 6f75 743d 3629 206f 6c73 (in=4 out=6) ols │ │ │ │ │ -00018ff0: 3d32 3438 3531 2f30 0a49 7420 6d65 616e =24851/0.It mean │ │ │ │ │ -00019000: 7320 7468 6174 2033 342c 3832 3420 6f62 s that 34,824 ob │ │ │ │ │ -00019010: 6a65 6374 7320 7765 7265 2064 6570 7468 jects were depth │ │ │ │ │ -00019020: 2073 6f72 7465 6420 6166 7465 7220 6375 sorted after cu │ │ │ │ │ -00019030: 6c6c 696e 672e 2020 466f 7220 6561 6368 lling. For each │ │ │ │ │ -00019040: 2c0a 616e 2061 7665 7261 6765 206f 6620 ,.an average of │ │ │ │ │ -00019050: 3538 312e 3920 6f74 6865 7273 2068 6164 581.9 others had │ │ │ │ │ -00019060: 2074 6f20 6265 2063 6865 636b 6564 2074 to be checked t │ │ │ │ │ -00019070: 6f20 656e 7375 7265 2074 6861 7420 7468 o ensure that th │ │ │ │ │ -00019080: 6520 696e 6974 6961 6c2c 0a61 7070 726f e initial,.appro │ │ │ │ │ -00019090: 7869 6d61 7465 206f 7264 6572 696e 6720 ximate ordering │ │ │ │ │ -000190a0: 7761 7320 636f 7272 6563 742e 2020 416d was correct. Am │ │ │ │ │ -000190b0: 6f6e 6720 616c 6c20 7468 6573 6520 6368 ong all these ch │ │ │ │ │ -000190c0: 6563 6b73 2c20 6f6e 6c79 2035 0a72 6573 ecks, only 5.res │ │ │ │ │ -000190d0: 756c 7465 6420 696e 2073 7761 7073 2074 ulted in swaps t │ │ │ │ │ -000190e0: 6f20 7265 6f72 6465 7220 7468 6520 696e o reorder the in │ │ │ │ │ -000190f0: 6974 6961 6c20 736f 7274 2e20 2049 6e20 itial sort. In │ │ │ │ │ -00019100: 7477 6f20 6361 7365 732c 2061 2063 6f72 two cases, a cor │ │ │ │ │ -00019110: 7265 6374 0a6f 7264 6572 696e 6720 636f rect.ordering co │ │ │ │ │ -00019120: 756c 6420 6e6f 7420 6265 2064 6574 6572 uld not be deter │ │ │ │ │ -00019130: 6d69 6e65 642c 2073 6f20 6269 6e61 7279 mined, so binary │ │ │ │ │ -00019140: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition │ │ │ │ │ -00019150: 7320 7765 7265 0a63 6f6e 7374 7275 6374 s were.construct │ │ │ │ │ -00019160: 6564 2066 6f72 2073 706c 6974 7469 6e67 ed for splitting │ │ │ │ │ -00019170: 2e20 2041 2074 6f74 616c 206f 6620 3420 . A total of 4 │ │ │ │ │ -00019180: 6f62 6a65 6374 7320 2874 7269 616e 676c objects (triangl │ │ │ │ │ -00019190: 6573 2069 6e20 7468 6973 0a63 6173 6529 es in this.case) │ │ │ │ │ -000191a0: 2077 6572 6520 696e 7365 7274 6564 2069 were inserted i │ │ │ │ │ -000191b0: 6e20 7468 6520 7061 7274 6974 696f 6e73 n the partitions │ │ │ │ │ -000191c0: 2c20 616e 6420 3620 706f 6c79 676f 6e73 , and 6 polygons │ │ │ │ │ -000191d0: 2077 6572 6520 7072 6f64 7563 6564 2e0a were produced.. │ │ │ │ │ -000191e0: 4669 6e61 6c6c 792c 2032 342c 3835 3120 Finally, 24,851 │ │ │ │ │ -000191f0: 226c 6173 7420 7265 736f 7274 2220 706f "last resort" po │ │ │ │ │ -00019200: 6c79 676f 6e20 6f76 6572 6c61 7020 6368 lygon overlap ch │ │ │ │ │ -00019210: 6563 6b73 2077 6572 6520 7065 7266 6f72 ecks were perfor │ │ │ │ │ -00019220: 6d65 640a 6166 7465 7220 7369 6d70 6c65 med.after simple │ │ │ │ │ -00019230: 722c 2066 6173 7465 7220 6368 6563 6b73 r, faster checks │ │ │ │ │ -00019240: 2066 6169 6c65 6420 746f 2079 6965 6c64 failed to yield │ │ │ │ │ -00019250: 2063 6f6e 636c 7573 6976 6520 7265 7375 conclusive resu │ │ │ │ │ -00019260: 6c74 732e 2020 5468 650a 6669 6e61 6c20 lts. The.final │ │ │ │ │ -00019270: 2f30 2069 7320 666f 7220 6c69 6e65 2d70 /0 is for line-p │ │ │ │ │ -00019280: 6f6c 7967 6f6e 206f 7665 726c 6170 2063 olygon overlap c │ │ │ │ │ -00019290: 6865 636b 732e 2020 466f 7220 636f 6d70 hecks. For comp │ │ │ │ │ -000192a0: 6172 6973 6f6e 2c20 7468 650a 7374 6174 arison, the.stat │ │ │ │ │ -000192b0: 6973 7469 6373 2066 6f72 2074 6865 206c istics for the l │ │ │ │ │ -000192c0: 6173 7420 6669 6775 7265 2069 6e20 2a6e ast figure in *n │ │ │ │ │ -000192d0: 6f74 6520 4f76 6572 7669 6577 3a3a 2066 ote Overview:: f │ │ │ │ │ -000192e0: 6f6c 6c6f 772e 0a20 2072 656d 6172 6b2c ollow.. remark, │ │ │ │ │ -000192f0: 206e 6f64 653d 3237 2070 726f 6265 3d31 node=27 probe=1 │ │ │ │ │ -00019300: 342e 3620 7377 6170 3d33 3620 7370 6c69 4.6 swap=36 spli │ │ │ │ │ -00019310: 743d 3135 2028 696e 3d33 3020 6f75 743d t=15 (in=30 out= │ │ │ │ │ -00019320: 3435 2920 6f6c 733d 302f 3639 0a4e 6f74 45) ols=0/69.Not │ │ │ │ │ -00019330: 6520 7468 6174 2074 6865 7265 2077 6173 e that there was │ │ │ │ │ -00019340: 2070 726f 706f 7274 696f 6e61 6c6c 7920 proportionally │ │ │ │ │ -00019350: 6d75 6368 206d 6f72 6520 7377 6170 7069 much more swappi │ │ │ │ │ -00019360: 6e67 2061 6e64 2073 706c 6974 7469 6e67 ng and splitting │ │ │ │ │ -00019370: 0a61 6374 6976 6974 7920 696e 2074 6869 .activity in thi │ │ │ │ │ -00019380: 7320 6869 6768 6c79 2063 6f6e 6e65 6374 s highly connect │ │ │ │ │ -00019390: 6564 2073 6365 6e65 2e0a 0a1f 0a46 696c ed scene.....Fil │ │ │ │ │ -000193a0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -000193b0: 204e 6f64 653a 2042 7567 7320 616e 6420 Node: Bugs and │ │ │ │ │ -000193c0: 616e 6f6d 616c 6965 732c 2020 5072 6576 anomalies, Prev │ │ │ │ │ -000193d0: 3a20 5374 6174 6973 7469 6373 2c20 2055 : Statistics, U │ │ │ │ │ -000193e0: 703a 2048 6964 6465 6e20 7375 7266 6163 p: Hidden surfac │ │ │ │ │ -000193f0: 6520 7265 6d6f 7661 6c0a 0a34 2e34 2e33 e removal..4.4.3 │ │ │ │ │ -00019400: 2e32 2042 7567 7320 616e 6420 616e 6f6d .2 Bugs and anom │ │ │ │ │ -00019410: 616c 6965 730a 2e2e 2e2e 2e2e 2e2e 2e2e alies........... │ │ │ │ │ +00018770: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00018780: 2d2d 2d0a 0ae2 8098 536b 6574 6368 e280 ---.....Sketch.. │ │ │ │ │ +00018790: 9920 7573 6573 2074 6865 20e2 809c 6465 . uses the ...de │ │ │ │ │ +000187a0: 7074 6820 736f 7274 2061 6c67 6f72 6974 pth sort algorit │ │ │ │ │ +000187b0: 686d e280 9d20 666f 7220 6869 6464 656e hm... for hidden │ │ │ │ │ +000187c0: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal │ │ │ │ │ +000187d0: 2e0a 5468 6973 2069 7320 6120 7665 7279 ..This is a very │ │ │ │ │ +000187e0: 206f 6c64 2074 6563 686e 6971 7565 2064 old technique d │ │ │ │ │ +000187f0: 7565 2074 6f20 4e65 7765 6c6c 2e28 3129 ue to Newell.(1) │ │ │ │ │ +00018800: 2020 4974 2069 7320 6765 6e65 7261 6c6c It is generall │ │ │ │ │ +00018810: 7920 7265 6761 7264 6564 0a61 7320 746f y regarded.as to │ │ │ │ │ +00018820: 6f20 736c 6f77 2066 6f72 2072 6561 6c20 o slow for real │ │ │ │ │ +00018830: 7469 6d65 2067 7261 7068 6963 732c 2062 time graphics, b │ │ │ │ │ +00018840: 7574 2069 7420 6973 2069 6465 616c 2066 ut it is ideal f │ │ │ │ │ +00018850: 6f72 206f 7572 2070 7572 706f 7365 0a77 or our purpose.w │ │ │ │ │ +00018860: 6865 7265 2073 7065 6564 2069 7320 6e6f here speed is no │ │ │ │ │ +00018870: 7420 7665 7279 2069 6d70 6f72 7461 6e74 t very important │ │ │ │ │ +00018880: 2e28 3229 0a0a 2020 2054 6865 2064 6570 .(2).. The dep │ │ │ │ │ +00018890: 7468 2073 6f72 7420 616c 676f 7269 7468 th sort algorith │ │ │ │ │ +000188a0: 6d20 6d65 7265 6c79 2073 6f72 7473 206f m merely sorts o │ │ │ │ │ +000188b0: 626a 6563 7473 206f 6e20 6120 6b65 7920 bjects on a key │ │ │ │ │ +000188c0: 6f66 2069 6e63 7265 6173 696e 670a 7a2d of increasing.z- │ │ │ │ │ +000188d0: 636f 6f72 6469 6e61 7465 2c20 6571 7569 coordinate, equi │ │ │ │ │ +000188e0: 7661 6c65 6e74 2074 6f20 6465 6372 6561 valent to decrea │ │ │ │ │ +000188f0: 7369 6e67 2064 6570 7468 2e20 204f 626a sing depth. Obj │ │ │ │ │ +00018900: 6563 7473 2061 7265 2074 6865 6e20 6472 ects are then dr │ │ │ │ │ +00018910: 6177 6e20 696e 0a74 6865 2073 6f72 7465 awn in.the sorte │ │ │ │ │ +00018920: 6420 7365 7175 656e 6365 2073 6f20 7468 d sequence so th │ │ │ │ │ +00018930: 6174 2074 686f 7365 2061 7420 7468 6520 at those at the │ │ │ │ │ +00018940: 7265 6172 206f 6620 7468 6520 7363 656e rear of the scen │ │ │ │ │ +00018950: 6520 6172 650a 6f76 6572 7772 6974 7465 e are.overwritte │ │ │ │ │ +00018960: 6e20 6279 2074 686f 7365 2063 6c6f 7365 n by those close │ │ │ │ │ +00018970: 7220 746f 2074 6865 2076 6965 7765 722e r to the viewer. │ │ │ │ │ +00018980: 2020 5369 6e63 6520 7468 6973 2069 7320 Since this is │ │ │ │ │ +00018990: 616c 736f 2068 6f77 206f 696c 0a70 6169 also how oil.pai │ │ │ │ │ +000189a0: 6e74 6572 7320 7072 6163 7469 6365 2074 nters practice t │ │ │ │ │ +000189b0: 6865 6972 2061 7274 2c20 6465 7074 6820 heir art, depth │ │ │ │ │ +000189c0: 736f 7274 2069 7320 736f 6d65 7469 6d65 sort is sometime │ │ │ │ │ +000189d0: 7320 6361 6c6c 6564 2022 7468 650a 7061 s called "the.pa │ │ │ │ │ +000189e0: 696e 7465 7227 7320 616c 676f 7269 7468 inter's algorith │ │ │ │ │ +000189f0: 6d2e 220a 0a20 2020 496e 2073 6f6d 6520 m.".. In some │ │ │ │ │ +00018a00: 6361 7365 7320 6974 2069 7320 696d 706f cases it is impo │ │ │ │ │ +00018a10: 7373 6962 6c65 2074 6f20 7374 7269 6374 ssible to strict │ │ │ │ │ +00018a20: 6c79 206f 7264 6572 2070 6f6c 7967 6f6e ly order polygon │ │ │ │ │ +00018a30: 7320 6163 636f 7264 696e 670a 746f 2064 s according.to d │ │ │ │ │ +00018a40: 6570 7468 2e20 204d 6f72 656f 7665 722c epth. Moreover, │ │ │ │ │ +00018a50: 2065 7665 6e20 6966 2061 2063 6f72 7265 even if a corre │ │ │ │ │ +00018a60: 6374 2064 6570 7468 206f 7264 6572 696e ct depth orderin │ │ │ │ │ +00018a70: 6720 6578 6973 7473 2c20 7468 650a 636f g exists, the.co │ │ │ │ │ +00018a80: 6d70 7574 6174 696f 6e20 6e65 6564 6564 mputation needed │ │ │ │ │ +00018a90: 2074 6f20 6669 6e64 2069 7420 6d61 7920 to find it may │ │ │ │ │ +00018aa0: 6265 2074 6f6f 2063 6f6d 706c 6578 2061 be too complex a │ │ │ │ │ +00018ab0: 6e64 2073 6c6f 772e 2020 496e 2074 6865 nd slow. In the │ │ │ │ │ +00018ac0: 7365 0a63 6173 6573 2c20 e280 9873 6b65 se.cases, ...ske │ │ │ │ │ +00018ad0: 7463 68e2 8099 2073 706c 6974 7320 6f6e tch... splits on │ │ │ │ │ +00018ae0: 6520 6f72 206d 6f72 6520 706f 6c79 676f e or more polygo │ │ │ │ │ +00018af0: 6e73 2069 6e74 6f20 7069 6563 6573 2e20 ns into pieces. │ │ │ │ │ +00018b00: 2054 6865 0a65 7870 6563 7461 7469 6f6e The.expectation │ │ │ │ │ +00018b10: 2069 7320 7468 6174 2074 6865 206e 6577 is that the new │ │ │ │ │ +00018b20: 2c20 736d 616c 6c65 7220 706f 6c79 676f , smaller polygo │ │ │ │ │ +00018b30: 6e73 2077 696c 6c20 6265 2073 696d 706c ns will be simpl │ │ │ │ │ +00018b40: 6572 2074 6f20 6f72 6465 722e 0ae2 8098 er to order..... │ │ │ │ │ +00018b50: 536b 6574 6368 e280 9920 7573 6573 2061 Sketch... uses a │ │ │ │ │ +00018b60: 2042 5350 2028 6269 6e61 7279 2073 7061 BSP (binary spa │ │ │ │ │ +00018b70: 6365 2070 6172 7469 7469 6f6e 2920 746f ce partition) to │ │ │ │ │ +00018b80: 2068 616e 646c 6520 7468 6520 7370 6c69 handle the spli │ │ │ │ │ +00018b90: 7474 696e 670a 6f70 6572 6174 696f 6e2e tting.operation. │ │ │ │ │ +00018ba0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2053 7461 ..* Menu:..* Sta │ │ │ │ │ +00018bb0: 7469 7374 6963 733a 3a20 2020 2020 2020 tistics:: │ │ │ │ │ +00018bc0: 2020 2020 2020 2020 2020 2050 6572 666f Perfo │ │ │ │ │ +00018bd0: 726d 616e 6365 206e 756d 6265 7273 206f rmance numbers o │ │ │ │ │ +00018be0: 6e20 6465 7074 6820 736f 7274 2e0a 2a20 n depth sort..* │ │ │ │ │ +00018bf0: 4275 6773 2061 6e64 2061 6e6f 6d61 6c69 Bugs and anomali │ │ │ │ │ +00018c00: 6573 3a3a 2020 2020 2020 2020 2020 496d es:: Im │ │ │ │ │ +00018c10: 7065 7266 6563 7469 6f6e 7320 696e 2074 perfections in t │ │ │ │ │ +00018c20: 6869 7320 696d 706c 656d 656e 7461 7469 his implementati │ │ │ │ │ +00018c30: 6f6e 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d on... -------- │ │ │ │ │ +00018c40: 2d2d 2046 6f6f 746e 6f74 6573 202d 2d2d -- Footnotes --- │ │ │ │ │ +00018c50: 2d2d 2d2d 2d2d 2d0a 0a20 2020 2831 2920 -------.. (1) │ │ │ │ │ +00018c60: 4e65 7765 6c6c 2c20 4d2e 452e 2c20 522e Newell, M.E., R. │ │ │ │ │ +00018c70: 472e 204e 6577 656c 6c2c 2061 6e64 2054 G. Newell, and T │ │ │ │ │ +00018c80: 2e4c 2e20 5361 6e63 6861 2c20 4120 736f .L. Sancha, A so │ │ │ │ │ +00018c90: 6c75 7469 6f6e 2074 6f20 7468 650a 6869 lution to the.hi │ │ │ │ │ +00018ca0: 6464 656e 2073 7572 6661 6365 2070 726f dden surface pro │ │ │ │ │ +00018cb0: 626c 656d 2e20 2050 726f 6365 6564 696e blem. Proceedin │ │ │ │ │ +00018cc0: 6773 206f 6620 7468 6520 4143 4d20 616e gs of the ACM an │ │ │ │ │ +00018cd0: 6e75 616c 2063 6f6e 6665 7265 6e63 6520 nual conference │ │ │ │ │ +00018ce0: 2d0a 566f 6c75 6d65 2031 2c20 7061 6765 -.Volume 1, page │ │ │ │ │ +00018cf0: 2034 3433 2d34 3530 2c20 4143 4d20 5072 443-450, ACM Pr │ │ │ │ │ +00018d00: 6573 732c 2031 3937 322e 0a0a 2020 2028 ess, 1972... ( │ │ │ │ │ +00018d10: 3229 2057 6520 6861 7665 2072 756e 20e2 2) We have run . │ │ │ │ │ +00018d20: 8098 736b 6574 6368 e280 9920 6f6e 2074 ..sketch... on t │ │ │ │ │ +00018d30: 6865 2066 616d 6f75 7320 5374 616e 666f he famous Stanfo │ │ │ │ │ +00018d40: 7264 2042 756e 6e79 2c20 7768 6963 6820 rd Bunny, which │ │ │ │ │ +00018d50: 636f 6e73 6973 7473 0a6f 6620 6e65 6172 consists.of near │ │ │ │ │ +00018d60: 6c79 2037 302c 3030 3020 7472 6961 6e67 ly 70,000 triang │ │ │ │ │ +00018d70: 6c65 732e 2020 5275 6e20 7469 6d65 2077 les. Run time w │ │ │ │ │ +00018d80: 6173 2061 626f 7574 2036 2073 6563 6f6e as about 6 secon │ │ │ │ │ +00018d90: 6473 2e20 204d 6f73 7420 6f66 2074 6869 ds. Most of thi │ │ │ │ │ +00018da0: 730a 7761 7320 7370 656e 7420 7772 6974 s.was spent writ │ │ │ │ │ +00018db0: 696e 6720 7468 6520 6f75 7470 7574 2066 ing the output f │ │ │ │ │ +00018dc0: 696c 6520 7261 7468 6572 2074 6861 6e20 ile rather than │ │ │ │ │ +00018dd0: 696e 2074 6865 2068 6964 6465 6e20 7375 in the hidden su │ │ │ │ │ +00018de0: 7266 6163 650a 616c 676f 7269 7468 6d2e rface.algorithm. │ │ │ │ │ +00018df0: 2020 4c61 5465 5820 746f 6f6b 206d 7563 LaTeX took muc │ │ │ │ │ +00018e00: 6820 6c6f 6e67 6572 2074 6f20 7072 6f63 h longer to proc │ │ │ │ │ +00018e10: 6573 7320 7468 6520 7265 7375 6c74 696e ess the resultin │ │ │ │ │ +00018e20: 6720 e280 9850 5354 7269 636b 73e2 8099 g ...PSTricks... │ │ │ │ │ +00018e30: 0a63 6f64 652e 2020 5468 6520 6f62 7669 .code. The obvi │ │ │ │ │ +00018e40: 6f75 7320 636f 6e63 6c75 7369 6f6e 2069 ous conclusion i │ │ │ │ │ +00018e50: 7320 7468 6174 2074 6865 2073 7065 6564 s that the speed │ │ │ │ │ +00018e60: 206f 6620 7468 6520 6465 7074 6820 736f of the depth so │ │ │ │ │ +00018e70: 7274 0a61 6c67 6f72 6974 686d 2069 7320 rt.algorithm is │ │ │ │ │ +00018e80: 6e6f 7420 6120 776f 7272 792e 0a0a 1f0a not a worry..... │ │ │ │ │ +00018e90: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00018ea0: 6f2c 2020 4e6f 6465 3a20 5374 6174 6973 o, Node: Statis │ │ │ │ │ +00018eb0: 7469 6373 2c20 204e 6578 743a 2042 7567 tics, Next: Bug │ │ │ │ │ +00018ec0: 7320 616e 6420 616e 6f6d 616c 6965 732c s and anomalies, │ │ │ │ │ +00018ed0: 2020 5072 6576 3a20 4869 6464 656e 2073 Prev: Hidden s │ │ │ │ │ +00018ee0: 7572 6661 6365 2072 656d 6f76 616c 2c20 urface removal, │ │ │ │ │ +00018ef0: 2055 703a 2048 6964 6465 6e20 7375 7266 Up: Hidden surf │ │ │ │ │ +00018f00: 6163 6520 7265 6d6f 7661 6c0a 0a34 2e34 ace removal..4.4 │ │ │ │ │ +00018f10: 2e33 2e31 2053 7461 7469 7374 6963 730a .3.1 Statistics. │ │ │ │ │ +00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +00018f30: 2e2e 0a0a 466f 7220 7468 6520 6375 7269 ....For the curi │ │ │ │ │ +00018f40: 6f75 732c 20e2 8098 736b 6574 6368 e280 ous, ...sketch.. │ │ │ │ │ +00018f50: 9920 7772 6974 6573 206f 6e65 206c 696e . writes one lin │ │ │ │ │ +00018f60: 6520 6f66 2064 6570 7468 2073 6f72 7420 e of depth sort │ │ │ │ │ +00018f70: 7374 6174 6973 7469 6373 2e0a 4865 7265 statistics..Here │ │ │ │ │ +00018f80: 2069 7320 616e 2065 7861 6d70 6c65 2066 is an example f │ │ │ │ │ +00018f90: 6f72 2061 206c 6172 6765 2063 6f6c 6c65 or a large colle │ │ │ │ │ +00018fa0: 6374 696f 6e20 6f66 2074 7269 616e 676c ction of triangl │ │ │ │ │ +00018fb0: 6573 2e0a 2020 7265 6d61 726b 2c20 6e6f es.. remark, no │ │ │ │ │ +00018fc0: 6465 3d33 3438 3234 2070 726f 6265 3d35 de=34824 probe=5 │ │ │ │ │ +00018fd0: 3831 2e39 2073 7761 703d 3520 7370 6c69 81.9 swap=5 spli │ │ │ │ │ +00018fe0: 743d 3220 2869 6e3d 3420 6f75 743d 3629 t=2 (in=4 out=6) │ │ │ │ │ +00018ff0: 206f 6c73 3d32 3438 3531 2f30 0a49 7420 ols=24851/0.It │ │ │ │ │ +00019000: 6d65 616e 7320 7468 6174 2033 342c 3832 means that 34,82 │ │ │ │ │ +00019010: 3420 6f62 6a65 6374 7320 7765 7265 2064 4 objects were d │ │ │ │ │ +00019020: 6570 7468 2073 6f72 7465 6420 6166 7465 epth sorted afte │ │ │ │ │ +00019030: 7220 6375 6c6c 696e 672e 2020 466f 7220 r culling. For │ │ │ │ │ +00019040: 6561 6368 2c0a 616e 2061 7665 7261 6765 each,.an average │ │ │ │ │ +00019050: 206f 6620 3538 312e 3920 6f74 6865 7273 of 581.9 others │ │ │ │ │ +00019060: 2068 6164 2074 6f20 6265 2063 6865 636b had to be check │ │ │ │ │ +00019070: 6564 2074 6f20 656e 7375 7265 2074 6861 ed to ensure tha │ │ │ │ │ +00019080: 7420 7468 6520 696e 6974 6961 6c2c 0a61 t the initial,.a │ │ │ │ │ +00019090: 7070 726f 7869 6d61 7465 206f 7264 6572 pproximate order │ │ │ │ │ +000190a0: 696e 6720 7761 7320 636f 7272 6563 742e ing was correct. │ │ │ │ │ +000190b0: 2020 416d 6f6e 6720 616c 6c20 7468 6573 Among all thes │ │ │ │ │ +000190c0: 6520 6368 6563 6b73 2c20 6f6e 6c79 2035 e checks, only 5 │ │ │ │ │ +000190d0: 0a72 6573 756c 7465 6420 696e 2073 7761 .resulted in swa │ │ │ │ │ +000190e0: 7073 2074 6f20 7265 6f72 6465 7220 7468 ps to reorder th │ │ │ │ │ +000190f0: 6520 696e 6974 6961 6c20 736f 7274 2e20 e initial sort. │ │ │ │ │ +00019100: 2049 6e20 7477 6f20 6361 7365 732c 2061 In two cases, a │ │ │ │ │ +00019110: 2063 6f72 7265 6374 0a6f 7264 6572 696e correct.orderin │ │ │ │ │ +00019120: 6720 636f 756c 6420 6e6f 7420 6265 2064 g could not be d │ │ │ │ │ +00019130: 6574 6572 6d69 6e65 642c 2073 6f20 6269 etermined, so bi │ │ │ │ │ +00019140: 6e61 7279 2073 7061 6365 2070 6172 7469 nary space parti │ │ │ │ │ +00019150: 7469 6f6e 7320 7765 7265 0a63 6f6e 7374 tions were.const │ │ │ │ │ +00019160: 7275 6374 6564 2066 6f72 2073 706c 6974 ructed for split │ │ │ │ │ +00019170: 7469 6e67 2e20 2041 2074 6f74 616c 206f ting. A total o │ │ │ │ │ +00019180: 6620 3420 6f62 6a65 6374 7320 2874 7269 f 4 objects (tri │ │ │ │ │ +00019190: 616e 676c 6573 2069 6e20 7468 6973 0a63 angles in this.c │ │ │ │ │ +000191a0: 6173 6529 2077 6572 6520 696e 7365 7274 ase) were insert │ │ │ │ │ +000191b0: 6564 2069 6e20 7468 6520 7061 7274 6974 ed in the partit │ │ │ │ │ +000191c0: 696f 6e73 2c20 616e 6420 3620 706f 6c79 ions, and 6 poly │ │ │ │ │ +000191d0: 676f 6e73 2077 6572 6520 7072 6f64 7563 gons were produc │ │ │ │ │ +000191e0: 6564 2e0a 4669 6e61 6c6c 792c 2032 342c ed..Finally, 24, │ │ │ │ │ +000191f0: 3835 3120 226c 6173 7420 7265 736f 7274 851 "last resort │ │ │ │ │ +00019200: 2220 706f 6c79 676f 6e20 6f76 6572 6c61 " polygon overla │ │ │ │ │ +00019210: 7020 6368 6563 6b73 2077 6572 6520 7065 p checks were pe │ │ │ │ │ +00019220: 7266 6f72 6d65 640a 6166 7465 7220 7369 rformed.after si │ │ │ │ │ +00019230: 6d70 6c65 722c 2066 6173 7465 7220 6368 mpler, faster ch │ │ │ │ │ +00019240: 6563 6b73 2066 6169 6c65 6420 746f 2079 ecks failed to y │ │ │ │ │ +00019250: 6965 6c64 2063 6f6e 636c 7573 6976 6520 ield conclusive │ │ │ │ │ +00019260: 7265 7375 6c74 732e 2020 5468 650a 6669 results. The.fi │ │ │ │ │ +00019270: 6e61 6c20 2f30 2069 7320 666f 7220 6c69 nal /0 is for li │ │ │ │ │ +00019280: 6e65 2d70 6f6c 7967 6f6e 206f 7665 726c ne-polygon overl │ │ │ │ │ +00019290: 6170 2063 6865 636b 732e 2020 466f 7220 ap checks. For │ │ │ │ │ +000192a0: 636f 6d70 6172 6973 6f6e 2c20 7468 650a comparison, the. │ │ │ │ │ +000192b0: 7374 6174 6973 7469 6373 2066 6f72 2074 statistics for t │ │ │ │ │ +000192c0: 6865 206c 6173 7420 6669 6775 7265 2069 he last figure i │ │ │ │ │ +000192d0: 6e20 2a6e 6f74 6520 4f76 6572 7669 6577 n *note Overview │ │ │ │ │ +000192e0: 3a3a 2066 6f6c 6c6f 772e 0a20 2072 656d :: follow.. rem │ │ │ │ │ +000192f0: 6172 6b2c 206e 6f64 653d 3237 2070 726f ark, node=27 pro │ │ │ │ │ +00019300: 6265 3d31 342e 3620 7377 6170 3d33 3620 be=14.6 swap=36 │ │ │ │ │ +00019310: 7370 6c69 743d 3135 2028 696e 3d33 3020 split=15 (in=30 │ │ │ │ │ +00019320: 6f75 743d 3435 2920 6f6c 733d 302f 3639 out=45) ols=0/69 │ │ │ │ │ +00019330: 0a4e 6f74 6520 7468 6174 2074 6865 7265 .Note that there │ │ │ │ │ +00019340: 2077 6173 2070 726f 706f 7274 696f 6e61 was proportiona │ │ │ │ │ +00019350: 6c6c 7920 6d75 6368 206d 6f72 6520 7377 lly much more sw │ │ │ │ │ +00019360: 6170 7069 6e67 2061 6e64 2073 706c 6974 apping and split │ │ │ │ │ +00019370: 7469 6e67 0a61 6374 6976 6974 7920 696e ting.activity in │ │ │ │ │ +00019380: 2074 6869 7320 6869 6768 6c79 2063 6f6e this highly con │ │ │ │ │ +00019390: 6e65 6374 6564 2073 6365 6e65 2e0a 0a1f nected scene.... │ │ │ │ │ +000193a0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +000193b0: 666f 2c20 204e 6f64 653a 2042 7567 7320 fo, Node: Bugs │ │ │ │ │ +000193c0: 616e 6420 616e 6f6d 616c 6965 732c 2020 and anomalies, │ │ │ │ │ +000193d0: 5072 6576 3a20 5374 6174 6973 7469 6373 Prev: Statistics │ │ │ │ │ +000193e0: 2c20 2055 703a 2048 6964 6465 6e20 7375 , Up: Hidden su │ │ │ │ │ +000193f0: 7266 6163 6520 7265 6d6f 7661 6c0a 0a34 rface removal..4 │ │ │ │ │ +00019400: 2e34 2e33 2e32 2042 7567 7320 616e 6420 .4.3.2 Bugs and │ │ │ │ │ +00019410: 616e 6f6d 616c 6965 730a 2e2e 2e2e 2e2e anomalies....... │ │ │ │ │ 00019420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00019430: 0a0a 506f 6c79 676f 6e20 616e 6420 6c69 ..Polygon and li │ │ │ │ │ -00019440: 6e65 2073 706c 6974 7469 6e67 2063 616e ne splitting can │ │ │ │ │ -00019450: 2062 6f74 6820 6361 7573 6520 616e 6f6d both cause anom │ │ │ │ │ -00019460: 616c 6965 7320 696e 2074 6865 206f 7574 alies in the out │ │ │ │ │ -00019470: 7075 742e 0ae2 8098 5053 5472 6963 6b73 put.....PSTricks │ │ │ │ │ -00019480: e280 9920 6461 7368 2070 6174 7465 726e ... dash pattern │ │ │ │ │ -00019490: 732c 2073 7065 6369 6669 6564 2077 6974 s, specified wit │ │ │ │ │ -000194a0: 6820 e280 986c 696e 6573 7479 6c65 3d64 h ...linestyle=d │ │ │ │ │ -000194b0: 6173 6865 64e2 8099 2c20 6361 6e20 6265 ashed..., can be │ │ │ │ │ -000194c0: 0a64 6973 7275 7074 6564 2062 7920 7370 .disrupted by sp │ │ │ │ │ -000194d0: 6c69 7474 696e 672e 2020 5468 6973 206f litting. This o │ │ │ │ │ -000194e0: 6363 7572 7320 7768 656e 2074 6865 2064 ccurs when the d │ │ │ │ │ -000194f0: 6570 7468 2073 6f72 7420 6769 7665 7320 epth sort gives │ │ │ │ │ -00019500: 7570 2074 6f6f 0a65 6172 6c79 2061 6e64 up too.early and │ │ │ │ │ -00019510: 2073 706c 6974 7320 6120 6c69 6e65 2077 splits a line w │ │ │ │ │ -00019520: 6865 7265 2069 7420 6973 206e 6f74 2072 here it is not r │ │ │ │ │ -00019530: 6561 6c6c 7920 6e65 6365 7373 6172 792e eally necessary. │ │ │ │ │ -00019540: 2020 4120 776f 726b 6172 6f75 6e64 0a69 A workaround.i │ │ │ │ │ -00019550: 7320 746f 2075 7365 2067 7261 7920 6f72 s to use gray or │ │ │ │ │ -00019560: 2066 696e 656c 7920 646f 7474 6564 206c finely dotted l │ │ │ │ │ -00019570: 696e 6573 2069 6e73 7465 6164 2e20 2049 ines instead. I │ │ │ │ │ -00019580: 6620 796f 7572 2064 7261 7769 6e67 2069 f your drawing i │ │ │ │ │ -00019590: 730a 736d 616c 6c2c 2079 6f75 2063 616e s.small, you can │ │ │ │ │ -000195a0: 2061 6c73 6f20 6564 6974 2074 6865 20e2 also edit the . │ │ │ │ │ -000195b0: 8098 736b 6574 6368 e280 9920 6f75 7470 ..sketch... outp │ │ │ │ │ -000195c0: 7574 2062 7920 6861 6e64 2074 6f20 6d65 ut by hand to me │ │ │ │ │ -000195d0: 7267 6520 7468 6520 7069 6563 6573 0a6f rge the pieces.o │ │ │ │ │ -000195e0: 6620 7468 6520 6f66 6665 6e64 696e 6720 f the offending │ │ │ │ │ -000195f0: 6c69 6e65 2e0a 0a20 2020 416e 6f74 6865 line... Anothe │ │ │ │ │ -00019600: 7220 616e 6f6d 616c 7920 6973 2074 696e r anomaly is tin │ │ │ │ │ -00019610: 7920 286f 7220 696e 2064 6567 656e 6572 y (or in degener │ │ │ │ │ -00019620: 6174 6520 6361 7365 7320 6e6f 742d 736f ate cases not-so │ │ │ │ │ -00019630: 2d74 696e 7929 206e 6f74 6368 6573 0a69 -tiny) notches.i │ │ │ │ │ -00019640: 6e20 7468 6520 6c69 6e65 7320 7468 6174 n the lines that │ │ │ │ │ -00019650: 2062 6f72 6465 7220 7370 6c69 7420 706f border split po │ │ │ │ │ -00019660: 6c79 676f 6e73 2e20 2054 6865 7365 2064 lygons. These d │ │ │ │ │ -00019670: 6572 6976 6520 6672 6f6d 2074 6865 2077 erive from the w │ │ │ │ │ -00019680: 6179 2065 6163 680a 706f 6c79 676f 6e20 ay each.polygon │ │ │ │ │ -00019690: 6973 2070 6169 6e74 6564 3a20 6669 7273 is painted: firs │ │ │ │ │ -000196a0: 742c 2061 6c6c 2070 6978 656c 7320 7769 t, all pixels wi │ │ │ │ │ -000196b0: 7468 696e 2074 6865 2062 6f75 6e64 6172 thin the boundar │ │ │ │ │ -000196c0: 7920 6172 6520 e280 9c66 696c 6c65 64e2 y are ...filled. │ │ │ │ │ -000196d0: 809d 0a77 6974 6820 636f 6c6f 7220 2870 ...with color (p │ │ │ │ │ -000196e0: 6572 6861 7073 2077 6869 7465 292c 2074 erhaps white), t │ │ │ │ │ -000196f0: 6865 6e20 7468 6520 7361 6d65 2062 6f75 hen the same bou │ │ │ │ │ -00019700: 6e64 6172 7920 6973 20e2 809c 7374 726f ndary is ...stro │ │ │ │ │ -00019710: 6b65 64e2 809d 2028 610a 506f 7374 7363 ked... (a.Postsc │ │ │ │ │ -00019720: 7269 7074 2074 6572 6d29 2077 6974 6820 ript term) with │ │ │ │ │ -00019730: 6120 6c69 6e65 2e20 2054 6865 2072 6573 a line. The res │ │ │ │ │ -00019740: 756c 7420 6973 2074 6861 7420 6861 6c66 ult is that half │ │ │ │ │ -00019750: 2074 6865 206c 696e 6520 6c69 6573 0a69 the line lies.i │ │ │ │ │ -00019760: 6e73 6964 6520 7468 6520 626f 756e 6461 nside the bounda │ │ │ │ │ -00019770: 7279 2061 6e64 2068 616c 6620 6f75 7473 ry and half outs │ │ │ │ │ -00019780: 6964 652c 2077 6869 6c65 2074 6865 2050 ide, while the P │ │ │ │ │ -00019790: 6169 6e74 6572 2773 2061 6c67 6f72 6974 ainter's algorit │ │ │ │ │ -000197a0: 686d 0a61 7373 756d 6573 2074 6865 2070 hm.assumes the p │ │ │ │ │ -000197b0: 6f6c 7967 6f6e 206c 6965 7320 656e 7469 olygon lies enti │ │ │ │ │ -000197c0: 7265 6c79 2077 6974 6869 6e20 6974 7320 rely within its │ │ │ │ │ -000197d0: 626f 756e 6461 7279 2e20 2054 6865 206e boundary. The n │ │ │ │ │ -000197e0: 6f74 6368 6573 2061 7265 0a64 7565 2074 otches are.due t │ │ │ │ │ -000197f0: 6f20 6f6e 6520 706f 6c79 676f 6e20 6669 o one polygon fi │ │ │ │ │ -00019800: 6c6c 206f 7065 7261 7469 6f6e 206f 7665 ll operation ove │ │ │ │ │ -00019810: 7277 7269 7469 6e67 2074 6865 2061 6c72 rwriting the alr │ │ │ │ │ -00019820: 6561 6479 2d64 7261 776e 2069 6e73 6964 eady-drawn insid │ │ │ │ │ -00019830: 650a 6f66 2074 6865 2062 6f72 6465 7220 e.of the border │ │ │ │ │ -00019840: 6f66 2061 6e6f 7468 6572 2070 6f6c 7967 of another polyg │ │ │ │ │ -00019850: 6f6e 2e28 3129 2020 4f6e 6520 776f 726b on.(1) One work │ │ │ │ │ -00019860: 6172 6f75 6e64 2069 7320 746f 206d 616b around is to mak │ │ │ │ │ -00019870: 6520 626f 7264 6572 0a6c 696e 6573 2076 e border.lines v │ │ │ │ │ -00019880: 6572 7920 7468 696e 2e20 2049 6e20 6661 ery thin. In fa │ │ │ │ │ -00019890: 6374 20e2 8098 6c69 6e65 7769 6474 683d ct ...linewidth= │ │ │ │ │ -000198a0: 3070 74e2 8099 2069 7320 6775 6172 616e 0pt... is guaran │ │ │ │ │ -000198b0: 7465 6564 2074 6f20 656c 696d 696e 6174 teed to eliminat │ │ │ │ │ -000198c0: 650a 7468 6973 2070 726f 626c 656d 2c20 e.this problem, │ │ │ │ │ -000198d0: 7468 6f75 6768 2074 6869 7320 7265 7375 though this resu │ │ │ │ │ -000198e0: 6c74 7320 696e 2074 6865 2074 6869 6e6e lts in the thinn │ │ │ │ │ -000198f0: 6573 7420 6c69 6e65 2079 6f75 7220 6f75 est line your ou │ │ │ │ │ -00019900: 7470 7574 0a64 6576 6963 6520 6361 6e20 tput.device can │ │ │ │ │ -00019910: 6472 6177 2c20 7768 6963 6820 6973 2075 draw, which is u │ │ │ │ │ -00019920: 7375 616c 6c79 2074 6f6f 2074 6869 6e2e sually too thin. │ │ │ │ │ -00019930: 2020 596f 7520 6d69 6768 7420 6765 7420 You might get │ │ │ │ │ -00019940: 6c75 636b 7920 6279 0a6d 6572 656c 7920 lucky by.merely │ │ │ │ │ -00019950: 7265 6f72 6465 7269 6e67 2074 6869 6e67 reordering thing │ │ │ │ │ -00019960: 7320 696e 2074 6865 2069 6e70 7574 2066 s in the input f │ │ │ │ │ -00019970: 696c 652c 2077 6869 6368 2069 7320 6c69 ile, which is li │ │ │ │ │ -00019980: 6b65 6c79 2074 6f20 6d6f 7665 2074 6865 kely to move the │ │ │ │ │ -00019990: 0a73 706c 6974 7320 746f 2064 6966 6665 .splits to diffe │ │ │ │ │ -000199a0: 7265 6e74 2070 6c61 6365 732e 2020 5468 rent places. Th │ │ │ │ │ -000199b0: 6520 6f6e 6c79 2073 7572 652d 6669 7265 e only sure-fire │ │ │ │ │ -000199c0: 2073 6f6c 7574 696f 6e20 6973 2070 7265 solution is pre │ │ │ │ │ -000199d0: 7474 790a 7465 7272 6962 6c65 3a20 6375 tty.terrible: cu │ │ │ │ │ -000199e0: 7374 6f6d 2066 6974 20e2 8098 7370 6563 stom fit ...spec │ │ │ │ │ -000199f0: 6961 6ce2 8099 206f 7665 726c 6179 206c ial... overlay l │ │ │ │ │ -00019a00: 696e 6573 2028 7769 7468 20e2 8098 5c70 ines (with ...\p │ │ │ │ │ -00019a10: 736c 696e 65e2 8099 2920 746f 2063 6f76 sline...) to cov │ │ │ │ │ -00019a20: 6572 0a74 6865 206e 6f74 6368 6573 2e0a er.the notches.. │ │ │ │ │ -00019a30: 0a20 2020 506f 6c79 676f 6e20 7370 6c69 . Polygon spli │ │ │ │ │ -00019a40: 7474 696e 6720 616c 736f 2062 7265 616b tting also break │ │ │ │ │ -00019a50: 7320 e280 9850 5354 7269 636b 73e2 8099 s ...PSTricks... │ │ │ │ │ -00019a60: 2068 6174 6368 2070 6174 7465 726e 732e hatch patterns. │ │ │ │ │ -00019a70: 2020 5468 6520 6f6e 6c79 0a6b 6e6f 776e The only.known │ │ │ │ │ -00019a80: 2077 6f72 6b61 726f 756e 6420 6973 2074 workaround is t │ │ │ │ │ -00019a90: 6f20 7375 6273 7469 7475 7465 2061 2073 o substitute a s │ │ │ │ │ -00019aa0: 6f6c 6964 2066 696c 6c20 666f 7220 7468 olid fill for th │ │ │ │ │ -00019ab0: 6520 6861 7463 682e 0a0a 2020 202d 2d2d e hatch... --- │ │ │ │ │ -00019ac0: 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 ------- Footnote │ │ │ │ │ -00019ad0: 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 s ----------.. │ │ │ │ │ -00019ae0: 2028 3129 2049 206b 6e6f 7720 686f 7720 (1) I know how │ │ │ │ │ -00019af0: 746f 2066 6978 2074 6869 7320 7072 6f62 to fix this prob │ │ │ │ │ -00019b00: 6c65 6d2c 2062 7574 2049 2064 6f6e 2774 lem, but I don't │ │ │ │ │ -00019b10: 206c 696b 6520 6d79 2073 6f6c 7574 696f like my solutio │ │ │ │ │ -00019b20: 6e2c 2061 6e64 0a49 276d 2069 6e74 6572 n, and.I'm inter │ │ │ │ │ -00019b30: 6573 7465 6420 696e 2079 6f75 7273 2e0a ested in yours.. │ │ │ │ │ -00019b40: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -00019b50: 696e 666f 2c20 204e 6f64 653a 2043 6f6d info, Node: Com │ │ │ │ │ -00019b60: 6d61 6e64 206c 696e 652c 2020 4e65 7874 mand line, Next │ │ │ │ │ -00019b70: 3a20 496e 7374 616c 6c69 6e67 2073 6b65 : Installing ske │ │ │ │ │ -00019b80: 7463 682c 2020 5072 6576 3a20 4275 696c tch, Prev: Buil │ │ │ │ │ -00019b90: 6469 6e67 2061 2064 7261 7769 6e67 2c20 ding a drawing, │ │ │ │ │ -00019ba0: 2055 703a 2054 6f70 0a0a 3520 436f 6d6d Up: Top..5 Comm │ │ │ │ │ -00019bb0: 616e 6420 6c69 6e65 0a2a 2a2a 2a2a 2a2a and line.******* │ │ │ │ │ -00019bc0: 2a2a 2a2a 2a2a 2a0a 0a2a 5379 6e6f 7073 *******..*Synops │ │ │ │ │ -00019bd0: 6973 3a2a 0a20 2020 2020 736b 6574 6368 is:*. sketch │ │ │ │ │ -00019be0: 205b 2d68 5d5b 2d56 2078 2e79 5d5b 2d76 [-h][-V x.y][-v │ │ │ │ │ -00019bf0: 5d5b 2d62 5d5b 2d64 5d5b 7420 646f 6374 ][-b][-d][t doct │ │ │ │ │ -00019c00: 6d70 5d5b 2d54 5b75 7c65 5d5b 705b 507c mp][-T[u|e][p[P| │ │ │ │ │ -00019c10: 545d 5b4c 7c43 5d5d 5d5b 2d6f 206f 7574 T][L|C]]][-o out │ │ │ │ │ -00019c20: 7075 742e 7465 785d 0a20 2020 2020 2020 put.tex]. │ │ │ │ │ -00019c30: 5b2d 4420 5441 4720 2e2e 2e5d 2069 6e70 [-D TAG ...] inp │ │ │ │ │ -00019c40: 7574 312e 736b 205b 2d55 2054 4147 202e ut1.sk [-U TAG . │ │ │ │ │ -00019c50: 2e2e 5d20 696e 7075 7432 2e73 6b20 2e2e ..] input2.sk .. │ │ │ │ │ -00019c60: 2e0a 0a2a 4465 7363 7269 7074 696f 6e2a ...*Description* │ │ │ │ │ -00019c70: 2050 726f 6365 7373 6573 2074 6865 20e2 Processes the . │ │ │ │ │ -00019c80: 8098 736b 6574 6368 e280 9920 696e 7075 ..sketch... inpu │ │ │ │ │ -00019c90: 7420 6669 6c65 7320 696e 206f 7264 6572 t files in order │ │ │ │ │ -00019ca0: 2074 6f20 7072 6f64 7563 650a e280 9850 to produce....P │ │ │ │ │ -00019cb0: 5354 7269 636b 73e2 8099 206f 7574 7075 STricks... outpu │ │ │ │ │ -00019cc0: 7420 636f 6465 2073 7569 7461 626c 6520 t code suitable │ │ │ │ │ -00019cd0: 666f 7220 696e 636c 7573 696f 6e20 696e for inclusion in │ │ │ │ │ -00019ce0: 2061 2054 6558 206f 7220 4c61 5465 580a a TeX or LaTeX. │ │ │ │ │ -00019cf0: 646f 6375 6d65 6e74 2e0a 0a2a 4f70 7469 document...*Opti │ │ │ │ │ -00019d00: 6f6e 733a 2a0a e280 982d 68e2 8099 0a20 ons:*....-h.... │ │ │ │ │ -00019d10: 2020 2020 5072 696e 7420 6120 7368 6f72 Print a shor │ │ │ │ │ -00019d20: 7420 6361 7461 6c6f 6720 6f66 206f 7074 t catalog of opt │ │ │ │ │ -00019d30: 696f 6e73 2e0a e280 982d 56e2 8099 0a20 ions.....-V.... │ │ │ │ │ -00019d40: 2020 2020 5365 7420 7468 6520 e280 9850 Set the ...P │ │ │ │ │ -00019d50: 5354 7269 636b 73e2 8099 2076 6572 7369 STricks... versi │ │ │ │ │ -00019d60: 6f6e 2061 7373 756d 6564 2066 6f72 206f on assumed for o │ │ │ │ │ -00019d70: 7574 7075 7420 7075 7270 6f73 6573 2074 utput purposes t │ │ │ │ │ -00019d80: 6f20 e280 9878 2e79 e280 992c 0a20 2020 o ...x.y...,. │ │ │ │ │ -00019d90: 2020 666f 7220 6578 616d 706c 6520 312e for example 1. │ │ │ │ │ -00019da0: 3139 2e20 2055 7375 616c 6c79 206e 6565 19. Usually nee │ │ │ │ │ -00019db0: 6465 6420 6f6e 6c79 2069 6620 796f 7572 ded only if your │ │ │ │ │ -00019dc0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ -00019dd0: 6973 206f 6c64 0a20 2020 2020 636f 6d70 is old. comp │ │ │ │ │ -00019de0: 6172 6564 2074 6f20 796f 7572 20e2 8098 ared to your ... │ │ │ │ │ -00019df0: 736b 6574 6368 e280 992e 2020 5573 6520 sketch.... Use │ │ │ │ │ -00019e00: e280 982d 76e2 8099 2074 6f20 7365 6520 ...-v... to see │ │ │ │ │ -00019e10: 7768 6174 20e2 8098 736b 6574 6368 e280 what ...sketch.. │ │ │ │ │ -00019e20: 9920 6173 7375 6d65 730a 2020 2020 2062 . assumes. b │ │ │ │ │ -00019e30: 7920 6465 6661 756c 742e 0ae2 8098 2d76 y default.....-v │ │ │ │ │ -00019e40: e280 990a 2020 2020 2050 7269 6e74 2076 .... Print v │ │ │ │ │ -00019e50: 6572 7369 6f6e 2069 6e66 6f72 6d61 7469 ersion informati │ │ │ │ │ -00019e60: 6f6e 2074 6f20 7374 616e 6461 7264 206f on to standard o │ │ │ │ │ -00019e70: 7574 7075 742c 2069 6e63 6c75 6469 6e67 utput, including │ │ │ │ │ -00019e80: 2074 6865 2076 6572 7369 6f6e 0a20 2020 the version. │ │ │ │ │ -00019e90: 2020 6f66 20e2 8098 5053 5472 6963 6b73 of ...PSTricks │ │ │ │ │ -00019ea0: e280 9920 6173 7375 6d65 6420 666f 7220 ... assumed for │ │ │ │ │ -00019eb0: 6f75 7470 7574 2028 6361 6e20 6265 2063 output (can be c │ │ │ │ │ -00019ec0: 6861 6e67 6564 2077 6974 6820 e280 982d hanged with ...- │ │ │ │ │ -00019ed0: 56e2 8099 2061 626f 7665 292e 0ae2 8098 V... above)..... │ │ │ │ │ -00019ee0: 2d62 e280 990a 2020 2020 2055 7365 2061 -b.... Use a │ │ │ │ │ -00019ef0: 2042 5350 2028 2a4e 6f74 6520 4869 6464 BSP (*Note Hidd │ │ │ │ │ -00019f00: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov │ │ │ │ │ -00019f10: 616c 3a3a 2e29 2020 666f 7220 5f61 6c6c al::.) for _all │ │ │ │ │ -00019f20: 5f20 6869 6464 656e 0a20 2020 2020 7375 _ hidden. su │ │ │ │ │ -00019f30: 7266 6163 6520 7265 6d6f 7661 6c20 7261 rface removal ra │ │ │ │ │ -00019f40: 7468 6572 2074 6861 6e20 7468 6520 6465 ther than the de │ │ │ │ │ -00019f50: 6661 756c 742c 2077 6869 6368 2069 7320 fault, which is │ │ │ │ │ -00019f60: 7468 6520 6465 7074 6820 736f 7274 0a20 the depth sort. │ │ │ │ │ -00019f70: 2020 2020 616c 676f 7269 7468 6d20 7769 algorithm wi │ │ │ │ │ -00019f80: 7468 2042 5350 7320 7573 6564 206f 6e6c th BSPs used onl │ │ │ │ │ -00019f90: 7920 666f 7220 6379 636c 6520 7265 736f y for cycle reso │ │ │ │ │ -00019fa0: 6c75 7469 6f6e 2e20 2054 6869 7320 6d61 lution. This ma │ │ │ │ │ -00019fb0: 790a 2020 2020 2070 726f 6475 6365 2063 y. produce c │ │ │ │ │ -00019fc0: 6f72 7265 6374 206f 7574 7075 7420 696e orrect output in │ │ │ │ │ -00019fd0: 2063 6572 7461 696e 2064 6567 656e 6572 certain degener │ │ │ │ │ -00019fe0: 6174 6520 6361 7365 7320 7768 6572 6520 ate cases where │ │ │ │ │ -00019ff0: 7468 6520 6465 7074 680a 2020 2020 2073 the depth. s │ │ │ │ │ -0001a000: 6f72 7420 6361 6e6e 6f74 2c20 6275 7420 ort cannot, but │ │ │ │ │ -0001a010: 6974 2061 6c73 6f20 6c65 6164 7320 746f it also leads to │ │ │ │ │ -0001a020: 206d 616e 7920 6772 6174 7569 746f 7573 many gratuitous │ │ │ │ │ -0001a030: 2073 706c 6974 732c 2068 656e 6365 0a20 splits, hence. │ │ │ │ │ -0001a040: 2020 2020 6d6f 7265 2061 6e6f 6d61 6c69 more anomali │ │ │ │ │ -0001a050: 6573 202a 6e6f 7465 2042 7567 7320 616e es *note Bugs an │ │ │ │ │ -0001a060: 6420 616e 6f6d 616c 6965 733a 3a20 616e d anomalies:: an │ │ │ │ │ -0001a070: 6420 6269 6720 6f75 7470 7574 2066 696c d big output fil │ │ │ │ │ -0001a080: 6573 2e0a e280 982d 64e2 8099 0a20 2020 es.....-d.... │ │ │ │ │ -0001a090: 2020 5275 6e20 e280 9873 6b65 7463 68e2 Run ...sketch. │ │ │ │ │ -0001a0a0: 8099 2773 2070 6172 7365 7220 696e 2064 ..'s parser in d │ │ │ │ │ -0001a0b0: 6562 7567 6769 6e67 206d 6f64 652e 2020 ebugging mode. │ │ │ │ │ -0001a0c0: 5468 6973 2069 7320 7072 696d 6172 696c This is primaril │ │ │ │ │ -0001a0d0: 7920 666f 720a 2020 2020 2064 6576 656c y for. devel │ │ │ │ │ -0001a0e0: 6f70 6d65 6e74 2e0a e280 982d 74e2 8099 opment.....-t... │ │ │ │ │ -0001a0f0: 0a20 2020 2020 5573 6520 636f 6e74 656e . Use conten │ │ │ │ │ -0001a100: 7473 206f 6620 6669 6c65 20e2 8098 646f ts of file ...do │ │ │ │ │ -0001a110: 6374 6d70 e280 9920 6173 2061 2064 6f63 ctmp... as a doc │ │ │ │ │ -0001a120: 756d 656e 7420 7465 6d70 6c61 7465 2069 ument template i │ │ │ │ │ -0001a130: 6e20 7768 6963 6820 746f 0a20 2020 2020 n which to. │ │ │ │ │ -0001a140: 656e 636c 6f73 6520 e280 9850 5354 7269 enclose ...PSTri │ │ │ │ │ -0001a150: 636b 73e2 8099 206f 7574 7075 7420 636f cks... output co │ │ │ │ │ -0001a160: 6465 2e20 2054 6865 2063 6f64 6520 6973 de. The code is │ │ │ │ │ -0001a170: 2069 6e73 6572 7465 6420 696e 2070 6c61 inserted in pla │ │ │ │ │ -0001a180: 6365 206f 660a 2020 2020 2074 6865 2066 ce of. the f │ │ │ │ │ -0001a190: 6972 7374 2069 6e73 7461 6e63 6520 6f66 irst instance of │ │ │ │ │ -0001a1a0: 2074 6865 2065 7363 6170 6520 7374 7269 the escape stri │ │ │ │ │ -0001a1b0: 6e67 2025 2553 4b45 5443 485f 4f55 5450 ng %%SKETCH_OUTP │ │ │ │ │ -0001a1c0: 5554 2525 2e0a e280 982d 54e2 8099 0a20 UT%%.....-T.... │ │ │ │ │ -0001a1d0: 2020 2020 4361 7573 6573 20e2 8098 5053 Causes ...PS │ │ │ │ │ -0001a1e0: 5472 6963 6b73 e280 9920 6f75 7470 7574 Tricks... output │ │ │ │ │ -0001a1f0: 2074 6f20 6265 2065 6e63 6c6f 7365 6420 to be enclosed │ │ │ │ │ -0001a200: 696e 2064 6566 6175 6c74 2055 5320 646f in default US do │ │ │ │ │ -0001a210: 6375 6d65 6e74 0a20 2020 2020 7465 6d70 cument. temp │ │ │ │ │ -0001a220: 6c61 7465 2074 6578 742e 2020 4f70 7469 late text. Opti │ │ │ │ │ -0001a230: 6f6e 20e2 8098 2d54 75e2 8099 2069 7320 on ...-Tu... is │ │ │ │ │ -0001a240: 6120 7379 6e6f 6e79 6d2e 2020 4f70 7469 a synonym. Opti │ │ │ │ │ -0001a250: 6f6e 20e2 8098 2d54 65e2 8099 2063 6175 on ...-Te... cau │ │ │ │ │ -0001a260: 7365 7320 7468 650a 2020 2020 2045 7572 ses the. Eur │ │ │ │ │ -0001a270: 6f20 7374 616e 6461 7264 2064 6f63 756d o standard docum │ │ │ │ │ -0001a280: 656e 7420 7465 6d70 6c61 7465 2074 6f20 ent template to │ │ │ │ │ -0001a290: 6265 2075 7365 642e 2020 4120 e280 9870 be used. A ...p │ │ │ │ │ -0001a2a0: e280 9920 6170 7065 6e64 6564 2074 6f20 ... appended to │ │ │ │ │ -0001a2b0: 616e 790a 2020 2020 206f 6620 7468 6573 any. of thes │ │ │ │ │ -0001a2c0: 6520 6f70 7469 6f6e 7320 6361 7573 6573 e options causes │ │ │ │ │ -0001a2d0: 2074 6865 2072 6573 7065 6374 6976 6520 the respective │ │ │ │ │ -0001a2e0: 6465 6661 756c 7420 e280 9850 5354 7269 default ...PSTri │ │ │ │ │ -0001a2f0: 636b 73e2 8099 2064 6f63 756d 656e 740a cks... document. │ │ │ │ │ -0001a300: 2020 2020 2074 656d 706c 6174 6520 746f template to │ │ │ │ │ -0001a310: 2062 6520 7072 696e 7465 6420 746f 2073 be printed to s │ │ │ │ │ -0001a320: 7461 6e64 6172 6420 6f75 7470 7574 2e20 tandard output. │ │ │ │ │ -0001a330: 2041 6e20 6170 7065 6e64 6564 20e2 8098 An appended ... │ │ │ │ │ -0001a340: 50e2 8099 2069 7320 610a 2020 2020 2073 P... is a. s │ │ │ │ │ -0001a350: 796e 6f6e 796d 2e20 2041 6e20 6170 7065 ynonym. An appe │ │ │ │ │ -0001a360: 6e64 6564 20e2 8098 54e2 8099 2063 6175 nded ...T... cau │ │ │ │ │ -0001a370: 7365 7320 7468 6520 7468 6520 e280 9854 ses the the ...T │ │ │ │ │ -0001a380: 696b 5a2f 5047 46e2 8099 2074 656d 706c ikZ/PGF... templ │ │ │ │ │ -0001a390: 6174 6520 746f 2062 650a 2020 2020 2070 ate to be. p │ │ │ │ │ -0001a3a0: 7269 6e74 6564 2e20 2041 6e20 6170 7065 rinted. An appe │ │ │ │ │ -0001a3b0: 6e64 6564 20e2 8098 4ce2 8099 2070 7269 nded ...L... pri │ │ │ │ │ -0001a3c0: 6e74 7320 7468 6520 4c61 5465 5820 7665 nts the LaTeX ve │ │ │ │ │ -0001a3d0: 7273 696f 6e20 6f66 2074 6865 2064 6f63 rsion of the doc │ │ │ │ │ -0001a3e0: 756d 656e 740a 2020 2020 2074 656d 706c ument. templ │ │ │ │ │ -0001a3f0: 6174 652c 2061 2073 796e 6f6e 796d 2066 ate, a synonym f │ │ │ │ │ -0001a400: 6f72 2074 6865 2064 6566 6175 6c74 2e20 or the default. │ │ │ │ │ -0001a410: 2041 20e2 8098 43e2 8099 2070 7269 6e74 A ...C... print │ │ │ │ │ -0001a420: 7320 7468 6520 e280 9843 6f6e 5465 5874 s the ...ConTeXt │ │ │ │ │ -0001a430: e280 990a 2020 2020 2074 656d 706c 6174 .... templat │ │ │ │ │ -0001a440: 652e 0ae2 8098 2d6f e280 990a 2020 2020 e.....-o.... │ │ │ │ │ -0001a450: 2055 7365 20e2 8098 6f75 7470 7574 2e74 Use ...output.t │ │ │ │ │ -0001a460: 6578 e280 9920 6173 2074 6865 206f 7574 ex... as the out │ │ │ │ │ -0001a470: 7075 7420 6669 6c65 2e20 2054 6865 2064 put file. The d │ │ │ │ │ -0001a480: 6566 6175 6c74 2069 7320 7374 616e 6461 efault is standa │ │ │ │ │ -0001a490: 7264 0a20 2020 2020 6f75 7470 7574 2e0a rd. output.. │ │ │ │ │ -0001a4a0: e280 982d 44e2 8099 0a20 2020 2020 4465 ...-D.... De │ │ │ │ │ -0001a4b0: 6669 6e65 2061 2074 6167 2066 6f72 2070 fine a tag for p │ │ │ │ │ -0001a4c0: 7572 706f 7365 7320 6f66 2073 656c 6563 urposes of selec │ │ │ │ │ -0001a4d0: 7469 6e67 2064 6566 696e 6974 696f 6e20 ting definition │ │ │ │ │ -0001a4e0: 616c 7465 726e 6174 6976 6573 2e0a 2020 alternatives.. │ │ │ │ │ -0001a4f0: 2020 202a 4e6f 7465 2044 6566 696e 6974 *Note Definit │ │ │ │ │ -0001a500: 696f 6e73 3a3a 2e20 2054 6865 2064 6566 ions::. The def │ │ │ │ │ -0001a510: 696e 6974 696f 6e20 6170 706c 6965 7320 inition applies │ │ │ │ │ -0001a520: 666f 7220 616c 6c20 696e 7075 7420 6669 for all input fi │ │ │ │ │ -0001a530: 6c65 730a 2020 2020 2074 6861 7420 666f les. that fo │ │ │ │ │ -0001a540: 6c6c 6f77 2075 6e6c 6573 7320 7468 6520 llow unless the │ │ │ │ │ -0001a550: 7461 6720 6973 2075 6e64 6566 696e 6564 tag is undefined │ │ │ │ │ -0001a560: 2077 6974 6820 e280 982d 55e2 8099 2e0a with ...-U..... │ │ │ │ │ -0001a570: e280 9869 6e70 7574 692e 736b e280 990a ...inputi.sk.... │ │ │ │ │ -0001a580: 2020 2020 2049 6e70 7574 2066 696c 6573 Input files │ │ │ │ │ -0001a590: 2c20 7265 6164 2069 6e20 7468 6520 7365 , read in the se │ │ │ │ │ -0001a5a0: 7175 656e 6365 2074 6865 7920 6172 6520 quence they are │ │ │ │ │ -0001a5b0: 6769 7665 6e2e 0ae2 8098 2d55 e280 990a given.....-U.... │ │ │ │ │ -0001a5c0: 2020 2020 2055 6e2d 6465 6669 6e65 2061 Un-define a │ │ │ │ │ -0001a5d0: 2074 6167 2066 6f72 2070 7572 706f 7365 tag for purpose │ │ │ │ │ -0001a5e0: 7320 6f66 2073 656c 6563 7469 6e67 2064 s of selecting d │ │ │ │ │ -0001a5f0: 6566 696e 6974 696f 6e20 616c 7465 726e efinition altern │ │ │ │ │ -0001a600: 6174 6976 6573 2e0a 0a1f 0a46 696c 653a atives.....File: │ │ │ │ │ -0001a610: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -0001a620: 6f64 653a 2049 6e73 7461 6c6c 696e 6720 ode: Installing │ │ │ │ │ -0001a630: 736b 6574 6368 2c20 204e 6578 743a 2049 sketch, Next: I │ │ │ │ │ -0001a640: 6e64 6578 206f 6620 7379 6e74 6178 2c20 ndex of syntax, │ │ │ │ │ -0001a650: 2050 7265 763a 2043 6f6d 6d61 6e64 206c Prev: Command l │ │ │ │ │ -0001a660: 696e 652c 2020 5570 3a20 546f 700a 0a36 ine, Up: Top..6 │ │ │ │ │ -0001a670: 2042 7569 6c64 696e 6720 616e 6420 696e Building and in │ │ │ │ │ -0001a680: 7374 616c 6c69 6e67 20e2 8098 736b 6574 stalling ...sket │ │ │ │ │ -0001a690: 6368 e280 990a 2a2a 2a2a 2a2a 2a2a 2a2a ch....********** │ │ │ │ │ +00019430: 2e2e 2e2e 0a0a 506f 6c79 676f 6e20 616e ......Polygon an │ │ │ │ │ +00019440: 6420 6c69 6e65 2073 706c 6974 7469 6e67 d line splitting │ │ │ │ │ +00019450: 2063 616e 2062 6f74 6820 6361 7573 6520 can both cause │ │ │ │ │ +00019460: 616e 6f6d 616c 6965 7320 696e 2074 6865 anomalies in the │ │ │ │ │ +00019470: 206f 7574 7075 742e 0ae2 8098 5053 5472 output.....PSTr │ │ │ │ │ +00019480: 6963 6b73 e280 9920 6461 7368 2070 6174 icks... dash pat │ │ │ │ │ +00019490: 7465 726e 732c 2073 7065 6369 6669 6564 terns, specified │ │ │ │ │ +000194a0: 2077 6974 6820 e280 986c 696e 6573 7479 with ...linesty │ │ │ │ │ +000194b0: 6c65 3d64 6173 6865 64e2 8099 2c20 6361 le=dashed..., ca │ │ │ │ │ +000194c0: 6e20 6265 0a64 6973 7275 7074 6564 2062 n be.disrupted b │ │ │ │ │ +000194d0: 7920 7370 6c69 7474 696e 672e 2020 5468 y splitting. Th │ │ │ │ │ +000194e0: 6973 206f 6363 7572 7320 7768 656e 2074 is occurs when t │ │ │ │ │ +000194f0: 6865 2064 6570 7468 2073 6f72 7420 6769 he depth sort gi │ │ │ │ │ +00019500: 7665 7320 7570 2074 6f6f 0a65 6172 6c79 ves up too.early │ │ │ │ │ +00019510: 2061 6e64 2073 706c 6974 7320 6120 6c69 and splits a li │ │ │ │ │ +00019520: 6e65 2077 6865 7265 2069 7420 6973 206e ne where it is n │ │ │ │ │ +00019530: 6f74 2072 6561 6c6c 7920 6e65 6365 7373 ot really necess │ │ │ │ │ +00019540: 6172 792e 2020 4120 776f 726b 6172 6f75 ary. A workarou │ │ │ │ │ +00019550: 6e64 0a69 7320 746f 2075 7365 2067 7261 nd.is to use gra │ │ │ │ │ +00019560: 7920 6f72 2066 696e 656c 7920 646f 7474 y or finely dott │ │ │ │ │ +00019570: 6564 206c 696e 6573 2069 6e73 7465 6164 ed lines instead │ │ │ │ │ +00019580: 2e20 2049 6620 796f 7572 2064 7261 7769 . If your drawi │ │ │ │ │ +00019590: 6e67 2069 730a 736d 616c 6c2c 2079 6f75 ng is.small, you │ │ │ │ │ +000195a0: 2063 616e 2061 6c73 6f20 6564 6974 2074 can also edit t │ │ │ │ │ +000195b0: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... │ │ │ │ │ +000195c0: 6f75 7470 7574 2062 7920 6861 6e64 2074 output by hand t │ │ │ │ │ +000195d0: 6f20 6d65 7267 6520 7468 6520 7069 6563 o merge the piec │ │ │ │ │ +000195e0: 6573 0a6f 6620 7468 6520 6f66 6665 6e64 es.of the offend │ │ │ │ │ +000195f0: 696e 6720 6c69 6e65 2e0a 0a20 2020 416e ing line... An │ │ │ │ │ +00019600: 6f74 6865 7220 616e 6f6d 616c 7920 6973 other anomaly is │ │ │ │ │ +00019610: 2074 696e 7920 286f 7220 696e 2064 6567 tiny (or in deg │ │ │ │ │ +00019620: 656e 6572 6174 6520 6361 7365 7320 6e6f enerate cases no │ │ │ │ │ +00019630: 742d 736f 2d74 696e 7929 206e 6f74 6368 t-so-tiny) notch │ │ │ │ │ +00019640: 6573 0a69 6e20 7468 6520 6c69 6e65 7320 es.in the lines │ │ │ │ │ +00019650: 7468 6174 2062 6f72 6465 7220 7370 6c69 that border spli │ │ │ │ │ +00019660: 7420 706f 6c79 676f 6e73 2e20 2054 6865 t polygons. The │ │ │ │ │ +00019670: 7365 2064 6572 6976 6520 6672 6f6d 2074 se derive from t │ │ │ │ │ +00019680: 6865 2077 6179 2065 6163 680a 706f 6c79 he way each.poly │ │ │ │ │ +00019690: 676f 6e20 6973 2070 6169 6e74 6564 3a20 gon is painted: │ │ │ │ │ +000196a0: 6669 7273 742c 2061 6c6c 2070 6978 656c first, all pixel │ │ │ │ │ +000196b0: 7320 7769 7468 696e 2074 6865 2062 6f75 s within the bou │ │ │ │ │ +000196c0: 6e64 6172 7920 6172 6520 e280 9c66 696c ndary are ...fil │ │ │ │ │ +000196d0: 6c65 64e2 809d 0a77 6974 6820 636f 6c6f led....with colo │ │ │ │ │ +000196e0: 7220 2870 6572 6861 7073 2077 6869 7465 r (perhaps white │ │ │ │ │ +000196f0: 292c 2074 6865 6e20 7468 6520 7361 6d65 ), then the same │ │ │ │ │ +00019700: 2062 6f75 6e64 6172 7920 6973 20e2 809c boundary is ... │ │ │ │ │ +00019710: 7374 726f 6b65 64e2 809d 2028 610a 506f stroked... (a.Po │ │ │ │ │ +00019720: 7374 7363 7269 7074 2074 6572 6d29 2077 stscript term) w │ │ │ │ │ +00019730: 6974 6820 6120 6c69 6e65 2e20 2054 6865 ith a line. The │ │ │ │ │ +00019740: 2072 6573 756c 7420 6973 2074 6861 7420 result is that │ │ │ │ │ +00019750: 6861 6c66 2074 6865 206c 696e 6520 6c69 half the line li │ │ │ │ │ +00019760: 6573 0a69 6e73 6964 6520 7468 6520 626f es.inside the bo │ │ │ │ │ +00019770: 756e 6461 7279 2061 6e64 2068 616c 6620 undary and half │ │ │ │ │ +00019780: 6f75 7473 6964 652c 2077 6869 6c65 2074 outside, while t │ │ │ │ │ +00019790: 6865 2050 6169 6e74 6572 2773 2061 6c67 he Painter's alg │ │ │ │ │ +000197a0: 6f72 6974 686d 0a61 7373 756d 6573 2074 orithm.assumes t │ │ │ │ │ +000197b0: 6865 2070 6f6c 7967 6f6e 206c 6965 7320 he polygon lies │ │ │ │ │ +000197c0: 656e 7469 7265 6c79 2077 6974 6869 6e20 entirely within │ │ │ │ │ +000197d0: 6974 7320 626f 756e 6461 7279 2e20 2054 its boundary. T │ │ │ │ │ +000197e0: 6865 206e 6f74 6368 6573 2061 7265 0a64 he notches are.d │ │ │ │ │ +000197f0: 7565 2074 6f20 6f6e 6520 706f 6c79 676f ue to one polygo │ │ │ │ │ +00019800: 6e20 6669 6c6c 206f 7065 7261 7469 6f6e n fill operation │ │ │ │ │ +00019810: 206f 7665 7277 7269 7469 6e67 2074 6865 overwriting the │ │ │ │ │ +00019820: 2061 6c72 6561 6479 2d64 7261 776e 2069 already-drawn i │ │ │ │ │ +00019830: 6e73 6964 650a 6f66 2074 6865 2062 6f72 nside.of the bor │ │ │ │ │ +00019840: 6465 7220 6f66 2061 6e6f 7468 6572 2070 der of another p │ │ │ │ │ +00019850: 6f6c 7967 6f6e 2e28 3129 2020 4f6e 6520 olygon.(1) One │ │ │ │ │ +00019860: 776f 726b 6172 6f75 6e64 2069 7320 746f workaround is to │ │ │ │ │ +00019870: 206d 616b 6520 626f 7264 6572 0a6c 696e make border.lin │ │ │ │ │ +00019880: 6573 2076 6572 7920 7468 696e 2e20 2049 es very thin. I │ │ │ │ │ +00019890: 6e20 6661 6374 20e2 8098 6c69 6e65 7769 n fact ...linewi │ │ │ │ │ +000198a0: 6474 683d 3070 74e2 8099 2069 7320 6775 dth=0pt... is gu │ │ │ │ │ +000198b0: 6172 616e 7465 6564 2074 6f20 656c 696d aranteed to elim │ │ │ │ │ +000198c0: 696e 6174 650a 7468 6973 2070 726f 626c inate.this probl │ │ │ │ │ +000198d0: 656d 2c20 7468 6f75 6768 2074 6869 7320 em, though this │ │ │ │ │ +000198e0: 7265 7375 6c74 7320 696e 2074 6865 2074 results in the t │ │ │ │ │ +000198f0: 6869 6e6e 6573 7420 6c69 6e65 2079 6f75 hinnest line you │ │ │ │ │ +00019900: 7220 6f75 7470 7574 0a64 6576 6963 6520 r output.device │ │ │ │ │ +00019910: 6361 6e20 6472 6177 2c20 7768 6963 6820 can draw, which │ │ │ │ │ +00019920: 6973 2075 7375 616c 6c79 2074 6f6f 2074 is usually too t │ │ │ │ │ +00019930: 6869 6e2e 2020 596f 7520 6d69 6768 7420 hin. You might │ │ │ │ │ +00019940: 6765 7420 6c75 636b 7920 6279 0a6d 6572 get lucky by.mer │ │ │ │ │ +00019950: 656c 7920 7265 6f72 6465 7269 6e67 2074 ely reordering t │ │ │ │ │ +00019960: 6869 6e67 7320 696e 2074 6865 2069 6e70 hings in the inp │ │ │ │ │ +00019970: 7574 2066 696c 652c 2077 6869 6368 2069 ut file, which i │ │ │ │ │ +00019980: 7320 6c69 6b65 6c79 2074 6f20 6d6f 7665 s likely to move │ │ │ │ │ +00019990: 2074 6865 0a73 706c 6974 7320 746f 2064 the.splits to d │ │ │ │ │ +000199a0: 6966 6665 7265 6e74 2070 6c61 6365 732e ifferent places. │ │ │ │ │ +000199b0: 2020 5468 6520 6f6e 6c79 2073 7572 652d The only sure- │ │ │ │ │ +000199c0: 6669 7265 2073 6f6c 7574 696f 6e20 6973 fire solution is │ │ │ │ │ +000199d0: 2070 7265 7474 790a 7465 7272 6962 6c65 pretty.terrible │ │ │ │ │ +000199e0: 3a20 6375 7374 6f6d 2066 6974 20e2 8098 : custom fit ... │ │ │ │ │ +000199f0: 7370 6563 6961 6ce2 8099 206f 7665 726c special... overl │ │ │ │ │ +00019a00: 6179 206c 696e 6573 2028 7769 7468 20e2 ay lines (with . │ │ │ │ │ +00019a10: 8098 5c70 736c 696e 65e2 8099 2920 746f ..\psline...) to │ │ │ │ │ +00019a20: 2063 6f76 6572 0a74 6865 206e 6f74 6368 cover.the notch │ │ │ │ │ +00019a30: 6573 2e0a 0a20 2020 506f 6c79 676f 6e20 es... Polygon │ │ │ │ │ +00019a40: 7370 6c69 7474 696e 6720 616c 736f 2062 splitting also b │ │ │ │ │ +00019a50: 7265 616b 7320 e280 9850 5354 7269 636b reaks ...PSTrick │ │ │ │ │ +00019a60: 73e2 8099 2068 6174 6368 2070 6174 7465 s... hatch patte │ │ │ │ │ +00019a70: 726e 732e 2020 5468 6520 6f6e 6c79 0a6b rns. The only.k │ │ │ │ │ +00019a80: 6e6f 776e 2077 6f72 6b61 726f 756e 6420 nown workaround │ │ │ │ │ +00019a90: 6973 2074 6f20 7375 6273 7469 7475 7465 is to substitute │ │ │ │ │ +00019aa0: 2061 2073 6f6c 6964 2066 696c 6c20 666f a solid fill fo │ │ │ │ │ +00019ab0: 7220 7468 6520 6861 7463 682e 0a0a 2020 r the hatch... │ │ │ │ │ +00019ac0: 202d 2d2d 2d2d 2d2d 2d2d 2d20 466f 6f74 ---------- Foot │ │ │ │ │ +00019ad0: 6e6f 7465 7320 2d2d 2d2d 2d2d 2d2d 2d2d notes ---------- │ │ │ │ │ +00019ae0: 0a0a 2020 2028 3129 2049 206b 6e6f 7720 .. (1) I know │ │ │ │ │ +00019af0: 686f 7720 746f 2066 6978 2074 6869 7320 how to fix this │ │ │ │ │ +00019b00: 7072 6f62 6c65 6d2c 2062 7574 2049 2064 problem, but I d │ │ │ │ │ +00019b10: 6f6e 2774 206c 696b 6520 6d79 2073 6f6c on't like my sol │ │ │ │ │ +00019b20: 7574 696f 6e2c 2061 6e64 0a49 276d 2069 ution, and.I'm i │ │ │ │ │ +00019b30: 6e74 6572 6573 7465 6420 696e 2079 6f75 nterested in you │ │ │ │ │ +00019b40: 7273 2e0a 0a1f 0a46 696c 653a 2073 6b65 rs.....File: ske │ │ │ │ │ +00019b50: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00019b60: 2043 6f6d 6d61 6e64 206c 696e 652c 2020 Command line, │ │ │ │ │ +00019b70: 4e65 7874 3a20 496e 7374 616c 6c69 6e67 Next: Installing │ │ │ │ │ +00019b80: 2073 6b65 7463 682c 2020 5072 6576 3a20 sketch, Prev: │ │ │ │ │ +00019b90: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi │ │ │ │ │ +00019ba0: 6e67 2c20 2055 703a 2054 6f70 0a0a 3520 ng, Up: Top..5 │ │ │ │ │ +00019bb0: 436f 6d6d 616e 6420 6c69 6e65 0a2a 2a2a Command line.*** │ │ │ │ │ +00019bc0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a2a 5379 ***********..*Sy │ │ │ │ │ +00019bd0: 6e6f 7073 6973 3a2a 0a20 2020 2020 736b nopsis:*. sk │ │ │ │ │ +00019be0: 6574 6368 205b 2d68 5d5b 2d56 2078 2e79 etch [-h][-V x.y │ │ │ │ │ +00019bf0: 5d5b 2d76 5d5b 2d62 5d5b 2d64 5d5b 7420 ][-v][-b][-d][t │ │ │ │ │ +00019c00: 646f 6374 6d70 5d5b 2d54 5b75 7c65 5d5b doctmp][-T[u|e][ │ │ │ │ │ +00019c10: 705b 507c 545d 5b4c 7c43 5d5d 5d5b 2d6f p[P|T][L|C]]][-o │ │ │ │ │ +00019c20: 206f 7574 7075 742e 7465 785d 0a20 2020 output.tex]. │ │ │ │ │ +00019c30: 2020 2020 5b2d 4420 5441 4720 2e2e 2e5d [-D TAG ...] │ │ │ │ │ +00019c40: 2069 6e70 7574 312e 736b 205b 2d55 2054 input1.sk [-U T │ │ │ │ │ +00019c50: 4147 202e 2e2e 5d20 696e 7075 7432 2e73 AG ...] input2.s │ │ │ │ │ +00019c60: 6b20 2e2e 2e0a 0a2a 4465 7363 7269 7074 k .....*Descript │ │ │ │ │ +00019c70: 696f 6e2a 2050 726f 6365 7373 6573 2074 ion* Processes t │ │ │ │ │ +00019c80: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... │ │ │ │ │ +00019c90: 696e 7075 7420 6669 6c65 7320 696e 206f input files in o │ │ │ │ │ +00019ca0: 7264 6572 2074 6f20 7072 6f64 7563 650a rder to produce. │ │ │ │ │ +00019cb0: e280 9850 5354 7269 636b 73e2 8099 206f ...PSTricks... o │ │ │ │ │ +00019cc0: 7574 7075 7420 636f 6465 2073 7569 7461 utput code suita │ │ │ │ │ +00019cd0: 626c 6520 666f 7220 696e 636c 7573 696f ble for inclusio │ │ │ │ │ +00019ce0: 6e20 696e 2061 2054 6558 206f 7220 4c61 n in a TeX or La │ │ │ │ │ +00019cf0: 5465 580a 646f 6375 6d65 6e74 2e0a 0a2a TeX.document...* │ │ │ │ │ +00019d00: 4f70 7469 6f6e 733a 2a0a e280 982d 68e2 Options:*....-h. │ │ │ │ │ +00019d10: 8099 0a20 2020 2020 5072 696e 7420 6120 ... Print a │ │ │ │ │ +00019d20: 7368 6f72 7420 6361 7461 6c6f 6720 6f66 short catalog of │ │ │ │ │ +00019d30: 206f 7074 696f 6e73 2e0a e280 982d 56e2 options.....-V. │ │ │ │ │ +00019d40: 8099 0a20 2020 2020 5365 7420 7468 6520 ... Set the │ │ │ │ │ +00019d50: e280 9850 5354 7269 636b 73e2 8099 2076 ...PSTricks... v │ │ │ │ │ +00019d60: 6572 7369 6f6e 2061 7373 756d 6564 2066 ersion assumed f │ │ │ │ │ +00019d70: 6f72 206f 7574 7075 7420 7075 7270 6f73 or output purpos │ │ │ │ │ +00019d80: 6573 2074 6f20 e280 9878 2e79 e280 992c es to ...x.y..., │ │ │ │ │ +00019d90: 0a20 2020 2020 666f 7220 6578 616d 706c . for exampl │ │ │ │ │ +00019da0: 6520 312e 3139 2e20 2055 7375 616c 6c79 e 1.19. Usually │ │ │ │ │ +00019db0: 206e 6565 6465 6420 6f6e 6c79 2069 6620 needed only if │ │ │ │ │ +00019dc0: 796f 7572 20e2 8098 5053 5472 6963 6b73 your ...PSTricks │ │ │ │ │ +00019dd0: e280 9920 6973 206f 6c64 0a20 2020 2020 ... is old. │ │ │ │ │ +00019de0: 636f 6d70 6172 6564 2074 6f20 796f 7572 compared to your │ │ │ │ │ +00019df0: 20e2 8098 736b 6574 6368 e280 992e 2020 ...sketch.... │ │ │ │ │ +00019e00: 5573 6520 e280 982d 76e2 8099 2074 6f20 Use ...-v... to │ │ │ │ │ +00019e10: 7365 6520 7768 6174 20e2 8098 736b 6574 see what ...sket │ │ │ │ │ +00019e20: 6368 e280 9920 6173 7375 6d65 730a 2020 ch... assumes. │ │ │ │ │ +00019e30: 2020 2062 7920 6465 6661 756c 742e 0ae2 by default... │ │ │ │ │ +00019e40: 8098 2d76 e280 990a 2020 2020 2050 7269 ..-v.... Pri │ │ │ │ │ +00019e50: 6e74 2076 6572 7369 6f6e 2069 6e66 6f72 nt version infor │ │ │ │ │ +00019e60: 6d61 7469 6f6e 2074 6f20 7374 616e 6461 mation to standa │ │ │ │ │ +00019e70: 7264 206f 7574 7075 742c 2069 6e63 6c75 rd output, inclu │ │ │ │ │ +00019e80: 6469 6e67 2074 6865 2076 6572 7369 6f6e ding the version │ │ │ │ │ +00019e90: 0a20 2020 2020 6f66 20e2 8098 5053 5472 . of ...PSTr │ │ │ │ │ +00019ea0: 6963 6b73 e280 9920 6173 7375 6d65 6420 icks... assumed │ │ │ │ │ +00019eb0: 666f 7220 6f75 7470 7574 2028 6361 6e20 for output (can │ │ │ │ │ +00019ec0: 6265 2063 6861 6e67 6564 2077 6974 6820 be changed with │ │ │ │ │ +00019ed0: e280 982d 56e2 8099 2061 626f 7665 292e ...-V... above). │ │ │ │ │ +00019ee0: 0ae2 8098 2d62 e280 990a 2020 2020 2055 ....-b.... U │ │ │ │ │ +00019ef0: 7365 2061 2042 5350 2028 2a4e 6f74 6520 se a BSP (*Note │ │ │ │ │ +00019f00: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r │ │ │ │ │ +00019f10: 656d 6f76 616c 3a3a 2e29 2020 666f 7220 emoval::.) for │ │ │ │ │ +00019f20: 5f61 6c6c 5f20 6869 6464 656e 0a20 2020 _all_ hidden. │ │ │ │ │ +00019f30: 2020 7375 7266 6163 6520 7265 6d6f 7661 surface remova │ │ │ │ │ +00019f40: 6c20 7261 7468 6572 2074 6861 6e20 7468 l rather than th │ │ │ │ │ +00019f50: 6520 6465 6661 756c 742c 2077 6869 6368 e default, which │ │ │ │ │ +00019f60: 2069 7320 7468 6520 6465 7074 6820 736f is the depth so │ │ │ │ │ +00019f70: 7274 0a20 2020 2020 616c 676f 7269 7468 rt. algorith │ │ │ │ │ +00019f80: 6d20 7769 7468 2042 5350 7320 7573 6564 m with BSPs used │ │ │ │ │ +00019f90: 206f 6e6c 7920 666f 7220 6379 636c 6520 only for cycle │ │ │ │ │ +00019fa0: 7265 736f 6c75 7469 6f6e 2e20 2054 6869 resolution. Thi │ │ │ │ │ +00019fb0: 7320 6d61 790a 2020 2020 2070 726f 6475 s may. produ │ │ │ │ │ +00019fc0: 6365 2063 6f72 7265 6374 206f 7574 7075 ce correct outpu │ │ │ │ │ +00019fd0: 7420 696e 2063 6572 7461 696e 2064 6567 t in certain deg │ │ │ │ │ +00019fe0: 656e 6572 6174 6520 6361 7365 7320 7768 enerate cases wh │ │ │ │ │ +00019ff0: 6572 6520 7468 6520 6465 7074 680a 2020 ere the depth. │ │ │ │ │ +0001a000: 2020 2073 6f72 7420 6361 6e6e 6f74 2c20 sort cannot, │ │ │ │ │ +0001a010: 6275 7420 6974 2061 6c73 6f20 6c65 6164 but it also lead │ │ │ │ │ +0001a020: 7320 746f 206d 616e 7920 6772 6174 7569 s to many gratui │ │ │ │ │ +0001a030: 746f 7573 2073 706c 6974 732c 2068 656e tous splits, hen │ │ │ │ │ +0001a040: 6365 0a20 2020 2020 6d6f 7265 2061 6e6f ce. more ano │ │ │ │ │ +0001a050: 6d61 6c69 6573 202a 6e6f 7465 2042 7567 malies *note Bug │ │ │ │ │ +0001a060: 7320 616e 6420 616e 6f6d 616c 6965 733a s and anomalies: │ │ │ │ │ +0001a070: 3a20 616e 6420 6269 6720 6f75 7470 7574 : and big output │ │ │ │ │ +0001a080: 2066 696c 6573 2e0a e280 982d 64e2 8099 files.....-d... │ │ │ │ │ +0001a090: 0a20 2020 2020 5275 6e20 e280 9873 6b65 . Run ...ske │ │ │ │ │ +0001a0a0: 7463 68e2 8099 2773 2070 6172 7365 7220 tch...'s parser │ │ │ │ │ +0001a0b0: 696e 2064 6562 7567 6769 6e67 206d 6f64 in debugging mod │ │ │ │ │ +0001a0c0: 652e 2020 5468 6973 2069 7320 7072 696d e. This is prim │ │ │ │ │ +0001a0d0: 6172 696c 7920 666f 720a 2020 2020 2064 arily for. d │ │ │ │ │ +0001a0e0: 6576 656c 6f70 6d65 6e74 2e0a e280 982d evelopment.....- │ │ │ │ │ +0001a0f0: 74e2 8099 0a20 2020 2020 5573 6520 636f t.... Use co │ │ │ │ │ +0001a100: 6e74 656e 7473 206f 6620 6669 6c65 20e2 ntents of file . │ │ │ │ │ +0001a110: 8098 646f 6374 6d70 e280 9920 6173 2061 ..doctmp... as a │ │ │ │ │ +0001a120: 2064 6f63 756d 656e 7420 7465 6d70 6c61 document templa │ │ │ │ │ +0001a130: 7465 2069 6e20 7768 6963 6820 746f 0a20 te in which to. │ │ │ │ │ +0001a140: 2020 2020 656e 636c 6f73 6520 e280 9850 enclose ...P │ │ │ │ │ +0001a150: 5354 7269 636b 73e2 8099 206f 7574 7075 STricks... outpu │ │ │ │ │ +0001a160: 7420 636f 6465 2e20 2054 6865 2063 6f64 t code. The cod │ │ │ │ │ +0001a170: 6520 6973 2069 6e73 6572 7465 6420 696e e is inserted in │ │ │ │ │ +0001a180: 2070 6c61 6365 206f 660a 2020 2020 2074 place of. t │ │ │ │ │ +0001a190: 6865 2066 6972 7374 2069 6e73 7461 6e63 he first instanc │ │ │ │ │ +0001a1a0: 6520 6f66 2074 6865 2065 7363 6170 6520 e of the escape │ │ │ │ │ +0001a1b0: 7374 7269 6e67 2025 2553 4b45 5443 485f string %%SKETCH_ │ │ │ │ │ +0001a1c0: 4f55 5450 5554 2525 2e0a e280 982d 54e2 OUTPUT%%.....-T. │ │ │ │ │ +0001a1d0: 8099 0a20 2020 2020 4361 7573 6573 20e2 ... Causes . │ │ │ │ │ +0001a1e0: 8098 5053 5472 6963 6b73 e280 9920 6f75 ..PSTricks... ou │ │ │ │ │ +0001a1f0: 7470 7574 2074 6f20 6265 2065 6e63 6c6f tput to be enclo │ │ │ │ │ +0001a200: 7365 6420 696e 2064 6566 6175 6c74 2055 sed in default U │ │ │ │ │ +0001a210: 5320 646f 6375 6d65 6e74 0a20 2020 2020 S document. │ │ │ │ │ +0001a220: 7465 6d70 6c61 7465 2074 6578 742e 2020 template text. │ │ │ │ │ +0001a230: 4f70 7469 6f6e 20e2 8098 2d54 75e2 8099 Option ...-Tu... │ │ │ │ │ +0001a240: 2069 7320 6120 7379 6e6f 6e79 6d2e 2020 is a synonym. │ │ │ │ │ +0001a250: 4f70 7469 6f6e 20e2 8098 2d54 65e2 8099 Option ...-Te... │ │ │ │ │ +0001a260: 2063 6175 7365 7320 7468 650a 2020 2020 causes the. │ │ │ │ │ +0001a270: 2045 7572 6f20 7374 616e 6461 7264 2064 Euro standard d │ │ │ │ │ +0001a280: 6f63 756d 656e 7420 7465 6d70 6c61 7465 ocument template │ │ │ │ │ +0001a290: 2074 6f20 6265 2075 7365 642e 2020 4120 to be used. A │ │ │ │ │ +0001a2a0: e280 9870 e280 9920 6170 7065 6e64 6564 ...p... appended │ │ │ │ │ +0001a2b0: 2074 6f20 616e 790a 2020 2020 206f 6620 to any. of │ │ │ │ │ +0001a2c0: 7468 6573 6520 6f70 7469 6f6e 7320 6361 these options ca │ │ │ │ │ +0001a2d0: 7573 6573 2074 6865 2072 6573 7065 6374 uses the respect │ │ │ │ │ +0001a2e0: 6976 6520 6465 6661 756c 7420 e280 9850 ive default ...P │ │ │ │ │ +0001a2f0: 5354 7269 636b 73e2 8099 2064 6f63 756d STricks... docum │ │ │ │ │ +0001a300: 656e 740a 2020 2020 2074 656d 706c 6174 ent. templat │ │ │ │ │ +0001a310: 6520 746f 2062 6520 7072 696e 7465 6420 e to be printed │ │ │ │ │ +0001a320: 746f 2073 7461 6e64 6172 6420 6f75 7470 to standard outp │ │ │ │ │ +0001a330: 7574 2e20 2041 6e20 6170 7065 6e64 6564 ut. An appended │ │ │ │ │ +0001a340: 20e2 8098 50e2 8099 2069 7320 610a 2020 ...P... is a. │ │ │ │ │ +0001a350: 2020 2073 796e 6f6e 796d 2e20 2041 6e20 synonym. An │ │ │ │ │ +0001a360: 6170 7065 6e64 6564 20e2 8098 54e2 8099 appended ...T... │ │ │ │ │ +0001a370: 2063 6175 7365 7320 7468 6520 7468 6520 causes the the │ │ │ │ │ +0001a380: e280 9854 696b 5a2f 5047 46e2 8099 2074 ...TikZ/PGF... t │ │ │ │ │ +0001a390: 656d 706c 6174 6520 746f 2062 650a 2020 emplate to be. │ │ │ │ │ +0001a3a0: 2020 2070 7269 6e74 6564 2e20 2041 6e20 printed. An │ │ │ │ │ +0001a3b0: 6170 7065 6e64 6564 20e2 8098 4ce2 8099 appended ...L... │ │ │ │ │ +0001a3c0: 2070 7269 6e74 7320 7468 6520 4c61 5465 prints the LaTe │ │ │ │ │ +0001a3d0: 5820 7665 7273 696f 6e20 6f66 2074 6865 X version of the │ │ │ │ │ +0001a3e0: 2064 6f63 756d 656e 740a 2020 2020 2074 document. t │ │ │ │ │ +0001a3f0: 656d 706c 6174 652c 2061 2073 796e 6f6e emplate, a synon │ │ │ │ │ +0001a400: 796d 2066 6f72 2074 6865 2064 6566 6175 ym for the defau │ │ │ │ │ +0001a410: 6c74 2e20 2041 20e2 8098 43e2 8099 2070 lt. A ...C... p │ │ │ │ │ +0001a420: 7269 6e74 7320 7468 6520 e280 9843 6f6e rints the ...Con │ │ │ │ │ +0001a430: 5465 5874 e280 990a 2020 2020 2074 656d TeXt.... tem │ │ │ │ │ +0001a440: 706c 6174 652e 0ae2 8098 2d6f e280 990a plate.....-o.... │ │ │ │ │ +0001a450: 2020 2020 2055 7365 20e2 8098 6f75 7470 Use ...outp │ │ │ │ │ +0001a460: 7574 2e74 6578 e280 9920 6173 2074 6865 ut.tex... as the │ │ │ │ │ +0001a470: 206f 7574 7075 7420 6669 6c65 2e20 2054 output file. T │ │ │ │ │ +0001a480: 6865 2064 6566 6175 6c74 2069 7320 7374 he default is st │ │ │ │ │ +0001a490: 616e 6461 7264 0a20 2020 2020 6f75 7470 andard. outp │ │ │ │ │ +0001a4a0: 7574 2e0a e280 982d 44e2 8099 0a20 2020 ut.....-D.... │ │ │ │ │ +0001a4b0: 2020 4465 6669 6e65 2061 2074 6167 2066 Define a tag f │ │ │ │ │ +0001a4c0: 6f72 2070 7572 706f 7365 7320 6f66 2073 or purposes of s │ │ │ │ │ +0001a4d0: 656c 6563 7469 6e67 2064 6566 696e 6974 electing definit │ │ │ │ │ +0001a4e0: 696f 6e20 616c 7465 726e 6174 6976 6573 ion alternatives │ │ │ │ │ +0001a4f0: 2e0a 2020 2020 202a 4e6f 7465 2044 6566 .. *Note Def │ │ │ │ │ +0001a500: 696e 6974 696f 6e73 3a3a 2e20 2054 6865 initions::. The │ │ │ │ │ +0001a510: 2064 6566 696e 6974 696f 6e20 6170 706c definition appl │ │ │ │ │ +0001a520: 6965 7320 666f 7220 616c 6c20 696e 7075 ies for all inpu │ │ │ │ │ +0001a530: 7420 6669 6c65 730a 2020 2020 2074 6861 t files. tha │ │ │ │ │ +0001a540: 7420 666f 6c6c 6f77 2075 6e6c 6573 7320 t follow unless │ │ │ │ │ +0001a550: 7468 6520 7461 6720 6973 2075 6e64 6566 the tag is undef │ │ │ │ │ +0001a560: 696e 6564 2077 6974 6820 e280 982d 55e2 ined with ...-U. │ │ │ │ │ +0001a570: 8099 2e0a e280 9869 6e70 7574 692e 736b .......inputi.sk │ │ │ │ │ +0001a580: e280 990a 2020 2020 2049 6e70 7574 2066 .... Input f │ │ │ │ │ +0001a590: 696c 6573 2c20 7265 6164 2069 6e20 7468 iles, read in th │ │ │ │ │ +0001a5a0: 6520 7365 7175 656e 6365 2074 6865 7920 e sequence they │ │ │ │ │ +0001a5b0: 6172 6520 6769 7665 6e2e 0ae2 8098 2d55 are given.....-U │ │ │ │ │ +0001a5c0: e280 990a 2020 2020 2055 6e2d 6465 6669 .... Un-defi │ │ │ │ │ +0001a5d0: 6e65 2061 2074 6167 2066 6f72 2070 7572 ne a tag for pur │ │ │ │ │ +0001a5e0: 706f 7365 7320 6f66 2073 656c 6563 7469 poses of selecti │ │ │ │ │ +0001a5f0: 6e67 2064 6566 696e 6974 696f 6e20 616c ng definition al │ │ │ │ │ +0001a600: 7465 726e 6174 6976 6573 2e0a 0a1f 0a46 ternatives.....F │ │ │ │ │ +0001a610: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +0001a620: 2c20 204e 6f64 653a 2049 6e73 7461 6c6c , Node: Install │ │ │ │ │ +0001a630: 696e 6720 736b 6574 6368 2c20 204e 6578 ing sketch, Nex │ │ │ │ │ +0001a640: 743a 2049 6e64 6578 206f 6620 7379 6e74 t: Index of synt │ │ │ │ │ +0001a650: 6178 2c20 2050 7265 763a 2043 6f6d 6d61 ax, Prev: Comma │ │ │ │ │ +0001a660: 6e64 206c 696e 652c 2020 5570 3a20 546f nd line, Up: To │ │ │ │ │ +0001a670: 700a 0a36 2042 7569 6c64 696e 6720 616e p..6 Building an │ │ │ │ │ +0001a680: 6420 696e 7374 616c 6c69 6e67 20e2 8098 d installing ... │ │ │ │ │ +0001a690: 736b 6574 6368 e280 990a 2a2a 2a2a 2a2a sketch....****** │ │ │ │ │ 0001a6a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -0001a6b0: 2a2a 2a2a 2a2a 2a2a 0a0a e280 9853 6b65 ********.....Ske │ │ │ │ │ -0001a6c0: 7463 68e2 8099 2069 7320 736f 2073 6d61 tch... is so sma │ │ │ │ │ -0001a6d0: 6c6c 2074 6861 7420 636f 6d70 696c 696e ll that compilin │ │ │ │ │ -0001a6e0: 6720 6279 2062 7275 7465 2066 6f72 6365 g by brute force │ │ │ │ │ -0001a6f0: 2069 7320 7072 6f62 6162 6c79 2062 6573 is probably bes │ │ │ │ │ -0001a700: 742e 0a54 6865 2066 6f6c 6c6f 7769 6e67 t..The following │ │ │ │ │ -0001a710: 2063 6f6d 6d61 6e64 206f 7567 6874 2074 command ought t │ │ │ │ │ -0001a720: 6f20 646f 2074 6865 2074 7269 636b 206f o do the trick o │ │ │ │ │ -0001a730: 6e20 616e 7920 7379 7374 656d 7320 7768 n any systems wh │ │ │ │ │ -0001a740: 6572 6520 e280 9867 6363 e280 990a 6973 ere ...gcc....is │ │ │ │ │ -0001a750: 2069 6e73 7461 6c6c 6564 2e20 204d 616b installed. Mak │ │ │ │ │ -0001a760: 6520 7375 7265 2074 6f20 6669 7273 7420 e sure to first │ │ │ │ │ -0001a770: 6368 616e 6765 2063 7572 7265 6e74 2064 change current d │ │ │ │ │ -0001a780: 6972 6563 746f 7269 6573 2074 6f20 7468 irectories to th │ │ │ │ │ -0001a790: 650a 706c 6163 6520 7768 6572 6520 796f e.place where yo │ │ │ │ │ -0001a7a0: 7520 6861 7665 2075 6e70 6163 6b65 6420 u have unpacked │ │ │ │ │ -0001a7b0: 7468 6520 736f 7572 6365 732e 0a20 2020 the sources.. │ │ │ │ │ -0001a7c0: 2020 6763 6320 2a2e 6320 2d6f 2073 6b65 gcc *.c -o ske │ │ │ │ │ -0001a7d0: 7463 682e 6578 6520 2d6c 6d0a 5468 6520 tch.exe -lm.The │ │ │ │ │ -0001a7e0: e280 982e 6578 65e2 8099 2061 7420 7468 ....exe... at th │ │ │ │ │ -0001a7f0: 6520 656e 6420 6973 206e 6563 6573 7361 e end is necessa │ │ │ │ │ -0001a800: 7279 2066 6f72 2057 696e 646f 7773 2073 ry for Windows s │ │ │ │ │ -0001a810: 7973 7465 6d73 2e20 2044 726f 7020 6974 ystems. Drop it │ │ │ │ │ -0001a820: 2069 6620 796f 7572 0a73 7973 7465 6d20 if your.system │ │ │ │ │ -0001a830: 6973 2073 6f6d 6520 7665 7273 696f 6e20 is some version │ │ │ │ │ -0001a840: 6f66 2055 6e69 782e 2020 4f74 6865 7220 of Unix. Other │ │ │ │ │ -0001a850: 4320 636f 6d70 696c 6572 7320 6f75 6768 C compilers ough │ │ │ │ │ -0001a860: 7420 746f 2077 6f72 6b20 6173 206a 7573 t to work as jus │ │ │ │ │ -0001a870: 740a 6173 2077 656c 6c2e 2020 466f 7220 t.as well. For │ │ │ │ │ -0001a880: 6578 616d 706c 652c 0a20 2020 2020 636c example,. cl │ │ │ │ │ -0001a890: 202a 2e63 202d 6f20 736b 6574 6368 2e65 *.c -o sketch.e │ │ │ │ │ -0001a8a0: 7865 0a69 7320 7468 6520 636f 7272 6563 xe.is the correc │ │ │ │ │ -0001a8b0: 7420 636f 6d6d 616e 6420 666f 7220 6d61 t command for ma │ │ │ │ │ -0001a8c0: 6e79 2076 6572 7369 6f6e 7320 6f66 204d ny versions of M │ │ │ │ │ -0001a8d0: 5320 5669 7375 616c 2043 2e20 496e 2074 S Visual C. In t │ │ │ │ │ -0001a8e0: 6865 206c 6174 6573 740a 7665 7273 696f he latest.versio │ │ │ │ │ -0001a8f0: 6e73 2c20 4d69 6372 6f73 6f66 7420 6861 ns, Microsoft ha │ │ │ │ │ -0001a900: 7320 6465 7072 6563 6174 6564 2074 6865 s deprecated the │ │ │ │ │ -0001a910: 20e2 8098 2d6f e280 9920 6f70 7469 6f6e ...-o... option │ │ │ │ │ -0001a920: 2061 6e64 2c20 6279 2064 6566 6175 6c74 and, by default │ │ │ │ │ -0001a930: 2c20 646f 6573 0a6e 6f74 2064 6566 696e , does.not defin │ │ │ │ │ -0001a940: 6520 7468 6520 e280 985f 5f53 5444 435f e the ...__STDC_ │ │ │ │ │ -0001a950: 5fe2 8099 206d 6163 726f 2e20 2054 6869 _... macro. Thi │ │ │ │ │ -0001a960: 7320 6361 7573 6573 2070 726f 626c 656d s causes problem │ │ │ │ │ -0001a970: 7320 7769 7468 2073 6f6d 650a 7665 7273 s with some.vers │ │ │ │ │ -0001a980: 696f 6e73 206f 6620 e280 9866 6c65 78e2 ions of ...flex. │ │ │ │ │ -0001a990: 8099 2c20 e280 9862 6973 6f6e e280 992c .., ...bison..., │ │ │ │ │ -0001a9a0: 20e2 8098 6c65 78e2 8099 2c20 616e 6420 ...lex..., and │ │ │ │ │ -0001a9b0: e280 9879 6163 63e2 8099 2c20 7768 6963 ...yacc..., whic │ │ │ │ │ -0001a9c0: 6820 6172 6520 7573 6564 2074 6f20 6372 h are used to cr │ │ │ │ │ -0001a9d0: 6561 7465 0a74 6865 20e2 8098 736b 6574 eate.the ...sket │ │ │ │ │ -0001a9e0: 6368 e280 9920 7363 616e 6e65 7220 616e ch... scanner an │ │ │ │ │ -0001a9f0: 6420 7061 7273 6572 2e20 2049 7427 7320 d parser. It's │ │ │ │ │ -0001aa00: 6e65 6172 6c79 2061 6c77 6179 7320 706f nearly always po │ │ │ │ │ -0001aa10: 7373 6962 6c65 2074 6f20 6669 6e64 2061 ssible to find a │ │ │ │ │ -0001aa20: 0a73 6574 206f 6620 6f70 7469 6f6e 7320 .set of options │ │ │ │ │ -0001aa30: 7468 6174 2063 6f6d 7069 6c65 7320 7769 that compiles wi │ │ │ │ │ -0001aa40: 7468 206e 6f20 6572 726f 7273 206f 7220 th no errors or │ │ │ │ │ -0001aa50: 7761 726e 696e 6773 2c20 616e 6420 7468 warnings, and th │ │ │ │ │ -0001aa60: 6973 206d 6561 6e73 0ae2 8098 736b 6574 is means....sket │ │ │ │ │ -0001aa70: 6368 e280 9920 6973 205f 7665 7279 5f20 ch... is _very_ │ │ │ │ │ -0001aa80: 6c69 6b65 6c79 2074 6f20 776f 726b 2063 likely to work c │ │ │ │ │ -0001aa90: 6f72 7265 6374 6c79 2e20 2046 6f72 2065 orrectly. For e │ │ │ │ │ -0001aaa0: 7861 6d70 6c65 2c20 7468 6520 5669 7375 xample, the Visu │ │ │ │ │ -0001aab0: 616c 0a43 2b2b 2032 3030 3520 4578 7072 al.C++ 2005 Expr │ │ │ │ │ -0001aac0: 6573 7320 4564 6974 696f 6e20 636f 6d70 ess Edition comp │ │ │ │ │ -0001aad0: 696c 6572 2028 6176 6169 6c61 626c 6520 iler (available │ │ │ │ │ -0001aae0: 6672 6565 206f 6620 6368 6172 6765 2066 free of charge f │ │ │ │ │ -0001aaf0: 726f 6d20 7468 650a 4d69 6372 6f73 6f66 rom the.Microsof │ │ │ │ │ -0001ab00: 7420 7765 6220 7369 7465 292c 20e2 8098 t web site), ... │ │ │ │ │ -0001ab10: 666c 6578 e280 9920 7665 7273 696f 6e20 flex... version │ │ │ │ │ -0001ab20: 322e 352e 342c 2061 6e64 20e2 8098 6269 2.5.4, and ...bi │ │ │ │ │ -0001ab30: 736f 6ee2 8099 2076 6572 7369 6f6e 2032 son... version 2 │ │ │ │ │ -0001ab40: 2e31 2062 7569 6c64 0a65 7272 6f72 2d66 .1 build.error-f │ │ │ │ │ -0001ab50: 7265 6520 7769 7468 0a20 2020 2020 636c ree with. cl │ │ │ │ │ -0001ab60: 202d 4459 595f 4e45 5645 525f 494e 5445 -DYY_NEVER_INTE │ │ │ │ │ -0001ab70: 5241 4354 4956 453d 3120 2d5a 6120 2d4f RACTIVE=1 -Za -O │ │ │ │ │ -0001ab80: 7820 2d46 6573 6b65 7463 682e 6578 6520 x -Fesketch.exe │ │ │ │ │ -0001ab90: 2a2e 630a 0a20 2020 466f 7220 7075 7269 *.c.. For puri │ │ │ │ │ -0001aba0: 7374 732c 2074 6865 7265 2069 7320 616c sts, there is al │ │ │ │ │ -0001abb0: 736f 2061 20e2 8098 6d61 6b65 6669 6c65 so a ...makefile │ │ │ │ │ -0001abc0: e280 9920 636f 6d70 6174 6962 6c65 2077 ... compatible w │ │ │ │ │ -0001abd0: 6974 6820 474e 5520 e280 986d 616b 65e2 ith GNU ...make. │ │ │ │ │ -0001abe0: 8099 0a61 6e64 20e2 8098 6763 63e2 8099 ...and ...gcc... │ │ │ │ │ -0001abf0: 2e20 2054 6865 2063 6f6d 6d61 6e64 0a20 . The command. │ │ │ │ │ -0001ac00: 2020 2020 6d61 6b65 0a77 696c 6c20 6275 make.will bu │ │ │ │ │ -0001ac10: 696c 6420 7468 6520 6578 6563 7574 6162 ild the executab │ │ │ │ │ -0001ac20: 6c65 2c20 696e 636c 7564 696e 6720 7468 le, including th │ │ │ │ │ -0001ac30: 6520 7265 6275 696c 6469 6e67 206f 6620 e rebuilding of │ │ │ │ │ -0001ac40: 7468 6520 7363 616e 6e65 7220 616e 640a the scanner and. │ │ │ │ │ -0001ac50: 7061 7273 6572 2077 6974 6820 e280 9866 parser with ...f │ │ │ │ │ -0001ac60: 6c65 78e2 8099 2061 6e64 20e2 8098 6269 lex... and ...bi │ │ │ │ │ -0001ac70: 736f 6ee2 8099 2069 6620 796f 7520 6861 son... if you ha │ │ │ │ │ -0001ac80: 7665 2063 6861 6e67 6564 20e2 8098 736b ve changed ...sk │ │ │ │ │ -0001ac90: 6574 6368 2e6c e280 9920 6f72 0ae2 8098 etch.l... or.... │ │ │ │ │ -0001aca0: 736b 6574 6368 2e79 e280 9920 7265 7370 sketch.y... resp │ │ │ │ │ -0001acb0: 6563 7469 7665 6c79 2e0a 0a20 2020 5768 ectively... Wh │ │ │ │ │ -0001acc0: 696c 6520 6e6f 7420 6573 7365 6e74 6961 ile not essentia │ │ │ │ │ -0001acd0: 6c2c 2062 7569 6c64 696e 6720 7468 6520 l, building the │ │ │ │ │ -0001ace0: 6d61 6e75 616c 2069 7320 616e 2065 7863 manual is an exc │ │ │ │ │ -0001acf0: 656c 6c65 6e74 2074 6573 7420 6f66 2079 ellent test of y │ │ │ │ │ -0001ad00: 6f75 720a e280 9873 6b65 7463 68e2 8099 our....sketch... │ │ │ │ │ -0001ad10: 2069 6e73 7461 6c6c 6174 696f 6e2e 2020 installation. │ │ │ │ │ -0001ad20: 546f 2062 7569 6c64 2074 6869 7320 646f To build this do │ │ │ │ │ -0001ad30: 6375 6d65 6e74 2069 6e20 616c 6c20 6974 cument in all it │ │ │ │ │ -0001ad40: 7320 6d79 7269 6164 2066 6f72 6d73 0a28 s myriad forms.( │ │ │ │ │ -0001ad50: 6173 7375 6d69 6e67 2079 6f75 2068 6176 assuming you hav │ │ │ │ │ -0001ad60: 6520 7468 6520 6e65 6365 7373 6172 7920 e the necessary │ │ │ │ │ -0001ad70: 636f 6e76 6572 7369 6f6e 2070 726f 6772 conversion progr │ │ │ │ │ -0001ad80: 616d 7320 6f6e 2079 6f75 7220 7379 7374 ams on your syst │ │ │ │ │ -0001ad90: 656d 292c 0a75 7365 0a20 2020 2020 6d61 em),.use. ma │ │ │ │ │ -0001ada0: 6b65 2064 6f63 730a 5468 6520 706f 7373 ke docs.The poss │ │ │ │ │ -0001adb0: 6962 696c 6974 6965 7320 6172 6520 6c69 ibilities are li │ │ │ │ │ -0001adc0: 7374 6564 2069 6e20 7468 6973 2066 6f6c sted in this fol │ │ │ │ │ -0001add0: 6c6f 7769 6e67 2074 6162 6c65 2e0a 466f lowing table..Fo │ │ │ │ │ -0001ade0: 726d 6174 2020 2020 2020 2020 2020 2020 rmat │ │ │ │ │ -0001adf0: 2020 2020 436f 6e76 6572 7465 7220 2020 Converter │ │ │ │ │ -0001ae00: 2020 2020 2050 6963 7475 7265 7320 2020 Pictures │ │ │ │ │ -0001ae10: 4465 7363 7269 7074 696f 6e0a 2d2d 2d2d Description.---- │ │ │ │ │ +0001a6b0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a e280 ************.... │ │ │ │ │ +0001a6c0: 9853 6b65 7463 68e2 8099 2069 7320 736f .Sketch... is so │ │ │ │ │ +0001a6d0: 2073 6d61 6c6c 2074 6861 7420 636f 6d70 small that comp │ │ │ │ │ +0001a6e0: 696c 696e 6720 6279 2062 7275 7465 2066 iling by brute f │ │ │ │ │ +0001a6f0: 6f72 6365 2069 7320 7072 6f62 6162 6c79 orce is probably │ │ │ │ │ +0001a700: 2062 6573 742e 0a54 6865 2066 6f6c 6c6f best..The follo │ │ │ │ │ +0001a710: 7769 6e67 2063 6f6d 6d61 6e64 206f 7567 wing command oug │ │ │ │ │ +0001a720: 6874 2074 6f20 646f 2074 6865 2074 7269 ht to do the tri │ │ │ │ │ +0001a730: 636b 206f 6e20 616e 7920 7379 7374 656d ck on any system │ │ │ │ │ +0001a740: 7320 7768 6572 6520 e280 9867 6363 e280 s where ...gcc.. │ │ │ │ │ +0001a750: 990a 6973 2069 6e73 7461 6c6c 6564 2e20 ..is installed. │ │ │ │ │ +0001a760: 204d 616b 6520 7375 7265 2074 6f20 6669 Make sure to fi │ │ │ │ │ +0001a770: 7273 7420 6368 616e 6765 2063 7572 7265 rst change curre │ │ │ │ │ +0001a780: 6e74 2064 6972 6563 746f 7269 6573 2074 nt directories t │ │ │ │ │ +0001a790: 6f20 7468 650a 706c 6163 6520 7768 6572 o the.place wher │ │ │ │ │ +0001a7a0: 6520 796f 7520 6861 7665 2075 6e70 6163 e you have unpac │ │ │ │ │ +0001a7b0: 6b65 6420 7468 6520 736f 7572 6365 732e ked the sources. │ │ │ │ │ +0001a7c0: 0a20 2020 2020 6763 6320 2a2e 6320 2d6f . gcc *.c -o │ │ │ │ │ +0001a7d0: 2073 6b65 7463 682e 6578 6520 2d6c 6d0a sketch.exe -lm. │ │ │ │ │ +0001a7e0: 5468 6520 e280 982e 6578 65e2 8099 2061 The ....exe... a │ │ │ │ │ +0001a7f0: 7420 7468 6520 656e 6420 6973 206e 6563 t the end is nec │ │ │ │ │ +0001a800: 6573 7361 7279 2066 6f72 2057 696e 646f essary for Windo │ │ │ │ │ +0001a810: 7773 2073 7973 7465 6d73 2e20 2044 726f ws systems. Dro │ │ │ │ │ +0001a820: 7020 6974 2069 6620 796f 7572 0a73 7973 p it if your.sys │ │ │ │ │ +0001a830: 7465 6d20 6973 2073 6f6d 6520 7665 7273 tem is some vers │ │ │ │ │ +0001a840: 696f 6e20 6f66 2055 6e69 782e 2020 4f74 ion of Unix. Ot │ │ │ │ │ +0001a850: 6865 7220 4320 636f 6d70 696c 6572 7320 her C compilers │ │ │ │ │ +0001a860: 6f75 6768 7420 746f 2077 6f72 6b20 6173 ought to work as │ │ │ │ │ +0001a870: 206a 7573 740a 6173 2077 656c 6c2e 2020 just.as well. │ │ │ │ │ +0001a880: 466f 7220 6578 616d 706c 652c 0a20 2020 For example,. │ │ │ │ │ +0001a890: 2020 636c 202a 2e63 202d 6f20 736b 6574 cl *.c -o sket │ │ │ │ │ +0001a8a0: 6368 2e65 7865 0a69 7320 7468 6520 636f ch.exe.is the co │ │ │ │ │ +0001a8b0: 7272 6563 7420 636f 6d6d 616e 6420 666f rrect command fo │ │ │ │ │ +0001a8c0: 7220 6d61 6e79 2076 6572 7369 6f6e 7320 r many versions │ │ │ │ │ +0001a8d0: 6f66 204d 5320 5669 7375 616c 2043 2e20 of MS Visual C. │ │ │ │ │ +0001a8e0: 496e 2074 6865 206c 6174 6573 740a 7665 In the latest.ve │ │ │ │ │ +0001a8f0: 7273 696f 6e73 2c20 4d69 6372 6f73 6f66 rsions, Microsof │ │ │ │ │ +0001a900: 7420 6861 7320 6465 7072 6563 6174 6564 t has deprecated │ │ │ │ │ +0001a910: 2074 6865 20e2 8098 2d6f e280 9920 6f70 the ...-o... op │ │ │ │ │ +0001a920: 7469 6f6e 2061 6e64 2c20 6279 2064 6566 tion and, by def │ │ │ │ │ +0001a930: 6175 6c74 2c20 646f 6573 0a6e 6f74 2064 ault, does.not d │ │ │ │ │ +0001a940: 6566 696e 6520 7468 6520 e280 985f 5f53 efine the ...__S │ │ │ │ │ +0001a950: 5444 435f 5fe2 8099 206d 6163 726f 2e20 TDC__... macro. │ │ │ │ │ +0001a960: 2054 6869 7320 6361 7573 6573 2070 726f This causes pro │ │ │ │ │ +0001a970: 626c 656d 7320 7769 7468 2073 6f6d 650a blems with some. │ │ │ │ │ +0001a980: 7665 7273 696f 6e73 206f 6620 e280 9866 versions of ...f │ │ │ │ │ +0001a990: 6c65 78e2 8099 2c20 e280 9862 6973 6f6e lex..., ...bison │ │ │ │ │ +0001a9a0: e280 992c 20e2 8098 6c65 78e2 8099 2c20 ..., ...lex..., │ │ │ │ │ +0001a9b0: 616e 6420 e280 9879 6163 63e2 8099 2c20 and ...yacc..., │ │ │ │ │ +0001a9c0: 7768 6963 6820 6172 6520 7573 6564 2074 which are used t │ │ │ │ │ +0001a9d0: 6f20 6372 6561 7465 0a74 6865 20e2 8098 o create.the ... │ │ │ │ │ +0001a9e0: 736b 6574 6368 e280 9920 7363 616e 6e65 sketch... scanne │ │ │ │ │ +0001a9f0: 7220 616e 6420 7061 7273 6572 2e20 2049 r and parser. I │ │ │ │ │ +0001aa00: 7427 7320 6e65 6172 6c79 2061 6c77 6179 t's nearly alway │ │ │ │ │ +0001aa10: 7320 706f 7373 6962 6c65 2074 6f20 6669 s possible to fi │ │ │ │ │ +0001aa20: 6e64 2061 0a73 6574 206f 6620 6f70 7469 nd a.set of opti │ │ │ │ │ +0001aa30: 6f6e 7320 7468 6174 2063 6f6d 7069 6c65 ons that compile │ │ │ │ │ +0001aa40: 7320 7769 7468 206e 6f20 6572 726f 7273 s with no errors │ │ │ │ │ +0001aa50: 206f 7220 7761 726e 696e 6773 2c20 616e or warnings, an │ │ │ │ │ +0001aa60: 6420 7468 6973 206d 6561 6e73 0ae2 8098 d this means.... │ │ │ │ │ +0001aa70: 736b 6574 6368 e280 9920 6973 205f 7665 sketch... is _ve │ │ │ │ │ +0001aa80: 7279 5f20 6c69 6b65 6c79 2074 6f20 776f ry_ likely to wo │ │ │ │ │ +0001aa90: 726b 2063 6f72 7265 6374 6c79 2e20 2046 rk correctly. F │ │ │ │ │ +0001aaa0: 6f72 2065 7861 6d70 6c65 2c20 7468 6520 or example, the │ │ │ │ │ +0001aab0: 5669 7375 616c 0a43 2b2b 2032 3030 3520 Visual.C++ 2005 │ │ │ │ │ +0001aac0: 4578 7072 6573 7320 4564 6974 696f 6e20 Express Edition │ │ │ │ │ +0001aad0: 636f 6d70 696c 6572 2028 6176 6169 6c61 compiler (availa │ │ │ │ │ +0001aae0: 626c 6520 6672 6565 206f 6620 6368 6172 ble free of char │ │ │ │ │ +0001aaf0: 6765 2066 726f 6d20 7468 650a 4d69 6372 ge from the.Micr │ │ │ │ │ +0001ab00: 6f73 6f66 7420 7765 6220 7369 7465 292c osoft web site), │ │ │ │ │ +0001ab10: 20e2 8098 666c 6578 e280 9920 7665 7273 ...flex... vers │ │ │ │ │ +0001ab20: 696f 6e20 322e 352e 342c 2061 6e64 20e2 ion 2.5.4, and . │ │ │ │ │ +0001ab30: 8098 6269 736f 6ee2 8099 2076 6572 7369 ..bison... versi │ │ │ │ │ +0001ab40: 6f6e 2032 2e31 2062 7569 6c64 0a65 7272 on 2.1 build.err │ │ │ │ │ +0001ab50: 6f72 2d66 7265 6520 7769 7468 0a20 2020 or-free with. │ │ │ │ │ +0001ab60: 2020 636c 202d 4459 595f 4e45 5645 525f cl -DYY_NEVER_ │ │ │ │ │ +0001ab70: 494e 5445 5241 4354 4956 453d 3120 2d5a INTERACTIVE=1 -Z │ │ │ │ │ +0001ab80: 6120 2d4f 7820 2d46 6573 6b65 7463 682e a -Ox -Fesketch. │ │ │ │ │ +0001ab90: 6578 6520 2a2e 630a 0a20 2020 466f 7220 exe *.c.. For │ │ │ │ │ +0001aba0: 7075 7269 7374 732c 2074 6865 7265 2069 purists, there i │ │ │ │ │ +0001abb0: 7320 616c 736f 2061 20e2 8098 6d61 6b65 s also a ...make │ │ │ │ │ +0001abc0: 6669 6c65 e280 9920 636f 6d70 6174 6962 file... compatib │ │ │ │ │ +0001abd0: 6c65 2077 6974 6820 474e 5520 e280 986d le with GNU ...m │ │ │ │ │ +0001abe0: 616b 65e2 8099 0a61 6e64 20e2 8098 6763 ake....and ...gc │ │ │ │ │ +0001abf0: 63e2 8099 2e20 2054 6865 2063 6f6d 6d61 c.... The comma │ │ │ │ │ +0001ac00: 6e64 0a20 2020 2020 6d61 6b65 0a77 696c nd. make.wil │ │ │ │ │ +0001ac10: 6c20 6275 696c 6420 7468 6520 6578 6563 l build the exec │ │ │ │ │ +0001ac20: 7574 6162 6c65 2c20 696e 636c 7564 696e utable, includin │ │ │ │ │ +0001ac30: 6720 7468 6520 7265 6275 696c 6469 6e67 g the rebuilding │ │ │ │ │ +0001ac40: 206f 6620 7468 6520 7363 616e 6e65 7220 of the scanner │ │ │ │ │ +0001ac50: 616e 640a 7061 7273 6572 2077 6974 6820 and.parser with │ │ │ │ │ +0001ac60: e280 9866 6c65 78e2 8099 2061 6e64 20e2 ...flex... and . │ │ │ │ │ +0001ac70: 8098 6269 736f 6ee2 8099 2069 6620 796f ..bison... if yo │ │ │ │ │ +0001ac80: 7520 6861 7665 2063 6861 6e67 6564 20e2 u have changed . │ │ │ │ │ +0001ac90: 8098 736b 6574 6368 2e6c e280 9920 6f72 ..sketch.l... or │ │ │ │ │ +0001aca0: 0ae2 8098 736b 6574 6368 2e79 e280 9920 ....sketch.y... │ │ │ │ │ +0001acb0: 7265 7370 6563 7469 7665 6c79 2e0a 0a20 respectively... │ │ │ │ │ +0001acc0: 2020 5768 696c 6520 6e6f 7420 6573 7365 While not esse │ │ │ │ │ +0001acd0: 6e74 6961 6c2c 2062 7569 6c64 696e 6720 ntial, building │ │ │ │ │ +0001ace0: 7468 6520 6d61 6e75 616c 2069 7320 616e the manual is an │ │ │ │ │ +0001acf0: 2065 7863 656c 6c65 6e74 2074 6573 7420 excellent test │ │ │ │ │ +0001ad00: 6f66 2079 6f75 720a e280 9873 6b65 7463 of your....sketc │ │ │ │ │ +0001ad10: 68e2 8099 2069 6e73 7461 6c6c 6174 696f h... installatio │ │ │ │ │ +0001ad20: 6e2e 2020 546f 2062 7569 6c64 2074 6869 n. To build thi │ │ │ │ │ +0001ad30: 7320 646f 6375 6d65 6e74 2069 6e20 616c s document in al │ │ │ │ │ +0001ad40: 6c20 6974 7320 6d79 7269 6164 2066 6f72 l its myriad for │ │ │ │ │ +0001ad50: 6d73 0a28 6173 7375 6d69 6e67 2079 6f75 ms.(assuming you │ │ │ │ │ +0001ad60: 2068 6176 6520 7468 6520 6e65 6365 7373 have the necess │ │ │ │ │ +0001ad70: 6172 7920 636f 6e76 6572 7369 6f6e 2070 ary conversion p │ │ │ │ │ +0001ad80: 726f 6772 616d 7320 6f6e 2079 6f75 7220 rograms on your │ │ │ │ │ +0001ad90: 7379 7374 656d 292c 0a75 7365 0a20 2020 system),.use. │ │ │ │ │ +0001ada0: 2020 6d61 6b65 2064 6f63 730a 5468 6520 make docs.The │ │ │ │ │ +0001adb0: 706f 7373 6962 696c 6974 6965 7320 6172 possibilities ar │ │ │ │ │ +0001adc0: 6520 6c69 7374 6564 2069 6e20 7468 6973 e listed in this │ │ │ │ │ +0001add0: 2066 6f6c 6c6f 7769 6e67 2074 6162 6c65 following table │ │ │ │ │ +0001ade0: 2e0a 466f 726d 6174 2020 2020 2020 2020 ..Format │ │ │ │ │ +0001adf0: 2020 2020 2020 2020 436f 6e76 6572 7465 Converte │ │ │ │ │ +0001ae00: 7220 2020 2020 2020 2050 6963 7475 7265 r Picture │ │ │ │ │ +0001ae10: 7320 2020 4465 7363 7269 7074 696f 6e0a s Description. │ │ │ │ │ 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 2d0a 6d61 6e75 616c 2e69 -------.manual.i │ │ │ │ │ -0001ae90: 6e66 6f20 2020 2020 2020 2020 2020 6d61 nfo ma │ │ │ │ │ -0001aea0: 6b65 696e 666f 2020 2020 2020 2020 20e2 keinfo . │ │ │ │ │ -0001aeb0: 8098 2e74 7874 e280 9920 2020 2020 474e ...txt... GN │ │ │ │ │ -0001aec0: 5520 496e 666f 2e0a 6d61 6e75 616c 2e64 U Info..manual.d │ │ │ │ │ -0001aed0: 7669 2020 2020 2020 2020 2020 2020 7465 vi te │ │ │ │ │ -0001aee0: 7869 3264 7669 2020 2020 2020 2020 20e2 xi2dvi . │ │ │ │ │ -0001aef0: 8098 2e65 7073 e280 9920 2020 2020 5465 ...eps... Te │ │ │ │ │ -0001af00: 5820 7479 7065 7365 7420 6f75 7470 7574 X typeset output │ │ │ │ │ -0001af10: 2e0a 6d61 6e75 616c 2e70 7320 2020 2020 ..manual.ps │ │ │ │ │ -0001af20: 2020 2020 2020 2020 7465 7869 3264 7669 texi2dvi │ │ │ │ │ -0001af30: 2c64 7669 7073 2020 20e2 8098 2e65 7073 ,dvips ....eps │ │ │ │ │ -0001af40: e280 9920 2020 2020 506f 7374 7363 7269 ... Postscri │ │ │ │ │ -0001af50: 7074 2e0a 6d61 6e75 616c 2e70 6466 2020 pt..manual.pdf │ │ │ │ │ -0001af60: 2020 2020 2020 2020 2020 7465 7869 3264 texi2d │ │ │ │ │ -0001af70: 7669 2020 2020 2020 2020 20e2 8098 2e70 vi ....p │ │ │ │ │ -0001af80: 6466 e280 9920 2020 2020 4164 6f62 6520 df... Adobe │ │ │ │ │ -0001af90: 5044 462e 0a6d 616e 7561 6c2e 6874 6d6c PDF..manual.html │ │ │ │ │ -0001afa0: 2020 2020 2020 2020 2020 206d 616b 6569 makei │ │ │ │ │ -0001afb0: 6e66 6f20 2020 2020 2020 2020 e280 982e nfo .... │ │ │ │ │ -0001afc0: 706e 67e2 8099 2020 2020 2041 2073 696e png... A sin │ │ │ │ │ -0001afd0: 676c 6520 7765 6220 7061 6765 2e0a 6d61 gle web page..ma │ │ │ │ │ -0001afe0: 6e75 616c 2f69 6e64 6578 2e68 746d 6c20 nual/index.html │ │ │ │ │ -0001aff0: 2020 2020 6d61 6b65 696e 666f 2020 2020 makeinfo │ │ │ │ │ -0001b000: 2020 2020 20e2 8098 2e70 6e67 e280 9920 ....png... │ │ │ │ │ -0001b010: 2020 2020 4c69 6e6b 6564 2077 6562 2070 Linked web p │ │ │ │ │ -0001b020: 6167 6573 2c20 6f6e 6520 7065 7220 6e6f ages, one per no │ │ │ │ │ -0001b030: 6465 2e0a 2020 2041 6c6c 2074 6865 2072 de.. All the r │ │ │ │ │ -0001b040: 6571 7569 7265 6420 746f 6f6c 7320 6172 equired tools ar │ │ │ │ │ -0001b050: 6520 696e 636c 7564 6564 2069 6e20 7468 e included in th │ │ │ │ │ -0001b060: 6520 7374 616e 6461 7264 20e2 8098 5465 e standard ...Te │ │ │ │ │ -0001b070: 5820 4c69 7665 e280 990a 6469 7374 7269 X Live....distri │ │ │ │ │ -0001b080: 6275 7469 6f6e 2065 7863 6570 7420 7468 bution except th │ │ │ │ │ -0001b090: 6174 2061 6e20 6164 6469 7469 6f6e 616c at an additional │ │ │ │ │ -0001b0a0: 206f 7065 6e20 736f 7572 6365 2070 726f open source pro │ │ │ │ │ -0001b0b0: 6772 616d 20e2 8098 6570 7374 6f6f 6ce2 gram ...epstool. │ │ │ │ │ -0001b0c0: 8099 2069 730a 6e65 6564 6564 2074 6f20 .. is.needed to │ │ │ │ │ -0001b0d0: 7265 6669 6e65 2074 6865 2045 6e63 6170 refine the Encap │ │ │ │ │ -0001b0e0: 7375 6c61 7465 6420 506f 7374 7363 7269 sulated Postscri │ │ │ │ │ -0001b0f0: 7074 2062 6f75 6e64 696e 6720 626f 7865 pt bounding boxe │ │ │ │ │ -0001b100: 7320 6f66 0ae2 8098 736b 6574 6368 e280 s of....sketch.. │ │ │ │ │ -0001b110: 992d 6765 6e65 7261 7465 6420 6669 6775 .-generated figu │ │ │ │ │ -0001b120: 7265 7320 696e 2074 6865 206d 616e 7561 res in the manua │ │ │ │ │ -0001b130: 6c2e 2020 5468 6973 2074 6f6f 6c20 6973 l. This tool is │ │ │ │ │ -0001b140: 2061 7661 696c 6162 6c65 2069 6e0a 6269 available in.bi │ │ │ │ │ -0001b150: 6e61 7279 2066 6f72 6d20 666f 7220 5769 nary form for Wi │ │ │ │ │ -0001b160: 6e64 6f77 732c 2061 6e64 2069 7420 6275 ndows, and it bu │ │ │ │ │ -0001b170: 696c 6473 2065 6173 696c 7920 7769 7468 ilds easily with │ │ │ │ │ -0001b180: 2061 2073 696d 706c 6520 e280 986d 616b a simple ...mak │ │ │ │ │ -0001b190: 65e2 8099 2075 6e64 6572 0a6c 696e 7578 e... under.linux │ │ │ │ │ -0001b1a0: 206f 7220 4379 6777 696e 2069 6e73 7461 or Cygwin insta │ │ │ │ │ -0001b1b0: 6c6c 6174 696f 6e73 2074 6861 7420 6861 llations that ha │ │ │ │ │ -0001b1c0: 7665 2064 6576 656c 6f70 6d65 6e74 2074 ve development t │ │ │ │ │ -0001b1d0: 6f6f 6c73 2069 6e73 7461 6c6c 6564 206f ools installed o │ │ │ │ │ -0001b1e0: 720a 756e 6465 7220 e280 984d 6163 204f r.under ...Mac O │ │ │ │ │ -0001b1f0: 5320 58e2 8099 2077 6974 6820 e280 9858 S X... with ...X │ │ │ │ │ -0001b200: 436f 6465 e280 9920 696e 7374 616c 6c65 Code... installe │ │ │ │ │ -0001b210: 642e 0a0a 1f0a 4669 6c65 3a20 736b 6574 d.....File: sket │ │ │ │ │ -0001b220: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -0001b230: 496e 6465 7820 6f66 2073 796e 7461 782c Index of syntax, │ │ │ │ │ -0001b240: 2020 4e65 7874 3a20 496e 6465 782c 2020 Next: Index, │ │ │ │ │ -0001b250: 5072 6576 3a20 496e 7374 616c 6c69 6e67 Prev: Installing │ │ │ │ │ -0001b260: 2073 6b65 7463 682c 2020 5570 3a20 546f sketch, Up: To │ │ │ │ │ -0001b270: 700a 0a49 6e64 6578 206f 6620 7379 6e74 p..Index of synt │ │ │ │ │ -0001b280: 6178 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ax.************* │ │ │ │ │ -0001b290: 2a2a 0a0a 0008 5b69 6e64 6578 0008 5d0a **....[index..]. │ │ │ │ │ -0001b2a0: 2a20 4d65 6e75 3a0a 0a2a 202d 2c20 6d69 * Menu:..* -, mi │ │ │ │ │ -0001b2b0: 6e75 7320 6f70 6572 6174 6f72 3a20 2020 nus operator: │ │ │ │ │ -0001b2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b2d0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ -0001b2e0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ -0001b2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ae80: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 6d61 6e75 -----------.manu │ │ │ │ │ +0001ae90: 616c 2e69 6e66 6f20 2020 2020 2020 2020 al.info │ │ │ │ │ +0001aea0: 2020 6d61 6b65 696e 666f 2020 2020 2020 makeinfo │ │ │ │ │ +0001aeb0: 2020 20e2 8098 2e74 7874 e280 9920 2020 ....txt... │ │ │ │ │ +0001aec0: 2020 474e 5520 496e 666f 2e0a 6d61 6e75 GNU Info..manu │ │ │ │ │ +0001aed0: 616c 2e64 7669 2020 2020 2020 2020 2020 al.dvi │ │ │ │ │ +0001aee0: 2020 7465 7869 3264 7669 2020 2020 2020 texi2dvi │ │ │ │ │ +0001aef0: 2020 20e2 8098 2e65 7073 e280 9920 2020 ....eps... │ │ │ │ │ +0001af00: 2020 5465 5820 7479 7065 7365 7420 6f75 TeX typeset ou │ │ │ │ │ +0001af10: 7470 7574 2e0a 6d61 6e75 616c 2e70 7320 tput..manual.ps │ │ │ │ │ +0001af20: 2020 2020 2020 2020 2020 2020 7465 7869 texi │ │ │ │ │ +0001af30: 3264 7669 2c64 7669 7073 2020 20e2 8098 2dvi,dvips ... │ │ │ │ │ +0001af40: 2e65 7073 e280 9920 2020 2020 506f 7374 .eps... Post │ │ │ │ │ +0001af50: 7363 7269 7074 2e0a 6d61 6e75 616c 2e70 script..manual.p │ │ │ │ │ +0001af60: 6466 2020 2020 2020 2020 2020 2020 7465 df te │ │ │ │ │ +0001af70: 7869 3264 7669 2020 2020 2020 2020 20e2 xi2dvi . │ │ │ │ │ +0001af80: 8098 2e70 6466 e280 9920 2020 2020 4164 ...pdf... Ad │ │ │ │ │ +0001af90: 6f62 6520 5044 462e 0a6d 616e 7561 6c2e obe PDF..manual. │ │ │ │ │ +0001afa0: 6874 6d6c 2020 2020 2020 2020 2020 206d html m │ │ │ │ │ +0001afb0: 616b 6569 6e66 6f20 2020 2020 2020 2020 akeinfo │ │ │ │ │ +0001afc0: e280 982e 706e 67e2 8099 2020 2020 2041 ....png... A │ │ │ │ │ +0001afd0: 2073 696e 676c 6520 7765 6220 7061 6765 single web page │ │ │ │ │ +0001afe0: 2e0a 6d61 6e75 616c 2f69 6e64 6578 2e68 ..manual/index.h │ │ │ │ │ +0001aff0: 746d 6c20 2020 2020 6d61 6b65 696e 666f tml makeinfo │ │ │ │ │ +0001b000: 2020 2020 2020 2020 20e2 8098 2e70 6e67 ....png │ │ │ │ │ +0001b010: e280 9920 2020 2020 4c69 6e6b 6564 2077 ... Linked w │ │ │ │ │ +0001b020: 6562 2070 6167 6573 2c20 6f6e 6520 7065 eb pages, one pe │ │ │ │ │ +0001b030: 7220 6e6f 6465 2e0a 2020 2041 6c6c 2074 r node.. All t │ │ │ │ │ +0001b040: 6865 2072 6571 7569 7265 6420 746f 6f6c he required tool │ │ │ │ │ +0001b050: 7320 6172 6520 696e 636c 7564 6564 2069 s are included i │ │ │ │ │ +0001b060: 6e20 7468 6520 7374 616e 6461 7264 20e2 n the standard . │ │ │ │ │ +0001b070: 8098 5465 5820 4c69 7665 e280 990a 6469 ..TeX Live....di │ │ │ │ │ +0001b080: 7374 7269 6275 7469 6f6e 2065 7863 6570 stribution excep │ │ │ │ │ +0001b090: 7420 7468 6174 2061 6e20 6164 6469 7469 t that an additi │ │ │ │ │ +0001b0a0: 6f6e 616c 206f 7065 6e20 736f 7572 6365 onal open source │ │ │ │ │ +0001b0b0: 2070 726f 6772 616d 20e2 8098 6570 7374 program ...epst │ │ │ │ │ +0001b0c0: 6f6f 6ce2 8099 2069 730a 6e65 6564 6564 ool... is.needed │ │ │ │ │ +0001b0d0: 2074 6f20 7265 6669 6e65 2074 6865 2045 to refine the E │ │ │ │ │ +0001b0e0: 6e63 6170 7375 6c61 7465 6420 506f 7374 ncapsulated Post │ │ │ │ │ +0001b0f0: 7363 7269 7074 2062 6f75 6e64 696e 6720 script bounding │ │ │ │ │ +0001b100: 626f 7865 7320 6f66 0ae2 8098 736b 6574 boxes of....sket │ │ │ │ │ +0001b110: 6368 e280 992d 6765 6e65 7261 7465 6420 ch...-generated │ │ │ │ │ +0001b120: 6669 6775 7265 7320 696e 2074 6865 206d figures in the m │ │ │ │ │ +0001b130: 616e 7561 6c2e 2020 5468 6973 2074 6f6f anual. This too │ │ │ │ │ +0001b140: 6c20 6973 2061 7661 696c 6162 6c65 2069 l is available i │ │ │ │ │ +0001b150: 6e0a 6269 6e61 7279 2066 6f72 6d20 666f n.binary form fo │ │ │ │ │ +0001b160: 7220 5769 6e64 6f77 732c 2061 6e64 2069 r Windows, and i │ │ │ │ │ +0001b170: 7420 6275 696c 6473 2065 6173 696c 7920 t builds easily │ │ │ │ │ +0001b180: 7769 7468 2061 2073 696d 706c 6520 e280 with a simple .. │ │ │ │ │ +0001b190: 986d 616b 65e2 8099 2075 6e64 6572 0a6c .make... under.l │ │ │ │ │ +0001b1a0: 696e 7578 206f 7220 4379 6777 696e 2069 inux or Cygwin i │ │ │ │ │ +0001b1b0: 6e73 7461 6c6c 6174 696f 6e73 2074 6861 nstallations tha │ │ │ │ │ +0001b1c0: 7420 6861 7665 2064 6576 656c 6f70 6d65 t have developme │ │ │ │ │ +0001b1d0: 6e74 2074 6f6f 6c73 2069 6e73 7461 6c6c nt tools install │ │ │ │ │ +0001b1e0: 6564 206f 720a 756e 6465 7220 e280 984d ed or.under ...M │ │ │ │ │ +0001b1f0: 6163 204f 5320 58e2 8099 2077 6974 6820 ac OS X... with │ │ │ │ │ +0001b200: e280 9858 436f 6465 e280 9920 696e 7374 ...XCode... inst │ │ │ │ │ +0001b210: 616c 6c65 642e 0a0a 1f0a 4669 6c65 3a20 alled.....File: │ │ │ │ │ +0001b220: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +0001b230: 6465 3a20 496e 6465 7820 6f66 2073 796e de: Index of syn │ │ │ │ │ +0001b240: 7461 782c 2020 4e65 7874 3a20 496e 6465 tax, Next: Inde │ │ │ │ │ +0001b250: 782c 2020 5072 6576 3a20 496e 7374 616c x, Prev: Instal │ │ │ │ │ +0001b260: 6c69 6e67 2073 6b65 7463 682c 2020 5570 ling sketch, Up │ │ │ │ │ +0001b270: 3a20 546f 700a 0a49 6e64 6578 206f 6620 : Top..Index of │ │ │ │ │ +0001b280: 7379 6e74 6178 0a2a 2a2a 2a2a 2a2a 2a2a syntax.********* │ │ │ │ │ +0001b290: 2a2a 2a2a 2a2a 0a0a 0008 5b69 6e64 6578 ******....[index │ │ │ │ │ +0001b2a0: 0008 5d0a 2a20 4d65 6e75 3a0a 0a2a 202d ..].* Menu:..* - │ │ │ │ │ +0001b2b0: 2c20 6d69 6e75 7320 6f70 6572 6174 6f72 , minus operator │ │ │ │ │ +0001b2c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001b2d0: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ +0001b2e0: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ +0001b2f0: 2e0a 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 2028 6c69 (li │ │ │ │ │ -0001b330: 6e65 2031 3529 0a2a 202d 2c20 756e 6172 ne 15).* -, unar │ │ │ │ │ -0001b340: 7920 6d69 6e75 7320 6f70 6572 6174 6f72 y minus operator │ │ │ │ │ -0001b350: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001b360: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. │ │ │ │ │ -0001b370: 2020 2020 2020 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ -0001b380: 2a20 2e2c 2064 6f74 206f 7065 7261 746f * ., dot operato │ │ │ │ │ -0001b390: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ -0001b3a0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ -0001b3b0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ -0001b3c0: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ +0001b320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001b330: 2028 6c69 6e65 2031 3529 0a2a 202d 2c20 (line 15).* -, │ │ │ │ │ +0001b340: 756e 6172 7920 6d69 6e75 7320 6f70 6572 unary minus oper │ │ │ │ │ +0001b350: 6174 6f72 3a20 2020 2020 2020 2020 2020 ator: │ │ │ │ │ +0001b360: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms. │ │ │ │ │ +0001b370: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001b380: 3130 290a 2a20 2e2c 2064 6f74 206f 7065 10).* ., dot ope │ │ │ │ │ +0001b390: 7261 746f 723a 2020 2020 2020 2020 2020 rator: │ │ │ │ │ +0001b3a0: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ +0001b3b0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ +0001b3c0: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ 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 286c 696e 6520 3139 290a 2a20 (line 19).* │ │ │ │ │ -0001b410: 2e2c 2064 6f74 206f 7065 7261 746f 7220 ., dot operator │ │ │ │ │ -0001b420: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -0001b430: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera │ │ │ │ │ -0001b440: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form │ │ │ │ │ -0001b450: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ +0001b400: 2020 2020 2020 2020 286c 696e 6520 3139 (line 19 │ │ │ │ │ +0001b410: 290a 2a20 2e2c 2064 6f74 206f 7065 7261 ).* ., dot opera │ │ │ │ │ +0001b420: 746f 7220 3c31 3e3a 2020 2020 2020 2020 tor <1>: │ │ │ │ │ +0001b430: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ +0001b440: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ +0001b450: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ 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 286c 696e 6520 3631 290a 2a20 2778 (line 61).* 'x │ │ │ │ │ -0001b4a0: 2c20 2779 2c20 616e 6420 277a 3a20 2020 , 'y, and 'z: │ │ │ │ │ -0001b4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b4c0: 2020 2020 2041 6666 696e 6520 6172 6974 Affine arit │ │ │ │ │ -0001b4d0: 686d 6574 6963 2e20 2020 2028 6c69 6e65 hmetic. (line │ │ │ │ │ -0001b4e0: 2033 3729 0a2a 2027 782c 2027 792c 2061 37).* 'x, 'y, a │ │ │ │ │ -0001b4f0: 6e64 2027 7a20 3c31 3e3a 2020 2020 2020 nd 'z <1>: │ │ │ │ │ -0001b500: 2020 2020 2020 2020 2020 2020 2020 5477 Tw │ │ │ │ │ -0001b510: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ -0001b520: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ +0001b490: 2020 2020 2020 286c 696e 6520 3631 290a (line 61). │ │ │ │ │ +0001b4a0: 2a20 2778 2c20 2779 2c20 616e 6420 277a * 'x, 'y, and 'z │ │ │ │ │ +0001b4b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001b4c0: 2020 2020 2020 2020 2041 6666 696e 6520 Affine │ │ │ │ │ +0001b4d0: 6172 6974 686d 6574 6963 2e20 2020 2028 arithmetic. ( │ │ │ │ │ +0001b4e0: 6c69 6e65 2033 3729 0a2a 2027 782c 2027 line 37).* 'x, ' │ │ │ │ │ +0001b4f0: 792c 2061 6e64 2027 7a20 3c31 3e3a 2020 y, and 'z <1>: │ │ │ │ │ +0001b500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001b510: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ +0001b520: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) 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 2028 6c69 6e65 2034 (line 4 │ │ │ │ │ -0001b570: 3129 0a2a 2028 2029 2c20 6772 6f75 7069 1).* ( ), groupi │ │ │ │ │ -0001b580: 6e67 3a20 2020 2020 2020 2020 2020 2020 ng: │ │ │ │ │ -0001b590: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ -0001b5a0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ -0001b5b0: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ +0001b560: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001b570: 6e65 2034 3129 0a2a 2028 2029 2c20 6772 ne 41).* ( ), gr │ │ │ │ │ +0001b580: 6f75 7069 6e67 3a20 2020 2020 2020 2020 ouping: │ │ │ │ │ +0001b590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001b5a0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ +0001b5b0: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2035 3829 (line 58) │ │ │ │ │ -0001b600: 0a2a 2028 666f 6f29 2c20 706f 696e 7420 .* (foo), point │ │ │ │ │ -0001b610: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: │ │ │ │ │ -0001b620: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ -0001b630: 6720 6120 736f 6c69 642e 2020 2020 2020 g a solid. │ │ │ │ │ -0001b640: 286c 696e 6520 3234 290a 2a20 2866 6f6f (line 24).* (foo │ │ │ │ │ -0001b650: 292c 2070 6f69 6e74 2072 6566 6572 656e ), point referen │ │ │ │ │ -0001b660: 6365 203c 313e 3a20 2020 2020 2020 2020 ce <1>: │ │ │ │ │ -0001b670: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe │ │ │ │ │ -0001b680: 7265 6e63 6573 2e20 2028 6c69 6e65 2031 rences. (line 1 │ │ │ │ │ -0001b690: 3429 0a2a 205b 5b20 5d5b 205d 5b20 5d5b 4).* [[ ][ ][ ][ │ │ │ │ │ -0001b6a0: 205d 5d2c 2074 7261 6e73 666f 726d 206c ]], transform l │ │ │ │ │ -0001b6b0: 6974 6572 616c 3a20 2020 2020 5472 616e iteral: Tran │ │ │ │ │ -0001b6c0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -0001b6d0: 2020 286c 696e 6520 3437 290a 2a20 5b5b (line 47).* [[ │ │ │ │ │ -0001b6e0: 205d 5b20 5d5b 205d 5b20 5d5d 2c20 7472 ][ ][ ][ ]], tr │ │ │ │ │ -0001b6f0: 616e 7366 6f72 6d20 6c69 7465 7261 6c20 ansform literal │ │ │ │ │ -0001b700: 3c31 3e3a 2054 7261 6e73 666f 726d 206c <1>: Transform l │ │ │ │ │ -0001b710: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line │ │ │ │ │ -0001b720: 2035 3329 0a2a 205b 5b66 6f6f 5d5d 2c20 53).* [[foo]], │ │ │ │ │ -0001b730: 7472 616e 7366 6f72 6d20 7265 6665 7265 transform refere │ │ │ │ │ -0001b740: 6e63 653a 2020 2020 2020 2020 2020 466f nce: Fo │ │ │ │ │ -0001b750: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ -0001b760: 732e 2020 286c 696e 6520 3136 290a 2a20 s. (line 16).* │ │ │ │ │ -0001b770: 5b5b 666f 6f5d 5d2c 2074 7261 6e73 666f [[foo]], transfo │ │ │ │ │ -0001b780: 726d 2072 6566 6572 656e 6365 203c 313e rm reference <1> │ │ │ │ │ -0001b790: 3a20 2020 2020 204f 7665 7276 6965 772e : Overview. │ │ │ │ │ -0001b7a0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001b7b0: 6e65 2033 3529 0a2a 205b 5b66 6f6f 5d5d ne 35).* [[foo]] │ │ │ │ │ -0001b7c0: 2c20 7472 616e 7366 6f72 6d20 7265 6665 , transform refe │ │ │ │ │ -0001b7d0: 7265 6e63 6520 3c32 3e3a 2020 2020 2020 rence <2>: │ │ │ │ │ -0001b7e0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -0001b7f0: 2020 2020 2020 286c 696e 6520 3335 290a (line 35). │ │ │ │ │ -0001b800: 2a20 5b66 6f6f 2c2e 2e2e 2c62 6172 5d2c * [foo,...,bar], │ │ │ │ │ -0001b810: 206d 756c 7469 706c 6520 6f70 7469 6f6e multiple option │ │ │ │ │ -0001b820: 7320 7265 6665 7265 6e63 653a 2046 6f72 s reference: For │ │ │ │ │ -0001b830: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ -0001b840: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0001b5f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001b600: 2035 3829 0a2a 2028 666f 6f29 2c20 706f 58).* (foo), po │ │ │ │ │ +0001b610: 696e 7420 7265 6665 7265 6e63 653a 2020 int reference: │ │ │ │ │ +0001b620: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ +0001b630: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. │ │ │ │ │ +0001b640: 2020 2020 286c 696e 6520 3234 290a 2a20 (line 24).* │ │ │ │ │ +0001b650: 2866 6f6f 292c 2070 6f69 6e74 2072 6566 (foo), point ref │ │ │ │ │ +0001b660: 6572 656e 6365 203c 313e 3a20 2020 2020 erence <1>: │ │ │ │ │ +0001b670: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ +0001b680: 7265 6665 7265 6e63 6573 2e20 2028 6c69 references. (li │ │ │ │ │ +0001b690: 6e65 2031 3429 0a2a 205b 5b20 5d5b 205d ne 14).* [[ ][ ] │ │ │ │ │ +0001b6a0: 5b20 5d5b 205d 5d2c 2074 7261 6e73 666f [ ][ ]], transfo │ │ │ │ │ +0001b6b0: 726d 206c 6974 6572 616c 3a20 2020 2020 rm literal: │ │ │ │ │ +0001b6c0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +0001b6d0: 6c73 2e20 2020 286c 696e 6520 3437 290a ls. (line 47). │ │ │ │ │ +0001b6e0: 2a20 5b5b 205d 5b20 5d5b 205d 5b20 5d5d * [[ ][ ][ ][ ]] │ │ │ │ │ +0001b6f0: 2c20 7472 616e 7366 6f72 6d20 6c69 7465 , transform lite │ │ │ │ │ +0001b700: 7261 6c20 3c31 3e3a 2054 7261 6e73 666f ral <1>: Transfo │ │ │ │ │ +0001b710: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. ( │ │ │ │ │ +0001b720: 6c69 6e65 2035 3329 0a2a 205b 5b66 6f6f line 53).* [[foo │ │ │ │ │ +0001b730: 5d5d 2c20 7472 616e 7366 6f72 6d20 7265 ]], transform re │ │ │ │ │ +0001b740: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: │ │ │ │ │ +0001b750: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ +0001b760: 656e 6365 732e 2020 286c 696e 6520 3136 ences. (line 16 │ │ │ │ │ +0001b770: 290a 2a20 5b5b 666f 6f5d 5d2c 2074 7261 ).* [[foo]], tra │ │ │ │ │ +0001b780: 6e73 666f 726d 2072 6566 6572 656e 6365 nsform reference │ │ │ │ │ +0001b790: 203c 313e 3a20 2020 2020 204f 7665 7276 <1>: Overv │ │ │ │ │ +0001b7a0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001b7b0: 2028 6c69 6e65 2033 3529 0a2a 205b 5b66 (line 35).* [[f │ │ │ │ │ +0001b7c0: 6f6f 5d5d 2c20 7472 616e 7366 6f72 6d20 oo]], transform │ │ │ │ │ +0001b7d0: 7265 6665 7265 6e63 6520 3c32 3e3a 2020 reference <2>: │ │ │ │ │ +0001b7e0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ +0001b7f0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001b800: 3335 290a 2a20 5b66 6f6f 2c2e 2e2e 2c62 35).* [foo,...,b │ │ │ │ │ +0001b810: 6172 5d2c 206d 756c 7469 706c 6520 6f70 ar], multiple op │ │ │ │ │ +0001b820: 7469 6f6e 7320 7265 6665 7265 6e63 653a tions reference: │ │ │ │ │ +0001b830: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere │ │ │ │ │ +0001b840: 6e63 6573 2e0a 2020 2020 2020 2020 2020 nces.. │ │ │ │ │ 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: 2028 6c69 6e65 2031 3829 0a2a 205b 666f (line 18).* [fo │ │ │ │ │ -0001b890: 6f5d 2c20 6f70 7469 6f6e 7320 7265 6665 o], options refe │ │ │ │ │ -0001b8a0: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: │ │ │ │ │ -0001b8b0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ -0001b8c0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure │ │ │ │ │ -0001b8d0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0001b880: 2020 2020 2028 6c69 6e65 2031 3829 0a2a (line 18).* │ │ │ │ │ +0001b890: 205b 666f 6f5d 2c20 6f70 7469 6f6e 7320 [foo], options │ │ │ │ │ +0001b8a0: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: │ │ │ │ │ +0001b8b0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +0001b8c0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ +0001b8d0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ 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: 2028 6c69 6e65 2032 3429 0a2a 205b 666f (line 24).* [fo │ │ │ │ │ -0001b920: 6f5d 2c20 6f70 7469 6f6e 7320 7265 6665 o], options refe │ │ │ │ │ -0001b930: 7265 6e63 6520 3c31 3e3a 2020 2020 2020 rence <1>: │ │ │ │ │ -0001b940: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ -0001b950: 6572 656e 6365 732e 2020 286c 696e 6520 erences. (line │ │ │ │ │ -0001b960: 3138 290a 2a20 5b66 6f6f 5d2c 2076 6563 18).* [foo], vec │ │ │ │ │ -0001b970: 746f 7220 7265 6665 7265 6e63 653a 2020 tor reference: │ │ │ │ │ -0001b980: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ -0001b990: 796c 696e 6520 7377 6565 7073 2e20 2020 yline sweeps. │ │ │ │ │ -0001b9a0: 2020 2028 6c69 6e65 2032 3029 0a2a 205b (line 20).* [ │ │ │ │ │ -0001b9b0: 666f 6f5d 2c20 7665 6374 6f72 2072 6566 foo], vector ref │ │ │ │ │ -0001b9c0: 6572 656e 6365 203c 313e 3a20 2020 2020 erence <1>: │ │ │ │ │ -0001b9d0: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ -0001b9e0: 6566 6572 656e 6365 732e 2020 286c 696e eferences. (lin │ │ │ │ │ -0001b9f0: 6520 3135 290a 2a20 7b20 7d2c 2062 6c6f e 15).* { }, blo │ │ │ │ │ -0001ba00: 636b 2064 7261 7761 626c 653a 2020 2020 ck drawable: │ │ │ │ │ -0001ba10: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -0001ba20: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ -0001ba30: 2e20 2020 2028 6c69 6e65 2032 3429 0a2a . (line 24).* │ │ │ │ │ -0001ba40: 207b 207d 2c20 626c 6f63 6b20 6472 6177 { }, block draw │ │ │ │ │ -0001ba50: 6162 6c65 203c 313e 3a20 2020 2020 2020 able <1>: │ │ │ │ │ -0001ba60: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s │ │ │ │ │ -0001ba70: 7765 6570 732e 2020 2020 2020 2020 286c weeps. (l │ │ │ │ │ -0001ba80: 696e 6520 3235 290a 2a20 7b20 7d2c 2062 ine 25).* { }, b │ │ │ │ │ -0001ba90: 6c6f 636b 2064 7261 7761 626c 6520 3c32 lock drawable <2 │ │ │ │ │ -0001baa0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001bab0: 2053 7765 7074 2062 6c6f 636b 732e 2020 Swept blocks. │ │ │ │ │ -0001bac0: 2020 2020 2020 2028 6c69 6e65 2020 3729 (line 7) │ │ │ │ │ -0001bad0: 0a2a 207b 207d 2c20 626c 6f63 6b20 6472 .* { }, block dr │ │ │ │ │ -0001bae0: 6177 6162 6c65 203c 333e 3a20 2020 2020 awable <3>: │ │ │ │ │ -0001baf0: 2020 2020 2020 2020 2020 426c 6f63 6b73 Blocks │ │ │ │ │ -0001bb00: 2e20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -0001bb10: 286c 696e 6520 2036 290a 2a20 7b20 7d2c (line 6).* { }, │ │ │ │ │ -0001bb20: 2062 6c6f 636b 2064 7261 7761 626c 6520 block drawable │ │ │ │ │ -0001bb30: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -0001bb40: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ -0001bb50: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3 │ │ │ │ │ -0001bb60: 3729 0a2a 207b 666f 6f7d 2c20 6472 6177 7).* {foo}, draw │ │ │ │ │ -0001bb70: 6162 6c65 2072 6566 6572 656e 6365 3a20 able reference: │ │ │ │ │ -0001bb80: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje │ │ │ │ │ -0001bb90: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. │ │ │ │ │ -0001bba0: 2020 286c 696e 6520 3333 290a 2a20 7b66 (line 33).* {f │ │ │ │ │ -0001bbb0: 6f6f 7d2c 2064 7261 7761 626c 6520 7265 oo}, drawable re │ │ │ │ │ -0001bbc0: 6665 7265 6e63 6520 3c31 3e3a 2020 2020 ference <1>: │ │ │ │ │ -0001bbd0: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re │ │ │ │ │ -0001bbe0: 6665 7265 6e63 6573 2e20 2028 6c69 6e65 ferences. (line │ │ │ │ │ -0001bbf0: 2031 3729 0a2a 207b 666f 6f7d 2c20 6472 17).* {foo}, dr │ │ │ │ │ -0001bc00: 6177 6162 6c65 2072 6566 6572 656e 6365 awable reference │ │ │ │ │ -0001bc10: 203c 323e 3a20 2020 2020 2020 2020 4f76 <2>: Ov │ │ │ │ │ -0001bc20: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ -0001bc30: 2020 2020 286c 696e 6520 3437 290a 2a20 (line 47).* │ │ │ │ │ -0001bc40: 7b66 6f6f 7d2c 2064 7261 7761 626c 6520 {foo}, drawable │ │ │ │ │ -0001bc50: 7265 6665 7265 6e63 6520 3c33 3e3a 2020 reference <3>: │ │ │ │ │ -0001bc60: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ -0001bc70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001bc80: 6e65 2035 3729 0a2a 202a 2c20 6d75 6c74 ne 57).* *, mult │ │ │ │ │ -0001bc90: 6970 6c69 6361 7469 6f6e 206f 7065 7261 iplication opera │ │ │ │ │ -0001bca0: 746f 723a 2020 2020 2020 2020 2020 2020 tor: │ │ │ │ │ -0001bcb0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ -0001bcc0: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ +0001b910: 2020 2020 2028 6c69 6e65 2032 3429 0a2a (line 24).* │ │ │ │ │ +0001b920: 205b 666f 6f5d 2c20 6f70 7469 6f6e 7320 [foo], options │ │ │ │ │ +0001b930: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: │ │ │ │ │ +0001b940: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ +0001b950: 2072 6566 6572 656e 6365 732e 2020 286c references. (l │ │ │ │ │ +0001b960: 696e 6520 3138 290a 2a20 5b66 6f6f 5d2c ine 18).* [foo], │ │ │ │ │ +0001b970: 2076 6563 746f 7220 7265 6665 7265 6e63 vector referenc │ │ │ │ │ +0001b980: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +0001b990: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ +0001b9a0: 2e20 2020 2020 2028 6c69 6e65 2032 3029 . (line 20) │ │ │ │ │ +0001b9b0: 0a2a 205b 666f 6f5d 2c20 7665 6374 6f72 .* [foo], vector │ │ │ │ │ +0001b9c0: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: │ │ │ │ │ +0001b9d0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ +0001b9e0: 6f66 2072 6566 6572 656e 6365 732e 2020 of references. │ │ │ │ │ +0001b9f0: 286c 696e 6520 3135 290a 2a20 7b20 7d2c (line 15).* { }, │ │ │ │ │ +0001ba00: 2062 6c6f 636b 2064 7261 7761 626c 653a block drawable: │ │ │ │ │ +0001ba10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ba20: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +0001ba30: 6f72 6d73 2e20 2020 2028 6c69 6e65 2032 orms. (line 2 │ │ │ │ │ +0001ba40: 3429 0a2a 207b 207d 2c20 626c 6f63 6b20 4).* { }, block │ │ │ │ │ +0001ba50: 6472 6177 6162 6c65 203c 313e 3a20 2020 drawable <1>: │ │ │ │ │ +0001ba60: 2020 2020 2020 2020 2020 2020 4e65 7374 Nest │ │ │ │ │ +0001ba70: 6564 2073 7765 6570 732e 2020 2020 2020 ed sweeps. │ │ │ │ │ +0001ba80: 2020 286c 696e 6520 3235 290a 2a20 7b20 (line 25).* { │ │ │ │ │ +0001ba90: 7d2c 2062 6c6f 636b 2064 7261 7761 626c }, block drawabl │ │ │ │ │ +0001baa0: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: │ │ │ │ │ +0001bab0: 2020 2020 2053 7765 7074 2062 6c6f 636b Swept block │ │ │ │ │ +0001bac0: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +0001bad0: 2020 3729 0a2a 207b 207d 2c20 626c 6f63 7).* { }, bloc │ │ │ │ │ +0001bae0: 6b20 6472 6177 6162 6c65 203c 333e 3a20 k drawable <3>: │ │ │ │ │ +0001baf0: 2020 2020 2020 2020 2020 2020 2020 426c Bl │ │ │ │ │ +0001bb00: 6f63 6b73 2e20 2020 2020 2020 2020 2020 ocks. │ │ │ │ │ +0001bb10: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ +0001bb20: 7b20 7d2c 2062 6c6f 636b 2064 7261 7761 { }, block drawa │ │ │ │ │ +0001bb30: 626c 6520 3c34 3e3a 2020 2020 2020 2020 ble <4>: │ │ │ │ │ +0001bb40: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +0001bb50: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001bb60: 6e65 2033 3729 0a2a 207b 666f 6f7d 2c20 ne 37).* {foo}, │ │ │ │ │ +0001bb70: 6472 6177 6162 6c65 2072 6566 6572 656e drawable referen │ │ │ │ │ +0001bb80: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: │ │ │ │ │ +0001bb90: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ +0001bba0: 732e 2020 2020 286c 696e 6520 3333 290a s. (line 33). │ │ │ │ │ +0001bbb0: 2a20 7b66 6f6f 7d2c 2064 7261 7761 626c * {foo}, drawabl │ │ │ │ │ +0001bbc0: 6520 7265 6665 7265 6e63 6520 3c31 3e3a e reference <1>: │ │ │ │ │ +0001bbd0: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ +0001bbe0: 6620 7265 6665 7265 6e63 6573 2e20 2028 f references. ( │ │ │ │ │ +0001bbf0: 6c69 6e65 2031 3729 0a2a 207b 666f 6f7d line 17).* {foo} │ │ │ │ │ +0001bc00: 2c20 6472 6177 6162 6c65 2072 6566 6572 , drawable refer │ │ │ │ │ +0001bc10: 656e 6365 203c 323e 3a20 2020 2020 2020 ence <2>: │ │ │ │ │ +0001bc20: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +0001bc30: 2020 2020 2020 2020 286c 696e 6520 3437 (line 47 │ │ │ │ │ +0001bc40: 290a 2a20 7b66 6f6f 7d2c 2064 7261 7761 ).* {foo}, drawa │ │ │ │ │ +0001bc50: 626c 6520 7265 6665 7265 6e63 6520 3c33 ble reference <3 │ │ │ │ │ +0001bc60: 3e3a 2020 2020 2020 2020 204f 7665 7276 >: Overv │ │ │ │ │ +0001bc70: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001bc80: 2028 6c69 6e65 2035 3729 0a2a 202a 2c20 (line 57).* *, │ │ │ │ │ +0001bc90: 6d75 6c74 6970 6c69 6361 7469 6f6e 206f multiplication o │ │ │ │ │ +0001bca0: 7065 7261 746f 723a 2020 2020 2020 2020 perator: │ │ │ │ │ +0001bcb0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ +0001bcc0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) 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 2028 6c69 6e65 (line │ │ │ │ │ -0001bd10: 2031 3929 0a2a 202a 2c20 6d75 6c74 6970 19).* *, multip │ │ │ │ │ -0001bd20: 6c69 6361 7469 6f6e 206f 7065 7261 746f lication operato │ │ │ │ │ -0001bd30: 7220 3c31 3e3a 2020 2020 2020 2020 5477 r <1>: Tw │ │ │ │ │ -0001bd40: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ -0001bd50: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ +0001bd00: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001bd10: 6c69 6e65 2031 3929 0a2a 202a 2c20 6d75 line 19).* *, mu │ │ │ │ │ +0001bd20: 6c74 6970 6c69 6361 7469 6f6e 206f 7065 ltiplication ope │ │ │ │ │ +0001bd30: 7261 746f 7220 3c31 3e3a 2020 2020 2020 rator <1>: │ │ │ │ │ +0001bd40: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ +0001bd50: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) 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 2028 6c69 6e65 2036 (line 6 │ │ │ │ │ -0001bda0: 3829 0a2a 202f 2c20 6469 7669 7369 6f6e 8).* /, division │ │ │ │ │ -0001bdb0: 206f 7065 7261 746f 723a 2020 2020 2020 operator: │ │ │ │ │ -0001bdc0: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ -0001bdd0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ -0001bde0: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ +0001bd90: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001bda0: 6e65 2036 3829 0a2a 202f 2c20 6469 7669 ne 68).* /, divi │ │ │ │ │ +0001bdb0: 7369 6f6e 206f 7065 7261 746f 723a 2020 sion operator: │ │ │ │ │ +0001bdc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bdd0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ +0001bde0: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2033 3829 (line 38) │ │ │ │ │ -0001be30: 0a2a 205e 2c20 6578 706f 6e65 6e74 6961 .* ^, exponentia │ │ │ │ │ -0001be40: 7469 6f6e 206f 7065 7261 746f 723a 2020 tion operator: │ │ │ │ │ -0001be50: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ -0001be60: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ -0001be70: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ +0001be20: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001be30: 2033 3829 0a2a 205e 2c20 6578 706f 6e65 38).* ^, expone │ │ │ │ │ +0001be40: 6e74 6961 7469 6f6e 206f 7065 7261 746f ntiation operato │ │ │ │ │ +0001be50: 723a 2020 2020 2020 2020 2020 2020 5477 r: Tw │ │ │ │ │ +0001be60: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ +0001be70: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2032 3729 0a2a (line 27).* │ │ │ │ │ -0001bec0: 202b 2c20 706c 7573 206f 7065 7261 746f +, plus operato │ │ │ │ │ -0001bed0: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ -0001bee0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ -0001bef0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ -0001bf00: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ +0001beb0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ +0001bec0: 3729 0a2a 202b 2c20 706c 7573 206f 7065 7).* +, plus ope │ │ │ │ │ +0001bed0: 7261 746f 723a 2020 2020 2020 2020 2020 rator: │ │ │ │ │ +0001bee0: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ +0001bef0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ +0001bf00: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ 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 2028 6c69 6e65 2031 3129 0a2a 203c (line 11).* < │ │ │ │ │ -0001bf50: 3e2c 2063 6c6f 7375 7265 2074 6167 3a20 >, closure tag: │ │ │ │ │ -0001bf60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bf70: 2020 2020 2020 506f 696e 7420 7377 6565 Point swee │ │ │ │ │ -0001bf80: 7073 2e20 2020 2020 2020 2020 286c 696e ps. (lin │ │ │ │ │ -0001bf90: 6520 3138 290a 2a20 3c3e 2c20 636c 6f73 e 18).* <>, clos │ │ │ │ │ -0001bfa0: 7572 6520 7461 6720 3c31 3e3a 2020 2020 ure tag <1>: │ │ │ │ │ -0001bfb0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001bfc0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ -0001bfd0: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith closure.. │ │ │ │ │ -0001bfe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bf40: 2020 2020 2020 2028 6c69 6e65 2031 3129 (line 11) │ │ │ │ │ +0001bf50: 0a2a 203c 3e2c 2063 6c6f 7375 7265 2074 .* <>, closure t │ │ │ │ │ +0001bf60: 6167 3a20 2020 2020 2020 2020 2020 2020 ag: │ │ │ │ │ +0001bf70: 2020 2020 2020 2020 2020 506f 696e 7420 Point │ │ │ │ │ +0001bf80: 7377 6565 7073 2e20 2020 2020 2020 2020 sweeps. │ │ │ │ │ +0001bf90: 286c 696e 6520 3138 290a 2a20 3c3e 2c20 (line 18).* <>, │ │ │ │ │ +0001bfa0: 636c 6f73 7572 6520 7461 6720 3c31 3e3a closure tag <1>: │ │ │ │ │ +0001bfb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bfc0: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ +0001bfd0: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure. │ │ │ │ │ +0001bfe0: 0a20 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 286c 696e (lin │ │ │ │ │ -0001c020: 6520 2036 290a 2a20 3c3e 2c20 636c 6f73 e 6).* <>, clos │ │ │ │ │ -0001c030: 7572 6520 7461 6720 3c32 3e3a 2020 2020 ure tag <2>: │ │ │ │ │ -0001c040: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0001c050: 7765 6570 732e 2020 2020 2020 2020 2020 weeps. │ │ │ │ │ -0001c060: 2020 2020 2028 6c69 6e65 2031 3929 0a2a (line 19).* │ │ │ │ │ -0001c070: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag │ │ │ │ │ -0001c080: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ -0001c090: 2020 2020 2020 2020 5377 6570 7420 706f Swept po │ │ │ │ │ -0001c0a0: 696e 7473 2e20 2020 2020 2020 2020 286c ints. (l │ │ │ │ │ -0001c0b0: 696e 6520 2036 290a 2a20 3c3e 2c20 636c ine 6).* <>, cl │ │ │ │ │ -0001c0c0: 6f73 7572 6520 7461 6720 3c34 3e3a 2020 osure tag <4>: │ │ │ │ │ -0001c0d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c0e0: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. │ │ │ │ │ -0001c0f0: 2020 2020 2020 2028 6c69 6e65 2031 3329 (line 13) │ │ │ │ │ -0001c100: 0a2a 203c 3e2c 2063 6c6f 7375 7265 2074 .* <>, closure t │ │ │ │ │ -0001c110: 6167 203c 353e 3a20 2020 2020 2020 2020 ag <5>: │ │ │ │ │ -0001c120: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -0001c130: 6c69 6e65 732e 2020 2020 2020 2020 2020 lines. │ │ │ │ │ -0001c140: 286c 696e 6520 2036 290a 2a20 3c3e 2c20 (line 6).* <>, │ │ │ │ │ -0001c150: 636c 6f73 7572 6520 7461 6720 3c36 3e3a closure tag <6>: │ │ │ │ │ -0001c160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c170: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ -0001c180: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ -0001c190: 3829 0a2a 203c 3e2c 2063 6c6f 7375 7265 8).* <>, closure │ │ │ │ │ -0001c1a0: 2074 6167 203c 373e 3a20 2020 2020 2020 tag <7>: │ │ │ │ │ -0001c1b0: 2020 2020 2020 2020 2020 2020 5377 6565 Swee │ │ │ │ │ -0001c1c0: 7020 6661 6365 2073 706c 6974 7469 6e67 p face splitting │ │ │ │ │ -0001c1d0: 2e20 286c 696e 6520 3131 290a 2a20 3c66 . (line 11).* , tag referen │ │ │ │ │ -0001c1f0: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: │ │ │ │ │ -0001c200: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de │ │ │ │ │ -0001c210: 6669 6e69 7469 6f6e 732e 2028 6c69 6e65 finitions. (line │ │ │ │ │ -0001c220: 2032 3029 0a2a 203c 666f 6f3e 2c20 7461 20).* , ta │ │ │ │ │ -0001c230: 6720 7265 6665 7265 6e63 6520 3c31 3e3a g reference <1>: │ │ │ │ │ -0001c240: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ -0001c250: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ -0001c260: 732e 2020 286c 696e 6520 3139 290a 2a20 s. (line 19).* │ │ │ │ │ -0001c270: 7c58 7c2c 206d 6167 6e69 7475 6465 206f |X|, magnitude o │ │ │ │ │ -0001c280: 7065 7261 746f 723a 2020 2020 2020 2020 perator: │ │ │ │ │ -0001c290: 2020 2020 2020 2055 6e61 7279 2066 6f72 Unary for │ │ │ │ │ -0001c2a0: 6d73 2e20 2020 2020 2020 2020 2028 6c69 ms. (li │ │ │ │ │ -0001c2b0: 6e65 2031 3229 0a2a 2061 636f 733a 2020 ne 12).* acos: │ │ │ │ │ -0001c2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c020: 286c 696e 6520 2036 290a 2a20 3c3e 2c20 (line 6).* <>, │ │ │ │ │ +0001c030: 636c 6f73 7572 6520 7461 6720 3c32 3e3a closure tag <2>: │ │ │ │ │ +0001c040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c050: 2020 2053 7765 6570 732e 2020 2020 2020 Sweeps. │ │ │ │ │ +0001c060: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001c070: 3929 0a2a 203c 3e2c 2063 6c6f 7375 7265 9).* <>, closure │ │ │ │ │ +0001c080: 2074 6167 203c 333e 3a20 2020 2020 2020 tag <3>: │ │ │ │ │ +0001c090: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +0001c0a0: 7420 706f 696e 7473 2e20 2020 2020 2020 t points. │ │ │ │ │ +0001c0b0: 2020 286c 696e 6520 2036 290a 2a20 3c3e (line 6).* <> │ │ │ │ │ +0001c0c0: 2c20 636c 6f73 7572 6520 7461 6720 3c34 , closure tag <4 │ │ │ │ │ +0001c0d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001c0e0: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point │ │ │ │ │ +0001c0f0: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +0001c100: 2031 3329 0a2a 203c 3e2c 2063 6c6f 7375 13).* <>, closu │ │ │ │ │ +0001c110: 7265 2074 6167 203c 353e 3a20 2020 2020 re tag <5>: │ │ │ │ │ +0001c120: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +0001c130: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. │ │ │ │ │ +0001c140: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ +0001c150: 3c3e 2c20 636c 6f73 7572 6520 7461 6720 <>, closure tag │ │ │ │ │ +0001c160: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: │ │ │ │ │ +0001c170: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin │ │ │ │ │ +0001c180: 6573 2e20 2020 2020 2020 2020 2028 6c69 es. (li │ │ │ │ │ +0001c190: 6e65 2032 3829 0a2a 203c 3e2c 2063 6c6f ne 28).* <>, clo │ │ │ │ │ +0001c1a0: 7375 7265 2074 6167 203c 373e 3a20 2020 sure tag <7>: │ │ │ │ │ +0001c1b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c1c0: 5377 6565 7020 6661 6365 2073 706c 6974 Sweep face split │ │ │ │ │ +0001c1d0: 7469 6e67 2e20 286c 696e 6520 3131 290a ting. (line 11). │ │ │ │ │ +0001c1e0: 2a20 3c66 6f6f 3e2c 2074 6167 2072 6566 * , tag ref │ │ │ │ │ +0001c1f0: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: │ │ │ │ │ +0001c200: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ +0001c210: 6620 6465 6669 6e69 7469 6f6e 732e 2028 f definitions. ( │ │ │ │ │ +0001c220: 6c69 6e65 2032 3029 0a2a 203c 666f 6f3e line 20).* │ │ │ │ │ +0001c230: 2c20 7461 6720 7265 6665 7265 6e63 6520 , tag reference │ │ │ │ │ +0001c240: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001c250: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ +0001c260: 656e 6365 732e 2020 286c 696e 6520 3139 ences. (line 19 │ │ │ │ │ +0001c270: 290a 2a20 7c58 7c2c 206d 6167 6e69 7475 ).* |X|, magnitu │ │ │ │ │ +0001c280: 6465 206f 7065 7261 746f 723a 2020 2020 de operator: │ │ │ │ │ +0001c290: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary │ │ │ │ │ +0001c2a0: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. │ │ │ │ │ +0001c2b0: 2028 6c69 6e65 2031 3229 0a2a 2061 636f (line 12).* aco │ │ │ │ │ +0001c2c0: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ 0001c2d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c2e0: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. │ │ │ │ │ -0001c2f0: 2020 2020 2020 286c 696e 6520 3138 290a (line 18). │ │ │ │ │ -0001c300: 2a20 6172 726f 7773 3a20 2020 2020 2020 * arrows: │ │ │ │ │ +0001c2e0: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms. │ │ │ │ │ +0001c2f0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001c300: 3138 290a 2a20 6172 726f 7773 3a20 2020 18).* arrows: │ │ │ │ │ 0001c310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c320: 2020 2020 2020 2020 2041 6666 696e 6520 Affine │ │ │ │ │ -0001c330: 6172 6974 686d 6574 6963 2e20 2020 2028 arithmetic. ( │ │ │ │ │ -0001c340: 6c69 6e65 2031 3129 0a2a 2061 7272 6f77 line 11).* arrow │ │ │ │ │ -0001c350: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: │ │ │ │ │ +0001c320: 2020 2020 2020 2020 2020 2020 2041 6666 Aff │ │ │ │ │ +0001c330: 696e 6520 6172 6974 686d 6574 6963 2e20 ine arithmetic. │ │ │ │ │ +0001c340: 2020 2028 6c69 6e65 2031 3129 0a2a 2061 (line 11).* a │ │ │ │ │ +0001c350: 7272 6f77 7320 3c31 3e3a 2020 2020 2020 rrows <1>: │ │ │ │ │ 0001c360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c370: 2020 4166 6669 6e65 2061 7269 7468 6d65 Affine arithme │ │ │ │ │ -0001c380: 7469 632e 2020 2020 286c 696e 6520 3238 tic. (line 28 │ │ │ │ │ -0001c390: 290a 2a20 6172 726f 7773 203c 323e 3a20 ).* arrows <2>: │ │ │ │ │ -0001c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c3b0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ -0001c3c0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ -0001c3d0: 2028 6c69 6e65 2036 3929 0a2a 2061 7272 (line 69).* arr │ │ │ │ │ -0001c3e0: 6f77 7320 3c33 3e3a 2020 2020 2020 2020 ows <3>: │ │ │ │ │ +0001c370: 2020 2020 2020 4166 6669 6e65 2061 7269 Affine ari │ │ │ │ │ +0001c380: 7468 6d65 7469 632e 2020 2020 286c 696e thmetic. (lin │ │ │ │ │ +0001c390: 6520 3238 290a 2a20 6172 726f 7773 203c e 28).* arrows < │ │ │ │ │ +0001c3a0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +0001c3b0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +0001c3c0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +0001c3d0: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).* │ │ │ │ │ +0001c3e0: 2061 7272 6f77 7320 3c33 3e3a 2020 2020 arrows <3>: │ │ │ │ │ 0001c3f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c400: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001c410: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ -0001c420: 3236 290a 2a20 6172 726f 7773 203c 343e 26).* arrows <4> │ │ │ │ │ -0001c430: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001c440: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ -0001c450: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -0001c460: 2e20 2028 6c69 6e65 2036 3829 0a2a 2061 . (line 68).* a │ │ │ │ │ -0001c470: 7369 6e3a 2020 2020 2020 2020 2020 2020 sin: │ │ │ │ │ +0001c400: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ +0001c410: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l │ │ │ │ │ +0001c420: 696e 6520 3236 290a 2a20 6172 726f 7773 ine 26).* arrows │ │ │ │ │ +0001c430: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ +0001c440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c450: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ +0001c460: 7769 6e67 2e20 2028 6c69 6e65 2036 3829 wing. (line 68) │ │ │ │ │ +0001c470: 0a2a 2061 7369 6e3a 2020 2020 2020 2020 .* asin: │ │ │ │ │ 0001c480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c490: 2020 2020 2020 556e 6172 7920 666f 726d Unary form │ │ │ │ │ -0001c4a0: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin │ │ │ │ │ -0001c4b0: 6520 3137 290a 2a20 6174 616e 323a 2020 e 17).* atan2: │ │ │ │ │ -0001c4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c4d0: 2020 2020 2020 2020 2020 2020 2020 2055 U │ │ │ │ │ -0001c4e0: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. │ │ │ │ │ -0001c4f0: 2020 2020 2028 6c69 6e65 2031 3929 0a2a (line 19).* │ │ │ │ │ -0001c500: 2063 616d 6572 613a 2020 2020 2020 2020 camera: │ │ │ │ │ +0001c490: 2020 2020 2020 2020 2020 556e 6172 7920 Unary │ │ │ │ │ +0001c4a0: 666f 726d 732e 2020 2020 2020 2020 2020 forms. │ │ │ │ │ +0001c4b0: 286c 696e 6520 3137 290a 2a20 6174 616e (line 17).* atan │ │ │ │ │ +0001c4c0: 323a 2020 2020 2020 2020 2020 2020 2020 2: │ │ │ │ │ +0001c4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c4e0: 2020 2055 6e61 7279 2066 6f72 6d73 2e20 Unary forms. │ │ │ │ │ +0001c4f0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001c500: 3929 0a2a 2063 616d 6572 613a 2020 2020 9).* camera: │ │ │ │ │ 0001c510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c520: 2020 2020 2020 2020 4361 6d65 7261 2e20 Camera. │ │ │ │ │ -0001c530: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001c540: 696e 6520 2036 290a 2a20 636f 6e74 6578 ine 6).* contex │ │ │ │ │ -0001c550: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +0001c520: 2020 2020 2020 2020 2020 2020 4361 6d65 Came │ │ │ │ │ +0001c530: 7261 2e20 2020 2020 2020 2020 2020 2020 ra. │ │ │ │ │ +0001c540: 2020 286c 696e 6520 2036 290a 2a20 636f (line 6).* co │ │ │ │ │ +0001c550: 6e74 6578 743a 2020 2020 2020 2020 2020 ntext: │ │ │ │ │ 0001c560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c570: 204c 616e 6775 6167 652e 2020 2020 2020 Language. │ │ │ │ │ -0001c580: 2020 2020 2020 2028 6c69 6e65 2031 3729 (line 17) │ │ │ │ │ -0001c590: 0a2a 2063 6f73 3a20 2020 2020 2020 2020 .* cos: │ │ │ │ │ +0001c570: 2020 2020 204c 616e 6775 6167 652e 2020 Language. │ │ │ │ │ +0001c580: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001c590: 2031 3729 0a2a 2063 6f73 3a20 2020 2020 17).* cos: │ │ │ │ │ 0001c5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c5b0: 2020 2020 2020 2020 2020 556e 6172 7920 Unary │ │ │ │ │ -0001c5c0: 666f 726d 732e 2020 2020 2020 2020 2020 forms. │ │ │ │ │ -0001c5d0: 286c 696e 6520 3136 290a 2a20 6375 6c6c (line 16).* cull │ │ │ │ │ -0001c5e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001c5b0: 2020 2020 2020 2020 2020 2020 2020 556e Un │ │ │ │ │ +0001c5c0: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. │ │ │ │ │ +0001c5d0: 2020 2020 286c 696e 6520 3136 290a 2a20 (line 16).* │ │ │ │ │ +0001c5e0: 6375 6c6c 3a20 2020 2020 2020 2020 2020 cull: │ │ │ │ │ 0001c5f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c600: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol │ │ │ │ │ -0001c610: 6964 2e20 2020 2020 2028 6c69 6e65 2034 id. (line 4 │ │ │ │ │ -0001c620: 3529 0a2a 2063 756c 6c20 3c31 3e3a 2020 5).* cull <1>: │ │ │ │ │ -0001c630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c640: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ -0001c650: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ -0001c660: 2020 286c 696e 6520 2039 290a 2a20 6375 (line 9).* cu │ │ │ │ │ -0001c670: 6c6c 203c 323e 3a20 2020 2020 2020 2020 ll <2>: │ │ │ │ │ +0001c600: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ +0001c610: 2073 6f6c 6964 2e20 2020 2020 2028 6c69 solid. (li │ │ │ │ │ +0001c620: 6e65 2034 3529 0a2a 2063 756c 6c20 3c31 ne 45).* cull <1 │ │ │ │ │ +0001c630: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001c640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c650: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ +0001c660: 2020 2020 2020 286c 696e 6520 2039 290a (line 9). │ │ │ │ │ +0001c670: 2a20 6375 6c6c 203c 323e 3a20 2020 2020 * cull <2>: │ │ │ │ │ 0001c680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c690: 2020 2020 2054 7261 6e73 7061 7265 6e63 Transparenc │ │ │ │ │ -0001c6a0: 792e 2020 2020 2020 2020 2028 6c69 6e65 y. (line │ │ │ │ │ -0001c6b0: 2031 3529 0a2a 2063 756c 6c20 3c33 3e3a 15).* cull <3>: │ │ │ │ │ -0001c6c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c6d0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001c6e0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001c6f0: 672e 2020 286c 696e 6520 3230 290a 2a20 g. (line 20).* │ │ │ │ │ -0001c700: 6375 6c6c 203c 343e 3a20 2020 2020 2020 cull <4>: │ │ │ │ │ +0001c690: 2020 2020 2020 2020 2054 7261 6e73 7061 Transpa │ │ │ │ │ +0001c6a0: 7265 6e63 792e 2020 2020 2020 2020 2028 rency. ( │ │ │ │ │ +0001c6b0: 6c69 6e65 2031 3529 0a2a 2063 756c 6c20 line 15).* cull │ │ │ │ │ +0001c6c0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +0001c6d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c6e0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +0001c6f0: 6177 696e 672e 2020 286c 696e 6520 3230 awing. (line 20 │ │ │ │ │ +0001c700: 290a 2a20 6375 6c6c 203c 343e 3a20 2020 ).* cull <4>: │ │ │ │ │ 0001c710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c720: 2020 2020 2020 2049 6e74 6572 6e61 6c20 Internal │ │ │ │ │ -0001c730: 6f70 7469 6f6e 732e 2020 2020 2028 6c69 options. (li │ │ │ │ │ -0001c740: 6e65 2020 3729 0a2a 2063 756c 6c20 3c35 ne 7).* cull <5 │ │ │ │ │ -0001c750: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001c720: 2020 2020 2020 2020 2020 2049 6e74 6572 Inter │ │ │ │ │ +0001c730: 6e61 6c20 6f70 7469 6f6e 732e 2020 2020 nal options. │ │ │ │ │ +0001c740: 2028 6c69 6e65 2020 3729 0a2a 2063 756c (line 7).* cul │ │ │ │ │ +0001c750: 6c20 3c35 3e3a 2020 2020 2020 2020 2020 l <5>: │ │ │ │ │ 0001c760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c770: 476c 6f62 616c 206f 7074 696f 6e73 2e20 Global options. │ │ │ │ │ -0001c780: 2020 2020 2020 286c 696e 6520 3133 290a (line 13). │ │ │ │ │ -0001c790: 2a20 6375 7276 653a 2020 2020 2020 2020 * curve: │ │ │ │ │ +0001c770: 2020 2020 476c 6f62 616c 206f 7074 696f Global optio │ │ │ │ │ +0001c780: 6e73 2e20 2020 2020 2020 286c 696e 6520 ns. (line │ │ │ │ │ +0001c790: 3133 290a 2a20 6375 7276 653a 2020 2020 13).* curve: │ │ │ │ │ 0001c7a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c7b0: 2020 2020 2020 2020 2043 7572 7665 732e Curves. │ │ │ │ │ -0001c7c0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0001c7d0: 6c69 6e65 2020 3629 0a2a 2064 6566 3a20 line 6).* def: │ │ │ │ │ -0001c7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c7b0: 2020 2020 2020 2020 2020 2020 2043 7572 Cur │ │ │ │ │ +0001c7c0: 7665 732e 2020 2020 2020 2020 2020 2020 ves. │ │ │ │ │ +0001c7d0: 2020 2028 6c69 6e65 2020 3629 0a2a 2064 (line 6).* d │ │ │ │ │ +0001c7e0: 6566 3a20 2020 2020 2020 2020 2020 2020 ef: │ │ │ │ │ 0001c7f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c800: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli │ │ │ │ │ -0001c810: 642e 2020 2020 2020 286c 696e 6520 2039 d. (line 9 │ │ │ │ │ -0001c820: 290a 2a20 6465 6620 3c31 3e3a 2020 2020 ).* def <1>: │ │ │ │ │ +0001c800: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a │ │ │ │ │ +0001c810: 736f 6c69 642e 2020 2020 2020 286c 696e solid. (lin │ │ │ │ │ +0001c820: 6520 2039 290a 2a20 6465 6620 3c31 3e3a e 9).* def <1>: │ │ │ │ │ 0001c830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c840: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ -0001c850: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ -0001c860: 2028 6c69 6e65 2032 3229 0a2a 2064 6566 (line 22).* def │ │ │ │ │ -0001c870: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001c840: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ +0001c850: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ +0001c860: 2020 2020 2028 6c69 6e65 2032 3229 0a2a (line 22).* │ │ │ │ │ +0001c870: 2064 6566 203c 323e 3a20 2020 2020 2020 def <2>: │ │ │ │ │ 0001c880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c890: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ -0001c8a0: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line │ │ │ │ │ -0001c8b0: 3130 290a 2a20 6465 6620 3c33 3e3a 2020 10).* def <3>: │ │ │ │ │ -0001c8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c8d0: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi │ │ │ │ │ -0001c8e0: 6e74 2073 7765 6570 732e 2020 2020 2020 nt sweeps. │ │ │ │ │ -0001c8f0: 2020 2028 6c69 6e65 2031 3929 0a2a 2064 (line 19).* d │ │ │ │ │ -0001c900: 6566 203c 343e 3a20 2020 2020 2020 2020 ef <4>: │ │ │ │ │ +0001c890: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ +0001c8a0: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l │ │ │ │ │ +0001c8b0: 696e 6520 3130 290a 2a20 6465 6620 3c33 ine 10).* def <3 │ │ │ │ │ +0001c8c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001c8d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c8e0: 2050 6f69 6e74 2073 7765 6570 732e 2020 Point sweeps. │ │ │ │ │ +0001c8f0: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19) │ │ │ │ │ +0001c900: 0a2a 2064 6566 203c 343e 3a20 2020 2020 .* def <4>: │ │ │ │ │ 0001c910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c920: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -0001c930: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin │ │ │ │ │ -0001c940: 6520 2039 290a 2a20 6465 6620 3c35 3e3a e 9).* def <5>: │ │ │ │ │ -0001c950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c960: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ -0001c970: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. │ │ │ │ │ -0001c980: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).* │ │ │ │ │ -0001c990: 2064 6566 203c 363e 3a20 2020 2020 2020 def <6>: │ │ │ │ │ +0001c920: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ +0001c930: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. │ │ │ │ │ +0001c940: 286c 696e 6520 2039 290a 2a20 6465 6620 (line 9).* def │ │ │ │ │ +0001c950: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ +0001c960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c970: 2020 204e 6573 7465 6420 7377 6565 7073 Nested sweeps │ │ │ │ │ +0001c980: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ +0001c990: 3829 0a2a 2064 6566 203c 363e 3a20 2020 8).* def <6>: │ │ │ │ │ 0001c9a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c9b0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -0001c9c0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ -0001c9d0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ +0001c9b0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +0001c9c0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ +0001c9d0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. │ │ │ │ │ 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 2028 6c69 6e65 2031 3029 0a2a (line 10).* │ │ │ │ │ -0001ca20: 2064 6566 203c 373e 3a20 2020 2020 2020 def <7>: │ │ │ │ │ +0001ca10: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001ca20: 3029 0a2a 2064 6566 203c 373e 3a20 2020 0).* def <7>: │ │ │ │ │ 0001ca30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca40: 2020 2020 2020 2020 4166 6669 6e65 2061 Affine a │ │ │ │ │ -0001ca50: 7269 7468 6d65 7469 632e 2020 2020 286c rithmetic. (l │ │ │ │ │ -0001ca60: 696e 6520 3131 290a 2a20 6465 6620 3c38 ine 11).* def <8 │ │ │ │ │ -0001ca70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001ca40: 2020 2020 2020 2020 2020 2020 4166 6669 Affi │ │ │ │ │ +0001ca50: 6e65 2061 7269 7468 6d65 7469 632e 2020 ne arithmetic. │ │ │ │ │ +0001ca60: 2020 286c 696e 6520 3131 290a 2a20 6465 (line 11).* de │ │ │ │ │ +0001ca70: 6620 3c38 3e3a 2020 2020 2020 2020 2020 f <8>: │ │ │ │ │ 0001ca80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca90: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ -0001caa0: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12) │ │ │ │ │ -0001cab0: 0a2a 2064 6566 203c 393e 3a20 2020 2020 .* def <9>: │ │ │ │ │ +0001ca90: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ +0001caa0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001cab0: 2031 3229 0a2a 2064 6566 203c 393e 3a20 12).* def <9>: │ │ │ │ │ 0001cac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cad0: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ -0001cae0: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. │ │ │ │ │ -0001caf0: 286c 696e 6520 3337 290a 2a20 6465 6620 (line 37).* def │ │ │ │ │ -0001cb00: 3c31 303e 3a20 2020 2020 2020 2020 2020 <10>: │ │ │ │ │ +0001cad0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ +0001cae0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ +0001caf0: 2020 2020 286c 696e 6520 3337 290a 2a20 (line 37).* │ │ │ │ │ +0001cb00: 6465 6620 3c31 303e 3a20 2020 2020 2020 def <10>: │ │ │ │ │ 0001cb10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cb20: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ -0001cb30: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6 │ │ │ │ │ -0001cb40: 3929 0a2a 2064 6566 203c 3131 3e3a 2020 9).* def <11>: │ │ │ │ │ -0001cb50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cb60: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ -0001cb70: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ -0001cb80: 2020 286c 696e 6520 3134 290a 2a20 6465 (line 14).* de │ │ │ │ │ -0001cb90: 6620 3c31 323e 3a20 2020 2020 2020 2020 f <12>: │ │ │ │ │ +0001cb20: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +0001cb30: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001cb40: 6e65 2036 3929 0a2a 2064 6566 203c 3131 ne 69).* def <11 │ │ │ │ │ +0001cb50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001cb60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cb70: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ +0001cb80: 696e 672e 2020 286c 696e 6520 3134 290a ing. (line 14). │ │ │ │ │ +0001cb90: 2a20 6465 6620 3c31 323e 3a20 2020 2020 * def <12>: │ │ │ │ │ 0001cba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cbb0: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -0001cbc0: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ -0001cbd0: 2032 3629 0a2a 2064 6566 203c 3133 3e3a 26).* def <13>: │ │ │ │ │ -0001cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cbf0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001cc00: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001cc10: 672e 2020 286c 696e 6520 3431 290a 2a20 g. (line 41).* │ │ │ │ │ -0001cc20: 6465 6620 3c31 343e 3a20 2020 2020 2020 def <14>: │ │ │ │ │ +0001cbb0: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +0001cbc0: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ +0001cbd0: 6c69 6e65 2032 3629 0a2a 2064 6566 203c line 26).* def < │ │ │ │ │ +0001cbe0: 3133 3e3a 2020 2020 2020 2020 2020 2020 13>: │ │ │ │ │ +0001cbf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cc00: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +0001cc10: 6177 696e 672e 2020 286c 696e 6520 3431 awing. (line 41 │ │ │ │ │ +0001cc20: 290a 2a20 6465 6620 3c31 343e 3a20 2020 ).* def <14>: │ │ │ │ │ 0001cc30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cc40: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -0001cc50: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ -0001cc60: 6e65 2036 3829 0a2a 2064 6566 203c 3135 ne 68).* def <15 │ │ │ │ │ -0001cc70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001cc40: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ +0001cc50: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ +0001cc60: 2028 6c69 6e65 2036 3829 0a2a 2064 6566 (line 68).* def │ │ │ │ │ +0001cc70: 203c 3135 3e3a 2020 2020 2020 2020 2020 <15>: │ │ │ │ │ 0001cc80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cc90: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ -0001cca0: 696e 672e 2020 286c 696e 6520 3935 290a ing. (line 95). │ │ │ │ │ -0001ccb0: 2a20 6465 6620 3c31 363e 3a20 2020 2020 * def <16>: │ │ │ │ │ +0001cc90: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ +0001cca0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ +0001ccb0: 3935 290a 2a20 6465 6620 3c31 363e 3a20 95).* def <16>: │ │ │ │ │ 0001ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ccd0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -0001cce0: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. ( │ │ │ │ │ -0001ccf0: 6c69 6e65 2031 3029 0a2a 2064 6566 203c line 10).* def < │ │ │ │ │ -0001cd00: 3137 3e3a 2020 2020 2020 2020 2020 2020 17>: │ │ │ │ │ +0001ccd0: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ +0001cce0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ +0001ccf0: 6c2e 2028 6c69 6e65 2031 3029 0a2a 2064 l. (line 10).* d │ │ │ │ │ +0001cd00: 6566 203c 3137 3e3a 2020 2020 2020 2020 ef <17>: │ │ │ │ │ 0001cd10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cd20: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ -0001cd30: 206d 6f64 656c 2e20 286c 696e 6520 3233 model. (line 23 │ │ │ │ │ -0001cd40: 290a 2a20 6465 6620 3c31 383e 3a20 2020 ).* def <18>: │ │ │ │ │ -0001cd50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cd60: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ -0001cd70: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ -0001cd80: 2028 6c69 6e65 2033 3229 0a2a 2064 6f74 (line 32).* dot │ │ │ │ │ -0001cd90: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +0001cd20: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ +0001cd30: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin │ │ │ │ │ +0001cd40: 6520 3233 290a 2a20 6465 6620 3c31 383e e 23).* def <18> │ │ │ │ │ +0001cd50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001cd60: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001cd70: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +0001cd80: 6465 6c2e 2028 6c69 6e65 2033 3229 0a2a del. (line 32).* │ │ │ │ │ +0001cd90: 2064 6f74 733a 2020 2020 2020 2020 2020 dots: │ │ │ │ │ 0001cda0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cdb0: 2020 2020 446f 7473 2e20 2020 2020 2020 Dots. │ │ │ │ │ -0001cdc0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001cdd0: 2036 290a 2a20 6669 6c6c 206f 7061 6369 6).* fill opaci │ │ │ │ │ -0001cde0: 7479 3a20 2020 2020 2020 2020 2020 2020 ty: │ │ │ │ │ -0001cdf0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ -0001ce00: 6e73 7061 7265 6e63 792e 2020 2020 2020 nsparency. │ │ │ │ │ -0001ce10: 2020 2028 6c69 6e65 2031 3029 0a2a 2066 (line 10).* f │ │ │ │ │ -0001ce20: 696c 6c20 7374 796c 653a 2020 2020 2020 ill style: │ │ │ │ │ +0001cdb0: 2020 2020 2020 2020 446f 7473 2e20 2020 Dots. │ │ │ │ │ +0001cdc0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0001cdd0: 696e 6520 2036 290a 2a20 6669 6c6c 206f ine 6).* fill o │ │ │ │ │ +0001cde0: 7061 6369 7479 3a20 2020 2020 2020 2020 pacity: │ │ │ │ │ +0001cdf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ce00: 2054 7261 6e73 7061 7265 6e63 792e 2020 Transparency. │ │ │ │ │ +0001ce10: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10) │ │ │ │ │ +0001ce20: 0a2a 2066 696c 6c20 7374 796c 653a 2020 .* fill style: │ │ │ │ │ 0001ce30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ce40: 2020 2020 2020 5469 6b5a 2f50 4746 2075 TikZ/PGF u │ │ │ │ │ -0001ce50: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl │ │ │ │ │ -0001ce60: 6573 2e0a 2020 2020 2020 2020 2020 2020 es.. │ │ │ │ │ +0001ce40: 2020 2020 2020 2020 2020 5469 6b5a 2f50 TikZ/P │ │ │ │ │ +0001ce50: 4746 2075 7365 722d 6465 6669 6e65 6420 GF user-defined │ │ │ │ │ +0001ce60: 7374 796c 6573 2e0a 2020 2020 2020 2020 styles.. │ │ │ │ │ 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 2028 6c69 6e65 2032 3529 0a2a 2066 (line 25).* f │ │ │ │ │ -0001ceb0: 696c 6c63 6f6c 6f72 3a20 2020 2020 2020 illcolor: │ │ │ │ │ +0001cea0: 2020 2020 2020 2028 6c69 6e65 2032 3529 (line 25) │ │ │ │ │ +0001ceb0: 0a2a 2066 696c 6c63 6f6c 6f72 3a20 2020 .* fillcolor: │ │ │ │ │ 0001cec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ced0: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ -0001cee0: 6e73 666f 726d 732e 2020 2020 286c 696e nsforms. (lin │ │ │ │ │ -0001cef0: 6520 3130 290a 2a20 6669 6c6c 636f 6c6f e 10).* fillcolo │ │ │ │ │ -0001cf00: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: │ │ │ │ │ -0001cf10: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001cf20: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ -0001cf30: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith closure.. │ │ │ │ │ -0001cf40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ced0: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ +0001cee0: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. │ │ │ │ │ +0001cef0: 286c 696e 6520 3130 290a 2a20 6669 6c6c (line 10).* fill │ │ │ │ │ +0001cf00: 636f 6c6f 7220 3c31 3e3a 2020 2020 2020 color <1>: │ │ │ │ │ +0001cf10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cf20: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ +0001cf30: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure. │ │ │ │ │ +0001cf40: 0a20 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 286c 696e (lin │ │ │ │ │ -0001cf80: 6520 3130 290a 2a20 6669 6c6c 636f 6c6f e 10).* fillcolo │ │ │ │ │ -0001cf90: 7220 3c32 3e3a 2020 2020 2020 2020 2020 r <2>: │ │ │ │ │ -0001cfa0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -0001cfb0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ -0001cfc0: 2020 2020 2028 6c69 6e65 2033 3729 0a2a (line 37).* │ │ │ │ │ -0001cfd0: 2066 7261 6d65 3a20 2020 2020 2020 2020 frame: │ │ │ │ │ +0001cf70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cf80: 286c 696e 6520 3130 290a 2a20 6669 6c6c (line 10).* fill │ │ │ │ │ +0001cf90: 636f 6c6f 7220 3c32 3e3a 2020 2020 2020 color <2>: │ │ │ │ │ +0001cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cfb0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +0001cfc0: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3 │ │ │ │ │ +0001cfd0: 3729 0a2a 2066 7261 6d65 3a20 2020 2020 7).* frame: │ │ │ │ │ 0001cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cff0: 2020 2020 2020 2020 4672 616d 652e 2020 Frame. │ │ │ │ │ -0001d000: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001d010: 696e 6520 2036 290a 2a20 6672 616d 6573 ine 6).* frames │ │ │ │ │ -0001d020: 6570 3a20 2020 2020 2020 2020 2020 2020 ep: │ │ │ │ │ +0001cff0: 2020 2020 2020 2020 2020 2020 4672 616d Fram │ │ │ │ │ +0001d000: 652e 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ │ │ +0001d010: 2020 286c 696e 6520 2036 290a 2a20 6672 (line 6).* fr │ │ │ │ │ +0001d020: 616d 6573 6570 3a20 2020 2020 2020 2020 amesep: │ │ │ │ │ 0001d030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d040: 2046 7261 6d65 2e20 2020 2020 2020 2020 Frame. │ │ │ │ │ -0001d050: 2020 2020 2020 2028 6c69 6e65 2031 3129 (line 11) │ │ │ │ │ -0001d060: 0a2a 2067 6c6f 6261 6c3a 2020 2020 2020 .* global: │ │ │ │ │ +0001d040: 2020 2020 2046 7261 6d65 2e20 2020 2020 Frame. │ │ │ │ │ +0001d050: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001d060: 2031 3129 0a2a 2067 6c6f 6261 6c3a 2020 11).* global: │ │ │ │ │ 0001d070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d080: 2020 2020 2020 2020 2020 476c 6f62 616c Global │ │ │ │ │ -0001d090: 2065 6e76 6972 6f6e 6d65 6e74 2e20 2020 environment. │ │ │ │ │ -0001d0a0: 286c 696e 6520 3132 290a 2a20 696e 7075 (line 12).* inpu │ │ │ │ │ -0001d0b0: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +0001d080: 2020 2020 2020 2020 2020 2020 2020 476c Gl │ │ │ │ │ +0001d090: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment │ │ │ │ │ +0001d0a0: 2e20 2020 286c 696e 6520 3132 290a 2a20 . (line 12).* │ │ │ │ │ +0001d0b0: 696e 7075 743a 2020 2020 2020 2020 2020 input: │ │ │ │ │ 0001d0c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d0d0: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi │ │ │ │ │ -0001d0e0: 6373 2e20 2020 2020 2028 6c69 6e65 2031 cs. (line 1 │ │ │ │ │ -0001d0f0: 3929 0a2a 2069 6e76 6572 7365 3a20 2020 9).* inverse: │ │ │ │ │ -0001d100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d110: 2020 2020 2020 2020 2020 2020 556e 6172 Unar │ │ │ │ │ -0001d120: 7920 666f 726d 732e 2020 2020 2020 2020 y forms. │ │ │ │ │ -0001d130: 2020 286c 696e 6520 3231 290a 2a20 6c61 (line 21).* la │ │ │ │ │ -0001d140: 6e67 7561 6765 3a20 2020 2020 2020 2020 nguage: │ │ │ │ │ +0001d0d0: 2020 2020 2020 204c 616e 6775 6167 6520 Language │ │ │ │ │ +0001d0e0: 6261 7369 6373 2e20 2020 2020 2028 6c69 basics. (li │ │ │ │ │ +0001d0f0: 6e65 2031 3929 0a2a 2069 6e76 6572 7365 ne 19).* inverse │ │ │ │ │ +0001d100: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d120: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. │ │ │ │ │ +0001d130: 2020 2020 2020 286c 696e 6520 3231 290a (line 21). │ │ │ │ │ +0001d140: 2a20 6c61 6e67 7561 6765 3a20 2020 2020 * language: │ │ │ │ │ 0001d150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d160: 2020 2020 204c 616e 6775 6167 652e 2020 Language. │ │ │ │ │ -0001d170: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001d180: 2020 3629 0a2a 206c 6174 6578 3a20 2020 6).* latex: │ │ │ │ │ -0001d190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d1a0: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ -0001d1b0: 6e67 7561 6765 2e20 2020 2020 2020 2020 nguage. │ │ │ │ │ -0001d1c0: 2020 2020 286c 696e 6520 3137 290a 2a20 (line 17).* │ │ │ │ │ -0001d1d0: 6c61 793a 2020 2020 2020 2020 2020 2020 lay: │ │ │ │ │ +0001d160: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ +0001d170: 652e 2020 2020 2020 2020 2020 2020 2028 e. ( │ │ │ │ │ +0001d180: 6c69 6e65 2020 3629 0a2a 206c 6174 6578 line 6).* latex │ │ │ │ │ +0001d190: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d1a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d1b0: 2020 4c61 6e67 7561 6765 2e20 2020 2020 Language. │ │ │ │ │ +0001d1c0: 2020 2020 2020 2020 286c 696e 6520 3137 (line 17 │ │ │ │ │ +0001d1d0: 290a 2a20 6c61 793a 2020 2020 2020 2020 ).* lay: │ │ │ │ │ 0001d1e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d1f0: 2020 2020 2020 2053 7065 6369 616c 206f Special o │ │ │ │ │ -0001d200: 626a 6563 7473 2e20 2020 2020 2028 6c69 bjects. (li │ │ │ │ │ -0001d210: 6e65 2034 3829 0a2a 206c 6179 203c 313e ne 48).* lay <1> │ │ │ │ │ -0001d220: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d1f0: 2020 2020 2020 2020 2020 2053 7065 6369 Speci │ │ │ │ │ +0001d200: 616c 206f 626a 6563 7473 2e20 2020 2020 al objects. │ │ │ │ │ +0001d210: 2028 6c69 6e65 2034 3829 0a2a 206c 6179 (line 48).* lay │ │ │ │ │ +0001d220: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ 0001d230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d240: 5469 6b5a 2f50 4746 2075 7365 722d 6465 TikZ/PGF user-de │ │ │ │ │ -0001d250: 6669 6e65 6420 7374 796c 6573 2e0a 2020 fined styles.. │ │ │ │ │ -0001d260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d240: 2020 2020 5469 6b5a 2f50 4746 2075 7365 TikZ/PGF use │ │ │ │ │ +0001d250: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles │ │ │ │ │ +0001d260: 2e0a 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 2028 6c69 (li │ │ │ │ │ -0001d2a0: 6e65 2033 3629 0a2a 206c 6179 203c 323e ne 36).* lay <2> │ │ │ │ │ -0001d2b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d290: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d2a0: 2028 6c69 6e65 2033 3629 0a2a 206c 6179 (line 36).* lay │ │ │ │ │ +0001d2b0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ 0001d2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d2d0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ -0001d2e0: 696e 672e 2020 286c 696e 6520 3236 290a ing. (line 26). │ │ │ │ │ -0001d2f0: 2a20 6c61 7920 3c33 3e3a 2020 2020 2020 * lay <3>: │ │ │ │ │ +0001d2d0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ +0001d2e0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ +0001d2f0: 3236 290a 2a20 6c61 7920 3c33 3e3a 2020 26).* lay <3>: │ │ │ │ │ 0001d300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d310: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ -0001d320: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ -0001d330: 6c69 6e65 2032 3629 0a2a 206c 6179 203c line 26).* lay < │ │ │ │ │ -0001d340: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: │ │ │ │ │ +0001d310: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ +0001d320: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +0001d330: 2e20 2028 6c69 6e65 2032 3629 0a2a 206c . (line 26).* l │ │ │ │ │ +0001d340: 6179 203c 343e 3a20 2020 2020 2020 2020 ay <4>: │ │ │ │ │ 0001d350: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d360: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ -0001d370: 6177 696e 672e 2020 286c 696e 6520 3935 awing. (line 95 │ │ │ │ │ -0001d380: 290a 2a20 6c61 7920 3c35 3e3a 2020 2020 ).* lay <5>: │ │ │ │ │ +0001d360: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ +0001d370: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ +0001d380: 6520 3935 290a 2a20 6c61 7920 3c35 3e3a e 95).* lay <5>: │ │ │ │ │ 0001d390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d3a0: 2020 2020 2020 2020 2020 2049 6e74 6572 Inter │ │ │ │ │ -0001d3b0: 6e61 6c20 6f70 7469 6f6e 732e 2020 2020 nal options. │ │ │ │ │ -0001d3c0: 2028 6c69 6e65 2020 3729 0a2a 206c 6179 (line 7).* lay │ │ │ │ │ -0001d3d0: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: │ │ │ │ │ +0001d3a0: 2020 2020 2020 2020 2020 2020 2020 2049 I │ │ │ │ │ +0001d3b0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options. │ │ │ │ │ +0001d3c0: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).* │ │ │ │ │ +0001d3d0: 206c 6179 203c 363e 3a20 2020 2020 2020 lay <6>: │ │ │ │ │ 0001d3e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d3f0: 2020 2020 5370 6563 6961 6c73 2e20 2020 Specials. │ │ │ │ │ -0001d400: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001d410: 3432 290a 2a20 6c61 7920 3c37 3e3a 2020 42).* lay <7>: │ │ │ │ │ -0001d420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d430: 2020 2020 2020 2020 2020 2020 2047 6c6f Glo │ │ │ │ │ -0001d440: 6261 6c20 6f70 7469 6f6e 732e 2020 2020 bal options. │ │ │ │ │ -0001d450: 2020 2028 6c69 6e65 2031 3329 0a2a 206c (line 13).* l │ │ │ │ │ -0001d460: 696e 653a 2020 2020 2020 2020 2020 2020 ine: │ │ │ │ │ +0001d3f0: 2020 2020 2020 2020 5370 6563 6961 6c73 Specials │ │ │ │ │ +0001d400: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ +0001d410: 696e 6520 3432 290a 2a20 6c61 7920 3c37 ine 42).* lay <7 │ │ │ │ │ +0001d420: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d440: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732e Global options. │ │ │ │ │ +0001d450: 2020 2020 2020 2028 6c69 6e65 2031 3329 (line 13) │ │ │ │ │ +0001d460: 0a2a 206c 696e 653a 2020 2020 2020 2020 .* line: │ │ │ │ │ 0001d470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d480: 2020 2020 2020 4472 6177 696e 6720 6f70 Drawing op │ │ │ │ │ -0001d490: 7469 6f6e 732e 2020 2020 2020 286c 696e tions. (lin │ │ │ │ │ -0001d4a0: 6520 2037 290a 2a20 6c69 6e65 203c 313e e 7).* line <1> │ │ │ │ │ -0001d4b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001d4c0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -0001d4d0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ -0001d4e0: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).* │ │ │ │ │ -0001d4f0: 206c 696e 6520 3c32 3e3a 2020 2020 2020 line <2>: │ │ │ │ │ +0001d480: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ +0001d490: 6720 6f70 7469 6f6e 732e 2020 2020 2020 g options. │ │ │ │ │ +0001d4a0: 286c 696e 6520 2037 290a 2a20 6c69 6e65 (line 7).* line │ │ │ │ │ +0001d4b0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001d4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d4d0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +0001d4e0: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1 │ │ │ │ │ +0001d4f0: 3029 0a2a 206c 696e 6520 3c32 3e3a 2020 0).* line <2>: │ │ │ │ │ 0001d500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d510: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -0001d520: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ -0001d530: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ +0001d510: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +0001d520: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ +0001d530: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. │ │ │ │ │ 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 2028 6c69 6e65 2031 3029 0a2a (line 10).* │ │ │ │ │ -0001d580: 206c 696e 6520 3c33 3e3a 2020 2020 2020 line <3>: │ │ │ │ │ +0001d570: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001d580: 3029 0a2a 206c 696e 6520 3c33 3e3a 2020 0).* line <3>: │ │ │ │ │ 0001d590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d5a0: 2020 2020 2020 2020 4166 6669 6e65 2061 Affine a │ │ │ │ │ -0001d5b0: 7269 7468 6d65 7469 632e 2020 2020 286c rithmetic. (l │ │ │ │ │ -0001d5c0: 696e 6520 3131 290a 2a20 6c69 6e65 203c ine 11).* line < │ │ │ │ │ -0001d5d0: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: │ │ │ │ │ +0001d5a0: 2020 2020 2020 2020 2020 2020 4166 6669 Affi │ │ │ │ │ +0001d5b0: 6e65 2061 7269 7468 6d65 7469 632e 2020 ne arithmetic. │ │ │ │ │ +0001d5c0: 2020 286c 696e 6520 3131 290a 2a20 6c69 (line 11).* li │ │ │ │ │ +0001d5d0: 6e65 203c 343e 3a20 2020 2020 2020 2020 ne <4>: │ │ │ │ │ 0001d5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d5f0: 204c 696e 6573 2e20 2020 2020 2020 2020 Lines. │ │ │ │ │ -0001d600: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ -0001d610: 0a2a 206c 696e 6520 3c35 3e3a 2020 2020 .* line <5>: │ │ │ │ │ +0001d5f0: 2020 2020 204c 696e 6573 2e20 2020 2020 Lines. │ │ │ │ │ +0001d600: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001d610: 2020 3629 0a2a 206c 696e 6520 3c35 3e3a 6).* line <5>: │ │ │ │ │ 0001d620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d630: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -0001d640: 626c 6f63 6b73 2e20 2020 2020 2020 2020 blocks. │ │ │ │ │ -0001d650: 286c 696e 6520 2037 290a 2a20 6c69 6e65 (line 7).* line │ │ │ │ │ -0001d660: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: │ │ │ │ │ +0001d630: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +0001d640: 6570 7420 626c 6f63 6b73 2e20 2020 2020 ept blocks. │ │ │ │ │ +0001d650: 2020 2020 286c 696e 6520 2037 290a 2a20 (line 7).* │ │ │ │ │ +0001d660: 6c69 6e65 203c 363e 3a20 2020 2020 2020 line <6>: │ │ │ │ │ 0001d670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d680: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ -0001d690: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6 │ │ │ │ │ -0001d6a0: 3929 0a2a 206c 696e 6520 3c37 3e3a 2020 9).* line <7>: │ │ │ │ │ -0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d6c0: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ -0001d6d0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ -0001d6e0: 2020 286c 696e 6520 3230 290a 2a20 6c69 (line 20).* li │ │ │ │ │ -0001d6f0: 6e65 203c 383e 3a20 2020 2020 2020 2020 ne <8>: │ │ │ │ │ +0001d680: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +0001d690: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001d6a0: 6e65 2036 3929 0a2a 206c 696e 6520 3c37 ne 69).* line <7 │ │ │ │ │ +0001d6b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d6c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d6d0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ +0001d6e0: 696e 672e 2020 286c 696e 6520 3230 290a ing. (line 20). │ │ │ │ │ +0001d6f0: 2a20 6c69 6e65 203c 383e 3a20 2020 2020 * line <8>: │ │ │ │ │ 0001d700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d710: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -0001d720: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ -0001d730: 2032 3629 0a2a 206c 696e 6520 3c39 3e3a 26).* line <9>: │ │ │ │ │ -0001d740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d750: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001d760: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001d770: 672e 2020 286c 696e 6520 3431 290a 2a20 g. (line 41).* │ │ │ │ │ -0001d780: 6c69 6e65 203c 3130 3e3a 2020 2020 2020 line <10>: │ │ │ │ │ +0001d710: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +0001d720: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ +0001d730: 6c69 6e65 2032 3629 0a2a 206c 696e 6520 line 26).* line │ │ │ │ │ +0001d740: 3c39 3e3a 2020 2020 2020 2020 2020 2020 <9>: │ │ │ │ │ +0001d750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d760: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +0001d770: 6177 696e 672e 2020 286c 696e 6520 3431 awing. (line 41 │ │ │ │ │ +0001d780: 290a 2a20 6c69 6e65 203c 3130 3e3a 2020 ).* line <10>: │ │ │ │ │ 0001d790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d7a0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -0001d7b0: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ -0001d7c0: 6e65 2036 3829 0a2a 206c 696e 6520 3c31 ne 68).* line <1 │ │ │ │ │ -0001d7d0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +0001d7a0: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ +0001d7b0: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ +0001d7c0: 2028 6c69 6e65 2036 3829 0a2a 206c 696e (line 68).* lin │ │ │ │ │ +0001d7d0: 6520 3c31 313e 3a20 2020 2020 2020 2020 e <11>: │ │ │ │ │ 0001d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d7f0: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ -0001d800: 6f64 656c 2e20 286c 696e 6520 3130 290a odel. (line 10). │ │ │ │ │ -0001d810: 2a20 6c69 6e65 2073 7479 6c65 3a20 2020 * line style: │ │ │ │ │ -0001d820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d830: 2020 2020 2020 2020 2054 696b 5a2f 5047 TikZ/PG │ │ │ │ │ -0001d840: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ -0001d850: 7479 6c65 732e 0a20 2020 2020 2020 2020 tyles.. │ │ │ │ │ +0001d7f0: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ +0001d800: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line │ │ │ │ │ +0001d810: 3130 290a 2a20 6c69 6e65 2073 7479 6c65 10).* line style │ │ │ │ │ +0001d820: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d830: 2020 2020 2020 2020 2020 2020 2054 696b Tik │ │ │ │ │ +0001d840: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin │ │ │ │ │ +0001d850: 6564 2073 7479 6c65 732e 0a20 2020 2020 ed styles.. │ │ │ │ │ 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 286c 696e 6520 3235 290a (line 25). │ │ │ │ │ -0001d8a0: 2a20 6c69 6e65 636f 6c6f 723a 2020 2020 * linecolor: │ │ │ │ │ +0001d890: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001d8a0: 3235 290a 2a20 6c69 6e65 636f 6c6f 723a 25).* linecolor: │ │ │ │ │ 0001d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d8c0: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ -0001d8d0: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. ( │ │ │ │ │ -0001d8e0: 6c69 6e65 2031 3029 0a2a 206c 696e 6563 line 10).* linec │ │ │ │ │ -0001d8f0: 6f6c 6f72 203c 313e 3a20 2020 2020 2020 olor <1>: │ │ │ │ │ +0001d8c0: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +0001d8d0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +0001d8e0: 2020 2028 6c69 6e65 2031 3029 0a2a 206c (line 10).* l │ │ │ │ │ +0001d8f0: 696e 6563 6f6c 6f72 203c 313e 3a20 2020 inecolor <1>: │ │ │ │ │ 0001d900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d910: 2020 4672 616d 652e 2020 2020 2020 2020 Frame. │ │ │ │ │ -0001d920: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10 │ │ │ │ │ -0001d930: 290a 2a20 6c69 6e65 636f 6c6f 7220 3c32 ).* linecolor <2 │ │ │ │ │ -0001d940: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001d950: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ -0001d960: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ -0001d970: 2028 6c69 6e65 2036 3929 0a2a 206c 696e (line 69).* lin │ │ │ │ │ -0001d980: 6573 7479 6c65 3a20 2020 2020 2020 2020 estyle: │ │ │ │ │ +0001d910: 2020 2020 2020 4672 616d 652e 2020 2020 Frame. │ │ │ │ │ +0001d920: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001d930: 6520 3130 290a 2a20 6c69 6e65 636f 6c6f e 10).* linecolo │ │ │ │ │ +0001d940: 7220 3c32 3e3a 2020 2020 2020 2020 2020 r <2>: │ │ │ │ │ +0001d950: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +0001d960: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +0001d970: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).* │ │ │ │ │ +0001d980: 206c 696e 6573 7479 6c65 3a20 2020 2020 linestyle: │ │ │ │ │ 0001d990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d9a0: 2020 2020 4672 616d 652e 2020 2020 2020 Frame. │ │ │ │ │ -0001d9b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001d9c0: 3130 290a 2a20 6c69 6e65 7374 796c 6520 10).* linestyle │ │ │ │ │ -0001d9d0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -0001d9e0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ -0001d9f0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -0001da00: 2020 2028 6c69 6e65 2036 3929 0a2a 206c (line 69).* l │ │ │ │ │ -0001da10: 696e 6573 7479 6c65 203c 323e 3a20 2020 inestyle <2>: │ │ │ │ │ -0001da20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001da30: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ -0001da40: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ -0001da50: 6520 3236 290a 2a20 6c69 6e65 7374 796c e 26).* linestyl │ │ │ │ │ -0001da60: 6520 3c33 3e3a 2020 2020 2020 2020 2020 e <3>: │ │ │ │ │ -0001da70: 2020 2020 2020 2020 2020 2020 2020 2042 B │ │ │ │ │ -0001da80: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie │ │ │ │ │ -0001da90: 732e 2020 2028 6c69 6e65 2020 3729 0a2a s. (line 7).* │ │ │ │ │ -0001daa0: 206c 696e 6577 6964 7468 3a20 2020 2020 linewidth: │ │ │ │ │ +0001d9a0: 2020 2020 2020 2020 4672 616d 652e 2020 Frame. │ │ │ │ │ +0001d9b0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0001d9c0: 696e 6520 3130 290a 2a20 6c69 6e65 7374 ine 10).* linest │ │ │ │ │ +0001d9d0: 796c 6520 3c31 3e3a 2020 2020 2020 2020 yle <1>: │ │ │ │ │ +0001d9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d9f0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ +0001da00: 2020 2020 2020 2028 6c69 6e65 2036 3929 (line 69) │ │ │ │ │ +0001da10: 0a2a 206c 696e 6573 7479 6c65 203c 323e .* linestyle <2> │ │ │ │ │ +0001da20: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001da30: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ +0001da40: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ +0001da50: 286c 696e 6520 3236 290a 2a20 6c69 6e65 (line 26).* line │ │ │ │ │ +0001da60: 7374 796c 6520 3c33 3e3a 2020 2020 2020 style <3>: │ │ │ │ │ +0001da70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001da80: 2020 2042 7567 7320 616e 6420 616e 6f6d Bugs and anom │ │ │ │ │ +0001da90: 616c 6965 732e 2020 2028 6c69 6e65 2020 alies. (line │ │ │ │ │ +0001daa0: 3729 0a2a 206c 696e 6577 6964 7468 3a20 7).* linewidth: │ │ │ │ │ 0001dab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dac0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -0001dad0: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l │ │ │ │ │ -0001dae0: 696e 6520 2039 290a 2a20 6c69 6e65 7769 ine 9).* linewi │ │ │ │ │ -0001daf0: 6474 6820 3c31 3e3a 2020 2020 2020 2020 dth <1>: │ │ │ │ │ +0001dac0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +0001dad0: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ +0001dae0: 2020 286c 696e 6520 2039 290a 2a20 6c69 (line 9).* li │ │ │ │ │ +0001daf0: 6e65 7769 6474 6820 3c31 3e3a 2020 2020 newidth <1>: │ │ │ │ │ 0001db00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001db10: 2046 7261 6d65 2e20 2020 2020 2020 2020 Frame. │ │ │ │ │ -0001db20: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10) │ │ │ │ │ -0001db30: 0a2a 206c 696e 6577 6964 7468 203c 323e .* linewidth <2> │ │ │ │ │ -0001db40: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001db50: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ -0001db60: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. │ │ │ │ │ -0001db70: 286c 696e 6520 3639 290a 2a20 6c69 6e65 (line 69).* line │ │ │ │ │ -0001db80: 7769 6474 6820 3c33 3e3a 2020 2020 2020 width <3>: │ │ │ │ │ +0001db10: 2020 2020 2046 7261 6d65 2e20 2020 2020 Frame. │ │ │ │ │ +0001db20: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001db30: 2031 3029 0a2a 206c 696e 6577 6964 7468 10).* linewidth │ │ │ │ │ +0001db40: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001db50: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ +0001db60: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ +0001db70: 2020 2020 286c 696e 6520 3639 290a 2a20 (line 69).* │ │ │ │ │ +0001db80: 6c69 6e65 7769 6474 6820 3c33 3e3a 2020 linewidth <3>: │ │ │ │ │ 0001db90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dba0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ -0001dbb0: 7261 7769 6e67 2e20 2028 6c69 6e65 2032 rawing. (line 2 │ │ │ │ │ -0001dbc0: 3629 0a2a 206f 7061 6369 7479 3a20 2020 6).* opacity: │ │ │ │ │ -0001dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dbe0: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -0001dbf0: 7370 6172 656e 6379 2e20 2020 2020 2020 sparency. │ │ │ │ │ -0001dc00: 2020 286c 696e 6520 3130 290a 2a20 7065 (line 10).* pe │ │ │ │ │ -0001dc10: 7273 7065 6374 6976 653a 2020 2020 2020 rspective: │ │ │ │ │ +0001dba0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ +0001dbb0: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ +0001dbc0: 6e65 2032 3629 0a2a 206f 7061 6369 7479 ne 26).* opacity │ │ │ │ │ +0001dbd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001dbe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dbf0: 5472 616e 7370 6172 656e 6379 2e20 2020 Transparency. │ │ │ │ │ +0001dc00: 2020 2020 2020 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ +0001dc10: 2a20 7065 7273 7065 6374 6976 653a 2020 * perspective: │ │ │ │ │ 0001dc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dc30: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -0001dc40: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line │ │ │ │ │ -0001dc50: 2032 3129 0a2a 2070 6963 7475 7265 626f 21).* picturebo │ │ │ │ │ -0001dc60: 783a 2020 2020 2020 2020 2020 2020 2020 x: │ │ │ │ │ -0001dc70: 2020 2020 2020 2020 2020 2020 2020 5069 Pi │ │ │ │ │ -0001dc80: 6374 7572 6520 626f 782e 2020 2020 2020 cture box. │ │ │ │ │ -0001dc90: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -0001dca0: 706f 696e 7420 6c69 7374 3a20 2020 2020 point list: │ │ │ │ │ +0001dc30: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ +0001dc40: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. ( │ │ │ │ │ +0001dc50: 6c69 6e65 2032 3129 0a2a 2070 6963 7475 line 21).* pictu │ │ │ │ │ +0001dc60: 7265 626f 783a 2020 2020 2020 2020 2020 rebox: │ │ │ │ │ +0001dc70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dc80: 2020 5069 6374 7572 6520 626f 782e 2020 Picture box. │ │ │ │ │ +0001dc90: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +0001dca0: 290a 2a20 706f 696e 7420 6c69 7374 3a20 ).* point list: │ │ │ │ │ 0001dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dcc0: 2020 2020 2020 2049 6e74 6572 6e61 6c20 Internal │ │ │ │ │ -0001dcd0: 6f70 7469 6f6e 732e 2020 2020 2028 6c69 options. (li │ │ │ │ │ -0001dce0: 6e65 2032 3429 0a2a 2070 6f6c 7967 6f6e ne 24).* polygon │ │ │ │ │ -0001dcf0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001dcc0: 2020 2020 2020 2020 2020 2049 6e74 6572 Inter │ │ │ │ │ +0001dcd0: 6e61 6c20 6f70 7469 6f6e 732e 2020 2020 nal options. │ │ │ │ │ +0001dce0: 2028 6c69 6e65 2032 3429 0a2a 2070 6f6c (line 24).* pol │ │ │ │ │ +0001dcf0: 7967 6f6e 3a20 2020 2020 2020 2020 2020 ygon: │ │ │ │ │ 0001dd00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dd10: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ -0001dd20: 2020 2020 2020 286c 696e 6520 3338 290a (line 38). │ │ │ │ │ -0001dd30: 2a20 706f 6c79 676f 6e20 3c31 3e3a 2020 * polygon <1>: │ │ │ │ │ -0001dd40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dd50: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -0001dd60: 2061 2073 6f6c 6964 2e20 2020 2020 2028 a solid. ( │ │ │ │ │ -0001dd70: 6c69 6e65 2020 3929 0a2a 2070 6f6c 7967 line 9).* polyg │ │ │ │ │ -0001dd80: 6f6e 203c 323e 3a20 2020 2020 2020 2020 on <2>: │ │ │ │ │ +0001dd10: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ +0001dd20: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001dd30: 3338 290a 2a20 706f 6c79 676f 6e20 3c31 38).* polygon <1 │ │ │ │ │ +0001dd40: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001dd50: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ +0001dd60: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ +0001dd70: 2020 2028 6c69 6e65 2020 3929 0a2a 2070 (line 9).* p │ │ │ │ │ +0001dd80: 6f6c 7967 6f6e 203c 323e 3a20 2020 2020 olygon <2>: │ │ │ │ │ 0001dd90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dda0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ -0001ddb0: 726d 732e 2020 2020 286c 696e 6520 3130 rms. (line 10 │ │ │ │ │ -0001ddc0: 290a 2a20 706f 6c79 676f 6e20 3c33 3e3a ).* polygon <3>: │ │ │ │ │ -0001ddd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dde0: 2020 2020 2020 2020 2020 2041 6666 696e Affin │ │ │ │ │ -0001ddf0: 6520 6172 6974 686d 6574 6963 2e20 2020 e arithmetic. │ │ │ │ │ -0001de00: 2028 6c69 6e65 2031 3129 0a2a 2070 6f6c (line 11).* pol │ │ │ │ │ -0001de10: 7967 6f6e 203c 343e 3a20 2020 2020 2020 ygon <4>: │ │ │ │ │ +0001dda0: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ +0001ddb0: 6e73 666f 726d 732e 2020 2020 286c 696e nsforms. (lin │ │ │ │ │ +0001ddc0: 6520 3130 290a 2a20 706f 6c79 676f 6e20 e 10).* polygon │ │ │ │ │ +0001ddd0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +0001dde0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001ddf0: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic │ │ │ │ │ +0001de00: 2e20 2020 2028 6c69 6e65 2031 3129 0a2a . (line 11).* │ │ │ │ │ +0001de10: 2070 6f6c 7967 6f6e 203c 343e 3a20 2020 polygon <4>: │ │ │ │ │ 0001de20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001de30: 2020 2020 506f 6c79 676f 6e73 2e20 2020 Polygons. │ │ │ │ │ -0001de40: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001de50: 2036 290a 2a20 706f 6c79 676f 6e20 3c35 6).* polygon <5 │ │ │ │ │ -0001de60: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001de70: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -0001de80: 7074 2062 6c6f 636b 732e 2020 2020 2020 pt blocks. │ │ │ │ │ -0001de90: 2020 2028 6c69 6e65 2020 3729 0a2a 2070 (line 7).* p │ │ │ │ │ -0001dea0: 6f6c 7967 6f6e 203c 363e 3a20 2020 2020 olygon <6>: │ │ │ │ │ +0001de30: 2020 2020 2020 2020 506f 6c79 676f 6e73 Polygons │ │ │ │ │ +0001de40: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ +0001de50: 696e 6520 2036 290a 2a20 706f 6c79 676f ine 6).* polygo │ │ │ │ │ +0001de60: 6e20 3c35 3e3a 2020 2020 2020 2020 2020 n <5>: │ │ │ │ │ +0001de70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001de80: 2053 7765 7074 2062 6c6f 636b 732e 2020 Swept blocks. │ │ │ │ │ +0001de90: 2020 2020 2020 2028 6c69 6e65 2020 3729 (line 7) │ │ │ │ │ +0001dea0: 0a2a 2070 6f6c 7967 6f6e 203c 363e 3a20 .* polygon <6>: │ │ │ │ │ 0001deb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dec0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ -0001ded0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0001dee0: 6520 3337 290a 2a20 7072 6f6a 6563 743a e 37).* project: │ │ │ │ │ -0001def0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001df00: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0001df10: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -0001df20: 732e 2020 2028 6c69 6e65 2031 3829 0a2a s. (line 18).* │ │ │ │ │ -0001df30: 2070 726f 6a65 6374 203c 313e 3a20 2020 project <1>: │ │ │ │ │ -0001df40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001df50: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ -0001df60: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l │ │ │ │ │ -0001df70: 696e 6520 3139 290a 2a20 7072 6f6a 6563 ine 19).* projec │ │ │ │ │ -0001df80: 7420 3c32 3e3a 2020 2020 2020 2020 2020 t <2>: │ │ │ │ │ +0001dec0: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ +0001ded0: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. │ │ │ │ │ +0001dee0: 286c 696e 6520 3337 290a 2a20 7072 6f6a (line 37).* proj │ │ │ │ │ +0001def0: 6563 743a 2020 2020 2020 2020 2020 2020 ect: │ │ │ │ │ +0001df00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001df10: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ +0001df20: 6572 616c 732e 2020 2028 6c69 6e65 2031 erals. (line 1 │ │ │ │ │ +0001df30: 3829 0a2a 2070 726f 6a65 6374 203c 313e 8).* project <1> │ │ │ │ │ +0001df40: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001df50: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ +0001df60: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ +0001df70: 2020 286c 696e 6520 3139 290a 2a20 7072 (line 19).* pr │ │ │ │ │ +0001df80: 6f6a 6563 7420 3c32 3e3a 2020 2020 2020 oject <2>: │ │ │ │ │ 0001df90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dfa0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -0001dfb0: 616c 732e 2020 2028 6c69 6e65 2034 3729 als. (line 47) │ │ │ │ │ -0001dfc0: 0a2a 2070 7374 7269 636b 733a 2020 2020 .* pstricks: │ │ │ │ │ +0001dfa0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ +0001dfb0: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line │ │ │ │ │ +0001dfc0: 2034 3729 0a2a 2070 7374 7269 636b 733a 47).* pstricks: │ │ │ │ │ 0001dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dfe0: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua │ │ │ │ │ -0001dff0: 6765 2e20 2020 2020 2020 2020 2020 2020 ge. │ │ │ │ │ -0001e000: 286c 696e 6520 3130 290a 2a20 7075 743a (line 10).* put: │ │ │ │ │ -0001e010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dfe0: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ +0001dff0: 6e67 7561 6765 2e20 2020 2020 2020 2020 nguage. │ │ │ │ │ +0001e000: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ +0001e010: 7075 743a 2020 2020 2020 2020 2020 2020 put: │ │ │ │ │ 0001e020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e030: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ -0001e040: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1 │ │ │ │ │ -0001e050: 3029 0a2a 2070 7574 203c 313e 3a20 2020 0).* put <1>: │ │ │ │ │ -0001e060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e070: 2020 2020 2020 2020 2020 2020 4e65 7374 Nest │ │ │ │ │ -0001e080: 6564 2073 7765 6570 732e 2020 2020 2020 ed sweeps. │ │ │ │ │ -0001e090: 2020 286c 696e 6520 3235 290a 2a20 7075 (line 25).* pu │ │ │ │ │ -0001e0a0: 7420 3c32 3e3a 2020 2020 2020 2020 2020 t <2>: │ │ │ │ │ +0001e030: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +0001e040: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li │ │ │ │ │ +0001e050: 6e65 2031 3029 0a2a 2070 7574 203c 313e ne 10).* put <1> │ │ │ │ │ +0001e060: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001e070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e080: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. │ │ │ │ │ +0001e090: 2020 2020 2020 286c 696e 6520 3235 290a (line 25). │ │ │ │ │ +0001e0a0: 2a20 7075 7420 3c32 3e3a 2020 2020 2020 * put <2>: │ │ │ │ │ 0001e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e0c0: 2020 2020 2050 7574 732e 2020 2020 2020 Puts. │ │ │ │ │ -0001e0d0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001e0e0: 2020 3629 0a2a 2070 7574 203c 333e 3a20 6).* put <3>: │ │ │ │ │ -0001e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e100: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001e110: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ -0001e120: 656c 2e20 286c 696e 6520 3332 290a 2a20 el. (line 32).* │ │ │ │ │ -0001e130: 7265 7065 6174 3a20 2020 2020 2020 2020 repeat: │ │ │ │ │ +0001e0c0: 2020 2020 2020 2020 2050 7574 732e 2020 Puts. │ │ │ │ │ +0001e0d0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001e0e0: 6c69 6e65 2020 3629 0a2a 2070 7574 203c line 6).* put < │ │ │ │ │ +0001e0f0: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ +0001e100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e110: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ +0001e120: 206d 6f64 656c 2e20 286c 696e 6520 3332 model. (line 32 │ │ │ │ │ +0001e130: 290a 2a20 7265 7065 6174 3a20 2020 2020 ).* repeat: │ │ │ │ │ 0001e140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e150: 2020 2020 2020 2052 6570 6561 7465 6420 Repeated │ │ │ │ │ -0001e160: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li │ │ │ │ │ -0001e170: 6e65 2020 3829 0a2a 2072 6570 6561 7420 ne 8).* repeat │ │ │ │ │ -0001e180: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001e150: 2020 2020 2020 2020 2020 2052 6570 6561 Repea │ │ │ │ │ +0001e160: 7465 6420 6f62 6a65 6374 732e 2020 2020 ted objects. │ │ │ │ │ +0001e170: 2028 6c69 6e65 2020 3829 0a2a 2072 6570 (line 8).* rep │ │ │ │ │ +0001e180: 6561 7420 3c31 3e3a 2020 2020 2020 2020 eat <1>: │ │ │ │ │ 0001e190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e1a0: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. │ │ │ │ │ -0001e1b0: 2020 2020 2020 286c 696e 6520 3235 290a (line 25). │ │ │ │ │ -0001e1c0: 2a20 7265 7065 6174 203c 323e 3a20 2020 * repeat <2>: │ │ │ │ │ -0001e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e1e0: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin │ │ │ │ │ -0001e1f0: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl │ │ │ │ │ -0001e200: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. │ │ │ │ │ +0001e1a0: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep │ │ │ │ │ +0001e1b0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ +0001e1c0: 3235 290a 2a20 7265 7065 6174 203c 323e 25).* repeat <2> │ │ │ │ │ +0001e1d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001e1e0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ +0001e1f0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +0001e200: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. │ │ │ │ │ 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 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ -0001e250: 2a20 7265 7065 6174 203c 333e 3a20 2020 * repeat <3>: │ │ │ │ │ -0001e260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e270: 2020 2020 2020 2020 2052 6570 6561 7473 Repeats │ │ │ │ │ -0001e280: 2e20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ │ │ -0001e290: 6c69 6e65 2020 3629 0a2a 2072 6570 6561 line 6).* repea │ │ │ │ │ -0001e2a0: 7420 3c34 3e3a 2020 2020 2020 2020 2020 t <4>: │ │ │ │ │ +0001e240: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001e250: 3130 290a 2a20 7265 7065 6174 203c 333e 10).* repeat <3> │ │ │ │ │ +0001e260: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001e270: 2020 2020 2020 2020 2020 2020 2052 6570 Rep │ │ │ │ │ +0001e280: 6561 7473 2e20 2020 2020 2020 2020 2020 eats. │ │ │ │ │ +0001e290: 2020 2028 6c69 6e65 2020 3629 0a2a 2072 (line 6).* r │ │ │ │ │ +0001e2a0: 6570 6561 7420 3c34 3e3a 2020 2020 2020 epeat <4>: │ │ │ │ │ 0001e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e2c0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ -0001e2d0: 2020 2020 2020 2020 286c 696e 6520 3537 (line 57 │ │ │ │ │ -0001e2e0: 290a 2a20 726f 7461 7465 3a20 2020 2020 ).* rotate: │ │ │ │ │ +0001e2c0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ +0001e2d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001e2e0: 6520 3537 290a 2a20 726f 7461 7465 3a20 e 57).* rotate: │ │ │ │ │ 0001e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e300: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -0001e310: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -0001e320: 2028 6c69 6e65 2031 3029 0a2a 2072 6f74 (line 10).* rot │ │ │ │ │ -0001e330: 6174 6520 3c31 3e3a 2020 2020 2020 2020 ate <1>: │ │ │ │ │ +0001e300: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +0001e310: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ +0001e320: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).* │ │ │ │ │ +0001e330: 2072 6f74 6174 6520 3c31 3e3a 2020 2020 rotate <1>: │ │ │ │ │ 0001e340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e350: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ -0001e360: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line │ │ │ │ │ -0001e370: 3339 290a 2a20 726f 7461 7465 203c 323e 39).* rotate <2> │ │ │ │ │ -0001e380: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001e390: 2020 2020 2020 2020 2020 2020 2052 6570 Rep │ │ │ │ │ -0001e3a0: 6561 7465 6420 6f62 6a65 6374 732e 2020 eated objects. │ │ │ │ │ -0001e3b0: 2020 2028 6c69 6e65 2020 3829 0a2a 2072 (line 8).* r │ │ │ │ │ -0001e3c0: 6f74 6174 6520 3c33 3e3a 2020 2020 2020 otate <3>: │ │ │ │ │ +0001e350: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ +0001e360: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l │ │ │ │ │ +0001e370: 696e 6520 3339 290a 2a20 726f 7461 7465 ine 39).* rotate │ │ │ │ │ +0001e380: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001e390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e3a0: 2052 6570 6561 7465 6420 6f62 6a65 6374 Repeated object │ │ │ │ │ +0001e3b0: 732e 2020 2020 2028 6c69 6e65 2020 3829 s. (line 8) │ │ │ │ │ +0001e3c0: 0a2a 2072 6f74 6174 6520 3c33 3e3a 2020 .* rotate <3>: │ │ │ │ │ 0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e3e0: 2020 2020 2020 5377 6570 7420 6f62 6a65 Swept obje │ │ │ │ │ -0001e3f0: 6374 732e 2020 2020 2020 2020 286c 696e cts. (lin │ │ │ │ │ -0001e400: 6520 2038 290a 2a20 726f 7461 7465 203c e 8).* rotate < │ │ │ │ │ -0001e410: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: │ │ │ │ │ -0001e420: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001e430: 6f69 6e74 2073 7765 6570 732e 2020 2020 oint sweeps. │ │ │ │ │ -0001e440: 2020 2020 2028 6c69 6e65 2031 3929 0a2a (line 19).* │ │ │ │ │ -0001e450: 2072 6f74 6174 6520 3c35 3e3a 2020 2020 rotate <5>: │ │ │ │ │ +0001e3e0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +0001e3f0: 6f62 6a65 6374 732e 2020 2020 2020 2020 objects. │ │ │ │ │ +0001e400: 286c 696e 6520 2038 290a 2a20 726f 7461 (line 8).* rota │ │ │ │ │ +0001e410: 7465 203c 343e 3a20 2020 2020 2020 2020 te <4>: │ │ │ │ │ +0001e420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e430: 2020 2050 6f69 6e74 2073 7765 6570 732e Point sweeps. │ │ │ │ │ +0001e440: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001e450: 3929 0a2a 2072 6f74 6174 6520 3c35 3e3a 9).* rotate <5>: │ │ │ │ │ 0001e460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e470: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -0001e480: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l │ │ │ │ │ -0001e490: 696e 6520 2039 290a 2a20 726f 7461 7465 ine 9).* rotate │ │ │ │ │ -0001e4a0: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: │ │ │ │ │ +0001e470: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +0001e480: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ +0001e490: 2020 286c 696e 6520 2039 290a 2a20 726f (line 9).* ro │ │ │ │ │ +0001e4a0: 7461 7465 203c 363e 3a20 2020 2020 2020 tate <6>: │ │ │ │ │ 0001e4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e4c0: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. │ │ │ │ │ -0001e4d0: 2020 2020 2020 2028 6c69 6e65 2020 3829 (line 8) │ │ │ │ │ -0001e4e0: 0a2a 2072 6f74 6174 6520 3c37 3e3a 2020 .* rotate <7>: │ │ │ │ │ -0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e500: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -0001e510: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ -0001e520: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. │ │ │ │ │ +0001e4c0: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee │ │ │ │ │ +0001e4d0: 7073 2e20 2020 2020 2020 2028 6c69 6e65 ps. (line │ │ │ │ │ +0001e4e0: 2020 3829 0a2a 2072 6f74 6174 6520 3c37 8).* rotate <7 │ │ │ │ │ +0001e4f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001e500: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +0001e510: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ +0001e520: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ 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 2028 6c69 6e65 2031 3029 (line 10) │ │ │ │ │ -0001e570: 0a2a 2072 6f74 6174 6520 3c38 3e3a 2020 .* rotate <8>: │ │ │ │ │ -0001e580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e590: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -0001e5a0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. │ │ │ │ │ -0001e5b0: 286c 696e 6520 3130 290a 2a20 726f 7461 (line 10).* rota │ │ │ │ │ -0001e5c0: 7465 203c 393e 3a20 2020 2020 2020 2020 te <9>: │ │ │ │ │ +0001e560: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001e570: 2031 3029 0a2a 2072 6f74 6174 6520 3c38 10).* rotate <8 │ │ │ │ │ +0001e580: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001e590: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ +0001e5a0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ +0001e5b0: 2e20 2020 286c 696e 6520 3130 290a 2a20 . (line 10).* │ │ │ │ │ +0001e5c0: 726f 7461 7465 203c 393e 3a20 2020 2020 rotate <9>: │ │ │ │ │ 0001e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e5e0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ -0001e5f0: 2020 2020 2020 2020 2028 6c69 6e65 2035 (line 5 │ │ │ │ │ -0001e600: 3729 0a2a 2072 6f74 6174 6520 3c31 303e 7).* rotate <10> │ │ │ │ │ -0001e610: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001e620: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ -0001e630: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ -0001e640: 2020 286c 696e 6520 3639 290a 2a20 726f (line 69).* ro │ │ │ │ │ -0001e650: 7461 7465 203c 3131 3e3a 2020 2020 2020 tate <11>: │ │ │ │ │ +0001e5e0: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +0001e5f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001e600: 6e65 2035 3729 0a2a 2072 6f74 6174 6520 ne 57).* rotate │ │ │ │ │ +0001e610: 3c31 303e 3a20 2020 2020 2020 2020 2020 <10>: │ │ │ │ │ +0001e620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e630: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ +0001e640: 2020 2020 2020 286c 696e 6520 3639 290a (line 69). │ │ │ │ │ +0001e650: 2a20 726f 7461 7465 203c 3131 3e3a 2020 * rotate <11>: │ │ │ │ │ 0001e660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e670: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -0001e680: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ -0001e690: 2031 3429 0a2a 2072 6f74 6174 6520 3c31 14).* rotate <1 │ │ │ │ │ -0001e6a0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -0001e6b0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001e6c0: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ -0001e6d0: 656c 2e20 286c 696e 6520 3130 290a 2a20 el. (line 10).* │ │ │ │ │ -0001e6e0: 726f 7461 7465 203c 3133 3e3a 2020 2020 rotate <13>: │ │ │ │ │ +0001e670: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +0001e680: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ +0001e690: 6c69 6e65 2031 3429 0a2a 2072 6f74 6174 line 14).* rotat │ │ │ │ │ +0001e6a0: 6520 3c31 323e 3a20 2020 2020 2020 2020 e <12>: │ │ │ │ │ +0001e6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e6c0: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ +0001e6d0: 206d 6f64 656c 2e20 286c 696e 6520 3130 model. (line 10 │ │ │ │ │ +0001e6e0: 290a 2a20 726f 7461 7465 203c 3133 3e3a ).* rotate <13>: │ │ │ │ │ 0001e6f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e700: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ -0001e710: 6869 6361 6c20 6d6f 6465 6c2e 2028 6c69 hical model. (li │ │ │ │ │ -0001e720: 6e65 2032 3329 0a2a 2072 6f74 6174 6520 ne 23).* rotate │ │ │ │ │ -0001e730: 3c31 343e 3a20 2020 2020 2020 2020 2020 <14>: │ │ │ │ │ +0001e700: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +0001e710: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +0001e720: 2028 6c69 6e65 2032 3329 0a2a 2072 6f74 (line 23).* rot │ │ │ │ │ +0001e730: 6174 6520 3c31 343e 3a20 2020 2020 2020 ate <14>: │ │ │ │ │ 0001e740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e750: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ -0001e760: 6f64 656c 2e20 286c 696e 6520 3332 290a odel. (line 32). │ │ │ │ │ -0001e770: 2a20 7363 616c 653a 2020 2020 2020 2020 * scale: │ │ │ │ │ +0001e750: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ +0001e760: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line │ │ │ │ │ +0001e770: 3332 290a 2a20 7363 616c 653a 2020 2020 32).* scale: │ │ │ │ │ 0001e780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e790: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -0001e7a0: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. ( │ │ │ │ │ -0001e7b0: 6c69 6e65 2031 3629 0a2a 2073 6361 6c65 line 16).* scale │ │ │ │ │ -0001e7c0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001e790: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +0001e7a0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ +0001e7b0: 2020 2028 6c69 6e65 2031 3629 0a2a 2073 (line 16).* s │ │ │ │ │ +0001e7c0: 6361 6c65 203c 313e 3a20 2020 2020 2020 cale <1>: │ │ │ │ │ 0001e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e7e0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ -0001e7f0: 7261 6c73 2e20 2020 286c 696e 6520 3137 rals. (line 17 │ │ │ │ │ -0001e800: 290a 2a20 7363 616c 6520 3c32 3e3a 2020 ).* scale <2>: │ │ │ │ │ -0001e810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e820: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001e830: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001e840: 2028 6c69 6e65 2034 3129 0a2a 2073 6361 (line 41).* sca │ │ │ │ │ -0001e850: 6c65 203c 333e 3a20 2020 2020 2020 2020 le <3>: │ │ │ │ │ +0001e7e0: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +0001e7f0: 6c69 7465 7261 6c73 2e20 2020 286c 696e literals. (lin │ │ │ │ │ +0001e800: 6520 3137 290a 2a20 7363 616c 6520 3c32 e 17).* scale <2 │ │ │ │ │ +0001e810: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001e820: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001e830: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +0001e840: 6e67 2e20 2028 6c69 6e65 2034 3129 0a2a ng. (line 41).* │ │ │ │ │ +0001e850: 2073 6361 6c65 203c 333e 3a20 2020 2020 scale <3>: │ │ │ │ │ 0001e860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e870: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001e880: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ -0001e890: 3638 290a 2a20 7363 616c 6520 3c34 3e3a 68).* scale <4>: │ │ │ │ │ -0001e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e8b0: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -0001e8c0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -0001e8d0: 6c2e 2028 6c69 6e65 2033 3229 0a2a 2073 l. (line 32).* s │ │ │ │ │ -0001e8e0: 6574 3a20 2020 2020 2020 2020 2020 2020 et: │ │ │ │ │ +0001e870: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ +0001e880: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l │ │ │ │ │ +0001e890: 696e 6520 3638 290a 2a20 7363 616c 6520 ine 68).* scale │ │ │ │ │ +0001e8a0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ +0001e8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e8c0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ +0001e8d0: 6d6f 6465 6c2e 2028 6c69 6e65 2033 3229 model. (line 32) │ │ │ │ │ +0001e8e0: 0a2a 2073 6574 3a20 2020 2020 2020 2020 .* set: │ │ │ │ │ 0001e8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e900: 2020 2020 2020 476c 6f62 616c 206f 7074 Global opt │ │ │ │ │ -0001e910: 696f 6e73 2e20 2020 2020 2020 286c 696e ions. (lin │ │ │ │ │ -0001e920: 6520 2036 290a 2a20 7369 6e3a 2020 2020 e 6).* sin: │ │ │ │ │ +0001e900: 2020 2020 2020 2020 2020 476c 6f62 616c Global │ │ │ │ │ +0001e910: 206f 7074 696f 6e73 2e20 2020 2020 2020 options. │ │ │ │ │ +0001e920: 286c 696e 6520 2036 290a 2a20 7369 6e3a (line 6).* sin: │ │ │ │ │ 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e940: 2020 2020 2020 2020 2020 2020 2020 2055 U │ │ │ │ │ -0001e950: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. │ │ │ │ │ -0001e960: 2020 2020 2028 6c69 6e65 2031 3529 0a2a (line 15).* │ │ │ │ │ -0001e970: 2073 7065 6369 616c 3a20 2020 2020 2020 special: │ │ │ │ │ +0001e940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e950: 2020 2055 6e61 7279 2066 6f72 6d73 2e20 Unary forms. │ │ │ │ │ +0001e960: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001e970: 3529 0a2a 2073 7065 6369 616c 3a20 2020 5).* special: │ │ │ │ │ 0001e980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e990: 2020 2020 2020 2020 5370 6563 6961 6c20 Special │ │ │ │ │ -0001e9a0: 6f62 6a65 6374 732e 2020 2020 2020 286c objects. (l │ │ │ │ │ -0001e9b0: 696e 6520 2036 290a 2a20 7370 6563 6961 ine 6).* specia │ │ │ │ │ -0001e9c0: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: │ │ │ │ │ +0001e990: 2020 2020 2020 2020 2020 2020 5370 6563 Spec │ │ │ │ │ +0001e9a0: 6961 6c20 6f62 6a65 6374 732e 2020 2020 ial objects. │ │ │ │ │ +0001e9b0: 2020 286c 696e 6520 2036 290a 2a20 7370 (line 6).* sp │ │ │ │ │ +0001e9c0: 6563 6961 6c20 3c31 3e3a 2020 2020 2020 ecial <1>: │ │ │ │ │ 0001e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e9e0: 2053 7065 6369 616c 732e 2020 2020 2020 Specials. │ │ │ │ │ -0001e9f0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ -0001ea00: 0a2a 2073 7065 6369 616c 203c 323e 3a20 .* special <2>: │ │ │ │ │ -0001ea10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ea20: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ -0001ea30: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. │ │ │ │ │ -0001ea40: 286c 696e 6520 3639 290a 2a20 7370 6563 (line 69).* spec │ │ │ │ │ -0001ea50: 6961 6c20 3c33 3e3a 2020 2020 2020 2020 ial <3>: │ │ │ │ │ +0001e9e0: 2020 2020 2053 7065 6369 616c 732e 2020 Specials. │ │ │ │ │ +0001e9f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001ea00: 2020 3629 0a2a 2073 7065 6369 616c 203c 6).* special < │ │ │ │ │ +0001ea10: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +0001ea20: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ +0001ea30: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ +0001ea40: 2020 2020 286c 696e 6520 3639 290a 2a20 (line 69).* │ │ │ │ │ +0001ea50: 7370 6563 6961 6c20 3c33 3e3a 2020 2020 special <3>: │ │ │ │ │ 0001ea60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ea70: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ -0001ea80: 7261 7769 6e67 2e20 2028 6c69 6e65 2032 rawing. (line 2 │ │ │ │ │ -0001ea90: 3629 0a2a 2073 7065 6369 616c 203c 343e 6).* special <4> │ │ │ │ │ -0001eaa0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001eab0: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ -0001eac0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ -0001ead0: 2020 286c 696e 6520 3431 290a 2a20 7370 (line 41).* sp │ │ │ │ │ -0001eae0: 6563 6961 6c20 3c35 3e3a 2020 2020 2020 ecial <5>: │ │ │ │ │ +0001ea70: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ +0001ea80: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li │ │ │ │ │ +0001ea90: 6e65 2032 3629 0a2a 2073 7065 6369 616c ne 26).* special │ │ │ │ │ +0001eaa0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ +0001eab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001eac0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ +0001ead0: 696e 672e 2020 286c 696e 6520 3431 290a ing. (line 41). │ │ │ │ │ +0001eae0: 2a20 7370 6563 6961 6c20 3c35 3e3a 2020 * special <5>: │ │ │ │ │ 0001eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eb00: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -0001eb10: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ -0001eb20: 2036 3829 0a2a 2073 7065 6369 616c 203c 68).* special < │ │ │ │ │ -0001eb30: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: │ │ │ │ │ -0001eb40: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001eb50: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001eb60: 672e 2020 286c 696e 6520 3935 290a 2a20 g. (line 95).* │ │ │ │ │ -0001eb70: 7370 6c69 743a 2020 2020 2020 2020 2020 split: │ │ │ │ │ +0001eb00: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +0001eb10: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ +0001eb20: 6c69 6e65 2036 3829 0a2a 2073 7065 6369 line 68).* speci │ │ │ │ │ +0001eb30: 616c 203c 363e 3a20 2020 2020 2020 2020 al <6>: │ │ │ │ │ +0001eb40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001eb50: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ +0001eb60: 6177 696e 672e 2020 286c 696e 6520 3935 awing. (line 95 │ │ │ │ │ +0001eb70: 290a 2a20 7370 6c69 743a 2020 2020 2020 ).* split: │ │ │ │ │ 0001eb80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eb90: 2020 2020 2020 2049 6e74 6572 6e61 6c20 Internal │ │ │ │ │ -0001eba0: 6f70 7469 6f6e 732e 2020 2020 2028 6c69 options. (li │ │ │ │ │ -0001ebb0: 6e65 2020 3729 0a2a 2073 706c 6974 203c ne 7).* split < │ │ │ │ │ -0001ebc0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +0001eb90: 2020 2020 2020 2020 2020 2049 6e74 6572 Inter │ │ │ │ │ +0001eba0: 6e61 6c20 6f70 7469 6f6e 732e 2020 2020 nal options. │ │ │ │ │ +0001ebb0: 2028 6c69 6e65 2020 3729 0a2a 2073 706c (line 7).* spl │ │ │ │ │ +0001ebc0: 6974 203c 313e 3a20 2020 2020 2020 2020 it <1>: │ │ │ │ │ 0001ebd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ebe0: 476c 6f62 616c 206f 7074 696f 6e73 2e20 Global options. │ │ │ │ │ -0001ebf0: 2020 2020 2020 286c 696e 6520 3133 290a (line 13). │ │ │ │ │ -0001ec00: 2a20 7371 7274 3a20 2020 2020 2020 2020 * sqrt: │ │ │ │ │ +0001ebe0: 2020 2020 476c 6f62 616c 206f 7074 696f Global optio │ │ │ │ │ +0001ebf0: 6e73 2e20 2020 2020 2020 286c 696e 6520 ns. (line │ │ │ │ │ +0001ec00: 3133 290a 2a20 7371 7274 3a20 2020 2020 13).* sqrt: │ │ │ │ │ 0001ec10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ec20: 2020 2020 2020 2020 2055 6e61 7279 2066 Unary f │ │ │ │ │ -0001ec30: 6f72 6d73 2e20 2020 2020 2020 2020 2028 orms. ( │ │ │ │ │ -0001ec40: 6c69 6e65 2031 3429 0a2a 2073 7765 6570 line 14).* sweep │ │ │ │ │ -0001ec50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ec20: 2020 2020 2020 2020 2020 2020 2055 6e61 Una │ │ │ │ │ +0001ec30: 7279 2066 6f72 6d73 2e20 2020 2020 2020 ry forms. │ │ │ │ │ +0001ec40: 2020 2028 6c69 6e65 2031 3429 0a2a 2073 (line 14).* s │ │ │ │ │ +0001ec50: 7765 6570 3a20 2020 2020 2020 2020 2020 weep: │ │ │ │ │ 0001ec60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ec70: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects. │ │ │ │ │ -0001ec80: 2020 2020 2020 2020 286c 696e 6520 2038 (line 8 │ │ │ │ │ -0001ec90: 290a 2a20 7377 6565 7020 3c31 3e3a 2020 ).* sweep <1>: │ │ │ │ │ -0001eca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ecb0: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point │ │ │ │ │ -0001ecc0: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. │ │ │ │ │ -0001ecd0: 2028 6c69 6e65 2031 3929 0a2a 2073 7765 (line 19).* swe │ │ │ │ │ -0001ece0: 6570 203c 323e 3a20 2020 2020 2020 2020 ep <2>: │ │ │ │ │ +0001ec70: 2020 2020 2020 5377 6570 7420 6f62 6a65 Swept obje │ │ │ │ │ +0001ec80: 6374 732e 2020 2020 2020 2020 286c 696e cts. (lin │ │ │ │ │ +0001ec90: 6520 2038 290a 2a20 7377 6565 7020 3c31 e 8).* sweep <1 │ │ │ │ │ +0001eca0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001ecb0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ +0001ecc0: 6f69 6e74 2073 7765 6570 732e 2020 2020 oint sweeps. │ │ │ │ │ +0001ecd0: 2020 2020 2028 6c69 6e65 2031 3929 0a2a (line 19).* │ │ │ │ │ +0001ece0: 2073 7765 6570 203c 323e 3a20 2020 2020 sweep <2>: │ │ │ │ │ 0001ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ed00: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ -0001ed10: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line │ │ │ │ │ -0001ed20: 2039 290a 2a20 7377 6565 7020 3c33 3e3a 9).* sweep <3>: │ │ │ │ │ -0001ed30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ed40: 2020 2020 2020 2020 2020 2020 204e 6573 Nes │ │ │ │ │ -0001ed50: 7465 6420 7377 6565 7073 2e20 2020 2020 ted sweeps. │ │ │ │ │ -0001ed60: 2020 2028 6c69 6e65 2020 3829 0a2a 2073 (line 8).* s │ │ │ │ │ -0001ed70: 7765 6570 203c 343e 3a20 2020 2020 2020 weep <4>: │ │ │ │ │ +0001ed00: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +0001ed10: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l │ │ │ │ │ +0001ed20: 696e 6520 2039 290a 2a20 7377 6565 7020 ine 9).* sweep │ │ │ │ │ +0001ed30: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +0001ed40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ed50: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. │ │ │ │ │ +0001ed60: 2020 2020 2020 2028 6c69 6e65 2020 3829 (line 8) │ │ │ │ │ +0001ed70: 0a2a 2073 7765 6570 203c 343e 3a20 2020 .* sweep <4>: │ │ │ │ │ 0001ed80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ed90: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe │ │ │ │ │ -0001eda0: 6570 732e 2020 2020 2020 2020 286c 696e eps. (lin │ │ │ │ │ -0001edb0: 6520 3232 290a 2a20 7377 6565 7020 3c35 e 22).* sweep <5 │ │ │ │ │ -0001edc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001edd0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001ede0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ -0001edf0: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith closure.. │ │ │ │ │ -0001ee00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ed90: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested │ │ │ │ │ +0001eda0: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. │ │ │ │ │ +0001edb0: 286c 696e 6520 3232 290a 2a20 7377 6565 (line 22).* swee │ │ │ │ │ +0001edc0: 7020 3c35 3e3a 2020 2020 2020 2020 2020 p <5>: │ │ │ │ │ +0001edd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ede0: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ +0001edf0: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure. │ │ │ │ │ +0001ee00: 0a20 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 286c 696e (lin │ │ │ │ │ -0001ee40: 6520 3130 290a 2a20 7377 6565 7020 3c36 e 10).* sweep <6 │ │ │ │ │ -0001ee50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001ee60: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0001ee70: 7765 6570 732e 2020 2020 2020 2020 2020 weeps. │ │ │ │ │ -0001ee80: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ -0001ee90: 2073 7765 6570 203c 373e 3a20 2020 2020 sweep <7>: │ │ │ │ │ +0001ee30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ee40: 286c 696e 6520 3130 290a 2a20 7377 6565 (line 10).* swee │ │ │ │ │ +0001ee50: 7020 3c36 3e3a 2020 2020 2020 2020 2020 p <6>: │ │ │ │ │ +0001ee60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ee70: 2020 2053 7765 6570 732e 2020 2020 2020 Sweeps. │ │ │ │ │ +0001ee80: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0001ee90: 3629 0a2a 2073 7765 6570 203c 373e 3a20 6).* sweep <7>: │ │ │ │ │ 0001eea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eeb0: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ -0001eec0: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l │ │ │ │ │ -0001eed0: 696e 6520 3230 290a 2a20 7377 6565 7020 ine 20).* sweep │ │ │ │ │ -0001eee0: 3c38 3e3a 2020 2020 2020 2020 2020 2020 <8>: │ │ │ │ │ +0001eeb0: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001eec0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001eed0: 2020 286c 696e 6520 3230 290a 2a20 7377 (line 20).* sw │ │ │ │ │ +0001eee0: 6565 7020 3c38 3e3a 2020 2020 2020 2020 eep <8>: │ │ │ │ │ 0001eef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef00: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -0001ef10: 6d6f 6465 6c2e 2028 6c69 6e65 2031 3029 model. (line 10) │ │ │ │ │ -0001ef20: 0a2a 2073 7765 6570 203c 393e 3a20 2020 .* sweep <9>: │ │ │ │ │ -0001ef30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef40: 2020 2020 2020 2020 2020 4120 6869 6572 A hier │ │ │ │ │ -0001ef50: 6172 6368 6963 616c 206d 6f64 656c 2e20 archical model. │ │ │ │ │ -0001ef60: 286c 696e 6520 3233 290a 2a20 7468 656e (line 23).* then │ │ │ │ │ -0001ef70: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ef00: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ +0001ef10: 6361 6c20 6d6f 6465 6c2e 2028 6c69 6e65 cal model. (line │ │ │ │ │ +0001ef20: 2031 3029 0a2a 2073 7765 6570 203c 393e 10).* sweep <9> │ │ │ │ │ +0001ef30: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ef40: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ +0001ef50: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ +0001ef60: 656c 2e20 286c 696e 6520 3233 290a 2a20 el. (line 23).* │ │ │ │ │ +0001ef70: 7468 656e 3a20 2020 2020 2020 2020 2020 then: │ │ │ │ │ 0001ef80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef90: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ -0001efa0: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1 │ │ │ │ │ -0001efb0: 3029 0a2a 2074 6865 6e20 3c31 3e3a 2020 0).* then <1>: │ │ │ │ │ -0001efc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001efd0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ -0001efe0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ -0001eff0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. │ │ │ │ │ +0001ef90: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +0001efa0: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li │ │ │ │ │ +0001efb0: 6e65 2031 3029 0a2a 2074 6865 6e20 3c31 ne 10).* then <1 │ │ │ │ │ +0001efc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001efd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001efe0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ +0001eff0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ 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 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001f040: 3029 0a2a 2074 6865 6e20 3c32 3e3a 2020 0).* then <2>: │ │ │ │ │ -0001f050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f060: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ -0001f070: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ -0001f080: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ +0001f030: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001f040: 6e65 2031 3029 0a2a 2074 6865 6e20 3c32 ne 10).* then <2 │ │ │ │ │ +0001f050: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001f060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f070: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ +0001f080: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2033 3629 (line 36) │ │ │ │ │ -0001f0d0: 0a2a 2074 6865 6e20 3c33 3e3a 2020 2020 .* then <3>: │ │ │ │ │ +0001f0c0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001f0d0: 2033 3629 0a2a 2074 6865 6e20 3c33 3e3a 36).* then <3>: │ │ │ │ │ 0001f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f0f0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ -0001f100: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ -0001f110: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ +0001f0f0: 2020 2020 2020 2020 2020 2020 2020 5477 Tw │ │ │ │ │ +0001f100: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ +0001f110: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2036 3329 0a2a (line 63).* │ │ │ │ │ -0001f160: 2074 696b 7a3a 2020 2020 2020 2020 2020 tikz: │ │ │ │ │ +0001f150: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6 │ │ │ │ │ +0001f160: 3329 0a2a 2074 696b 7a3a 2020 2020 2020 3).* tikz: │ │ │ │ │ 0001f170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f180: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language │ │ │ │ │ -0001f190: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ -0001f1a0: 696e 6520 3130 290a 2a20 7472 616e 736c ine 10).* transl │ │ │ │ │ -0001f1b0: 6174 653a 2020 2020 2020 2020 2020 2020 ate: │ │ │ │ │ +0001f180: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ +0001f190: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. │ │ │ │ │ +0001f1a0: 2020 286c 696e 6520 3130 290a 2a20 7472 (line 10).* tr │ │ │ │ │ +0001f1b0: 616e 736c 6174 653a 2020 2020 2020 2020 anslate: │ │ │ │ │ 0001f1c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f1d0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -0001f1e0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10) │ │ │ │ │ -0001f1f0: 0a2a 2074 7261 6e73 6c61 7465 203c 313e .* translate <1> │ │ │ │ │ -0001f200: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001f210: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ -0001f220: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. │ │ │ │ │ -0001f230: 286c 696e 6520 3437 290a 2a20 7472 616e (line 47).* tran │ │ │ │ │ -0001f240: 736c 6174 6520 3c32 3e3a 2020 2020 2020 slate <2>: │ │ │ │ │ +0001f1d0: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ +0001f1e0: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line │ │ │ │ │ +0001f1f0: 2031 3029 0a2a 2074 7261 6e73 6c61 7465 10).* translate │ │ │ │ │ +0001f200: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001f210: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob │ │ │ │ │ +0001f220: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ +0001f230: 2020 2020 286c 696e 6520 3437 290a 2a20 (line 47).* │ │ │ │ │ +0001f240: 7472 616e 736c 6174 6520 3c32 3e3a 2020 translate <2>: │ │ │ │ │ 0001f250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f260: 2020 2052 6570 6561 7465 6420 6f62 6a65 Repeated obje │ │ │ │ │ -0001f270: 6374 732e 2020 2020 2028 6c69 6e65 2020 cts. (line │ │ │ │ │ -0001f280: 3829 0a2a 2074 7261 6e73 6c61 7465 203c 8).* translate < │ │ │ │ │ -0001f290: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ -0001f2a0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ -0001f2b0: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ -0001f2c0: 2020 286c 696e 6520 2039 290a 2a20 7472 (line 9).* tr │ │ │ │ │ -0001f2d0: 616e 736c 6174 6520 3c34 3e3a 2020 2020 anslate <4>: │ │ │ │ │ +0001f260: 2020 2020 2020 2052 6570 6561 7465 6420 Repeated │ │ │ │ │ +0001f270: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li │ │ │ │ │ +0001f280: 6e65 2020 3829 0a2a 2074 7261 6e73 6c61 ne 8).* transla │ │ │ │ │ +0001f290: 7465 203c 333e 3a20 2020 2020 2020 2020 te <3>: │ │ │ │ │ +0001f2a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f2b0: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ +0001f2c0: 2020 2020 2020 286c 696e 6520 2039 290a (line 9). │ │ │ │ │ +0001f2d0: 2a20 7472 616e 736c 6174 6520 3c34 3e3a * translate <4>: │ │ │ │ │ 0001f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f2f0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ -0001f300: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur │ │ │ │ │ -0001f310: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. │ │ │ │ │ +0001f2f0: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin │ │ │ │ │ +0001f300: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl │ │ │ │ │ +0001f310: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. │ │ │ │ │ 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 286c 696e 6520 3130 290a 2a20 7472 (line 10).* tr │ │ │ │ │ -0001f360: 616e 736c 6174 6520 3c35 3e3a 2020 2020 anslate <5>: │ │ │ │ │ +0001f350: 2020 2020 2020 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ +0001f360: 2a20 7472 616e 736c 6174 6520 3c35 3e3a * translate <5>: │ │ │ │ │ 0001f370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f380: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -0001f390: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line │ │ │ │ │ -0001f3a0: 2031 3529 0a2a 2074 7261 6e73 6c61 7465 15).* translate │ │ │ │ │ -0001f3b0: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: │ │ │ │ │ -0001f3c0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ -0001f3d0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ -0001f3e0: 2020 2020 286c 696e 6520 3537 290a 2a20 (line 57).* │ │ │ │ │ -0001f3f0: 7472 616e 736c 6174 6520 3c37 3e3a 2020 translate <7>: │ │ │ │ │ -0001f400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f410: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ -0001f420: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001f430: 6e65 2036 3929 0a2a 2074 7261 6e73 6c61 ne 69).* transla │ │ │ │ │ -0001f440: 7465 203c 383e 3a20 2020 2020 2020 2020 te <8>: │ │ │ │ │ +0001f380: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ +0001f390: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. ( │ │ │ │ │ +0001f3a0: 6c69 6e65 2031 3529 0a2a 2074 7261 6e73 line 15).* trans │ │ │ │ │ +0001f3b0: 6c61 7465 203c 363e 3a20 2020 2020 2020 late <6>: │ │ │ │ │ +0001f3c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f3d0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +0001f3e0: 2020 2020 2020 2020 286c 696e 6520 3537 (line 57 │ │ │ │ │ +0001f3f0: 290a 2a20 7472 616e 736c 6174 6520 3c37 ).* translate <7 │ │ │ │ │ +0001f400: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001f410: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +0001f420: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001f430: 2028 6c69 6e65 2036 3929 0a2a 2074 7261 (line 69).* tra │ │ │ │ │ +0001f440: 6e73 6c61 7465 203c 383e 3a20 2020 2020 nslate <8>: │ │ │ │ │ 0001f450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f460: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ -0001f470: 6f64 656c 2e20 286c 696e 6520 3332 290a odel. (line 32). │ │ │ │ │ -0001f480: 2a20 7472 616e 7370 616c 7068 613a 2020 * transpalpha: │ │ │ │ │ -0001f490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f4a0: 2020 2020 2020 2020 2054 7261 6e73 7061 Transpa │ │ │ │ │ -0001f4b0: 7265 6e63 792e 2020 2020 2020 2020 2028 rency. ( │ │ │ │ │ -0001f4c0: 6c69 6e65 2031 3029 0a2a 2075 6e69 743a line 10).* unit: │ │ │ │ │ -0001f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f460: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ +0001f470: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line │ │ │ │ │ +0001f480: 3332 290a 2a20 7472 616e 7370 616c 7068 32).* transpalph │ │ │ │ │ +0001f490: 613a 2020 2020 2020 2020 2020 2020 2020 a: │ │ │ │ │ +0001f4a0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +0001f4b0: 6e73 7061 7265 6e63 792e 2020 2020 2020 nsparency. │ │ │ │ │ +0001f4c0: 2020 2028 6c69 6e65 2031 3029 0a2a 2075 (line 10).* u │ │ │ │ │ +0001f4d0: 6e69 743a 2020 2020 2020 2020 2020 2020 nit: │ │ │ │ │ 0001f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f4f0: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. │ │ │ │ │ -0001f500: 2020 2020 2020 2020 286c 696e 6520 3133 (line 13 │ │ │ │ │ -0001f510: 290a 2a20 756e 6974 203c 313e 3a20 2020 ).* unit <1>: │ │ │ │ │ -0001f520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f530: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001f540: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001f550: 2028 6c69 6e65 2034 3129 0a2a 2076 6965 (line 41).* vie │ │ │ │ │ -0001f560: 773a 2020 2020 2020 2020 2020 2020 2020 w: │ │ │ │ │ +0001f4f0: 2020 2020 2020 556e 6172 7920 666f 726d Unary form │ │ │ │ │ +0001f500: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin │ │ │ │ │ +0001f510: 6520 3133 290a 2a20 756e 6974 203c 313e e 13).* unit <1> │ │ │ │ │ +0001f520: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001f530: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001f540: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +0001f550: 6e67 2e20 2028 6c69 6e65 2034 3129 0a2a ng. (line 41).* │ │ │ │ │ +0001f560: 2076 6965 773a 2020 2020 2020 2020 2020 view: │ │ │ │ │ 0001f570: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f580: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ -0001f590: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line │ │ │ │ │ -0001f5a0: 3235 290a 2a20 7669 6577 203c 313e 3a20 25).* view <1>: │ │ │ │ │ -0001f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f5c0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ -0001f5d0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ -0001f5e0: 2020 2028 6c69 6e65 2033 3529 0a0a 1f0a (line 35).... │ │ │ │ │ -0001f5f0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -0001f600: 6f2c 2020 4e6f 6465 3a20 496e 6465 782c o, Node: Index, │ │ │ │ │ -0001f610: 2020 5072 6576 3a20 496e 6465 7820 6f66 Prev: Index of │ │ │ │ │ -0001f620: 2073 796e 7461 782c 2020 5570 3a20 546f syntax, Up: To │ │ │ │ │ -0001f630: 700a 0a49 6e64 6578 206f 6620 636f 6e63 p..Index of conc │ │ │ │ │ -0001f640: 6570 7473 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a epts.*********** │ │ │ │ │ -0001f650: 2a2a 2a2a 2a2a 0a0a 0008 5b69 6e64 6578 ******....[index │ │ │ │ │ -0001f660: 0008 5d0a 2a20 4d65 6e75 3a0a 0a2a 2061 ..].* Menu:..* a │ │ │ │ │ -0001f670: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic │ │ │ │ │ -0001f680: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001f690: 2020 2020 2020 4166 6669 6e65 2061 7269 Affine ari │ │ │ │ │ -0001f6a0: 7468 6d65 7469 632e 2020 2028 6c69 6e65 thmetic. (line │ │ │ │ │ -0001f6b0: 2020 2038 290a 2a20 6166 6669 6e65 2061 8).* affine a │ │ │ │ │ -0001f6c0: 7269 7468 6d65 7469 6320 3c31 3e3a 2020 rithmetic <1>: │ │ │ │ │ -0001f6d0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -0001f6e0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ -0001f6f0: 6e67 2e20 286c 696e 6520 2034 3029 0a2a ng. (line 40).* │ │ │ │ │ -0001f700: 2061 6c74 6572 6e61 7469 7665 732c 2064 alternatives, d │ │ │ │ │ -0001f710: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: │ │ │ │ │ -0001f720: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ -0001f730: 2064 6566 696e 6974 696f 6e73 2e0a 2020 definitions.. │ │ │ │ │ -0001f740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f580: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ +0001f590: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l │ │ │ │ │ +0001f5a0: 696e 6520 3235 290a 2a20 7669 6577 203c ine 25).* view < │ │ │ │ │ +0001f5b0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +0001f5c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f5d0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +0001f5e0: 616c 732e 2020 2028 6c69 6e65 2033 3529 als. (line 35) │ │ │ │ │ +0001f5f0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +0001f600: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 496e .info, Node: In │ │ │ │ │ +0001f610: 6465 782c 2020 5072 6576 3a20 496e 6465 dex, Prev: Inde │ │ │ │ │ +0001f620: 7820 6f66 2073 796e 7461 782c 2020 5570 x of syntax, Up │ │ │ │ │ +0001f630: 3a20 546f 700a 0a49 6e64 6578 206f 6620 : Top..Index of │ │ │ │ │ +0001f640: 636f 6e63 6570 7473 0a2a 2a2a 2a2a 2a2a concepts.******* │ │ │ │ │ +0001f650: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 0008 5b69 **********....[i │ │ │ │ │ +0001f660: 6e64 6578 0008 5d0a 2a20 4d65 6e75 3a0a ndex..].* Menu:. │ │ │ │ │ +0001f670: 0a2a 2061 6666 696e 6520 6172 6974 686d .* affine arithm │ │ │ │ │ +0001f680: 6574 6963 3a20 2020 2020 2020 2020 2020 etic: │ │ │ │ │ +0001f690: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine │ │ │ │ │ +0001f6a0: 2061 7269 7468 6d65 7469 632e 2020 2028 arithmetic. ( │ │ │ │ │ +0001f6b0: 6c69 6e65 2020 2038 290a 2a20 6166 6669 line 8).* affi │ │ │ │ │ +0001f6c0: 6e65 2061 7269 7468 6d65 7469 6320 3c31 ne arithmetic <1 │ │ │ │ │ +0001f6d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001f6e0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001f6f0: 7261 7769 6e67 2e20 286c 696e 6520 2034 rawing. (line 4 │ │ │ │ │ +0001f700: 3029 0a2a 2061 6c74 6572 6e61 7469 7665 0).* alternative │ │ │ │ │ +0001f710: 732c 2064 6566 696e 6974 696f 6e3a 2020 s, definition: │ │ │ │ │ +0001f720: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ +0001f730: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions │ │ │ │ │ +0001f740: 2e0a 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 286c 696e (lin │ │ │ │ │ -0001f780: 6520 2020 3629 0a2a 2061 7267 756d 656e e 6).* argumen │ │ │ │ │ -0001f790: 742c 2073 7065 6369 616c 3a20 2020 2020 t, special: │ │ │ │ │ +0001f770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f780: 286c 696e 6520 2020 3629 0a2a 2061 7267 (line 6).* arg │ │ │ │ │ +0001f790: 756d 656e 742c 2073 7065 6369 616c 3a20 ument, special: │ │ │ │ │ 0001f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f7b0: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects. │ │ │ │ │ -0001f7c0: 2020 2020 2028 6c69 6e65 2020 3235 290a (line 25). │ │ │ │ │ -0001f7d0: 2a20 6172 6775 6d65 6e74 2c20 7370 6563 * argument, spec │ │ │ │ │ -0001f7e0: 6961 6c20 3c31 3e3a 2020 2020 2020 2020 ial <1>: │ │ │ │ │ -0001f7f0: 2020 2020 2020 2020 2053 7065 6369 616c Special │ │ │ │ │ -0001f800: 732e 2020 2020 2020 2020 2020 2020 286c s. (l │ │ │ │ │ -0001f810: 696e 6520 2031 3029 0a2a 2061 7373 6f63 ine 10).* assoc │ │ │ │ │ -0001f820: 6961 7469 7669 7479 2c20 6f70 6572 6174 iativity, operat │ │ │ │ │ -0001f830: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: │ │ │ │ │ -0001f840: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ -0001f850: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ -0001f860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f7b0: 2020 2020 5370 6563 6961 6c20 6f62 6a65 Special obje │ │ │ │ │ +0001f7c0: 6374 732e 2020 2020 2028 6c69 6e65 2020 cts. (line │ │ │ │ │ +0001f7d0: 3235 290a 2a20 6172 6775 6d65 6e74 2c20 25).* argument, │ │ │ │ │ +0001f7e0: 7370 6563 6961 6c20 3c31 3e3a 2020 2020 special <1>: │ │ │ │ │ +0001f7f0: 2020 2020 2020 2020 2020 2020 2053 7065 Spe │ │ │ │ │ +0001f800: 6369 616c 732e 2020 2020 2020 2020 2020 cials. │ │ │ │ │ +0001f810: 2020 286c 696e 6520 2031 3029 0a2a 2061 (line 10).* a │ │ │ │ │ +0001f820: 7373 6f63 6961 7469 7669 7479 2c20 6f70 ssociativity, op │ │ │ │ │ +0001f830: 6572 6174 6f72 3a20 2020 2020 2020 2020 erator: │ │ │ │ │ +0001f840: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ +0001f850: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ +0001f860: 2e0a 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 286c 696e (lin │ │ │ │ │ -0001f8a0: 6520 2035 3829 0a2a 2061 7869 732c 2072 e 58).* axis, r │ │ │ │ │ -0001f8b0: 6f74 6174 696f 6e3a 2020 2020 2020 2020 otation: │ │ │ │ │ +0001f890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f8a0: 286c 696e 6520 2035 3829 0a2a 2061 7869 (line 58).* axi │ │ │ │ │ +0001f8b0: 732c 2072 6f74 6174 696f 6e3a 2020 2020 s, rotation: │ │ │ │ │ 0001f8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f8d0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ -0001f8e0: 732e 2020 2028 6c69 6e65 2020 3430 290a s. (line 40). │ │ │ │ │ -0001f8f0: 2a20 6261 636b 2066 6163 653a 2020 2020 * back face: │ │ │ │ │ +0001f8d0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ +0001f8e0: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line │ │ │ │ │ +0001f8f0: 3430 290a 2a20 6261 636b 2066 6163 653a 40).* back face: │ │ │ │ │ 0001f900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f910: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -0001f920: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l │ │ │ │ │ -0001f930: 696e 6520 2033 3529 0a2a 2062 6173 656c ine 35).* basel │ │ │ │ │ -0001f940: 696e 6520 6672 6163 7469 6f6e 3a20 2020 ine fraction: │ │ │ │ │ -0001f950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f960: 2020 5069 6374 7572 6520 626f 782e 2020 Picture box. │ │ │ │ │ -0001f970: 2020 2020 2020 2028 6c69 6e65 2020 3130 (line 10 │ │ │ │ │ -0001f980: 290a 2a20 6269 6e61 7279 2066 6f72 6d3a ).* binary form: │ │ │ │ │ -0001f990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f9a0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ -0001f9b0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -0001f9c0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ +0001f910: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ +0001f920: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ +0001f930: 2020 286c 696e 6520 2033 3529 0a2a 2062 (line 35).* b │ │ │ │ │ +0001f940: 6173 656c 696e 6520 6672 6163 7469 6f6e aseline fraction │ │ │ │ │ +0001f950: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001f960: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo │ │ │ │ │ +0001f970: 782e 2020 2020 2020 2020 2028 6c69 6e65 x. (line │ │ │ │ │ +0001f980: 2020 3130 290a 2a20 6269 6e61 7279 2066 10).* binary f │ │ │ │ │ +0001f990: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ +0001f9a0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +0001f9b0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ +0001f9c0: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -0001fa10: 2a20 6269 6e61 7279 2073 7061 6365 2070 * binary space p │ │ │ │ │ -0001fa20: 6172 7469 7469 6f6e 3a20 2020 2020 2020 artition: │ │ │ │ │ -0001fa30: 2020 2020 2020 2020 2048 6964 6465 6e20 Hidden │ │ │ │ │ -0001fa40: 7375 7266 6163 6520 7265 6d6f 7661 6c2e surface removal. │ │ │ │ │ -0001fa50: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +0001fa00: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0001fa10: 2036 290a 2a20 6269 6e61 7279 2073 7061 6).* binary spa │ │ │ │ │ +0001fa20: 6365 2070 6172 7469 7469 6f6e 3a20 2020 ce partition: │ │ │ │ │ +0001fa30: 2020 2020 2020 2020 2020 2020 2048 6964 Hid │ │ │ │ │ +0001fa40: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo │ │ │ │ │ +0001fa50: 7661 6c2e 0a20 2020 2020 2020 2020 2020 val.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -0001fa90: 6c69 6e65 2020 3233 290a 2a20 6269 6e61 line 23).* bina │ │ │ │ │ -0001faa0: 7279 2073 7061 6365 2070 6172 7469 7469 ry space partiti │ │ │ │ │ -0001fab0: 6f6e 203c 313e 3a20 2020 2020 2020 2020 on <1>: │ │ │ │ │ -0001fac0: 2020 2053 7461 7469 7374 6963 732e 2020 Statistics. │ │ │ │ │ -0001fad0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ -0001fae0: 3329 0a2a 2062 696e 6172 7920 7370 6163 3).* binary spac │ │ │ │ │ -0001faf0: 6520 7061 7274 6974 696f 6e20 3c32 3e3a e partition <2>: │ │ │ │ │ -0001fb00: 2020 2020 2020 2020 2020 2020 436f 6d6d Comm │ │ │ │ │ -0001fb10: 616e 6420 6c69 6e65 2e20 2020 2020 2020 and line. │ │ │ │ │ -0001fb20: 2028 6c69 6e65 2020 3236 290a 2a20 626c (line 26).* bl │ │ │ │ │ -0001fb30: 6f63 6b3a 2020 2020 2020 2020 2020 2020 ock: │ │ │ │ │ +0001fa80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001fa90: 2020 2028 6c69 6e65 2020 3233 290a 2a20 (line 23).* │ │ │ │ │ +0001faa0: 6269 6e61 7279 2073 7061 6365 2070 6172 binary space par │ │ │ │ │ +0001fab0: 7469 7469 6f6e 203c 313e 3a20 2020 2020 tition <1>: │ │ │ │ │ +0001fac0: 2020 2020 2020 2053 7461 7469 7374 6963 Statistic │ │ │ │ │ +0001fad0: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin │ │ │ │ │ +0001fae0: 6520 2031 3329 0a2a 2062 696e 6172 7920 e 13).* binary │ │ │ │ │ +0001faf0: 7370 6163 6520 7061 7274 6974 696f 6e20 space partition │ │ │ │ │ +0001fb00: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001fb10: 436f 6d6d 616e 6420 6c69 6e65 2e20 2020 Command line. │ │ │ │ │ +0001fb20: 2020 2020 2028 6c69 6e65 2020 3236 290a (line 26). │ │ │ │ │ +0001fb30: 2a20 626c 6f63 6b3a 2020 2020 2020 2020 * block: │ │ │ │ │ 0001fb40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fb50: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -0001fb60: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line │ │ │ │ │ -0001fb70: 2032 3429 0a2a 2062 6c6f 636b 203c 313e 24).* block <1> │ │ │ │ │ -0001fb80: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001fb90: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -0001fba0: 6570 7420 626c 6f63 6b73 2e20 2020 2020 ept blocks. │ │ │ │ │ -0001fbb0: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* │ │ │ │ │ -0001fbc0: 626c 6f63 6b20 3c32 3e3a 2020 2020 2020 block <2>: │ │ │ │ │ +0001fb50: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +0001fb60: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ +0001fb70: 696e 6520 2032 3429 0a2a 2062 6c6f 636b ine 24).* block │ │ │ │ │ +0001fb80: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001fb90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001fba0: 2020 5377 6570 7420 626c 6f63 6b73 2e20 Swept blocks. │ │ │ │ │ +0001fbb0: 2020 2020 2020 2028 6c69 6e65 2020 2037 (line 7 │ │ │ │ │ +0001fbc0: 290a 2a20 626c 6f63 6b20 3c32 3e3a 2020 ).* block <2>: │ │ │ │ │ 0001fbd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fbe0: 2020 2020 2020 2042 6c6f 636b 732e 2020 Blocks. │ │ │ │ │ -0001fbf0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0001fc00: 6520 2020 3629 0a2a 2062 6c6f 636b 2073 e 6).* block s │ │ │ │ │ -0001fc10: 7765 6570 3a20 2020 2020 2020 2020 2020 weep: │ │ │ │ │ +0001fbe0: 2020 2020 2020 2020 2020 2042 6c6f 636b Block │ │ │ │ │ +0001fbf0: 732e 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ +0001fc00: 286c 696e 6520 2020 3629 0a2a 2062 6c6f (line 6).* blo │ │ │ │ │ +0001fc10: 636b 2073 7765 6570 3a20 2020 2020 2020 ck sweep: │ │ │ │ │ 0001fc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fc30: 5377 6570 7420 626c 6f63 6b73 2e20 2020 Swept blocks. │ │ │ │ │ -0001fc40: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -0001fc50: 2a20 626f 6479 2070 6f6c 7967 6f6e 3a20 * body polygon: │ │ │ │ │ -0001fc60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fc70: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna │ │ │ │ │ -0001fc80: 6c20 6f70 7469 6f6e 732e 2020 2020 286c l options. (l │ │ │ │ │ -0001fc90: 696e 6520 2031 3629 0a2a 2062 6f64 7920 ine 16).* body │ │ │ │ │ -0001fca0: 706f 6c79 676f 6e20 3c31 3e3a 2020 2020 polygon <1>: │ │ │ │ │ +0001fc30: 2020 2020 5377 6570 7420 626c 6f63 6b73 Swept blocks │ │ │ │ │ +0001fc40: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ +0001fc50: 2036 290a 2a20 626f 6479 2070 6f6c 7967 6).* body polyg │ │ │ │ │ +0001fc60: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +0001fc70: 2020 2020 2020 2020 2020 2020 2049 6e74 Int │ │ │ │ │ +0001fc80: 6572 6e61 6c20 6f70 7469 6f6e 732e 2020 ernal options. │ │ │ │ │ +0001fc90: 2020 286c 696e 6520 2031 3629 0a2a 2062 (line 16).* b │ │ │ │ │ +0001fca0: 6f64 7920 706f 6c79 676f 6e20 3c31 3e3a ody polygon <1>: │ │ │ │ │ 0001fcb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fcc0: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ -0001fcd0: 2020 2020 2020 2028 6c69 6e65 2020 3130 (line 10 │ │ │ │ │ -0001fce0: 290a 2a20 626f 6479 2070 6f6c 7967 6f6e ).* body polygon │ │ │ │ │ -0001fcf0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -0001fd00: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -0001fd10: 2070 6f6c 7967 6f6e 732e 2020 2020 2020 polygons. │ │ │ │ │ -0001fd20: 286c 696e 6520 2020 3929 0a2a 2062 6f75 (line 9).* bou │ │ │ │ │ -0001fd30: 6e64 696e 6720 626f 783a 2020 2020 2020 nding box: │ │ │ │ │ +0001fcc0: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line │ │ │ │ │ +0001fcd0: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +0001fce0: 2020 3130 290a 2a20 626f 6479 2070 6f6c 10).* body pol │ │ │ │ │ +0001fcf0: 7967 6f6e 203c 323e 3a20 2020 2020 2020 ygon <2>: │ │ │ │ │ +0001fd00: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +0001fd10: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. │ │ │ │ │ +0001fd20: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).* │ │ │ │ │ +0001fd30: 2062 6f75 6e64 696e 6720 626f 783a 2020 bounding box: │ │ │ │ │ 0001fd40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fd50: 2020 2020 5069 6374 7572 6520 626f 782e Picture box. │ │ │ │ │ -0001fd60: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001fd70: 3135 290a 2a20 4253 502c 2062 696e 6172 15).* BSP, binar │ │ │ │ │ -0001fd80: 7920 7370 6163 6520 7061 7274 6974 696f y space partitio │ │ │ │ │ -0001fd90: 6e3a 2020 2020 2020 2020 2020 2048 6964 n: Hid │ │ │ │ │ -0001fda0: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo │ │ │ │ │ -0001fdb0: 7661 6c2e 0a20 2020 2020 2020 2020 2020 val.. │ │ │ │ │ +0001fd50: 2020 2020 2020 2020 5069 6374 7572 6520 Picture │ │ │ │ │ +0001fd60: 626f 782e 2020 2020 2020 2020 2028 6c69 box. (li │ │ │ │ │ +0001fd70: 6e65 2020 3135 290a 2a20 4253 502c 2062 ne 15).* BSP, b │ │ │ │ │ +0001fd80: 696e 6172 7920 7370 6163 6520 7061 7274 inary space part │ │ │ │ │ +0001fd90: 6974 696f 6e3a 2020 2020 2020 2020 2020 ition: │ │ │ │ │ +0001fda0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ +0001fdb0: 7265 6d6f 7661 6c2e 0a20 2020 2020 2020 removal.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3233 290a 2a20 (line 23).* │ │ │ │ │ -0001fe00: 4253 502c 2062 696e 6172 7920 7370 6163 BSP, binary spac │ │ │ │ │ -0001fe10: 6520 7061 7274 6974 696f 6e20 3c31 3e3a e partition <1>: │ │ │ │ │ -0001fe20: 2020 2020 2020 2043 6f6d 6d61 6e64 206c Command l │ │ │ │ │ -0001fe30: 696e 652e 2020 2020 2020 2020 286c 696e ine. (lin │ │ │ │ │ -0001fe40: 6520 2032 3629 0a2a 2063 616d 6572 613a e 26).* camera: │ │ │ │ │ -0001fe50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001fdf0: 2020 2020 2020 2028 6c69 6e65 2020 3233 (line 23 │ │ │ │ │ +0001fe00: 290a 2a20 4253 502c 2062 696e 6172 7920 ).* BSP, binary │ │ │ │ │ +0001fe10: 7370 6163 6520 7061 7274 6974 696f 6e20 space partition │ │ │ │ │ +0001fe20: 3c31 3e3a 2020 2020 2020 2043 6f6d 6d61 <1>: Comma │ │ │ │ │ +0001fe30: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. │ │ │ │ │ +0001fe40: 286c 696e 6520 2032 3629 0a2a 2063 616d (line 26).* cam │ │ │ │ │ +0001fe50: 6572 613a 2020 2020 2020 2020 2020 2020 era: │ │ │ │ │ 0001fe60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fe70: 4361 6d65 7261 2e20 2020 2020 2020 2020 Camera. │ │ │ │ │ -0001fe80: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -0001fe90: 2a20 6365 6e74 6572 206f 6620 726f 7461 * center of rota │ │ │ │ │ -0001fea0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ -0001feb0: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ -0001fec0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ -0001fed0: 696e 6520 2020 3829 0a2a 2063 656e 7465 ine 8).* cente │ │ │ │ │ -0001fee0: 7220 6f66 2072 6f74 6174 696f 6e20 3c31 r of rotation <1 │ │ │ │ │ -0001fef0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001ff00: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps. │ │ │ │ │ -0001ff10: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -0001ff20: 290a 2a20 6365 6e74 726f 6964 3a20 2020 ).* centroid: │ │ │ │ │ -0001ff30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ff40: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001ff50: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001ff60: 286c 696e 6520 2036 3429 0a2a 2063 656e (line 64).* cen │ │ │ │ │ -0001ff70: 7472 6f69 6420 3c31 3e3a 2020 2020 2020 troid <1>: │ │ │ │ │ +0001fe70: 2020 2020 4361 6d65 7261 2e20 2020 2020 Camera. │ │ │ │ │ +0001fe80: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0001fe90: 2036 290a 2a20 6365 6e74 6572 206f 6620 6).* center of │ │ │ │ │ +0001fea0: 726f 7461 7469 6f6e 3a20 2020 2020 2020 rotation: │ │ │ │ │ +0001feb0: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +0001fec0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +0001fed0: 2020 286c 696e 6520 2020 3829 0a2a 2063 (line 8).* c │ │ │ │ │ +0001fee0: 656e 7465 7220 6f66 2072 6f74 6174 696f enter of rotatio │ │ │ │ │ +0001fef0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ +0001ff00: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe │ │ │ │ │ +0001ff10: 6570 732e 2020 2020 2020 2028 6c69 6e65 eps. (line │ │ │ │ │ +0001ff20: 2020 2036 290a 2a20 6365 6e74 726f 6964 6).* centroid │ │ │ │ │ +0001ff30: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ff40: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001ff50: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +0001ff60: 6e67 2e20 286c 696e 6520 2036 3429 0a2a ng. (line 64).* │ │ │ │ │ +0001ff70: 2063 656e 7472 6f69 6420 3c31 3e3a 2020 centroid <1>: │ │ │ │ │ 0001ff80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ff90: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001ffa0: 6472 6177 696e 672e 2028 6c69 6e65 2031 drawing. (line 1 │ │ │ │ │ -0001ffb0: 3032 290a 2a20 636c 6970 7069 6e67 3a20 02).* clipping: │ │ │ │ │ -0001ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ffd0: 2020 2020 2020 2020 2020 2020 2050 6963 Pic │ │ │ │ │ -0001ffe0: 7475 7265 2062 6f78 2e20 2020 2020 2020 ture box. │ │ │ │ │ -0001fff0: 2020 286c 696e 6520 2031 3729 0a2a 2063 (line 17).* c │ │ │ │ │ -00020000: 6c69 7070 696e 6720 3c31 3e3a 2020 2020 lipping <1>: │ │ │ │ │ +0001ff90: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ +0001ffa0: 6361 6c20 6472 6177 696e 672e 2028 6c69 cal drawing. (li │ │ │ │ │ +0001ffb0: 6e65 2031 3032 290a 2a20 636c 6970 7069 ne 102).* clippi │ │ │ │ │ +0001ffc0: 6e67 3a20 2020 2020 2020 2020 2020 2020 ng: │ │ │ │ │ +0001ffd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ffe0: 2050 6963 7475 7265 2062 6f78 2e20 2020 Picture box. │ │ │ │ │ +0001fff0: 2020 2020 2020 286c 696e 6520 2031 3729 (line 17) │ │ │ │ │ +00020000: 0a2a 2063 6c69 7070 696e 6720 3c31 3e3a .* clipping <1>: │ │ │ │ │ 00020010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020020: 2020 2020 2020 436c 6970 7069 6e67 2e20 Clipping. │ │ │ │ │ -00020030: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00020040: 2020 2036 290a 2a20 636c 6f73 7572 6520 6).* closure │ │ │ │ │ -00020050: 7461 672c 203c 3e3a 2020 2020 2020 2020 tag, <>: │ │ │ │ │ -00020060: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -00020070: 6f69 6e74 2073 7765 6570 732e 2020 2020 oint sweeps. │ │ │ │ │ -00020080: 2020 2020 286c 696e 6520 2031 3829 0a2a (line 18).* │ │ │ │ │ -00020090: 2063 6c6f 7375 7265 2074 6167 2c20 3c3e closure tag, <> │ │ │ │ │ -000200a0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -000200b0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -000200c0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ -000200d0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ +00020020: 2020 2020 2020 2020 2020 436c 6970 7069 Clippi │ │ │ │ │ +00020030: 6e67 2e20 2020 2020 2020 2020 2020 2028 ng. ( │ │ │ │ │ +00020040: 6c69 6e65 2020 2036 290a 2a20 636c 6f73 line 6).* clos │ │ │ │ │ +00020050: 7572 6520 7461 672c 203c 3e3a 2020 2020 ure tag, <>: │ │ │ │ │ +00020060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020070: 2020 2050 6f69 6e74 2073 7765 6570 732e Point sweeps. │ │ │ │ │ +00020080: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ +00020090: 3829 0a2a 2063 6c6f 7375 7265 2074 6167 8).* closure tag │ │ │ │ │ +000200a0: 2c20 3c3e 203c 313e 3a20 2020 2020 2020 , <> <1>: │ │ │ │ │ +000200b0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +000200c0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ +000200d0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. │ │ │ │ │ 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 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00020120: 2063 6c6f 7375 7265 2074 6167 2c20 3c3e closure tag, <> │ │ │ │ │ -00020130: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -00020140: 2020 2020 2020 2020 5377 6565 7073 2e20 Sweeps. │ │ │ │ │ -00020150: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00020160: 6e65 2020 3139 290a 2a20 636c 6f73 7572 ne 19).* closur │ │ │ │ │ -00020170: 6520 7461 672c 203c 3e20 3c33 3e3a 2020 e tag, <> <3>: │ │ │ │ │ -00020180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020190: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. │ │ │ │ │ -000201a0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -000201b0: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, │ │ │ │ │ -000201c0: 3c3e 203c 343e 3a20 2020 2020 2020 2020 <> <4>: │ │ │ │ │ -000201d0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -000201e0: 706f 696e 7473 2e20 2020 2020 2020 2028 points. ( │ │ │ │ │ -000201f0: 6c69 6e65 2020 3133 290a 2a20 636c 6f73 line 13).* clos │ │ │ │ │ -00020200: 7572 6520 7461 672c 203c 3e20 3c35 3e3a ure tag, <> <5>: │ │ │ │ │ -00020210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020220: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ -00020230: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -00020240: 3629 0a2a 2063 6c6f 7375 7265 2074 6167 6).* closure tag │ │ │ │ │ -00020250: 2c20 3c3e 203c 363e 3a20 2020 2020 2020 , <> <6>: │ │ │ │ │ -00020260: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -00020270: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. │ │ │ │ │ -00020280: 2028 6c69 6e65 2020 3238 290a 2a20 636c (line 28).* cl │ │ │ │ │ -00020290: 6f73 7572 6520 7461 672c 203c 3e20 3c37 osure tag, <> <7 │ │ │ │ │ -000202a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000202b0: 2020 2020 2053 7765 6570 2066 6163 6520 Sweep face │ │ │ │ │ -000202c0: 7370 6c69 7474 696e 672e 0a20 2020 2020 splitting.. │ │ │ │ │ +00020110: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +00020120: 3629 0a2a 2063 6c6f 7375 7265 2074 6167 6).* closure tag │ │ │ │ │ +00020130: 2c20 3c3e 203c 323e 3a20 2020 2020 2020 , <> <2>: │ │ │ │ │ +00020140: 2020 2020 2020 2020 2020 2020 5377 6565 Swee │ │ │ │ │ +00020150: 7073 2e20 2020 2020 2020 2020 2020 2020 ps. │ │ │ │ │ +00020160: 2028 6c69 6e65 2020 3139 290a 2a20 636c (line 19).* cl │ │ │ │ │ +00020170: 6f73 7572 6520 7461 672c 203c 3e20 3c33 osure tag, <> <3 │ │ │ │ │ +00020180: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00020190: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point │ │ │ │ │ +000201a0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ +000201b0: 2020 3629 0a2a 2063 6c6f 7375 7265 2074 6).* closure t │ │ │ │ │ +000201c0: 6167 2c20 3c3e 203c 343e 3a20 2020 2020 ag, <> <4>: │ │ │ │ │ +000201d0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +000201e0: 6570 7420 706f 696e 7473 2e20 2020 2020 ept points. │ │ │ │ │ +000201f0: 2020 2028 6c69 6e65 2020 3133 290a 2a20 (line 13).* │ │ │ │ │ +00020200: 636c 6f73 7572 6520 7461 672c 203c 3e20 closure tag, <> │ │ │ │ │ +00020210: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ +00020220: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin │ │ │ │ │ +00020230: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin │ │ │ │ │ +00020240: 6520 2020 3629 0a2a 2063 6c6f 7375 7265 e 6).* closure │ │ │ │ │ +00020250: 2074 6167 2c20 3c3e 203c 363e 3a20 2020 tag, <> <6>: │ │ │ │ │ +00020260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020270: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ +00020280: 2020 2020 2028 6c69 6e65 2020 3238 290a (line 28). │ │ │ │ │ +00020290: 2a20 636c 6f73 7572 6520 7461 672c 203c * closure tag, < │ │ │ │ │ +000202a0: 3e20 3c37 3e3a 2020 2020 2020 2020 2020 > <7>: │ │ │ │ │ +000202b0: 2020 2020 2020 2020 2053 7765 6570 2066 Sweep f │ │ │ │ │ +000202c0: 6163 6520 7370 6c69 7474 696e 672e 0a20 ace splitting.. │ │ │ │ │ 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 2028 6c69 6e65 2020 (line │ │ │ │ │ -00020310: 3131 290a 2a20 636f 6d6d 616e 6420 6c69 11).* command li │ │ │ │ │ -00020320: 6e65 206f 7074 696f 6e3a 2020 2020 2020 ne option: │ │ │ │ │ -00020330: 2020 2020 2020 2020 2020 2020 2048 656c Hel │ │ │ │ │ -00020340: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. │ │ │ │ │ -00020350: 2020 286c 696e 6520 2033 3029 0a2a 2063 (line 30).* c │ │ │ │ │ -00020360: 6f6d 6d61 6e64 206c 696e 6520 6f70 7469 ommand line opti │ │ │ │ │ -00020370: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: │ │ │ │ │ -00020380: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li │ │ │ │ │ -00020390: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line │ │ │ │ │ -000203a0: 2020 3134 290a 2a20 636f 6d6d 616e 6420 14).* command │ │ │ │ │ -000203b0: 6c69 6e65 2c20 736b 6574 6368 3a20 2020 line, sketch: │ │ │ │ │ -000203c0: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -000203d0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. │ │ │ │ │ -000203e0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).* │ │ │ │ │ -000203f0: 2063 6f6d 6d61 6e64 206c 696e 652c 2073 command line, s │ │ │ │ │ -00020400: 6b65 7463 6820 3c31 3e3a 2020 2020 2020 ketch <1>: │ │ │ │ │ -00020410: 2020 2020 2020 2020 436f 6d6d 616e 6420 Command │ │ │ │ │ -00020420: 6c69 6e65 2e20 2020 2020 2020 2028 6c69 line. (li │ │ │ │ │ -00020430: 6e65 2020 2036 290a 2a20 636f 6d6d 656e ne 6).* commen │ │ │ │ │ -00020440: 7473 3a20 2020 2020 2020 2020 2020 2020 ts: │ │ │ │ │ +00020300: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00020310: 6e65 2020 3131 290a 2a20 636f 6d6d 616e ne 11).* comman │ │ │ │ │ +00020320: 6420 6c69 6e65 206f 7074 696f 6e3a 2020 d line option: │ │ │ │ │ +00020330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020340: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. │ │ │ │ │ +00020350: 2020 2020 2020 286c 696e 6520 2033 3029 (line 30) │ │ │ │ │ +00020360: 0a2a 2063 6f6d 6d61 6e64 206c 696e 6520 .* command line │ │ │ │ │ +00020370: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: │ │ │ │ │ +00020380: 2020 2020 2020 2020 2020 436f 6d6d 616e Comman │ │ │ │ │ +00020390: 6420 6c69 6e65 2e20 2020 2020 2020 2028 d line. ( │ │ │ │ │ +000203a0: 6c69 6e65 2020 3134 290a 2a20 636f 6d6d line 14).* comm │ │ │ │ │ +000203b0: 616e 6420 6c69 6e65 2c20 736b 6574 6368 and line, sketch │ │ │ │ │ +000203c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000203d0: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. │ │ │ │ │ +000203e0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +000203f0: 3929 0a2a 2063 6f6d 6d61 6e64 206c 696e 9).* command lin │ │ │ │ │ +00020400: 652c 2073 6b65 7463 6820 3c31 3e3a 2020 e, sketch <1>: │ │ │ │ │ +00020410: 2020 2020 2020 2020 2020 2020 436f 6d6d Comm │ │ │ │ │ +00020420: 616e 6420 6c69 6e65 2e20 2020 2020 2020 and line. │ │ │ │ │ +00020430: 2028 6c69 6e65 2020 2036 290a 2a20 636f (line 6).* co │ │ │ │ │ +00020440: 6d6d 656e 7473 3a20 2020 2020 2020 2020 mments: │ │ │ │ │ 00020450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020460: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ -00020470: 2e20 2020 2020 286c 696e 6520 2032 3829 . (line 28) │ │ │ │ │ -00020480: 0a2a 2063 6f6d 6d65 6e74 7320 3c31 3e3a .* comments <1>: │ │ │ │ │ -00020490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000204a0: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua │ │ │ │ │ -000204b0: 6765 2062 6173 6963 732e 2020 2020 2028 ge basics. ( │ │ │ │ │ -000204c0: 6c69 6e65 2020 3138 290a 2a20 636f 6e73 line 18).* cons │ │ │ │ │ -000204d0: 7472 7563 746f 723a 2020 2020 2020 2020 tructor: │ │ │ │ │ +00020460: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s │ │ │ │ │ +00020470: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line │ │ │ │ │ +00020480: 2032 3829 0a2a 2063 6f6d 6d65 6e74 7320 28).* comments │ │ │ │ │ +00020490: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000204a0: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ +000204b0: 6e67 7561 6765 2062 6173 6963 732e 2020 nguage basics. │ │ │ │ │ +000204c0: 2020 2028 6c69 6e65 2020 3138 290a 2a20 (line 18).* │ │ │ │ │ +000204d0: 636f 6e73 7472 7563 746f 723a 2020 2020 constructor: │ │ │ │ │ 000204e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000204f0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -00020500: 6572 616c 732e 2020 286c 696e 6520 2020 erals. (line │ │ │ │ │ -00020510: 3629 0a2a 2063 6f6f 7264 696e 6174 6520 6).* coordinate │ │ │ │ │ -00020520: 7379 7374 656d 2c20 7269 6768 742d 6861 system, right-ha │ │ │ │ │ -00020530: 6e64 6564 3a20 2020 2020 2020 496e 7472 nded: Intr │ │ │ │ │ -00020540: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ -00020550: 706c 652e 0a20 2020 2020 2020 2020 2020 ple.. │ │ │ │ │ +000204f0: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +00020500: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +00020510: 6520 2020 3629 0a2a 2063 6f6f 7264 696e e 6).* coordin │ │ │ │ │ +00020520: 6174 6520 7379 7374 656d 2c20 7269 6768 ate system, righ │ │ │ │ │ +00020530: 742d 6861 6e64 6564 3a20 2020 2020 2020 t-handed: │ │ │ │ │ +00020540: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by │ │ │ │ │ +00020550: 6578 616d 706c 652e 0a20 2020 2020 2020 example.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* │ │ │ │ │ -000205a0: 636f 756e 7465 722d 636c 6f63 6b77 6973 counter-clockwis │ │ │ │ │ -000205b0: 6520 706f 6c79 676f 6e20 7665 7274 6578 e polygon vertex │ │ │ │ │ -000205c0: 206f 7264 6572 3a20 4865 6c6c 6f20 776f order: Hello wo │ │ │ │ │ -000205d0: 726c 642e 2020 2020 2020 2020 286c 696e rld. (lin │ │ │ │ │ -000205e0: 6520 2033 3929 0a2a 2063 756c 6c69 6e67 e 39).* culling │ │ │ │ │ -000205f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020590: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11 │ │ │ │ │ +000205a0: 290a 2a20 636f 756e 7465 722d 636c 6f63 ).* counter-cloc │ │ │ │ │ +000205b0: 6b77 6973 6520 706f 6c79 676f 6e20 7665 kwise polygon ve │ │ │ │ │ +000205c0: 7274 6578 206f 7264 6572 3a20 4865 6c6c rtex order: Hell │ │ │ │ │ +000205d0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. │ │ │ │ │ +000205e0: 286c 696e 6520 2033 3929 0a2a 2063 756c (line 39).* cul │ │ │ │ │ +000205f0: 6c69 6e67 3a20 2020 2020 2020 2020 2020 ling: │ │ │ │ │ 00020600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020610: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ -00020620: 2020 2020 2028 6c69 6e65 2020 3433 290a (line 43). │ │ │ │ │ -00020630: 2a20 6375 6c6c 696e 6720 3c31 3e3a 2020 * culling <1>: │ │ │ │ │ -00020640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020650: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -00020660: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l │ │ │ │ │ -00020670: 696e 6520 2033 3529 0a2a 2063 756c 6c69 ine 35).* culli │ │ │ │ │ -00020680: 6e67 203c 323e 3a20 2020 2020 2020 2020 ng <2>: │ │ │ │ │ +00020610: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ +00020620: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00020630: 3433 290a 2a20 6375 6c6c 696e 6720 3c31 43).* culling <1 │ │ │ │ │ +00020640: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00020650: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ +00020660: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ +00020670: 2020 286c 696e 6520 2033 3529 0a2a 2063 (line 35).* c │ │ │ │ │ +00020680: 756c 6c69 6e67 203c 323e 3a20 2020 2020 ulling <2>: │ │ │ │ │ 00020690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000206a0: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli │ │ │ │ │ -000206b0: 642e 2020 2020 2028 6c69 6e65 2020 3431 d. (line 41 │ │ │ │ │ -000206c0: 290a 2a20 6375 6c6c 696e 6720 3c33 3e3a ).* culling <3>: │ │ │ │ │ -000206d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000206e0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -000206f0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ -00020700: 286c 696e 6520 2031 3629 0a2a 2064 6563 (line 16).* dec │ │ │ │ │ -00020710: 6c61 7261 7469 7665 206c 616e 6775 6167 larative languag │ │ │ │ │ -00020720: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -00020730: 2020 2020 4c61 6e67 7561 6765 2062 6173 Language bas │ │ │ │ │ -00020740: 6963 732e 2020 2020 2028 6c69 6e65 2020 ics. (line │ │ │ │ │ -00020750: 2038 290a 2a20 6465 6669 6e69 7469 6f6e 8).* definition │ │ │ │ │ -00020760: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00020770: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ -00020780: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ -00020790: 2020 286c 696e 6520 2032 3229 0a2a 2064 (line 22).* d │ │ │ │ │ -000207a0: 6566 696e 6974 696f 6e20 3c31 3e3a 2020 efinition <1>: │ │ │ │ │ -000207b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000207c0: 2020 2020 2020 4465 6669 6e69 7469 6f6e Definition │ │ │ │ │ -000207d0: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ -000207e0: 2020 2036 290a 2a20 6465 6669 6e69 7469 6).* definiti │ │ │ │ │ -000207f0: 6f6e 2077 6974 6820 616c 7465 726e 6174 on with alternat │ │ │ │ │ -00020800: 6976 6573 3a20 2020 2020 2020 2020 2046 ives: F │ │ │ │ │ -00020810: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti │ │ │ │ │ -00020820: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. │ │ │ │ │ +000206a0: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a │ │ │ │ │ +000206b0: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line │ │ │ │ │ +000206c0: 2020 3431 290a 2a20 6375 6c6c 696e 6720 41).* culling │ │ │ │ │ +000206d0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +000206e0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +000206f0: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. │ │ │ │ │ +00020700: 2020 2020 286c 696e 6520 2031 3629 0a2a (line 16).* │ │ │ │ │ +00020710: 2064 6563 6c61 7261 7469 7665 206c 616e declarative lan │ │ │ │ │ +00020720: 6775 6167 653a 2020 2020 2020 2020 2020 guage: │ │ │ │ │ +00020730: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language │ │ │ │ │ +00020740: 2062 6173 6963 732e 2020 2020 2028 6c69 basics. (li │ │ │ │ │ +00020750: 6e65 2020 2038 290a 2a20 6465 6669 6e69 ne 8).* defini │ │ │ │ │ +00020760: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ +00020770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020780: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ +00020790: 2e20 2020 2020 286c 696e 6520 2032 3229 . (line 22) │ │ │ │ │ +000207a0: 0a2a 2064 6566 696e 6974 696f 6e20 3c31 .* definition <1 │ │ │ │ │ +000207b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +000207c0: 2020 2020 2020 2020 2020 4465 6669 6e69 Defini │ │ │ │ │ +000207d0: 7469 6f6e 732e 2020 2020 2020 2020 2028 tions. ( │ │ │ │ │ +000207e0: 6c69 6e65 2020 2036 290a 2a20 6465 6669 line 6).* defi │ │ │ │ │ +000207f0: 6e69 7469 6f6e 2077 6974 6820 616c 7465 nition with alte │ │ │ │ │ +00020800: 726e 6174 6976 6573 3a20 2020 2020 2020 rnatives: │ │ │ │ │ +00020810: 2020 2046 6f72 6d73 206f 6620 6465 6669 Forms of defi │ │ │ │ │ +00020820: 6e69 7469 6f6e 732e 0a20 2020 2020 2020 nitions.. │ │ │ │ │ 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 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -00020870: 6465 6669 6e69 7469 6f6e 2c20 6472 6177 definition, draw │ │ │ │ │ -00020880: 6162 6c65 3a20 2020 2020 2020 2020 2020 able: │ │ │ │ │ -00020890: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ -000208a0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ -000208b0: 6520 2032 3729 0a2a 2064 6566 696e 6974 e 27).* definit │ │ │ │ │ -000208c0: 696f 6e2c 206f 7074 696f 6e73 3a20 2020 ion, options: │ │ │ │ │ -000208d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000208e0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ -000208f0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ -00020900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020860: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ +00020870: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, │ │ │ │ │ +00020880: 6472 6177 6162 6c65 3a20 2020 2020 2020 drawable: │ │ │ │ │ +00020890: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ +000208a0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ +000208b0: 286c 696e 6520 2032 3729 0a2a 2064 6566 (line 27).* def │ │ │ │ │ +000208c0: 696e 6974 696f 6e2c 206f 7074 696f 6e73 inition, options │ │ │ │ │ +000208d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000208e0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +000208f0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure │ │ │ │ │ +00020900: 2e0a 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 286c 696e (lin │ │ │ │ │ -00020940: 6520 2032 3329 0a2a 2064 6566 696e 6974 e 23).* definit │ │ │ │ │ -00020950: 696f 6e2c 2070 6f69 6e74 3a20 2020 2020 ion, point: │ │ │ │ │ +00020930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020940: 286c 696e 6520 2032 3329 0a2a 2064 6566 (line 23).* def │ │ │ │ │ +00020950: 696e 6974 696f 6e2c 2070 6f69 6e74 3a20 inition, point: │ │ │ │ │ 00020960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020970: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ -00020980: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23). │ │ │ │ │ -00020990: 2a20 6465 6669 6e69 7469 6f6e 2c20 7363 * definition, sc │ │ │ │ │ -000209a0: 616c 6172 3a20 2020 2020 2020 2020 2020 alar: │ │ │ │ │ -000209b0: 2020 2020 2020 2020 2053 7765 7074 206f Swept o │ │ │ │ │ -000209c0: 626a 6563 7473 2e20 2020 2020 2020 286c bjects. (l │ │ │ │ │ -000209d0: 696e 6520 2031 3329 0a2a 2064 6566 696e ine 13).* defin │ │ │ │ │ -000209e0: 6974 696f 6e2c 2073 696d 706c 653a 2020 ition, simple: │ │ │ │ │ -000209f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020a00: 2020 466f 726d 7320 6f66 2064 6566 696e Forms of defin │ │ │ │ │ -00020a10: 6974 696f 6e73 2e0a 2020 2020 2020 2020 itions.. │ │ │ │ │ +00020970: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so │ │ │ │ │ +00020980: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line │ │ │ │ │ +00020990: 3233 290a 2a20 6465 6669 6e69 7469 6f6e 23).* definition │ │ │ │ │ +000209a0: 2c20 7363 616c 6172 3a20 2020 2020 2020 , scalar: │ │ │ │ │ +000209b0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +000209c0: 7074 206f 626a 6563 7473 2e20 2020 2020 pt objects. │ │ │ │ │ +000209d0: 2020 286c 696e 6520 2031 3329 0a2a 2064 (line 13).* d │ │ │ │ │ +000209e0: 6566 696e 6974 696f 6e2c 2073 696d 706c efinition, simpl │ │ │ │ │ +000209f0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +00020a00: 2020 2020 2020 466f 726d 7320 6f66 2064 Forms of d │ │ │ │ │ +00020a10: 6566 696e 6974 696f 6e73 2e0a 2020 2020 efinitions.. │ │ │ │ │ 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 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00020a60: 0a2a 2064 6566 696e 6974 696f 6e2c 2074 .* definition, t │ │ │ │ │ -00020a70: 6167 3a20 2020 2020 2020 2020 2020 2020 ag: │ │ │ │ │ -00020a80: 2020 2020 2020 2020 2020 4465 6669 6e69 Defini │ │ │ │ │ -00020a90: 7469 6f6e 732e 2020 2020 2020 2020 2028 tions. ( │ │ │ │ │ -00020aa0: 6c69 6e65 2020 3138 290a 2a20 6465 6669 line 18).* defi │ │ │ │ │ -00020ab0: 6e69 7469 6f6e 2c20 7461 6720 3c31 3e3a nition, tag <1>: │ │ │ │ │ -00020ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020ad0: 2020 2046 6f72 6d73 206f 6620 6465 6669 Forms of defi │ │ │ │ │ -00020ae0: 6e69 7469 6f6e 732e 0a20 2020 2020 2020 nitions.. │ │ │ │ │ +00020a50: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00020a60: 2020 3629 0a2a 2064 6566 696e 6974 696f 6).* definitio │ │ │ │ │ +00020a70: 6e2c 2074 6167 3a20 2020 2020 2020 2020 n, tag: │ │ │ │ │ +00020a80: 2020 2020 2020 2020 2020 2020 2020 4465 De │ │ │ │ │ +00020a90: 6669 6e69 7469 6f6e 732e 2020 2020 2020 finitions. │ │ │ │ │ +00020aa0: 2020 2028 6c69 6e65 2020 3138 290a 2a20 (line 18).* │ │ │ │ │ +00020ab0: 6465 6669 6e69 7469 6f6e 2c20 7461 6720 definition, tag │ │ │ │ │ +00020ac0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00020ad0: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ +00020ae0: 6465 6669 6e69 7469 6f6e 732e 0a20 2020 definitions.. │ │ │ │ │ 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 2028 6c69 6e65 2020 2037 (line 7 │ │ │ │ │ -00020b30: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, │ │ │ │ │ -00020b40: 7461 6720 3c32 3e3a 2020 2020 2020 2020 tag <2>: │ │ │ │ │ -00020b50: 2020 2020 2020 2020 2020 2043 6f6d 6d61 Comma │ │ │ │ │ -00020b60: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. │ │ │ │ │ -00020b70: 286c 696e 6520 2035 3329 0a2a 2064 6566 (line 53).* def │ │ │ │ │ -00020b80: 696e 6974 696f 6e2c 2074 7261 6e73 666f inition, transfo │ │ │ │ │ -00020b90: 726d 3a20 2020 2020 2020 2020 2020 2020 rm: │ │ │ │ │ -00020ba0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ -00020bb0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00020bc0: 3335 290a 2a20 6465 6669 6e69 7469 6f6e 35).* definition │ │ │ │ │ -00020bd0: 2c20 7665 6374 6f72 3a20 2020 2020 2020 , vector: │ │ │ │ │ -00020be0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ -00020bf0: 796c 696e 6520 7377 6565 7073 2e20 2020 yline sweeps. │ │ │ │ │ -00020c00: 2020 286c 696e 6520 2031 3929 0a2a 2064 (line 19).* d │ │ │ │ │ -00020c10: 6570 7468 2073 6f72 743a 2020 2020 2020 epth sort: │ │ │ │ │ +00020b20: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00020b30: 2020 2037 290a 2a20 6465 6669 6e69 7469 7).* definiti │ │ │ │ │ +00020b40: 6f6e 2c20 7461 6720 3c32 3e3a 2020 2020 on, tag <2>: │ │ │ │ │ +00020b50: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ +00020b60: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. │ │ │ │ │ +00020b70: 2020 2020 286c 696e 6520 2035 3329 0a2a (line 53).* │ │ │ │ │ +00020b80: 2064 6566 696e 6974 696f 6e2c 2074 7261 definition, tra │ │ │ │ │ +00020b90: 6e73 666f 726d 3a20 2020 2020 2020 2020 nsform: │ │ │ │ │ +00020ba0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ +00020bb0: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ +00020bc0: 6e65 2020 3335 290a 2a20 6465 6669 6e69 ne 35).* defini │ │ │ │ │ +00020bd0: 7469 6f6e 2c20 7665 6374 6f72 3a20 2020 tion, vector: │ │ │ │ │ +00020be0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020bf0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ +00020c00: 2e20 2020 2020 286c 696e 6520 2031 3929 . (line 19) │ │ │ │ │ +00020c10: 0a2a 2064 6570 7468 2073 6f72 743a 2020 .* depth sort: │ │ │ │ │ 00020c20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020c30: 2020 2020 2020 496e 7465 726e 616c 206f Internal o │ │ │ │ │ -00020c40: 7074 696f 6e73 2e20 2020 2028 6c69 6e65 ptions. (line │ │ │ │ │ -00020c50: 2020 3133 290a 2a20 6465 7074 6820 736f 13).* depth so │ │ │ │ │ -00020c60: 7274 203c 313e 3a20 2020 2020 2020 2020 rt <1>: │ │ │ │ │ -00020c70: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -00020c80: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re │ │ │ │ │ -00020c90: 6d6f 7661 6c2e 0a20 2020 2020 2020 2020 moval.. │ │ │ │ │ +00020c30: 2020 2020 2020 2020 2020 496e 7465 726e Intern │ │ │ │ │ +00020c40: 616c 206f 7074 696f 6e73 2e20 2020 2028 al options. ( │ │ │ │ │ +00020c50: 6c69 6e65 2020 3133 290a 2a20 6465 7074 line 13).* dept │ │ │ │ │ +00020c60: 6820 736f 7274 203c 313e 3a20 2020 2020 h sort <1>: │ │ │ │ │ +00020c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020c80: 2020 2048 6964 6465 6e20 7375 7266 6163 Hidden surfac │ │ │ │ │ +00020c90: 6520 7265 6d6f 7661 6c2e 0a20 2020 2020 e removal.. │ │ │ │ │ 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 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00020ce0: 2a20 6465 7074 6820 736f 7274 203c 323e * depth sort <2> │ │ │ │ │ -00020cf0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00020d00: 2020 2020 2020 2020 2042 7567 7320 616e Bugs an │ │ │ │ │ -00020d10: 6420 616e 6f6d 616c 6965 732e 2020 286c d anomalies. (l │ │ │ │ │ -00020d20: 696e 6520 2020 3829 0a2a 2064 6972 6563 ine 8).* direc │ │ │ │ │ -00020d30: 7420 7472 616e 7366 6f72 6d3a 2020 2020 t transform: │ │ │ │ │ +00020cd0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00020ce0: 2036 290a 2a20 6465 7074 6820 736f 7274 6).* depth sort │ │ │ │ │ +00020cf0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00020d00: 2020 2020 2020 2020 2020 2020 2042 7567 Bug │ │ │ │ │ +00020d10: 7320 616e 6420 616e 6f6d 616c 6965 732e s and anomalies. │ │ │ │ │ +00020d20: 2020 286c 696e 6520 2020 3829 0a2a 2064 (line 8).* d │ │ │ │ │ +00020d30: 6972 6563 7420 7472 616e 7366 6f72 6d3a irect transform: │ │ │ │ │ 00020d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020d50: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ -00020d60: 7261 6c73 2e20 2028 6c69 6e65 2020 3437 rals. (line 47 │ │ │ │ │ -00020d70: 290a 2a20 6469 7265 6374 2074 7261 6e73 ).* direct trans │ │ │ │ │ -00020d80: 666f 726d 203c 313e 3a20 2020 2020 2020 form <1>: │ │ │ │ │ -00020d90: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -00020da0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ -00020db0: 286c 696e 6520 2035 3329 0a2a 2064 6f63 (line 53).* doc │ │ │ │ │ -00020dc0: 756d 656e 7420 7465 6d70 6c61 7465 3a20 ument template: │ │ │ │ │ -00020dd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020de0: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ -00020df0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00020e00: 3332 290a 2a20 646f 6375 6d65 6e74 2074 32).* document t │ │ │ │ │ -00020e10: 656d 706c 6174 6520 3c31 3e3a 2020 2020 emplate <1>: │ │ │ │ │ -00020e20: 2020 2020 2020 2020 2020 2020 2043 6f6d Com │ │ │ │ │ -00020e30: 6d61 6e64 206c 696e 652e 2020 2020 2020 mand line. │ │ │ │ │ -00020e40: 2020 286c 696e 6520 2033 3629 0a2a 2064 (line 36).* d │ │ │ │ │ -00020e50: 7261 7761 626c 653a 2020 2020 2020 2020 rawable: │ │ │ │ │ +00020d50: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +00020d60: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line │ │ │ │ │ +00020d70: 2020 3437 290a 2a20 6469 7265 6374 2074 47).* direct t │ │ │ │ │ +00020d80: 7261 6e73 666f 726d 203c 313e 3a20 2020 ransform <1>: │ │ │ │ │ +00020d90: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +00020da0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ +00020db0: 732e 2020 286c 696e 6520 2035 3329 0a2a s. (line 53).* │ │ │ │ │ +00020dc0: 2064 6f63 756d 656e 7420 7465 6d70 6c61 document templa │ │ │ │ │ +00020dd0: 7465 3a20 2020 2020 2020 2020 2020 2020 te: │ │ │ │ │ +00020de0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ +00020df0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li │ │ │ │ │ +00020e00: 6e65 2020 3332 290a 2a20 646f 6375 6d65 ne 32).* docume │ │ │ │ │ +00020e10: 6e74 2074 656d 706c 6174 6520 3c31 3e3a nt template <1>: │ │ │ │ │ +00020e20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020e30: 2043 6f6d 6d61 6e64 206c 696e 652e 2020 Command line. │ │ │ │ │ +00020e40: 2020 2020 2020 286c 696e 6520 2033 3629 (line 36) │ │ │ │ │ +00020e50: 0a2a 2064 7261 7761 626c 653a 2020 2020 .* drawable: │ │ │ │ │ 00020e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020e70: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ -00020e80: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line │ │ │ │ │ -00020e90: 2020 3237 290a 2a20 6472 6177 6162 6c65 27).* drawable │ │ │ │ │ -00020ea0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00020eb0: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -00020ec0: 7261 7761 626c 6573 2e20 2020 2020 2020 rawables. │ │ │ │ │ -00020ed0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00020ee0: 2064 7261 7761 626c 6520 6465 6669 6e69 drawable defini │ │ │ │ │ -00020ef0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ -00020f00: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ -00020f10: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li │ │ │ │ │ -00020f20: 6e65 2020 3237 290a 2a20 6472 6177 6162 ne 27).* drawab │ │ │ │ │ -00020f30: 6c65 2072 6566 6572 656e 6365 3a20 2020 le reference: │ │ │ │ │ -00020f40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020f50: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere │ │ │ │ │ -00020f60: 6e63 6573 2e20 286c 696e 6520 2031 3729 nces. (line 17) │ │ │ │ │ -00020f70: 0a2a 2065 6e64 2070 6f6c 7967 6f6e 3a20 .* end polygon: │ │ │ │ │ -00020f80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020f90: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -00020fa0: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. ( │ │ │ │ │ -00020fb0: 6c69 6e65 2020 3338 290a 2a20 656e 6420 line 38).* end │ │ │ │ │ -00020fc0: 706f 6c79 676f 6e20 3c31 3e3a 2020 2020 polygon <1>: │ │ │ │ │ +00020e70: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ +00020e80: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. ( │ │ │ │ │ +00020e90: 6c69 6e65 2020 3237 290a 2a20 6472 6177 line 27).* draw │ │ │ │ │ +00020ea0: 6162 6c65 203c 313e 3a20 2020 2020 2020 able <1>: │ │ │ │ │ +00020eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020ec0: 2020 2044 7261 7761 626c 6573 2e20 2020 Drawables. │ │ │ │ │ +00020ed0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +00020ee0: 3629 0a2a 2064 7261 7761 626c 6520 6465 6).* drawable de │ │ │ │ │ +00020ef0: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: │ │ │ │ │ +00020f00: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje │ │ │ │ │ +00020f10: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. │ │ │ │ │ +00020f20: 2028 6c69 6e65 2020 3237 290a 2a20 6472 (line 27).* dr │ │ │ │ │ +00020f30: 6177 6162 6c65 2072 6566 6572 656e 6365 awable reference │ │ │ │ │ +00020f40: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020f50: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re │ │ │ │ │ +00020f60: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line │ │ │ │ │ +00020f70: 2031 3729 0a2a 2065 6e64 2070 6f6c 7967 17).* end polyg │ │ │ │ │ +00020f80: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +00020f90: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +00020fa0: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. │ │ │ │ │ +00020fb0: 2020 2028 6c69 6e65 2020 3338 290a 2a20 (line 38).* │ │ │ │ │ +00020fc0: 656e 6420 706f 6c79 676f 6e20 3c31 3e3a end polygon <1>: │ │ │ │ │ 00020fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020fe0: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon │ │ │ │ │ -00020ff0: 732e 2020 2020 2020 286c 696e 6520 2031 s. (line 1 │ │ │ │ │ -00021000: 3529 0a2a 2066 6163 6573 3a20 2020 2020 5).* faces: │ │ │ │ │ +00020fe0: 2020 2020 2020 2053 7765 7074 2070 6f6c Swept pol │ │ │ │ │ +00020ff0: 7967 6f6e 732e 2020 2020 2020 286c 696e ygons. (lin │ │ │ │ │ +00021000: 6520 2031 3529 0a2a 2066 6163 6573 3a20 e 15).* faces: │ │ │ │ │ 00021010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021020: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ -00021030: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. │ │ │ │ │ -00021040: 2028 6c69 6e65 2020 2037 290a 2a20 6661 (line 7).* fa │ │ │ │ │ -00021050: 6365 7320 3c31 3e3a 2020 2020 2020 2020 ces <1>: │ │ │ │ │ +00021020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021030: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ +00021040: 2020 2020 2028 6c69 6e65 2020 2037 290a (line 7). │ │ │ │ │ +00021050: 2a20 6661 6365 7320 3c31 3e3a 2020 2020 * faces <1>: │ │ │ │ │ 00021060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021070: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ -00021080: 6565 7073 2e20 2020 2020 286c 696e 6520 eeps. (line │ │ │ │ │ -00021090: 2020 3629 0a2a 2066 696c 652c 2069 6e63 6).* file, inc │ │ │ │ │ -000210a0: 6c75 6465 3a20 2020 2020 2020 2020 2020 lude: │ │ │ │ │ -000210b0: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ -000210c0: 6e67 7561 6765 2062 6173 6963 732e 2020 nguage basics. │ │ │ │ │ -000210d0: 2020 2028 6c69 6e65 2020 3139 290a 2a20 (line 19).* │ │ │ │ │ -000210e0: 6669 6c65 2c20 696e 7075 743a 2020 2020 file, input: │ │ │ │ │ +00021070: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin │ │ │ │ │ +00021080: 6520 7377 6565 7073 2e20 2020 2020 286c e sweeps. (l │ │ │ │ │ +00021090: 696e 6520 2020 3629 0a2a 2066 696c 652c ine 6).* file, │ │ │ │ │ +000210a0: 2069 6e63 6c75 6465 3a20 2020 2020 2020 include: │ │ │ │ │ +000210b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000210c0: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic │ │ │ │ │ +000210d0: 732e 2020 2020 2028 6c69 6e65 2020 3139 s. (line 19 │ │ │ │ │ +000210e0: 290a 2a20 6669 6c65 2c20 696e 7075 743a ).* file, input: │ │ │ │ │ 000210f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021100: 2020 2020 2020 204c 616e 6775 6167 6520 Language │ │ │ │ │ -00021110: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin │ │ │ │ │ -00021120: 6520 2020 3629 0a2a 2066 7261 6d65 2062 e 6).* frame b │ │ │ │ │ -00021130: 6f78 3a20 2020 2020 2020 2020 2020 2020 ox: │ │ │ │ │ +00021100: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ +00021110: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. │ │ │ │ │ +00021120: 286c 696e 6520 2020 3629 0a2a 2066 7261 (line 6).* fra │ │ │ │ │ +00021130: 6d65 2062 6f78 3a20 2020 2020 2020 2020 me box: │ │ │ │ │ 00021140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021150: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. │ │ │ │ │ -00021160: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00021170: 2a20 676c 6f62 616c 206f 7074 696f 6e73 * global options │ │ │ │ │ -00021180: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00021190: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -000211a0: 206f 7074 696f 6e73 2e20 2020 2020 286c options. (l │ │ │ │ │ -000211b0: 696e 6520 2031 3829 0a2a 2067 6c6f 6261 ine 18).* globa │ │ │ │ │ -000211c0: 6c20 6f70 7469 6f6e 7320 3c31 3e3a 2020 l options <1>: │ │ │ │ │ -000211d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000211e0: 2020 476c 6f62 616c 206f 7074 696f 6e73 Global options │ │ │ │ │ -000211f0: 2e20 2020 2020 2028 6c69 6e65 2020 2036 . (line 6 │ │ │ │ │ -00021200: 290a 2a20 6865 6c69 783a 2020 2020 2020 ).* helix: │ │ │ │ │ +00021150: 2020 2020 4672 616d 652e 2020 2020 2020 Frame. │ │ │ │ │ +00021160: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00021170: 2036 290a 2a20 676c 6f62 616c 206f 7074 6).* global opt │ │ │ │ │ +00021180: 696f 6e73 3a20 2020 2020 2020 2020 2020 ions: │ │ │ │ │ +00021190: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ +000211a0: 7769 6e67 206f 7074 696f 6e73 2e20 2020 wing options. │ │ │ │ │ +000211b0: 2020 286c 696e 6520 2031 3829 0a2a 2067 (line 18).* g │ │ │ │ │ +000211c0: 6c6f 6261 6c20 6f70 7469 6f6e 7320 3c31 lobal options <1 │ │ │ │ │ +000211d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +000211e0: 2020 2020 2020 476c 6f62 616c 206f 7074 Global opt │ │ │ │ │ +000211f0: 696f 6e73 2e20 2020 2020 2028 6c69 6e65 ions. (line │ │ │ │ │ +00021200: 2020 2036 290a 2a20 6865 6c69 783a 2020 6).* helix: │ │ │ │ │ 00021210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021220: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ -00021230: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ -00021240: 286c 696e 6520 2034 3729 0a2a 2068 656c (line 47).* hel │ │ │ │ │ -00021250: 6978 203c 313e 3a20 2020 2020 2020 2020 ix <1>: │ │ │ │ │ +00021220: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ +00021230: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ +00021240: 2020 2020 286c 696e 6520 2034 3729 0a2a (line 47).* │ │ │ │ │ +00021250: 2068 656c 6978 203c 313e 3a20 2020 2020 helix <1>: │ │ │ │ │ 00021260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021270: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ -00021280: 6570 732e 2020 2020 2028 6c69 6e65 2020 eps. (line │ │ │ │ │ -00021290: 3135 290a 2a20 6865 6c6c 6f20 776f 726c 15).* hello worl │ │ │ │ │ -000212a0: 643a 2020 2020 2020 2020 2020 2020 2020 d: │ │ │ │ │ -000212b0: 2020 2020 2020 2020 2020 2020 2048 656c Hel │ │ │ │ │ -000212c0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. │ │ │ │ │ -000212d0: 2020 286c 696e 6520 2020 3729 0a2a 2068 (line 7).* h │ │ │ │ │ -000212e0: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al │ │ │ │ │ -000212f0: 676f 7269 7468 6d3a 2020 2020 2020 2020 gorithm: │ │ │ │ │ -00021300: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ -00021310: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line │ │ │ │ │ -00021320: 2020 3139 290a 2a20 6869 6464 656e 2073 19).* hidden s │ │ │ │ │ -00021330: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm │ │ │ │ │ -00021340: 203c 313e 3a20 2020 2020 2020 2020 2053 <1>: S │ │ │ │ │ -00021350: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. │ │ │ │ │ -00021360: 2020 2020 286c 696e 6520 2034 3829 0a2a (line 48).* │ │ │ │ │ -00021370: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface │ │ │ │ │ -00021380: 616c 676f 7269 7468 6d20 3c32 3e3a 2020 algorithm <2>: │ │ │ │ │ -00021390: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ -000213a0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ -000213b0: 6e65 2020 3234 290a 2a20 6869 6464 656e ne 24).* hidden │ │ │ │ │ -000213c0: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit │ │ │ │ │ -000213d0: 686d 203c 333e 3a20 2020 2020 2020 2020 hm <3>: │ │ │ │ │ -000213e0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ -000213f0: 7769 6e67 2e20 286c 696e 6520 2032 3529 wing. (line 25) │ │ │ │ │ -00021400: 0a2a 2068 6964 6465 6e20 7375 7266 6163 .* hidden surfac │ │ │ │ │ -00021410: 6520 616c 676f 7269 7468 6d20 3c34 3e3a e algorithm <4>: │ │ │ │ │ -00021420: 2020 2020 2020 2020 2020 4869 6464 656e Hidden │ │ │ │ │ -00021430: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal │ │ │ │ │ -00021440: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00021270: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +00021280: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ +00021290: 6e65 2020 3135 290a 2a20 6865 6c6c 6f20 ne 15).* hello │ │ │ │ │ +000212a0: 776f 726c 643a 2020 2020 2020 2020 2020 world: │ │ │ │ │ +000212b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000212c0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. │ │ │ │ │ +000212d0: 2020 2020 2020 286c 696e 6520 2020 3729 (line 7) │ │ │ │ │ +000212e0: 0a2a 2068 6964 6465 6e20 7375 7266 6163 .* hidden surfac │ │ │ │ │ +000212f0: 6520 616c 676f 7269 7468 6d3a 2020 2020 e algorithm: │ │ │ │ │ +00021300: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello │ │ │ │ │ +00021310: 776f 726c 642e 2020 2020 2020 2020 2028 world. ( │ │ │ │ │ +00021320: 6c69 6e65 2020 3139 290a 2a20 6869 6464 line 19).* hidd │ │ │ │ │ +00021330: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor │ │ │ │ │ +00021340: 6974 686d 203c 313e 3a20 2020 2020 2020 ithm <1>: │ │ │ │ │ +00021350: 2020 2053 7065 6369 616c 206f 626a 6563 Special objec │ │ │ │ │ +00021360: 7473 2e20 2020 2020 286c 696e 6520 2034 ts. (line 4 │ │ │ │ │ +00021370: 3829 0a2a 2068 6964 6465 6e20 7375 7266 8).* hidden surf │ │ │ │ │ +00021380: 6163 6520 616c 676f 7269 7468 6d20 3c32 ace algorithm <2 │ │ │ │ │ +00021390: 3e3a 2020 2020 2020 2020 2020 5472 616e >: Tran │ │ │ │ │ +000213a0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ +000213b0: 2028 6c69 6e65 2020 3234 290a 2a20 6869 (line 24).* hi │ │ │ │ │ +000213c0: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg │ │ │ │ │ +000213d0: 6f72 6974 686d 203c 333e 3a20 2020 2020 orithm <3>: │ │ │ │ │ +000213e0: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ +000213f0: 2064 7261 7769 6e67 2e20 286c 696e 6520 drawing. (line │ │ │ │ │ +00021400: 2032 3529 0a2a 2068 6964 6465 6e20 7375 25).* hidden su │ │ │ │ │ +00021410: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm │ │ │ │ │ +00021420: 3c34 3e3a 2020 2020 2020 2020 2020 4869 <4>: Hi │ │ │ │ │ +00021430: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem │ │ │ │ │ +00021440: 6f76 616c 2e0a 2020 2020 2020 2020 2020 oval.. │ │ │ │ │ 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: 286c 696e 6520 2020 3629 0a2a 2068 6965 (line 6).* hie │ │ │ │ │ -00021490: 7261 7263 6869 6361 6c20 6d6f 6465 6c3a rarchical model: │ │ │ │ │ -000214a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000214b0: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ -000214c0: 616c 206d 6f64 656c 2e0a 2020 2020 2020 al model.. │ │ │ │ │ +00021480: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +00021490: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +000214a0: 6465 6c3a 2020 2020 2020 2020 2020 2020 del: │ │ │ │ │ +000214b0: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar │ │ │ │ │ +000214c0: 6368 6963 616c 206d 6f64 656c 2e0a 2020 chical 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 286c 696e 6520 2020 (line │ │ │ │ │ -00021510: 3629 0a2a 2069 6465 6e74 6966 6965 7273 6).* identifiers │ │ │ │ │ -00021520: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00021530: 2020 2020 2020 2020 2020 2020 4964 656e Iden │ │ │ │ │ -00021540: 7469 6669 6572 732e 2020 2020 2020 2020 tifiers. │ │ │ │ │ -00021550: 2028 6c69 6e65 2020 2037 290a 2a20 696e (line 7).* in │ │ │ │ │ -00021560: 636c 7564 6520 6669 6c65 3a20 2020 2020 clude file: │ │ │ │ │ +00021500: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00021510: 6520 2020 3629 0a2a 2069 6465 6e74 6966 e 6).* identif │ │ │ │ │ +00021520: 6965 7273 3a20 2020 2020 2020 2020 2020 iers: │ │ │ │ │ +00021530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021540: 4964 656e 7469 6669 6572 732e 2020 2020 Identifiers. │ │ │ │ │ +00021550: 2020 2020 2028 6c69 6e65 2020 2037 290a (line 7). │ │ │ │ │ +00021560: 2a20 696e 636c 7564 6520 6669 6c65 3a20 * include file: │ │ │ │ │ 00021570: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021580: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba │ │ │ │ │ -00021590: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line │ │ │ │ │ -000215a0: 2031 3929 0a2a 2069 6e70 7574 2066 696c 19).* input fil │ │ │ │ │ -000215b0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -000215c0: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ -000215d0: 6e67 7561 6765 2062 6173 6963 732e 2020 nguage basics. │ │ │ │ │ -000215e0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -000215f0: 696e 7465 726e 616c 206f 7074 696f 6e3a internal option: │ │ │ │ │ -00021600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021610: 2020 2020 2020 2053 7065 6369 616c 206f Special o │ │ │ │ │ -00021620: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin │ │ │ │ │ -00021630: 6520 2034 3729 0a2a 2069 6e74 6572 6e61 e 47).* interna │ │ │ │ │ -00021640: 6c20 6f70 7469 6f6e 733a 2020 2020 2020 l options: │ │ │ │ │ +00021580: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ +00021590: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l │ │ │ │ │ +000215a0: 696e 6520 2031 3929 0a2a 2069 6e70 7574 ine 19).* input │ │ │ │ │ +000215b0: 2066 696c 653a 2020 2020 2020 2020 2020 file: │ │ │ │ │ +000215c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000215d0: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic │ │ │ │ │ +000215e0: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6 │ │ │ │ │ +000215f0: 290a 2a20 696e 7465 726e 616c 206f 7074 ).* internal opt │ │ │ │ │ +00021600: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: │ │ │ │ │ +00021610: 2020 2020 2020 2020 2020 2053 7065 6369 Speci │ │ │ │ │ +00021620: 616c 206f 626a 6563 7473 2e20 2020 2020 al objects. │ │ │ │ │ +00021630: 286c 696e 6520 2034 3729 0a2a 2069 6e74 (line 47).* int │ │ │ │ │ +00021640: 6572 6e61 6c20 6f70 7469 6f6e 733a 2020 ernal options: │ │ │ │ │ 00021650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021660: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options │ │ │ │ │ -00021670: 2e20 2020 2028 6c69 6e65 2020 2036 290a . (line 6). │ │ │ │ │ -00021680: 2a20 696e 7465 726e 616c 206f 7074 696f * internal optio │ │ │ │ │ -00021690: 6e73 203c 313e 3a20 2020 2020 2020 2020 ns <1>: │ │ │ │ │ -000216a0: 2020 2020 2020 2020 2047 6c6f 6261 6c20 Global │ │ │ │ │ -000216b0: 6f70 7469 6f6e 732e 2020 2020 2020 286c options. (l │ │ │ │ │ -000216c0: 696e 6520 2031 3229 0a2a 206b 6579 776f ine 12).* keywo │ │ │ │ │ -000216d0: 7264 733a 2020 2020 2020 2020 2020 2020 rds: │ │ │ │ │ +00021660: 2020 2020 496e 7465 726e 616c 206f 7074 Internal opt │ │ │ │ │ +00021670: 696f 6e73 2e20 2020 2028 6c69 6e65 2020 ions. (line │ │ │ │ │ +00021680: 2036 290a 2a20 696e 7465 726e 616c 206f 6).* internal o │ │ │ │ │ +00021690: 7074 696f 6e73 203c 313e 3a20 2020 2020 ptions <1>: │ │ │ │ │ +000216a0: 2020 2020 2020 2020 2020 2020 2047 6c6f Glo │ │ │ │ │ +000216b0: 6261 6c20 6f70 7469 6f6e 732e 2020 2020 bal options. │ │ │ │ │ +000216c0: 2020 286c 696e 6520 2031 3229 0a2a 206b (line 12).* k │ │ │ │ │ +000216d0: 6579 776f 7264 733a 2020 2020 2020 2020 eywords: │ │ │ │ │ 000216e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000216f0: 2020 4b65 7920 616e 6420 7265 7365 7276 Key and reserv │ │ │ │ │ -00021700: 6564 2077 6f72 6473 2e0a 2020 2020 2020 ed words.. │ │ │ │ │ +000216f0: 2020 2020 2020 4b65 7920 616e 6420 7265 Key and re │ │ │ │ │ +00021700: 7365 7276 6564 2077 6f72 6473 2e0a 2020 served 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 286c 696e 6520 2020 (line │ │ │ │ │ -00021750: 3629 0a2a 206c 6162 656c 733a 2020 2020 6).* labels: │ │ │ │ │ +00021740: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00021750: 6520 2020 3629 0a2a 206c 6162 656c 733a e 6).* labels: │ │ │ │ │ 00021760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021770: 2020 2020 2020 2020 2020 2020 5370 6563 Spec │ │ │ │ │ -00021780: 6961 6c20 6f62 6a65 6374 732e 2020 2020 ial objects. │ │ │ │ │ -00021790: 2028 6c69 6e65 2020 2036 290a 2a20 6c61 (line 6).* la │ │ │ │ │ -000217a0: 6e67 7561 6765 2c20 6465 636c 6172 6174 nguage, declarat │ │ │ │ │ -000217b0: 6976 653a 2020 2020 2020 2020 2020 2020 ive: │ │ │ │ │ -000217c0: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba │ │ │ │ │ -000217d0: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line │ │ │ │ │ -000217e0: 2020 3829 0a2a 206c 616e 6775 6167 652c 8).* language, │ │ │ │ │ -000217f0: 206f 7574 7075 743a 2020 2020 2020 2020 output: │ │ │ │ │ -00021800: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ -00021810: 6e67 7561 6765 2e20 2020 2020 2020 2020 nguage. │ │ │ │ │ -00021820: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -00021830: 6c61 6e67 7561 6765 2c20 7363 656e 6520 language, scene │ │ │ │ │ -00021840: 6465 7363 7269 7074 696f 6e3a 2020 2020 description: │ │ │ │ │ -00021850: 2020 2020 2020 204c 616e 6775 6167 6520 Language │ │ │ │ │ -00021860: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin │ │ │ │ │ -00021870: 6520 2020 3829 0a2a 206c 6578 6963 616c e 8).* lexical │ │ │ │ │ -00021880: 2073 636f 7065 3a20 2020 2020 2020 2020 scope: │ │ │ │ │ +00021770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021780: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects. │ │ │ │ │ +00021790: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +000217a0: 2a20 6c61 6e67 7561 6765 2c20 6465 636c * language, decl │ │ │ │ │ +000217b0: 6172 6174 6976 653a 2020 2020 2020 2020 arative: │ │ │ │ │ +000217c0: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ +000217d0: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l │ │ │ │ │ +000217e0: 696e 6520 2020 3829 0a2a 206c 616e 6775 ine 8).* langu │ │ │ │ │ +000217f0: 6167 652c 206f 7574 7075 743a 2020 2020 age, output: │ │ │ │ │ +00021800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021810: 2020 4c61 6e67 7561 6765 2e20 2020 2020 Language. │ │ │ │ │ +00021820: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ +00021830: 290a 2a20 6c61 6e67 7561 6765 2c20 7363 ).* language, sc │ │ │ │ │ +00021840: 656e 6520 6465 7363 7269 7074 696f 6e3a ene description: │ │ │ │ │ +00021850: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ +00021860: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. │ │ │ │ │ +00021870: 286c 696e 6520 2020 3829 0a2a 206c 6578 (line 8).* lex │ │ │ │ │ +00021880: 6963 616c 2073 636f 7065 3a20 2020 2020 ical scope: │ │ │ │ │ 00021890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000218a0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ -000218b0: 732e 2020 2028 6c69 6e65 2020 3236 290a s. (line 26). │ │ │ │ │ -000218c0: 2a20 6c65 7869 6361 6c20 7363 6f70 6520 * lexical scope │ │ │ │ │ -000218d0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -000218e0: 2020 2020 2020 2020 2042 6c6f 636b 732e Blocks. │ │ │ │ │ -000218f0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00021900: 696e 6520 2031 3329 0a2a 206c 696e 6520 ine 13).* line │ │ │ │ │ -00021910: 7377 6565 703a 2020 2020 2020 2020 2020 sweep: │ │ │ │ │ +000218a0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ +000218b0: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line │ │ │ │ │ +000218c0: 3236 290a 2a20 6c65 7869 6361 6c20 7363 26).* lexical sc │ │ │ │ │ +000218d0: 6f70 6520 3c31 3e3a 2020 2020 2020 2020 ope <1>: │ │ │ │ │ +000218e0: 2020 2020 2020 2020 2020 2020 2042 6c6f Blo │ │ │ │ │ +000218f0: 636b 732e 2020 2020 2020 2020 2020 2020 cks. │ │ │ │ │ +00021900: 2020 286c 696e 6520 2031 3329 0a2a 206c (line 13).* l │ │ │ │ │ +00021910: 696e 6520 7377 6565 703a 2020 2020 2020 ine sweep: │ │ │ │ │ 00021920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021930: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -00021940: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6 │ │ │ │ │ -00021950: 290a 2a20 6c69 6e65 2073 7765 6570 203c ).* line sweep < │ │ │ │ │ -00021960: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00021970: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00021980: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ -00021990: 286c 696e 6520 2020 3629 0a2a 206c 696e (line 6).* lin │ │ │ │ │ -000219a0: 6520 7377 6565 7020 3c32 3e3a 2020 2020 e sweep <2>: │ │ │ │ │ +00021930: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ +00021940: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line │ │ │ │ │ +00021950: 2020 2036 290a 2a20 6c69 6e65 2073 7765 6).* line swe │ │ │ │ │ +00021960: 6570 203c 313e 3a20 2020 2020 2020 2020 ep <1>: │ │ │ │ │ +00021970: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00021980: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. │ │ │ │ │ +00021990: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +000219a0: 206c 696e 6520 7377 6565 7020 3c32 3e3a line sweep <2>: │ │ │ │ │ 000219b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000219c0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -000219d0: 6472 6177 696e 672e 2028 6c69 6e65 2020 drawing. (line │ │ │ │ │ -000219e0: 3230 290a 2a20 6c69 7465 7261 6c2c 2070 20).* literal, p │ │ │ │ │ -000219f0: 6f69 6e74 3a20 2020 2020 2020 2020 2020 oint: │ │ │ │ │ -00021a00: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi │ │ │ │ │ -00021a10: 6e74 2061 6e64 2076 6563 746f 7220 6c69 nt and vector li │ │ │ │ │ -00021a20: 7465 7261 6c73 2e0a 2020 2020 2020 2020 terals.. │ │ │ │ │ +000219c0: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ +000219d0: 6361 6c20 6472 6177 696e 672e 2028 6c69 cal drawing. (li │ │ │ │ │ +000219e0: 6e65 2020 3230 290a 2a20 6c69 7465 7261 ne 20).* litera │ │ │ │ │ +000219f0: 6c2c 2070 6f69 6e74 3a20 2020 2020 2020 l, point: │ │ │ │ │ +00021a00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021a10: 2050 6f69 6e74 2061 6e64 2076 6563 746f Point and vecto │ │ │ │ │ +00021a20: 7220 6c69 7465 7261 6c73 2e0a 2020 2020 r literals.. │ │ │ │ │ 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 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00021a70: 0a2a 206c 6974 6572 616c 2c20 7363 616c .* literal, scal │ │ │ │ │ -00021a80: 6172 3a20 2020 2020 2020 2020 2020 2020 ar: │ │ │ │ │ -00021a90: 2020 2020 2020 2020 2020 5363 616c 6172 Scalar │ │ │ │ │ -00021aa0: 206c 6974 6572 616c 732e 2020 2020 2028 literals. ( │ │ │ │ │ -00021ab0: 6c69 6e65 2020 2036 290a 2a20 6c69 7465 line 6).* lite │ │ │ │ │ -00021ac0: 7261 6c2c 2074 7261 6e73 666f 726d 3a20 ral, transform: │ │ │ │ │ -00021ad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021ae0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -00021af0: 6572 616c 732e 2020 286c 696e 6520 2020 erals. (line │ │ │ │ │ -00021b00: 3629 0a2a 206c 6974 6572 616c 2c20 7665 6).* literal, ve │ │ │ │ │ -00021b10: 6374 6f72 3a20 2020 2020 2020 2020 2020 ctor: │ │ │ │ │ -00021b20: 2020 2020 2020 2020 2020 2020 506f 696e Poin │ │ │ │ │ -00021b30: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit │ │ │ │ │ -00021b40: 6572 616c 732e 0a20 2020 2020 2020 2020 erals.. │ │ │ │ │ +00021a60: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00021a70: 2020 3629 0a2a 206c 6974 6572 616c 2c20 6).* literal, │ │ │ │ │ +00021a80: 7363 616c 6172 3a20 2020 2020 2020 2020 scalar: │ │ │ │ │ +00021a90: 2020 2020 2020 2020 2020 2020 2020 5363 Sc │ │ │ │ │ +00021aa0: 616c 6172 206c 6974 6572 616c 732e 2020 alar literals. │ │ │ │ │ +00021ab0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00021ac0: 6c69 7465 7261 6c2c 2074 7261 6e73 666f literal, transfo │ │ │ │ │ +00021ad0: 726d 3a20 2020 2020 2020 2020 2020 2020 rm: │ │ │ │ │ +00021ae0: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +00021af0: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +00021b00: 6520 2020 3629 0a2a 206c 6974 6572 616c e 6).* literal │ │ │ │ │ +00021b10: 2c20 7665 6374 6f72 3a20 2020 2020 2020 , vector: │ │ │ │ │ +00021b20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021b30: 506f 696e 7420 616e 6420 7665 6374 6f72 Point and vector │ │ │ │ │ +00021b40: 206c 6974 6572 616c 732e 0a20 2020 2020 literals.. │ │ │ │ │ 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 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00021b90: 2a20 6e65 7374 696e 672c 2073 7765 7074 * nesting, swept │ │ │ │ │ -00021ba0: 206f 626a 6563 743a 2020 2020 2020 2020 object: │ │ │ │ │ -00021bb0: 2020 2020 2020 2020 204e 6573 7465 6420 Nested │ │ │ │ │ -00021bc0: 7377 6565 7073 2e20 2020 2020 2020 286c sweeps. (l │ │ │ │ │ -00021bd0: 696e 6520 2032 3229 0a2a 206f 6e65 2d6f ine 22).* one-o │ │ │ │ │ -00021be0: 7065 7261 6e64 2066 6f72 6d3a 2020 2020 perand form: │ │ │ │ │ +00021b80: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00021b90: 2036 290a 2a20 6e65 7374 696e 672c 2073 6).* nesting, s │ │ │ │ │ +00021ba0: 7765 7074 206f 626a 6563 743a 2020 2020 wept object: │ │ │ │ │ +00021bb0: 2020 2020 2020 2020 2020 2020 204e 6573 Nes │ │ │ │ │ +00021bc0: 7465 6420 7377 6565 7073 2e20 2020 2020 ted sweeps. │ │ │ │ │ +00021bd0: 2020 286c 696e 6520 2032 3229 0a2a 206f (line 22).* o │ │ │ │ │ +00021be0: 6e65 2d6f 7065 7261 6e64 2066 6f72 6d3a ne-operand form: │ │ │ │ │ 00021bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021c00: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. │ │ │ │ │ -00021c10: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -00021c20: 290a 2a20 6f70 6572 6174 6f72 2061 7373 ).* operator ass │ │ │ │ │ -00021c30: 6f63 6961 7469 7669 7479 3a20 2020 2020 ociativity: │ │ │ │ │ -00021c40: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ -00021c50: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -00021c60: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ +00021c00: 2020 2020 2020 556e 6172 7920 666f 726d Unary form │ │ │ │ │ +00021c10: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +00021c20: 2020 2036 290a 2a20 6f70 6572 6174 6f72 6).* operator │ │ │ │ │ +00021c30: 2061 7373 6f63 6961 7469 7669 7479 3a20 associativity: │ │ │ │ │ +00021c40: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +00021c50: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ +00021c60: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3538 290a (line 58). │ │ │ │ │ -00021cb0: 2a20 6f70 6572 6174 6f72 2070 7265 6365 * operator prece │ │ │ │ │ -00021cc0: 6465 6e63 653a 2020 2020 2020 2020 2020 dence: │ │ │ │ │ -00021cd0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ -00021ce0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ -00021cf0: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ +00021ca0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00021cb0: 3538 290a 2a20 6f70 6572 6174 6f72 2070 58).* operator p │ │ │ │ │ +00021cc0: 7265 6365 6465 6e63 653a 2020 2020 2020 recedence: │ │ │ │ │ +00021cd0: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ +00021ce0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ +00021cf0: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3435 290a 2a20 (line 45).* │ │ │ │ │ -00021d40: 6f70 7469 6f6e 3a20 2020 2020 2020 2020 option: │ │ │ │ │ +00021d30: 2020 2020 2020 2028 6c69 6e65 2020 3435 (line 45 │ │ │ │ │ +00021d40: 290a 2a20 6f70 7469 6f6e 3a20 2020 2020 ).* option: │ │ │ │ │ 00021d50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021d60: 2020 2020 2020 2044 7261 7769 6e67 206f Drawing o │ │ │ │ │ -00021d70: 7074 696f 6e73 2e20 2020 2020 286c 696e ptions. (lin │ │ │ │ │ -00021d80: 6520 2020 3629 0a2a 206f 7074 696f 6e2c e 6).* option, │ │ │ │ │ -00021d90: 2063 6f6d 6d61 6e64 206c 696e 653a 2020 command line: │ │ │ │ │ -00021da0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021db0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ -00021dc0: 2020 2020 2028 6c69 6e65 2020 3330 290a (line 30). │ │ │ │ │ -00021dd0: 2a20 6f70 7469 6f6e 2c20 696e 7465 726e * option, intern │ │ │ │ │ -00021de0: 616c 3a20 2020 2020 2020 2020 2020 2020 al: │ │ │ │ │ -00021df0: 2020 2020 2020 2020 2053 7065 6369 616c Special │ │ │ │ │ -00021e00: 206f 626a 6563 7473 2e20 2020 2020 286c objects. (l │ │ │ │ │ -00021e10: 696e 6520 2034 3729 0a2a 206f 7074 696f ine 47).* optio │ │ │ │ │ -00021e20: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: │ │ │ │ │ +00021d60: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ +00021d70: 6e67 206f 7074 696f 6e73 2e20 2020 2020 ng options. │ │ │ │ │ +00021d80: 286c 696e 6520 2020 3629 0a2a 206f 7074 (line 6).* opt │ │ │ │ │ +00021d90: 696f 6e2c 2063 6f6d 6d61 6e64 206c 696e ion, command lin │ │ │ │ │ +00021da0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +00021db0: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ +00021dc0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00021dd0: 3330 290a 2a20 6f70 7469 6f6e 2c20 696e 30).* option, in │ │ │ │ │ +00021de0: 7465 726e 616c 3a20 2020 2020 2020 2020 ternal: │ │ │ │ │ +00021df0: 2020 2020 2020 2020 2020 2020 2053 7065 Spe │ │ │ │ │ +00021e00: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. │ │ │ │ │ +00021e10: 2020 286c 696e 6520 2034 3729 0a2a 206f (line 47).* o │ │ │ │ │ +00021e20: 7074 696f 6e73 3a20 2020 2020 2020 2020 ptions: │ │ │ │ │ 00021e30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021e40: 2020 4f70 7469 6f6e 732e 2020 2020 2020 Options. │ │ │ │ │ -00021e50: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -00021e60: 290a 2a20 6f70 7469 6f6e 7320 6465 6669 ).* options defi │ │ │ │ │ -00021e70: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: │ │ │ │ │ -00021e80: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl │ │ │ │ │ -00021e90: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with │ │ │ │ │ -00021ea0: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. │ │ │ │ │ +00021e40: 2020 2020 2020 4f70 7469 6f6e 732e 2020 Options. │ │ │ │ │ +00021e50: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00021e60: 2020 2036 290a 2a20 6f70 7469 6f6e 7320 6).* options │ │ │ │ │ +00021e70: 6465 6669 6e69 7469 6f6e 3a20 2020 2020 definition: │ │ │ │ │ +00021e80: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ +00021e90: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ +00021ea0: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith closure.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3233 (line 23 │ │ │ │ │ -00021ef0: 290a 2a20 6f70 7469 6f6e 7320 6d75 6c74 ).* options mult │ │ │ │ │ -00021f00: 6970 6c65 2072 6566 6572 656e 6365 3a20 iple reference: │ │ │ │ │ -00021f10: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ -00021f20: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ -00021f30: 286c 696e 6520 2031 3829 0a2a 206f 7074 (line 18).* opt │ │ │ │ │ -00021f40: 696f 6e73 2072 6566 6572 656e 6365 3a20 ions reference: │ │ │ │ │ -00021f50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021f60: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ -00021f70: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line │ │ │ │ │ -00021f80: 3138 290a 2a20 6f70 7469 6f6e 732c 2063 18).* options, c │ │ │ │ │ -00021f90: 6f6d 6d61 6e64 206c 696e 653a 2020 2020 ommand line: │ │ │ │ │ -00021fa0: 2020 2020 2020 2020 2020 2020 2043 6f6d Com │ │ │ │ │ -00021fb0: 6d61 6e64 206c 696e 652e 2020 2020 2020 mand line. │ │ │ │ │ -00021fc0: 2020 286c 696e 6520 2031 3429 0a2a 206f (line 14).* o │ │ │ │ │ -00021fd0: 7074 696f 6e73 2c20 676c 6f62 616c 3a20 ptions, global: │ │ │ │ │ -00021fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021ff0: 2020 2020 2020 4472 6177 696e 6720 6f70 Drawing op │ │ │ │ │ -00022000: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line │ │ │ │ │ -00022010: 2020 3138 290a 2a20 6f70 7469 6f6e 732c 18).* options, │ │ │ │ │ -00022020: 2067 6c6f 6261 6c20 3c31 3e3a 2020 2020 global <1>: │ │ │ │ │ -00022030: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ -00022040: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. │ │ │ │ │ -00022050: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00022060: 206f 7074 696f 6e73 2c20 696e 7465 726e options, intern │ │ │ │ │ -00022070: 616c 3a20 2020 2020 2020 2020 2020 2020 al: │ │ │ │ │ -00022080: 2020 2020 2020 2020 496e 7465 726e 616c Internal │ │ │ │ │ -00022090: 206f 7074 696f 6e73 2e20 2020 2028 6c69 options. (li │ │ │ │ │ -000220a0: 6e65 2020 2036 290a 2a20 6f70 7469 6f6e ne 6).* option │ │ │ │ │ -000220b0: 732c 2069 6e74 6572 6e61 6c20 3c31 3e3a s, internal <1>: │ │ │ │ │ -000220c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000220d0: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732e Global options. │ │ │ │ │ -000220e0: 2020 2020 2020 286c 696e 6520 2031 3229 (line 12) │ │ │ │ │ -000220f0: 0a2a 206f 7074 696f 6e73 2c20 7377 6565 .* options, swee │ │ │ │ │ -00022100: 703a 2020 2020 2020 2020 2020 2020 2020 p: │ │ │ │ │ -00022110: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -00022120: 6e65 2073 7765 6570 732e 2020 2020 2028 ne sweeps. ( │ │ │ │ │ -00022130: 6c69 6e65 2020 3136 290a 2a20 6f70 7469 line 16).* opti │ │ │ │ │ -00022140: 6f6e 732c 2073 7765 6570 203c 313e 3a20 ons, sweep <1>: │ │ │ │ │ -00022150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022160: 2020 2050 6f6c 7967 6f6e 2073 7765 6570 Polygon sweep │ │ │ │ │ -00022170: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line │ │ │ │ │ -00022180: 3929 0a2a 206f 7074 696f 6e73 2c20 7377 9).* options, sw │ │ │ │ │ -00022190: 6565 7020 3c32 3e3a 2020 2020 2020 2020 eep <2>: │ │ │ │ │ -000221a0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -000221b0: 7420 706f 696e 7473 2e20 2020 2020 2020 t points. │ │ │ │ │ -000221c0: 2028 6c69 6e65 2020 3231 290a 2a20 6f70 (line 21).* op │ │ │ │ │ -000221d0: 7469 6f6e 732c 2073 7765 6570 203c 333e tions, sweep <3> │ │ │ │ │ -000221e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000221f0: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines │ │ │ │ │ -00022200: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ -00022210: 2032 3529 0a2a 206f 7074 696f 6e73 2c20 25).* options, │ │ │ │ │ -00022220: 7377 6565 7020 3c34 3e3a 2020 2020 2020 sweep <4>: │ │ │ │ │ -00022230: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -00022240: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. │ │ │ │ │ -00022250: 2020 2028 6c69 6e65 2020 3438 290a 2a20 (line 48).* │ │ │ │ │ -00022260: 6f70 7469 6f6e 732c 2073 7765 7074 206f options, swept o │ │ │ │ │ -00022270: 626a 6563 743a 2020 2020 2020 2020 2020 bject: │ │ │ │ │ -00022280: 2020 2020 2020 2050 6f6c 7967 6f6e 2073 Polygon s │ │ │ │ │ -00022290: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin │ │ │ │ │ -000222a0: 6520 2020 3829 0a2a 206f 7074 696f 6e73 e 8).* options │ │ │ │ │ -000222b0: 2c20 7377 6570 7420 6f62 6a65 6374 203c , swept object < │ │ │ │ │ -000222c0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -000222d0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ -000222e0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ -000222f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021ee0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00021ef0: 2020 3233 290a 2a20 6f70 7469 6f6e 7320 23).* options │ │ │ │ │ +00021f00: 6d75 6c74 6970 6c65 2072 6566 6572 656e multiple referen │ │ │ │ │ +00021f10: 6365 3a20 2020 2020 2020 2020 2020 2046 ce: F │ │ │ │ │ +00021f20: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ +00021f30: 6573 2e20 286c 696e 6520 2031 3829 0a2a es. (line 18).* │ │ │ │ │ +00021f40: 206f 7074 696f 6e73 2072 6566 6572 656e options referen │ │ │ │ │ +00021f50: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: │ │ │ │ │ +00021f60: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ +00021f70: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li │ │ │ │ │ +00021f80: 6e65 2020 3138 290a 2a20 6f70 7469 6f6e ne 18).* option │ │ │ │ │ +00021f90: 732c 2063 6f6d 6d61 6e64 206c 696e 653a s, command line: │ │ │ │ │ +00021fa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021fb0: 2043 6f6d 6d61 6e64 206c 696e 652e 2020 Command line. │ │ │ │ │ +00021fc0: 2020 2020 2020 286c 696e 6520 2031 3429 (line 14) │ │ │ │ │ +00021fd0: 0a2a 206f 7074 696f 6e73 2c20 676c 6f62 .* options, glob │ │ │ │ │ +00021fe0: 616c 3a20 2020 2020 2020 2020 2020 2020 al: │ │ │ │ │ +00021ff0: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ +00022000: 6720 6f70 7469 6f6e 732e 2020 2020 2028 g options. ( │ │ │ │ │ +00022010: 6c69 6e65 2020 3138 290a 2a20 6f70 7469 line 18).* opti │ │ │ │ │ +00022020: 6f6e 732c 2067 6c6f 6261 6c20 3c31 3e3a ons, global <1>: │ │ │ │ │ +00022030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022040: 2020 2047 6c6f 6261 6c20 6f70 7469 6f6e Global option │ │ │ │ │ +00022050: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line │ │ │ │ │ +00022060: 3629 0a2a 206f 7074 696f 6e73 2c20 696e 6).* options, in │ │ │ │ │ +00022070: 7465 726e 616c 3a20 2020 2020 2020 2020 ternal: │ │ │ │ │ +00022080: 2020 2020 2020 2020 2020 2020 496e 7465 Inte │ │ │ │ │ +00022090: 726e 616c 206f 7074 696f 6e73 2e20 2020 rnal options. │ │ │ │ │ +000220a0: 2028 6c69 6e65 2020 2036 290a 2a20 6f70 (line 6).* op │ │ │ │ │ +000220b0: 7469 6f6e 732c 2069 6e74 6572 6e61 6c20 tions, internal │ │ │ │ │ +000220c0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000220d0: 2020 2020 2047 6c6f 6261 6c20 6f70 7469 Global opti │ │ │ │ │ +000220e0: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line │ │ │ │ │ +000220f0: 2031 3229 0a2a 206f 7074 696f 6e73 2c20 12).* options, │ │ │ │ │ +00022100: 7377 6565 703a 2020 2020 2020 2020 2020 sweep: │ │ │ │ │ +00022110: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +00022120: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ +00022130: 2020 2028 6c69 6e65 2020 3136 290a 2a20 (line 16).* │ │ │ │ │ +00022140: 6f70 7469 6f6e 732c 2073 7765 6570 203c options, sweep < │ │ │ │ │ +00022150: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +00022160: 2020 2020 2020 2050 6f6c 7967 6f6e 2073 Polygon s │ │ │ │ │ +00022170: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin │ │ │ │ │ +00022180: 6520 2020 3929 0a2a 206f 7074 696f 6e73 e 9).* options │ │ │ │ │ +00022190: 2c20 7377 6565 7020 3c32 3e3a 2020 2020 , sweep <2>: │ │ │ │ │ +000221a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000221b0: 5377 6570 7420 706f 696e 7473 2e20 2020 Swept points. │ │ │ │ │ +000221c0: 2020 2020 2028 6c69 6e65 2020 3231 290a (line 21). │ │ │ │ │ +000221d0: 2a20 6f70 7469 6f6e 732c 2073 7765 6570 * options, sweep │ │ │ │ │ +000221e0: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +000221f0: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ +00022200: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ +00022210: 696e 6520 2032 3529 0a2a 206f 7074 696f ine 25).* optio │ │ │ │ │ +00022220: 6e73 2c20 7377 6565 7020 3c34 3e3a 2020 ns, sweep <4>: │ │ │ │ │ +00022230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022240: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ +00022250: 2020 2020 2020 2028 6c69 6e65 2020 3438 (line 48 │ │ │ │ │ +00022260: 290a 2a20 6f70 7469 6f6e 732c 2073 7765 ).* options, swe │ │ │ │ │ +00022270: 7074 206f 626a 6563 743a 2020 2020 2020 pt object: │ │ │ │ │ +00022280: 2020 2020 2020 2020 2020 2050 6f6c 7967 Polyg │ │ │ │ │ +00022290: 6f6e 2073 7765 6570 732e 2020 2020 2020 on sweeps. │ │ │ │ │ +000222a0: 286c 696e 6520 2020 3829 0a2a 206f 7074 (line 8).* opt │ │ │ │ │ +000222b0: 696f 6e73 2c20 7377 6570 7420 6f62 6a65 ions, swept obje │ │ │ │ │ +000222c0: 6374 203c 313e 3a20 2020 2020 2020 2020 ct <1>: │ │ │ │ │ +000222d0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +000222e0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure │ │ │ │ │ +000222f0: 2e0a 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 286c 696e (lin │ │ │ │ │ -00022330: 6520 2032 3229 0a2a 206f 7074 696f 6e73 e 22).* options │ │ │ │ │ -00022340: 2c20 7377 6570 7420 6f62 6a65 6374 203c , swept object < │ │ │ │ │ -00022350: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -00022360: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ -00022370: 2020 2020 2028 6c69 6e65 2020 3236 290a (line 26). │ │ │ │ │ -00022380: 2a20 6f70 7469 6f6e 732c 2073 7765 7074 * options, swept │ │ │ │ │ -00022390: 206f 626a 6563 7420 3c33 3e3a 2020 2020 object <3>: │ │ │ │ │ -000223a0: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ -000223b0: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ -000223c0: 696e 6520 2034 3829 0a2a 206f 7264 6572 ine 48).* order │ │ │ │ │ -000223d0: 2c20 706f 6c79 676f 6e20 7665 7274 6578 , polygon vertex │ │ │ │ │ -000223e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000223f0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ -00022400: 2020 2020 2020 2028 6c69 6e65 2020 3339 (line 39 │ │ │ │ │ -00022410: 290a 2a20 6f72 6465 722c 2070 6f6c 7967 ).* order, polyg │ │ │ │ │ -00022420: 6f6e 2076 6572 7465 7820 3c31 3e3a 2020 on vertex <1>: │ │ │ │ │ -00022430: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00022440: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ -00022450: 286c 696e 6520 2031 3429 0a2a 206f 7264 (line 14).* ord │ │ │ │ │ -00022460: 6572 2c20 706f 6c79 676f 6e20 7665 7274 er, polygon vert │ │ │ │ │ -00022470: 6578 203c 323e 3a20 2020 2020 2020 2020 ex <2>: │ │ │ │ │ -00022480: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines. │ │ │ │ │ -00022490: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -000224a0: 3430 290a 2a20 6f72 6465 722c 2070 6f6c 40).* order, pol │ │ │ │ │ -000224b0: 7967 6f6e 2076 6572 7465 7820 3c33 3e3a ygon vertex <3>: │ │ │ │ │ -000224c0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -000224d0: 7074 2070 6f6c 7967 6f6e 732e 2020 2020 pt polygons. │ │ │ │ │ -000224e0: 2020 286c 696e 6520 2031 3929 0a2a 206f (line 19).* o │ │ │ │ │ -000224f0: 7264 6572 2c20 706f 6c79 676f 6e20 7665 rder, polygon ve │ │ │ │ │ -00022500: 7274 6578 203c 343e 3a20 2020 2020 2020 rtex <4>: │ │ │ │ │ -00022510: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ -00022520: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00022530: 2020 3337 290a 2a20 6f72 6465 722c 2070 37).* order, p │ │ │ │ │ -00022540: 6f6c 7967 6f6e 2076 6572 7465 7820 3c35 olygon vertex <5 │ │ │ │ │ -00022550: 3e3a 2020 2020 2020 2020 2020 2020 204f >: O │ │ │ │ │ -00022560: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ -00022570: 2020 2020 286c 696e 6520 2035 3529 0a2a (line 55).* │ │ │ │ │ -00022580: 206f 7574 7075 7420 6c61 6e67 7561 6765 output language │ │ │ │ │ -00022590: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000225a0: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language │ │ │ │ │ -000225b0: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ -000225c0: 6e65 2020 2036 290a 2a20 6f75 7473 6964 ne 6).* outsid │ │ │ │ │ -000225d0: 6520 6f66 2061 2070 6f6c 7967 6f6e 3a20 e of a polygon: │ │ │ │ │ -000225e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000225f0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. │ │ │ │ │ -00022600: 2020 2020 2020 286c 696e 6520 2033 3729 (line 37) │ │ │ │ │ -00022610: 0a2a 2070 6172 616c 6c65 6c20 7072 6f6a .* parallel proj │ │ │ │ │ -00022620: 6563 7469 6f6e 3a20 2020 2020 2020 2020 ection: │ │ │ │ │ -00022630: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello │ │ │ │ │ -00022640: 776f 726c 642e 2020 2020 2020 2020 2028 world. ( │ │ │ │ │ -00022650: 6c69 6e65 2020 3236 290a 2a20 7061 7261 line 26).* para │ │ │ │ │ -00022660: 6c6c 656c 2070 726f 6a65 6374 696f 6e20 llel projection │ │ │ │ │ -00022670: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00022680: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -00022690: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1 │ │ │ │ │ -000226a0: 3829 0a2a 2070 6172 616c 6c65 6c20 7072 8).* parallel pr │ │ │ │ │ -000226b0: 6f6a 6563 7469 6f6e 203c 323e 3a20 2020 ojection <2>: │ │ │ │ │ -000226c0: 2020 2020 2020 2020 2020 2020 5069 6374 Pict │ │ │ │ │ -000226d0: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. │ │ │ │ │ -000226e0: 2028 6c69 6e65 2020 3135 290a 2a20 7061 (line 15).* pa │ │ │ │ │ -000226f0: 7265 6e74 6865 7365 733a 2020 2020 2020 rentheses: │ │ │ │ │ +00022320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022330: 286c 696e 6520 2032 3229 0a2a 206f 7074 (line 22).* opt │ │ │ │ │ +00022340: 696f 6e73 2c20 7377 6570 7420 6f62 6a65 ions, swept obje │ │ │ │ │ +00022350: 6374 203c 323e 3a20 2020 2020 2020 2020 ct <2>: │ │ │ │ │ +00022360: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines. │ │ │ │ │ +00022370: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00022380: 3236 290a 2a20 6f70 7469 6f6e 732c 2073 26).* options, s │ │ │ │ │ +00022390: 7765 7074 206f 626a 6563 7420 3c33 3e3a wept object <3>: │ │ │ │ │ +000223a0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +000223b0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ +000223c0: 2020 286c 696e 6520 2034 3829 0a2a 206f (line 48).* o │ │ │ │ │ +000223d0: 7264 6572 2c20 706f 6c79 676f 6e20 7665 rder, polygon ve │ │ │ │ │ +000223e0: 7274 6578 3a20 2020 2020 2020 2020 2020 rtex: │ │ │ │ │ +000223f0: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ +00022400: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line │ │ │ │ │ +00022410: 2020 3339 290a 2a20 6f72 6465 722c 2070 39).* order, p │ │ │ │ │ +00022420: 6f6c 7967 6f6e 2076 6572 7465 7820 3c31 olygon vertex <1 │ │ │ │ │ +00022430: 3e3a 2020 2020 2020 2020 2020 2020 2053 >: S │ │ │ │ │ +00022440: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. │ │ │ │ │ +00022450: 2020 2020 286c 696e 6520 2031 3429 0a2a (line 14).* │ │ │ │ │ +00022460: 206f 7264 6572 2c20 706f 6c79 676f 6e20 order, polygon │ │ │ │ │ +00022470: 7665 7274 6578 203c 323e 3a20 2020 2020 vertex <2>: │ │ │ │ │ +00022480: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li │ │ │ │ │ +00022490: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li │ │ │ │ │ +000224a0: 6e65 2020 3430 290a 2a20 6f72 6465 722c ne 40).* order, │ │ │ │ │ +000224b0: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex │ │ │ │ │ +000224c0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +000224d0: 2053 7765 7074 2070 6f6c 7967 6f6e 732e Swept polygons. │ │ │ │ │ +000224e0: 2020 2020 2020 286c 696e 6520 2031 3929 (line 19) │ │ │ │ │ +000224f0: 0a2a 206f 7264 6572 2c20 706f 6c79 676f .* order, polygo │ │ │ │ │ +00022500: 6e20 7665 7274 6578 203c 343e 3a20 2020 n vertex <4>: │ │ │ │ │ +00022510: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ +00022520: 6577 2e20 2020 2020 2020 2020 2020 2028 ew. ( │ │ │ │ │ +00022530: 6c69 6e65 2020 3337 290a 2a20 6f72 6465 line 37).* orde │ │ │ │ │ +00022540: 722c 2070 6f6c 7967 6f6e 2076 6572 7465 r, polygon verte │ │ │ │ │ +00022550: 7820 3c35 3e3a 2020 2020 2020 2020 2020 x <5>: │ │ │ │ │ +00022560: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +00022570: 2020 2020 2020 2020 286c 696e 6520 2035 (line 5 │ │ │ │ │ +00022580: 3529 0a2a 206f 7574 7075 7420 6c61 6e67 5).* output lang │ │ │ │ │ +00022590: 7561 6765 3a20 2020 2020 2020 2020 2020 uage: │ │ │ │ │ +000225a0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ +000225b0: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. │ │ │ │ │ +000225c0: 2028 6c69 6e65 2020 2036 290a 2a20 6f75 (line 6).* ou │ │ │ │ │ +000225d0: 7473 6964 6520 6f66 2061 2070 6f6c 7967 tside of a polyg │ │ │ │ │ +000225e0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +000225f0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world │ │ │ │ │ +00022600: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +00022610: 2033 3729 0a2a 2070 6172 616c 6c65 6c20 37).* parallel │ │ │ │ │ +00022620: 7072 6f6a 6563 7469 6f6e 3a20 2020 2020 projection: │ │ │ │ │ +00022630: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ +00022640: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ +00022650: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* │ │ │ │ │ +00022660: 7061 7261 6c6c 656c 2070 726f 6a65 6374 parallel project │ │ │ │ │ +00022670: 696f 6e20 3c31 3e3a 2020 2020 2020 2020 ion <1>: │ │ │ │ │ +00022680: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +00022690: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +000226a0: 6520 2031 3829 0a2a 2070 6172 616c 6c65 e 18).* paralle │ │ │ │ │ +000226b0: 6c20 7072 6f6a 6563 7469 6f6e 203c 323e l projection <2> │ │ │ │ │ +000226c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000226d0: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. │ │ │ │ │ +000226e0: 2020 2020 2028 6c69 6e65 2020 3135 290a (line 15). │ │ │ │ │ +000226f0: 2a20 7061 7265 6e74 6865 7365 733a 2020 * parentheses: │ │ │ │ │ 00022700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022710: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand │ │ │ │ │ -00022720: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms. │ │ │ │ │ -00022730: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00022710: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ +00022720: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ +00022730: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -00022770: 6c69 6e65 2020 3538 290a 2a20 7065 7273 line 58).* pers │ │ │ │ │ -00022780: 7065 6374 6976 6520 7072 6f6a 6563 7469 pective projecti │ │ │ │ │ -00022790: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ -000227a0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -000227b0: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1 │ │ │ │ │ -000227c0: 3929 0a2a 2070 6572 7370 6563 7469 7665 9).* perspective │ │ │ │ │ -000227d0: 2070 726f 6a65 6374 696f 6e20 3c31 3e3a projection <1>: │ │ │ │ │ -000227e0: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -000227f0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -00022800: 2028 6c69 6e65 2020 3231 290a 2a20 7065 (line 21).* pe │ │ │ │ │ -00022810: 7273 7065 6374 6976 6520 7072 6f6a 6563 rspective projec │ │ │ │ │ -00022820: 7469 6f6e 203c 323e 3a20 2020 2020 2020 tion <2>: │ │ │ │ │ -00022830: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -00022840: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00022850: 2020 3729 0a2a 2070 6963 7475 7265 2062 7).* picture b │ │ │ │ │ -00022860: 6f78 3a20 2020 2020 2020 2020 2020 2020 ox: │ │ │ │ │ -00022870: 2020 2020 2020 2020 2020 2020 2020 5069 Pi │ │ │ │ │ -00022880: 6374 7572 6520 626f 782e 2020 2020 2020 cture box. │ │ │ │ │ -00022890: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -000228a0: 706c 616e 6172 6974 7920 6f66 2070 6f6c planarity of pol │ │ │ │ │ -000228b0: 7967 6f6e 733a 2020 2020 2020 2020 2020 ygons: │ │ │ │ │ -000228c0: 2020 2020 2020 2050 6f6c 7967 6f6e 732e Polygons. │ │ │ │ │ -000228d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -000228e0: 6520 2031 3029 0a2a 2070 6c61 6e61 7269 e 10).* planari │ │ │ │ │ -000228f0: 7479 206f 6620 706f 6c79 676f 6e73 203c ty of polygons < │ │ │ │ │ -00022900: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00022910: 5377 6565 7020 6661 6365 2073 706c 6974 Sweep face split │ │ │ │ │ -00022920: 7469 6e67 2e0a 2020 2020 2020 2020 2020 ting.. │ │ │ │ │ +00022760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022770: 2020 2028 6c69 6e65 2020 3538 290a 2a20 (line 58).* │ │ │ │ │ +00022780: 7065 7273 7065 6374 6976 6520 7072 6f6a perspective proj │ │ │ │ │ +00022790: 6563 7469 6f6e 3a20 2020 2020 2020 2020 ection: │ │ │ │ │ +000227a0: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +000227b0: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +000227c0: 6520 2031 3929 0a2a 2070 6572 7370 6563 e 19).* perspec │ │ │ │ │ +000227d0: 7469 7665 2070 726f 6a65 6374 696f 6e20 tive projection │ │ │ │ │ +000227e0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000227f0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +00022800: 6c73 2e20 2028 6c69 6e65 2020 3231 290a ls. (line 21). │ │ │ │ │ +00022810: 2a20 7065 7273 7065 6374 6976 6520 7072 * perspective pr │ │ │ │ │ +00022820: 6f6a 6563 7469 6f6e 203c 323e 3a20 2020 ojection <2>: │ │ │ │ │ +00022830: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ +00022840: 772e 2020 2020 2020 2020 2020 2020 286c w. (l │ │ │ │ │ +00022850: 696e 6520 2020 3729 0a2a 2070 6963 7475 ine 7).* pictu │ │ │ │ │ +00022860: 7265 2062 6f78 3a20 2020 2020 2020 2020 re box: │ │ │ │ │ +00022870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022880: 2020 5069 6374 7572 6520 626f 782e 2020 Picture box. │ │ │ │ │ +00022890: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ +000228a0: 290a 2a20 706c 616e 6172 6974 7920 6f66 ).* planarity of │ │ │ │ │ +000228b0: 2070 6f6c 7967 6f6e 733a 2020 2020 2020 polygons: │ │ │ │ │ +000228c0: 2020 2020 2020 2020 2020 2050 6f6c 7967 Polyg │ │ │ │ │ +000228d0: 6f6e 732e 2020 2020 2020 2020 2020 2020 ons. │ │ │ │ │ +000228e0: 286c 696e 6520 2031 3029 0a2a 2070 6c61 (line 10).* pla │ │ │ │ │ +000228f0: 6e61 7269 7479 206f 6620 706f 6c79 676f narity of polygo │ │ │ │ │ +00022900: 6e73 203c 313e 3a20 2020 2020 2020 2020 ns <1>: │ │ │ │ │ +00022910: 2020 2020 5377 6565 7020 6661 6365 2073 Sweep face s │ │ │ │ │ +00022920: 706c 6974 7469 6e67 2e0a 2020 2020 2020 plitting.. │ │ │ │ │ 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 286c 696e 6520 2020 3729 0a2a (line 7).* │ │ │ │ │ -00022970: 2070 6f69 6e74 2064 6566 696e 6974 696f point definitio │ │ │ │ │ -00022980: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ -00022990: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ -000229a0: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li │ │ │ │ │ -000229b0: 6e65 2020 3233 290a 2a20 706f 696e 7420 ne 23).* point │ │ │ │ │ -000229c0: 6c69 7374 3a20 2020 2020 2020 2020 2020 list: │ │ │ │ │ +00022960: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +00022970: 3729 0a2a 2070 6f69 6e74 2064 6566 696e 7).* point defin │ │ │ │ │ +00022980: 6974 696f 6e3a 2020 2020 2020 2020 2020 ition: │ │ │ │ │ +00022990: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ +000229a0: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. │ │ │ │ │ +000229b0: 2028 6c69 6e65 2020 3233 290a 2a20 706f (line 23).* po │ │ │ │ │ +000229c0: 696e 7420 6c69 7374 3a20 2020 2020 2020 int list: │ │ │ │ │ 000229d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000229e0: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. │ │ │ │ │ -000229f0: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9) │ │ │ │ │ -00022a00: 0a2a 2070 6f69 6e74 206c 6974 6572 616c .* point literal │ │ │ │ │ -00022a10: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00022a20: 2020 2020 2020 2020 2020 506f 696e 7420 Point │ │ │ │ │ -00022a30: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter │ │ │ │ │ -00022a40: 616c 732e 0a20 2020 2020 2020 2020 2020 als.. │ │ │ │ │ +000229e0: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point │ │ │ │ │ +000229f0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ +00022a00: 2020 3929 0a2a 2070 6f69 6e74 206c 6974 9).* point lit │ │ │ │ │ +00022a10: 6572 616c 3a20 2020 2020 2020 2020 2020 eral: │ │ │ │ │ +00022a20: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +00022a30: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l │ │ │ │ │ +00022a40: 6974 6572 616c 732e 0a20 2020 2020 2020 iterals.. │ │ │ │ │ 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 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -00022a90: 706f 696e 7420 7265 6665 7265 6e63 653a point reference: │ │ │ │ │ -00022aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022ab0: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -00022ac0: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin │ │ │ │ │ -00022ad0: 6520 2031 3429 0a2a 2070 6f69 6e74 2073 e 14).* point s │ │ │ │ │ -00022ae0: 7765 6570 3a20 2020 2020 2020 2020 2020 weep: │ │ │ │ │ +00022a80: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ +00022a90: 290a 2a20 706f 696e 7420 7265 6665 7265 ).* point refere │ │ │ │ │ +00022aa0: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: │ │ │ │ │ +00022ab0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ +00022ac0: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ +00022ad0: 286c 696e 6520 2031 3429 0a2a 2070 6f69 (line 14).* poi │ │ │ │ │ +00022ae0: 6e74 2073 7765 6570 3a20 2020 2020 2020 nt sweep: │ │ │ │ │ 00022af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022b00: 5377 6570 7420 6f62 6a65 6374 732e 2020 Swept objects. │ │ │ │ │ -00022b10: 2020 2020 2028 6c69 6e65 2020 3131 290a (line 11). │ │ │ │ │ -00022b20: 2a20 706f 696e 7420 7377 6565 7020 3c31 * point sweep <1 │ │ │ │ │ -00022b30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00022b40: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ -00022b50: 6f69 6e74 732e 2020 2020 2020 2020 286c oints. (l │ │ │ │ │ -00022b60: 696e 6520 2020 3629 0a2a 2070 6f6c 7967 ine 6).* polyg │ │ │ │ │ -00022b70: 6f6e 2073 7765 6570 3a20 2020 2020 2020 on sweep: │ │ │ │ │ +00022b00: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object │ │ │ │ │ +00022b10: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line │ │ │ │ │ +00022b20: 3131 290a 2a20 706f 696e 7420 7377 6565 11).* point swee │ │ │ │ │ +00022b30: 7020 3c31 3e3a 2020 2020 2020 2020 2020 p <1>: │ │ │ │ │ +00022b40: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +00022b50: 7074 2070 6f69 6e74 732e 2020 2020 2020 pt points. │ │ │ │ │ +00022b60: 2020 286c 696e 6520 2020 3629 0a2a 2070 (line 6).* p │ │ │ │ │ +00022b70: 6f6c 7967 6f6e 2073 7765 6570 3a20 2020 olygon sweep: │ │ │ │ │ 00022b80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022b90: 2020 506f 6c79 676f 6e20 7377 6565 7073 Polygon sweeps │ │ │ │ │ -00022ba0: 2e20 2020 2020 2028 6c69 6e65 2020 2036 . (line 6 │ │ │ │ │ -00022bb0: 290a 2a20 706f 6c79 676f 6e20 7377 6565 ).* polygon swee │ │ │ │ │ -00022bc0: 7020 3c31 3e3a 2020 2020 2020 2020 2020 p <1>: │ │ │ │ │ -00022bd0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00022be0: 2070 6f6c 7967 6f6e 732e 2020 2020 2020 polygons. │ │ │ │ │ -00022bf0: 286c 696e 6520 2020 3629 0a2a 2070 6f6c (line 6).* pol │ │ │ │ │ -00022c00: 7967 6f6e 2073 7765 6570 203c 323e 3a20 ygon sweep <2>: │ │ │ │ │ -00022c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022c20: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ -00022c30: 616c 206d 6f64 656c 2e0a 2020 2020 2020 al model.. │ │ │ │ │ +00022b90: 2020 2020 2020 506f 6c79 676f 6e20 7377 Polygon sw │ │ │ │ │ +00022ba0: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line │ │ │ │ │ +00022bb0: 2020 2036 290a 2a20 706f 6c79 676f 6e20 6).* polygon │ │ │ │ │ +00022bc0: 7377 6565 7020 3c31 3e3a 2020 2020 2020 sweep <1>: │ │ │ │ │ +00022bd0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00022be0: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. │ │ │ │ │ +00022bf0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +00022c00: 2070 6f6c 7967 6f6e 2073 7765 6570 203c polygon sweep < │ │ │ │ │ +00022c10: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +00022c20: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar │ │ │ │ │ +00022c30: 6368 6963 616c 206d 6f64 656c 2e0a 2020 chical 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 286c 696e 6520 3132 (line 12 │ │ │ │ │ -00022c80: 3229 0a2a 2070 6f6c 7967 6f6e 2076 6572 2).* polygon ver │ │ │ │ │ -00022c90: 7465 7820 6f72 6465 723a 2020 2020 2020 tex order: │ │ │ │ │ -00022ca0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell │ │ │ │ │ -00022cb0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. │ │ │ │ │ -00022cc0: 2028 6c69 6e65 2020 3339 290a 2a20 706f (line 39).* po │ │ │ │ │ -00022cd0: 6c79 676f 6e20 7665 7274 6578 206f 7264 lygon vertex ord │ │ │ │ │ -00022ce0: 6572 203c 313e 3a20 2020 2020 2020 2020 er <1>: │ │ │ │ │ -00022cf0: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines │ │ │ │ │ -00022d00: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ -00022d10: 2031 3429 0a2a 2070 6f6c 7967 6f6e 2076 14).* polygon v │ │ │ │ │ -00022d20: 6572 7465 7820 6f72 6465 7220 3c32 3e3a ertex order <2>: │ │ │ │ │ -00022d30: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -00022d40: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. │ │ │ │ │ -00022d50: 2020 2028 6c69 6e65 2020 3430 290a 2a20 (line 40).* │ │ │ │ │ -00022d60: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o │ │ │ │ │ -00022d70: 7264 6572 203c 333e 3a20 2020 2020 2020 rder <3>: │ │ │ │ │ -00022d80: 2020 2020 2020 2053 7765 7074 2070 6f6c Swept pol │ │ │ │ │ -00022d90: 7967 6f6e 732e 2020 2020 2020 286c 696e ygons. (lin │ │ │ │ │ -00022da0: 6520 2031 3929 0a2a 2070 6f6c 7967 6f6e e 19).* polygon │ │ │ │ │ -00022db0: 2076 6572 7465 7820 6f72 6465 7220 3c34 vertex order <4 │ │ │ │ │ -00022dc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00022dd0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -00022de0: 2020 2020 2028 6c69 6e65 2020 3337 290a (line 37). │ │ │ │ │ -00022df0: 2a20 706f 6c79 676f 6e20 7665 7274 6578 * polygon vertex │ │ │ │ │ -00022e00: 206f 7264 6572 203c 353e 3a20 2020 2020 order <5>: │ │ │ │ │ -00022e10: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -00022e20: 772e 2020 2020 2020 2020 2020 2020 286c w. (l │ │ │ │ │ -00022e30: 696e 6520 2035 3529 0a2a 2070 6f6c 7967 ine 55).* polyg │ │ │ │ │ -00022e40: 6f6e 2c20 626f 6479 3a20 2020 2020 2020 on, body: │ │ │ │ │ +00022c70: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00022c80: 6520 3132 3229 0a2a 2070 6f6c 7967 6f6e e 122).* polygon │ │ │ │ │ +00022c90: 2076 6572 7465 7820 6f72 6465 723a 2020 vertex order: │ │ │ │ │ +00022ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022cb0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ +00022cc0: 2020 2020 2028 6c69 6e65 2020 3339 290a (line 39). │ │ │ │ │ +00022cd0: 2a20 706f 6c79 676f 6e20 7665 7274 6578 * polygon vertex │ │ │ │ │ +00022ce0: 206f 7264 6572 203c 313e 3a20 2020 2020 order <1>: │ │ │ │ │ +00022cf0: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ +00022d00: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ +00022d10: 696e 6520 2031 3429 0a2a 2070 6f6c 7967 ine 14).* polyg │ │ │ │ │ +00022d20: 6f6e 2076 6572 7465 7820 6f72 6465 7220 on vertex order │ │ │ │ │ +00022d30: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00022d40: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ +00022d50: 2020 2020 2020 2028 6c69 6e65 2020 3430 (line 40 │ │ │ │ │ +00022d60: 290a 2a20 706f 6c79 676f 6e20 7665 7274 ).* polygon vert │ │ │ │ │ +00022d70: 6578 206f 7264 6572 203c 333e 3a20 2020 ex order <3>: │ │ │ │ │ +00022d80: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +00022d90: 2070 6f6c 7967 6f6e 732e 2020 2020 2020 polygons. │ │ │ │ │ +00022da0: 286c 696e 6520 2031 3929 0a2a 2070 6f6c (line 19).* pol │ │ │ │ │ +00022db0: 7967 6f6e 2076 6572 7465 7820 6f72 6465 ygon vertex orde │ │ │ │ │ +00022dc0: 7220 3c34 3e3a 2020 2020 2020 2020 2020 r <4>: │ │ │ │ │ +00022dd0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ +00022de0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00022df0: 3337 290a 2a20 706f 6c79 676f 6e20 7665 37).* polygon ve │ │ │ │ │ +00022e00: 7274 6578 206f 7264 6572 203c 353e 3a20 rtex order <5>: │ │ │ │ │ +00022e10: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ +00022e20: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ +00022e30: 2020 286c 696e 6520 2035 3529 0a2a 2070 (line 55).* p │ │ │ │ │ +00022e40: 6f6c 7967 6f6e 2c20 626f 6479 3a20 2020 olygon, body: │ │ │ │ │ 00022e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022e60: 2020 496e 7465 726e 616c 206f 7074 696f Internal optio │ │ │ │ │ -00022e70: 6e73 2e20 2020 2028 6c69 6e65 2020 3136 ns. (line 16 │ │ │ │ │ -00022e80: 290a 2a20 706f 6c79 676f 6e2c 2062 6f64 ).* polygon, bod │ │ │ │ │ -00022e90: 7920 3c31 3e3a 2020 2020 2020 2020 2020 y <1>: │ │ │ │ │ -00022ea0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00022eb0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ -00022ec0: 286c 696e 6520 2031 3029 0a2a 2070 6f6c (line 10).* pol │ │ │ │ │ -00022ed0: 7967 6f6e 2c20 626f 6479 203c 323e 3a20 ygon, body <2>: │ │ │ │ │ -00022ee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022ef0: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo │ │ │ │ │ -00022f00: 6e73 2e20 2020 2020 2028 6c69 6e65 2020 ns. (line │ │ │ │ │ -00022f10: 2039 290a 2a20 706f 6c79 676f 6e2c 2065 9).* polygon, e │ │ │ │ │ -00022f20: 6e64 3a20 2020 2020 2020 2020 2020 2020 nd: │ │ │ │ │ -00022f30: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00022f40: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ -00022f50: 2020 286c 696e 6520 2033 3829 0a2a 2070 (line 38).* p │ │ │ │ │ -00022f60: 6f6c 7967 6f6e 2c20 656e 6420 3c31 3e3a olygon, end <1>: │ │ │ │ │ -00022f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022f80: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly │ │ │ │ │ -00022f90: 676f 6e73 2e20 2020 2020 2028 6c69 6e65 gons. (line │ │ │ │ │ -00022fa0: 2020 3135 290a 2a20 706f 6c79 676f 6e2c 15).* polygon, │ │ │ │ │ -00022fb0: 206f 7574 7369 6465 206f 663a 2020 2020 outside of: │ │ │ │ │ -00022fc0: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -00022fd0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. │ │ │ │ │ -00022fe0: 2020 2020 286c 696e 6520 2033 3729 0a2a (line 37).* │ │ │ │ │ -00022ff0: 2070 6f6c 7967 6f6e 2c20 706c 616e 6172 polygon, planar │ │ │ │ │ -00023000: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023010: 2020 2020 2020 2020 506f 6c79 676f 6e73 Polygons │ │ │ │ │ -00023020: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ -00023030: 6e65 2020 3130 290a 2a20 706f 6c79 676f ne 10).* polygo │ │ │ │ │ -00023040: 6e2c 2070 6c61 6e61 7220 3c31 3e3a 2020 n, planar <1>: │ │ │ │ │ -00023050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023060: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli │ │ │ │ │ -00023070: 7474 696e 672e 0a20 2020 2020 2020 2020 tting.. │ │ │ │ │ +00022e60: 2020 2020 2020 496e 7465 726e 616c 206f Internal o │ │ │ │ │ +00022e70: 7074 696f 6e73 2e20 2020 2028 6c69 6e65 ptions. (line │ │ │ │ │ +00022e80: 2020 3136 290a 2a20 706f 6c79 676f 6e2c 16).* polygon, │ │ │ │ │ +00022e90: 2062 6f64 7920 3c31 3e3a 2020 2020 2020 body <1>: │ │ │ │ │ +00022ea0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00022eb0: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. │ │ │ │ │ +00022ec0: 2020 2020 286c 696e 6520 2031 3029 0a2a (line 10).* │ │ │ │ │ +00022ed0: 2070 6f6c 7967 6f6e 2c20 626f 6479 203c polygon, body < │ │ │ │ │ +00022ee0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +00022ef0: 2020 2020 2020 2020 5377 6570 7420 706f Swept po │ │ │ │ │ +00022f00: 6c79 676f 6e73 2e20 2020 2020 2028 6c69 lygons. (li │ │ │ │ │ +00022f10: 6e65 2020 2039 290a 2a20 706f 6c79 676f ne 9).* polygo │ │ │ │ │ +00022f20: 6e2c 2065 6e64 3a20 2020 2020 2020 2020 n, end: │ │ │ │ │ +00022f30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022f40: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ +00022f50: 2020 2020 2020 286c 696e 6520 2033 3829 (line 38) │ │ │ │ │ +00022f60: 0a2a 2070 6f6c 7967 6f6e 2c20 656e 6420 .* polygon, end │ │ │ │ │ +00022f70: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00022f80: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +00022f90: 706f 6c79 676f 6e73 2e20 2020 2020 2028 polygons. ( │ │ │ │ │ +00022fa0: 6c69 6e65 2020 3135 290a 2a20 706f 6c79 line 15).* poly │ │ │ │ │ +00022fb0: 676f 6e2c 206f 7574 7369 6465 206f 663a gon, outside of: │ │ │ │ │ +00022fc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022fd0: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. │ │ │ │ │ +00022fe0: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3 │ │ │ │ │ +00022ff0: 3729 0a2a 2070 6f6c 7967 6f6e 2c20 706c 7).* polygon, pl │ │ │ │ │ +00023000: 616e 6172 3a20 2020 2020 2020 2020 2020 anar: │ │ │ │ │ +00023010: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +00023020: 676f 6e73 2e20 2020 2020 2020 2020 2020 gons. │ │ │ │ │ +00023030: 2028 6c69 6e65 2020 3130 290a 2a20 706f (line 10).* po │ │ │ │ │ +00023040: 6c79 676f 6e2c 2070 6c61 6e61 7220 3c31 lygon, planar <1 │ │ │ │ │ +00023050: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00023060: 2020 2020 2053 7765 6570 2066 6163 6520 Sweep face │ │ │ │ │ +00023070: 7370 6c69 7474 696e 672e 0a20 2020 2020 splitting.. │ │ │ │ │ 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 2028 6c69 6e65 2020 2037 290a (line 7). │ │ │ │ │ -000230c0: 2a20 7072 6563 6564 656e 6365 2c20 6f70 * precedence, op │ │ │ │ │ -000230d0: 6572 6174 6f72 3a20 2020 2020 2020 2020 erator: │ │ │ │ │ -000230e0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope │ │ │ │ │ -000230f0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ -00023100: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. │ │ │ │ │ +000230b0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000230c0: 2037 290a 2a20 7072 6563 6564 656e 6365 7).* precedence │ │ │ │ │ +000230d0: 2c20 6f70 6572 6174 6f72 3a20 2020 2020 , operator: │ │ │ │ │ +000230e0: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ +000230f0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ +00023100: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3435 290a 2a20 (line 45).* │ │ │ │ │ -00023150: 7072 6f67 7261 6d2c 2068 656c 6c6f 2077 program, hello w │ │ │ │ │ -00023160: 6f72 6c64 3a20 2020 2020 2020 2020 2020 orld: │ │ │ │ │ -00023170: 2020 2020 2020 2048 656c 6c6f 2077 6f72 Hello wor │ │ │ │ │ -00023180: 6c64 2e20 2020 2020 2020 2020 286c 696e ld. (lin │ │ │ │ │ -00023190: 6520 2020 3729 0a2a 2070 726f 6a65 6374 e 7).* project │ │ │ │ │ -000231a0: 696f 6e2c 2070 6172 616c 6c65 6c3a 2020 ion, parallel: │ │ │ │ │ -000231b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000231c0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ -000231d0: 2020 2020 2028 6c69 6e65 2020 3236 290a (line 26). │ │ │ │ │ -000231e0: 2a20 7072 6f6a 6563 7469 6f6e 2c20 7061 * projection, pa │ │ │ │ │ -000231f0: 7261 6c6c 656c 203c 313e 3a20 2020 2020 rallel <1>: │ │ │ │ │ -00023200: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -00023210: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ -00023220: 696e 6520 2031 3829 0a2a 2070 726f 6a65 ine 18).* proje │ │ │ │ │ -00023230: 6374 696f 6e2c 2070 6172 616c 6c65 6c20 ction, parallel │ │ │ │ │ -00023240: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -00023250: 2020 5069 6374 7572 6520 626f 782e 2020 Picture box. │ │ │ │ │ -00023260: 2020 2020 2020 2028 6c69 6e65 2020 3135 (line 15 │ │ │ │ │ -00023270: 290a 2a20 7072 6f6a 6563 7469 6f6e 2c20 ).* projection, │ │ │ │ │ -00023280: 7065 7273 7065 6374 6976 653a 2020 2020 perspective: │ │ │ │ │ -00023290: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -000232a0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ -000232b0: 286c 696e 6520 2031 3929 0a2a 2070 726f (line 19).* pro │ │ │ │ │ -000232c0: 6a65 6374 696f 6e2c 2070 6572 7370 6563 jection, perspec │ │ │ │ │ -000232d0: 7469 7665 203c 313e 3a20 2020 2020 2020 tive <1>: │ │ │ │ │ -000232e0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ -000232f0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line │ │ │ │ │ -00023300: 3231 290a 2a20 7072 6f6a 6563 7469 6f6e 21).* projection │ │ │ │ │ -00023310: 2c20 7065 7273 7065 6374 6976 6520 3c32 , perspective <2 │ │ │ │ │ -00023320: 3e3a 2020 2020 2020 2020 2020 204f 7665 >: Ove │ │ │ │ │ -00023330: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -00023340: 2020 286c 696e 6520 2020 3729 0a2a 2070 (line 7).* p │ │ │ │ │ -00023350: 7365 7564 6f2d 6f70 7469 6f6e 733a 2020 seudo-options: │ │ │ │ │ -00023360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023370: 2020 2020 2020 5469 6b5a 2f50 4746 2075 TikZ/PGF u │ │ │ │ │ -00023380: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl │ │ │ │ │ -00023390: 6573 2e0a 2020 2020 2020 2020 2020 2020 es.. │ │ │ │ │ +00023140: 2020 2020 2020 2028 6c69 6e65 2020 3435 (line 45 │ │ │ │ │ +00023150: 290a 2a20 7072 6f67 7261 6d2c 2068 656c ).* program, hel │ │ │ │ │ +00023160: 6c6f 2077 6f72 6c64 3a20 2020 2020 2020 lo world: │ │ │ │ │ +00023170: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello │ │ │ │ │ +00023180: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. │ │ │ │ │ +00023190: 286c 696e 6520 2020 3729 0a2a 2070 726f (line 7).* pro │ │ │ │ │ +000231a0: 6a65 6374 696f 6e2c 2070 6172 616c 6c65 jection, paralle │ │ │ │ │ +000231b0: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: │ │ │ │ │ +000231c0: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ +000231d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000231e0: 3236 290a 2a20 7072 6f6a 6563 7469 6f6e 26).* projection │ │ │ │ │ +000231f0: 2c20 7061 7261 6c6c 656c 203c 313e 3a20 , parallel <1>: │ │ │ │ │ +00023200: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +00023210: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ +00023220: 2020 286c 696e 6520 2031 3829 0a2a 2070 (line 18).* p │ │ │ │ │ +00023230: 726f 6a65 6374 696f 6e2c 2070 6172 616c rojection, paral │ │ │ │ │ +00023240: 6c65 6c20 3c32 3e3a 2020 2020 2020 2020 lel <2>: │ │ │ │ │ +00023250: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo │ │ │ │ │ +00023260: 782e 2020 2020 2020 2020 2028 6c69 6e65 x. (line │ │ │ │ │ +00023270: 2020 3135 290a 2a20 7072 6f6a 6563 7469 15).* projecti │ │ │ │ │ +00023280: 6f6e 2c20 7065 7273 7065 6374 6976 653a on, perspective: │ │ │ │ │ +00023290: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +000232a0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ +000232b0: 732e 2020 286c 696e 6520 2031 3929 0a2a s. (line 19).* │ │ │ │ │ +000232c0: 2070 726f 6a65 6374 696f 6e2c 2070 6572 projection, per │ │ │ │ │ +000232d0: 7370 6563 7469 7665 203c 313e 3a20 2020 spective <1>: │ │ │ │ │ +000232e0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ +000232f0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ +00023300: 6e65 2020 3231 290a 2a20 7072 6f6a 6563 ne 21).* projec │ │ │ │ │ +00023310: 7469 6f6e 2c20 7065 7273 7065 6374 6976 tion, perspectiv │ │ │ │ │ +00023320: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: │ │ │ │ │ +00023330: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ +00023340: 2020 2020 2020 286c 696e 6520 2020 3729 (line 7) │ │ │ │ │ +00023350: 0a2a 2070 7365 7564 6f2d 6f70 7469 6f6e .* pseudo-option │ │ │ │ │ +00023360: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +00023370: 2020 2020 2020 2020 2020 5469 6b5a 2f50 TikZ/P │ │ │ │ │ +00023380: 4746 2075 7365 722d 6465 6669 6e65 6420 GF user-defined │ │ │ │ │ +00023390: 7374 796c 6573 2e0a 2020 2020 2020 2020 styles.. │ │ │ │ │ 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 286c 696e 6520 2032 3529 0a2a 2070 (line 25).* p │ │ │ │ │ -000233e0: 7366 7261 6d65 626f 783a 2020 2020 2020 sframebox: │ │ │ │ │ +000233d0: 2020 2020 2020 286c 696e 6520 2032 3529 (line 25) │ │ │ │ │ +000233e0: 0a2a 2070 7366 7261 6d65 626f 783a 2020 .* psframebox: │ │ │ │ │ 000233f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023400: 2020 2020 2020 4672 616d 652e 2020 2020 Frame. │ │ │ │ │ -00023410: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00023420: 2020 2038 290a 2a20 7073 7069 6374 7572 8).* pspictur │ │ │ │ │ -00023430: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -00023440: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -00023450: 6963 7475 7265 2062 6f78 2e20 2020 2020 icture box. │ │ │ │ │ -00023460: 2020 2020 286c 696e 6520 2031 3029 0a2a (line 10).* │ │ │ │ │ -00023470: 2050 5354 7269 636b 733a 2020 2020 2020 PSTricks: │ │ │ │ │ +00023400: 2020 2020 2020 2020 2020 4672 616d 652e Frame. │ │ │ │ │ +00023410: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00023420: 6c69 6e65 2020 2038 290a 2a20 7073 7069 line 8).* pspi │ │ │ │ │ +00023430: 6374 7572 653a 2020 2020 2020 2020 2020 cture: │ │ │ │ │ +00023440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023450: 2020 2050 6963 7475 7265 2062 6f78 2e20 Picture box. │ │ │ │ │ +00023460: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ +00023470: 3029 0a2a 2050 5354 7269 636b 733a 2020 0).* PSTricks: │ │ │ │ │ 00023480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023490: 2020 2020 2020 2020 4162 6f75 7420 736b About sk │ │ │ │ │ -000234a0: 6574 6368 2e20 2020 2020 2020 2028 6c69 etch. (li │ │ │ │ │ -000234b0: 6e65 2020 3231 290a 2a20 7175 6f74 696e ne 21).* quotin │ │ │ │ │ -000234c0: 672c 2073 7065 6369 616c 3a20 2020 2020 g, special: │ │ │ │ │ +00023490: 2020 2020 2020 2020 2020 2020 4162 6f75 Abou │ │ │ │ │ +000234a0: 7420 736b 6574 6368 2e20 2020 2020 2020 t sketch. │ │ │ │ │ +000234b0: 2028 6c69 6e65 2020 3231 290a 2a20 7175 (line 21).* qu │ │ │ │ │ +000234c0: 6f74 696e 672c 2073 7065 6369 616c 3a20 oting, special: │ │ │ │ │ 000234d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000234e0: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ -000234f0: 2e20 2020 2020 286c 696e 6520 2032 3029 . (line 20) │ │ │ │ │ -00023500: 0a2a 2071 756f 7469 6e67 2c20 7370 6563 .* quoting, spec │ │ │ │ │ -00023510: 6961 6c20 3c31 3e3a 2020 2020 2020 2020 ial <1>: │ │ │ │ │ -00023520: 2020 2020 2020 2020 2020 5370 6563 6961 Specia │ │ │ │ │ -00023530: 6c73 2e20 2020 2020 2020 2020 2020 2028 ls. ( │ │ │ │ │ -00023540: 6c69 6e65 2020 2038 290a 2a20 7265 6665 line 8).* refe │ │ │ │ │ -00023550: 7265 6e63 652c 2064 7261 7761 626c 653a rence, drawable: │ │ │ │ │ -00023560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023570: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ -00023580: 6f72 6d73 2e20 2020 286c 696e 6520 2033 orms. (line 3 │ │ │ │ │ -00023590: 3329 0a2a 2072 6566 6572 656e 6365 2c20 3).* reference, │ │ │ │ │ -000235a0: 6472 6177 6162 6c65 203c 313e 3a20 2020 drawable <1>: │ │ │ │ │ -000235b0: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ -000235c0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ -000235d0: 2028 6c69 6e65 2020 3137 290a 2a20 7265 (line 17).* re │ │ │ │ │ -000235e0: 6665 7265 6e63 652c 2064 7261 7761 626c ference, drawabl │ │ │ │ │ -000235f0: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: │ │ │ │ │ -00023600: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -00023610: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00023620: 2034 3729 0a2a 2072 6566 6572 656e 6365 47).* reference │ │ │ │ │ -00023630: 2c20 6472 6177 6162 6c65 203c 333e 3a20 , drawable <3>: │ │ │ │ │ -00023640: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ -00023650: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ -00023660: 2020 2028 6c69 6e65 2020 3537 290a 2a20 (line 57).* │ │ │ │ │ -00023670: 7265 6665 7265 6e63 652c 206d 756c 7469 reference, multi │ │ │ │ │ -00023680: 706c 6520 6f70 7469 6f6e 733a 2020 2020 ple options: │ │ │ │ │ -00023690: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -000236a0: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin │ │ │ │ │ -000236b0: 6520 2031 3829 0a2a 2072 6566 6572 656e e 18).* referen │ │ │ │ │ -000236c0: 6365 2c20 6f70 7469 6f6e 733a 2020 2020 ce, options: │ │ │ │ │ +000234e0: 2020 2020 2053 7065 6369 616c 206f 626a Special obj │ │ │ │ │ +000234f0: 6563 7473 2e20 2020 2020 286c 696e 6520 ects. (line │ │ │ │ │ +00023500: 2032 3029 0a2a 2071 756f 7469 6e67 2c20 20).* quoting, │ │ │ │ │ +00023510: 7370 6563 6961 6c20 3c31 3e3a 2020 2020 special <1>: │ │ │ │ │ +00023520: 2020 2020 2020 2020 2020 2020 2020 5370 Sp │ │ │ │ │ +00023530: 6563 6961 6c73 2e20 2020 2020 2020 2020 ecials. │ │ │ │ │ +00023540: 2020 2028 6c69 6e65 2020 2038 290a 2a20 (line 8).* │ │ │ │ │ +00023550: 7265 6665 7265 6e63 652c 2064 7261 7761 reference, drawa │ │ │ │ │ +00023560: 626c 653a 2020 2020 2020 2020 2020 2020 ble: │ │ │ │ │ +00023570: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +00023580: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ +00023590: 6520 2033 3329 0a2a 2072 6566 6572 656e e 33).* referen │ │ │ │ │ +000235a0: 6365 2c20 6472 6177 6162 6c65 203c 313e ce, drawable <1> │ │ │ │ │ +000235b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000235c0: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ +000235d0: 6365 732e 2028 6c69 6e65 2020 3137 290a ces. (line 17). │ │ │ │ │ +000235e0: 2a20 7265 6665 7265 6e63 652c 2064 7261 * reference, dra │ │ │ │ │ +000235f0: 7761 626c 6520 3c32 3e3a 2020 2020 2020 wable <2>: │ │ │ │ │ +00023600: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ +00023610: 772e 2020 2020 2020 2020 2020 2020 286c w. (l │ │ │ │ │ +00023620: 696e 6520 2034 3729 0a2a 2072 6566 6572 ine 47).* refer │ │ │ │ │ +00023630: 656e 6365 2c20 6472 6177 6162 6c65 203c ence, drawable < │ │ │ │ │ +00023640: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ +00023650: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +00023660: 2020 2020 2020 2028 6c69 6e65 2020 3537 (line 57 │ │ │ │ │ +00023670: 290a 2a20 7265 6665 7265 6e63 652c 206d ).* reference, m │ │ │ │ │ +00023680: 756c 7469 706c 6520 6f70 7469 6f6e 733a ultiple options: │ │ │ │ │ +00023690: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ +000236a0: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ +000236b0: 286c 696e 6520 2031 3829 0a2a 2072 6566 (line 18).* ref │ │ │ │ │ +000236c0: 6572 656e 6365 2c20 6f70 7469 6f6e 733a erence, options: │ │ │ │ │ 000236d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000236e0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ -000236f0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ -00023700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000236e0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +000236f0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure │ │ │ │ │ +00023700: 2e0a 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 286c 696e (lin │ │ │ │ │ -00023740: 6520 2032 3429 0a2a 2072 6566 6572 656e e 24).* referen │ │ │ │ │ -00023750: 6365 2c20 6f70 7469 6f6e 7320 3c31 3e3a ce, options <1>: │ │ │ │ │ -00023760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023770: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ -00023780: 6365 732e 2028 6c69 6e65 2020 3138 290a ces. (line 18). │ │ │ │ │ -00023790: 2a20 7265 6665 7265 6e63 652c 2070 6f69 * reference, poi │ │ │ │ │ -000237a0: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: │ │ │ │ │ -000237b0: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -000237c0: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l │ │ │ │ │ -000237d0: 696e 6520 2032 3329 0a2a 2072 6566 6572 ine 23).* refer │ │ │ │ │ -000237e0: 656e 6365 2c20 706f 696e 7420 3c31 3e3a ence, point <1>: │ │ │ │ │ -000237f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023800: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ -00023810: 656e 6365 732e 2028 6c69 6e65 2020 3134 ences. (line 14 │ │ │ │ │ -00023820: 290a 2a20 7265 6665 7265 6e63 652c 2073 ).* reference, s │ │ │ │ │ -00023830: 6361 6c61 723a 2020 2020 2020 2020 2020 calar: │ │ │ │ │ -00023840: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00023850: 206f 626a 6563 7473 2e20 2020 2020 2020 objects. │ │ │ │ │ -00023860: 286c 696e 6520 2031 3329 0a2a 2072 6566 (line 13).* ref │ │ │ │ │ -00023870: 6572 656e 6365 2c20 7363 616c 6172 203c erence, scalar < │ │ │ │ │ -00023880: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00023890: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ -000238a0: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line │ │ │ │ │ -000238b0: 3133 290a 2a20 7265 6665 7265 6e63 652c 13).* reference, │ │ │ │ │ -000238c0: 2074 6167 3a20 2020 2020 2020 2020 2020 tag: │ │ │ │ │ -000238d0: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ -000238e0: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition │ │ │ │ │ -000238f0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ +00023730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023740: 286c 696e 6520 2032 3429 0a2a 2072 6566 (line 24).* ref │ │ │ │ │ +00023750: 6572 656e 6365 2c20 6f70 7469 6f6e 7320 erence, options │ │ │ │ │ +00023760: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00023770: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ +00023780: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line │ │ │ │ │ +00023790: 3138 290a 2a20 7265 6665 7265 6e63 652c 18).* reference, │ │ │ │ │ +000237a0: 2070 6f69 6e74 3a20 2020 2020 2020 2020 point: │ │ │ │ │ +000237b0: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ +000237c0: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ +000237d0: 2020 286c 696e 6520 2032 3329 0a2a 2072 (line 23).* r │ │ │ │ │ +000237e0: 6566 6572 656e 6365 2c20 706f 696e 7420 eference, point │ │ │ │ │ +000237f0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00023800: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ +00023810: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line │ │ │ │ │ +00023820: 2020 3134 290a 2a20 7265 6665 7265 6e63 14).* referenc │ │ │ │ │ +00023830: 652c 2073 6361 6c61 723a 2020 2020 2020 e, scalar: │ │ │ │ │ +00023840: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00023850: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. │ │ │ │ │ +00023860: 2020 2020 286c 696e 6520 2031 3329 0a2a (line 13).* │ │ │ │ │ +00023870: 2072 6566 6572 656e 6365 2c20 7363 616c reference, scal │ │ │ │ │ +00023880: 6172 203c 313e 3a20 2020 2020 2020 2020 ar <1>: │ │ │ │ │ +00023890: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ +000238a0: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li │ │ │ │ │ +000238b0: 6e65 2020 3133 290a 2a20 7265 6665 7265 ne 13).* refere │ │ │ │ │ +000238c0: 6e63 652c 2074 6167 3a20 2020 2020 2020 nce, tag: │ │ │ │ │ +000238d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000238e0: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini │ │ │ │ │ +000238f0: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. │ │ │ │ │ 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: 2028 6c69 6e65 2020 3230 290a 2a20 7265 (line 20).* re │ │ │ │ │ -00023940: 6665 7265 6e63 652c 2074 6167 203c 313e ference, tag <1> │ │ │ │ │ -00023950: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023960: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re │ │ │ │ │ -00023970: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line │ │ │ │ │ -00023980: 2031 3929 0a2a 2072 6566 6572 656e 6365 19).* reference │ │ │ │ │ -00023990: 2c20 7472 616e 7366 6f72 6d3a 2020 2020 , transform: │ │ │ │ │ -000239a0: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ -000239b0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ -000239c0: 732e 2028 6c69 6e65 2020 3136 290a 2a20 s. (line 16).* │ │ │ │ │ -000239d0: 7265 6665 7265 6e63 652c 2074 7261 6e73 reference, trans │ │ │ │ │ -000239e0: 666f 726d 203c 313e 3a20 2020 2020 2020 form <1>: │ │ │ │ │ -000239f0: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ -00023a00: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -00023a10: 6520 2033 3529 0a2a 2072 6566 6572 656e e 35).* referen │ │ │ │ │ -00023a20: 6365 2c20 7665 6374 6f72 3a20 2020 2020 ce, vector: │ │ │ │ │ +00023930: 2020 2020 2028 6c69 6e65 2020 3230 290a (line 20). │ │ │ │ │ +00023940: 2a20 7265 6665 7265 6e63 652c 2074 6167 * reference, tag │ │ │ │ │ +00023950: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00023960: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ +00023970: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l │ │ │ │ │ +00023980: 696e 6520 2031 3929 0a2a 2072 6566 6572 ine 19).* refer │ │ │ │ │ +00023990: 656e 6365 2c20 7472 616e 7366 6f72 6d3a ence, transform: │ │ │ │ │ +000239a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000239b0: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ +000239c0: 656e 6365 732e 2028 6c69 6e65 2020 3136 ences. (line 16 │ │ │ │ │ +000239d0: 290a 2a20 7265 6665 7265 6e63 652c 2074 ).* reference, t │ │ │ │ │ +000239e0: 7261 6e73 666f 726d 203c 313e 3a20 2020 ransform <1>: │ │ │ │ │ +000239f0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +00023a00: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +00023a10: 286c 696e 6520 2033 3529 0a2a 2072 6566 (line 35).* ref │ │ │ │ │ +00023a20: 6572 656e 6365 2c20 7665 6374 6f72 3a20 erence, vector: │ │ │ │ │ 00023a30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023a40: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ -00023a50: 2020 2020 2028 6c69 6e65 2020 3230 290a (line 20). │ │ │ │ │ -00023a60: 2a20 7265 6665 7265 6e63 652c 2076 6563 * reference, vec │ │ │ │ │ -00023a70: 746f 7220 3c31 3e3a 2020 2020 2020 2020 tor <1>: │ │ │ │ │ -00023a80: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ -00023a90: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l │ │ │ │ │ -00023aa0: 696e 6520 2031 3529 0a2a 2072 6570 6561 ine 15).* repea │ │ │ │ │ -00023ab0: 7465 6420 6f62 6a65 6374 3a20 2020 2020 ted object: │ │ │ │ │ +00023a40: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +00023a50: 6570 732e 2020 2020 2028 6c69 6e65 2020 eps. (line │ │ │ │ │ +00023a60: 3230 290a 2a20 7265 6665 7265 6e63 652c 20).* reference, │ │ │ │ │ +00023a70: 2076 6563 746f 7220 3c31 3e3a 2020 2020 vector <1>: │ │ │ │ │ +00023a80: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ +00023a90: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ +00023aa0: 2e20 286c 696e 6520 2031 3529 0a2a 2072 . (line 15).* r │ │ │ │ │ +00023ab0: 6570 6561 7465 6420 6f62 6a65 6374 3a20 epeated object: │ │ │ │ │ 00023ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023ad0: 2020 5265 7065 6174 732e 2020 2020 2020 Repeats. │ │ │ │ │ -00023ae0: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -00023af0: 290a 2a20 7265 7365 7276 6564 2077 6f72 ).* reserved wor │ │ │ │ │ -00023b00: 6473 3a20 2020 2020 2020 2020 2020 2020 ds: │ │ │ │ │ -00023b10: 2020 2020 2020 2020 2020 204b 6579 2061 Key a │ │ │ │ │ -00023b20: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word │ │ │ │ │ -00023b30: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ +00023ad0: 2020 2020 2020 5265 7065 6174 732e 2020 Repeats. │ │ │ │ │ +00023ae0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00023af0: 2020 2036 290a 2a20 7265 7365 7276 6564 6).* reserved │ │ │ │ │ +00023b00: 2077 6f72 6473 3a20 2020 2020 2020 2020 words: │ │ │ │ │ +00023b10: 2020 2020 2020 2020 2020 2020 2020 204b K │ │ │ │ │ +00023b20: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved │ │ │ │ │ +00023b30: 776f 7264 732e 0a20 2020 2020 2020 2020 words.. │ │ │ │ │ 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: 2028 6c69 6e65 2020 3131 290a 2a20 7269 (line 11).* ri │ │ │ │ │ -00023b80: 6768 7420 6861 6e64 2072 756c 653a 2020 ght hand rule: │ │ │ │ │ -00023b90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023ba0: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -00023bb0: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line │ │ │ │ │ -00023bc0: 2034 3129 0a2a 2072 6967 6874 2d68 616e 41).* right-han │ │ │ │ │ -00023bd0: 6420 636f 6f72 6469 6e61 7465 2073 7973 d coordinate sys │ │ │ │ │ -00023be0: 7465 6d3a 2020 2020 2020 2020 2020 496e tem: In │ │ │ │ │ -00023bf0: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex │ │ │ │ │ -00023c00: 616d 706c 652e 0a20 2020 2020 2020 2020 ample.. │ │ │ │ │ +00023b70: 2020 2020 2028 6c69 6e65 2020 3131 290a (line 11). │ │ │ │ │ +00023b80: 2a20 7269 6768 7420 6861 6e64 2072 756c * right hand rul │ │ │ │ │ +00023b90: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +00023ba0: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +00023bb0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ +00023bc0: 696e 6520 2034 3129 0a2a 2072 6967 6874 ine 41).* right │ │ │ │ │ +00023bd0: 2d68 616e 6420 636f 6f72 6469 6e61 7465 -hand coordinate │ │ │ │ │ +00023be0: 2073 7973 7465 6d3a 2020 2020 2020 2020 system: │ │ │ │ │ +00023bf0: 2020 496e 7472 6f64 7563 7469 6f6e 2062 Introduction b │ │ │ │ │ +00023c00: 7920 6578 616d 706c 652e 0a20 2020 2020 y example.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3131 290a (line 11). │ │ │ │ │ -00023c50: 2a20 726f 7461 7469 6f6e 3a20 2020 2020 * rotation: │ │ │ │ │ +00023c40: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00023c50: 3131 290a 2a20 726f 7461 7469 6f6e 3a20 11).* rotation: │ │ │ │ │ 00023c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023c70: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ -00023c80: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ -00023c90: 696e 6520 2033 3929 0a2a 2072 6f74 6174 ine 39).* rotat │ │ │ │ │ -00023ca0: 696f 6e20 7472 616e 7366 6f72 6d3a 2020 ion transform: │ │ │ │ │ -00023cb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023cc0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ -00023cd0: 7261 6c73 2e20 2028 6c69 6e65 2020 3130 rals. (line 10 │ │ │ │ │ -00023ce0: 290a 2a20 726f 7461 7469 6f6e 2074 7261 ).* rotation tra │ │ │ │ │ -00023cf0: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: │ │ │ │ │ -00023d00: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ -00023d10: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ -00023d20: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00023c70: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +00023c80: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +00023c90: 2020 286c 696e 6520 2033 3929 0a2a 2072 (line 39).* r │ │ │ │ │ +00023ca0: 6f74 6174 696f 6e20 7472 616e 7366 6f72 otation transfor │ │ │ │ │ +00023cb0: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ +00023cc0: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +00023cd0: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line │ │ │ │ │ +00023ce0: 2020 3130 290a 2a20 726f 7461 7469 6f6e 10).* rotation │ │ │ │ │ +00023cf0: 2074 7261 6e73 666f 726d 203c 313e 3a20 transform <1>: │ │ │ │ │ +00023d00: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +00023d10: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +00023d20: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -00023d60: 6c69 6e65 2020 3438 290a 2a20 726f 7461 line 48).* rota │ │ │ │ │ -00023d70: 7469 6f6e 2074 7261 6e73 666f 726d 203c tion transform < │ │ │ │ │ -00023d80: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -00023d90: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ -00023da0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ +00023d50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023d60: 2020 2028 6c69 6e65 2020 3438 290a 2a20 (line 48).* │ │ │ │ │ +00023d70: 726f 7461 7469 6f6e 2074 7261 6e73 666f rotation transfo │ │ │ │ │ +00023d80: 726d 203c 323e 3a20 2020 2020 2020 2020 rm <2>: │ │ │ │ │ +00023d90: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ +00023da0: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2028 6c69 6e65 2020 3538 (line 58 │ │ │ │ │ -00023df0: 290a 2a20 726f 7461 7469 6f6e 2074 7261 ).* rotation tra │ │ │ │ │ -00023e00: 6e73 666f 726d 203c 333e 3a20 2020 2020 nsform <3>: │ │ │ │ │ -00023e10: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ -00023e20: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ -00023e30: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00023de0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00023df0: 2020 3538 290a 2a20 726f 7461 7469 6f6e 58).* rotation │ │ │ │ │ +00023e00: 2074 7261 6e73 666f 726d 203c 333e 3a20 transform <3>: │ │ │ │ │ +00023e10: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +00023e20: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +00023e30: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -00023e70: 6c69 6e65 2020 3738 290a 2a20 726f 7461 line 78).* rota │ │ │ │ │ -00023e80: 7469 6f6e 2074 7261 6e73 666f 726d 203c tion transform < │ │ │ │ │ -00023e90: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: │ │ │ │ │ -00023ea0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ -00023eb0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ +00023e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023e70: 2020 2028 6c69 6e65 2020 3738 290a 2a20 (line 78).* │ │ │ │ │ +00023e80: 726f 7461 7469 6f6e 2074 7261 6e73 666f rotation transfo │ │ │ │ │ +00023e90: 726d 203c 343e 3a20 2020 2020 2020 2020 rm <4>: │ │ │ │ │ +00023ea0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ +00023eb0: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2028 6c69 6e65 2020 3933 (line 93 │ │ │ │ │ -00023f00: 290a 2a20 726f 7461 7469 6f6e 2c20 6365 ).* rotation, ce │ │ │ │ │ -00023f10: 6e74 6572 206f 663a 2020 2020 2020 2020 nter of: │ │ │ │ │ -00023f20: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -00023f30: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -00023f40: 286c 696e 6520 2020 3829 0a2a 2072 6f74 (line 8).* rot │ │ │ │ │ -00023f50: 6174 696f 6e2c 2063 656e 7465 7220 6f66 ation, center of │ │ │ │ │ -00023f60: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00023f70: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep │ │ │ │ │ -00023f80: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line │ │ │ │ │ -00023f90: 2036 290a 2a20 7275 6e6e 696e 6720 736b 6).* running sk │ │ │ │ │ -00023fa0: 6574 6368 3a20 2020 2020 2020 2020 2020 etch: │ │ │ │ │ -00023fb0: 2020 2020 2020 2020 2020 2020 2048 656c Hel │ │ │ │ │ -00023fc0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. │ │ │ │ │ -00023fd0: 2020 286c 696e 6520 2020 3929 0a2a 2073 (line 9).* s │ │ │ │ │ -00023fe0: 6361 6c61 7220 6465 6669 6e69 7469 6f6e calar definition │ │ │ │ │ -00023ff0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00024000: 2020 2020 2020 5377 6570 7420 6f62 6a65 Swept obje │ │ │ │ │ -00024010: 6374 732e 2020 2020 2020 2028 6c69 6e65 cts. (line │ │ │ │ │ -00024020: 2020 3133 290a 2a20 7363 616c 6172 206c 13).* scalar l │ │ │ │ │ -00024030: 6974 6572 616c 3a20 2020 2020 2020 2020 iteral: │ │ │ │ │ -00024040: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00024050: 6361 6c61 7220 6c69 7465 7261 6c73 2e20 calar literals. │ │ │ │ │ -00024060: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00024070: 2073 6361 6c61 7220 7265 6665 7265 6e63 scalar referenc │ │ │ │ │ -00024080: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -00024090: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ -000240a0: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li │ │ │ │ │ -000240b0: 6e65 2020 3133 290a 2a20 7363 616c 6520 ne 13).* scale │ │ │ │ │ -000240c0: 7472 616e 7366 6f72 6d3a 2020 2020 2020 transform: │ │ │ │ │ +00023ef0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00023f00: 2020 3933 290a 2a20 726f 7461 7469 6f6e 93).* rotation │ │ │ │ │ +00023f10: 2c20 6365 6e74 6572 206f 663a 2020 2020 , center of: │ │ │ │ │ +00023f20: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +00023f30: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ +00023f40: 2e20 2020 286c 696e 6520 2020 3829 0a2a . (line 8).* │ │ │ │ │ +00023f50: 2072 6f74 6174 696f 6e2c 2063 656e 7465 rotation, cente │ │ │ │ │ +00023f60: 7220 6f66 203c 313e 3a20 2020 2020 2020 r of <1>: │ │ │ │ │ +00023f70: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s │ │ │ │ │ +00023f80: 7765 6570 732e 2020 2020 2020 2028 6c69 weeps. (li │ │ │ │ │ +00023f90: 6e65 2020 2036 290a 2a20 7275 6e6e 696e ne 6).* runnin │ │ │ │ │ +00023fa0: 6720 736b 6574 6368 3a20 2020 2020 2020 g sketch: │ │ │ │ │ +00023fb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023fc0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. │ │ │ │ │ +00023fd0: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9) │ │ │ │ │ +00023fe0: 0a2a 2073 6361 6c61 7220 6465 6669 6e69 .* scalar defini │ │ │ │ │ +00023ff0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ +00024000: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +00024010: 6f62 6a65 6374 732e 2020 2020 2020 2028 objects. ( │ │ │ │ │ +00024020: 6c69 6e65 2020 3133 290a 2a20 7363 616c line 13).* scal │ │ │ │ │ +00024030: 6172 206c 6974 6572 616c 3a20 2020 2020 ar literal: │ │ │ │ │ +00024040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024050: 2020 2053 6361 6c61 7220 6c69 7465 7261 Scalar litera │ │ │ │ │ +00024060: 6c73 2e20 2020 2020 286c 696e 6520 2020 ls. (line │ │ │ │ │ +00024070: 3629 0a2a 2073 6361 6c61 7220 7265 6665 6).* scalar refe │ │ │ │ │ +00024080: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: │ │ │ │ │ +00024090: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ +000240a0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ +000240b0: 2028 6c69 6e65 2020 3133 290a 2a20 7363 (line 13).* sc │ │ │ │ │ +000240c0: 616c 6520 7472 616e 7366 6f72 6d3a 2020 ale transform: │ │ │ │ │ 000240d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000240e0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -000240f0: 616c 732e 2020 286c 696e 6520 2031 3629 als. (line 16) │ │ │ │ │ -00024100: 0a2a 2073 6361 6c65 2074 7261 6e73 666f .* scale transfo │ │ │ │ │ -00024110: 726d 203c 313e 3a20 2020 2020 2020 2020 rm <1>: │ │ │ │ │ -00024120: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -00024130: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ -00024140: 6c69 6e65 2020 3137 290a 2a20 7363 656e line 17).* scen │ │ │ │ │ -00024150: 6520 6465 7363 7269 7074 696f 6e20 6c61 e description la │ │ │ │ │ -00024160: 6e67 7561 6765 3a20 2020 2020 2020 2020 nguage: │ │ │ │ │ -00024170: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi │ │ │ │ │ -00024180: 6373 2e20 2020 2020 286c 696e 6520 2020 cs. (line │ │ │ │ │ -00024190: 3829 0a2a 2073 6365 6e65 2064 6573 6372 8).* scene descr │ │ │ │ │ -000241a0: 6970 7469 6f6e 206c 616e 6775 6167 6520 iption language │ │ │ │ │ -000241b0: 3c31 3e3a 2020 2020 2020 2020 4275 696c <1>: Buil │ │ │ │ │ -000241c0: 6469 6e67 2061 2064 7261 7769 6e67 2e20 ding a drawing. │ │ │ │ │ -000241d0: 2028 6c69 6e65 2020 2037 290a 2a20 7363 (line 7).* sc │ │ │ │ │ -000241e0: 6f70 652c 2069 6465 6e74 6966 6965 723a ope, identifier: │ │ │ │ │ -000241f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024200: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -00024210: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line │ │ │ │ │ -00024220: 2032 3629 0a2a 2073 636f 7065 2c20 6964 26).* scope, id │ │ │ │ │ -00024230: 656e 7469 6669 6572 203c 313e 3a20 2020 entifier <1>: │ │ │ │ │ -00024240: 2020 2020 2020 2020 2020 2020 2020 426c Bl │ │ │ │ │ -00024250: 6f63 6b73 2e20 2020 2020 2020 2020 2020 ocks. │ │ │ │ │ -00024260: 2020 2028 6c69 6e65 2020 3133 290a 2a20 (line 13).* │ │ │ │ │ -00024270: 7369 6d70 6c65 2064 6566 696e 6974 696f simple definitio │ │ │ │ │ -00024280: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ -00024290: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -000242a0: 6465 6669 6e69 7469 6f6e 732e 0a20 2020 definitions.. │ │ │ │ │ -000242b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000240e0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ +000240f0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ +00024100: 2031 3629 0a2a 2073 6361 6c65 2074 7261 16).* scale tra │ │ │ │ │ +00024110: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: │ │ │ │ │ +00024120: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ +00024130: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ +00024140: 2e20 2028 6c69 6e65 2020 3137 290a 2a20 . (line 17).* │ │ │ │ │ +00024150: 7363 656e 6520 6465 7363 7269 7074 696f scene descriptio │ │ │ │ │ +00024160: 6e20 6c61 6e67 7561 6765 3a20 2020 2020 n language: │ │ │ │ │ +00024170: 2020 2020 2020 204c 616e 6775 6167 6520 Language │ │ │ │ │ +00024180: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin │ │ │ │ │ +00024190: 6520 2020 3829 0a2a 2073 6365 6e65 2064 e 8).* scene d │ │ │ │ │ +000241a0: 6573 6372 6970 7469 6f6e 206c 616e 6775 escription langu │ │ │ │ │ +000241b0: 6167 6520 3c31 3e3a 2020 2020 2020 2020 age <1>: │ │ │ │ │ +000241c0: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi │ │ │ │ │ +000241d0: 6e67 2e20 2028 6c69 6e65 2020 2037 290a ng. (line 7). │ │ │ │ │ +000241e0: 2a20 7363 6f70 652c 2069 6465 6e74 6966 * scope, identif │ │ │ │ │ +000241f0: 6965 723a 2020 2020 2020 2020 2020 2020 ier: │ │ │ │ │ +00024200: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +00024210: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ +00024220: 696e 6520 2032 3629 0a2a 2073 636f 7065 ine 26).* scope │ │ │ │ │ +00024230: 2c20 6964 656e 7469 6669 6572 203c 313e , identifier <1> │ │ │ │ │ +00024240: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00024250: 2020 426c 6f63 6b73 2e20 2020 2020 2020 Blocks. │ │ │ │ │ +00024260: 2020 2020 2020 2028 6c69 6e65 2020 3133 (line 13 │ │ │ │ │ +00024270: 290a 2a20 7369 6d70 6c65 2064 6566 696e ).* simple defin │ │ │ │ │ +00024280: 6974 696f 6e3a 2020 2020 2020 2020 2020 ition: │ │ │ │ │ +00024290: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ +000242a0: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions. │ │ │ │ │ +000242b0: 0a20 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 2028 6c69 6e65 (line │ │ │ │ │ -000242f0: 2020 2036 290a 2a20 736f 6c69 643a 2020 6).* solid: │ │ │ │ │ -00024300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024310: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -00024320: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ -00024330: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00024340: 2073 7065 6369 616c 2061 7267 756d 656e special argumen │ │ │ │ │ -00024350: 7420 7375 6273 7469 7475 7469 6f6e 3a20 t substitution: │ │ │ │ │ -00024360: 2020 2020 2020 2020 5370 6563 6961 6c20 Special │ │ │ │ │ -00024370: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li │ │ │ │ │ -00024380: 6e65 2020 3238 290a 2a20 7370 6563 6961 ne 28).* specia │ │ │ │ │ -00024390: 6c20 6172 6775 6d65 6e74 2073 7562 7374 l argument subst │ │ │ │ │ -000243a0: 6974 7574 696f 6e20 3c31 3e3a 2020 2020 itution <1>: │ │ │ │ │ -000243b0: 2053 7065 6369 616c 732e 2020 2020 2020 Specials. │ │ │ │ │ -000243c0: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10) │ │ │ │ │ -000243d0: 0a2a 2073 7065 6369 616c 206f 626a 6563 .* special objec │ │ │ │ │ -000243e0: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ -000243f0: 2020 2020 2020 2020 2020 5370 6563 6961 Specia │ │ │ │ │ -00024400: 6c20 6f62 6a65 6374 732e 2020 2020 2028 l objects. ( │ │ │ │ │ -00024410: 6c69 6e65 2020 2036 290a 2a20 7370 6563 line 6).* spec │ │ │ │ │ -00024420: 6961 6c20 6f62 6a65 6374 733a 2020 2020 ial objects: │ │ │ │ │ +000242e0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +000242f0: 6c69 6e65 2020 2036 290a 2a20 736f 6c69 line 6).* soli │ │ │ │ │ +00024300: 643a 2020 2020 2020 2020 2020 2020 2020 d: │ │ │ │ │ +00024310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024320: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol │ │ │ │ │ +00024330: 6964 2e20 2020 2020 286c 696e 6520 2020 id. (line │ │ │ │ │ +00024340: 3629 0a2a 2073 7065 6369 616c 2061 7267 6).* special arg │ │ │ │ │ +00024350: 756d 656e 7420 7375 6273 7469 7475 7469 ument substituti │ │ │ │ │ +00024360: 6f6e 3a20 2020 2020 2020 2020 5370 6563 on: Spec │ │ │ │ │ +00024370: 6961 6c20 6f62 6a65 6374 732e 2020 2020 ial objects. │ │ │ │ │ +00024380: 2028 6c69 6e65 2020 3238 290a 2a20 7370 (line 28).* sp │ │ │ │ │ +00024390: 6563 6961 6c20 6172 6775 6d65 6e74 2073 ecial argument s │ │ │ │ │ +000243a0: 7562 7374 6974 7574 696f 6e20 3c31 3e3a ubstitution <1>: │ │ │ │ │ +000243b0: 2020 2020 2053 7065 6369 616c 732e 2020 Specials. │ │ │ │ │ +000243c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +000243d0: 2031 3029 0a2a 2073 7065 6369 616c 206f 10).* special o │ │ │ │ │ +000243e0: 626a 6563 743a 2020 2020 2020 2020 2020 bject: │ │ │ │ │ +000243f0: 2020 2020 2020 2020 2020 2020 2020 5370 Sp │ │ │ │ │ +00024400: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. │ │ │ │ │ +00024410: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00024420: 7370 6563 6961 6c20 6f62 6a65 6374 733a special objects: │ │ │ │ │ 00024430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024440: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ -00024450: 7261 7769 6e67 2e20 286c 696e 6520 2033 rawing. (line 3 │ │ │ │ │ -00024460: 3829 0a2a 2073 706c 6974 7469 6e67 2c20 8).* splitting, │ │ │ │ │ -00024470: 6c69 6e65 2061 6e64 2073 7572 6661 6365 line and surface │ │ │ │ │ -00024480: 3a20 2020 2020 2020 2020 2020 4865 6c6c : Hell │ │ │ │ │ -00024490: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. │ │ │ │ │ -000244a0: 2028 6c69 6e65 2020 3139 290a 2a20 7370 (line 19).* sp │ │ │ │ │ -000244b0: 6c69 7474 696e 672c 206c 696e 6520 616e litting, line an │ │ │ │ │ -000244c0: 6420 7375 7266 6163 6520 3c31 3e3a 2020 d surface <1>: │ │ │ │ │ -000244d0: 2020 2020 2048 6964 6465 6e20 7375 7266 Hidden surf │ │ │ │ │ -000244e0: 6163 6520 7265 6d6f 7661 6c2e 0a20 2020 ace removal.. │ │ │ │ │ -000244f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024440: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ +00024450: 616c 2064 7261 7769 6e67 2e20 286c 696e al drawing. (lin │ │ │ │ │ +00024460: 6520 2033 3829 0a2a 2073 706c 6974 7469 e 38).* splitti │ │ │ │ │ +00024470: 6e67 2c20 6c69 6e65 2061 6e64 2073 7572 ng, line and sur │ │ │ │ │ +00024480: 6661 6365 3a20 2020 2020 2020 2020 2020 face: │ │ │ │ │ +00024490: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ +000244a0: 2020 2020 2028 6c69 6e65 2020 3139 290a (line 19). │ │ │ │ │ +000244b0: 2a20 7370 6c69 7474 696e 672c 206c 696e * splitting, lin │ │ │ │ │ +000244c0: 6520 616e 6420 7375 7266 6163 6520 3c31 e and surface <1 │ │ │ │ │ +000244d0: 3e3a 2020 2020 2020 2048 6964 6465 6e20 >: Hidden │ │ │ │ │ +000244e0: 7375 7266 6163 6520 7265 6d6f 7661 6c2e surface removal. │ │ │ │ │ +000244f0: 0a20 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 2028 6c69 6e65 (line │ │ │ │ │ -00024530: 2020 3231 290a 2a20 7375 6273 7469 7475 21).* substitu │ │ │ │ │ -00024540: 7469 6f6e 2c20 7370 6563 6961 6c3a 2020 tion, special: │ │ │ │ │ -00024550: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00024560: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. │ │ │ │ │ -00024570: 2020 2020 286c 696e 6520 2032 3829 0a2a (line 28).* │ │ │ │ │ -00024580: 2073 7572 6661 6365 3a20 2020 2020 2020 surface: │ │ │ │ │ +00024520: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00024530: 6c69 6e65 2020 3231 290a 2a20 7375 6273 line 21).* subs │ │ │ │ │ +00024540: 7469 7475 7469 6f6e 2c20 7370 6563 6961 titution, specia │ │ │ │ │ +00024550: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: │ │ │ │ │ +00024560: 2020 2053 7065 6369 616c 206f 626a 6563 Special objec │ │ │ │ │ +00024570: 7473 2e20 2020 2020 286c 696e 6520 2032 ts. (line 2 │ │ │ │ │ +00024580: 3829 0a2a 2073 7572 6661 6365 3a20 2020 8).* surface: │ │ │ │ │ 00024590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000245a0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -000245b0: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ -000245c0: 6e65 2020 2036 290a 2a20 7377 6565 703a ne 6).* sweep: │ │ │ │ │ -000245d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000245a0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +000245b0: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ +000245c0: 2028 6c69 6e65 2020 2036 290a 2a20 7377 (line 6).* sw │ │ │ │ │ +000245d0: 6565 703a 2020 2020 2020 2020 2020 2020 eep: │ │ │ │ │ 000245e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000245f0: 2053 7765 7074 206f 626a 6563 7473 2e20 Swept objects. │ │ │ │ │ -00024600: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00024610: 0a2a 2073 7765 7074 2062 6f63 6b3a 2020 .* swept bock: │ │ │ │ │ -00024620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024630: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -00024640: 626c 6f63 6b73 2e20 2020 2020 2020 2028 blocks. ( │ │ │ │ │ -00024650: 6c69 6e65 2020 2036 290a 2a20 7377 6570 line 6).* swep │ │ │ │ │ -00024660: 7420 6c69 6e65 3a20 2020 2020 2020 2020 t line: │ │ │ │ │ +000245f0: 2020 2020 2053 7765 7074 206f 626a 6563 Swept objec │ │ │ │ │ +00024600: 7473 2e20 2020 2020 2020 286c 696e 6520 ts. (line │ │ │ │ │ +00024610: 2020 3629 0a2a 2073 7765 7074 2062 6f63 6).* swept boc │ │ │ │ │ +00024620: 6b3a 2020 2020 2020 2020 2020 2020 2020 k: │ │ │ │ │ +00024630: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +00024640: 6570 7420 626c 6f63 6b73 2e20 2020 2020 ept blocks. │ │ │ │ │ +00024650: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00024660: 7377 6570 7420 6c69 6e65 3a20 2020 2020 swept line: │ │ │ │ │ 00024670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024680: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ -00024690: 7073 2e20 2020 2020 286c 696e 6520 2020 ps. (line │ │ │ │ │ -000246a0: 3629 0a2a 2073 7765 7074 206c 696e 6520 6).* swept line │ │ │ │ │ -000246b0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -000246c0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -000246d0: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. │ │ │ │ │ -000246e0: 2028 6c69 6e65 2020 2036 290a 2a20 7377 (line 6).* sw │ │ │ │ │ -000246f0: 6570 7420 6c69 6e65 203c 323e 3a20 2020 ept line <2>: │ │ │ │ │ -00024700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024710: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -00024720: 2064 7261 7769 6e67 2e20 286c 696e 6520 drawing. (line │ │ │ │ │ -00024730: 2032 3029 0a2a 2073 7765 7074 206f 626a 20).* swept obj │ │ │ │ │ -00024740: 6563 743a 2020 2020 2020 2020 2020 2020 ect: │ │ │ │ │ -00024750: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -00024760: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. │ │ │ │ │ -00024770: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -00024780: 7377 6570 7420 6f62 6a65 6374 203c 313e swept object <1> │ │ │ │ │ -00024790: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000247a0: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. │ │ │ │ │ -000247b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -000247c0: 6520 2020 3929 0a2a 2073 7765 7074 2070 e 9).* swept p │ │ │ │ │ -000247d0: 6f69 6e74 3a20 2020 2020 2020 2020 2020 oint: │ │ │ │ │ +00024680: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline │ │ │ │ │ +00024690: 7377 6565 7073 2e20 2020 2020 286c 696e sweeps. (lin │ │ │ │ │ +000246a0: 6520 2020 3629 0a2a 2073 7765 7074 206c e 6).* swept l │ │ │ │ │ +000246b0: 696e 6520 3c31 3e3a 2020 2020 2020 2020 ine <1>: │ │ │ │ │ +000246c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000246d0: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ +000246e0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +000246f0: 2a20 7377 6570 7420 6c69 6e65 203c 323e * swept line <2> │ │ │ │ │ +00024700: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00024710: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +00024720: 6963 616c 2064 7261 7769 6e67 2e20 286c ical drawing. (l │ │ │ │ │ +00024730: 696e 6520 2032 3029 0a2a 2073 7765 7074 ine 20).* swept │ │ │ │ │ +00024740: 206f 626a 6563 743a 2020 2020 2020 2020 object: │ │ │ │ │ +00024750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024760: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects. │ │ │ │ │ +00024770: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ +00024780: 290a 2a20 7377 6570 7420 6f62 6a65 6374 ).* swept object │ │ │ │ │ +00024790: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000247a0: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep │ │ │ │ │ +000247b0: 732e 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ +000247c0: 286c 696e 6520 2020 3929 0a2a 2073 7765 (line 9).* swe │ │ │ │ │ +000247d0: 7074 2070 6f69 6e74 3a20 2020 2020 2020 pt point: │ │ │ │ │ 000247e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000247f0: 5377 6570 7420 6f62 6a65 6374 732e 2020 Swept objects. │ │ │ │ │ -00024800: 2020 2020 2028 6c69 6e65 2020 3131 290a (line 11). │ │ │ │ │ -00024810: 2a20 7377 6570 7420 706f 696e 7420 3c31 * swept point <1 │ │ │ │ │ -00024820: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00024830: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ -00024840: 6f69 6e74 732e 2020 2020 2020 2020 286c oints. (l │ │ │ │ │ -00024850: 696e 6520 2020 3629 0a2a 2073 7765 7074 ine 6).* swept │ │ │ │ │ -00024860: 2070 6f6c 7967 6f6e 3a20 2020 2020 2020 polygon: │ │ │ │ │ +000247f0: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object │ │ │ │ │ +00024800: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line │ │ │ │ │ +00024810: 3131 290a 2a20 7377 6570 7420 706f 696e 11).* swept poin │ │ │ │ │ +00024820: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: │ │ │ │ │ +00024830: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +00024840: 7074 2070 6f69 6e74 732e 2020 2020 2020 pt points. │ │ │ │ │ +00024850: 2020 286c 696e 6520 2020 3629 0a2a 2073 (line 6).* s │ │ │ │ │ +00024860: 7765 7074 2070 6f6c 7967 6f6e 3a20 2020 wept polygon: │ │ │ │ │ 00024870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024880: 2020 506f 6c79 676f 6e20 7377 6565 7073 Polygon sweeps │ │ │ │ │ -00024890: 2e20 2020 2020 2028 6c69 6e65 2020 2036 . (line 6 │ │ │ │ │ -000248a0: 290a 2a20 7377 6570 7420 706f 6c79 676f ).* swept polygo │ │ │ │ │ -000248b0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ -000248c0: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ -000248d0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ -000248e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00024880: 2020 2020 2020 506f 6c79 676f 6e20 7377 Polygon sw │ │ │ │ │ +00024890: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line │ │ │ │ │ +000248a0: 2020 2036 290a 2a20 7377 6570 7420 706f 6).* swept po │ │ │ │ │ +000248b0: 6c79 676f 6e20 3c31 3e3a 2020 2020 2020 lygon <1>: │ │ │ │ │ +000248c0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +000248d0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +000248e0: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -00024920: 6c69 6e65 2031 3232 290a 2a20 7461 6720 line 122).* tag │ │ │ │ │ -00024930: 6465 6669 6e69 7469 6f6e 3a20 2020 2020 definition: │ │ │ │ │ +00024910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024920: 2020 2028 6c69 6e65 2031 3232 290a 2a20 (line 122).* │ │ │ │ │ +00024930: 7461 6720 6465 6669 6e69 7469 6f6e 3a20 tag definition: │ │ │ │ │ 00024940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024950: 2020 2044 6566 696e 6974 696f 6e73 2e20 Definitions. │ │ │ │ │ -00024960: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ -00024970: 3829 0a2a 2074 6167 2064 6566 696e 6974 8).* tag definit │ │ │ │ │ -00024980: 696f 6e20 3c31 3e3a 2020 2020 2020 2020 ion <1>: │ │ │ │ │ -00024990: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ -000249a0: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions │ │ │ │ │ -000249b0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00024950: 2020 2020 2020 2044 6566 696e 6974 696f Definitio │ │ │ │ │ +00024960: 6e73 2e20 2020 2020 2020 2020 286c 696e ns. (lin │ │ │ │ │ +00024970: 6520 2031 3829 0a2a 2074 6167 2064 6566 e 18).* tag def │ │ │ │ │ +00024980: 696e 6974 696f 6e20 3c31 3e3a 2020 2020 inition <1>: │ │ │ │ │ +00024990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000249a0: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit │ │ │ │ │ +000249b0: 696f 6e73 2e0a 2020 2020 2020 2020 2020 ions.. │ │ │ │ │ 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: 286c 696e 6520 2020 3729 0a2a 2074 6167 (line 7).* tag │ │ │ │ │ -00024a00: 2064 6566 696e 6974 696f 6e20 3c32 3e3a definition <2>: │ │ │ │ │ -00024a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024a20: 2020 2020 436f 6d6d 616e 6420 6c69 6e65 Command line │ │ │ │ │ -00024a30: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ -00024a40: 3533 290a 2a20 7461 6720 7265 6665 7265 53).* tag refere │ │ │ │ │ -00024a50: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: │ │ │ │ │ -00024a60: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ -00024a70: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition │ │ │ │ │ -00024a80: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ +000249f0: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).* │ │ │ │ │ +00024a00: 2074 6167 2064 6566 696e 6974 696f 6e20 tag definition │ │ │ │ │ +00024a10: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00024a20: 2020 2020 2020 2020 436f 6d6d 616e 6420 Command │ │ │ │ │ +00024a30: 6c69 6e65 2e20 2020 2020 2020 2028 6c69 line. (li │ │ │ │ │ +00024a40: 6e65 2020 3533 290a 2a20 7461 6720 7265 ne 53).* tag re │ │ │ │ │ +00024a50: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: │ │ │ │ │ +00024a60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024a70: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini │ │ │ │ │ +00024a80: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. │ │ │ │ │ 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: 2028 6c69 6e65 2020 3230 290a 2a20 7461 (line 20).* ta │ │ │ │ │ -00024ad0: 6720 7265 6665 7265 6e63 6520 3c31 3e3a g reference <1>: │ │ │ │ │ -00024ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024af0: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re │ │ │ │ │ -00024b00: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line │ │ │ │ │ -00024b10: 2031 3929 0a2a 2074 656d 706c 6174 652c 19).* template, │ │ │ │ │ -00024b20: 2064 6f63 756d 656e 743a 2020 2020 2020 document: │ │ │ │ │ -00024b30: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ -00024b40: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ -00024b50: 2020 2028 6c69 6e65 2020 3332 290a 2a20 (line 32).* │ │ │ │ │ -00024b60: 7465 6d70 6c61 7465 2c20 646f 6375 6d65 template, docume │ │ │ │ │ -00024b70: 6e74 203c 313e 3a20 2020 2020 2020 2020 nt <1>: │ │ │ │ │ -00024b80: 2020 2020 2020 2043 6f6d 6d61 6e64 206c Command l │ │ │ │ │ -00024b90: 696e 652e 2020 2020 2020 2020 286c 696e ine. (lin │ │ │ │ │ -00024ba0: 6520 2033 3629 0a2a 2074 6574 7261 6865 e 36).* tetrahe │ │ │ │ │ -00024bb0: 6472 6f6e 3a20 2020 2020 2020 2020 2020 dron: │ │ │ │ │ +00024ac0: 2020 2020 2028 6c69 6e65 2020 3230 290a (line 20). │ │ │ │ │ +00024ad0: 2a20 7461 6720 7265 6665 7265 6e63 6520 * tag reference │ │ │ │ │ +00024ae0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00024af0: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ +00024b00: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l │ │ │ │ │ +00024b10: 696e 6520 2031 3929 0a2a 2074 656d 706c ine 19).* templ │ │ │ │ │ +00024b20: 6174 652c 2064 6f63 756d 656e 743a 2020 ate, document: │ │ │ │ │ +00024b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024b40: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ +00024b50: 2020 2020 2020 2028 6c69 6e65 2020 3332 (line 32 │ │ │ │ │ +00024b60: 290a 2a20 7465 6d70 6c61 7465 2c20 646f ).* template, do │ │ │ │ │ +00024b70: 6375 6d65 6e74 203c 313e 3a20 2020 2020 cument <1>: │ │ │ │ │ +00024b80: 2020 2020 2020 2020 2020 2043 6f6d 6d61 Comma │ │ │ │ │ +00024b90: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. │ │ │ │ │ +00024ba0: 286c 696e 6520 2033 3629 0a2a 2074 6574 (line 36).* tet │ │ │ │ │ +00024bb0: 7261 6865 6472 6f6e 3a20 2020 2020 2020 rahedron: │ │ │ │ │ 00024bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024bd0: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ -00024be0: 2020 2020 2028 6c69 6e65 2020 2039 290a (line 9). │ │ │ │ │ -00024bf0: 2a20 7469 636b 206f 7065 7261 746f 7220 * tick operator │ │ │ │ │ -00024c00: 2827 293a 2020 2020 2020 2020 2020 2020 ('): │ │ │ │ │ -00024c10: 2020 2020 2020 2020 2041 6666 696e 6520 Affine │ │ │ │ │ -00024c20: 6172 6974 686d 6574 6963 2e20 2020 286c arithmetic. (l │ │ │ │ │ -00024c30: 696e 6520 2033 3729 0a2a 2074 6963 6b20 ine 37).* tick │ │ │ │ │ -00024c40: 6f70 6572 6174 6f72 2028 2729 203c 313e operator (') <1> │ │ │ │ │ -00024c50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00024c60: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ -00024c70: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ -00024c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024bd0: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so │ │ │ │ │ +00024be0: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line │ │ │ │ │ +00024bf0: 2039 290a 2a20 7469 636b 206f 7065 7261 9).* tick opera │ │ │ │ │ +00024c00: 746f 7220 2827 293a 2020 2020 2020 2020 tor ('): │ │ │ │ │ +00024c10: 2020 2020 2020 2020 2020 2020 2041 6666 Aff │ │ │ │ │ +00024c20: 696e 6520 6172 6974 686d 6574 6963 2e20 ine arithmetic. │ │ │ │ │ +00024c30: 2020 286c 696e 6520 2033 3729 0a2a 2074 (line 37).* t │ │ │ │ │ +00024c40: 6963 6b20 6f70 6572 6174 6f72 2028 2729 ick operator (') │ │ │ │ │ +00024c50: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00024c60: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ +00024c70: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ +00024c80: 2e0a 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 286c 696e (lin │ │ │ │ │ -00024cc0: 6520 2034 3129 0a2a 2054 696b 5a2f 5047 e 41).* TikZ/PG │ │ │ │ │ -00024cd0: 463a 2020 2020 2020 2020 2020 2020 2020 F: │ │ │ │ │ +00024cb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024cc0: 286c 696e 6520 2034 3129 0a2a 2054 696b (line 41).* Tik │ │ │ │ │ +00024cd0: 5a2f 5047 463a 2020 2020 2020 2020 2020 Z/PGF: │ │ │ │ │ 00024ce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024cf0: 4162 6f75 7420 736b 6574 6368 2e20 2020 About sketch. │ │ │ │ │ -00024d00: 2020 2020 2028 6c69 6e65 2020 3232 290a (line 22). │ │ │ │ │ -00024d10: 2a20 746f 726f 6964 3a20 2020 2020 2020 * toroid: │ │ │ │ │ +00024cf0: 2020 2020 4162 6f75 7420 736b 6574 6368 About sketch │ │ │ │ │ +00024d00: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ +00024d10: 3232 290a 2a20 746f 726f 6964 3a20 2020 22).* toroid: │ │ │ │ │ 00024d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024d30: 2020 2020 2020 2020 204e 6573 7465 6420 Nested │ │ │ │ │ -00024d40: 7377 6565 7073 2e20 2020 2020 2020 286c sweeps. (l │ │ │ │ │ -00024d50: 696e 6520 2020 3829 0a2a 2074 7261 6e73 ine 8).* trans │ │ │ │ │ -00024d60: 666f 726d 3a20 2020 2020 2020 2020 2020 form: │ │ │ │ │ +00024d30: 2020 2020 2020 2020 2020 2020 204e 6573 Nes │ │ │ │ │ +00024d40: 7465 6420 7377 6565 7073 2e20 2020 2020 ted sweeps. │ │ │ │ │ +00024d50: 2020 286c 696e 6520 2020 3829 0a2a 2074 (line 8).* t │ │ │ │ │ +00024d60: 7261 6e73 666f 726d 3a20 2020 2020 2020 ransform: │ │ │ │ │ 00024d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024d80: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ -00024d90: 726d 732e 2020 2028 6c69 6e65 2020 2036 rms. (line 6 │ │ │ │ │ -00024da0: 290a 2a20 7472 616e 7366 6f72 6d20 3c31 ).* transform <1 │ │ │ │ │ -00024db0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00024dc0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ -00024dd0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -00024de0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ +00024d80: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ +00024d90: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line │ │ │ │ │ +00024da0: 2020 2036 290a 2a20 7472 616e 7366 6f72 6).* transfor │ │ │ │ │ +00024db0: 6d20 3c31 3e3a 2020 2020 2020 2020 2020 m <1>: │ │ │ │ │ +00024dc0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +00024dd0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ +00024de0: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. │ │ │ │ │ 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 2028 6c69 6e65 2020 3238 290a (line 28). │ │ │ │ │ -00024e30: 2a20 7472 616e 7366 6f72 6d20 3c32 3e3a * transform <2>: │ │ │ │ │ -00024e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024e50: 2020 2020 2020 2020 2053 7765 6570 732e Sweeps. │ │ │ │ │ -00024e60: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00024e70: 696e 6520 2031 3129 0a2a 2074 7261 6e73 ine 11).* trans │ │ │ │ │ -00024e80: 666f 726d 203c 333e 3a20 2020 2020 2020 form <3>: │ │ │ │ │ +00024e20: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00024e30: 3238 290a 2a20 7472 616e 7366 6f72 6d20 28).* transform │ │ │ │ │ +00024e40: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00024e50: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +00024e60: 6570 732e 2020 2020 2020 2020 2020 2020 eps. │ │ │ │ │ +00024e70: 2020 286c 696e 6520 2031 3129 0a2a 2074 (line 11).* t │ │ │ │ │ +00024e80: 7261 6e73 666f 726d 203c 333e 3a20 2020 ransform <3>: │ │ │ │ │ 00024e90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024ea0: 2020 5265 7065 6174 732e 2020 2020 2020 Repeats. │ │ │ │ │ -00024eb0: 2020 2020 2020 2028 6c69 6e65 2020 2039 (line 9 │ │ │ │ │ -00024ec0: 290a 2a20 7472 616e 7366 6f72 6d20 3c34 ).* transform <4 │ │ │ │ │ -00024ed0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00024ee0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ -00024ef0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ -00024f00: 286c 696e 6520 2020 3729 0a2a 2074 7261 (line 7).* tra │ │ │ │ │ -00024f10: 6e73 666f 726d 2064 6566 696e 6974 696f nsform definitio │ │ │ │ │ -00024f20: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ -00024f30: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ -00024f40: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00024f50: 3335 290a 2a20 7472 616e 7366 6f72 6d20 35).* transform │ │ │ │ │ -00024f60: 6c69 7465 7261 6c3a 2020 2020 2020 2020 literal: │ │ │ │ │ -00024f70: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ -00024f80: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ -00024f90: 2020 286c 696e 6520 2020 3629 0a2a 2074 (line 6).* t │ │ │ │ │ -00024fa0: 7261 6e73 666f 726d 2072 6566 6572 656e ransform referen │ │ │ │ │ -00024fb0: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: │ │ │ │ │ -00024fc0: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ -00024fd0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line │ │ │ │ │ -00024fe0: 2020 3136 290a 2a20 7472 616e 7366 6f72 16).* transfor │ │ │ │ │ -00024ff0: 6d20 7265 6665 7265 6e63 6520 3c31 3e3a m reference <1>: │ │ │ │ │ -00025000: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -00025010: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ -00025020: 2020 2020 286c 696e 6520 2033 3529 0a2a (line 35).* │ │ │ │ │ -00025030: 2074 7261 6e73 666f 726d 2c20 6469 7265 transform, dire │ │ │ │ │ -00025040: 6374 3a20 2020 2020 2020 2020 2020 2020 ct: │ │ │ │ │ -00025050: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ -00025060: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ -00025070: 6e65 2020 3437 290a 2a20 7472 616e 7366 ne 47).* transf │ │ │ │ │ -00025080: 6f72 6d2c 2064 6972 6563 7420 3c31 3e3a orm, direct <1>: │ │ │ │ │ -00025090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000250a0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -000250b0: 616c 732e 2020 286c 696e 6520 2035 3329 als. (line 53) │ │ │ │ │ -000250c0: 0a2a 2074 7261 6e73 666f 726d 2c20 726f .* transform, ro │ │ │ │ │ -000250d0: 7461 7469 6f6e 3a20 2020 2020 2020 2020 tation: │ │ │ │ │ -000250e0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -000250f0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ -00025100: 6c69 6e65 2020 3130 290a 2a20 7472 616e line 10).* tran │ │ │ │ │ -00025110: 7366 6f72 6d2c 2072 6f74 6174 696f 6e20 sform, rotation │ │ │ │ │ -00025120: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00025130: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ -00025140: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ +00024ea0: 2020 2020 2020 5265 7065 6174 732e 2020 Repeats. │ │ │ │ │ +00024eb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00024ec0: 2020 2039 290a 2a20 7472 616e 7366 6f72 9).* transfor │ │ │ │ │ +00024ed0: 6d20 3c34 3e3a 2020 2020 2020 2020 2020 m <4>: │ │ │ │ │ +00024ee0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +00024ef0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +00024f00: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).* │ │ │ │ │ +00024f10: 2074 7261 6e73 666f 726d 2064 6566 696e transform defin │ │ │ │ │ +00024f20: 6974 696f 6e3a 2020 2020 2020 2020 2020 ition: │ │ │ │ │ +00024f30: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ +00024f40: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ +00024f50: 6e65 2020 3335 290a 2a20 7472 616e 7366 ne 35).* transf │ │ │ │ │ +00024f60: 6f72 6d20 6c69 7465 7261 6c3a 2020 2020 orm literal: │ │ │ │ │ +00024f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024f80: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00024f90: 616c 732e 2020 286c 696e 6520 2020 3629 als. (line 6) │ │ │ │ │ +00024fa0: 0a2a 2074 7261 6e73 666f 726d 2072 6566 .* transform ref │ │ │ │ │ +00024fb0: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: │ │ │ │ │ +00024fc0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ +00024fd0: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. ( │ │ │ │ │ +00024fe0: 6c69 6e65 2020 3136 290a 2a20 7472 616e line 16).* tran │ │ │ │ │ +00024ff0: 7366 6f72 6d20 7265 6665 7265 6e63 6520 sform reference │ │ │ │ │ +00025000: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00025010: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +00025020: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3 │ │ │ │ │ +00025030: 3529 0a2a 2074 7261 6e73 666f 726d 2c20 5).* transform, │ │ │ │ │ +00025040: 6469 7265 6374 3a20 2020 2020 2020 2020 direct: │ │ │ │ │ +00025050: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ +00025060: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ +00025070: 2028 6c69 6e65 2020 3437 290a 2a20 7472 (line 47).* tr │ │ │ │ │ +00025080: 616e 7366 6f72 6d2c 2064 6972 6563 7420 ansform, direct │ │ │ │ │ +00025090: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000250a0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ +000250b0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ +000250c0: 2035 3329 0a2a 2074 7261 6e73 666f 726d 53).* transform │ │ │ │ │ +000250d0: 2c20 726f 7461 7469 6f6e 3a20 2020 2020 , rotation: │ │ │ │ │ +000250e0: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ +000250f0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ +00025100: 2e20 2028 6c69 6e65 2020 3130 290a 2a20 . (line 10).* │ │ │ │ │ +00025110: 7472 616e 7366 6f72 6d2c 2072 6f74 6174 transform, rotat │ │ │ │ │ +00025120: 696f 6e20 3c31 3e3a 2020 2020 2020 2020 ion <1>: │ │ │ │ │ +00025130: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ +00025140: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2028 6c69 6e65 2020 3438 (line 48 │ │ │ │ │ -00025190: 290a 2a20 7472 616e 7366 6f72 6d2c 2072 ).* transform, r │ │ │ │ │ -000251a0: 6f74 6174 696f 6e20 3c32 3e3a 2020 2020 otation <2>: │ │ │ │ │ -000251b0: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ -000251c0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ -000251d0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00025180: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00025190: 2020 3438 290a 2a20 7472 616e 7366 6f72 48).* transfor │ │ │ │ │ +000251a0: 6d2c 2072 6f74 6174 696f 6e20 3c32 3e3a m, rotation <2>: │ │ │ │ │ +000251b0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +000251c0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +000251d0: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -00025210: 6c69 6e65 2020 3538 290a 2a20 7472 616e line 58).* tran │ │ │ │ │ -00025220: 7366 6f72 6d2c 2072 6f74 6174 696f 6e20 sform, rotation │ │ │ │ │ -00025230: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ -00025240: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ -00025250: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ +00025200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025210: 2020 2028 6c69 6e65 2020 3538 290a 2a20 (line 58).* │ │ │ │ │ +00025220: 7472 616e 7366 6f72 6d2c 2072 6f74 6174 transform, rotat │ │ │ │ │ +00025230: 696f 6e20 3c33 3e3a 2020 2020 2020 2020 ion <3>: │ │ │ │ │ +00025240: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ +00025250: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2028 6c69 6e65 2020 3738 (line 78 │ │ │ │ │ -000252a0: 290a 2a20 7472 616e 7366 6f72 6d2c 2072 ).* transform, r │ │ │ │ │ -000252b0: 6f74 6174 696f 6e20 3c34 3e3a 2020 2020 otation <4>: │ │ │ │ │ -000252c0: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ -000252d0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ -000252e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00025290: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +000252a0: 2020 3738 290a 2a20 7472 616e 7366 6f72 78).* transfor │ │ │ │ │ +000252b0: 6d2c 2072 6f74 6174 696f 6e20 3c34 3e3a m, rotation <4>: │ │ │ │ │ +000252c0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +000252d0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +000252e0: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -00025320: 6c69 6e65 2020 3933 290a 2a20 7472 616e line 93).* tran │ │ │ │ │ -00025330: 7366 6f72 6d2c 2073 6361 6c65 3a20 2020 sform, scale: │ │ │ │ │ -00025340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025350: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -00025360: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1 │ │ │ │ │ -00025370: 3629 0a2a 2074 7261 6e73 666f 726d 2c20 6).* transform, │ │ │ │ │ -00025380: 7363 616c 6520 3c31 3e3a 2020 2020 2020 scale <1>: │ │ │ │ │ -00025390: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -000253a0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -000253b0: 2028 6c69 6e65 2020 3137 290a 2a20 7472 (line 17).* tr │ │ │ │ │ -000253c0: 616e 7366 6f72 6d2c 2074 7261 6e73 6c61 ansform, transla │ │ │ │ │ -000253d0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ -000253e0: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -000253f0: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line │ │ │ │ │ -00025400: 2034 3729 0a2a 2074 7261 6e73 666f 726d 47).* transform │ │ │ │ │ -00025410: 2c20 7472 616e 736c 6174 696f 6e20 3c31 , translation <1 │ │ │ │ │ -00025420: 3e3a 2020 2020 2020 2020 2020 2020 5472 >: Tr │ │ │ │ │ -00025430: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -00025440: 2e20 2028 6c69 6e65 2020 3135 290a 2a20 . (line 15).* │ │ │ │ │ -00025450: 7472 616e 7366 6f72 6d2c 2074 7261 6e73 transform, trans │ │ │ │ │ -00025460: 6c61 7469 6f6e 203c 323e 3a20 2020 2020 lation <2>: │ │ │ │ │ -00025470: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ -00025480: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical model.. │ │ │ │ │ -00025490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025320: 2020 2028 6c69 6e65 2020 3933 290a 2a20 (line 93).* │ │ │ │ │ +00025330: 7472 616e 7366 6f72 6d2c 2073 6361 6c65 transform, scale │ │ │ │ │ +00025340: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00025350: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +00025360: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +00025370: 6520 2031 3629 0a2a 2074 7261 6e73 666f e 16).* transfo │ │ │ │ │ +00025380: 726d 2c20 7363 616c 6520 3c31 3e3a 2020 rm, scale <1>: │ │ │ │ │ +00025390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000253a0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +000253b0: 6c73 2e20 2028 6c69 6e65 2020 3137 290a ls. (line 17). │ │ │ │ │ +000253c0: 2a20 7472 616e 7366 6f72 6d2c 2074 7261 * transform, tra │ │ │ │ │ +000253d0: 6e73 6c61 7469 6f6e 3a20 2020 2020 2020 nslation: │ │ │ │ │ +000253e0: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +000253f0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ +00025400: 696e 6520 2034 3729 0a2a 2074 7261 6e73 ine 47).* trans │ │ │ │ │ +00025410: 666f 726d 2c20 7472 616e 736c 6174 696f form, translatio │ │ │ │ │ +00025420: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ +00025430: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ +00025440: 7261 6c73 2e20 2028 6c69 6e65 2020 3135 rals. (line 15 │ │ │ │ │ +00025450: 290a 2a20 7472 616e 7366 6f72 6d2c 2074 ).* transform, t │ │ │ │ │ +00025460: 7261 6e73 6c61 7469 6f6e 203c 323e 3a20 ranslation <2>: │ │ │ │ │ +00025470: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +00025480: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +00025490: 0a20 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 2028 6c69 6e65 (line │ │ │ │ │ -000254d0: 2020 3437 290a 2a20 7472 616e 7366 6f72 47).* transfor │ │ │ │ │ -000254e0: 6d2c 2076 6965 773a 2020 2020 2020 2020 m, view: │ │ │ │ │ -000254f0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -00025500: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -00025510: 732e 2020 286c 696e 6520 2032 3529 0a2a s. (line 25).* │ │ │ │ │ -00025520: 2074 7261 6e73 666f 726d 2c20 7669 6577 transform, view │ │ │ │ │ -00025530: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00025540: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ -00025550: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ -00025560: 6e65 2020 3335 290a 2a20 7472 616e 736c ne 35).* transl │ │ │ │ │ -00025570: 6174 696f 6e20 7472 616e 7366 6f72 6d3a ation transform: │ │ │ │ │ -00025580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025590: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -000255a0: 6d73 2e20 2020 286c 696e 6520 2034 3729 ms. (line 47) │ │ │ │ │ -000255b0: 0a2a 2074 7261 6e73 6c61 7469 6f6e 2074 .* translation t │ │ │ │ │ -000255c0: 7261 6e73 666f 726d 203c 313e 3a20 2020 ransform <1>: │ │ │ │ │ -000255d0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -000255e0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ -000255f0: 6c69 6e65 2020 3135 290a 2a20 7472 616e line 15).* tran │ │ │ │ │ -00025600: 736c 6174 696f 6e20 7472 616e 7366 6f72 slation transfor │ │ │ │ │ -00025610: 6d20 3c32 3e3a 2020 2020 2020 2020 2020 m <2>: │ │ │ │ │ -00025620: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ -00025630: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ +000254c0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +000254d0: 6c69 6e65 2020 3437 290a 2a20 7472 616e line 47).* tran │ │ │ │ │ +000254e0: 7366 6f72 6d2c 2076 6965 773a 2020 2020 sform, view: │ │ │ │ │ +000254f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025500: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ +00025510: 6572 616c 732e 2020 286c 696e 6520 2032 erals. (line 2 │ │ │ │ │ +00025520: 3529 0a2a 2074 7261 6e73 666f 726d 2c20 5).* transform, │ │ │ │ │ +00025530: 7669 6577 203c 313e 3a20 2020 2020 2020 view <1>: │ │ │ │ │ +00025540: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ +00025550: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ +00025560: 2028 6c69 6e65 2020 3335 290a 2a20 7472 (line 35).* tr │ │ │ │ │ +00025570: 616e 736c 6174 696f 6e20 7472 616e 7366 anslation transf │ │ │ │ │ +00025580: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ +00025590: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ +000255a0: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line │ │ │ │ │ +000255b0: 2034 3729 0a2a 2074 7261 6e73 6c61 7469 47).* translati │ │ │ │ │ +000255c0: 6f6e 2074 7261 6e73 666f 726d 203c 313e on transform <1> │ │ │ │ │ +000255d0: 3a20 2020 2020 2020 2020 2020 2020 5472 : Tr │ │ │ │ │ +000255e0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ +000255f0: 2e20 2028 6c69 6e65 2020 3135 290a 2a20 . (line 15).* │ │ │ │ │ +00025600: 7472 616e 736c 6174 696f 6e20 7472 616e translation tran │ │ │ │ │ +00025610: 7366 6f72 6d20 3c32 3e3a 2020 2020 2020 sform <2>: │ │ │ │ │ +00025620: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ +00025630: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2028 6c69 6e65 2020 3437 (line 47 │ │ │ │ │ -00025680: 290a 2a20 7472 616e 7370 6172 656e 6379 ).* transparency │ │ │ │ │ -00025690: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000256a0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -000256b0: 7061 7265 6e63 792e 2020 2020 2020 2020 parency. │ │ │ │ │ -000256c0: 286c 696e 6520 2020 3629 0a2a 2074 776f (line 6).* two │ │ │ │ │ -000256d0: 2d6f 7065 7261 6e64 2066 6f72 6d3a 2020 -operand form: │ │ │ │ │ -000256e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000256f0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ -00025700: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ -00025710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025670: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00025680: 2020 3437 290a 2a20 7472 616e 7370 6172 47).* transpar │ │ │ │ │ +00025690: 656e 6379 3a20 2020 2020 2020 2020 2020 ency: │ │ │ │ │ +000256a0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +000256b0: 7261 6e73 7061 7265 6e63 792e 2020 2020 ransparency. │ │ │ │ │ +000256c0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +000256d0: 2074 776f 2d6f 7065 7261 6e64 2066 6f72 two-operand for │ │ │ │ │ +000256e0: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ +000256f0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ +00025700: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ +00025710: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ 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 286c (l │ │ │ │ │ -00025750: 696e 6520 2020 3629 0a2a 2075 6e61 7279 ine 6).* unary │ │ │ │ │ -00025760: 2066 6f72 6d3a 2020 2020 2020 2020 2020 form: │ │ │ │ │ +00025740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025750: 2020 286c 696e 6520 2020 3629 0a2a 2075 (line 6).* u │ │ │ │ │ +00025760: 6e61 7279 2066 6f72 6d3a 2020 2020 2020 nary form: │ │ │ │ │ 00025770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025780: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. │ │ │ │ │ -00025790: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -000257a0: 290a 2a20 7665 6374 6f72 3a20 2020 2020 ).* vector: │ │ │ │ │ +00025780: 2020 2020 2020 556e 6172 7920 666f 726d Unary form │ │ │ │ │ +00025790: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +000257a0: 2020 2036 290a 2a20 7665 6374 6f72 3a20 6).* vector: │ │ │ │ │ 000257b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000257c0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -000257d0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -000257e0: 286c 696e 6520 2034 3829 0a2a 2076 6563 (line 48).* vec │ │ │ │ │ -000257f0: 746f 7220 6465 6669 6e69 7469 6f6e 3a20 tor definition: │ │ │ │ │ -00025800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025810: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ -00025820: 6570 732e 2020 2020 2028 6c69 6e65 2020 eps. (line │ │ │ │ │ -00025830: 3139 290a 2a20 7665 6374 6f72 206c 6974 19).* vector lit │ │ │ │ │ -00025840: 6572 616c 3a20 2020 2020 2020 2020 2020 eral: │ │ │ │ │ -00025850: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi │ │ │ │ │ -00025860: 6e74 2061 6e64 2076 6563 746f 7220 6c69 nt and vector li │ │ │ │ │ -00025870: 7465 7261 6c73 2e0a 2020 2020 2020 2020 terals.. │ │ │ │ │ +000257c0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +000257d0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ +000257e0: 2e20 2020 286c 696e 6520 2034 3829 0a2a . (line 48).* │ │ │ │ │ +000257f0: 2076 6563 746f 7220 6465 6669 6e69 7469 vector definiti │ │ │ │ │ +00025800: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +00025810: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +00025820: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ +00025830: 6e65 2020 3139 290a 2a20 7665 6374 6f72 ne 19).* vector │ │ │ │ │ +00025840: 206c 6974 6572 616c 3a20 2020 2020 2020 literal: │ │ │ │ │ +00025850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025860: 2050 6f69 6e74 2061 6e64 2076 6563 746f Point and vecto │ │ │ │ │ +00025870: 7220 6c69 7465 7261 6c73 2e0a 2020 2020 r literals.. │ │ │ │ │ 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 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -000258c0: 0a2a 2076 6563 746f 7220 7265 6665 7265 .* vector refere │ │ │ │ │ -000258d0: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: │ │ │ │ │ -000258e0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ -000258f0: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. ( │ │ │ │ │ -00025900: 6c69 6e65 2020 3135 290a 2a20 7669 6577 line 15).* view │ │ │ │ │ -00025910: 2074 7261 6e73 666f 726d 3a20 2020 2020 transform: │ │ │ │ │ +000258b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +000258c0: 2020 3629 0a2a 2076 6563 746f 7220 7265 6).* vector re │ │ │ │ │ +000258d0: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: │ │ │ │ │ +000258e0: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ +000258f0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ +00025900: 732e 2028 6c69 6e65 2020 3135 290a 2a20 s. (line 15).* │ │ │ │ │ +00025910: 7669 6577 2074 7261 6e73 666f 726d 3a20 view transform: │ │ │ │ │ 00025920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025930: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -00025940: 6572 616c 732e 2020 286c 696e 6520 2032 erals. (line 2 │ │ │ │ │ -00025950: 3529 0a2a 2076 6965 7720 7472 616e 7366 5).* view transf │ │ │ │ │ -00025960: 6f72 6d20 3c31 3e3a 2020 2020 2020 2020 orm <1>: │ │ │ │ │ -00025970: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ -00025980: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ -00025990: 2028 6c69 6e65 2020 3335 290a 2a20 7669 (line 35).* vi │ │ │ │ │ -000259a0: 7274 7561 6c20 6361 6d65 7261 3a20 2020 rtual camera: │ │ │ │ │ -000259b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000259c0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -000259d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -000259e0: 2038 3129 0a2a 2077 6869 7465 2073 7061 81).* white spa │ │ │ │ │ -000259f0: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: │ │ │ │ │ -00025a00: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ -00025a10: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. │ │ │ │ │ -00025a20: 2020 2028 6c69 6e65 2020 3235 290a 2a20 (line 25).* │ │ │ │ │ -00025a30: 7768 6974 6520 7370 6163 6520 3c31 3e3a white space <1>: │ │ │ │ │ -00025a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025a50: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ -00025a60: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin │ │ │ │ │ -00025a70: 6520 2032 3929 0a2a 2077 6869 7465 2073 e 29).* white s │ │ │ │ │ -00025a80: 7061 6365 203c 323e 3a20 2020 2020 2020 pace <2>: │ │ │ │ │ +00025930: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +00025940: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +00025950: 6520 2032 3529 0a2a 2076 6965 7720 7472 e 25).* view tr │ │ │ │ │ +00025960: 616e 7366 6f72 6d20 3c31 3e3a 2020 2020 ansform <1>: │ │ │ │ │ +00025970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025980: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +00025990: 6c73 2e20 2028 6c69 6e65 2020 3335 290a ls. (line 35). │ │ │ │ │ +000259a0: 2a20 7669 7274 7561 6c20 6361 6d65 7261 * virtual camera │ │ │ │ │ +000259b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000259c0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ +000259d0: 772e 2020 2020 2020 2020 2020 2020 286c w. (l │ │ │ │ │ +000259e0: 696e 6520 2038 3129 0a2a 2077 6869 7465 ine 81).* white │ │ │ │ │ +000259f0: 2073 7061 6365 3a20 2020 2020 2020 2020 space: │ │ │ │ │ +00025a00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025a10: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli │ │ │ │ │ +00025a20: 642e 2020 2020 2028 6c69 6e65 2020 3235 d. (line 25 │ │ │ │ │ +00025a30: 290a 2a20 7768 6974 6520 7370 6163 6520 ).* white space │ │ │ │ │ +00025a40: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00025a50: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ +00025a60: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ +00025a70: 286c 696e 6520 2032 3929 0a2a 2077 6869 (line 29).* whi │ │ │ │ │ +00025a80: 7465 2073 7061 6365 203c 323e 3a20 2020 te space <2>: │ │ │ │ │ 00025a90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025aa0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ -00025ab0: 732e 2020 2028 6c69 6e65 2020 3332 290a s. (line 32). │ │ │ │ │ -00025ac0: 2a20 7768 6974 6520 7370 6163 6520 3c33 * white space <3 │ │ │ │ │ -00025ad0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00025ae0: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ -00025af0: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l │ │ │ │ │ -00025b00: 696e 6520 2031 3629 0a0a 0a1f 0a54 6167 ine 16).....Tag │ │ │ │ │ -00025b10: 2054 6162 6c65 3a0a 4e6f 6465 3a20 546f Table:.Node: To │ │ │ │ │ -00025b20: 707f 3131 3637 0a4e 6f64 653a 2041 626f p.1167.Node: Abo │ │ │ │ │ -00025b30: 7574 2073 6b65 7463 687f 3731 3930 0a4e ut sketch.7190.N │ │ │ │ │ -00025b40: 6f64 653a 2052 6570 6f72 7469 6e67 2062 ode: Reporting b │ │ │ │ │ -00025b50: 7567 737f 3834 3532 0a4e 6f64 653a 2043 ugs.8452.Node: C │ │ │ │ │ -00025b60: 6f6e 7472 6962 7574 696f 6e73 7f39 3439 ontributions.949 │ │ │ │ │ -00025b70: 310a 5265 663a 2053 6f6c 6964 2063 6f69 1.Ref: Solid coi │ │ │ │ │ -00025b80: 6c20 6578 616d 706c 657f 3939 3039 0a4e l example.9909.N │ │ │ │ │ -00025b90: 6f64 653a 2049 6e74 726f 6475 6374 696f ode: Introductio │ │ │ │ │ -00025ba0: 6e20 6279 2065 7861 6d70 6c65 7f39 3931 n by example.991 │ │ │ │ │ -00025bb0: 300a 4e6f 6465 3a20 4865 6c6c 6f20 776f 0.Node: Hello wo │ │ │ │ │ -00025bc0: 726c 647f 3130 3934 340a 5265 663a 2048 rld.10944.Ref: H │ │ │ │ │ -00025bd0: 656c 6c6f 2077 6f72 6c64 2d46 6f6f 746e ello world-Footn │ │ │ │ │ -00025be0: 6f74 652d 317f 3133 3133 360a 4e6f 6465 ote-1.13136.Node │ │ │ │ │ -00025bf0: 3a20 4472 6177 696e 6720 6f70 7469 6f6e : Drawing option │ │ │ │ │ -00025c00: 737f 3133 3139 350a 4e6f 6465 3a20 4472 s.13195.Node: Dr │ │ │ │ │ -00025c10: 6177 696e 6720 6120 736f 6c69 647f 3134 awing a solid.14 │ │ │ │ │ -00025c20: 3338 310a 5265 663a 2048 656c 6978 2077 381.Ref: Helix w │ │ │ │ │ -00025c30: 6974 6820 6375 6c6c 2073 6574 2066 616c ith cull set fal │ │ │ │ │ -00025c40: 7365 2074 6865 6e20 7472 7565 7f31 3637 se then true.167 │ │ │ │ │ -00025c50: 3534 0a4e 6f64 653a 2053 7065 6369 616c 54.Node: Special │ │ │ │ │ -00025c60: 206f 626a 6563 7473 7f31 3732 3837 0a4e objects.17287.N │ │ │ │ │ -00025c70: 6f64 653a 204f 626a 6563 7420 7472 616e ode: Object tran │ │ │ │ │ -00025c80: 7366 6f72 6d73 7f32 3033 3835 0a52 6566 sforms.20385.Ref │ │ │ │ │ -00025c90: 3a20 5269 6768 7420 6861 6e64 2072 756c : Right hand rul │ │ │ │ │ -00025ca0: 657f 3232 3634 320a 4e6f 6465 3a20 5265 e.22642.Node: Re │ │ │ │ │ -00025cb0: 7065 6174 6564 206f 626a 6563 7473 7f32 peated objects.2 │ │ │ │ │ -00025cc0: 3330 3930 0a4e 6f64 653a 2053 7765 7074 3090.Node: Swept │ │ │ │ │ -00025cd0: 206f 626a 6563 7473 7f32 3336 3439 0a4e objects.23649.N │ │ │ │ │ -00025ce0: 6f64 653a 2050 6f69 6e74 2073 7765 6570 ode: Point sweep │ │ │ │ │ -00025cf0: 737f 3234 3736 320a 4e6f 6465 3a20 506f s.24762.Node: Po │ │ │ │ │ -00025d00: 6c79 6c69 6e65 2073 7765 6570 737f 3235 lyline sweeps.25 │ │ │ │ │ -00025d10: 3737 340a 4e6f 6465 3a20 4e65 7374 6564 774.Node: Nested │ │ │ │ │ -00025d20: 2073 7765 6570 737f 3236 3731 300a 4e6f sweeps.26710.No │ │ │ │ │ -00025d30: 6465 3a20 506f 6c79 676f 6e20 7377 6565 de: Polygon swee │ │ │ │ │ -00025d40: 7073 7f32 3830 3232 0a4e 6f64 653a 2050 ps.28022.Node: P │ │ │ │ │ -00025d50: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ -00025d60: 6974 6820 636c 6f73 7572 657f 3238 3437 ith closure.2847 │ │ │ │ │ -00025d70: 350a 4e6f 6465 3a20 4166 6669 6e65 2061 5.Node: Affine a │ │ │ │ │ -00025d80: 7269 7468 6d65 7469 637f 3330 3137 340a rithmetic.30174. │ │ │ │ │ -00025d90: 4e6f 6465 3a20 4d6f 7265 2074 6f20 6c65 Node: More to le │ │ │ │ │ -00025da0: 6172 6e7f 3332 3131 320a 4e6f 6465 3a20 arn.32112.Node: │ │ │ │ │ -00025db0: 496e 7075 7420 6c61 6e67 7561 6765 7f33 Input language.3 │ │ │ │ │ -00025dc0: 3235 3032 0a4e 6f64 653a 204c 616e 6775 2502.Node: Langu │ │ │ │ │ -00025dd0: 6167 6520 6261 7369 6373 7f33 3239 3637 age basics.32967 │ │ │ │ │ -00025de0: 0a4e 6f64 653a 2049 6465 6e74 6966 6965 .Node: Identifie │ │ │ │ │ -00025df0: 7273 7f33 3434 3035 0a4e 6f64 653a 204b rs.34405.Node: K │ │ │ │ │ -00025e00: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved │ │ │ │ │ -00025e10: 776f 7264 737f 3334 3939 360a 4e6f 6465 words.34996.Node │ │ │ │ │ -00025e20: 3a20 4c69 7465 7261 6c73 7f33 3538 3639 : Literals.35869 │ │ │ │ │ -00025e30: 0a4e 6f64 653a 2053 6361 6c61 7220 6c69 .Node: Scalar li │ │ │ │ │ -00025e40: 7465 7261 6c73 7f33 3633 3433 0a4e 6f64 terals.36343.Nod │ │ │ │ │ -00025e50: 653a 2050 6f69 6e74 2061 6e64 2076 6563 e: Point and vec │ │ │ │ │ -00025e60: 746f 7220 6c69 7465 7261 6c73 7f33 3637 tor literals.367 │ │ │ │ │ -00025e70: 3234 0a4e 6f64 653a 2054 7261 6e73 666f 24.Node: Transfo │ │ │ │ │ -00025e80: 726d 206c 6974 6572 616c 737f 3337 3130 rm literals.3710 │ │ │ │ │ -00025e90: 310a 4e6f 6465 3a20 4172 6974 686d 6574 1.Node: Arithmet │ │ │ │ │ -00025ea0: 6963 7f34 3231 3831 0a4e 6f64 653a 2054 ic.42181.Node: T │ │ │ │ │ -00025eb0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ -00025ec0: 7279 2920 666f 726d 737f 3432 3534 390a ry) forms.42549. │ │ │ │ │ -00025ed0: 4e6f 6465 3a20 556e 6172 7920 666f 726d Node: Unary form │ │ │ │ │ -00025ee0: 737f 3436 3233 300a 4e6f 6465 3a20 4f70 s.46230.Node: Op │ │ │ │ │ -00025ef0: 7469 6f6e 737f 3437 3537 380a 4e6f 6465 tions.47578.Node │ │ │ │ │ -00025f00: 3a20 5053 5472 6963 6b73 206f 7074 696f : PSTricks optio │ │ │ │ │ -00025f10: 6e73 7f34 3832 3937 0a4e 6f64 653a 2054 ns.48297.Node: T │ │ │ │ │ -00025f20: 696b 5a2f 5047 4620 6f70 7469 6f6e 737f ikZ/PGF options. │ │ │ │ │ -00025f30: 3439 3430 390a 4e6f 6465 3a20 446f 7473 49409.Node: Dots │ │ │ │ │ -00025f40: 2069 6e20 5469 6b5a 2f50 4746 7f35 3131 in TikZ/PGF.511 │ │ │ │ │ -00025f50: 3530 0a4e 6f64 653a 2054 696b 5a2f 5047 50.Node: TikZ/PG │ │ │ │ │ -00025f60: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ -00025f70: 7479 6c65 737f 3531 3737 310a 5265 663a tyles.51771.Ref: │ │ │ │ │ -00025f80: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d │ │ │ │ │ -00025f90: 6566 696e 6564 2073 7479 6c65 732d 466f efined styles-Fo │ │ │ │ │ -00025fa0: 6f74 6e6f 7465 2d31 7f35 3338 3239 0a4e otnote-1.53829.N │ │ │ │ │ -00025fb0: 6f64 653a 2054 7261 6e73 7061 7265 6e63 ode: Transparenc │ │ │ │ │ -00025fc0: 797f 3533 3838 350a 4e6f 6465 3a20 496e y.53885.Node: In │ │ │ │ │ -00025fd0: 7465 726e 616c 206f 7074 696f 6e73 7f35 ternal options.5 │ │ │ │ │ -00025fe0: 3437 3333 0a4e 6f64 653a 2044 7261 7761 4733.Node: Drawa │ │ │ │ │ -00025ff0: 626c 6573 7f35 3635 3034 0a4e 6f64 653a bles.56504.Node: │ │ │ │ │ -00026000: 2044 6f74 737f 3537 3530 330a 4e6f 6465 Dots.57503.Node │ │ │ │ │ -00026010: 3a20 4c69 6e65 737f 3537 3734 330a 4e6f : Lines.57743.No │ │ │ │ │ -00026020: 6465 3a20 4375 7276 6573 7f35 3739 3832 de: Curves.57982 │ │ │ │ │ -00026030: 0a4e 6f64 653a 2050 6f6c 7967 6f6e 737f .Node: Polygons. │ │ │ │ │ -00026040: 3538 3239 320a 4e6f 6465 3a20 5370 6563 58292.Node: Spec │ │ │ │ │ -00026050: 6961 6c73 7f35 3837 3239 0a4e 6f64 653a ials.58729.Node: │ │ │ │ │ -00026060: 2053 7765 6570 737f 3631 3130 340a 4e6f Sweeps.61104.No │ │ │ │ │ -00026070: 6465 3a20 5377 6570 7420 706f 696e 7473 de: Swept points │ │ │ │ │ -00026080: 7f36 3233 3837 0a4e 6f64 653a 2053 7765 .62387.Node: Swe │ │ │ │ │ -00026090: 7074 206c 696e 6573 7f36 3334 3836 0a4e pt lines.63486.N │ │ │ │ │ -000260a0: 6f64 653a 2053 7765 7074 2070 6f6c 7967 ode: Swept polyg │ │ │ │ │ -000260b0: 6f6e 737f 3636 3131 320a 4e6f 6465 3a20 ons.66112.Node: │ │ │ │ │ -000260c0: 5377 6570 7420 626c 6f63 6b73 7f36 3736 Swept blocks.676 │ │ │ │ │ -000260d0: 3835 0a4e 6f64 653a 2053 7765 6570 2066 85.Node: Sweep f │ │ │ │ │ -000260e0: 6163 6520 7370 6c69 7474 696e 677f 3638 ace splitting.68 │ │ │ │ │ -000260f0: 3235 330a 4e6f 6465 3a20 426c 6f63 6b73 253.Node: Blocks │ │ │ │ │ -00026100: 7f36 3838 3539 0a4e 6f64 653a 2052 6570 .68859.Node: Rep │ │ │ │ │ -00026110: 6561 7473 7f36 3934 3634 0a4e 6f64 653a eats.69464.Node: │ │ │ │ │ -00026120: 2050 7574 737f 3730 3131 340a 4e6f 6465 Puts.70114.Node │ │ │ │ │ -00026130: 3a20 4465 6669 6e69 7469 6f6e 737f 3730 : Definitions.70 │ │ │ │ │ -00026140: 3239 390a 4e6f 6465 3a20 466f 726d 7320 299.Node: Forms │ │ │ │ │ -00026150: 6f66 2064 6566 696e 6974 696f 6e73 7f37 of definitions.7 │ │ │ │ │ -00026160: 3135 3435 0a4e 6f64 653a 2046 6f72 6d73 1545.Node: Forms │ │ │ │ │ -00026170: 206f 6620 7265 6665 7265 6e63 6573 7f37 of references.7 │ │ │ │ │ -00026180: 3234 3732 0a4e 6f64 653a 2047 6c6f 6261 2472.Node: Globa │ │ │ │ │ -00026190: 6c20 656e 7669 726f 6e6d 656e 747f 3733 l environment.73 │ │ │ │ │ -000261a0: 3532 330a 4e6f 6465 3a20 476c 6f62 616c 523.Node: Global │ │ │ │ │ -000261b0: 206f 7074 696f 6e73 7f37 3434 3235 0a4e options.74425.N │ │ │ │ │ -000261c0: 6f64 653a 2043 616d 6572 617f 3734 3938 ode: Camera.7498 │ │ │ │ │ -000261d0: 380a 4e6f 6465 3a20 5069 6374 7572 6520 8.Node: Picture │ │ │ │ │ -000261e0: 626f 787f 3735 3339 390a 4e6f 6465 3a20 box.75399.Node: │ │ │ │ │ -000261f0: 4672 616d 657f 3736 3435 300a 4e6f 6465 Frame.76450.Node │ │ │ │ │ -00026200: 3a20 4c61 6e67 7561 6765 7f37 3639 3138 : Language.76918 │ │ │ │ │ -00026210: 0a4e 6f64 653a 2042 7569 6c64 696e 6720 .Node: Building │ │ │ │ │ -00026220: 6120 6472 6177 696e 677f 3737 3934 310a a drawing.77941. │ │ │ │ │ -00026230: 4e6f 6465 3a20 4f76 6572 7669 6577 7f37 Node: Overview.7 │ │ │ │ │ -00026240: 3837 3530 0a4e 6f64 653a 2041 2074 6563 8750.Node: A tec │ │ │ │ │ -00026250: 686e 6963 616c 2064 7261 7769 6e67 7f38 hnical drawing.8 │ │ │ │ │ -00026260: 3632 3834 0a4e 6f64 653a 2041 2068 6965 6284.Node: A hie │ │ │ │ │ -00026270: 7261 7263 6869 6361 6c20 6d6f 6465 6c7f rarchical model. │ │ │ │ │ -00026280: 3931 3039 390a 4e6f 6465 3a20 4361 7665 91099.Node: Cave │ │ │ │ │ -00026290: 6174 737f 3937 3535 340a 4e6f 6465 3a20 ats.97554.Node: │ │ │ │ │ -000262a0: 4c69 6d69 7473 206f 6e20 6572 726f 7220 Limits on error │ │ │ │ │ -000262b0: 6465 7465 6374 696f 6e7f 3938 3133 360a detection.98136. │ │ │ │ │ -000262c0: 4e6f 6465 3a20 436c 6970 7069 6e67 7f39 Node: Clipping.9 │ │ │ │ │ -000262d0: 3936 3232 0a4e 6f64 653a 2048 6964 6465 9622.Node: Hidde │ │ │ │ │ -000262e0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ -000262f0: 6c7f 3130 3030 3339 0a52 6566 3a20 4869 l.100039.Ref: Hi │ │ │ │ │ -00026300: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem │ │ │ │ │ -00026310: 6f76 616c 2d46 6f6f 746e 6f74 652d 317f oval-Footnote-1. │ │ │ │ │ -00026320: 3130 3134 3631 0a52 6566 3a20 4869 6464 101461.Ref: Hidd │ │ │ │ │ -00026330: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov │ │ │ │ │ -00026340: 616c 2d46 6f6f 746e 6f74 652d 327f 3130 al-Footnote-2.10 │ │ │ │ │ -00026350: 3136 3430 0a4e 6f64 653a 2053 7461 7469 1640.Node: Stati │ │ │ │ │ -00026360: 7374 6963 737f 3130 3230 3236 0a4e 6f64 stics.102026.Nod │ │ │ │ │ -00026370: 653a 2042 7567 7320 616e 6420 616e 6f6d e: Bugs and anom │ │ │ │ │ -00026380: 616c 6965 737f 3130 3333 3233 0a52 6566 alies.103323.Ref │ │ │ │ │ -00026390: 3a20 4275 6773 2061 6e64 2061 6e6f 6d61 : Bugs and anoma │ │ │ │ │ -000263a0: 6c69 6573 2d46 6f6f 746e 6f74 652d 317f lies-Footnote-1. │ │ │ │ │ -000263b0: 3130 3531 3832 0a4e 6f64 653a 2043 6f6d 105182.Node: Com │ │ │ │ │ -000263c0: 6d61 6e64 206c 696e 657f 3130 3532 3831 mand line.105281 │ │ │ │ │ -000263d0: 0a4e 6f64 653a 2049 6e73 7461 6c6c 696e .Node: Installin │ │ │ │ │ -000263e0: 6720 736b 6574 6368 7f31 3038 3034 310a g sketch.108041. │ │ │ │ │ -000263f0: 4e6f 6465 3a20 496e 6465 7820 6f66 2073 Node: Index of s │ │ │ │ │ -00026400: 796e 7461 787f 3131 3131 3234 0a4e 6f64 yntax.111124.Nod │ │ │ │ │ -00026410: 653a 2049 6e64 6578 7f31 3238 3439 340a e: Index.128494. │ │ │ │ │ -00026420: 1f0a 456e 6420 5461 6720 5461 626c 650a ..End Tag Table. │ │ │ │ │ -00026430: 0a1f 0a4c 6f63 616c 2056 6172 6961 626c ...Local Variabl │ │ │ │ │ -00026440: 6573 3a0a 636f 6469 6e67 3a20 7574 662d es:.coding: utf- │ │ │ │ │ -00026450: 380a 456e 643a 0a 8.End:. │ │ │ │ │ +00025aa0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ +00025ab0: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line │ │ │ │ │ +00025ac0: 3332 290a 2a20 7768 6974 6520 7370 6163 32).* white spac │ │ │ │ │ +00025ad0: 6520 3c33 3e3a 2020 2020 2020 2020 2020 e <3>: │ │ │ │ │ +00025ae0: 2020 2020 2020 2020 2020 2020 204c 616e Lan │ │ │ │ │ +00025af0: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. │ │ │ │ │ +00025b00: 2020 286c 696e 6520 2031 3629 0a0a 0a1f (line 16).... │ │ │ │ │ +00025b10: 0a54 6167 2054 6162 6c65 3a0a 4e6f 6465 .Tag Table:.Node │ │ │ │ │ +00025b20: 3a20 546f 707f 3131 3639 0a4e 6f64 653a : Top.1169.Node: │ │ │ │ │ +00025b30: 2041 626f 7574 2073 6b65 7463 687f 3731 About sketch.71 │ │ │ │ │ +00025b40: 3934 0a4e 6f64 653a 2052 6570 6f72 7469 94.Node: Reporti │ │ │ │ │ +00025b50: 6e67 2062 7567 737f 3834 3536 0a4e 6f64 ng bugs.8456.Nod │ │ │ │ │ +00025b60: 653a 2043 6f6e 7472 6962 7574 696f 6e73 e: Contributions │ │ │ │ │ +00025b70: 7f39 3439 350a 5265 663a 2053 6f6c 6964 .9495.Ref: Solid │ │ │ │ │ +00025b80: 2063 6f69 6c20 6578 616d 706c 657f 3939 coil example.99 │ │ │ │ │ +00025b90: 3133 0a4e 6f64 653a 2049 6e74 726f 6475 13.Node: Introdu │ │ │ │ │ +00025ba0: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example │ │ │ │ │ +00025bb0: 7f39 3931 340a 4e6f 6465 3a20 4865 6c6c .9914.Node: Hell │ │ │ │ │ +00025bc0: 6f20 776f 726c 647f 3130 3934 380a 5265 o world.10948.Re │ │ │ │ │ +00025bd0: 663a 2048 656c 6c6f 2077 6f72 6c64 2d46 f: Hello world-F │ │ │ │ │ +00025be0: 6f6f 746e 6f74 652d 317f 3133 3134 300a ootnote-1.13140. │ │ │ │ │ +00025bf0: 4e6f 6465 3a20 4472 6177 696e 6720 6f70 Node: Drawing op │ │ │ │ │ +00025c00: 7469 6f6e 737f 3133 3139 390a 4e6f 6465 tions.13199.Node │ │ │ │ │ +00025c10: 3a20 4472 6177 696e 6720 6120 736f 6c69 : Drawing a soli │ │ │ │ │ +00025c20: 647f 3134 3338 350a 5265 663a 2048 656c d.14385.Ref: Hel │ │ │ │ │ +00025c30: 6978 2077 6974 6820 6375 6c6c 2073 6574 ix with cull set │ │ │ │ │ +00025c40: 2066 616c 7365 2074 6865 6e20 7472 7565 false then true │ │ │ │ │ +00025c50: 7f31 3637 3538 0a4e 6f64 653a 2053 7065 .16758.Node: Spe │ │ │ │ │ +00025c60: 6369 616c 206f 626a 6563 7473 7f31 3732 cial objects.172 │ │ │ │ │ +00025c70: 3931 0a4e 6f64 653a 204f 626a 6563 7420 91.Node: Object │ │ │ │ │ +00025c80: 7472 616e 7366 6f72 6d73 7f32 3033 3839 transforms.20389 │ │ │ │ │ +00025c90: 0a52 6566 3a20 5269 6768 7420 6861 6e64 .Ref: Right hand │ │ │ │ │ +00025ca0: 2072 756c 657f 3232 3634 360a 4e6f 6465 rule.22646.Node │ │ │ │ │ +00025cb0: 3a20 5265 7065 6174 6564 206f 626a 6563 : Repeated objec │ │ │ │ │ +00025cc0: 7473 7f32 3330 3934 0a4e 6f64 653a 2053 ts.23094.Node: S │ │ │ │ │ +00025cd0: 7765 7074 206f 626a 6563 7473 7f32 3336 wept objects.236 │ │ │ │ │ +00025ce0: 3533 0a4e 6f64 653a 2050 6f69 6e74 2073 53.Node: Point s │ │ │ │ │ +00025cf0: 7765 6570 737f 3234 3736 360a 4e6f 6465 weeps.24766.Node │ │ │ │ │ +00025d00: 3a20 506f 6c79 6c69 6e65 2073 7765 6570 : Polyline sweep │ │ │ │ │ +00025d10: 737f 3235 3737 380a 4e6f 6465 3a20 4e65 s.25778.Node: Ne │ │ │ │ │ +00025d20: 7374 6564 2073 7765 6570 737f 3236 3731 sted sweeps.2671 │ │ │ │ │ +00025d30: 340a 4e6f 6465 3a20 506f 6c79 676f 6e20 4.Node: Polygon │ │ │ │ │ +00025d40: 7377 6565 7073 7f32 3830 3236 0a4e 6f64 sweeps.28026.Nod │ │ │ │ │ +00025d50: 653a 2050 6f6c 796c 696e 6520 7377 6565 e: Polyline swee │ │ │ │ │ +00025d60: 7073 2077 6974 6820 636c 6f73 7572 657f ps with closure. │ │ │ │ │ +00025d70: 3238 3437 390a 4e6f 6465 3a20 4166 6669 28479.Node: Affi │ │ │ │ │ +00025d80: 6e65 2061 7269 7468 6d65 7469 637f 3330 ne arithmetic.30 │ │ │ │ │ +00025d90: 3137 380a 4e6f 6465 3a20 4d6f 7265 2074 178.Node: More t │ │ │ │ │ +00025da0: 6f20 6c65 6172 6e7f 3332 3131 360a 4e6f o learn.32116.No │ │ │ │ │ +00025db0: 6465 3a20 496e 7075 7420 6c61 6e67 7561 de: Input langua │ │ │ │ │ +00025dc0: 6765 7f33 3235 3036 0a4e 6f64 653a 204c ge.32506.Node: L │ │ │ │ │ +00025dd0: 616e 6775 6167 6520 6261 7369 6373 7f33 anguage basics.3 │ │ │ │ │ +00025de0: 3239 3731 0a4e 6f64 653a 2049 6465 6e74 2971.Node: Ident │ │ │ │ │ +00025df0: 6966 6965 7273 7f33 3434 3039 0a4e 6f64 ifiers.34409.Nod │ │ │ │ │ +00025e00: 653a 204b 6579 2061 6e64 2072 6573 6572 e: Key and reser │ │ │ │ │ +00025e10: 7665 6420 776f 7264 737f 3335 3030 300a ved words.35000. │ │ │ │ │ +00025e20: 4e6f 6465 3a20 4c69 7465 7261 6c73 7f33 Node: Literals.3 │ │ │ │ │ +00025e30: 3538 3733 0a4e 6f64 653a 2053 6361 6c61 5873.Node: Scala │ │ │ │ │ +00025e40: 7220 6c69 7465 7261 6c73 7f33 3633 3437 r literals.36347 │ │ │ │ │ +00025e50: 0a4e 6f64 653a 2050 6f69 6e74 2061 6e64 .Node: Point and │ │ │ │ │ +00025e60: 2076 6563 746f 7220 6c69 7465 7261 6c73 vector literals │ │ │ │ │ +00025e70: 7f33 3637 3238 0a4e 6f64 653a 2054 7261 .36728.Node: Tra │ │ │ │ │ +00025e80: 6e73 666f 726d 206c 6974 6572 616c 737f nsform literals. │ │ │ │ │ +00025e90: 3337 3130 350a 4e6f 6465 3a20 4172 6974 37105.Node: Arit │ │ │ │ │ +00025ea0: 686d 6574 6963 7f34 3231 3835 0a4e 6f64 hmetic.42185.Nod │ │ │ │ │ +00025eb0: 653a 2054 776f 2d6f 7065 7261 6e64 2028 e: Two-operand ( │ │ │ │ │ +00025ec0: 6269 6e61 7279 2920 666f 726d 737f 3432 binary) forms.42 │ │ │ │ │ +00025ed0: 3535 330a 4e6f 6465 3a20 556e 6172 7920 553.Node: Unary │ │ │ │ │ +00025ee0: 666f 726d 737f 3436 3233 340a 4e6f 6465 forms.46234.Node │ │ │ │ │ +00025ef0: 3a20 4f70 7469 6f6e 737f 3437 3538 320a : Options.47582. │ │ │ │ │ +00025f00: 4e6f 6465 3a20 5053 5472 6963 6b73 206f Node: PSTricks o │ │ │ │ │ +00025f10: 7074 696f 6e73 7f34 3833 3031 0a4e 6f64 ptions.48301.Nod │ │ │ │ │ +00025f20: 653a 2054 696b 5a2f 5047 4620 6f70 7469 e: TikZ/PGF opti │ │ │ │ │ +00025f30: 6f6e 737f 3439 3431 330a 4e6f 6465 3a20 ons.49413.Node: │ │ │ │ │ +00025f40: 446f 7473 2069 6e20 5469 6b5a 2f50 4746 Dots in TikZ/PGF │ │ │ │ │ +00025f50: 7f35 3131 3534 0a4e 6f64 653a 2054 696b .51154.Node: Tik │ │ │ │ │ +00025f60: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin │ │ │ │ │ +00025f70: 6564 2073 7479 6c65 737f 3531 3737 350a ed styles.51775. │ │ │ │ │ +00025f80: 5265 663a 2054 696b 5a2f 5047 4620 7573 Ref: TikZ/PGF us │ │ │ │ │ +00025f90: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style │ │ │ │ │ +00025fa0: 732d 466f 6f74 6e6f 7465 2d31 7f35 3338 s-Footnote-1.538 │ │ │ │ │ +00025fb0: 3333 0a4e 6f64 653a 2054 7261 6e73 7061 33.Node: Transpa │ │ │ │ │ +00025fc0: 7265 6e63 797f 3533 3838 390a 4e6f 6465 rency.53889.Node │ │ │ │ │ +00025fd0: 3a20 496e 7465 726e 616c 206f 7074 696f : Internal optio │ │ │ │ │ +00025fe0: 6e73 7f35 3437 3337 0a4e 6f64 653a 2044 ns.54737.Node: D │ │ │ │ │ +00025ff0: 7261 7761 626c 6573 7f35 3635 3038 0a4e rawables.56508.N │ │ │ │ │ +00026000: 6f64 653a 2044 6f74 737f 3537 3530 370a ode: Dots.57507. │ │ │ │ │ +00026010: 4e6f 6465 3a20 4c69 6e65 737f 3537 3734 Node: Lines.5774 │ │ │ │ │ +00026020: 370a 4e6f 6465 3a20 4375 7276 6573 7f35 7.Node: Curves.5 │ │ │ │ │ +00026030: 3739 3836 0a4e 6f64 653a 2050 6f6c 7967 7986.Node: Polyg │ │ │ │ │ +00026040: 6f6e 737f 3538 3239 360a 4e6f 6465 3a20 ons.58296.Node: │ │ │ │ │ +00026050: 5370 6563 6961 6c73 7f35 3837 3333 0a4e Specials.58733.N │ │ │ │ │ +00026060: 6f64 653a 2053 7765 6570 737f 3631 3130 ode: Sweeps.6110 │ │ │ │ │ +00026070: 380a 4e6f 6465 3a20 5377 6570 7420 706f 8.Node: Swept po │ │ │ │ │ +00026080: 696e 7473 7f36 3233 3931 0a4e 6f64 653a ints.62391.Node: │ │ │ │ │ +00026090: 2053 7765 7074 206c 696e 6573 7f36 3334 Swept lines.634 │ │ │ │ │ +000260a0: 3930 0a4e 6f64 653a 2053 7765 7074 2070 90.Node: Swept p │ │ │ │ │ +000260b0: 6f6c 7967 6f6e 737f 3636 3131 360a 4e6f olygons.66116.No │ │ │ │ │ +000260c0: 6465 3a20 5377 6570 7420 626c 6f63 6b73 de: Swept blocks │ │ │ │ │ +000260d0: 7f36 3736 3839 0a4e 6f64 653a 2053 7765 .67689.Node: Swe │ │ │ │ │ +000260e0: 6570 2066 6163 6520 7370 6c69 7474 696e ep face splittin │ │ │ │ │ +000260f0: 677f 3638 3235 370a 4e6f 6465 3a20 426c g.68257.Node: Bl │ │ │ │ │ +00026100: 6f63 6b73 7f36 3838 3633 0a4e 6f64 653a ocks.68863.Node: │ │ │ │ │ +00026110: 2052 6570 6561 7473 7f36 3934 3638 0a4e Repeats.69468.N │ │ │ │ │ +00026120: 6f64 653a 2050 7574 737f 3730 3131 380a ode: Puts.70118. │ │ │ │ │ +00026130: 4e6f 6465 3a20 4465 6669 6e69 7469 6f6e Node: Definition │ │ │ │ │ +00026140: 737f 3730 3330 330a 4e6f 6465 3a20 466f s.70303.Node: Fo │ │ │ │ │ +00026150: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio │ │ │ │ │ +00026160: 6e73 7f37 3135 3439 0a4e 6f64 653a 2046 ns.71549.Node: F │ │ │ │ │ +00026170: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ +00026180: 6573 7f37 3234 3736 0a4e 6f64 653a 2047 es.72476.Node: G │ │ │ │ │ +00026190: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ +000261a0: 747f 3733 3532 370a 4e6f 6465 3a20 476c t.73527.Node: Gl │ │ │ │ │ +000261b0: 6f62 616c 206f 7074 696f 6e73 7f37 3434 obal options.744 │ │ │ │ │ +000261c0: 3239 0a4e 6f64 653a 2043 616d 6572 617f 29.Node: Camera. │ │ │ │ │ +000261d0: 3734 3939 320a 4e6f 6465 3a20 5069 6374 74992.Node: Pict │ │ │ │ │ +000261e0: 7572 6520 626f 787f 3735 3430 330a 4e6f ure box.75403.No │ │ │ │ │ +000261f0: 6465 3a20 4672 616d 657f 3736 3435 340a de: Frame.76454. │ │ │ │ │ +00026200: 4e6f 6465 3a20 4c61 6e67 7561 6765 7f37 Node: Language.7 │ │ │ │ │ +00026210: 3639 3232 0a4e 6f64 653a 2042 7569 6c64 6922.Node: Build │ │ │ │ │ +00026220: 696e 6720 6120 6472 6177 696e 677f 3737 ing a drawing.77 │ │ │ │ │ +00026230: 3934 350a 4e6f 6465 3a20 4f76 6572 7669 945.Node: Overvi │ │ │ │ │ +00026240: 6577 7f37 3837 3534 0a4e 6f64 653a 2041 ew.78754.Node: A │ │ │ │ │ +00026250: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +00026260: 6e67 7f38 3632 3838 0a4e 6f64 653a 2041 ng.86288.Node: A │ │ │ │ │ +00026270: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +00026280: 6465 6c7f 3931 3130 330a 4e6f 6465 3a20 del.91103.Node: │ │ │ │ │ +00026290: 4361 7665 6174 737f 3937 3535 380a 4e6f Caveats.97558.No │ │ │ │ │ +000262a0: 6465 3a20 4c69 6d69 7473 206f 6e20 6572 de: Limits on er │ │ │ │ │ +000262b0: 726f 7220 6465 7465 6374 696f 6e7f 3938 ror detection.98 │ │ │ │ │ +000262c0: 3134 300a 4e6f 6465 3a20 436c 6970 7069 140.Node: Clippi │ │ │ │ │ +000262d0: 6e67 7f39 3936 3236 0a4e 6f64 653a 2048 ng.99626.Node: H │ │ │ │ │ +000262e0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re │ │ │ │ │ +000262f0: 6d6f 7661 6c7f 3130 3030 3433 0a52 6566 moval.100043.Ref │ │ │ │ │ +00026300: 3a20 4869 6464 656e 2073 7572 6661 6365 : Hidden surface │ │ │ │ │ +00026310: 2072 656d 6f76 616c 2d46 6f6f 746e 6f74 removal-Footnot │ │ │ │ │ +00026320: 652d 317f 3130 3134 3635 0a52 6566 3a20 e-1.101465.Ref: │ │ │ │ │ +00026330: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r │ │ │ │ │ +00026340: 656d 6f76 616c 2d46 6f6f 746e 6f74 652d emoval-Footnote- │ │ │ │ │ +00026350: 327f 3130 3136 3434 0a4e 6f64 653a 2053 2.101644.Node: S │ │ │ │ │ +00026360: 7461 7469 7374 6963 737f 3130 3230 3330 tatistics.102030 │ │ │ │ │ +00026370: 0a4e 6f64 653a 2042 7567 7320 616e 6420 .Node: Bugs and │ │ │ │ │ +00026380: 616e 6f6d 616c 6965 737f 3130 3333 3237 anomalies.103327 │ │ │ │ │ +00026390: 0a52 6566 3a20 4275 6773 2061 6e64 2061 .Ref: Bugs and a │ │ │ │ │ +000263a0: 6e6f 6d61 6c69 6573 2d46 6f6f 746e 6f74 nomalies-Footnot │ │ │ │ │ +000263b0: 652d 317f 3130 3531 3836 0a4e 6f64 653a e-1.105186.Node: │ │ │ │ │ +000263c0: 2043 6f6d 6d61 6e64 206c 696e 657f 3130 Command line.10 │ │ │ │ │ +000263d0: 3532 3835 0a4e 6f64 653a 2049 6e73 7461 5285.Node: Insta │ │ │ │ │ +000263e0: 6c6c 696e 6720 736b 6574 6368 7f31 3038 lling sketch.108 │ │ │ │ │ +000263f0: 3034 350a 4e6f 6465 3a20 496e 6465 7820 045.Node: Index │ │ │ │ │ +00026400: 6f66 2073 796e 7461 787f 3131 3131 3238 of syntax.111128 │ │ │ │ │ +00026410: 0a4e 6f64 653a 2049 6e64 6578 7f31 3238 .Node: Index.128 │ │ │ │ │ +00026420: 3439 380a 1f0a 456e 6420 5461 6720 5461 498...End Tag Ta │ │ │ │ │ +00026430: 626c 650a 0a1f 0a4c 6f63 616c 2056 6172 ble....Local Var │ │ │ │ │ +00026440: 6961 626c 6573 3a0a 636f 6469 6e67 3a20 iables:.coding: │ │ │ │ │ +00026450: 7574 662d 380a 456e 643a 0a utf-8.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 1044 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 1040 2020-11-07 02:36:18.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 50296 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: c1696ed6fb0b4bcc3188bf89e4ffdeb0a9282baf │ │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 68e1c2d36536b78e38e0e3dfafc073057e717c3a │ │ │ │ │ │ │ │ │ │ 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, Tue Nov 5 07:47:57 2024) │ │ │ │ │ +0.3 (build 7d, Wed Nov 6 10:05:45 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, Tue Nov 5 07:47:57 2024) │ │ │ │ │ +%% Sketch output, version 0.3 (build 7d, Wed Nov 6 10:05:45 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 7565204e 6f762035 2030373a d, Tue Nov 5 07: │ │ │ │ │ - 0x00011a04 34373a35 37203230 32342900 25252073 47:57 2024).%% s │ │ │ │ │ + 0x000119f4 642c2057 6564204e 6f762036 2031303a d, Wed Nov 6 10: │ │ │ │ │ + 0x00011a04 30353a34 35203230 32342900 25252073 05:45 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 20547565 204e6f76 20352030 7d, Tue Nov 5 0 │ │ │ │ │ - 0x00012124 373a3437 3a353720 32303234 290a2525 7:47:57 2024).%% │ │ │ │ │ + 0x00012114 2037642c 20576564 204e6f76 20362031 7d, Wed Nov 6 1 │ │ │ │ │ + 0x00012124 303a3035 3a343520 32303234 290a2525 0:05:45 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 36393665 64366662 30623462 63633331 696ed6fb0b4bcc31 │ │ │ │ │ - 0x00000010 38386266 38396534 66666465 62306139 88bf89e4ffdeb0a9 │ │ │ │ │ - 0x00000020 32383262 61662e64 65627567 00000000 282baf.debug.... │ │ │ │ │ - 0x00000030 5247abf8 RG.. │ │ │ │ │ + 0x00000000 65316332 64333635 33366237 38653338 e1c2d36536b78e38 │ │ │ │ │ + 0x00000010 65306533 64666166 63303733 30353765 e0e3dfafc073057e │ │ │ │ │ + 0x00000020 37313763 33612e64 65627567 00000000 717c3a.debug.... │ │ │ │ │ + 0x00000030 b4474bc2 .GK. ├── 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 194224 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: c1696ed6fb0b4bcc3188bf89e4ffdeb0a9282baf │ │ │ │ +Build-Ids: 68e1c2d36536b78e38e0e3dfafc073057e717c3a │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ │ │ │ ├── line order │ │ │ │ │ @@ -1 +1 @@ │ │ │ │ │ -usr/lib/debug/.build-id/c1/696ed6fb0b4bcc3188bf89e4ffdeb0a9282baf.debug │ │ │ │ │ +usr/lib/debug/.build-id/68/e1c2d36536b78e38e0e3dfafc073057e717c3a.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/c1/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 217788 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/c1/696ed6fb0b4bcc3188bf89e4ffdeb0a9282baf.debug │ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/68/ │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 217788 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/68/e1c2d36536b78e38e0e3dfafc073057e717c3a.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/c1/696ed6fb0b4bcc3188bf89e4ffdeb0a9282baf.debug │ │ │ ├── +++ ./usr/lib/debug/.build-id/68/e1c2d36536b78e38e0e3dfafc073057e717c3a.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: c1696ed6fb0b4bcc3188bf89e4ffdeb0a9282baf │ │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 68e1c2d36536b78e38e0e3dfafc073057e717c3a │ │ │ │ │ │ │ │ │ │ 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