--- /srv/reproducible-results/rbuild-debian/r-b-build.RSZmOHtN/b1/sketch_0.3.7-12_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.RSZmOHtN/b2/sketch_0.3.7-12_amd64.changes ├── Files │ @@ -1,4 +1,4 @@ │ │ - 314470a219b14f61cde6c6fa66c2913e 196728 debug optional sketch-dbgsym_0.3.7-12_amd64.deb │ - 5b58616cc34c041e36deebbb7eee0067 1171676 doc optional sketch-doc_0.3.7-12_all.deb │ - e59ffa1852868887b3ef884d184035ca 62456 graphics optional sketch_0.3.7-12_amd64.deb │ + 125885cf8412859cf84d4cf39c1d8720 196716 debug optional sketch-dbgsym_0.3.7-12_amd64.deb │ + ea54c3279f9679a40604a9a8620de890 1171696 doc optional sketch-doc_0.3.7-12_all.deb │ + 7d6dc3764c8c674f6ec3f6271a0886e4 62424 graphics optional sketch_0.3.7-12_amd64.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 4296 2020-11-07 02:36:18.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 1167188 2020-11-07 02:36:18.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 1167208 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) 714160 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 714177 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) 40131 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 40126 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz │ │ │ ├── ./usr/share/doc/sketch-doc/sketch.pdf.gz │ │ │ │ ├── sketch.pdf │ │ │ │ │ ├── pdftotext {} - │ │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ Sketch │ │ │ │ │ │ Simple 3D sketching │ │ │ │ │ │ -Version 0.3 (build 7), Thursday, May 16, 2024 │ │ │ │ │ │ +Version 0.3 (build 7), Thursday, June 19, 2025 │ │ │ │ │ │ │ │ │ │ │ │ Gene Ressler │ │ │ │ │ │ │ │ │ │ │ │ Copyright c 2005 to 2012 Eugene K. Ressler. │ │ │ │ │ │ -This manual is for sketch, version 0.3 (build 7), Thursday, May 16, 2024, a program that │ │ │ │ │ │ +This manual is for sketch, version 0.3 (build 7), Thursday, June 19, 2025, 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; │ │ │ ├── ./usr/share/info/sketch.info.gz │ │ │ │ ├── sketch.info │ │ │ │ │ @@ -5,9793 +5,9793 @@ │ │ │ │ │ 00000040: 682e 7465 7869 2e0a 0a43 6f70 7972 6967 h.texi...Copyrig │ │ │ │ │ 00000050: 6874 20c2 a920 3230 3035 2074 6f20 3230 ht .. 2005 to 20 │ │ │ │ │ 00000060: 3132 2045 7567 656e 6520 4b2e 2052 6573 12 Eugene K. Res │ │ │ │ │ 00000070: 736c 6572 2e0a 0a20 2020 5468 6973 206d sler... This m │ │ │ │ │ 00000080: 616e 7561 6c20 6973 2066 6f72 20e2 8098 anual is for ... │ │ │ │ │ 00000090: 736b 6574 6368 e280 992c 2076 6572 7369 sketch..., versi │ │ │ │ │ 000000a0: 6f6e 2030 2e33 2028 6275 696c 6420 3729 on 0.3 (build 7) │ │ │ │ │ -000000b0: 2c20 5468 7572 7364 6179 2c20 4d61 7920 , Thursday, May │ │ │ │ │ -000000c0: 3136 2c0a 3230 3234 2c20 6120 7072 6f67 16,.2024, a prog │ │ │ │ │ -000000d0: 7261 6d20 7468 6174 2063 6f6e 7665 7274 ram that convert │ │ │ │ │ -000000e0: 7320 6465 7363 7269 7074 696f 6e73 206f s descriptions o │ │ │ │ │ -000000f0: 6620 7369 6d70 6c65 2074 6872 6565 2d64 f simple three-d │ │ │ │ │ -00000100: 696d 656e 7369 6f6e 616c 0a73 6365 6e65 imensional.scene │ │ │ │ │ -00000110: 7320 696e 746f 206c 696e 6520 6472 6177 s into line draw │ │ │ │ │ -00000120: 696e 6773 2e20 2054 6869 7320 7665 7273 ings. This vers │ │ │ │ │ -00000130: 696f 6e20 6765 6e65 7261 7465 7320 e280 ion generates .. │ │ │ │ │ -00000140: 9850 5354 7269 636b 73e2 8099 206f 720a .PSTricks... or. │ │ │ │ │ -00000150: e280 9850 4746 2f54 696b 5ae2 8099 2063 ...PGF/TikZ... c │ │ │ │ │ -00000160: 6f64 6520 7375 6974 6162 6c65 2066 6f72 ode suitable for │ │ │ │ │ -00000170: 2075 7365 2077 6974 6820 7468 6520 5465 use with the Te │ │ │ │ │ -00000180: 5820 646f 6375 6d65 6e74 2070 726f 6365 X document proce │ │ │ │ │ -00000190: 7373 696e 670a 7379 7374 656d 2e0a 0a20 ssing.system... │ │ │ │ │ -000001a0: 2020 e280 9853 6b65 7463 68e2 8099 2069 ...Sketch... i │ │ │ │ │ -000001b0: 7320 6672 6565 2073 6f66 7477 6172 652e s free software. │ │ │ │ │ -000001c0: 2020 596f 7520 6361 6e20 7265 6469 7374 You can redist │ │ │ │ │ -000001d0: 7269 6275 7465 2069 7420 616e 642f 6f72 ribute it and/or │ │ │ │ │ -000001e0: 206d 6f64 6966 7920 6974 0a75 6e64 6572 modify it.under │ │ │ │ │ -000001f0: 2074 6865 2074 6572 6d73 206f 6620 7468 the terms of th │ │ │ │ │ -00000200: 6520 474e 5520 4765 6e65 7261 6c20 5075 e GNU General Pu │ │ │ │ │ -00000210: 626c 6963 204c 6963 656e 7365 2061 7320 blic License as │ │ │ │ │ -00000220: 7075 626c 6973 6865 6420 6279 2074 6865 published by the │ │ │ │ │ -00000230: 0a46 7265 6520 536f 6674 7761 7265 2046 .Free Software F │ │ │ │ │ -00000240: 6f75 6e64 6174 696f 6e3b 2065 6974 6865 oundation; eithe │ │ │ │ │ -00000250: 7220 7665 7273 696f 6e20 332c 206f 7220 r version 3, or │ │ │ │ │ -00000260: 2861 7420 796f 7572 206f 7074 696f 6e29 (at your option) │ │ │ │ │ -00000270: 2061 6e79 0a6c 6174 6572 2076 6572 7369 any.later versi │ │ │ │ │ -00000280: 6f6e 2e0a 0a20 2020 536b 6574 6368 2069 on... Sketch i │ │ │ │ │ -00000290: 7320 6469 7374 7269 6275 7465 6420 696e s distributed in │ │ │ │ │ -000002a0: 2074 6865 2068 6f70 6520 7468 6174 2069 the hope that i │ │ │ │ │ -000002b0: 7420 7769 6c6c 2062 6520 7573 6566 756c t will be useful │ │ │ │ │ -000002c0: 2c20 6275 7420 5749 5448 4f55 540a 414e , but WITHOUT.AN │ │ │ │ │ -000002d0: 5920 5741 5252 414e 5459 3b20 7769 7468 Y WARRANTY; with │ │ │ │ │ -000002e0: 6f75 7420 6576 656e 2074 6865 2069 6d70 out even the imp │ │ │ │ │ -000002f0: 6c69 6564 2077 6172 7261 6e74 7920 6f66 lied warranty of │ │ │ │ │ -00000300: 204d 4552 4348 414e 5441 4249 4c49 5459 MERCHANTABILITY │ │ │ │ │ -00000310: 206f 720a 4649 544e 4553 5320 464f 5220 or.FITNESS FOR │ │ │ │ │ -00000320: 4120 5041 5254 4943 554c 4152 2050 5552 A PARTICULAR PUR │ │ │ │ │ -00000330: 504f 5345 2e20 5365 6520 7468 6520 474e POSE. See the GN │ │ │ │ │ -00000340: 5520 4765 6e65 7261 6c20 5075 626c 6963 U General Public │ │ │ │ │ -00000350: 204c 6963 656e 7365 2066 6f72 0a6d 6f72 License for.mor │ │ │ │ │ -00000360: 6520 6465 7461 696c 732e 0a0a 2020 2059 e details... Y │ │ │ │ │ -00000370: 6f75 2073 686f 756c 6420 6861 7665 2072 ou should have r │ │ │ │ │ -00000380: 6563 6569 7665 6420 6120 636f 7079 206f eceived a copy o │ │ │ │ │ -00000390: 6620 7468 6520 474e 5520 4765 6e65 7261 f the GNU Genera │ │ │ │ │ -000003a0: 6c20 5075 626c 6963 204c 6963 656e 7365 l Public License │ │ │ │ │ -000003b0: 0a61 6c6f 6e67 2077 6974 6820 e280 9873 .along with ...s │ │ │ │ │ -000003c0: 6b65 7463 68e2 8099 3b20 7365 6520 7468 ketch...; see th │ │ │ │ │ -000003d0: 6520 6669 6c65 2043 4f50 5949 4e47 2e74 e file COPYING.t │ │ │ │ │ -000003e0: 7874 2e20 2049 6620 6e6f 742c 2073 6565 xt. If not, see │ │ │ │ │ -000003f0: 0a68 7474 703a 2f2f 7777 772e 676e 752e .http://www.gnu. │ │ │ │ │ -00000400: 6f72 672f 636f 7079 6c65 6674 2e0a 0a49 org/copyleft...I │ │ │ │ │ -00000410: 4e46 4f2d 4449 522d 5345 4354 494f 4e20 NFO-DIR-SECTION │ │ │ │ │ -00000420: 5465 580a 5354 4152 542d 494e 464f 2d44 TeX.START-INFO-D │ │ │ │ │ -00000430: 4952 2d45 4e54 5259 0a2a 2053 6b65 7463 IR-ENTRY.* Sketc │ │ │ │ │ -00000440: 683a 2028 736b 6574 6368 292e 2020 2020 h: (sketch). │ │ │ │ │ -00000450: 2020 2020 2020 2020 2053 696d 706c 6520 Simple │ │ │ │ │ -00000460: 3344 2073 6b65 7463 6869 6e67 2066 6f72 3D sketching for │ │ │ │ │ -00000470: 2054 6558 0a45 4e44 2d49 4e46 4f2d 4449 TeX.END-INFO-DI │ │ │ │ │ -00000480: 522d 454e 5452 590a 0a1f 0a46 696c 653a R-ENTRY....File: │ │ │ │ │ -00000490: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -000004a0: 6f64 653a 2054 6f70 2c20 204e 6578 743a ode: Top, Next: │ │ │ │ │ -000004b0: 2041 626f 7574 2073 6b65 7463 682c 2020 About sketch, │ │ │ │ │ -000004c0: 5072 6576 3a20 2864 6972 292c 2020 5570 Prev: (dir), Up │ │ │ │ │ -000004d0: 3a20 2864 6972 290a 0a53 6b65 7463 680a : (dir)..Sketch. │ │ │ │ │ -000004e0: 2a2a 2a2a 2a2a 0a0a 436f 7079 7269 6768 ******..Copyrigh │ │ │ │ │ -000004f0: 7420 c2a9 2032 3030 3520 746f 2032 3031 t .. 2005 to 201 │ │ │ │ │ -00000500: 3220 4575 6765 6e65 204b 2e20 5265 7373 2 Eugene K. Ress │ │ │ │ │ -00000510: 6c65 722e 0a0a 2020 2054 6869 7320 6d61 ler... This ma │ │ │ │ │ -00000520: 6e75 616c 2069 7320 666f 7220 e280 9873 nual is for ...s │ │ │ │ │ -00000530: 6b65 7463 68e2 8099 2c20 7665 7273 696f ketch..., versio │ │ │ │ │ -00000540: 6e20 302e 3320 2862 7569 6c64 2037 292c n 0.3 (build 7), │ │ │ │ │ -00000550: 2054 6875 7273 6461 792c 204d 6179 2031 Thursday, May 1 │ │ │ │ │ -00000560: 362c 0a32 3032 342c 2061 2070 726f 6772 6,.2024, a progr │ │ │ │ │ -00000570: 616d 2074 6861 7420 636f 6e76 6572 7473 am that converts │ │ │ │ │ -00000580: 2064 6573 6372 6970 7469 6f6e 7320 6f66 descriptions of │ │ │ │ │ -00000590: 2073 696d 706c 6520 7468 7265 652d 6469 simple three-di │ │ │ │ │ -000005a0: 6d65 6e73 696f 6e61 6c0a 7363 656e 6573 mensional.scenes │ │ │ │ │ -000005b0: 2069 6e74 6f20 6c69 6e65 2064 7261 7769 into line drawi │ │ │ │ │ -000005c0: 6e67 732e 2020 5468 6973 2076 6572 7369 ngs. This versi │ │ │ │ │ -000005d0: 6f6e 2067 656e 6572 6174 6573 20e2 8098 on generates ... │ │ │ │ │ -000005e0: 5053 5472 6963 6b73 e280 9920 6f72 0ae2 PSTricks... or.. │ │ │ │ │ -000005f0: 8098 5047 462f 5469 6b5a e280 9920 636f ..PGF/TikZ... co │ │ │ │ │ -00000600: 6465 2073 7569 7461 626c 6520 666f 7220 de suitable for │ │ │ │ │ -00000610: 7573 6520 7769 7468 2074 6865 2054 6558 use with the TeX │ │ │ │ │ -00000620: 2064 6f63 756d 656e 7420 7072 6f63 6573 document proces │ │ │ │ │ -00000630: 7369 6e67 0a73 7973 7465 6d2e 0a0a 2020 sing.system... │ │ │ │ │ -00000640: 20e2 8098 536b 6574 6368 e280 9920 6973 ...Sketch... is │ │ │ │ │ -00000650: 2066 7265 6520 736f 6674 7761 7265 2e20 free software. │ │ │ │ │ -00000660: 2059 6f75 2063 616e 2072 6564 6973 7472 You can redistr │ │ │ │ │ -00000670: 6962 7574 6520 6974 2061 6e64 2f6f 7220 ibute it and/or │ │ │ │ │ -00000680: 6d6f 6469 6679 2069 740a 756e 6465 7220 modify it.under │ │ │ │ │ -00000690: 7468 6520 7465 726d 7320 6f66 2074 6865 the terms of the │ │ │ │ │ -000006a0: 2047 4e55 2047 656e 6572 616c 2050 7562 GNU General Pub │ │ │ │ │ -000006b0: 6c69 6320 4c69 6365 6e73 6520 6173 2070 lic License as p │ │ │ │ │ -000006c0: 7562 6c69 7368 6564 2062 7920 7468 650a ublished by the. │ │ │ │ │ -000006d0: 4672 6565 2053 6f66 7477 6172 6520 466f Free Software Fo │ │ │ │ │ -000006e0: 756e 6461 7469 6f6e 3b20 6569 7468 6572 undation; either │ │ │ │ │ -000006f0: 2076 6572 7369 6f6e 2033 2c20 6f72 2028 version 3, or ( │ │ │ │ │ -00000700: 6174 2079 6f75 7220 6f70 7469 6f6e 2920 at your option) │ │ │ │ │ -00000710: 616e 790a 6c61 7465 7220 7665 7273 696f any.later versio │ │ │ │ │ -00000720: 6e2e 0a0a 2020 2053 6b65 7463 6820 6973 n... Sketch is │ │ │ │ │ -00000730: 2064 6973 7472 6962 7574 6564 2069 6e20 distributed in │ │ │ │ │ -00000740: 7468 6520 686f 7065 2074 6861 7420 6974 the hope that it │ │ │ │ │ -00000750: 2077 696c 6c20 6265 2075 7365 6675 6c2c will be useful, │ │ │ │ │ -00000760: 2062 7574 2057 4954 484f 5554 0a41 4e59 but WITHOUT.ANY │ │ │ │ │ -00000770: 2057 4152 5241 4e54 593b 2077 6974 686f WARRANTY; witho │ │ │ │ │ -00000780: 7574 2065 7665 6e20 7468 6520 696d 706c ut even the impl │ │ │ │ │ -00000790: 6965 6420 7761 7272 616e 7479 206f 6620 ied warranty of │ │ │ │ │ -000007a0: 4d45 5243 4841 4e54 4142 494c 4954 5920 MERCHANTABILITY │ │ │ │ │ -000007b0: 6f72 0a46 4954 4e45 5353 2046 4f52 2041 or.FITNESS FOR A │ │ │ │ │ -000007c0: 2050 4152 5449 4355 4c41 5220 5055 5250 PARTICULAR PURP │ │ │ │ │ -000007d0: 4f53 452e 2053 6565 2074 6865 2047 4e55 OSE. See the GNU │ │ │ │ │ -000007e0: 2047 656e 6572 616c 2050 7562 6c69 6320 General Public │ │ │ │ │ -000007f0: 4c69 6365 6e73 6520 666f 720a 6d6f 7265 License for.more │ │ │ │ │ -00000800: 2064 6574 6169 6c73 2e0a 0a20 2020 596f details... Yo │ │ │ │ │ -00000810: 7520 7368 6f75 6c64 2068 6176 6520 7265 u should have re │ │ │ │ │ -00000820: 6365 6976 6564 2061 2063 6f70 7920 6f66 ceived a copy of │ │ │ │ │ -00000830: 2074 6865 2047 4e55 2047 656e 6572 616c the GNU General │ │ │ │ │ -00000840: 2050 7562 6c69 6320 4c69 6365 6e73 650a Public License. │ │ │ │ │ -00000850: 616c 6f6e 6720 7769 7468 20e2 8098 736b along with ...sk │ │ │ │ │ -00000860: 6574 6368 e280 993b 2073 6565 2074 6865 etch...; see the │ │ │ │ │ -00000870: 2066 696c 6520 434f 5059 494e 472e 7478 file COPYING.tx │ │ │ │ │ -00000880: 742e 2020 4966 206e 6f74 2c20 7365 650a t. If not, see. │ │ │ │ │ -00000890: 6874 7470 3a2f 2f77 7777 2e67 6e75 2e6f http://www.gnu.o │ │ │ │ │ -000008a0: 7267 2f63 6f70 796c 6566 742e 0a0a 2a20 rg/copyleft...* │ │ │ │ │ -000008b0: 4d65 6e75 3a0a 0a2a 2041 626f 7574 2073 Menu:..* About s │ │ │ │ │ -000008c0: 6b65 7463 683a 3a20 2020 2020 2020 2020 ketch:: │ │ │ │ │ -000008d0: 2020 2020 2020 2057 6879 2073 6b65 7463 Why sketc │ │ │ │ │ -000008e0: 6820 6578 6973 7473 2061 6e64 2077 6861 h exists and wha │ │ │ │ │ -000008f0: 7420 6974 2064 6f65 732e 0a2a 2049 6e74 t it does..* Int │ │ │ │ │ -00000900: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa │ │ │ │ │ -00000910: 6d70 6c65 3a3a 2020 2020 204d 6f73 7420 mple:: Most │ │ │ │ │ -00000920: 6665 6174 7572 6573 2073 686f 776e 2061 features shown a │ │ │ │ │ -00000930: 7320 776f 726b 696e 6720 636f 6465 2e0a s working code.. │ │ │ │ │ -00000940: 2a20 496e 7075 7420 6c61 6e67 7561 6765 * Input language │ │ │ │ │ -00000950: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00000960: 5379 6e74 6178 2061 6e64 2073 656d 616e Syntax and seman │ │ │ │ │ -00000970: 7469 6373 206f 6620 e280 9873 6b65 7463 tics of ...sketc │ │ │ │ │ -00000980: 68e2 8099 2063 6f6d 6d61 6e64 732e 0a2a h... commands..* │ │ │ │ │ -00000990: 2042 7569 6c64 696e 6720 6120 6472 6177 Building a draw │ │ │ │ │ -000009a0: 696e 673a 3a20 2020 2020 2020 2020 2048 ing:: H │ │ │ │ │ -000009b0: 6f77 2074 6f20 7573 6520 e280 9873 6b65 ow to use ...ske │ │ │ │ │ -000009c0: 7463 68e2 8099 2070 726f 6475 6374 6976 tch... productiv │ │ │ │ │ -000009d0: 656c 792e 0a2a 2043 6f6d 6d61 6e64 206c ely..* Command l │ │ │ │ │ -000009e0: 696e 653a 3a20 2020 2020 2020 2020 2020 ine:: │ │ │ │ │ -000009f0: 2020 2020 204f 7074 696f 6e73 2061 6e64 Options and │ │ │ │ │ -00000a00: 2074 6865 6972 2075 7361 6765 2e0a 2a20 their usage..* │ │ │ │ │ -00000a10: 496e 7374 616c 6c69 6e67 2073 6b65 7463 Installing sketc │ │ │ │ │ -00000a20: 683a 3a20 2020 2020 2020 2020 2020 4275 h:: Bu │ │ │ │ │ -00000a30: 696c 6469 6e67 2061 6e64 2069 6e73 7461 ilding and insta │ │ │ │ │ -00000a40: 6c6c 696e 6720 6672 6f6d 2073 6f75 7263 lling from sourc │ │ │ │ │ -00000a50: 6573 2e0a 2a20 496e 6465 7820 6f66 2073 es..* Index of s │ │ │ │ │ -00000a60: 796e 7461 783a 3a0a 2a20 496e 6465 783a yntax::.* Index: │ │ │ │ │ -00000a70: 3a0a 0a20 2d2d 2054 6865 2044 6574 6169 :.. -- The Detai │ │ │ │ │ -00000a80: 6c65 6420 4e6f 6465 204c 6973 7469 6e67 led Node Listing │ │ │ │ │ -00000a90: 202d 2d0a 0a41 626f 7574 2073 6b65 7463 --..About sketc │ │ │ │ │ -00000aa0: 680a 0a2a 2052 6570 6f72 7469 6e67 2062 h..* Reporting b │ │ │ │ │ -00000ab0: 7567 733a 3a20 2020 2020 2020 2020 2020 ugs:: │ │ │ │ │ -00000ac0: 2020 204c 6574 2075 7365 206b 6e6f 7720 Let use know │ │ │ │ │ -00000ad0: 7768 6174 2773 2077 726f 6e67 210a 2a20 what's wrong!.* │ │ │ │ │ -00000ae0: 436f 6e74 7269 6275 7469 6f6e 733a 3a20 Contributions:: │ │ │ │ │ -00000af0: 2020 2020 2020 2020 2020 2020 2020 486f Ho │ │ │ │ │ -00000b00: 7720 796f 7520 6361 6e20 6865 6c70 2e2e w you can help.. │ │ │ │ │ -00000b10: 2e2e 0a0a 496e 7472 6f64 7563 7469 6f6e ....Introduction │ │ │ │ │ -00000b20: 2062 7920 6578 616d 706c 650a 0a2a 2048 by example..* H │ │ │ │ │ -00000b30: 656c 6c6f 2077 6f72 6c64 3a3a 2020 2020 ello world:: │ │ │ │ │ -00000b40: 2020 2020 2020 2020 2020 2020 2053 696d Sim │ │ │ │ │ -00000b50: 706c 6573 7420 706f 7373 6962 6c65 20e2 plest possible . │ │ │ │ │ -00000b60: 8098 736b 6574 6368 e280 9920 7072 6f67 ..sketch... prog │ │ │ │ │ -00000b70: 7261 6d2e 0a2a 2044 7261 7769 6e67 206f ram..* Drawing o │ │ │ │ │ -00000b80: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: │ │ │ │ │ -00000b90: 2020 2020 2043 6f6e 7472 6f6c 6c69 6e67 Controlling │ │ │ │ │ -00000ba0: 206f 626a 6563 7420 6170 7065 6172 616e object appearan │ │ │ │ │ -00000bb0: 6365 2e0a 2a20 4472 6177 696e 6720 6120 ce..* Drawing a │ │ │ │ │ -00000bc0: 736f 6c69 643a 3a20 2020 2020 2020 2020 solid:: │ │ │ │ │ -00000bd0: 2020 2020 4472 6177 696e 6720 616e 206f Drawing an o │ │ │ │ │ -00000be0: 626a 6563 7420 7769 7468 2033 6420 6170 bject with 3d ap │ │ │ │ │ -00000bf0: 7065 6172 616e 6365 2e0a 2a20 5370 6563 pearance..* Spec │ │ │ │ │ -00000c00: 6961 6c20 6f62 6a65 6374 733a 3a20 2020 ial objects:: │ │ │ │ │ -00000c10: 2020 2020 2020 2020 2020 4c61 7969 6e67 Laying │ │ │ │ │ -00000c20: 2054 6558 206f 7665 722c 2069 6e2c 206f TeX over, in, o │ │ │ │ │ -00000c30: 7220 756e 6465 7220 6472 6177 696e 6773 r under drawings │ │ │ │ │ -00000c40: 2e0a 2a20 4f62 6a65 6374 2074 7261 6e73 ..* Object trans │ │ │ │ │ -00000c50: 666f 726d 733a 3a20 2020 2020 2020 2020 forms:: │ │ │ │ │ -00000c60: 2020 526f 7461 7465 2c20 7472 616e 736c Rotate, transl │ │ │ │ │ -00000c70: 6174 652c 2073 6361 6c65 2c20 616e 6420 ate, scale, and │ │ │ │ │ -00000c80: 6f74 6865 7273 2e0a 2a20 5265 7065 6174 others..* Repeat │ │ │ │ │ -00000c90: 6564 206f 626a 6563 7473 3a3a 2020 2020 ed objects:: │ │ │ │ │ -00000ca0: 2020 2020 2020 2020 4d61 6b69 6e67 2074 Making t │ │ │ │ │ -00000cb0: 7261 6e73 666f 726d 6564 2063 6f70 6965 ransformed copie │ │ │ │ │ -00000cc0: 732e 0a2a 2053 7765 7074 206f 626a 6563 s..* Swept objec │ │ │ │ │ -00000cd0: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: │ │ │ │ │ -00000ce0: 2020 2053 7765 6570 696e 6720 6f62 6a65 Sweeping obje │ │ │ │ │ -00000cf0: 6374 7320 696e 2073 7061 6365 2074 6f20 cts in space to │ │ │ │ │ -00000d00: 6d61 6b65 206e 6577 2073 6861 7065 732e make new shapes. │ │ │ │ │ -00000d10: 0a0a 5377 6570 7420 6f62 6a65 6374 730a ..Swept objects. │ │ │ │ │ -00000d20: 0a2a 2050 6f69 6e74 2073 7765 6570 733a .* Point sweeps: │ │ │ │ │ -00000d30: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00000d40: 2053 7765 7074 2070 6f69 6e74 7320 6d61 Swept points ma │ │ │ │ │ -00000d50: 6b65 206c 696e 6573 2061 6e64 2070 6f6c ke lines and pol │ │ │ │ │ -00000d60: 7967 6f6e 732e 0a2a 2050 6f6c 796c 696e ygons..* Polylin │ │ │ │ │ -00000d70: 6520 7377 6565 7073 3a3a 2020 2020 2020 e sweeps:: │ │ │ │ │ -00000d80: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin │ │ │ │ │ -00000d90: 6573 206d 616b 6520 7375 7266 6163 6573 es make surfaces │ │ │ │ │ -00000da0: 2e0a 2a20 4e65 7374 6564 2073 7765 6570 ..* Nested sweep │ │ │ │ │ -00000db0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -00000dc0: 2020 5377 6570 7420 7377 6565 7073 2061 Swept sweeps a │ │ │ │ │ -00000dd0: 7265 2075 7365 6675 6c21 0a2a 2050 6f6c re useful!.* Pol │ │ │ │ │ -00000de0: 7967 6f6e 2073 7765 6570 733a 3a20 2020 ygon sweeps:: │ │ │ │ │ -00000df0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00000e00: 2070 6f6c 7967 6f6e 7320 6d61 6b65 2073 polygons make s │ │ │ │ │ -00000e10: 6f6c 6964 732e 2e2e 0a2a 2050 6f6c 796c olids....* Polyl │ │ │ │ │ -00000e20: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with │ │ │ │ │ -00000e30: 636c 6f73 7572 653a 3a20 2061 6e64 2073 closure:: and s │ │ │ │ │ -00000e40: 6f20 646f 2063 6c6f 7365 6420 706f 6c79 o do closed poly │ │ │ │ │ -00000e50: 6c69 6e65 2073 7765 6570 732e 0a2a 2041 line sweeps..* A │ │ │ │ │ -00000e60: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic │ │ │ │ │ -00000e70: 3a3a 2020 2020 2020 2020 2020 2053 6b65 :: Ske │ │ │ │ │ -00000e80: 7463 6820 7573 6566 756c 206d 6174 6820 tch useful math │ │ │ │ │ -00000e90: 6578 7072 6573 7369 6f6e 2e0a 2a20 4d6f expression..* Mo │ │ │ │ │ -00000ea0: 7265 2074 6f20 6c65 6172 6e3a 3a20 2020 re to learn:: │ │ │ │ │ -00000eb0: 2020 2020 2020 2020 2020 2020 4368 6563 Chec │ │ │ │ │ -00000ec0: 6b20 6f75 7420 7468 6520 4d6f 6269 7573 k out the Mobius │ │ │ │ │ -00000ed0: 2073 7472 6970 210a 0a49 6e70 7574 206c strip!..Input l │ │ │ │ │ -00000ee0: 616e 6775 6167 650a 0a2a 204c 616e 6775 anguage..* Langu │ │ │ │ │ -00000ef0: 6167 6520 6261 7369 6373 3a3a 2020 2020 age basics:: │ │ │ │ │ -00000f00: 2020 2020 2020 2020 2043 6173 652c 2073 Case, s │ │ │ │ │ -00000f10: 7061 6365 2c20 636f 6d6d 656e 7473 2c20 pace, comments, │ │ │ │ │ -00000f20: 696e 636c 7564 6520 6669 6c65 732e 0a2a include files..* │ │ │ │ │ -00000f30: 2044 7261 7761 626c 6573 3a3a 2020 2020 Drawables:: │ │ │ │ │ -00000f40: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -00000f50: 6869 6e67 7320 7468 6174 2063 616e 2062 hings that can b │ │ │ │ │ -00000f60: 6520 6472 6177 6e2e 0a2a 2044 6566 696e e drawn..* Defin │ │ │ │ │ -00000f70: 6974 696f 6e73 3a3a 2020 2020 2020 2020 itions:: │ │ │ │ │ -00000f80: 2020 2020 2020 2020 2047 6976 696e 6720 Giving │ │ │ │ │ -00000f90: 7468 696e 6773 206e 616d 6573 2e0a 2a20 things names..* │ │ │ │ │ -00000fa0: 476c 6f62 616c 2065 6e76 6972 6f6e 6d65 Global environme │ │ │ │ │ -00000fb0: 6e74 3a3a 2020 2020 2020 2020 2020 4166 nt:: Af │ │ │ │ │ -00000fc0: 6665 6374 2074 6865 2065 6e74 6972 6520 fect the entire │ │ │ │ │ -00000fd0: 6472 6177 696e 672e 0a0a 4261 7369 6373 drawing...Basics │ │ │ │ │ -00000fe0: 0a0a 2a20 4964 656e 7469 6669 6572 733a ..* Identifiers: │ │ │ │ │ -00000ff0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00001000: 2020 4e61 6d65 7320 666f 7220 7468 696e Names for thin │ │ │ │ │ -00001010: 6773 2e0a 2a20 4b65 7920 616e 6420 7265 gs..* Key and re │ │ │ │ │ -00001020: 7365 7276 6564 2077 6f72 6473 3a3a 2020 served words:: │ │ │ │ │ -00001030: 2020 2020 4e61 6d65 7320 796f 7520 7368 Names you sh │ │ │ │ │ -00001040: 6f75 6c64 6e27 7420 7573 652e 0a2a 204c ouldn't use..* L │ │ │ │ │ -00001050: 6974 6572 616c 733a 3a20 2020 2020 2020 iterals:: │ │ │ │ │ -00001060: 2020 2020 2020 2020 2020 2020 2043 6f6e Con │ │ │ │ │ -00001070: 7374 616e 7473 2061 6e64 2063 6f6e 7374 stants and const │ │ │ │ │ -00001080: 7275 6374 6f72 732e 0a2a 2041 7269 7468 ructors..* Arith │ │ │ │ │ -00001090: 6d65 7469 633a 3a20 2020 2020 2020 2020 metic:: │ │ │ │ │ -000010a0: 2020 2020 2020 2020 2052 756c 6573 2066 Rules f │ │ │ │ │ -000010b0: 6f72 2065 7870 7265 7373 696f 6e73 2e0a or expressions.. │ │ │ │ │ -000010c0: 2a20 4f70 7469 6f6e 733a 3a20 2020 2020 * Options:: │ │ │ │ │ +000000b0: 2c20 5468 7572 7364 6179 2c20 4a75 6e65 , Thursday, June │ │ │ │ │ +000000c0: 0a31 392c 2032 3032 352c 2061 2070 726f .19, 2025, a pro │ │ │ │ │ +000000d0: 6772 616d 2074 6861 7420 636f 6e76 6572 gram that conver │ │ │ │ │ +000000e0: 7473 2064 6573 6372 6970 7469 6f6e 7320 ts descriptions │ │ │ │ │ +000000f0: 6f66 2073 696d 706c 650a 7468 7265 652d of simple.three- │ │ │ │ │ +00000100: 6469 6d65 6e73 696f 6e61 6c20 7363 656e dimensional scen │ │ │ │ │ +00000110: 6573 2069 6e74 6f20 6c69 6e65 2064 7261 es into line dra │ │ │ │ │ +00000120: 7769 6e67 732e 2020 5468 6973 2076 6572 wings. This ver │ │ │ │ │ +00000130: 7369 6f6e 2067 656e 6572 6174 6573 0ae2 sion generates.. │ │ │ │ │ +00000140: 8098 5053 5472 6963 6b73 e280 9920 6f72 ..PSTricks... or │ │ │ │ │ +00000150: 20e2 8098 5047 462f 5469 6b5a e280 9920 ...PGF/TikZ... │ │ │ │ │ +00000160: 636f 6465 2073 7569 7461 626c 6520 666f code suitable fo │ │ │ │ │ +00000170: 7220 7573 6520 7769 7468 2074 6865 2054 r use with the T │ │ │ │ │ +00000180: 6558 2064 6f63 756d 656e 740a 7072 6f63 eX document.proc │ │ │ │ │ +00000190: 6573 7369 6e67 2073 7973 7465 6d2e 0a0a essing system... │ │ │ │ │ +000001a0: 2020 20e2 8098 536b 6574 6368 e280 9920 ...Sketch... │ │ │ │ │ +000001b0: 6973 2066 7265 6520 736f 6674 7761 7265 is free software │ │ │ │ │ +000001c0: 2e20 2059 6f75 2063 616e 2072 6564 6973 . You can redis │ │ │ │ │ +000001d0: 7472 6962 7574 6520 6974 2061 6e64 2f6f tribute it and/o │ │ │ │ │ +000001e0: 7220 6d6f 6469 6679 2069 740a 756e 6465 r modify it.unde │ │ │ │ │ +000001f0: 7220 7468 6520 7465 726d 7320 6f66 2074 r the terms of t │ │ │ │ │ +00000200: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P │ │ │ │ │ +00000210: 7562 6c69 6320 4c69 6365 6e73 6520 6173 ublic License as │ │ │ │ │ +00000220: 2070 7562 6c69 7368 6564 2062 7920 7468 published by th │ │ │ │ │ +00000230: 650a 4672 6565 2053 6f66 7477 6172 6520 e.Free Software │ │ │ │ │ +00000240: 466f 756e 6461 7469 6f6e 3b20 6569 7468 Foundation; eith │ │ │ │ │ +00000250: 6572 2076 6572 7369 6f6e 2033 2c20 6f72 er version 3, or │ │ │ │ │ +00000260: 2028 6174 2079 6f75 7220 6f70 7469 6f6e (at your option │ │ │ │ │ +00000270: 2920 616e 790a 6c61 7465 7220 7665 7273 ) any.later vers │ │ │ │ │ +00000280: 696f 6e2e 0a0a 2020 2053 6b65 7463 6820 ion... Sketch │ │ │ │ │ +00000290: 6973 2064 6973 7472 6962 7574 6564 2069 is distributed i │ │ │ │ │ +000002a0: 6e20 7468 6520 686f 7065 2074 6861 7420 n the hope that │ │ │ │ │ +000002b0: 6974 2077 696c 6c20 6265 2075 7365 6675 it will be usefu │ │ │ │ │ +000002c0: 6c2c 2062 7574 2057 4954 484f 5554 0a41 l, but WITHOUT.A │ │ │ │ │ +000002d0: 4e59 2057 4152 5241 4e54 593b 2077 6974 NY WARRANTY; wit │ │ │ │ │ +000002e0: 686f 7574 2065 7665 6e20 7468 6520 696d hout even the im │ │ │ │ │ +000002f0: 706c 6965 6420 7761 7272 616e 7479 206f plied warranty o │ │ │ │ │ +00000300: 6620 4d45 5243 4841 4e54 4142 494c 4954 f MERCHANTABILIT │ │ │ │ │ +00000310: 5920 6f72 0a46 4954 4e45 5353 2046 4f52 Y or.FITNESS FOR │ │ │ │ │ +00000320: 2041 2050 4152 5449 4355 4c41 5220 5055 A PARTICULAR PU │ │ │ │ │ +00000330: 5250 4f53 452e 2053 6565 2074 6865 2047 RPOSE. See the G │ │ │ │ │ +00000340: 4e55 2047 656e 6572 616c 2050 7562 6c69 NU General Publi │ │ │ │ │ +00000350: 6320 4c69 6365 6e73 6520 666f 720a 6d6f c License for.mo │ │ │ │ │ +00000360: 7265 2064 6574 6169 6c73 2e0a 0a20 2020 re details... │ │ │ │ │ +00000370: 596f 7520 7368 6f75 6c64 2068 6176 6520 You should have │ │ │ │ │ +00000380: 7265 6365 6976 6564 2061 2063 6f70 7920 received a copy │ │ │ │ │ +00000390: 6f66 2074 6865 2047 4e55 2047 656e 6572 of the GNU Gener │ │ │ │ │ +000003a0: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens │ │ │ │ │ +000003b0: 650a 616c 6f6e 6720 7769 7468 20e2 8098 e.along with ... │ │ │ │ │ +000003c0: 736b 6574 6368 e280 993b 2073 6565 2074 sketch...; see t │ │ │ │ │ +000003d0: 6865 2066 696c 6520 434f 5059 494e 472e he file COPYING. │ │ │ │ │ +000003e0: 7478 742e 2020 4966 206e 6f74 2c20 7365 txt. If not, se │ │ │ │ │ +000003f0: 650a 6874 7470 3a2f 2f77 7777 2e67 6e75 e.http://www.gnu │ │ │ │ │ +00000400: 2e6f 7267 2f63 6f70 796c 6566 742e 0a0a .org/copyleft... │ │ │ │ │ +00000410: 494e 464f 2d44 4952 2d53 4543 5449 4f4e INFO-DIR-SECTION │ │ │ │ │ +00000420: 2054 6558 0a53 5441 5254 2d49 4e46 4f2d TeX.START-INFO- │ │ │ │ │ +00000430: 4449 522d 454e 5452 590a 2a20 536b 6574 DIR-ENTRY.* Sket │ │ │ │ │ +00000440: 6368 3a20 2873 6b65 7463 6829 2e20 2020 ch: (sketch). │ │ │ │ │ +00000450: 2020 2020 2020 2020 2020 5369 6d70 6c65 Simple │ │ │ │ │ +00000460: 2033 4420 736b 6574 6368 696e 6720 666f 3D sketching fo │ │ │ │ │ +00000470: 7220 5465 580a 454e 442d 494e 464f 2d44 r TeX.END-INFO-D │ │ │ │ │ +00000480: 4952 2d45 4e54 5259 0a0a 1f0a 4669 6c65 IR-ENTRY....File │ │ │ │ │ +00000490: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +000004a0: 4e6f 6465 3a20 546f 702c 2020 4e65 7874 Node: Top, Next │ │ │ │ │ +000004b0: 3a20 4162 6f75 7420 736b 6574 6368 2c20 : About sketch, │ │ │ │ │ +000004c0: 2050 7265 763a 2028 6469 7229 2c20 2055 Prev: (dir), U │ │ │ │ │ +000004d0: 703a 2028 6469 7229 0a0a 536b 6574 6368 p: (dir)..Sketch │ │ │ │ │ +000004e0: 0a2a 2a2a 2a2a 2a0a 0a43 6f70 7972 6967 .******..Copyrig │ │ │ │ │ +000004f0: 6874 20c2 a920 3230 3035 2074 6f20 3230 ht .. 2005 to 20 │ │ │ │ │ +00000500: 3132 2045 7567 656e 6520 4b2e 2052 6573 12 Eugene K. Res │ │ │ │ │ +00000510: 736c 6572 2e0a 0a20 2020 5468 6973 206d sler... This m │ │ │ │ │ +00000520: 616e 7561 6c20 6973 2066 6f72 20e2 8098 anual is for ... │ │ │ │ │ +00000530: 736b 6574 6368 e280 992c 2076 6572 7369 sketch..., versi │ │ │ │ │ +00000540: 6f6e 2030 2e33 2028 6275 696c 6420 3729 on 0.3 (build 7) │ │ │ │ │ +00000550: 2c20 5468 7572 7364 6179 2c20 4a75 6e65 , Thursday, June │ │ │ │ │ +00000560: 0a31 392c 2032 3032 352c 2061 2070 726f .19, 2025, a pro │ │ │ │ │ +00000570: 6772 616d 2074 6861 7420 636f 6e76 6572 gram that conver │ │ │ │ │ +00000580: 7473 2064 6573 6372 6970 7469 6f6e 7320 ts descriptions │ │ │ │ │ +00000590: 6f66 2073 696d 706c 650a 7468 7265 652d of simple.three- │ │ │ │ │ +000005a0: 6469 6d65 6e73 696f 6e61 6c20 7363 656e dimensional scen │ │ │ │ │ +000005b0: 6573 2069 6e74 6f20 6c69 6e65 2064 7261 es into line dra │ │ │ │ │ +000005c0: 7769 6e67 732e 2020 5468 6973 2076 6572 wings. This ver │ │ │ │ │ +000005d0: 7369 6f6e 2067 656e 6572 6174 6573 0ae2 sion generates.. │ │ │ │ │ +000005e0: 8098 5053 5472 6963 6b73 e280 9920 6f72 ..PSTricks... or │ │ │ │ │ +000005f0: 20e2 8098 5047 462f 5469 6b5a e280 9920 ...PGF/TikZ... │ │ │ │ │ +00000600: 636f 6465 2073 7569 7461 626c 6520 666f code suitable fo │ │ │ │ │ +00000610: 7220 7573 6520 7769 7468 2074 6865 2054 r use with the T │ │ │ │ │ +00000620: 6558 2064 6f63 756d 656e 740a 7072 6f63 eX document.proc │ │ │ │ │ +00000630: 6573 7369 6e67 2073 7973 7465 6d2e 0a0a essing system... │ │ │ │ │ +00000640: 2020 20e2 8098 536b 6574 6368 e280 9920 ...Sketch... │ │ │ │ │ +00000650: 6973 2066 7265 6520 736f 6674 7761 7265 is free software │ │ │ │ │ +00000660: 2e20 2059 6f75 2063 616e 2072 6564 6973 . You can redis │ │ │ │ │ +00000670: 7472 6962 7574 6520 6974 2061 6e64 2f6f tribute it and/o │ │ │ │ │ +00000680: 7220 6d6f 6469 6679 2069 740a 756e 6465 r modify it.unde │ │ │ │ │ +00000690: 7220 7468 6520 7465 726d 7320 6f66 2074 r the terms of t │ │ │ │ │ +000006a0: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P │ │ │ │ │ +000006b0: 7562 6c69 6320 4c69 6365 6e73 6520 6173 ublic License as │ │ │ │ │ +000006c0: 2070 7562 6c69 7368 6564 2062 7920 7468 published by th │ │ │ │ │ +000006d0: 650a 4672 6565 2053 6f66 7477 6172 6520 e.Free Software │ │ │ │ │ +000006e0: 466f 756e 6461 7469 6f6e 3b20 6569 7468 Foundation; eith │ │ │ │ │ +000006f0: 6572 2076 6572 7369 6f6e 2033 2c20 6f72 er version 3, or │ │ │ │ │ +00000700: 2028 6174 2079 6f75 7220 6f70 7469 6f6e (at your option │ │ │ │ │ +00000710: 2920 616e 790a 6c61 7465 7220 7665 7273 ) any.later vers │ │ │ │ │ +00000720: 696f 6e2e 0a0a 2020 2053 6b65 7463 6820 ion... Sketch │ │ │ │ │ +00000730: 6973 2064 6973 7472 6962 7574 6564 2069 is distributed i │ │ │ │ │ +00000740: 6e20 7468 6520 686f 7065 2074 6861 7420 n the hope that │ │ │ │ │ +00000750: 6974 2077 696c 6c20 6265 2075 7365 6675 it will be usefu │ │ │ │ │ +00000760: 6c2c 2062 7574 2057 4954 484f 5554 0a41 l, but WITHOUT.A │ │ │ │ │ +00000770: 4e59 2057 4152 5241 4e54 593b 2077 6974 NY WARRANTY; wit │ │ │ │ │ +00000780: 686f 7574 2065 7665 6e20 7468 6520 696d hout even the im │ │ │ │ │ +00000790: 706c 6965 6420 7761 7272 616e 7479 206f plied warranty o │ │ │ │ │ +000007a0: 6620 4d45 5243 4841 4e54 4142 494c 4954 f MERCHANTABILIT │ │ │ │ │ +000007b0: 5920 6f72 0a46 4954 4e45 5353 2046 4f52 Y or.FITNESS FOR │ │ │ │ │ +000007c0: 2041 2050 4152 5449 4355 4c41 5220 5055 A PARTICULAR PU │ │ │ │ │ +000007d0: 5250 4f53 452e 2053 6565 2074 6865 2047 RPOSE. See the G │ │ │ │ │ +000007e0: 4e55 2047 656e 6572 616c 2050 7562 6c69 NU General Publi │ │ │ │ │ +000007f0: 6320 4c69 6365 6e73 6520 666f 720a 6d6f c License for.mo │ │ │ │ │ +00000800: 7265 2064 6574 6169 6c73 2e0a 0a20 2020 re details... │ │ │ │ │ +00000810: 596f 7520 7368 6f75 6c64 2068 6176 6520 You should have │ │ │ │ │ +00000820: 7265 6365 6976 6564 2061 2063 6f70 7920 received a copy │ │ │ │ │ +00000830: 6f66 2074 6865 2047 4e55 2047 656e 6572 of the GNU Gener │ │ │ │ │ +00000840: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens │ │ │ │ │ +00000850: 650a 616c 6f6e 6720 7769 7468 20e2 8098 e.along with ... │ │ │ │ │ +00000860: 736b 6574 6368 e280 993b 2073 6565 2074 sketch...; see t │ │ │ │ │ +00000870: 6865 2066 696c 6520 434f 5059 494e 472e he file COPYING. │ │ │ │ │ +00000880: 7478 742e 2020 4966 206e 6f74 2c20 7365 txt. If not, se │ │ │ │ │ +00000890: 650a 6874 7470 3a2f 2f77 7777 2e67 6e75 e.http://www.gnu │ │ │ │ │ +000008a0: 2e6f 7267 2f63 6f70 796c 6566 742e 0a0a .org/copyleft... │ │ │ │ │ +000008b0: 2a20 4d65 6e75 3a0a 0a2a 2041 626f 7574 * Menu:..* About │ │ │ │ │ +000008c0: 2073 6b65 7463 683a 3a20 2020 2020 2020 sketch:: │ │ │ │ │ +000008d0: 2020 2020 2020 2020 2057 6879 2073 6b65 Why ske │ │ │ │ │ +000008e0: 7463 6820 6578 6973 7473 2061 6e64 2077 tch exists and w │ │ │ │ │ +000008f0: 6861 7420 6974 2064 6f65 732e 0a2a 2049 hat it does..* I │ │ │ │ │ +00000900: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e │ │ │ │ │ +00000910: 7861 6d70 6c65 3a3a 2020 2020 204d 6f73 xample:: Mos │ │ │ │ │ +00000920: 7420 6665 6174 7572 6573 2073 686f 776e t features shown │ │ │ │ │ +00000930: 2061 7320 776f 726b 696e 6720 636f 6465 as working code │ │ │ │ │ +00000940: 2e0a 2a20 496e 7075 7420 6c61 6e67 7561 ..* Input langua │ │ │ │ │ +00000950: 6765 3a3a 2020 2020 2020 2020 2020 2020 ge:: │ │ │ │ │ +00000960: 2020 5379 6e74 6178 2061 6e64 2073 656d Syntax and sem │ │ │ │ │ +00000970: 616e 7469 6373 206f 6620 e280 9873 6b65 antics of ...ske │ │ │ │ │ +00000980: 7463 68e2 8099 2063 6f6d 6d61 6e64 732e tch... commands. │ │ │ │ │ +00000990: 0a2a 2042 7569 6c64 696e 6720 6120 6472 .* Building a dr │ │ │ │ │ +000009a0: 6177 696e 673a 3a20 2020 2020 2020 2020 awing:: │ │ │ │ │ +000009b0: 2048 6f77 2074 6f20 7573 6520 e280 9873 How to use ...s │ │ │ │ │ +000009c0: 6b65 7463 68e2 8099 2070 726f 6475 6374 ketch... product │ │ │ │ │ +000009d0: 6976 656c 792e 0a2a 2043 6f6d 6d61 6e64 ively..* Command │ │ │ │ │ +000009e0: 206c 696e 653a 3a20 2020 2020 2020 2020 line:: │ │ │ │ │ +000009f0: 2020 2020 2020 204f 7074 696f 6e73 2061 Options a │ │ │ │ │ +00000a00: 6e64 2074 6865 6972 2075 7361 6765 2e0a nd their usage.. │ │ │ │ │ +00000a10: 2a20 496e 7374 616c 6c69 6e67 2073 6b65 * Installing ske │ │ │ │ │ +00000a20: 7463 683a 3a20 2020 2020 2020 2020 2020 tch:: │ │ │ │ │ +00000a30: 4275 696c 6469 6e67 2061 6e64 2069 6e73 Building and ins │ │ │ │ │ +00000a40: 7461 6c6c 696e 6720 6672 6f6d 2073 6f75 talling from sou │ │ │ │ │ +00000a50: 7263 6573 2e0a 2a20 496e 6465 7820 6f66 rces..* Index of │ │ │ │ │ +00000a60: 2073 796e 7461 783a 3a0a 2a20 496e 6465 syntax::.* Inde │ │ │ │ │ +00000a70: 783a 3a0a 0a20 2d2d 2054 6865 2044 6574 x::.. -- The Det │ │ │ │ │ +00000a80: 6169 6c65 6420 4e6f 6465 204c 6973 7469 ailed Node Listi │ │ │ │ │ +00000a90: 6e67 202d 2d0a 0a41 626f 7574 2073 6b65 ng --..About ske │ │ │ │ │ +00000aa0: 7463 680a 0a2a 2052 6570 6f72 7469 6e67 tch..* Reporting │ │ │ │ │ +00000ab0: 2062 7567 733a 3a20 2020 2020 2020 2020 bugs:: │ │ │ │ │ +00000ac0: 2020 2020 204c 6574 2075 7365 206b 6e6f Let use kno │ │ │ │ │ +00000ad0: 7720 7768 6174 2773 2077 726f 6e67 210a w what's wrong!. │ │ │ │ │ +00000ae0: 2a20 436f 6e74 7269 6275 7469 6f6e 733a * Contributions: │ │ │ │ │ +00000af0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00000b00: 486f 7720 796f 7520 6361 6e20 6865 6c70 How you can help │ │ │ │ │ +00000b10: 2e2e 2e2e 0a0a 496e 7472 6f64 7563 7469 ......Introducti │ │ │ │ │ +00000b20: 6f6e 2062 7920 6578 616d 706c 650a 0a2a on by example..* │ │ │ │ │ +00000b30: 2048 656c 6c6f 2077 6f72 6c64 3a3a 2020 Hello world:: │ │ │ │ │ +00000b40: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00000b50: 696d 706c 6573 7420 706f 7373 6962 6c65 implest possible │ │ │ │ │ +00000b60: 20e2 8098 736b 6574 6368 e280 9920 7072 ...sketch... pr │ │ │ │ │ +00000b70: 6f67 7261 6d2e 0a2a 2044 7261 7769 6e67 ogram..* Drawing │ │ │ │ │ +00000b80: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: │ │ │ │ │ +00000b90: 2020 2020 2020 2043 6f6e 7472 6f6c 6c69 Controlli │ │ │ │ │ +00000ba0: 6e67 206f 626a 6563 7420 6170 7065 6172 ng object appear │ │ │ │ │ +00000bb0: 616e 6365 2e0a 2a20 4472 6177 696e 6720 ance..* Drawing │ │ │ │ │ +00000bc0: 6120 736f 6c69 643a 3a20 2020 2020 2020 a solid:: │ │ │ │ │ +00000bd0: 2020 2020 2020 4472 6177 696e 6720 616e Drawing an │ │ │ │ │ +00000be0: 206f 626a 6563 7420 7769 7468 2033 6420 object with 3d │ │ │ │ │ +00000bf0: 6170 7065 6172 616e 6365 2e0a 2a20 5370 appearance..* Sp │ │ │ │ │ +00000c00: 6563 6961 6c20 6f62 6a65 6374 733a 3a20 ecial objects:: │ │ │ │ │ +00000c10: 2020 2020 2020 2020 2020 2020 4c61 7969 Layi │ │ │ │ │ +00000c20: 6e67 2054 6558 206f 7665 722c 2069 6e2c ng TeX over, in, │ │ │ │ │ +00000c30: 206f 7220 756e 6465 7220 6472 6177 696e or under drawin │ │ │ │ │ +00000c40: 6773 2e0a 2a20 4f62 6a65 6374 2074 7261 gs..* Object tra │ │ │ │ │ +00000c50: 6e73 666f 726d 733a 3a20 2020 2020 2020 nsforms:: │ │ │ │ │ +00000c60: 2020 2020 526f 7461 7465 2c20 7472 616e Rotate, tran │ │ │ │ │ +00000c70: 736c 6174 652c 2073 6361 6c65 2c20 616e slate, scale, an │ │ │ │ │ +00000c80: 6420 6f74 6865 7273 2e0a 2a20 5265 7065 d others..* Repe │ │ │ │ │ +00000c90: 6174 6564 206f 626a 6563 7473 3a3a 2020 ated objects:: │ │ │ │ │ +00000ca0: 2020 2020 2020 2020 2020 4d61 6b69 6e67 Making │ │ │ │ │ +00000cb0: 2074 7261 6e73 666f 726d 6564 2063 6f70 transformed cop │ │ │ │ │ +00000cc0: 6965 732e 0a2a 2053 7765 7074 206f 626a ies..* Swept obj │ │ │ │ │ +00000cd0: 6563 7473 3a3a 2020 2020 2020 2020 2020 ects:: │ │ │ │ │ +00000ce0: 2020 2020 2053 7765 6570 696e 6720 6f62 Sweeping ob │ │ │ │ │ +00000cf0: 6a65 6374 7320 696e 2073 7061 6365 2074 jects in space t │ │ │ │ │ +00000d00: 6f20 6d61 6b65 206e 6577 2073 6861 7065 o make new shape │ │ │ │ │ +00000d10: 732e 0a0a 5377 6570 7420 6f62 6a65 6374 s...Swept object │ │ │ │ │ +00000d20: 730a 0a2a 2050 6f69 6e74 2073 7765 6570 s..* Point sweep │ │ │ │ │ +00000d30: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00000d40: 2020 2053 7765 7074 2070 6f69 6e74 7320 Swept points │ │ │ │ │ +00000d50: 6d61 6b65 206c 696e 6573 2061 6e64 2070 make lines and p │ │ │ │ │ +00000d60: 6f6c 7967 6f6e 732e 0a2a 2050 6f6c 796c olygons..* Polyl │ │ │ │ │ +00000d70: 696e 6520 7377 6565 7073 3a3a 2020 2020 ine sweeps:: │ │ │ │ │ +00000d80: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ +00000d90: 696e 6573 206d 616b 6520 7375 7266 6163 ines make surfac │ │ │ │ │ +00000da0: 6573 2e0a 2a20 4e65 7374 6564 2073 7765 es..* Nested swe │ │ │ │ │ +00000db0: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: │ │ │ │ │ +00000dc0: 2020 2020 5377 6570 7420 7377 6565 7073 Swept sweeps │ │ │ │ │ +00000dd0: 2061 7265 2075 7365 6675 6c21 0a2a 2050 are useful!.* P │ │ │ │ │ +00000de0: 6f6c 7967 6f6e 2073 7765 6570 733a 3a20 olygon sweeps:: │ │ │ │ │ +00000df0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +00000e00: 7074 2070 6f6c 7967 6f6e 7320 6d61 6b65 pt polygons make │ │ │ │ │ +00000e10: 2073 6f6c 6964 732e 2e2e 0a2a 2050 6f6c solids....* Pol │ │ │ │ │ +00000e20: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +00000e30: 6820 636c 6f73 7572 653a 3a20 2061 6e64 h closure:: and │ │ │ │ │ +00000e40: 2073 6f20 646f 2063 6c6f 7365 6420 706f so do closed po │ │ │ │ │ +00000e50: 6c79 6c69 6e65 2073 7765 6570 732e 0a2a lyline sweeps..* │ │ │ │ │ +00000e60: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet │ │ │ │ │ +00000e70: 6963 3a3a 2020 2020 2020 2020 2020 2053 ic:: S │ │ │ │ │ +00000e80: 6b65 7463 6820 7573 6566 756c 206d 6174 ketch useful mat │ │ │ │ │ +00000e90: 6820 6578 7072 6573 7369 6f6e 2e0a 2a20 h expression..* │ │ │ │ │ +00000ea0: 4d6f 7265 2074 6f20 6c65 6172 6e3a 3a20 More to learn:: │ │ │ │ │ +00000eb0: 2020 2020 2020 2020 2020 2020 2020 4368 Ch │ │ │ │ │ +00000ec0: 6563 6b20 6f75 7420 7468 6520 4d6f 6269 eck out the Mobi │ │ │ │ │ +00000ed0: 7573 2073 7472 6970 210a 0a49 6e70 7574 us strip!..Input │ │ │ │ │ +00000ee0: 206c 616e 6775 6167 650a 0a2a 204c 616e language..* Lan │ │ │ │ │ +00000ef0: 6775 6167 6520 6261 7369 6373 3a3a 2020 guage basics:: │ │ │ │ │ +00000f00: 2020 2020 2020 2020 2020 2043 6173 652c Case, │ │ │ │ │ +00000f10: 2073 7061 6365 2c20 636f 6d6d 656e 7473 space, comments │ │ │ │ │ +00000f20: 2c20 696e 636c 7564 6520 6669 6c65 732e , include files. │ │ │ │ │ +00000f30: 0a2a 2044 7261 7761 626c 6573 3a3a 2020 .* Drawables:: │ │ │ │ │ +00000f40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00000f50: 2054 6869 6e67 7320 7468 6174 2063 616e Things that can │ │ │ │ │ +00000f60: 2062 6520 6472 6177 6e2e 0a2a 2044 6566 be drawn..* Def │ │ │ │ │ +00000f70: 696e 6974 696f 6e73 3a3a 2020 2020 2020 initions:: │ │ │ │ │ +00000f80: 2020 2020 2020 2020 2020 2047 6976 696e Givin │ │ │ │ │ +00000f90: 6720 7468 696e 6773 206e 616d 6573 2e0a g things names.. │ │ │ │ │ +00000fa0: 2a20 476c 6f62 616c 2065 6e76 6972 6f6e * Global environ │ │ │ │ │ +00000fb0: 6d65 6e74 3a3a 2020 2020 2020 2020 2020 ment:: │ │ │ │ │ +00000fc0: 4166 6665 6374 2074 6865 2065 6e74 6972 Affect the entir │ │ │ │ │ +00000fd0: 6520 6472 6177 696e 672e 0a0a 4261 7369 e drawing...Basi │ │ │ │ │ +00000fe0: 6373 0a0a 2a20 4964 656e 7469 6669 6572 cs..* Identifier │ │ │ │ │ +00000ff0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00001000: 2020 2020 4e61 6d65 7320 666f 7220 7468 Names for th │ │ │ │ │ +00001010: 696e 6773 2e0a 2a20 4b65 7920 616e 6420 ings..* Key and │ │ │ │ │ +00001020: 7265 7365 7276 6564 2077 6f72 6473 3a3a reserved words:: │ │ │ │ │ +00001030: 2020 2020 2020 4e61 6d65 7320 796f 7520 Names you │ │ │ │ │ +00001040: 7368 6f75 6c64 6e27 7420 7573 652e 0a2a shouldn't use..* │ │ │ │ │ +00001050: 204c 6974 6572 616c 733a 3a20 2020 2020 Literals:: │ │ │ │ │ +00001060: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ +00001070: 6f6e 7374 616e 7473 2061 6e64 2063 6f6e onstants and con │ │ │ │ │ +00001080: 7374 7275 6374 6f72 732e 0a2a 2041 7269 structors..* Ari │ │ │ │ │ +00001090: 7468 6d65 7469 633a 3a20 2020 2020 2020 thmetic:: │ │ │ │ │ +000010a0: 2020 2020 2020 2020 2020 2052 756c 6573 Rules │ │ │ │ │ +000010b0: 2066 6f72 2065 7870 7265 7373 696f 6e73 for expressions │ │ │ │ │ +000010c0: 2e0a 2a20 4f70 7469 6f6e 733a 3a20 2020 ..* Options:: │ │ │ │ │ 000010d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000010e0: 4d6f 6469 6679 696e 6720 6f62 6a65 6374 Modifying object │ │ │ │ │ -000010f0: 2061 7070 6561 7261 6e63 652e 0a0a 4c69 appearance...Li │ │ │ │ │ -00001100: 7465 7261 6c73 0a0a 2a20 5363 616c 6172 terals..* Scalar │ │ │ │ │ -00001110: 206c 6974 6572 616c 733a 3a20 2020 2020 literals:: │ │ │ │ │ -00001120: 2020 2020 2020 2020 4a75 7374 2074 6865 Just the │ │ │ │ │ -00001130: 206e 756d 6265 7273 2e0a 2a20 506f 696e numbers..* Poin │ │ │ │ │ -00001140: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit │ │ │ │ │ -00001150: 6572 616c 733a 3a20 2020 3364 2071 7561 erals:: 3d qua │ │ │ │ │ -00001160: 6e74 6974 6965 732e 0a2a 2054 7261 6e73 ntities..* Trans │ │ │ │ │ -00001170: 666f 726d 206c 6974 6572 616c 733a 3a20 form literals:: │ │ │ │ │ -00001180: 2020 2020 2020 2020 204d 6174 7269 7820 Matrix │ │ │ │ │ -00001190: 666f 726d 2e0a 0a41 7269 7468 6d65 7469 form...Arithmeti │ │ │ │ │ -000011a0: 6320 6578 7072 6573 7369 6f6e 730a 0a2a c expressions..* │ │ │ │ │ -000011b0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ -000011c0: 6e61 7279 2920 666f 726d 733a 3a20 2041 nary) forms:: A │ │ │ │ │ -000011d0: 206f 7020 420a 2a20 556e 6172 7920 666f op B.* Unary fo │ │ │ │ │ -000011e0: 726d 733a 3a20 2020 2020 2020 2020 2020 rms:: │ │ │ │ │ -000011f0: 2020 2020 2020 6f70 2041 2028 616e 6420 op A (and │ │ │ │ │ -00001200: 6f74 6865 7273 290a 0a4f 7074 696f 6e73 others)..Options │ │ │ │ │ -00001210: 0a0a 2a20 5053 5472 6963 6b73 206f 7074 ..* PSTricks opt │ │ │ │ │ -00001220: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ -00001230: 2020 4f70 7469 6f6e 7320 696e 6865 7269 Options inheri │ │ │ │ │ -00001240: 7465 6420 6672 6f6d 20e2 8098 5053 5472 ted from ...PSTr │ │ │ │ │ -00001250: 6963 6b73 e280 992e 0a2a 2054 696b 5a2f icks.....* TikZ/ │ │ │ │ │ -00001260: 5047 4620 6f70 7469 6f6e 733a 3a20 2020 PGF options:: │ │ │ │ │ -00001270: 2020 2020 2020 2020 204f 7074 696f 6e73 Options │ │ │ │ │ -00001280: 2069 6e68 6572 6974 6564 2066 726f 6d20 inherited from │ │ │ │ │ -00001290: e280 9854 696b 5a2f 5047 46e2 8099 2e0a ...TikZ/PGF..... │ │ │ │ │ -000012a0: 2a20 446f 7473 2069 6e20 5469 6b5a 2f50 * Dots in TikZ/P │ │ │ │ │ -000012b0: 4746 3a3a 2020 2020 2020 2020 2020 2020 GF:: │ │ │ │ │ -000012c0: 536b 6574 6368 2075 7365 7320 e280 9854 Sketch uses ...T │ │ │ │ │ -000012d0: 696b 5a2f 5047 46e2 8099 2063 6972 636c ikZ/PGF... circl │ │ │ │ │ -000012e0: 6573 2066 6f72 2064 6f74 732e 0a2a 2054 es for dots..* T │ │ │ │ │ -000012f0: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ -00001300: 696e 6564 2073 7479 6c65 733a 3a20 2053 ined styles:: S │ │ │ │ │ -00001310: 7570 706f 7274 2066 6f72 20e2 8098 5469 upport for ...Ti │ │ │ │ │ -00001320: 6b5a 2f50 4746 e280 9920 6e61 6d65 642c kZ/PGF... named, │ │ │ │ │ -00001330: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st │ │ │ │ │ -00001340: 796c 6573 2e0a 2a20 5472 616e 7370 6172 yles..* Transpar │ │ │ │ │ -00001350: 656e 6379 3a3a 2020 2020 2020 2020 2020 ency:: │ │ │ │ │ -00001360: 2020 2020 2020 5365 652d 7468 726f 7567 See-throug │ │ │ │ │ -00001370: 6820 706f 6c79 676f 6e73 2e0a 2a20 496e h polygons..* In │ │ │ │ │ -00001380: 7465 726e 616c 206f 7074 696f 6e73 3a3a ternal options:: │ │ │ │ │ -00001390: 2020 2020 2020 2020 2020 2020 4f70 7469 Opti │ │ │ │ │ -000013a0: 6f6e 7320 7573 6564 2062 7920 e280 9873 ons used by ...s │ │ │ │ │ -000013b0: 6b65 7463 68e2 8099 2e0a 0a50 6f69 6e74 ketch......Point │ │ │ │ │ -000013c0: 206c 6973 7473 0a0a 2a20 4472 6177 6162 lists..* Drawab │ │ │ │ │ -000013d0: 6c65 733a 3a20 2020 2020 2020 2020 2020 les:: │ │ │ │ │ -000013e0: 2020 2020 2020 2020 5468 696e 6773 2074 Things t │ │ │ │ │ -000013f0: 6861 7420 6172 6520 6472 6177 6e2e 0a2a hat are drawn..* │ │ │ │ │ -00001400: 2044 6566 696e 6974 696f 6e73 3a3a 2020 Definitions:: │ │ │ │ │ -00001410: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -00001420: 6869 6e67 7320 7769 7468 206e 616d 6573 hings with names │ │ │ │ │ -00001430: 2e0a 0a44 7261 7761 626c 6573 0a0a 2a20 ...Drawables..* │ │ │ │ │ -00001440: 446f 7473 3a3a 2020 2020 2020 2020 2020 Dots:: │ │ │ │ │ -00001450: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ -00001460: 6177 2064 6f74 732e 0a2a 204c 696e 6573 aw dots..* Lines │ │ │ │ │ -00001470: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00001480: 2020 2020 2020 2020 2044 7261 7720 706f Draw po │ │ │ │ │ -00001490: 6c79 6c69 6e65 732e 0a2a 2043 7572 7665 lylines..* Curve │ │ │ │ │ -000014a0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -000014b0: 2020 2020 2020 2020 2044 7261 7720 6375 Draw cu │ │ │ │ │ -000014c0: 7276 6573 2e0a 2a20 506f 6c79 676f 6e73 rves..* Polygons │ │ │ │ │ -000014d0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -000014e0: 2020 2020 2020 4472 6177 2070 6f6c 7967 Draw polyg │ │ │ │ │ -000014f0: 6f6e 732e 0a2a 2053 7065 6369 616c 733a ons..* Specials: │ │ │ │ │ -00001500: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00001510: 2020 2020 2045 6d62 6564 2072 6177 204c Embed raw L │ │ │ │ │ -00001520: 6154 6558 2061 6e64 20e2 8098 5053 5472 aTeX and ...PSTr │ │ │ │ │ -00001530: 6963 6b73 e280 992e 0a2a 2053 7765 6570 icks.....* Sweep │ │ │ │ │ -00001540: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -00001550: 2020 2020 2020 2020 2044 7261 7720 7377 Draw sw │ │ │ │ │ -00001560: 6565 7073 206f 6620 646f 7473 2061 6e64 eeps of dots and │ │ │ │ │ -00001570: 2070 6f6c 796c 696e 6573 2e0a 2a20 426c polylines..* Bl │ │ │ │ │ -00001580: 6f63 6b73 3a3a 2020 2020 2020 2020 2020 ocks:: │ │ │ │ │ -00001590: 2020 2020 2020 2020 2020 2020 4772 6f75 Grou │ │ │ │ │ -000015a0: 7020 6f74 6865 7220 6472 6177 6162 6c65 p other drawable │ │ │ │ │ -000015b0: 732e 0a2a 2052 6570 6561 7473 3a3a 2020 s..* Repeats:: │ │ │ │ │ +000010e0: 2020 4d6f 6469 6679 696e 6720 6f62 6a65 Modifying obje │ │ │ │ │ +000010f0: 6374 2061 7070 6561 7261 6e63 652e 0a0a ct appearance... │ │ │ │ │ +00001100: 4c69 7465 7261 6c73 0a0a 2a20 5363 616c Literals..* Scal │ │ │ │ │ +00001110: 6172 206c 6974 6572 616c 733a 3a20 2020 ar literals:: │ │ │ │ │ +00001120: 2020 2020 2020 2020 2020 4a75 7374 2074 Just t │ │ │ │ │ +00001130: 6865 206e 756d 6265 7273 2e0a 2a20 506f he numbers..* Po │ │ │ │ │ +00001140: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l │ │ │ │ │ +00001150: 6974 6572 616c 733a 3a20 2020 3364 2071 iterals:: 3d q │ │ │ │ │ +00001160: 7561 6e74 6974 6965 732e 0a2a 2054 7261 uantities..* Tra │ │ │ │ │ +00001170: 6e73 666f 726d 206c 6974 6572 616c 733a nsform literals: │ │ │ │ │ +00001180: 3a20 2020 2020 2020 2020 204d 6174 7269 : Matri │ │ │ │ │ +00001190: 7820 666f 726d 2e0a 0a41 7269 7468 6d65 x form...Arithme │ │ │ │ │ +000011a0: 7469 6320 6578 7072 6573 7369 6f6e 730a tic expressions. │ │ │ │ │ +000011b0: 0a2a 2054 776f 2d6f 7065 7261 6e64 2028 .* Two-operand ( │ │ │ │ │ +000011c0: 6269 6e61 7279 2920 666f 726d 733a 3a20 binary) forms:: │ │ │ │ │ +000011d0: 2041 206f 7020 420a 2a20 556e 6172 7920 A op B.* Unary │ │ │ │ │ +000011e0: 666f 726d 733a 3a20 2020 2020 2020 2020 forms:: │ │ │ │ │ +000011f0: 2020 2020 2020 2020 6f70 2041 2028 616e op A (an │ │ │ │ │ +00001200: 6420 6f74 6865 7273 290a 0a4f 7074 696f d others)..Optio │ │ │ │ │ +00001210: 6e73 0a0a 2a20 5053 5472 6963 6b73 206f ns..* PSTricks o │ │ │ │ │ +00001220: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: │ │ │ │ │ +00001230: 2020 2020 4f70 7469 6f6e 7320 696e 6865 Options inhe │ │ │ │ │ +00001240: 7269 7465 6420 6672 6f6d 20e2 8098 5053 rited from ...PS │ │ │ │ │ +00001250: 5472 6963 6b73 e280 992e 0a2a 2054 696b Tricks.....* Tik │ │ │ │ │ +00001260: 5a2f 5047 4620 6f70 7469 6f6e 733a 3a20 Z/PGF options:: │ │ │ │ │ +00001270: 2020 2020 2020 2020 2020 204f 7074 696f Optio │ │ │ │ │ +00001280: 6e73 2069 6e68 6572 6974 6564 2066 726f ns inherited fro │ │ │ │ │ +00001290: 6d20 e280 9854 696b 5a2f 5047 46e2 8099 m ...TikZ/PGF... │ │ │ │ │ +000012a0: 2e0a 2a20 446f 7473 2069 6e20 5469 6b5a ..* Dots in TikZ │ │ │ │ │ +000012b0: 2f50 4746 3a3a 2020 2020 2020 2020 2020 /PGF:: │ │ │ │ │ +000012c0: 2020 536b 6574 6368 2075 7365 7320 e280 Sketch uses .. │ │ │ │ │ +000012d0: 9854 696b 5a2f 5047 46e2 8099 2063 6972 .TikZ/PGF... cir │ │ │ │ │ +000012e0: 636c 6573 2066 6f72 2064 6f74 732e 0a2a cles for dots..* │ │ │ │ │ +000012f0: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d │ │ │ │ │ +00001300: 6566 696e 6564 2073 7479 6c65 733a 3a20 efined styles:: │ │ │ │ │ +00001310: 2053 7570 706f 7274 2066 6f72 20e2 8098 Support for ... │ │ │ │ │ +00001320: 5469 6b5a 2f50 4746 e280 9920 6e61 6d65 TikZ/PGF... name │ │ │ │ │ +00001330: 642c 2075 7365 722d 6465 6669 6e65 6420 d, user-defined │ │ │ │ │ +00001340: 7374 796c 6573 2e0a 2a20 5472 616e 7370 styles..* Transp │ │ │ │ │ +00001350: 6172 656e 6379 3a3a 2020 2020 2020 2020 arency:: │ │ │ │ │ +00001360: 2020 2020 2020 2020 5365 652d 7468 726f See-thro │ │ │ │ │ +00001370: 7567 6820 706f 6c79 676f 6e73 2e0a 2a20 ugh polygons..* │ │ │ │ │ +00001380: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options │ │ │ │ │ +00001390: 3a3a 2020 2020 2020 2020 2020 2020 4f70 :: Op │ │ │ │ │ +000013a0: 7469 6f6e 7320 7573 6564 2062 7920 e280 tions used by .. │ │ │ │ │ +000013b0: 9873 6b65 7463 68e2 8099 2e0a 0a50 6f69 .sketch......Poi │ │ │ │ │ +000013c0: 6e74 206c 6973 7473 0a0a 2a20 4472 6177 nt lists..* Draw │ │ │ │ │ +000013d0: 6162 6c65 733a 3a20 2020 2020 2020 2020 ables:: │ │ │ │ │ +000013e0: 2020 2020 2020 2020 2020 5468 696e 6773 Things │ │ │ │ │ +000013f0: 2074 6861 7420 6172 6520 6472 6177 6e2e that are drawn. │ │ │ │ │ +00001400: 0a2a 2044 6566 696e 6974 696f 6e73 3a3a .* Definitions:: │ │ │ │ │ +00001410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00001420: 2054 6869 6e67 7320 7769 7468 206e 616d Things with nam │ │ │ │ │ +00001430: 6573 2e0a 0a44 7261 7761 626c 6573 0a0a es...Drawables.. │ │ │ │ │ +00001440: 2a20 446f 7473 3a3a 2020 2020 2020 2020 * Dots:: │ │ │ │ │ +00001450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00001460: 4472 6177 2064 6f74 732e 0a2a 204c 696e Draw dots..* Lin │ │ │ │ │ +00001470: 6573 3a3a 2020 2020 2020 2020 2020 2020 es:: │ │ │ │ │ +00001480: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +00001490: 706f 6c79 6c69 6e65 732e 0a2a 2043 7572 polylines..* Cur │ │ │ │ │ +000014a0: 7665 733a 3a20 2020 2020 2020 2020 2020 ves:: │ │ │ │ │ +000014b0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +000014c0: 6375 7276 6573 2e0a 2a20 506f 6c79 676f curves..* Polygo │ │ │ │ │ +000014d0: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ +000014e0: 2020 2020 2020 2020 4472 6177 2070 6f6c Draw pol │ │ │ │ │ +000014f0: 7967 6f6e 732e 0a2a 2053 7065 6369 616c ygons..* Special │ │ │ │ │ +00001500: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00001510: 2020 2020 2020 2045 6d62 6564 2072 6177 Embed raw │ │ │ │ │ +00001520: 204c 6154 6558 2061 6e64 20e2 8098 5053 LaTeX and ...PS │ │ │ │ │ +00001530: 5472 6963 6b73 e280 992e 0a2a 2053 7765 Tricks.....* Swe │ │ │ │ │ +00001540: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: │ │ │ │ │ +00001550: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +00001560: 7377 6565 7073 206f 6620 646f 7473 2061 sweeps of dots a │ │ │ │ │ +00001570: 6e64 2070 6f6c 796c 696e 6573 2e0a 2a20 nd polylines..* │ │ │ │ │ +00001580: 426c 6f63 6b73 3a3a 2020 2020 2020 2020 Blocks:: │ │ │ │ │ +00001590: 2020 2020 2020 2020 2020 2020 2020 4772 Gr │ │ │ │ │ +000015a0: 6f75 7020 6f74 6865 7220 6472 6177 6162 oup other drawab │ │ │ │ │ +000015b0: 6c65 732e 0a2a 2052 6570 6561 7473 3a3a les..* Repeats:: │ │ │ │ │ 000015c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000015d0: 2020 2044 7261 7720 7472 616e 7366 6f72 Draw transfor │ │ │ │ │ -000015e0: 6d65 6420 636f 7069 6573 206f 6620 6f62 med copies of ob │ │ │ │ │ -000015f0: 6a65 6374 732e 0a2a 2050 7574 733a 3a20 jects..* Puts:: │ │ │ │ │ -00001600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001610: 2020 2020 2020 2044 7261 7720 6f6e 6520 Draw one │ │ │ │ │ -00001620: 6f62 6a65 6374 2074 7261 6e73 666f 726d object transform │ │ │ │ │ -00001630: 6564 2e0a 0a53 7765 6570 730a 0a2a 2053 ed...Sweeps..* S │ │ │ │ │ -00001640: 7765 7074 2070 6f69 6e74 733a 3a20 2020 wept points:: │ │ │ │ │ -00001650: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00001660: 7074 2070 6f69 6e74 7320 6d61 6b65 206c pt points make l │ │ │ │ │ -00001670: 696e 6573 206f 7220 706f 6c79 676f 6e73 ines or polygons │ │ │ │ │ -00001680: 2e0a 2a20 5377 6570 7420 6c69 6e65 733a ..* Swept lines: │ │ │ │ │ -00001690: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000016a0: 2020 5377 6570 7420 6c69 6e65 7320 6d61 Swept lines ma │ │ │ │ │ -000016b0: 6b65 206f 7065 6e20 6f72 2063 6c6f 7365 ke open or close │ │ │ │ │ -000016c0: 6420 7375 7266 6163 6573 2e0a 2a20 5377 d surfaces..* Sw │ │ │ │ │ -000016d0: 6570 7420 706f 6c79 676f 6e73 3a3a 2020 ept polygons:: │ │ │ │ │ -000016e0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -000016f0: 7420 706f 6c79 676f 6e73 206d 616b 6520 t polygons make │ │ │ │ │ -00001700: 636c 6f73 6564 2073 7572 6661 6365 732e closed surfaces. │ │ │ │ │ -00001710: 0a2a 2053 7765 7074 2062 6c6f 636b 733a .* Swept blocks: │ │ │ │ │ -00001720: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00001730: 2053 7765 7074 2062 6c6f 636b 20e2 89a1 Swept block ... │ │ │ │ │ -00001740: 2062 6c6f 636b 206f 6620 7377 6565 7073 block of sweeps │ │ │ │ │ -00001750: 2e0a 2a20 5377 6565 7020 6661 6365 2073 ..* Sweep face s │ │ │ │ │ -00001760: 706c 6974 7469 6e67 3a3a 2020 2020 2020 plitting:: │ │ │ │ │ -00001770: 2020 4669 7869 6e67 2077 6172 7065 6420 Fixing warped │ │ │ │ │ -00001780: 6661 6365 7320 7769 7468 2074 7269 616e faces with trian │ │ │ │ │ -00001790: 676c 6573 2e0a 0a44 6566 696e 6974 696f gles...Definitio │ │ │ │ │ -000017a0: 6e73 0a0a 2a20 466f 726d 7320 6f66 2064 ns..* Forms of d │ │ │ │ │ -000017b0: 6566 696e 6974 696f 6e73 3a3a 2020 2020 efinitions:: │ │ │ │ │ -000017c0: 2020 2020 4469 6666 6572 656e 7420 6465 Different de │ │ │ │ │ -000017d0: 6673 2066 6f72 2064 6966 6665 7265 6e74 fs for different │ │ │ │ │ -000017e0: 2070 7572 706f 7365 732e 0a2a 2046 6f72 purposes..* For │ │ │ │ │ -000017f0: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ -00001800: 3a3a 2020 2020 2020 2020 2048 6f77 2072 :: How r │ │ │ │ │ -00001810: 6566 6572 656e 6365 7320 6465 6e6f 7465 eferences denote │ │ │ │ │ -00001820: 2074 7970 6573 2e0a 0a47 6c6f 6261 6c20 types...Global │ │ │ │ │ -00001830: 656e 7669 726f 6e6d 656e 740a 0a2a 2047 environment..* G │ │ │ │ │ -00001840: 6c6f 6261 6c20 6f70 7469 6f6e 733a 3a20 lobal options:: │ │ │ │ │ -00001850: 2020 2020 2020 2020 2020 2020 2041 7474 Att │ │ │ │ │ -00001860: 7269 6275 7465 7320 6f66 2074 6865 2065 ributes of the e │ │ │ │ │ -00001870: 6e74 6972 6520 6472 6177 696e 672e 0a2a ntire drawing..* │ │ │ │ │ -00001880: 2043 616d 6572 613a 3a20 2020 2020 2020 Camera:: │ │ │ │ │ -00001890: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -000018a0: 2066 696e 616c 2063 616d 6572 6120 7472 final camera tr │ │ │ │ │ -000018b0: 616e 7366 6f72 6d61 7469 6f6e 206f 6620 ansformation of │ │ │ │ │ -000018c0: 7468 6520 7363 656e 652e 0a2a 2050 6963 the scene..* Pic │ │ │ │ │ -000018d0: 7475 7265 2062 6f78 3a3a 2020 2020 2020 ture box:: │ │ │ │ │ -000018e0: 2020 2020 2020 2020 2020 2053 6574 7469 Setti │ │ │ │ │ -000018f0: 6e67 2074 6865 2062 6f75 6e64 696e 6720 ng the bounding │ │ │ │ │ -00001900: 626f 7820 616e 6420 3264 2063 6c69 7070 box and 2d clipp │ │ │ │ │ -00001910: 696e 672e 0a2a 2046 7261 6d65 3a3a 2020 ing..* Frame:: │ │ │ │ │ +000015d0: 2020 2020 2044 7261 7720 7472 616e 7366 Draw transf │ │ │ │ │ +000015e0: 6f72 6d65 6420 636f 7069 6573 206f 6620 ormed copies of │ │ │ │ │ +000015f0: 6f62 6a65 6374 732e 0a2a 2050 7574 733a objects..* Puts: │ │ │ │ │ +00001600: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00001610: 2020 2020 2020 2020 2044 7261 7720 6f6e Draw on │ │ │ │ │ +00001620: 6520 6f62 6a65 6374 2074 7261 6e73 666f e object transfo │ │ │ │ │ +00001630: 726d 6564 2e0a 0a53 7765 6570 730a 0a2a rmed...Sweeps..* │ │ │ │ │ +00001640: 2053 7765 7074 2070 6f69 6e74 733a 3a20 Swept points:: │ │ │ │ │ +00001650: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00001660: 7765 7074 2070 6f69 6e74 7320 6d61 6b65 wept points make │ │ │ │ │ +00001670: 206c 696e 6573 206f 7220 706f 6c79 676f lines or polygo │ │ │ │ │ +00001680: 6e73 2e0a 2a20 5377 6570 7420 6c69 6e65 ns..* Swept line │ │ │ │ │ +00001690: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +000016a0: 2020 2020 5377 6570 7420 6c69 6e65 7320 Swept lines │ │ │ │ │ +000016b0: 6d61 6b65 206f 7065 6e20 6f72 2063 6c6f make open or clo │ │ │ │ │ +000016c0: 7365 6420 7375 7266 6163 6573 2e0a 2a20 sed surfaces..* │ │ │ │ │ +000016d0: 5377 6570 7420 706f 6c79 676f 6e73 3a3a Swept polygons:: │ │ │ │ │ +000016e0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +000016f0: 6570 7420 706f 6c79 676f 6e73 206d 616b ept polygons mak │ │ │ │ │ +00001700: 6520 636c 6f73 6564 2073 7572 6661 6365 e closed surface │ │ │ │ │ +00001710: 732e 0a2a 2053 7765 7074 2062 6c6f 636b s..* Swept block │ │ │ │ │ +00001720: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00001730: 2020 2053 7765 7074 2062 6c6f 636b 20e2 Swept block . │ │ │ │ │ +00001740: 89a1 2062 6c6f 636b 206f 6620 7377 6565 .. block of swee │ │ │ │ │ +00001750: 7073 2e0a 2a20 5377 6565 7020 6661 6365 ps..* Sweep face │ │ │ │ │ +00001760: 2073 706c 6974 7469 6e67 3a3a 2020 2020 splitting:: │ │ │ │ │ +00001770: 2020 2020 4669 7869 6e67 2077 6172 7065 Fixing warpe │ │ │ │ │ +00001780: 6420 6661 6365 7320 7769 7468 2074 7269 d faces with tri │ │ │ │ │ +00001790: 616e 676c 6573 2e0a 0a44 6566 696e 6974 angles...Definit │ │ │ │ │ +000017a0: 696f 6e73 0a0a 2a20 466f 726d 7320 6f66 ions..* Forms of │ │ │ │ │ +000017b0: 2064 6566 696e 6974 696f 6e73 3a3a 2020 definitions:: │ │ │ │ │ +000017c0: 2020 2020 2020 4469 6666 6572 656e 7420 Different │ │ │ │ │ +000017d0: 6465 6673 2066 6f72 2064 6966 6665 7265 defs for differe │ │ │ │ │ +000017e0: 6e74 2070 7572 706f 7365 732e 0a2a 2046 nt purposes..* F │ │ │ │ │ +000017f0: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ +00001800: 6573 3a3a 2020 2020 2020 2020 2048 6f77 es:: How │ │ │ │ │ +00001810: 2072 6566 6572 656e 6365 7320 6465 6e6f references deno │ │ │ │ │ +00001820: 7465 2074 7970 6573 2e0a 0a47 6c6f 6261 te types...Globa │ │ │ │ │ +00001830: 6c20 656e 7669 726f 6e6d 656e 740a 0a2a l environment..* │ │ │ │ │ +00001840: 2047 6c6f 6261 6c20 6f70 7469 6f6e 733a Global options: │ │ │ │ │ +00001850: 3a20 2020 2020 2020 2020 2020 2020 2041 : A │ │ │ │ │ +00001860: 7474 7269 6275 7465 7320 6f66 2074 6865 ttributes of the │ │ │ │ │ +00001870: 2065 6e74 6972 6520 6472 6177 696e 672e entire drawing. │ │ │ │ │ +00001880: 0a2a 2043 616d 6572 613a 3a20 2020 2020 .* Camera:: │ │ │ │ │ +00001890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000018a0: 2041 2066 696e 616c 2063 616d 6572 6120 A final camera │ │ │ │ │ +000018b0: 7472 616e 7366 6f72 6d61 7469 6f6e 206f transformation o │ │ │ │ │ +000018c0: 6620 7468 6520 7363 656e 652e 0a2a 2050 f the scene..* P │ │ │ │ │ +000018d0: 6963 7475 7265 2062 6f78 3a3a 2020 2020 icture box:: │ │ │ │ │ +000018e0: 2020 2020 2020 2020 2020 2020 2053 6574 Set │ │ │ │ │ +000018f0: 7469 6e67 2074 6865 2062 6f75 6e64 696e ting the boundin │ │ │ │ │ +00001900: 6720 626f 7820 616e 6420 3264 2063 6c69 g box and 2d cli │ │ │ │ │ +00001910: 7070 696e 672e 0a2a 2046 7261 6d65 3a3a pping..* Frame:: │ │ │ │ │ 00001920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001930: 2020 2020 2041 6464 696e 6720 6120 626f Adding a bo │ │ │ │ │ -00001940: 7820 6172 6f75 6e64 2074 6865 2064 7261 x around the dra │ │ │ │ │ -00001950: 7769 6e67 2e0a 2a20 4c61 6e67 7561 6765 wing..* Language │ │ │ │ │ -00001960: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -00001970: 2020 2020 2020 5365 7474 696e 6720 7468 Setting th │ │ │ │ │ -00001980: 6520 6f75 7470 7574 206c 616e 6775 6167 e output languag │ │ │ │ │ -00001990: 652e 0a0a 4275 696c 6469 6e67 2061 2064 e...Building a d │ │ │ │ │ -000019a0: 7261 7769 6e67 0a0a 2a20 4f76 6572 7669 rawing..* Overvi │ │ │ │ │ -000019b0: 6577 3a3a 2020 2020 2020 2020 2020 2020 ew:: │ │ │ │ │ -000019c0: 2020 2020 2020 2020 4275 696c 6469 6e67 Building │ │ │ │ │ -000019d0: 2061 2073 7562 7374 616e 7469 616c 2064 a substantial d │ │ │ │ │ -000019e0: 7261 7769 6e67 2e0a 2a20 4120 7465 6368 rawing..* A tech │ │ │ │ │ -000019f0: 6e69 6361 6c20 6472 6177 696e 673a 3a20 nical drawing:: │ │ │ │ │ -00001a00: 2020 2020 2020 2020 416e 2065 7861 6d70 An examp │ │ │ │ │ -00001a10: 6c65 2077 6974 6820 6669 6e65 2070 6c61 le with fine pla │ │ │ │ │ -00001a20: 6365 6d65 6e74 2e0a 2a20 4120 6869 6572 cement..* A hier │ │ │ │ │ -00001a30: 6172 6368 6963 616c 206d 6f64 656c 3a3a archical model:: │ │ │ │ │ -00001a40: 2020 2020 2020 2020 416e 2065 7861 6d70 An examp │ │ │ │ │ -00001a50: 6c65 2077 6974 6820 7377 6565 7073 2061 le with sweeps a │ │ │ │ │ -00001a60: 6e64 2070 7574 732e 0a2a 2043 6176 6561 nd puts..* Cavea │ │ │ │ │ -00001a70: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: │ │ │ │ │ -00001a80: 2020 2020 2020 2020 2057 6865 7265 2074 Where t │ │ │ │ │ -00001a90: 726f 7562 6c65 2063 616e 206f 6363 7572 rouble can occur │ │ │ │ │ -00001aa0: 2e0a 0a43 6176 6561 7473 0a0a 2a20 4c69 ...Caveats..* Li │ │ │ │ │ -00001ab0: 6d69 7473 206f 6e20 6572 726f 7220 6465 mits on error de │ │ │ │ │ -00001ac0: 7465 6374 696f 6e3a 3a20 2020 5768 6174 tection:: What │ │ │ │ │ -00001ad0: 2073 6b65 7463 6820 646f 6573 6e27 7420 sketch doesn't │ │ │ │ │ -00001ae0: 646f 2e0a 2a20 436c 6970 7069 6e67 3a3a do..* Clipping:: │ │ │ │ │ -00001af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001b00: 2020 2020 4e6f 2063 6c69 7070 696e 6720 No clipping │ │ │ │ │ -00001b10: 6174 2070 7265 7365 6e74 2e0a 2a20 4869 at present..* Hi │ │ │ │ │ -00001b20: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem │ │ │ │ │ -00001b30: 6f76 616c 3a3a 2020 2020 2020 496d 7065 oval:: Impe │ │ │ │ │ -00001b40: 7266 6563 7469 6f6e 7320 746f 2066 6978 rfections to fix │ │ │ │ │ -00001b50: 2e0a 0a48 6964 6465 6e20 7375 7266 6163 ...Hidden surfac │ │ │ │ │ -00001b60: 6520 7265 6d6f 7661 6c20 616e 6420 706f e removal and po │ │ │ │ │ -00001b70: 6c79 676f 6e20 7370 6c69 7474 696e 670a lygon splitting. │ │ │ │ │ -00001b80: 0a2a 2053 7461 7469 7374 6963 733a 3a20 .* Statistics:: │ │ │ │ │ -00001b90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00001ba0: 2050 6572 666f 726d 616e 6365 206e 756d Performance num │ │ │ │ │ -00001bb0: 6265 7273 206f 6e20 6465 7074 6820 736f bers on depth so │ │ │ │ │ -00001bc0: 7274 2e0a 2a20 4275 6773 2061 6e64 2061 rt..* Bugs and a │ │ │ │ │ -00001bd0: 6e6f 6d61 6c69 6573 3a3a 2020 2020 2020 nomalies:: │ │ │ │ │ -00001be0: 2020 2020 496d 7065 7266 6563 7469 6f6e Imperfection │ │ │ │ │ -00001bf0: 7320 696e 2074 6869 7320 696d 706c 656d s in this implem │ │ │ │ │ -00001c00: 656e 7461 7469 6f6e 2e0a 0a0a 1f0a 4669 entation......Fi │ │ │ │ │ -00001c10: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00001c20: 2020 4e6f 6465 3a20 4162 6f75 7420 736b Node: About sk │ │ │ │ │ -00001c30: 6574 6368 2c20 204e 6578 743a 2049 6e74 etch, Next: Int │ │ │ │ │ -00001c40: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa │ │ │ │ │ -00001c50: 6d70 6c65 2c20 2050 7265 763a 2054 6f70 mple, Prev: Top │ │ │ │ │ -00001c60: 2c20 2055 703a 2054 6f70 0a0a 3120 4162 , Up: Top..1 Ab │ │ │ │ │ -00001c70: 6f75 7420 736b 6574 6368 0a2a 2a2a 2a2a out sketch.***** │ │ │ │ │ -00001c80: 2a2a 2a2a 2a2a 2a2a 2a0a 0a2a 204d 656e *********..* Men │ │ │ │ │ -00001c90: 753a 0a0a 2a20 5265 706f 7274 696e 6720 u:..* Reporting │ │ │ │ │ -00001ca0: 6275 6773 3a3a 2020 2020 2020 2020 2020 bugs:: │ │ │ │ │ -00001cb0: 2020 2020 4c65 7420 7573 6520 6b6e 6f77 Let use know │ │ │ │ │ -00001cc0: 2077 6861 7427 7320 7772 6f6e 6721 0a2a what's wrong!.* │ │ │ │ │ -00001cd0: 2043 6f6e 7472 6962 7574 696f 6e73 3a3a Contributions:: │ │ │ │ │ -00001ce0: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -00001cf0: 6f77 2079 6f75 2063 616e 2068 656c 702e ow you can help. │ │ │ │ │ -00001d00: 2e2e 2e0a 0ae2 8098 536b 6574 6368 e280 ........Sketch.. │ │ │ │ │ -00001d10: 9920 6973 2061 2073 6d61 6c6c 2c20 7369 . is a small, si │ │ │ │ │ -00001d20: 6d70 6c65 2073 7973 7465 6d20 666f 7220 mple system for │ │ │ │ │ -00001d30: 7072 6f64 7563 696e 6720 6c69 6e65 2064 producing line d │ │ │ │ │ -00001d40: 7261 7769 6e67 7320 6f66 2074 776f 2d0a rawings of two-. │ │ │ │ │ -00001d50: 6f72 2074 6872 6565 2d64 696d 656e 7369 or three-dimensi │ │ │ │ │ -00001d60: 6f6e 616c 206f 626a 6563 7473 2061 6e64 onal objects and │ │ │ │ │ -00001d70: 2073 6365 6e65 732e 2020 4974 2062 6567 scenes. It beg │ │ │ │ │ -00001d80: 616e 2061 7320 6120 7761 7920 746f 206d an as a way to m │ │ │ │ │ -00001d90: 616b 650a 696c 6c75 7374 7261 7469 6f6e ake.illustration │ │ │ │ │ -00001da0: 7320 666f 7220 6120 7465 7874 626f 6f6b s for a textbook │ │ │ │ │ -00001db0: 2061 6674 6572 2077 6520 636f 756c 6420 after we could │ │ │ │ │ -00001dc0: 6669 6e64 206e 6f20 7375 6974 6162 6c65 find no suitable │ │ │ │ │ -00001dd0: 2074 6f6f 6c20 666f 720a 7468 6973 2070 tool for.this p │ │ │ │ │ -00001de0: 7572 706f 7365 2e20 2045 7869 7374 696e urpose. Existin │ │ │ │ │ -00001df0: 6720 7363 656e 6520 7072 6f63 6573 736f g scene processo │ │ │ │ │ -00001e00: 7273 2065 6d70 6861 7369 7a65 6420 4755 rs emphasized GU │ │ │ │ │ -00001e10: 4973 2061 6e64 2f6f 720a 7068 6f74 6f2d Is and/or.photo- │ │ │ │ │ -00001e20: 7265 616c 6973 6d2c 2062 6f74 6820 756e realism, both un │ │ │ │ │ -00001e30: 2d75 7365 6675 6c20 746f 2075 732e 2020 -useful to us. │ │ │ │ │ -00001e40: 5765 2077 616e 7465 6420 746f 2070 726f We wanted to pro │ │ │ │ │ -00001e50: 6475 6365 2066 696e 656c 790a 7772 6f75 duce finely.wrou │ │ │ │ │ -00001e60: 6768 742c 206d 6174 6865 6d61 7469 6361 ght, mathematica │ │ │ │ │ -00001e70: 6c6c 792d 6261 7365 6420 696c 6c75 7374 lly-based illust │ │ │ │ │ -00001e80: 7261 7469 6f6e 7320 7769 7468 206e 6f20 rations with no │ │ │ │ │ -00001e90: 6578 7472 616e 656f 7573 2064 6574 6169 extraneous detai │ │ │ │ │ -00001ea0: 6c2e 0a0a 2020 20e2 8098 536b 6574 6368 l... ...Sketch │ │ │ │ │ -00001eb0: e280 9920 6163 6365 7074 7320 6120 7469 ... accepts a ti │ │ │ │ │ -00001ec0: 6e79 2073 6365 6e65 2064 6573 6372 6970 ny scene descrip │ │ │ │ │ -00001ed0: 7469 6f6e 206c 616e 6775 6167 6520 616e tion language an │ │ │ │ │ -00001ee0: 6420 6765 6e65 7261 7465 730a e280 9850 d generates....P │ │ │ │ │ -00001ef0: 5354 7269 636b 73e2 8099 206f 7220 e280 STricks... or .. │ │ │ │ │ -00001f00: 9854 696b 5a2f 5047 46e2 8099 2063 6f64 .TikZ/PGF... cod │ │ │ │ │ -00001f10: 6520 666f 7220 4c61 5465 582e 2020 5468 e for LaTeX. Th │ │ │ │ │ -00001f20: 6520 e280 9873 6b65 7463 68e2 8099 206c e ...sketch... l │ │ │ │ │ -00001f30: 616e 6775 6167 6520 6973 0a73 696d 696c anguage is.simil │ │ │ │ │ -00001f40: 6172 2074 6f20 e280 9850 5354 7269 636b ar to ...PSTrick │ │ │ │ │ -00001f50: 73e2 8099 2c20 6d61 6b69 6e67 2069 7420 s..., making it │ │ │ │ │ -00001f60: 6561 7379 2074 6f20 6c65 6172 6e20 666f easy to learn fo │ │ │ │ │ -00001f70: 7220 6375 7272 656e 7420 e280 9850 5354 r current ...PST │ │ │ │ │ -00001f80: 7269 636b 73e2 8099 0a75 7365 7273 2e20 ricks....users. │ │ │ │ │ -00001f90: 2053 6565 2077 7777 2e70 7374 7269 636b See www.pstrick │ │ │ │ │ -00001fa0: 732e 6465 2066 6f72 2069 6e66 6f72 6d61 s.de for informa │ │ │ │ │ -00001fb0: 7469 6f6e 206f 6e20 e280 9850 5354 7269 tion on ...PSTri │ │ │ │ │ -00001fc0: 636b 73e2 8099 2e20 20e2 8098 5469 6b5a cks.... ...TikZ │ │ │ │ │ -00001fd0: 2f50 4746 e280 990a 6973 2073 696d 696c /PGF....is simil │ │ │ │ │ -00001fe0: 6172 2e20 2053 6565 2068 7474 703a 2f2f ar. See http:// │ │ │ │ │ -00001ff0: 736f 7572 6365 666f 7267 652e 6e65 742f sourceforge.net/ │ │ │ │ │ -00002000: 7072 6f6a 6563 7473 2f70 6766 2e20 204f projects/pgf. O │ │ │ │ │ -00002010: 6e65 2063 616e 2065 6173 696c 790a 696e ne can easily.in │ │ │ │ │ -00002020: 636c 7564 6520 6172 6269 7472 6172 7920 clude arbitrary │ │ │ │ │ -00002030: e280 9850 5354 7269 636b 73e2 8099 206f ...PSTricks... o │ │ │ │ │ -00002040: 7220 e280 9854 696b 5a2f 5047 46e2 8099 r ...TikZ/PGF... │ │ │ │ │ -00002050: 2064 7261 7769 6e67 7320 616e 6420 7465 drawings and te │ │ │ │ │ -00002060: 7874 206f 7665 722c 2069 6e2c 0a6f 7220 xt over, in,.or │ │ │ │ │ -00002070: 756e 6465 7220 e280 9873 6b65 7463 68e2 under ...sketch. │ │ │ │ │ -00002080: 8099 2064 7261 7769 6e67 732c 2070 726f .. drawings, pro │ │ │ │ │ -00002090: 7669 6469 6e67 2061 6363 6573 7320 746f viding access to │ │ │ │ │ -000020a0: 2074 6865 2066 756c 6c20 706f 7765 7220 the full power │ │ │ │ │ -000020b0: 6f66 204c 6154 6558 0a74 6578 7420 616e of LaTeX.text an │ │ │ │ │ -000020c0: 6420 6d61 7468 656d 6174 6963 7320 666f d mathematics fo │ │ │ │ │ -000020d0: 726d 6174 7469 6e67 2069 6e20 6120 7468 rmatting in a th │ │ │ │ │ -000020e0: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional │ │ │ │ │ -000020f0: 7365 7474 696e 672e 0a0a 1f0a 4669 6c65 setting.....File │ │ │ │ │ -00002100: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -00002110: 4e6f 6465 3a20 5265 706f 7274 696e 6720 Node: Reporting │ │ │ │ │ -00002120: 6275 6773 2c20 204e 6578 743a 2043 6f6e bugs, Next: Con │ │ │ │ │ -00002130: 7472 6962 7574 696f 6e73 2c20 2050 7265 tributions, Pre │ │ │ │ │ -00002140: 763a 2041 626f 7574 2073 6b65 7463 682c v: About sketch, │ │ │ │ │ -00002150: 2020 5570 3a20 4162 6f75 7420 736b 6574 Up: About sket │ │ │ │ │ -00002160: 6368 0a0a 312e 3120 5265 706f 7274 696e ch..1.1 Reportin │ │ │ │ │ -00002170: 6720 6275 6773 2061 6e64 2072 6563 6f6d g bugs and recom │ │ │ │ │ -00002180: 6d65 6e64 696e 6720 696d 7072 6f76 656d mending improvem │ │ │ │ │ -00002190: 656e 7473 2e0a 3d3d 3d3d 3d3d 3d3d 3d3d ents..========== │ │ │ │ │ +00001930: 2020 2020 2020 2041 6464 696e 6720 6120 Adding a │ │ │ │ │ +00001940: 626f 7820 6172 6f75 6e64 2074 6865 2064 box around the d │ │ │ │ │ +00001950: 7261 7769 6e67 2e0a 2a20 4c61 6e67 7561 rawing..* Langua │ │ │ │ │ +00001960: 6765 3a3a 2020 2020 2020 2020 2020 2020 ge:: │ │ │ │ │ +00001970: 2020 2020 2020 2020 5365 7474 696e 6720 Setting │ │ │ │ │ +00001980: 7468 6520 6f75 7470 7574 206c 616e 6775 the output langu │ │ │ │ │ +00001990: 6167 652e 0a0a 4275 696c 6469 6e67 2061 age...Building a │ │ │ │ │ +000019a0: 2064 7261 7769 6e67 0a0a 2a20 4f76 6572 drawing..* Over │ │ │ │ │ +000019b0: 7669 6577 3a3a 2020 2020 2020 2020 2020 view:: │ │ │ │ │ +000019c0: 2020 2020 2020 2020 2020 4275 696c 6469 Buildi │ │ │ │ │ +000019d0: 6e67 2061 2073 7562 7374 616e 7469 616c ng a substantial │ │ │ │ │ +000019e0: 2064 7261 7769 6e67 2e0a 2a20 4120 7465 drawing..* A te │ │ │ │ │ +000019f0: 6368 6e69 6361 6c20 6472 6177 696e 673a chnical drawing: │ │ │ │ │ +00001a00: 3a20 2020 2020 2020 2020 416e 2065 7861 : An exa │ │ │ │ │ +00001a10: 6d70 6c65 2077 6974 6820 6669 6e65 2070 mple with fine p │ │ │ │ │ +00001a20: 6c61 6365 6d65 6e74 2e0a 2a20 4120 6869 lacement..* A hi │ │ │ │ │ +00001a30: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ +00001a40: 3a3a 2020 2020 2020 2020 416e 2065 7861 :: An exa │ │ │ │ │ +00001a50: 6d70 6c65 2077 6974 6820 7377 6565 7073 mple with sweeps │ │ │ │ │ +00001a60: 2061 6e64 2070 7574 732e 0a2a 2043 6176 and puts..* Cav │ │ │ │ │ +00001a70: 6561 7473 3a3a 2020 2020 2020 2020 2020 eats:: │ │ │ │ │ +00001a80: 2020 2020 2020 2020 2020 2057 6865 7265 Where │ │ │ │ │ +00001a90: 2074 726f 7562 6c65 2063 616e 206f 6363 trouble can occ │ │ │ │ │ +00001aa0: 7572 2e0a 0a43 6176 6561 7473 0a0a 2a20 ur...Caveats..* │ │ │ │ │ +00001ab0: 4c69 6d69 7473 206f 6e20 6572 726f 7220 Limits on error │ │ │ │ │ +00001ac0: 6465 7465 6374 696f 6e3a 3a20 2020 5768 detection:: Wh │ │ │ │ │ +00001ad0: 6174 2073 6b65 7463 6820 646f 6573 6e27 at sketch doesn' │ │ │ │ │ +00001ae0: 7420 646f 2e0a 2a20 436c 6970 7069 6e67 t do..* Clipping │ │ │ │ │ +00001af0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00001b00: 2020 2020 2020 4e6f 2063 6c69 7070 696e No clippin │ │ │ │ │ +00001b10: 6720 6174 2070 7265 7365 6e74 2e0a 2a20 g at present..* │ │ │ │ │ +00001b20: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r │ │ │ │ │ +00001b30: 656d 6f76 616c 3a3a 2020 2020 2020 496d emoval:: Im │ │ │ │ │ +00001b40: 7065 7266 6563 7469 6f6e 7320 746f 2066 perfections to f │ │ │ │ │ +00001b50: 6978 2e0a 0a48 6964 6465 6e20 7375 7266 ix...Hidden surf │ │ │ │ │ +00001b60: 6163 6520 7265 6d6f 7661 6c20 616e 6420 ace removal and │ │ │ │ │ +00001b70: 706f 6c79 676f 6e20 7370 6c69 7474 696e polygon splittin │ │ │ │ │ +00001b80: 670a 0a2a 2053 7461 7469 7374 6963 733a g..* Statistics: │ │ │ │ │ +00001b90: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00001ba0: 2020 2050 6572 666f 726d 616e 6365 206e Performance n │ │ │ │ │ +00001bb0: 756d 6265 7273 206f 6e20 6465 7074 6820 umbers on depth │ │ │ │ │ +00001bc0: 736f 7274 2e0a 2a20 4275 6773 2061 6e64 sort..* Bugs and │ │ │ │ │ +00001bd0: 2061 6e6f 6d61 6c69 6573 3a3a 2020 2020 anomalies:: │ │ │ │ │ +00001be0: 2020 2020 2020 496d 7065 7266 6563 7469 Imperfecti │ │ │ │ │ +00001bf0: 6f6e 7320 696e 2074 6869 7320 696d 706c ons in this impl │ │ │ │ │ +00001c00: 656d 656e 7461 7469 6f6e 2e0a 0a0a 1f0a ementation...... │ │ │ │ │ +00001c10: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00001c20: 6f2c 2020 4e6f 6465 3a20 4162 6f75 7420 o, Node: About │ │ │ │ │ +00001c30: 736b 6574 6368 2c20 204e 6578 743a 2049 sketch, Next: I │ │ │ │ │ +00001c40: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e │ │ │ │ │ +00001c50: 7861 6d70 6c65 2c20 2050 7265 763a 2054 xample, Prev: T │ │ │ │ │ +00001c60: 6f70 2c20 2055 703a 2054 6f70 0a0a 3120 op, Up: Top..1 │ │ │ │ │ +00001c70: 4162 6f75 7420 736b 6574 6368 0a2a 2a2a About sketch.*** │ │ │ │ │ +00001c80: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a2a 204d ***********..* M │ │ │ │ │ +00001c90: 656e 753a 0a0a 2a20 5265 706f 7274 696e enu:..* Reportin │ │ │ │ │ +00001ca0: 6720 6275 6773 3a3a 2020 2020 2020 2020 g bugs:: │ │ │ │ │ +00001cb0: 2020 2020 2020 4c65 7420 7573 6520 6b6e Let use kn │ │ │ │ │ +00001cc0: 6f77 2077 6861 7427 7320 7772 6f6e 6721 ow what's wrong! │ │ │ │ │ +00001cd0: 0a2a 2043 6f6e 7472 6962 7574 696f 6e73 .* Contributions │ │ │ │ │ +00001ce0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +00001cf0: 2048 6f77 2079 6f75 2063 616e 2068 656c How you can hel │ │ │ │ │ +00001d00: 702e 2e2e 2e0a 0ae2 8098 536b 6574 6368 p.........Sketch │ │ │ │ │ +00001d10: e280 9920 6973 2061 2073 6d61 6c6c 2c20 ... is a small, │ │ │ │ │ +00001d20: 7369 6d70 6c65 2073 7973 7465 6d20 666f simple system fo │ │ │ │ │ +00001d30: 7220 7072 6f64 7563 696e 6720 6c69 6e65 r producing line │ │ │ │ │ +00001d40: 2064 7261 7769 6e67 7320 6f66 2074 776f drawings of two │ │ │ │ │ +00001d50: 2d0a 6f72 2074 6872 6565 2d64 696d 656e -.or three-dimen │ │ │ │ │ +00001d60: 7369 6f6e 616c 206f 626a 6563 7473 2061 sional objects a │ │ │ │ │ +00001d70: 6e64 2073 6365 6e65 732e 2020 4974 2062 nd scenes. It b │ │ │ │ │ +00001d80: 6567 616e 2061 7320 6120 7761 7920 746f egan as a way to │ │ │ │ │ +00001d90: 206d 616b 650a 696c 6c75 7374 7261 7469 make.illustrati │ │ │ │ │ +00001da0: 6f6e 7320 666f 7220 6120 7465 7874 626f ons for a textbo │ │ │ │ │ +00001db0: 6f6b 2061 6674 6572 2077 6520 636f 756c ok after we coul │ │ │ │ │ +00001dc0: 6420 6669 6e64 206e 6f20 7375 6974 6162 d find no suitab │ │ │ │ │ +00001dd0: 6c65 2074 6f6f 6c20 666f 720a 7468 6973 le tool for.this │ │ │ │ │ +00001de0: 2070 7572 706f 7365 2e20 2045 7869 7374 purpose. Exist │ │ │ │ │ +00001df0: 696e 6720 7363 656e 6520 7072 6f63 6573 ing scene proces │ │ │ │ │ +00001e00: 736f 7273 2065 6d70 6861 7369 7a65 6420 sors emphasized │ │ │ │ │ +00001e10: 4755 4973 2061 6e64 2f6f 720a 7068 6f74 GUIs and/or.phot │ │ │ │ │ +00001e20: 6f2d 7265 616c 6973 6d2c 2062 6f74 6820 o-realism, both │ │ │ │ │ +00001e30: 756e 2d75 7365 6675 6c20 746f 2075 732e un-useful to us. │ │ │ │ │ +00001e40: 2020 5765 2077 616e 7465 6420 746f 2070 We wanted to p │ │ │ │ │ +00001e50: 726f 6475 6365 2066 696e 656c 790a 7772 roduce finely.wr │ │ │ │ │ +00001e60: 6f75 6768 742c 206d 6174 6865 6d61 7469 ought, mathemati │ │ │ │ │ +00001e70: 6361 6c6c 792d 6261 7365 6420 696c 6c75 cally-based illu │ │ │ │ │ +00001e80: 7374 7261 7469 6f6e 7320 7769 7468 206e strations with n │ │ │ │ │ +00001e90: 6f20 6578 7472 616e 656f 7573 2064 6574 o extraneous det │ │ │ │ │ +00001ea0: 6169 6c2e 0a0a 2020 20e2 8098 536b 6574 ail... ...Sket │ │ │ │ │ +00001eb0: 6368 e280 9920 6163 6365 7074 7320 6120 ch... accepts a │ │ │ │ │ +00001ec0: 7469 6e79 2073 6365 6e65 2064 6573 6372 tiny scene descr │ │ │ │ │ +00001ed0: 6970 7469 6f6e 206c 616e 6775 6167 6520 iption language │ │ │ │ │ +00001ee0: 616e 6420 6765 6e65 7261 7465 730a e280 and generates... │ │ │ │ │ +00001ef0: 9850 5354 7269 636b 73e2 8099 206f 7220 .PSTricks... or │ │ │ │ │ +00001f00: e280 9854 696b 5a2f 5047 46e2 8099 2063 ...TikZ/PGF... c │ │ │ │ │ +00001f10: 6f64 6520 666f 7220 4c61 5465 582e 2020 ode for LaTeX. │ │ │ │ │ +00001f20: 5468 6520 e280 9873 6b65 7463 68e2 8099 The ...sketch... │ │ │ │ │ +00001f30: 206c 616e 6775 6167 6520 6973 0a73 696d language is.sim │ │ │ │ │ +00001f40: 696c 6172 2074 6f20 e280 9850 5354 7269 ilar to ...PSTri │ │ │ │ │ +00001f50: 636b 73e2 8099 2c20 6d61 6b69 6e67 2069 cks..., making i │ │ │ │ │ +00001f60: 7420 6561 7379 2074 6f20 6c65 6172 6e20 t easy to learn │ │ │ │ │ +00001f70: 666f 7220 6375 7272 656e 7420 e280 9850 for current ...P │ │ │ │ │ +00001f80: 5354 7269 636b 73e2 8099 0a75 7365 7273 STricks....users │ │ │ │ │ +00001f90: 2e20 2053 6565 2077 7777 2e70 7374 7269 . See www.pstri │ │ │ │ │ +00001fa0: 636b 732e 6465 2066 6f72 2069 6e66 6f72 cks.de for infor │ │ │ │ │ +00001fb0: 6d61 7469 6f6e 206f 6e20 e280 9850 5354 mation on ...PST │ │ │ │ │ +00001fc0: 7269 636b 73e2 8099 2e20 20e2 8098 5469 ricks.... ...Ti │ │ │ │ │ +00001fd0: 6b5a 2f50 4746 e280 990a 6973 2073 696d kZ/PGF....is sim │ │ │ │ │ +00001fe0: 696c 6172 2e20 2053 6565 2068 7474 703a ilar. See http: │ │ │ │ │ +00001ff0: 2f2f 736f 7572 6365 666f 7267 652e 6e65 //sourceforge.ne │ │ │ │ │ +00002000: 742f 7072 6f6a 6563 7473 2f70 6766 2e20 t/projects/pgf. │ │ │ │ │ +00002010: 204f 6e65 2063 616e 2065 6173 696c 790a One can easily. │ │ │ │ │ +00002020: 696e 636c 7564 6520 6172 6269 7472 6172 include arbitrar │ │ │ │ │ +00002030: 7920 e280 9850 5354 7269 636b 73e2 8099 y ...PSTricks... │ │ │ │ │ +00002040: 206f 7220 e280 9854 696b 5a2f 5047 46e2 or ...TikZ/PGF. │ │ │ │ │ +00002050: 8099 2064 7261 7769 6e67 7320 616e 6420 .. drawings and │ │ │ │ │ +00002060: 7465 7874 206f 7665 722c 2069 6e2c 0a6f text over, in,.o │ │ │ │ │ +00002070: 7220 756e 6465 7220 e280 9873 6b65 7463 r under ...sketc │ │ │ │ │ +00002080: 68e2 8099 2064 7261 7769 6e67 732c 2070 h... drawings, p │ │ │ │ │ +00002090: 726f 7669 6469 6e67 2061 6363 6573 7320 roviding access │ │ │ │ │ +000020a0: 746f 2074 6865 2066 756c 6c20 706f 7765 to the full powe │ │ │ │ │ +000020b0: 7220 6f66 204c 6154 6558 0a74 6578 7420 r of LaTeX.text │ │ │ │ │ +000020c0: 616e 6420 6d61 7468 656d 6174 6963 7320 and mathematics │ │ │ │ │ +000020d0: 666f 726d 6174 7469 6e67 2069 6e20 6120 formatting in a │ │ │ │ │ +000020e0: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona │ │ │ │ │ +000020f0: 6c20 7365 7474 696e 672e 0a0a 1f0a 4669 l setting.....Fi │ │ │ │ │ +00002100: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +00002110: 2020 4e6f 6465 3a20 5265 706f 7274 696e Node: Reportin │ │ │ │ │ +00002120: 6720 6275 6773 2c20 204e 6578 743a 2043 g bugs, Next: C │ │ │ │ │ +00002130: 6f6e 7472 6962 7574 696f 6e73 2c20 2050 ontributions, P │ │ │ │ │ +00002140: 7265 763a 2041 626f 7574 2073 6b65 7463 rev: About sketc │ │ │ │ │ +00002150: 682c 2020 5570 3a20 4162 6f75 7420 736b h, Up: About sk │ │ │ │ │ +00002160: 6574 6368 0a0a 312e 3120 5265 706f 7274 etch..1.1 Report │ │ │ │ │ +00002170: 696e 6720 6275 6773 2061 6e64 2072 6563 ing bugs and rec │ │ │ │ │ +00002180: 6f6d 6d65 6e64 696e 6720 696d 7072 6f76 ommending improv │ │ │ │ │ +00002190: 656d 656e 7473 2e0a 3d3d 3d3d 3d3d 3d3d ements..======== │ │ │ │ │ 000021a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ 000021b0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -000021c0: 3d3d 3d3d 3d3d 3d0a 0a54 6865 2067 726f =======..The gro │ │ │ │ │ -000021d0: 7570 2068 7474 703a 2f2f 6772 6f75 7073 up http://groups │ │ │ │ │ -000021e0: 2e67 6f6f 676c 652e 636f 6d2f 6772 6f75 .google.com/grou │ │ │ │ │ -000021f0: 702f 736b 6574 6368 2d75 7365 7273 2069 p/sketch-users i │ │ │ │ │ -00002200: 7320 7468 6520 6265 7374 2070 6c61 6365 s the best place │ │ │ │ │ -00002210: 0a74 6f20 7265 706f 7274 2062 7567 7320 .to report bugs │ │ │ │ │ -00002220: 616e 6420 6d61 6b65 2069 6d70 726f 7665 and make improve │ │ │ │ │ -00002230: 6d65 6e74 732e 2020 4120 7365 636f 6e64 ments. A second │ │ │ │ │ -00002240: 206d 6574 686f 6420 7468 6174 2077 696c method that wil │ │ │ │ │ -00002250: 6c0a 7072 6f62 6162 6c79 2070 726f 6475 l.probably produ │ │ │ │ │ -00002260: 6365 2061 2073 6c6f 7765 7220 7265 7370 ce a slower resp │ │ │ │ │ -00002270: 6f6e 7365 2069 7320 656d 6169 6c20 746f onse is email to │ │ │ │ │ -00002280: 2073 6b65 7463 6840 6672 6f6e 7469 6572 sketch@frontier │ │ │ │ │ -00002290: 6e65 742e 6e65 742e 0a57 6520 7769 6c6c net.net..We will │ │ │ │ │ -000022a0: 2074 7279 2074 6f20 7265 7370 6f6e 642c try to respond, │ │ │ │ │ -000022b0: 2062 7574 2063 616e 2774 2070 726f 6d69 but can't promi │ │ │ │ │ -000022c0: 7365 2e20 2049 6e20 616e 7920 6576 656e se. In any even │ │ │ │ │ -000022d0: 742c 2064 6f6e 2774 2062 650a 6f66 6665 t, don't be.offe │ │ │ │ │ -000022e0: 6e64 6564 2069 6620 6120 7265 706c 7920 nded if a reply │ │ │ │ │ -000022f0: 6973 206e 6f74 2066 6f72 7468 636f 6d69 is not forthcomi │ │ │ │ │ -00002300: 6e67 2e20 2057 6527 7265 206a 7573 7420 ng. We're just │ │ │ │ │ -00002310: 6275 7379 2061 6e64 2077 696c 6c20 6765 busy and will ge │ │ │ │ │ -00002320: 7420 746f 0a79 6f75 7220 7375 6767 6573 t to.your sugges │ │ │ │ │ -00002330: 7469 6f6e 2065 7665 6e74 7561 6c6c 792e tion eventually. │ │ │ │ │ -00002340: 0a0a 2020 2046 6f72 2062 7567 732c 2061 .. For bugs, a │ │ │ │ │ -00002350: 7474 6163 6820 6120 e280 9873 6b65 7463 ttach a ...sketc │ │ │ │ │ -00002360: 68e2 8099 2069 6e70 7574 2066 696c 6520 h... input file │ │ │ │ │ -00002370: 7468 6174 2063 6175 7365 7320 7468 6520 that causes the │ │ │ │ │ -00002380: 6261 6420 6265 6861 7669 6f72 2e0a 456d bad behavior..Em │ │ │ │ │ -00002390: 6265 6420 636f 6d6d 656e 7473 2074 6861 bed comments tha │ │ │ │ │ -000023a0: 7420 6578 706c 6169 6e20 7768 6174 2074 t explain what t │ │ │ │ │ -000023b0: 6f20 6c6f 6f6b 2066 6f72 2069 6e20 7468 o look for in th │ │ │ │ │ -000023c0: 6520 6265 6861 7669 6f72 206f 6620 e280 e behavior of .. │ │ │ │ │ -000023d0: 9873 6b65 7463 68e2 8099 0a6f 7220 6974 .sketch....or it │ │ │ │ │ -000023e0: 7320 6f75 7470 7574 2e0a 0a20 2020 4120 s output... A │ │ │ │ │ -000023f0: 7265 636f 6d6d 656e 6461 7469 6f6e 2066 recommendation f │ │ │ │ │ -00002400: 6f72 2069 6d70 726f 7665 6d65 6e74 2066 or improvement f │ │ │ │ │ -00002410: 726f 6d20 6f6e 6520 756e 6b6e 6f77 6e20 rom one unknown │ │ │ │ │ -00002420: 7065 7273 6f6e 2063 6f75 6e74 7320 6173 person counts as │ │ │ │ │ -00002430: 0a6f 6e65 2076 6f74 652e 2020 5765 2075 .one vote. We u │ │ │ │ │ -00002440: 7365 206f 7665 7261 6c6c 2076 6f74 6520 se overall vote │ │ │ │ │ -00002450: 7461 6c6c 6965 7320 746f 2064 6563 6964 tallies to decid │ │ │ │ │ -00002460: 6520 7768 6174 2074 6f20 646f 206e 6578 e what to do nex │ │ │ │ │ -00002470: 7420 6173 0a72 6573 6f75 7263 6573 2070 t as.resources p │ │ │ │ │ -00002480: 6572 6d69 742e 2020 5765 2072 6573 6572 ermit. We reser │ │ │ │ │ -00002490: 7665 2074 6865 2072 6967 6874 2074 6f20 ve the right to │ │ │ │ │ -000024a0: 6173 7369 676e 2061 6e79 206e 756d 6265 assign any numbe │ │ │ │ │ -000024b0: 7220 6f66 2076 6f74 6573 2074 6f0a 7375 r of votes to.su │ │ │ │ │ -000024c0: 6767 6573 7469 6f6e 7320 6672 6f6d 2070 ggestions from p │ │ │ │ │ -000024d0: 656f 706c 6520 7768 6f20 6861 7665 2062 eople who have b │ │ │ │ │ -000024e0: 6565 6e20 6865 6c70 6675 6c20 616e 6420 een helpful and │ │ │ │ │ -000024f0: 7375 7070 6f72 7469 7665 2069 6e20 7468 supportive in th │ │ │ │ │ -00002500: 650a 7061 7374 2e0a 0a1f 0a46 696c 653a e.past.....File: │ │ │ │ │ -00002510: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -00002520: 6f64 653a 2043 6f6e 7472 6962 7574 696f ode: Contributio │ │ │ │ │ -00002530: 6e73 2c20 2050 7265 763a 2052 6570 6f72 ns, Prev: Repor │ │ │ │ │ -00002540: 7469 6e67 2062 7567 732c 2020 5570 3a20 ting bugs, Up: │ │ │ │ │ -00002550: 4162 6f75 7420 736b 6574 6368 0a0a 312e About sketch..1. │ │ │ │ │ -00002560: 3220 436f 6e74 7269 6275 7469 6f6e 730a 2 Contributions. │ │ │ │ │ -00002570: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -00002580: 3d0a 0a49 6620 796f 7520 696e 7465 6e64 =..If you intend │ │ │ │ │ -00002590: 2074 6f20 696d 706c 656d 656e 7420 616e to implement an │ │ │ │ │ -000025a0: 2065 6e68 616e 6365 6d65 6e74 206f 6620 enhancement of │ │ │ │ │ -000025b0: 796f 7572 206f 776e 2c20 7468 6174 2773 your own, that's │ │ │ │ │ -000025c0: 2074 6572 7269 6669 6321 0a43 6f6e 7369 terrific!.Consi │ │ │ │ │ -000025d0: 6465 7220 636f 6c6c 6162 6f72 6174 696e der collaboratin │ │ │ │ │ -000025e0: 6720 7769 7468 2075 7320 6669 7273 7420 g with us first │ │ │ │ │ -000025f0: 746f 2073 6565 2069 6620 7765 2772 6520 to see if we're │ │ │ │ │ -00002600: 616c 7265 6164 7920 776f 726b 696e 6720 already working │ │ │ │ │ -00002610: 6f6e 0a79 6f75 7220 6964 6561 206f 7220 on.your idea or │ │ │ │ │ -00002620: 6966 2077 6520 6361 6e20 7573 6520 796f if we can use yo │ │ │ │ │ -00002630: 7572 2077 6f72 6b20 696e 2074 6865 206f ur work in the o │ │ │ │ │ -00002640: 6666 6963 6961 6c20 7265 6c65 6173 652e fficial release. │ │ │ │ │ -00002650: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -00002660: 6578 3030 302e 706e 6722 2074 6578 743d ex000.png" text= │ │ │ │ │ -00002670: 2249 6d61 6765 2065 7830 3030 206f 6d69 "Image ex000 omi │ │ │ │ │ -00002680: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00002690: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -000026a0: 756d 656e 742e 2200 085d 0a0a 1f0a 4669 ument."..]....Fi │ │ │ │ │ -000026b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -000026c0: 2020 4e6f 6465 3a20 496e 7472 6f64 7563 Node: Introduc │ │ │ │ │ -000026d0: 7469 6f6e 2062 7920 6578 616d 706c 652c tion by example, │ │ │ │ │ -000026e0: 2020 4e65 7874 3a20 496e 7075 7420 6c61 Next: Input la │ │ │ │ │ -000026f0: 6e67 7561 6765 2c20 2050 7265 763a 2041 nguage, Prev: A │ │ │ │ │ -00002700: 626f 7574 2073 6b65 7463 682c 2020 5570 bout sketch, Up │ │ │ │ │ -00002710: 3a20 546f 700a 0a32 2049 6e74 726f 6475 : Top..2 Introdu │ │ │ │ │ -00002720: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example │ │ │ │ │ -00002730: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .*************** │ │ │ │ │ -00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6520 **********..The │ │ │ │ │ -00002750: e280 9873 6b65 7463 68e2 8099 2069 6e70 ...sketch... inp │ │ │ │ │ -00002760: 7574 206c 616e 6775 6167 6520 7769 6c6c ut language will │ │ │ │ │ -00002770: 2073 6565 6d20 6661 6d69 6c69 6172 2074 seem familiar t │ │ │ │ │ -00002780: 6f20 7573 6572 7320 6f66 2074 6865 0ae2 o users of the.. │ │ │ │ │ -00002790: 8098 5053 5472 6963 6b73 e280 9920 7061 ..PSTricks... pa │ │ │ │ │ -000027a0: 636b 6167 6520 666f 7220 4c61 5465 582e ckage for LaTeX. │ │ │ │ │ -000027b0: 2020 5468 6520 666f 6c6c 6f77 696e 6720 The following │ │ │ │ │ -000027c0: 7072 6f67 7261 6d20 6472 6177 7320 6120 program draws a │ │ │ │ │ -000027d0: 7472 6961 6e67 756c 6172 0a70 6f6c 7967 triangular.polyg │ │ │ │ │ -000027e0: 6f6e 2070 6965 7263 6564 2062 7920 6120 on pierced by a │ │ │ │ │ -000027f0: 6c69 6e65 2e0a 2020 706f 6c79 676f 6e28 line.. polygon( │ │ │ │ │ -00002800: 302c 302c 3129 2831 2c30 2c30 2928 302c 0,0,1)(1,0,0)(0, │ │ │ │ │ -00002810: 312c 3029 0a20 206c 696e 6528 2d31 2c2d 1,0). line(-1,- │ │ │ │ │ -00002820: 312c 2d31 2928 322c 322c 3229 0a54 6865 1,-1)(2,2,2).The │ │ │ │ │ -00002830: 2063 6f6f 7264 696e 6174 6520 7379 7374 coordinate syst │ │ │ │ │ -00002840: 656d 2069 7320 6120 7374 616e 6461 7264 em is a standard │ │ │ │ │ -00002850: 2072 6967 6874 2d68 616e 6465 6420 4361 right-handed Ca │ │ │ │ │ -00002860: 7274 6573 6961 6e20 6f6e 652e 0a0a 0008 rtesian one..... │ │ │ │ │ -00002870: 5b69 6d61 6765 2073 7263 3d22 6578 3031 [image src="ex01 │ │ │ │ │ -00002880: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00002890: 6765 2065 7830 3130 206f 6d69 7474 6564 ge ex010 omitted │ │ │ │ │ -000028a0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -000028b0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -000028c0: 742e 2200 085d 0a0a 2a20 4d65 6e75 3a0a t."..]..* Menu:. │ │ │ │ │ -000028d0: 0a2a 2048 656c 6c6f 2077 6f72 6c64 3a3a .* Hello world:: │ │ │ │ │ -000028e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000028f0: 2053 696d 706c 6573 7420 706f 7373 6962 Simplest possib │ │ │ │ │ -00002900: 6c65 20e2 8098 736b 6574 6368 e280 9920 le ...sketch... │ │ │ │ │ -00002910: 7072 6f67 7261 6d2e 0a2a 2044 7261 7769 program..* Drawi │ │ │ │ │ -00002920: 6e67 206f 7074 696f 6e73 3a3a 2020 2020 ng options:: │ │ │ │ │ -00002930: 2020 2020 2020 2020 2043 6f6e 7472 6f6c Control │ │ │ │ │ -00002940: 6c69 6e67 206f 626a 6563 7420 6170 7065 ling object appe │ │ │ │ │ -00002950: 6172 616e 6365 2e0a 2a20 4472 6177 696e arance..* Drawin │ │ │ │ │ -00002960: 6720 6120 736f 6c69 643a 3a20 2020 2020 g a solid:: │ │ │ │ │ -00002970: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ -00002980: 616e 206f 626a 6563 7420 7769 7468 2033 an object with 3 │ │ │ │ │ -00002990: 6420 6170 7065 6172 616e 6365 2e0a 2a20 d appearance..* │ │ │ │ │ -000029a0: 5370 6563 6961 6c20 6f62 6a65 6374 733a Special objects: │ │ │ │ │ -000029b0: 3a20 2020 2020 2020 2020 2020 2020 4c61 : La │ │ │ │ │ -000029c0: 7969 6e67 2054 6558 206f 7665 722c 2069 ying TeX over, i │ │ │ │ │ -000029d0: 6e2c 206f 7220 756e 6465 7220 6472 6177 n, or under draw │ │ │ │ │ -000029e0: 696e 6773 2e0a 2a20 4f62 6a65 6374 2074 ings..* Object t │ │ │ │ │ -000029f0: 7261 6e73 666f 726d 733a 3a20 2020 2020 ransforms:: │ │ │ │ │ -00002a00: 2020 2020 2020 526f 7461 7465 2c20 7472 Rotate, tr │ │ │ │ │ -00002a10: 616e 736c 6174 652c 2073 6361 6c65 2c20 anslate, scale, │ │ │ │ │ -00002a20: 616e 6420 6f74 6865 7273 2e0a 2a20 5265 and others..* Re │ │ │ │ │ -00002a30: 7065 6174 6564 206f 626a 6563 7473 3a3a peated objects:: │ │ │ │ │ -00002a40: 2020 2020 2020 2020 2020 2020 4d61 6b69 Maki │ │ │ │ │ -00002a50: 6e67 2074 7261 6e73 666f 726d 6564 2063 ng transformed c │ │ │ │ │ -00002a60: 6f70 6965 732e 0a2a 2053 7765 7074 206f opies..* Swept o │ │ │ │ │ -00002a70: 626a 6563 7473 3a3a 2020 2020 2020 2020 bjects:: │ │ │ │ │ -00002a80: 2020 2020 2020 2053 7765 6570 696e 6720 Sweeping │ │ │ │ │ -00002a90: 6f62 6a65 6374 7320 696e 2073 7061 6365 objects in space │ │ │ │ │ -00002aa0: 2074 6f20 6d61 6b65 206e 6577 2073 6861 to make new sha │ │ │ │ │ -00002ab0: 7065 732e 0a0a 1f0a 4669 6c65 3a20 736b pes.....File: sk │ │ │ │ │ -00002ac0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00002ad0: 3a20 4865 6c6c 6f20 776f 726c 642c 2020 : Hello world, │ │ │ │ │ -00002ae0: 4e65 7874 3a20 4472 6177 696e 6720 6f70 Next: Drawing op │ │ │ │ │ -00002af0: 7469 6f6e 732c 2020 5072 6576 3a20 496e tions, Prev: In │ │ │ │ │ -00002b00: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex │ │ │ │ │ -00002b10: 616d 706c 652c 2020 5570 3a20 496e 7472 ample, Up: Intr │ │ │ │ │ -00002b20: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ -00002b30: 706c 650a 0a32 2e31 2048 656c 6c6f 2077 ple..2.1 Hello w │ │ │ │ │ -00002b40: 6f72 6c64 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d orld.=========== │ │ │ │ │ -00002b50: 3d3d 3d3d 0a0a 5468 6520 e280 9873 6b65 ====..The ...ske │ │ │ │ │ -00002b60: 7463 68e2 8099 2070 726f 6772 616d 2061 tch... program a │ │ │ │ │ -00002b70: 626f 7665 2069 7320 6e65 6172 6c79 2074 bove is nearly t │ │ │ │ │ -00002b80: 6865 2073 696d 706c 6573 7420 6f6e 6520 he simplest one │ │ │ │ │ -00002b90: 706f 7373 6962 6c65 2c20 7468 650a 6571 possible, the.eq │ │ │ │ │ -00002ba0: 7569 7661 6c65 6e74 206f 6620 6120 2268 uivalent of a "h │ │ │ │ │ -00002bb0: 656c 6c6f 2077 6f72 6c64 2220 7072 6f67 ello world" prog │ │ │ │ │ -00002bc0: 7261 6d20 796f 7520 6d69 6768 7420 6669 ram you might fi │ │ │ │ │ -00002bd0: 6e64 2061 7420 7468 6520 7374 6172 7420 nd at the start │ │ │ │ │ -00002be0: 6f66 2061 0a70 726f 6772 616d 6d69 6e67 of a.programming │ │ │ │ │ -00002bf0: 206c 616e 6775 6167 6520 7465 7874 2e20 language text. │ │ │ │ │ -00002c00: 2049 6620 6974 2069 7320 7361 7665 6420 If it is saved │ │ │ │ │ -00002c10: 696e 2074 6865 2066 696c 6520 e280 9873 in the file ...s │ │ │ │ │ -00002c20: 696d 706c 652e 736b e280 992c 2074 6865 imple.sk..., the │ │ │ │ │ -00002c30: 6e0a 7468 6520 636f 6d6d 616e 640a 2020 n.the command. │ │ │ │ │ -00002c40: 736b 6574 6368 2073 696d 706c 652e 736b sketch simple.sk │ │ │ │ │ -00002c50: 202d 6f20 7369 6d70 6c65 2e74 6578 0a63 -o simple.tex.c │ │ │ │ │ -00002c60: 7265 6174 6573 2061 2066 696c 6520 e280 reates a file .. │ │ │ │ │ -00002c70: 9873 696d 706c 652e 7465 78e2 8099 2063 .simple.tex... c │ │ │ │ │ -00002c80: 6f6e 7461 696e 696e 6720 e280 9850 5354 ontaining ...PST │ │ │ │ │ -00002c90: 7269 636b 73e2 8099 2063 6f6d 6d61 6e64 ricks... command │ │ │ │ │ -00002ca0: 7320 746f 2064 7261 7720 7468 6573 650a s to draw these. │ │ │ │ │ -00002cb0: 6f62 6a65 6374 7320 6f6e 2070 6170 6572 objects on paper │ │ │ │ │ -00002cc0: 2e20 2054 6865 2063 6f6e 7465 6e74 7320 . The contents │ │ │ │ │ -00002cd0: 6f66 20e2 8098 7369 6d70 6c65 2e74 6578 of ...simple.tex │ │ │ │ │ -00002ce0: e280 9920 6c6f 6f6b 206c 696b 6520 7468 ... look like th │ │ │ │ │ -00002cf0: 6973 2e0a 2020 5c62 6567 696e 7b70 7370 is.. \begin{psp │ │ │ │ │ -00002d00: 6963 7475 7265 7d28 2d31 2c2d 3129 2832 icture}(-1,-1)(2 │ │ │ │ │ -00002d10: 2c32 290a 2020 5c70 7374 5665 7262 7b31 ,2). \pstVerb{1 │ │ │ │ │ -00002d20: 2073 6574 6c69 6e65 6a6f 696e 7d0a 2020 setlinejoin}. │ │ │ │ │ -00002d30: 5c70 736c 696e 6528 2d31 2c2d 3129 282e \psline(-1,-1)(. │ │ │ │ │ -00002d40: 3333 332c 2e33 3333 290a 2020 5c70 7370 333,.333). \psp │ │ │ │ │ -00002d50: 6f6c 7967 6f6e 5b66 696c 6c73 7479 6c65 olygon[fillstyle │ │ │ │ │ -00002d60: 3d73 6f6c 6964 2c66 696c 6c63 6f6c 6f72 =solid,fillcolor │ │ │ │ │ -00002d70: 3d77 6869 7465 5d28 302c 3029 2831 2c30 =white](0,0)(1,0 │ │ │ │ │ -00002d80: 2928 302c 3129 0a20 205c 7073 6c69 6e65 )(0,1). \psline │ │ │ │ │ -00002d90: 282e 3333 332c 2e33 3333 2928 322c 3229 (.333,.333)(2,2) │ │ │ │ │ -00002da0: 0a20 205c 656e 647b 7073 7069 6374 7572 . \end{pspictur │ │ │ │ │ -00002db0: 657d 0a54 6865 2068 6964 6465 6e20 7375 e}.The hidden su │ │ │ │ │ -00002dc0: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm │ │ │ │ │ -00002dd0: 6f66 20e2 8098 736b 6574 6368 e280 9920 of ...sketch... │ │ │ │ │ -00002de0: 6861 7320 7370 6c69 7420 7468 6520 6c69 has split the li │ │ │ │ │ -00002df0: 6e65 2069 6e74 6f20 7477 6f0a 7069 6563 ne into two.piec │ │ │ │ │ -00002e00: 6573 2061 6e64 206f 7264 6572 6564 2074 es and ordered t │ │ │ │ │ -00002e10: 6865 2074 6872 6565 2072 6573 756c 7469 he three resulti │ │ │ │ │ -00002e20: 6e67 206f 626a 6563 7473 2073 6f20 7468 ng objects so th │ │ │ │ │ -00002e30: 6174 2074 6865 2063 6f72 7265 6374 0a70 at the correct.p │ │ │ │ │ -00002e40: 6f72 7469 6f6e 206f 6620 7468 6520 6c69 ortion of the li │ │ │ │ │ -00002e50: 6e65 2069 7320 6869 6464 656e 2e0a 0a20 ne is hidden... │ │ │ │ │ -00002e60: 2020 4966 2079 6f75 2776 6520 6e6f 7469 If you've noti │ │ │ │ │ -00002e70: 6365 6420 7468 6174 2074 6865 2070 726f ced that the pro │ │ │ │ │ -00002e80: 6a65 6374 696f 6e20 7765 2061 7265 2075 jection we are u │ │ │ │ │ -00002e90: 7369 6e67 2073 6565 6d73 2065 7175 6976 sing seems equiv │ │ │ │ │ -00002ea0: 616c 656e 740a 746f 2065 7261 7369 6e67 alent.to erasing │ │ │ │ │ -00002eb0: 2074 6865 207a 2d63 6f6f 7264 696e 6174 the z-coordinat │ │ │ │ │ -00002ec0: 6520 6f66 2074 6865 2074 6872 6565 2d64 e of the three-d │ │ │ │ │ -00002ed0: 696d 656e 7369 6f6e 616c 2069 6e70 7574 imensional input │ │ │ │ │ -00002ee0: 2070 6f69 6e74 732c 2070 6174 0a79 6f75 points, pat.you │ │ │ │ │ -00002ef0: 7273 656c 6620 6f6e 2074 6865 2062 6163 rself on the bac │ │ │ │ │ -00002f00: 6b2e 2020 596f 7520 6172 6520 636f 7272 k. You are corr │ │ │ │ │ -00002f10: 6563 742e 2020 5468 6973 2069 7320 6361 ect. This is ca │ │ │ │ │ -00002f20: 6c6c 6564 2061 20e2 809c 7061 7261 6c6c lled a ...parall │ │ │ │ │ -00002f30: 656c 0a70 726f 6a65 6374 696f 6ee2 809d el.projection... │ │ │ │ │ -00002f40: 2e20 2054 6865 207a 2d63 6f6f 7264 696e . The z-coordin │ │ │ │ │ -00002f50: 6174 6520 6178 6973 2069 7320 706f 696e ate axis is poin │ │ │ │ │ -00002f60: 7469 6e67 2073 7472 6169 6768 7420 6f75 ting straight ou │ │ │ │ │ -00002f70: 7420 6f66 2074 6865 0a70 6170 6572 2061 t of the.paper a │ │ │ │ │ -00002f80: 7420 7573 2c20 7768 696c 6520 7468 6520 t us, while the │ │ │ │ │ -00002f90: 782d 2061 6e64 2079 2d61 7865 7320 706f x- and y-axes po │ │ │ │ │ -00002fa0: 696e 7420 746f 2074 6865 2072 6967 6874 int to the right │ │ │ │ │ -00002fb0: 2061 6e64 2075 7020 6173 2075 7375 616c and up as usual │ │ │ │ │ -00002fc0: 2e0a 0a20 2020 5468 6520 7265 7375 6c74 ... The result │ │ │ │ │ -00002fd0: 696e 6720 7069 6374 7572 6520 6669 6c65 ing picture file │ │ │ │ │ -00002fe0: 2063 616e 2062 6520 696e 636c 7564 6564 can be included │ │ │ │ │ -00002ff0: 2069 6e20 6120 4c61 5465 5820 646f 6375 in a LaTeX docu │ │ │ │ │ -00003000: 6d65 6e74 2077 6974 680a 5c69 6e70 7574 ment with.\input │ │ │ │ │ -00003010: 7b73 696d 706c 657d 2e20 2041 6c74 6572 {simple}. Alter │ │ │ │ │ -00003020: 6e61 7465 6c79 2c20 6164 6469 6e67 2074 nately, adding t │ │ │ │ │ -00003030: 6865 2063 6f6d 6d61 6e64 206c 696e 6520 he command line │ │ │ │ │ -00003040: 6f70 7469 6f6e 20e2 8098 2d54 e280 9928 option ...-T...( │ │ │ │ │ -00003050: 3129 0a63 6175 7365 7320 7468 6520 e280 1).causes the .. │ │ │ │ │ -00003060: 9870 7370 6963 7475 7265 e280 9920 746f .pspicture... to │ │ │ │ │ -00003070: 2062 6520 7772 6170 7065 6420 696e 2061 be wrapped in a │ │ │ │ │ -00003080: 2073 686f 7274 2062 7574 2063 6f6d 706c short but compl │ │ │ │ │ -00003090: 6574 6520 646f 6375 6d65 6e74 2c0a 7265 ete document,.re │ │ │ │ │ -000030a0: 6164 7920 746f 2072 756e 2074 686f 7567 ady to run thoug │ │ │ │ │ -000030b0: 6820 4c61 5465 582e 2020 496e 2061 2066 h LaTeX. In a f │ │ │ │ │ -000030c0: 696e 6973 6865 642c 2074 7970 6573 6574 inished, typeset │ │ │ │ │ -000030d0: 2064 6f63 756d 656e 742c 2074 6865 2070 document, the p │ │ │ │ │ -000030e0: 6963 7475 7265 0a6c 6f6f 6b73 206c 696b icture.looks lik │ │ │ │ │ -000030f0: 6520 7468 6973 2e20 2028 5468 6520 6178 e this. (The ax │ │ │ │ │ -00003100: 6573 2068 6176 6520 6265 656e 2061 6464 es have been add │ │ │ │ │ -00003110: 6564 2069 6e20 6c69 6768 7420 6772 6179 ed in light gray │ │ │ │ │ -00003120: 2e29 0a0a 0008 5b69 6d61 6765 2073 7263 .)....[image src │ │ │ │ │ -00003130: 3d22 6578 3032 302e 706e 6722 2074 6578 ="ex020.png" tex │ │ │ │ │ -00003140: 743d 2249 6d61 6765 2065 7830 3230 206f t="Image ex020 o │ │ │ │ │ -00003150: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ -00003160: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ -00003170: 6f63 756d 656e 742e 2200 085d 0a0a 4974 ocument."..]..It │ │ │ │ │ -00003180: 2069 7320 696d 706f 7274 616e 7420 746f is important to │ │ │ │ │ -00003190: 206b 6e6f 7720 7468 6174 206f 6e6c 7920 know that only │ │ │ │ │ -000031a0: 7468 6520 226f 7574 7369 6465 2220 6f66 the "outside" of │ │ │ │ │ -000031b0: 2061 2070 6f6c 7967 6f6e 2069 7320 6e6f a polygon is no │ │ │ │ │ -000031c0: 726d 616c 6c79 0a64 7261 776e 2e20 2054 rmally.drawn. T │ │ │ │ │ -000031d0: 6865 20e2 809c 6f75 7473 6964 65e2 809d he ...outside... │ │ │ │ │ -000031e0: 2069 7320 7768 6572 6520 7468 6520 7665 is where the ve │ │ │ │ │ -000031f0: 7274 6963 6573 2067 6976 656e 2069 6e20 rtices given in │ │ │ │ │ -00003200: 7468 6520 e280 9870 6f6c 7967 6f6e e280 the ...polygon.. │ │ │ │ │ -00003210: 990a 636f 6d6d 616e 6420 6170 7065 6172 ..command appear │ │ │ │ │ -00003220: 2069 6e20 5f63 6f75 6e74 6572 2d63 6c6f in _counter-clo │ │ │ │ │ -00003230: 636b 7769 7365 5f20 6f72 6465 722e 2020 ckwise_ order. │ │ │ │ │ -00003240: 5468 7573 2c20 6966 2074 6865 2063 6f6d Thus, if the com │ │ │ │ │ -00003250: 6d61 6e64 2061 626f 7665 0a68 6164 2062 mand above.had b │ │ │ │ │ -00003260: 6565 6e0a 2020 706f 6c79 676f 6e28 302c een. polygon(0, │ │ │ │ │ -00003270: 312c 3029 2831 2c30 2c30 2928 302c 302c 1,0)(1,0,0)(0,0, │ │ │ │ │ -00003280: 3129 0a74 6865 2070 6f6c 7967 6f6e 2077 1).the polygon w │ │ │ │ │ -00003290: 6f75 6c64 206e 6f74 2061 7070 6561 7220 ould not appear │ │ │ │ │ -000032a0: 696e 2074 6865 2070 6963 7475 7265 2061 in the picture a │ │ │ │ │ -000032b0: 7420 616c 6c2e 2020 4974 2077 6f75 6c64 t all. It would │ │ │ │ │ -000032c0: 2068 6176 6520 6265 656e 0ae2 809c 6375 have been....cu │ │ │ │ │ -000032d0: 6c6c 6564 e280 9d20 6672 6f6d 2074 6865 lled... from the │ │ │ │ │ -000032e0: 2073 6365 6e65 2e20 2054 6869 7320 6375 scene. This cu │ │ │ │ │ -000032f0: 6c6c 696e 6720 6265 6861 7669 6f72 206d lling behavior m │ │ │ │ │ -00003300: 6179 2073 6565 6d20 7374 7261 6e67 652c ay seem strange, │ │ │ │ │ -00003310: 2062 7574 0a73 7461 7920 7475 6e65 642e but.stay tuned. │ │ │ │ │ -00003320: 0a0a 2020 202d 2d2d 2d2d 2d2d 2d2d 2d20 .. ---------- │ │ │ │ │ -00003330: 466f 6f74 6e6f 7465 7320 2d2d 2d2d 2d2d Footnotes ------ │ │ │ │ │ -00003340: 2d2d 2d2d 0a0a 2020 2028 3129 204f 7220 ----.. (1) Or │ │ │ │ │ -00003350: 666f 7220 4575 726f 7065 616e 2075 7365 for European use │ │ │ │ │ -00003360: 7273 206f 6620 4134 2073 697a 6520 7061 rs of A4 size pa │ │ │ │ │ -00003370: 7065 722c 20e2 8098 2d54 65e2 8099 2e0a per, ...-Te..... │ │ │ │ │ -00003380: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -00003390: 696e 666f 2c20 204e 6f64 653a 2044 7261 info, Node: Dra │ │ │ │ │ -000033a0: 7769 6e67 206f 7074 696f 6e73 2c20 204e wing options, N │ │ │ │ │ -000033b0: 6578 743a 2044 7261 7769 6e67 2061 2073 ext: Drawing a s │ │ │ │ │ -000033c0: 6f6c 6964 2c20 2050 7265 763a 2048 656c olid, Prev: Hel │ │ │ │ │ -000033d0: 6c6f 2077 6f72 6c64 2c20 2055 703a 2049 lo world, Up: I │ │ │ │ │ -000033e0: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e │ │ │ │ │ -000033f0: 7861 6d70 6c65 0a0a 322e 3220 4f70 7469 xample..2.2 Opti │ │ │ │ │ -00003400: 6f6e 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ons.===========. │ │ │ │ │ -00003410: 0a4d 616e 7920 e280 9850 5354 7269 636b .Many ...PSTrick │ │ │ │ │ -00003420: 73e2 8099 2061 6e64 20e2 8098 5469 6b5a s... and ...TikZ │ │ │ │ │ -00003430: 2f50 4746 e280 9920 6f70 7469 6f6e 7320 /PGF... options │ │ │ │ │ -00003440: 776f 726b 206a 7573 7420 6669 6e65 2069 work just fine i │ │ │ │ │ -00003450: 6e20 e280 9873 6b65 7463 68e2 8099 2e20 n ...sketch.... │ │ │ │ │ -00003460: 2049 660a 6765 6e65 7261 7469 6e67 20e2 If.generating . │ │ │ │ │ -00003470: 8098 5053 5472 6963 6b73 e280 992c 2074 ..PSTricks..., t │ │ │ │ │ -00003480: 6865 2063 6f64 650a 2020 706f 6c79 676f he code. polygo │ │ │ │ │ -00003490: 6e5b 6669 6c6c 636f 6c6f 723d 6c69 6768 n[fillcolor=ligh │ │ │ │ │ -000034a0: 7467 7261 792c 6c69 6e65 7769 6474 683d tgray,linewidth= │ │ │ │ │ -000034b0: 3370 745d 2830 2c30 2c31 2928 312c 302c 3pt](0,0,1)(1,0, │ │ │ │ │ -000034c0: 3029 2830 2c31 2c30 290a 2020 6c69 6e65 0)(0,1,0). line │ │ │ │ │ -000034d0: 5b6c 696e 6573 7479 6c65 3d64 6f74 7465 [linestyle=dotte │ │ │ │ │ -000034e0: 645d 282d 312c 2d31 2c2d 3129 2832 2c32 d](-1,-1,-1)(2,2 │ │ │ │ │ -000034f0: 2c32 290a 7072 6f64 7563 6573 0a0a 0008 ,2).produces.... │ │ │ │ │ -00003500: 5b69 6d61 6765 2073 7263 3d22 6578 3033 [image src="ex03 │ │ │ │ │ -00003510: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00003520: 6765 2065 7830 3330 206f 6d69 7474 6564 ge ex030 omitted │ │ │ │ │ -00003530: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00003540: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00003550: 742e 2200 085d 0a0a 2020 2054 6f20 7072 t."..].. To pr │ │ │ │ │ -00003560: 6f64 7563 6520 e280 9854 696b 5a2f 5047 oduce ...TikZ/PG │ │ │ │ │ -00003570: 46e2 8099 2c20 7468 6520 636f 7272 6573 F..., the corres │ │ │ │ │ -00003580: 706f 6e64 696e 6720 636f 6465 2069 730a ponding code is. │ │ │ │ │ -00003590: 2020 706f 6c79 676f 6e5b 6669 6c6c 3d6c polygon[fill=l │ │ │ │ │ -000035a0: 6967 6874 6772 6179 2c6c 696e 6520 7769 ightgray,line wi │ │ │ │ │ -000035b0: 6474 683d 3370 745d 2830 2c30 2c31 2928 dth=3pt](0,0,1)( │ │ │ │ │ -000035c0: 312c 302c 3029 2830 2c31 2c30 290a 2020 1,0,0)(0,1,0). │ │ │ │ │ -000035d0: 6c69 6e65 5b73 7479 6c65 3d64 6f74 7465 line[style=dotte │ │ │ │ │ -000035e0: 645d 282d 312c 2d31 2c2d 3129 2832 2c32 d](-1,-1,-1)(2,2 │ │ │ │ │ -000035f0: 2c32 290a 2020 676c 6f62 616c 207b 206c ,2). global { l │ │ │ │ │ -00003600: 616e 6775 6167 6520 7469 6b7a 207d 0a54 anguage tikz }.T │ │ │ │ │ -00003610: 6865 2066 696e 616c 20e2 8098 676c 6f62 he final ...glob │ │ │ │ │ -00003620: 616c e280 9920 696e 7374 7275 6374 7320 al... instructs │ │ │ │ │ -00003630: e280 9873 6b65 7463 68e2 8099 2074 6f20 ...sketch... to │ │ │ │ │ -00003640: 7072 6f64 7563 6520 e280 9854 696b 5a2f produce ...TikZ/ │ │ │ │ │ -00003650: 5047 46e2 8099 2063 6f64 6520 6173 0a6f PGF... code as.o │ │ │ │ │ -00003660: 7574 7075 7420 7261 7468 6572 2074 6861 utput rather tha │ │ │ │ │ -00003670: 6e20 7468 6520 6465 6661 756c 742c 20e2 n the default, . │ │ │ │ │ -00003680: 8098 5053 5472 6963 6b73 e280 992e 2020 ..PSTricks.... │ │ │ │ │ -00003690: 4e6f 7465 2074 6861 7420 e280 9870 6f6c Note that ...pol │ │ │ │ │ -000036a0: 7967 6f6e e280 9920 6669 6c6c 0a63 6f6c ygon... fill.col │ │ │ │ │ -000036b0: 6f72 2061 6e64 20e2 8098 6c69 6e65 e280 or and ...line.. │ │ │ │ │ -000036c0: 9920 7374 796c 6520 6f70 7469 6f6e 7320 . style options │ │ │ │ │ -000036d0: 626f 7468 2063 6f6e 666f 726d 2074 6f20 both conform to │ │ │ │ │ -000036e0: e280 9854 696b 5ae2 8099 2073 796e 7461 ...TikZ... synta │ │ │ │ │ -000036f0: 7820 7275 6c65 732e 2020 5468 650a 7265 x rules. The.re │ │ │ │ │ -00003700: 7375 6c74 696e 6720 e280 9854 696b 5a2f sulting ...TikZ/ │ │ │ │ │ -00003710: 5047 46e2 8099 206f 7574 7075 7420 6973 PGF... output is │ │ │ │ │ -00003720: 0a20 205c 6265 6769 6e7b 7469 6b7a 7069 . \begin{tikzpi │ │ │ │ │ -00003730: 6374 7572 657d 5b6a 6f69 6e3d 726f 756e cture}[join=roun │ │ │ │ │ -00003740: 645d 0a20 205c 6472 6177 5b64 6f74 7465 d]. \draw[dotte │ │ │ │ │ -00003750: 645d 282d 312c 2d31 292d 2d28 2e33 3333 d](-1,-1)--(.333 │ │ │ │ │ -00003760: 2c2e 3333 3329 3b0a 2020 5c66 696c 6c64 ,.333);. \filld │ │ │ │ │ -00003770: 7261 775b 6669 6c6c 3d6c 6967 6874 6772 raw[fill=lightgr │ │ │ │ │ -00003780: 6179 2c6c 696e 6520 7769 6474 683d 3370 ay,line width=3p │ │ │ │ │ -00003790: 745d 2830 2c30 292d 2d28 312c 3029 2d2d t](0,0)--(1,0)-- │ │ │ │ │ -000037a0: 2830 2c31 292d 2d63 7963 6c65 3b0a 2020 (0,1)--cycle;. │ │ │ │ │ -000037b0: 5c64 7261 775b 646f 7474 6564 5d28 2e33 \draw[dotted](.3 │ │ │ │ │ -000037c0: 3333 2c2e 3333 3329 2d2d 2832 2c32 293b 33,.333)--(2,2); │ │ │ │ │ -000037d0: 0a20 205c 656e 647b 7469 6b7a 7069 6374 . \end{tikzpict │ │ │ │ │ -000037e0: 7572 657d 0a54 6865 2072 656d 6169 6e69 ure}.The remaini │ │ │ │ │ -000037f0: 6e67 2065 7861 6d70 6c65 7320 6f66 2074 ng examples of t │ │ │ │ │ -00003800: 6869 7320 6d61 6e75 616c 2061 7265 2069 his manual are i │ │ │ │ │ -00003810: 6e20 5053 5472 6963 6b73 2073 7479 6c65 n PSTricks style │ │ │ │ │ -00003820: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -00003830: 682e 696e 666f 2c20 204e 6f64 653a 2044 h.info, Node: D │ │ │ │ │ -00003840: 7261 7769 6e67 2061 2073 6f6c 6964 2c20 rawing a solid, │ │ │ │ │ -00003850: 204e 6578 743a 2053 7065 6369 616c 206f Next: Special o │ │ │ │ │ -00003860: 626a 6563 7473 2c20 2050 7265 763a 2044 bjects, Prev: D │ │ │ │ │ -00003870: 7261 7769 6e67 206f 7074 696f 6e73 2c20 rawing options, │ │ │ │ │ -00003880: 2055 703a 2049 6e74 726f 6475 6374 696f Up: Introductio │ │ │ │ │ -00003890: 6e20 6279 2065 7861 6d70 6c65 0a0a 322e n by example..2. │ │ │ │ │ -000038a0: 3320 4472 6177 696e 6720 6120 736f 6c69 3 Drawing a soli │ │ │ │ │ -000038b0: 640a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d d.============== │ │ │ │ │ -000038c0: 3d3d 3d3d 3d0a 0a4c 6574 2773 2074 7279 =====..Let's try │ │ │ │ │ -000038d0: 2073 6f6d 6574 6869 6e67 206d 6f72 6520 something more │ │ │ │ │ -000038e0: 6578 6369 7469 6e67 2e20 20e2 8098 536b exciting. ...Sk │ │ │ │ │ -000038f0: 6574 6368 e280 9920 6861 7320 6e6f 206e etch... has no n │ │ │ │ │ -00003900: 6f74 696f 6e20 6f66 2061 2073 6f6c 6964 otion of a solid │ │ │ │ │ -00003910: 2c0a 6275 7420 706f 6c79 676f 6e61 6c20 ,.but polygonal │ │ │ │ │ -00003920: e280 9c66 6163 6573 e280 9d20 6361 6e20 ...faces... can │ │ │ │ │ -00003930: 6265 2075 7365 6420 746f 2072 6570 7265 be used to repre │ │ │ │ │ -00003940: 7365 6e74 2074 6865 2062 6f75 6e64 6172 sent the boundar │ │ │ │ │ -00003950: 7920 6f66 2061 2073 6f6c 6964 2e0a 546f y of a solid..To │ │ │ │ │ -00003960: 2074 6865 2070 7265 7669 6f75 7320 6578 the previous ex │ │ │ │ │ -00003970: 616d 706c 652c 206c 6574 2773 2061 6464 ample, let's add │ │ │ │ │ -00003980: 2074 6872 6565 206d 6f72 6520 7472 6961 three more tria │ │ │ │ │ -00003990: 6e67 756c 6172 2070 6f6c 7967 6f6e 7320 ngular polygons │ │ │ │ │ -000039a0: 746f 0a6d 616b 6520 7468 6520 6661 6365 to.make the face │ │ │ │ │ -000039b0: 7320 6f66 2061 6e20 6972 7265 6775 6c61 s of an irregula │ │ │ │ │ -000039c0: 7220 7465 7472 6168 6564 726f 6e2e 0a20 r tetrahedron.. │ │ │ │ │ -000039d0: 2025 2076 6572 7469 6365 7320 6f66 2074 % vertices of t │ │ │ │ │ -000039e0: 6865 2074 6574 7261 6865 6472 6f6e 0a20 he tetrahedron. │ │ │ │ │ -000039f0: 2064 6566 2070 3120 2830 2c30 2c31 2920 def p1 (0,0,1) │ │ │ │ │ -00003a00: 6465 6620 7032 2028 312c 302c 3029 0a20 def p2 (1,0,0). │ │ │ │ │ -00003a10: 2064 6566 2070 3320 2830 2c31 2c30 2920 def p3 (0,1,0) │ │ │ │ │ -00003a20: 6465 6620 7034 2028 2d2e 332c 2d2e 352c def p4 (-.3,-.5, │ │ │ │ │ -00003a30: 2d2e 3829 0a0a 2020 2520 6661 6365 7320 -.8).. % faces │ │ │ │ │ -00003a40: 6f66 2074 6865 2074 6574 7261 6865 6472 of the tetrahedr │ │ │ │ │ -00003a50: 6f6e 2e0a 2020 706f 6c79 676f 6e28 7031 on.. polygon(p1 │ │ │ │ │ -00003a60: 2928 7032 2928 7033 2920 2520 6f72 6967 )(p2)(p3) % orig │ │ │ │ │ -00003a70: 696e 616c 2066 726f 6e74 2070 6f6c 7967 inal front polyg │ │ │ │ │ -00003a80: 6f6e 0a20 2070 6f6c 7967 6f6e 2870 3129 on. polygon(p1) │ │ │ │ │ -00003a90: 2870 3429 2870 3229 2025 2062 6f74 746f (p4)(p2) % botto │ │ │ │ │ -00003aa0: 6d0a 2020 706f 6c79 676f 6e28 7031 2928 m. polygon(p1)( │ │ │ │ │ -00003ab0: 7033 2928 7034 2920 2520 6c65 6674 0a20 p3)(p4) % left. │ │ │ │ │ -00003ac0: 2070 6f6c 7967 6f6e 2870 3329 2870 3229 polygon(p3)(p2) │ │ │ │ │ -00003ad0: 2870 3429 2025 2072 6561 720a 0a20 2025 (p4) % rear.. % │ │ │ │ │ -00003ae0: 206c 696e 6520 746f 2070 6965 7263 6520 line to pierce │ │ │ │ │ -00003af0: 7468 6520 7465 7472 6168 6564 726f 6e0a the tetrahedron. │ │ │ │ │ -00003b00: 2020 6c69 6e65 5b6c 696e 6563 6f6c 6f72 line[linecolor │ │ │ │ │ -00003b10: 3d72 6564 5d28 2d31 2c2d 312c 2d31 2928 =red](-1,-1,-1)( │ │ │ │ │ -00003b20: 322c 322c 3229 0a54 6869 7320 6578 616d 2,2,2).This exam │ │ │ │ │ -00003b30: 706c 6520 7573 6573 20e2 809c 6465 6669 ple uses ...defi │ │ │ │ │ -00003b40: 6e69 7469 6f6e 73e2 809d 2c20 7768 6963 nitions..., whic │ │ │ │ │ -00003b50: 6820 6265 6769 6e20 7769 7468 20e2 8098 h begin with ... │ │ │ │ │ -00003b60: 6465 66e2 8099 2e20 2054 6865 7365 20e2 def.... These . │ │ │ │ │ -00003b70: 809c 6465 6669 6e65 e280 9d0a 6f72 2067 ..define....or g │ │ │ │ │ -00003b80: 6976 6520 6e61 6d65 7320 746f 2070 6f69 ive names to poi │ │ │ │ │ -00003b90: 6e74 732c 2077 6869 6368 2061 7265 2074 nts, which are t │ │ │ │ │ -00003ba0: 6865 6e20 6176 6169 6c61 626c 6520 6173 hen available as │ │ │ │ │ -00003bb0: 20e2 809c 7265 6665 7265 6e63 6573 e280 ...references.. │ │ │ │ │ -00003bc0: 9d20 6279 0a65 6e63 6c6f 7369 6e67 2074 . by.enclosing t │ │ │ │ │ -00003bd0: 6865 206e 616d 6573 2069 6e20 7061 7265 he names in pare │ │ │ │ │ -00003be0: 6e74 6865 7365 732c 2065 2e67 2e20 2866 ntheses, e.g. (f │ │ │ │ │ -00003bf0: 6f6f 292e 2020 5468 6520 7061 7265 6e74 oo). The parent │ │ │ │ │ -00003c00: 6865 7365 7320 6465 6e6f 7465 0a74 6861 heses denote.tha │ │ │ │ │ -00003c10: 7420 7468 6520 6e61 6d65 7320 7265 6665 t the names refe │ │ │ │ │ -00003c20: 7220 746f 2070 6f69 6e74 733b 2074 6865 r to points; the │ │ │ │ │ -00003c30: 7920 6172 6520 7265 7175 6972 6564 2e20 y are required. │ │ │ │ │ -00003c40: 2054 6865 7265 2063 616e 2062 6520 6e6f There can be no │ │ │ │ │ -00003c50: 0a77 6869 7465 2073 7061 6365 2062 6574 .white space bet │ │ │ │ │ -00003c60: 7765 656e 2074 6865 6d20 616e 6420 7468 ween them and th │ │ │ │ │ -00003c70: 6520 6e61 6d65 2e0a 0a20 2020 4173 2079 e name... As y │ │ │ │ │ -00003c80: 6f75 2063 616e 2073 6565 2c20 636f 6d6d ou can see, comm │ │ │ │ │ -00003c90: 656e 7473 2073 7461 7274 2077 6974 6820 ents start with │ │ │ │ │ -00003ca0: 2520 6173 2069 6e20 5465 5820 616e 6420 % as in TeX and │ │ │ │ │ -00003cb0: 6578 7465 6e64 2074 6f20 7468 6520 656e extend to the en │ │ │ │ │ -00003cc0: 640a 6f66 2074 6865 206c 696e 6520 2874 d.of the line (t │ │ │ │ │ -00003cd0: 686f 7567 6820 2320 7769 6c6c 2077 6f72 hough # will wor │ │ │ │ │ -00003ce0: 6b20 6173 2077 656c 6c29 2e20 2057 6869 k as well). Whi │ │ │ │ │ -00003cf0: 7465 2073 7061 6365 2c20 696e 636c 7564 te space, includ │ │ │ │ │ -00003d00: 696e 670a 7370 6163 6573 2c20 7461 6273 ing.spaces, tabs │ │ │ │ │ -00003d10: 2061 6e64 2062 6c61 6e6b 206c 696e 6573 and blank lines │ │ │ │ │ -00003d20: 2c20 6861 7320 6e6f 2065 6666 6563 7420 , has no effect │ │ │ │ │ -00003d30: 696e 2074 6865 20e2 8098 736b 6574 6368 in the ...sketch │ │ │ │ │ -00003d40: e280 9920 6c61 6e67 7561 6765 2e0a 0a00 ... language.... │ │ │ │ │ -00003d50: 085b 696d 6167 6520 7372 633d 2265 7830 .[image src="ex0 │ │ │ │ │ -00003d60: 3430 2e70 6e67 2220 7465 7874 3d22 496d 40.png" text="Im │ │ │ │ │ -00003d70: 6167 6520 6578 3034 3020 6f6d 6974 7465 age ex040 omitte │ │ │ │ │ -00003d80: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio │ │ │ │ │ -00003d90: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume │ │ │ │ │ -00003da0: 6e74 2e22 0008 5d0a 0a49 6620 7765 206c nt."..]..If we l │ │ │ │ │ -00003db0: 6f6f 6b20 696e 7369 6465 2074 6865 2054 ook inside the T │ │ │ │ │ -00003dc0: 6558 2066 696c 6520 7072 6f64 7563 6564 eX file produced │ │ │ │ │ -00003dd0: 2062 7920 e280 9873 6b65 7463 68e2 8099 by ...sketch... │ │ │ │ │ -00003de0: 2c20 7468 6572 6520 7769 6c6c 2062 6520 , there will be │ │ │ │ │ -00003df0: 6f6e 6c79 0a74 6872 6565 2070 6f6c 7967 only.three polyg │ │ │ │ │ -00003e00: 6f6e 732e 2020 5468 6520 666f 7572 7468 ons. The fourth │ │ │ │ │ -00003e10: 2068 6173 2062 6565 6e20 6375 6c6c 6564 has been culled │ │ │ │ │ -00003e20: 2062 6563 6175 7365 2069 7420 6973 2061 because it is a │ │ │ │ │ -00003e30: 2022 6261 636b 2066 6163 6522 0a6f 6620 "back face".of │ │ │ │ │ -00003e40: 7468 6520 7465 7472 6168 6564 726f 6e2c the tetrahedron, │ │ │ │ │ -00003e50: 2069 6e76 6973 6962 6c65 2074 6f20 6f75 invisible to ou │ │ │ │ │ -00003e60: 7220 7669 6577 2e20 2049 7420 6973 2075 r view. It is u │ │ │ │ │ -00003e70: 6e6e 6563 6573 7361 7279 2c20 616e 6420 nnecessary, and │ │ │ │ │ -00003e80: 736f 2069 740a 6973 2072 656d 6f76 6564 so it.is removed │ │ │ │ │ -00003e90: 2e0a 0a20 2020 496e 2073 6f6d 6520 6472 ... In some dr │ │ │ │ │ -00003ea0: 6177 696e 6773 2c20 706f 6c79 676f 6e73 awings, polygons │ │ │ │ │ -00003eb0: 2061 6374 2061 7320 7a65 726f 2d74 6869 act as zero-thi │ │ │ │ │ -00003ec0: 636b 6e65 7373 2073 6f6c 6964 2073 7572 ckness solid sur │ │ │ │ │ -00003ed0: 6661 6365 7320 7769 7468 0a62 6f74 6820 faces with.both │ │ │ │ │ -00003ee0: 7369 6465 7320 7669 7369 626c 6520 7261 sides visible ra │ │ │ │ │ -00003ef0: 7468 6572 2074 6861 6e20 6173 2074 6865 ther than as the │ │ │ │ │ -00003f00: 2066 6163 6573 206f 6620 736f 6c69 6420 faces of solid │ │ │ │ │ -00003f10: 6f62 6a65 6374 732c 2077 6865 7265 2062 objects, where b │ │ │ │ │ -00003f20: 6163 6b0a 6661 6365 7320 6361 6e20 6265 ack.faces can be │ │ │ │ │ -00003f30: 2063 756c 6c65 642e 2020 466f 7220 7a65 culled. For ze │ │ │ │ │ -00003f40: 726f 2d74 6869 636b 6e65 7373 2073 6f6c ro-thickness sol │ │ │ │ │ -00003f50: 6964 732c 2063 756c 6c69 6e67 2069 7320 ids, culling is │ │ │ │ │ -00003f60: 6120 7072 6f62 6c65 6d2e 0a4f 6e65 2073 a problem..One s │ │ │ │ │ -00003f70: 6f6c 7574 696f 6e20 6973 2074 6f20 7573 olution is to us │ │ │ │ │ -00003f80: 6520 6120 7061 6972 206f 6620 e280 9873 e a pair of ...s │ │ │ │ │ -00003f90: 6b65 7463 68e2 8099 2070 6f6c 7967 6f6e ketch... polygon │ │ │ │ │ -00003fa0: 7320 666f 7220 6561 6368 0a7a 6572 6f2d s for each.zero- │ │ │ │ │ -00003fb0: 7468 6963 6b6e 6573 7320 6661 6365 2c20 thickness face, │ │ │ │ │ -00003fc0: 6964 656e 7469 6361 6c20 6578 6365 7074 identical except │ │ │ │ │ -00003fd0: 2077 6974 6820 6f70 706f 7369 7465 2076 with opposite v │ │ │ │ │ -00003fe0: 6572 7465 7820 6f72 6465 7273 2e20 2054 ertex orders. T │ │ │ │ │ -00003ff0: 6869 730a 6973 2075 6e77 6965 6c64 7920 his.is unwieldy │ │ │ │ │ -00004000: 616e 6420 6578 7065 6e73 6976 652e 2020 and expensive. │ │ │ │ │ -00004010: 4120 6265 7474 6572 2077 6179 2069 7320 A better way is │ │ │ │ │ -00004020: 746f 2073 6574 2074 6865 20e2 8098 736b to set the ...sk │ │ │ │ │ -00004030: 6574 6368 e280 9920 696e 7465 726e 616c etch... internal │ │ │ │ │ -00004040: 0a6f 7074 696f 6e20 e280 9863 756c 6ce2 .option ...cull. │ │ │ │ │ -00004050: 8099 2074 6f20 e280 9866 616c 7365 e280 .. to ...false.. │ │ │ │ │ -00004060: 9920 696e 2074 6865 2075 7375 616c 20e2 . in the usual . │ │ │ │ │ -00004070: 8098 5053 5472 6963 6b73 e280 9920 6d61 ..PSTricks... ma │ │ │ │ │ -00004080: 6e6e 6572 2e0a 2020 706f 6c79 676f 6e5b nner.. polygon[ │ │ │ │ │ -00004090: 6375 6c6c 3d66 616c 7365 5d28 7031 2928 cull=false](p1)( │ │ │ │ │ -000040a0: 7032 2928 7033 290a 5468 6520 666f 6c6c p2)(p3).The foll │ │ │ │ │ -000040b0: 6f77 696e 6720 7368 6f77 7320 7468 6520 owing shows the │ │ │ │ │ -000040c0: 7361 6d65 2068 656c 6978 2073 6861 7065 same helix shape │ │ │ │ │ -000040d0: 2064 7261 776e 2066 6972 7374 2077 6974 drawn first wit │ │ │ │ │ -000040e0: 6820 6375 6c6c 3d74 7275 6520 2874 6865 h cull=true (the │ │ │ │ │ -000040f0: 0a64 6566 6175 6c74 2920 616e 6420 7468 .default) and th │ │ │ │ │ -00004100: 656e 2063 756c 6c3d 6661 6c73 652e 0a0a en cull=false... │ │ │ │ │ -00004110: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ -00004120: 3034 352e 706e 6722 2074 6578 743d 2249 045.png" text="I │ │ │ │ │ -00004130: 6d61 6765 2065 7830 3435 206f 6d69 7474 mage ex045 omitt │ │ │ │ │ -00004140: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ -00004150: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ -00004160: 656e 742e 2200 085d 0a0a 5765 276c 6c20 ent."..]..We'll │ │ │ │ │ -00004170: 736f 6f6e 2073 6565 2068 6f77 2074 6f20 soon see how to │ │ │ │ │ -00004180: 7072 6f64 7563 6520 7468 6573 6520 6865 produce these he │ │ │ │ │ -00004190: 6c69 7865 7320 7769 7468 2061 2066 6577 lixes with a few │ │ │ │ │ -000041a0: 206c 696e 6573 206f 6620 e280 9873 6b65 lines of ...ske │ │ │ │ │ -000041b0: 7463 68e2 8099 0a6c 616e 6775 6167 6520 tch....language │ │ │ │ │ -000041c0: 636f 6465 2e0a 0a20 2020 4974 206d 6179 code... It may │ │ │ │ │ -000041d0: 2062 6520 7465 6d70 7469 6e67 2074 6f20 be tempting to │ │ │ │ │ -000041e0: 7475 726e 2063 756c 6c69 6e67 206f 6666 turn culling off │ │ │ │ │ -000041f0: 2067 7261 7475 6974 6f75 736c 7920 736f gratuitously so │ │ │ │ │ -00004200: 2074 6861 7420 7665 7274 6578 0a6f 7264 that vertex.ord │ │ │ │ │ -00004210: 6572 2063 616e 2062 6520 6967 6e6f 7265 er can be ignore │ │ │ │ │ -00004220: 642e 2020 5468 6973 2069 7320 6e6f 7420 d. This is not │ │ │ │ │ -00004230: 6120 676f 6f64 2069 6465 6120 6265 6361 a good idea beca │ │ │ │ │ -00004240: 7573 6520 6f75 7470 7574 2066 696c 6520 use output file │ │ │ │ │ -00004250: 7369 7a65 0a61 6e64 2054 6558 2061 6e64 size.and TeX and │ │ │ │ │ -00004260: 2050 6f73 7473 6372 6970 7420 7072 6f63 Postscript proc │ │ │ │ │ -00004270: 6573 7369 6e67 2074 696d 6520 626f 7468 essing time both │ │ │ │ │ -00004280: 2064 6570 656e 6420 6f6e 2074 6865 206e depend on the n │ │ │ │ │ -00004290: 756d 6265 7220 6f66 0a6f 7574 7075 7420 umber of.output │ │ │ │ │ -000042a0: 706f 6c79 676f 6e73 2e20 2043 756c 6c69 polygons. Culli │ │ │ │ │ -000042b0: 6e67 2075 7375 616c 6c79 2069 6d70 726f ng usually impro │ │ │ │ │ -000042c0: 7665 7320 7065 7266 6f72 6d61 6e63 6520 ves performance │ │ │ │ │ -000042d0: 6279 2061 2066 6163 746f 7220 6f66 0a74 by a factor of.t │ │ │ │ │ -000042e0: 776f 2e20 204f 6e20 7468 6520 6f74 6865 wo. On the othe │ │ │ │ │ -000042f0: 7220 6861 6e64 2c20 676c 6f62 616c 6c79 r hand, globally │ │ │ │ │ -00004300: 2073 6574 7469 6e67 20e2 8098 6375 6c6c setting ...cull │ │ │ │ │ -00004310: 3d66 616c 7365 e280 9920 6973 2072 6561 =false... is rea │ │ │ │ │ -00004320: 736f 6e61 626c 650a 7768 696c 6520 6465 sonable.while de │ │ │ │ │ -00004330: 6275 6767 696e 672e 2020 5365 6520 2a6e bugging. See *n │ │ │ │ │ -00004340: 6f74 6520 476c 6f62 616c 206f 7074 696f ote Global optio │ │ │ │ │ -00004350: 6e73 3a3a 2061 6e64 202a 6e6f 7465 204c ns:: and *note L │ │ │ │ │ -00004360: 696d 6974 7320 6f6e 2065 7272 6f72 0a64 imits on error.d │ │ │ │ │ -00004370: 6574 6563 7469 6f6e 3a3a 2e0a 0a1f 0a46 etection::.....F │ │ │ │ │ -00004380: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00004390: 2c20 204e 6f64 653a 2053 7065 6369 616c , Node: Special │ │ │ │ │ -000043a0: 206f 626a 6563 7473 2c20 204e 6578 743a objects, Next: │ │ │ │ │ -000043b0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -000043c0: 6d73 2c20 2050 7265 763a 2044 7261 7769 ms, Prev: Drawi │ │ │ │ │ -000043d0: 6e67 2061 2073 6f6c 6964 2c20 2055 703a ng a solid, Up: │ │ │ │ │ -000043e0: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by │ │ │ │ │ -000043f0: 2065 7861 6d70 6c65 0a0a 322e 3420 5370 example..2.4 Sp │ │ │ │ │ -00004400: 6563 6961 6c20 6f62 6a65 6374 730a 3d3d ecial objects.== │ │ │ │ │ +000021c0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 6865 2067 =========..The g │ │ │ │ │ +000021d0: 726f 7570 2068 7474 703a 2f2f 6772 6f75 roup http://grou │ │ │ │ │ +000021e0: 7073 2e67 6f6f 676c 652e 636f 6d2f 6772 ps.google.com/gr │ │ │ │ │ +000021f0: 6f75 702f 736b 6574 6368 2d75 7365 7273 oup/sketch-users │ │ │ │ │ +00002200: 2069 7320 7468 6520 6265 7374 2070 6c61 is the best pla │ │ │ │ │ +00002210: 6365 0a74 6f20 7265 706f 7274 2062 7567 ce.to report bug │ │ │ │ │ +00002220: 7320 616e 6420 6d61 6b65 2069 6d70 726f s and make impro │ │ │ │ │ +00002230: 7665 6d65 6e74 732e 2020 4120 7365 636f vements. A seco │ │ │ │ │ +00002240: 6e64 206d 6574 686f 6420 7468 6174 2077 nd method that w │ │ │ │ │ +00002250: 696c 6c0a 7072 6f62 6162 6c79 2070 726f ill.probably pro │ │ │ │ │ +00002260: 6475 6365 2061 2073 6c6f 7765 7220 7265 duce a slower re │ │ │ │ │ +00002270: 7370 6f6e 7365 2069 7320 656d 6169 6c20 sponse is email │ │ │ │ │ +00002280: 746f 2073 6b65 7463 6840 6672 6f6e 7469 to sketch@fronti │ │ │ │ │ +00002290: 6572 6e65 742e 6e65 742e 0a57 6520 7769 ernet.net..We wi │ │ │ │ │ +000022a0: 6c6c 2074 7279 2074 6f20 7265 7370 6f6e ll try to respon │ │ │ │ │ +000022b0: 642c 2062 7574 2063 616e 2774 2070 726f d, but can't pro │ │ │ │ │ +000022c0: 6d69 7365 2e20 2049 6e20 616e 7920 6576 mise. In any ev │ │ │ │ │ +000022d0: 656e 742c 2064 6f6e 2774 2062 650a 6f66 ent, don't be.of │ │ │ │ │ +000022e0: 6665 6e64 6564 2069 6620 6120 7265 706c fended if a repl │ │ │ │ │ +000022f0: 7920 6973 206e 6f74 2066 6f72 7468 636f y is not forthco │ │ │ │ │ +00002300: 6d69 6e67 2e20 2057 6527 7265 206a 7573 ming. We're jus │ │ │ │ │ +00002310: 7420 6275 7379 2061 6e64 2077 696c 6c20 t busy and will │ │ │ │ │ +00002320: 6765 7420 746f 0a79 6f75 7220 7375 6767 get to.your sugg │ │ │ │ │ +00002330: 6573 7469 6f6e 2065 7665 6e74 7561 6c6c estion eventuall │ │ │ │ │ +00002340: 792e 0a0a 2020 2046 6f72 2062 7567 732c y... For bugs, │ │ │ │ │ +00002350: 2061 7474 6163 6820 6120 e280 9873 6b65 attach a ...ske │ │ │ │ │ +00002360: 7463 68e2 8099 2069 6e70 7574 2066 696c tch... input fil │ │ │ │ │ +00002370: 6520 7468 6174 2063 6175 7365 7320 7468 e that causes th │ │ │ │ │ +00002380: 6520 6261 6420 6265 6861 7669 6f72 2e0a e bad behavior.. │ │ │ │ │ +00002390: 456d 6265 6420 636f 6d6d 656e 7473 2074 Embed comments t │ │ │ │ │ +000023a0: 6861 7420 6578 706c 6169 6e20 7768 6174 hat explain what │ │ │ │ │ +000023b0: 2074 6f20 6c6f 6f6b 2066 6f72 2069 6e20 to look for in │ │ │ │ │ +000023c0: 7468 6520 6265 6861 7669 6f72 206f 6620 the behavior of │ │ │ │ │ +000023d0: e280 9873 6b65 7463 68e2 8099 0a6f 7220 ...sketch....or │ │ │ │ │ +000023e0: 6974 7320 6f75 7470 7574 2e0a 0a20 2020 its output... │ │ │ │ │ +000023f0: 4120 7265 636f 6d6d 656e 6461 7469 6f6e A recommendation │ │ │ │ │ +00002400: 2066 6f72 2069 6d70 726f 7665 6d65 6e74 for improvement │ │ │ │ │ +00002410: 2066 726f 6d20 6f6e 6520 756e 6b6e 6f77 from one unknow │ │ │ │ │ +00002420: 6e20 7065 7273 6f6e 2063 6f75 6e74 7320 n person counts │ │ │ │ │ +00002430: 6173 0a6f 6e65 2076 6f74 652e 2020 5765 as.one vote. We │ │ │ │ │ +00002440: 2075 7365 206f 7665 7261 6c6c 2076 6f74 use overall vot │ │ │ │ │ +00002450: 6520 7461 6c6c 6965 7320 746f 2064 6563 e tallies to dec │ │ │ │ │ +00002460: 6964 6520 7768 6174 2074 6f20 646f 206e ide what to do n │ │ │ │ │ +00002470: 6578 7420 6173 0a72 6573 6f75 7263 6573 ext as.resources │ │ │ │ │ +00002480: 2070 6572 6d69 742e 2020 5765 2072 6573 permit. We res │ │ │ │ │ +00002490: 6572 7665 2074 6865 2072 6967 6874 2074 erve the right t │ │ │ │ │ +000024a0: 6f20 6173 7369 676e 2061 6e79 206e 756d o assign any num │ │ │ │ │ +000024b0: 6265 7220 6f66 2076 6f74 6573 2074 6f0a ber of votes to. │ │ │ │ │ +000024c0: 7375 6767 6573 7469 6f6e 7320 6672 6f6d suggestions from │ │ │ │ │ +000024d0: 2070 656f 706c 6520 7768 6f20 6861 7665 people who have │ │ │ │ │ +000024e0: 2062 6565 6e20 6865 6c70 6675 6c20 616e been helpful an │ │ │ │ │ +000024f0: 6420 7375 7070 6f72 7469 7665 2069 6e20 d supportive in │ │ │ │ │ +00002500: 7468 650a 7061 7374 2e0a 0a1f 0a46 696c the.past.....Fil │ │ │ │ │ +00002510: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +00002520: 204e 6f64 653a 2043 6f6e 7472 6962 7574 Node: Contribut │ │ │ │ │ +00002530: 696f 6e73 2c20 2050 7265 763a 2052 6570 ions, Prev: Rep │ │ │ │ │ +00002540: 6f72 7469 6e67 2062 7567 732c 2020 5570 orting bugs, Up │ │ │ │ │ +00002550: 3a20 4162 6f75 7420 736b 6574 6368 0a0a : About sketch.. │ │ │ │ │ +00002560: 312e 3220 436f 6e74 7269 6275 7469 6f6e 1.2 Contribution │ │ │ │ │ +00002570: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d s.============== │ │ │ │ │ +00002580: 3d3d 3d0a 0a49 6620 796f 7520 696e 7465 ===..If you inte │ │ │ │ │ +00002590: 6e64 2074 6f20 696d 706c 656d 656e 7420 nd to implement │ │ │ │ │ +000025a0: 616e 2065 6e68 616e 6365 6d65 6e74 206f an enhancement o │ │ │ │ │ +000025b0: 6620 796f 7572 206f 776e 2c20 7468 6174 f your own, that │ │ │ │ │ +000025c0: 2773 2074 6572 7269 6669 6321 0a43 6f6e 's terrific!.Con │ │ │ │ │ +000025d0: 7369 6465 7220 636f 6c6c 6162 6f72 6174 sider collaborat │ │ │ │ │ +000025e0: 696e 6720 7769 7468 2075 7320 6669 7273 ing with us firs │ │ │ │ │ +000025f0: 7420 746f 2073 6565 2069 6620 7765 2772 t to see if we'r │ │ │ │ │ +00002600: 6520 616c 7265 6164 7920 776f 726b 696e e already workin │ │ │ │ │ +00002610: 6720 6f6e 0a79 6f75 7220 6964 6561 206f g on.your idea o │ │ │ │ │ +00002620: 7220 6966 2077 6520 6361 6e20 7573 6520 r if we can use │ │ │ │ │ +00002630: 796f 7572 2077 6f72 6b20 696e 2074 6865 your work in the │ │ │ │ │ +00002640: 206f 6666 6963 6961 6c20 7265 6c65 6173 official releas │ │ │ │ │ +00002650: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src │ │ │ │ │ +00002660: 3d22 6578 3030 302e 706e 6722 2074 6578 ="ex000.png" tex │ │ │ │ │ +00002670: 743d 2249 6d61 6765 2065 7830 3030 206f t="Image ex000 o │ │ │ │ │ +00002680: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ +00002690: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ +000026a0: 6f63 756d 656e 742e 2200 085d 0a0a 1f0a ocument."..].... │ │ │ │ │ +000026b0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +000026c0: 6f2c 2020 4e6f 6465 3a20 496e 7472 6f64 o, Node: Introd │ │ │ │ │ +000026d0: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl │ │ │ │ │ +000026e0: 652c 2020 4e65 7874 3a20 496e 7075 7420 e, Next: Input │ │ │ │ │ +000026f0: 6c61 6e67 7561 6765 2c20 2050 7265 763a language, Prev: │ │ │ │ │ +00002700: 2041 626f 7574 2073 6b65 7463 682c 2020 About sketch, │ │ │ │ │ +00002710: 5570 3a20 546f 700a 0a32 2049 6e74 726f Up: Top..2 Intro │ │ │ │ │ +00002720: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp │ │ │ │ │ +00002730: 6c65 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a le.************* │ │ │ │ │ +00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th │ │ │ │ │ +00002750: 6520 e280 9873 6b65 7463 68e2 8099 2069 e ...sketch... i │ │ │ │ │ +00002760: 6e70 7574 206c 616e 6775 6167 6520 7769 nput language wi │ │ │ │ │ +00002770: 6c6c 2073 6565 6d20 6661 6d69 6c69 6172 ll seem familiar │ │ │ │ │ +00002780: 2074 6f20 7573 6572 7320 6f66 2074 6865 to users of the │ │ │ │ │ +00002790: 0ae2 8098 5053 5472 6963 6b73 e280 9920 ....PSTricks... │ │ │ │ │ +000027a0: 7061 636b 6167 6520 666f 7220 4c61 5465 package for LaTe │ │ │ │ │ +000027b0: 582e 2020 5468 6520 666f 6c6c 6f77 696e X. The followin │ │ │ │ │ +000027c0: 6720 7072 6f67 7261 6d20 6472 6177 7320 g program draws │ │ │ │ │ +000027d0: 6120 7472 6961 6e67 756c 6172 0a70 6f6c a triangular.pol │ │ │ │ │ +000027e0: 7967 6f6e 2070 6965 7263 6564 2062 7920 ygon pierced by │ │ │ │ │ +000027f0: 6120 6c69 6e65 2e0a 2020 706f 6c79 676f a line.. polygo │ │ │ │ │ +00002800: 6e28 302c 302c 3129 2831 2c30 2c30 2928 n(0,0,1)(1,0,0)( │ │ │ │ │ +00002810: 302c 312c 3029 0a20 206c 696e 6528 2d31 0,1,0). line(-1 │ │ │ │ │ +00002820: 2c2d 312c 2d31 2928 322c 322c 3229 0a54 ,-1,-1)(2,2,2).T │ │ │ │ │ +00002830: 6865 2063 6f6f 7264 696e 6174 6520 7379 he coordinate sy │ │ │ │ │ +00002840: 7374 656d 2069 7320 6120 7374 616e 6461 stem is a standa │ │ │ │ │ +00002850: 7264 2072 6967 6874 2d68 616e 6465 6420 rd right-handed │ │ │ │ │ +00002860: 4361 7274 6573 6961 6e20 6f6e 652e 0a0a Cartesian one... │ │ │ │ │ +00002870: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00002880: 3031 302e 706e 6722 2074 6578 743d 2249 010.png" text="I │ │ │ │ │ +00002890: 6d61 6765 2065 7830 3130 206f 6d69 7474 mage ex010 omitt │ │ │ │ │ +000028a0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +000028b0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +000028c0: 656e 742e 2200 085d 0a0a 2a20 4d65 6e75 ent."..]..* Menu │ │ │ │ │ +000028d0: 3a0a 0a2a 2048 656c 6c6f 2077 6f72 6c64 :..* Hello world │ │ │ │ │ +000028e0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +000028f0: 2020 2053 696d 706c 6573 7420 706f 7373 Simplest poss │ │ │ │ │ +00002900: 6962 6c65 20e2 8098 736b 6574 6368 e280 ible ...sketch.. │ │ │ │ │ +00002910: 9920 7072 6f67 7261 6d2e 0a2a 2044 7261 . program..* Dra │ │ │ │ │ +00002920: 7769 6e67 206f 7074 696f 6e73 3a3a 2020 wing options:: │ │ │ │ │ +00002930: 2020 2020 2020 2020 2020 2043 6f6e 7472 Contr │ │ │ │ │ +00002940: 6f6c 6c69 6e67 206f 626a 6563 7420 6170 olling object ap │ │ │ │ │ +00002950: 7065 6172 616e 6365 2e0a 2a20 4472 6177 pearance..* Draw │ │ │ │ │ +00002960: 696e 6720 6120 736f 6c69 643a 3a20 2020 ing a solid:: │ │ │ │ │ +00002970: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ +00002980: 6720 616e 206f 626a 6563 7420 7769 7468 g an object with │ │ │ │ │ +00002990: 2033 6420 6170 7065 6172 616e 6365 2e0a 3d appearance.. │ │ │ │ │ +000029a0: 2a20 5370 6563 6961 6c20 6f62 6a65 6374 * Special object │ │ │ │ │ +000029b0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +000029c0: 4c61 7969 6e67 2054 6558 206f 7665 722c Laying TeX over, │ │ │ │ │ +000029d0: 2069 6e2c 206f 7220 756e 6465 7220 6472 in, or under dr │ │ │ │ │ +000029e0: 6177 696e 6773 2e0a 2a20 4f62 6a65 6374 awings..* Object │ │ │ │ │ +000029f0: 2074 7261 6e73 666f 726d 733a 3a20 2020 transforms:: │ │ │ │ │ +00002a00: 2020 2020 2020 2020 526f 7461 7465 2c20 Rotate, │ │ │ │ │ +00002a10: 7472 616e 736c 6174 652c 2073 6361 6c65 translate, scale │ │ │ │ │ +00002a20: 2c20 616e 6420 6f74 6865 7273 2e0a 2a20 , and others..* │ │ │ │ │ +00002a30: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects │ │ │ │ │ +00002a40: 3a3a 2020 2020 2020 2020 2020 2020 4d61 :: Ma │ │ │ │ │ +00002a50: 6b69 6e67 2074 7261 6e73 666f 726d 6564 king transformed │ │ │ │ │ +00002a60: 2063 6f70 6965 732e 0a2a 2053 7765 7074 copies..* Swept │ │ │ │ │ +00002a70: 206f 626a 6563 7473 3a3a 2020 2020 2020 objects:: │ │ │ │ │ +00002a80: 2020 2020 2020 2020 2053 7765 6570 696e Sweepin │ │ │ │ │ +00002a90: 6720 6f62 6a65 6374 7320 696e 2073 7061 g objects in spa │ │ │ │ │ +00002aa0: 6365 2074 6f20 6d61 6b65 206e 6577 2073 ce to make new s │ │ │ │ │ +00002ab0: 6861 7065 732e 0a0a 1f0a 4669 6c65 3a20 hapes.....File: │ │ │ │ │ +00002ac0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +00002ad0: 6465 3a20 4865 6c6c 6f20 776f 726c 642c de: Hello world, │ │ │ │ │ +00002ae0: 2020 4e65 7874 3a20 4472 6177 696e 6720 Next: Drawing │ │ │ │ │ +00002af0: 6f70 7469 6f6e 732c 2020 5072 6576 3a20 options, Prev: │ │ │ │ │ +00002b00: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by │ │ │ │ │ +00002b10: 6578 616d 706c 652c 2020 5570 3a20 496e example, Up: In │ │ │ │ │ +00002b20: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex │ │ │ │ │ +00002b30: 616d 706c 650a 0a32 2e31 2048 656c 6c6f ample..2.1 Hello │ │ │ │ │ +00002b40: 2077 6f72 6c64 0a3d 3d3d 3d3d 3d3d 3d3d world.========= │ │ │ │ │ +00002b50: 3d3d 3d3d 3d3d 0a0a 5468 6520 e280 9873 ======..The ...s │ │ │ │ │ +00002b60: 6b65 7463 68e2 8099 2070 726f 6772 616d ketch... program │ │ │ │ │ +00002b70: 2061 626f 7665 2069 7320 6e65 6172 6c79 above is nearly │ │ │ │ │ +00002b80: 2074 6865 2073 696d 706c 6573 7420 6f6e the simplest on │ │ │ │ │ +00002b90: 6520 706f 7373 6962 6c65 2c20 7468 650a e possible, the. │ │ │ │ │ +00002ba0: 6571 7569 7661 6c65 6e74 206f 6620 6120 equivalent of a │ │ │ │ │ +00002bb0: 2268 656c 6c6f 2077 6f72 6c64 2220 7072 "hello world" pr │ │ │ │ │ +00002bc0: 6f67 7261 6d20 796f 7520 6d69 6768 7420 ogram you might │ │ │ │ │ +00002bd0: 6669 6e64 2061 7420 7468 6520 7374 6172 find at the star │ │ │ │ │ +00002be0: 7420 6f66 2061 0a70 726f 6772 616d 6d69 t of a.programmi │ │ │ │ │ +00002bf0: 6e67 206c 616e 6775 6167 6520 7465 7874 ng language text │ │ │ │ │ +00002c00: 2e20 2049 6620 6974 2069 7320 7361 7665 . If it is save │ │ │ │ │ +00002c10: 6420 696e 2074 6865 2066 696c 6520 e280 d in the file .. │ │ │ │ │ +00002c20: 9873 696d 706c 652e 736b e280 992c 2074 .simple.sk..., t │ │ │ │ │ +00002c30: 6865 6e0a 7468 6520 636f 6d6d 616e 640a hen.the command. │ │ │ │ │ +00002c40: 2020 736b 6574 6368 2073 696d 706c 652e sketch simple. │ │ │ │ │ +00002c50: 736b 202d 6f20 7369 6d70 6c65 2e74 6578 sk -o simple.tex │ │ │ │ │ +00002c60: 0a63 7265 6174 6573 2061 2066 696c 6520 .creates a file │ │ │ │ │ +00002c70: e280 9873 696d 706c 652e 7465 78e2 8099 ...simple.tex... │ │ │ │ │ +00002c80: 2063 6f6e 7461 696e 696e 6720 e280 9850 containing ...P │ │ │ │ │ +00002c90: 5354 7269 636b 73e2 8099 2063 6f6d 6d61 STricks... comma │ │ │ │ │ +00002ca0: 6e64 7320 746f 2064 7261 7720 7468 6573 nds to draw thes │ │ │ │ │ +00002cb0: 650a 6f62 6a65 6374 7320 6f6e 2070 6170 e.objects on pap │ │ │ │ │ +00002cc0: 6572 2e20 2054 6865 2063 6f6e 7465 6e74 er. The content │ │ │ │ │ +00002cd0: 7320 6f66 20e2 8098 7369 6d70 6c65 2e74 s of ...simple.t │ │ │ │ │ +00002ce0: 6578 e280 9920 6c6f 6f6b 206c 696b 6520 ex... look like │ │ │ │ │ +00002cf0: 7468 6973 2e0a 2020 5c62 6567 696e 7b70 this.. \begin{p │ │ │ │ │ +00002d00: 7370 6963 7475 7265 7d28 2d31 2c2d 3129 spicture}(-1,-1) │ │ │ │ │ +00002d10: 2832 2c32 290a 2020 5c70 7374 5665 7262 (2,2). \pstVerb │ │ │ │ │ +00002d20: 7b31 2073 6574 6c69 6e65 6a6f 696e 7d0a {1 setlinejoin}. │ │ │ │ │ +00002d30: 2020 5c70 736c 696e 6528 2d31 2c2d 3129 \psline(-1,-1) │ │ │ │ │ +00002d40: 282e 3333 332c 2e33 3333 290a 2020 5c70 (.333,.333). \p │ │ │ │ │ +00002d50: 7370 6f6c 7967 6f6e 5b66 696c 6c73 7479 spolygon[fillsty │ │ │ │ │ +00002d60: 6c65 3d73 6f6c 6964 2c66 696c 6c63 6f6c le=solid,fillcol │ │ │ │ │ +00002d70: 6f72 3d77 6869 7465 5d28 302c 3029 2831 or=white](0,0)(1 │ │ │ │ │ +00002d80: 2c30 2928 302c 3129 0a20 205c 7073 6c69 ,0)(0,1). \psli │ │ │ │ │ +00002d90: 6e65 282e 3333 332c 2e33 3333 2928 322c ne(.333,.333)(2, │ │ │ │ │ +00002da0: 3229 0a20 205c 656e 647b 7073 7069 6374 2). \end{pspict │ │ │ │ │ +00002db0: 7572 657d 0a54 6865 2068 6964 6465 6e20 ure}.The hidden │ │ │ │ │ +00002dc0: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith │ │ │ │ │ +00002dd0: 6d20 6f66 20e2 8098 736b 6574 6368 e280 m of ...sketch.. │ │ │ │ │ +00002de0: 9920 6861 7320 7370 6c69 7420 7468 6520 . has split the │ │ │ │ │ +00002df0: 6c69 6e65 2069 6e74 6f20 7477 6f0a 7069 line into two.pi │ │ │ │ │ +00002e00: 6563 6573 2061 6e64 206f 7264 6572 6564 eces and ordered │ │ │ │ │ +00002e10: 2074 6865 2074 6872 6565 2072 6573 756c the three resul │ │ │ │ │ +00002e20: 7469 6e67 206f 626a 6563 7473 2073 6f20 ting objects so │ │ │ │ │ +00002e30: 7468 6174 2074 6865 2063 6f72 7265 6374 that the correct │ │ │ │ │ +00002e40: 0a70 6f72 7469 6f6e 206f 6620 7468 6520 .portion of the │ │ │ │ │ +00002e50: 6c69 6e65 2069 7320 6869 6464 656e 2e0a line is hidden.. │ │ │ │ │ +00002e60: 0a20 2020 4966 2079 6f75 2776 6520 6e6f . If you've no │ │ │ │ │ +00002e70: 7469 6365 6420 7468 6174 2074 6865 2070 ticed that the p │ │ │ │ │ +00002e80: 726f 6a65 6374 696f 6e20 7765 2061 7265 rojection we are │ │ │ │ │ +00002e90: 2075 7369 6e67 2073 6565 6d73 2065 7175 using seems equ │ │ │ │ │ +00002ea0: 6976 616c 656e 740a 746f 2065 7261 7369 ivalent.to erasi │ │ │ │ │ +00002eb0: 6e67 2074 6865 207a 2d63 6f6f 7264 696e ng the z-coordin │ │ │ │ │ +00002ec0: 6174 6520 6f66 2074 6865 2074 6872 6565 ate of the three │ │ │ │ │ +00002ed0: 2d64 696d 656e 7369 6f6e 616c 2069 6e70 -dimensional inp │ │ │ │ │ +00002ee0: 7574 2070 6f69 6e74 732c 2070 6174 0a79 ut points, pat.y │ │ │ │ │ +00002ef0: 6f75 7273 656c 6620 6f6e 2074 6865 2062 ourself on the b │ │ │ │ │ +00002f00: 6163 6b2e 2020 596f 7520 6172 6520 636f ack. You are co │ │ │ │ │ +00002f10: 7272 6563 742e 2020 5468 6973 2069 7320 rrect. This is │ │ │ │ │ +00002f20: 6361 6c6c 6564 2061 20e2 809c 7061 7261 called a ...para │ │ │ │ │ +00002f30: 6c6c 656c 0a70 726f 6a65 6374 696f 6ee2 llel.projection. │ │ │ │ │ +00002f40: 809d 2e20 2054 6865 207a 2d63 6f6f 7264 ... The z-coord │ │ │ │ │ +00002f50: 696e 6174 6520 6178 6973 2069 7320 706f inate axis is po │ │ │ │ │ +00002f60: 696e 7469 6e67 2073 7472 6169 6768 7420 inting straight │ │ │ │ │ +00002f70: 6f75 7420 6f66 2074 6865 0a70 6170 6572 out of the.paper │ │ │ │ │ +00002f80: 2061 7420 7573 2c20 7768 696c 6520 7468 at us, while th │ │ │ │ │ +00002f90: 6520 782d 2061 6e64 2079 2d61 7865 7320 e x- and y-axes │ │ │ │ │ +00002fa0: 706f 696e 7420 746f 2074 6865 2072 6967 point to the rig │ │ │ │ │ +00002fb0: 6874 2061 6e64 2075 7020 6173 2075 7375 ht and up as usu │ │ │ │ │ +00002fc0: 616c 2e0a 0a20 2020 5468 6520 7265 7375 al... The resu │ │ │ │ │ +00002fd0: 6c74 696e 6720 7069 6374 7572 6520 6669 lting picture fi │ │ │ │ │ +00002fe0: 6c65 2063 616e 2062 6520 696e 636c 7564 le can be includ │ │ │ │ │ +00002ff0: 6564 2069 6e20 6120 4c61 5465 5820 646f ed in a LaTeX do │ │ │ │ │ +00003000: 6375 6d65 6e74 2077 6974 680a 5c69 6e70 cument with.\inp │ │ │ │ │ +00003010: 7574 7b73 696d 706c 657d 2e20 2041 6c74 ut{simple}. Alt │ │ │ │ │ +00003020: 6572 6e61 7465 6c79 2c20 6164 6469 6e67 ernately, adding │ │ │ │ │ +00003030: 2074 6865 2063 6f6d 6d61 6e64 206c 696e the command lin │ │ │ │ │ +00003040: 6520 6f70 7469 6f6e 20e2 8098 2d54 e280 e option ...-T.. │ │ │ │ │ +00003050: 9928 3129 0a63 6175 7365 7320 7468 6520 .(1).causes the │ │ │ │ │ +00003060: e280 9870 7370 6963 7475 7265 e280 9920 ...pspicture... │ │ │ │ │ +00003070: 746f 2062 6520 7772 6170 7065 6420 696e to be wrapped in │ │ │ │ │ +00003080: 2061 2073 686f 7274 2062 7574 2063 6f6d a short but com │ │ │ │ │ +00003090: 706c 6574 6520 646f 6375 6d65 6e74 2c0a plete document,. │ │ │ │ │ +000030a0: 7265 6164 7920 746f 2072 756e 2074 686f ready to run tho │ │ │ │ │ +000030b0: 7567 6820 4c61 5465 582e 2020 496e 2061 ugh LaTeX. In a │ │ │ │ │ +000030c0: 2066 696e 6973 6865 642c 2074 7970 6573 finished, types │ │ │ │ │ +000030d0: 6574 2064 6f63 756d 656e 742c 2074 6865 et document, the │ │ │ │ │ +000030e0: 2070 6963 7475 7265 0a6c 6f6f 6b73 206c picture.looks l │ │ │ │ │ +000030f0: 696b 6520 7468 6973 2e20 2028 5468 6520 ike this. (The │ │ │ │ │ +00003100: 6178 6573 2068 6176 6520 6265 656e 2061 axes have been a │ │ │ │ │ +00003110: 6464 6564 2069 6e20 6c69 6768 7420 6772 dded in light gr │ │ │ │ │ +00003120: 6179 2e29 0a0a 0008 5b69 6d61 6765 2073 ay.)....[image s │ │ │ │ │ +00003130: 7263 3d22 6578 3032 302e 706e 6722 2074 rc="ex020.png" t │ │ │ │ │ +00003140: 6578 743d 2249 6d61 6765 2065 7830 3230 ext="Image ex020 │ │ │ │ │ +00003150: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00003160: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00003170: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00003180: 4974 2069 7320 696d 706f 7274 616e 7420 It is important │ │ │ │ │ +00003190: 746f 206b 6e6f 7720 7468 6174 206f 6e6c to know that onl │ │ │ │ │ +000031a0: 7920 7468 6520 226f 7574 7369 6465 2220 y the "outside" │ │ │ │ │ +000031b0: 6f66 2061 2070 6f6c 7967 6f6e 2069 7320 of a polygon is │ │ │ │ │ +000031c0: 6e6f 726d 616c 6c79 0a64 7261 776e 2e20 normally.drawn. │ │ │ │ │ +000031d0: 2054 6865 20e2 809c 6f75 7473 6964 65e2 The ...outside. │ │ │ │ │ +000031e0: 809d 2069 7320 7768 6572 6520 7468 6520 .. is where the │ │ │ │ │ +000031f0: 7665 7274 6963 6573 2067 6976 656e 2069 vertices given i │ │ │ │ │ +00003200: 6e20 7468 6520 e280 9870 6f6c 7967 6f6e n the ...polygon │ │ │ │ │ +00003210: e280 990a 636f 6d6d 616e 6420 6170 7065 ....command appe │ │ │ │ │ +00003220: 6172 2069 6e20 5f63 6f75 6e74 6572 2d63 ar in _counter-c │ │ │ │ │ +00003230: 6c6f 636b 7769 7365 5f20 6f72 6465 722e lockwise_ order. │ │ │ │ │ +00003240: 2020 5468 7573 2c20 6966 2074 6865 2063 Thus, if the c │ │ │ │ │ +00003250: 6f6d 6d61 6e64 2061 626f 7665 0a68 6164 ommand above.had │ │ │ │ │ +00003260: 2062 6565 6e0a 2020 706f 6c79 676f 6e28 been. polygon( │ │ │ │ │ +00003270: 302c 312c 3029 2831 2c30 2c30 2928 302c 0,1,0)(1,0,0)(0, │ │ │ │ │ +00003280: 302c 3129 0a74 6865 2070 6f6c 7967 6f6e 0,1).the polygon │ │ │ │ │ +00003290: 2077 6f75 6c64 206e 6f74 2061 7070 6561 would not appea │ │ │ │ │ +000032a0: 7220 696e 2074 6865 2070 6963 7475 7265 r in the picture │ │ │ │ │ +000032b0: 2061 7420 616c 6c2e 2020 4974 2077 6f75 at all. It wou │ │ │ │ │ +000032c0: 6c64 2068 6176 6520 6265 656e 0ae2 809c ld have been.... │ │ │ │ │ +000032d0: 6375 6c6c 6564 e280 9d20 6672 6f6d 2074 culled... from t │ │ │ │ │ +000032e0: 6865 2073 6365 6e65 2e20 2054 6869 7320 he scene. This │ │ │ │ │ +000032f0: 6375 6c6c 696e 6720 6265 6861 7669 6f72 culling behavior │ │ │ │ │ +00003300: 206d 6179 2073 6565 6d20 7374 7261 6e67 may seem strang │ │ │ │ │ +00003310: 652c 2062 7574 0a73 7461 7920 7475 6e65 e, but.stay tune │ │ │ │ │ +00003320: 642e 0a0a 2020 202d 2d2d 2d2d 2d2d 2d2d d... --------- │ │ │ │ │ +00003330: 2d20 466f 6f74 6e6f 7465 7320 2d2d 2d2d - Footnotes ---- │ │ │ │ │ +00003340: 2d2d 2d2d 2d2d 0a0a 2020 2028 3129 204f ------.. (1) O │ │ │ │ │ +00003350: 7220 666f 7220 4575 726f 7065 616e 2075 r for European u │ │ │ │ │ +00003360: 7365 7273 206f 6620 4134 2073 697a 6520 sers of A4 size │ │ │ │ │ +00003370: 7061 7065 722c 20e2 8098 2d54 65e2 8099 paper, ...-Te... │ │ │ │ │ +00003380: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +00003390: 682e 696e 666f 2c20 204e 6f64 653a 2044 h.info, Node: D │ │ │ │ │ +000033a0: 7261 7769 6e67 206f 7074 696f 6e73 2c20 rawing options, │ │ │ │ │ +000033b0: 204e 6578 743a 2044 7261 7769 6e67 2061 Next: Drawing a │ │ │ │ │ +000033c0: 2073 6f6c 6964 2c20 2050 7265 763a 2048 solid, Prev: H │ │ │ │ │ +000033d0: 656c 6c6f 2077 6f72 6c64 2c20 2055 703a ello world, Up: │ │ │ │ │ +000033e0: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by │ │ │ │ │ +000033f0: 2065 7861 6d70 6c65 0a0a 322e 3220 4f70 example..2.2 Op │ │ │ │ │ +00003400: 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d 3d3d tions.========== │ │ │ │ │ +00003410: 3d0a 0a4d 616e 7920 e280 9850 5354 7269 =..Many ...PSTri │ │ │ │ │ +00003420: 636b 73e2 8099 2061 6e64 20e2 8098 5469 cks... and ...Ti │ │ │ │ │ +00003430: 6b5a 2f50 4746 e280 9920 6f70 7469 6f6e kZ/PGF... option │ │ │ │ │ +00003440: 7320 776f 726b 206a 7573 7420 6669 6e65 s work just fine │ │ │ │ │ +00003450: 2069 6e20 e280 9873 6b65 7463 68e2 8099 in ...sketch... │ │ │ │ │ +00003460: 2e20 2049 660a 6765 6e65 7261 7469 6e67 . If.generating │ │ │ │ │ +00003470: 20e2 8098 5053 5472 6963 6b73 e280 992c ...PSTricks..., │ │ │ │ │ +00003480: 2074 6865 2063 6f64 650a 2020 706f 6c79 the code. poly │ │ │ │ │ +00003490: 676f 6e5b 6669 6c6c 636f 6c6f 723d 6c69 gon[fillcolor=li │ │ │ │ │ +000034a0: 6768 7467 7261 792c 6c69 6e65 7769 6474 ghtgray,linewidt │ │ │ │ │ +000034b0: 683d 3370 745d 2830 2c30 2c31 2928 312c h=3pt](0,0,1)(1, │ │ │ │ │ +000034c0: 302c 3029 2830 2c31 2c30 290a 2020 6c69 0,0)(0,1,0). li │ │ │ │ │ +000034d0: 6e65 5b6c 696e 6573 7479 6c65 3d64 6f74 ne[linestyle=dot │ │ │ │ │ +000034e0: 7465 645d 282d 312c 2d31 2c2d 3129 2832 ted](-1,-1,-1)(2 │ │ │ │ │ +000034f0: 2c32 2c32 290a 7072 6f64 7563 6573 0a0a ,2,2).produces.. │ │ │ │ │ +00003500: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00003510: 3033 302e 706e 6722 2074 6578 743d 2249 030.png" text="I │ │ │ │ │ +00003520: 6d61 6765 2065 7830 3330 206f 6d69 7474 mage ex030 omitt │ │ │ │ │ +00003530: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00003540: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00003550: 656e 742e 2200 085d 0a0a 2020 2054 6f20 ent."..].. To │ │ │ │ │ +00003560: 7072 6f64 7563 6520 e280 9854 696b 5a2f produce ...TikZ/ │ │ │ │ │ +00003570: 5047 46e2 8099 2c20 7468 6520 636f 7272 PGF..., the corr │ │ │ │ │ +00003580: 6573 706f 6e64 696e 6720 636f 6465 2069 esponding code i │ │ │ │ │ +00003590: 730a 2020 706f 6c79 676f 6e5b 6669 6c6c s. polygon[fill │ │ │ │ │ +000035a0: 3d6c 6967 6874 6772 6179 2c6c 696e 6520 =lightgray,line │ │ │ │ │ +000035b0: 7769 6474 683d 3370 745d 2830 2c30 2c31 width=3pt](0,0,1 │ │ │ │ │ +000035c0: 2928 312c 302c 3029 2830 2c31 2c30 290a )(1,0,0)(0,1,0). │ │ │ │ │ +000035d0: 2020 6c69 6e65 5b73 7479 6c65 3d64 6f74 line[style=dot │ │ │ │ │ +000035e0: 7465 645d 282d 312c 2d31 2c2d 3129 2832 ted](-1,-1,-1)(2 │ │ │ │ │ +000035f0: 2c32 2c32 290a 2020 676c 6f62 616c 207b ,2,2). global { │ │ │ │ │ +00003600: 206c 616e 6775 6167 6520 7469 6b7a 207d language tikz } │ │ │ │ │ +00003610: 0a54 6865 2066 696e 616c 20e2 8098 676c .The final ...gl │ │ │ │ │ +00003620: 6f62 616c e280 9920 696e 7374 7275 6374 obal... instruct │ │ │ │ │ +00003630: 7320 e280 9873 6b65 7463 68e2 8099 2074 s ...sketch... t │ │ │ │ │ +00003640: 6f20 7072 6f64 7563 6520 e280 9854 696b o produce ...Tik │ │ │ │ │ +00003650: 5a2f 5047 46e2 8099 2063 6f64 6520 6173 Z/PGF... code as │ │ │ │ │ +00003660: 0a6f 7574 7075 7420 7261 7468 6572 2074 .output rather t │ │ │ │ │ +00003670: 6861 6e20 7468 6520 6465 6661 756c 742c han the default, │ │ │ │ │ +00003680: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks.... │ │ │ │ │ +00003690: 2020 4e6f 7465 2074 6861 7420 e280 9870 Note that ...p │ │ │ │ │ +000036a0: 6f6c 7967 6f6e e280 9920 6669 6c6c 0a63 olygon... fill.c │ │ │ │ │ +000036b0: 6f6c 6f72 2061 6e64 20e2 8098 6c69 6e65 olor and ...line │ │ │ │ │ +000036c0: e280 9920 7374 796c 6520 6f70 7469 6f6e ... style option │ │ │ │ │ +000036d0: 7320 626f 7468 2063 6f6e 666f 726d 2074 s both conform t │ │ │ │ │ +000036e0: 6f20 e280 9854 696b 5ae2 8099 2073 796e o ...TikZ... syn │ │ │ │ │ +000036f0: 7461 7820 7275 6c65 732e 2020 5468 650a tax rules. The. │ │ │ │ │ +00003700: 7265 7375 6c74 696e 6720 e280 9854 696b resulting ...Tik │ │ │ │ │ +00003710: 5a2f 5047 46e2 8099 206f 7574 7075 7420 Z/PGF... output │ │ │ │ │ +00003720: 6973 0a20 205c 6265 6769 6e7b 7469 6b7a is. \begin{tikz │ │ │ │ │ +00003730: 7069 6374 7572 657d 5b6a 6f69 6e3d 726f picture}[join=ro │ │ │ │ │ +00003740: 756e 645d 0a20 205c 6472 6177 5b64 6f74 und]. \draw[dot │ │ │ │ │ +00003750: 7465 645d 282d 312c 2d31 292d 2d28 2e33 ted](-1,-1)--(.3 │ │ │ │ │ +00003760: 3333 2c2e 3333 3329 3b0a 2020 5c66 696c 33,.333);. \fil │ │ │ │ │ +00003770: 6c64 7261 775b 6669 6c6c 3d6c 6967 6874 ldraw[fill=light │ │ │ │ │ +00003780: 6772 6179 2c6c 696e 6520 7769 6474 683d gray,line width= │ │ │ │ │ +00003790: 3370 745d 2830 2c30 292d 2d28 312c 3029 3pt](0,0)--(1,0) │ │ │ │ │ +000037a0: 2d2d 2830 2c31 292d 2d63 7963 6c65 3b0a --(0,1)--cycle;. │ │ │ │ │ +000037b0: 2020 5c64 7261 775b 646f 7474 6564 5d28 \draw[dotted]( │ │ │ │ │ +000037c0: 2e33 3333 2c2e 3333 3329 2d2d 2832 2c32 .333,.333)--(2,2 │ │ │ │ │ +000037d0: 293b 0a20 205c 656e 647b 7469 6b7a 7069 );. \end{tikzpi │ │ │ │ │ +000037e0: 6374 7572 657d 0a54 6865 2072 656d 6169 cture}.The remai │ │ │ │ │ +000037f0: 6e69 6e67 2065 7861 6d70 6c65 7320 6f66 ning examples of │ │ │ │ │ +00003800: 2074 6869 7320 6d61 6e75 616c 2061 7265 this manual are │ │ │ │ │ +00003810: 2069 6e20 5053 5472 6963 6b73 2073 7479 in PSTricks sty │ │ │ │ │ +00003820: 6c65 2e0a 0a1f 0a46 696c 653a 2073 6b65 le.....File: ske │ │ │ │ │ +00003830: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00003840: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ +00003850: 2c20 204e 6578 743a 2053 7065 6369 616c , Next: Special │ │ │ │ │ +00003860: 206f 626a 6563 7473 2c20 2050 7265 763a objects, Prev: │ │ │ │ │ +00003870: 2044 7261 7769 6e67 206f 7074 696f 6e73 Drawing options │ │ │ │ │ +00003880: 2c20 2055 703a 2049 6e74 726f 6475 6374 , Up: Introduct │ │ │ │ │ +00003890: 696f 6e20 6279 2065 7861 6d70 6c65 0a0a ion by example.. │ │ │ │ │ +000038a0: 322e 3320 4472 6177 696e 6720 6120 736f 2.3 Drawing a so │ │ │ │ │ +000038b0: 6c69 640a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d lid.============ │ │ │ │ │ +000038c0: 3d3d 3d3d 3d3d 3d0a 0a4c 6574 2773 2074 =======..Let's t │ │ │ │ │ +000038d0: 7279 2073 6f6d 6574 6869 6e67 206d 6f72 ry something mor │ │ │ │ │ +000038e0: 6520 6578 6369 7469 6e67 2e20 20e2 8098 e exciting. ... │ │ │ │ │ +000038f0: 536b 6574 6368 e280 9920 6861 7320 6e6f Sketch... has no │ │ │ │ │ +00003900: 206e 6f74 696f 6e20 6f66 2061 2073 6f6c notion of a sol │ │ │ │ │ +00003910: 6964 2c0a 6275 7420 706f 6c79 676f 6e61 id,.but polygona │ │ │ │ │ +00003920: 6c20 e280 9c66 6163 6573 e280 9d20 6361 l ...faces... ca │ │ │ │ │ +00003930: 6e20 6265 2075 7365 6420 746f 2072 6570 n be used to rep │ │ │ │ │ +00003940: 7265 7365 6e74 2074 6865 2062 6f75 6e64 resent the bound │ │ │ │ │ +00003950: 6172 7920 6f66 2061 2073 6f6c 6964 2e0a ary of a solid.. │ │ │ │ │ +00003960: 546f 2074 6865 2070 7265 7669 6f75 7320 To the previous │ │ │ │ │ +00003970: 6578 616d 706c 652c 206c 6574 2773 2061 example, let's a │ │ │ │ │ +00003980: 6464 2074 6872 6565 206d 6f72 6520 7472 dd three more tr │ │ │ │ │ +00003990: 6961 6e67 756c 6172 2070 6f6c 7967 6f6e iangular polygon │ │ │ │ │ +000039a0: 7320 746f 0a6d 616b 6520 7468 6520 6661 s to.make the fa │ │ │ │ │ +000039b0: 6365 7320 6f66 2061 6e20 6972 7265 6775 ces of an irregu │ │ │ │ │ +000039c0: 6c61 7220 7465 7472 6168 6564 726f 6e2e lar tetrahedron. │ │ │ │ │ +000039d0: 0a20 2025 2076 6572 7469 6365 7320 6f66 . % vertices of │ │ │ │ │ +000039e0: 2074 6865 2074 6574 7261 6865 6472 6f6e the tetrahedron │ │ │ │ │ +000039f0: 0a20 2064 6566 2070 3120 2830 2c30 2c31 . def p1 (0,0,1 │ │ │ │ │ +00003a00: 2920 6465 6620 7032 2028 312c 302c 3029 ) def p2 (1,0,0) │ │ │ │ │ +00003a10: 0a20 2064 6566 2070 3320 2830 2c31 2c30 . def p3 (0,1,0 │ │ │ │ │ +00003a20: 2920 6465 6620 7034 2028 2d2e 332c 2d2e ) def p4 (-.3,-. │ │ │ │ │ +00003a30: 352c 2d2e 3829 0a0a 2020 2520 6661 6365 5,-.8).. % face │ │ │ │ │ +00003a40: 7320 6f66 2074 6865 2074 6574 7261 6865 s of the tetrahe │ │ │ │ │ +00003a50: 6472 6f6e 2e0a 2020 706f 6c79 676f 6e28 dron.. polygon( │ │ │ │ │ +00003a60: 7031 2928 7032 2928 7033 2920 2520 6f72 p1)(p2)(p3) % or │ │ │ │ │ +00003a70: 6967 696e 616c 2066 726f 6e74 2070 6f6c iginal front pol │ │ │ │ │ +00003a80: 7967 6f6e 0a20 2070 6f6c 7967 6f6e 2870 ygon. polygon(p │ │ │ │ │ +00003a90: 3129 2870 3429 2870 3229 2025 2062 6f74 1)(p4)(p2) % bot │ │ │ │ │ +00003aa0: 746f 6d0a 2020 706f 6c79 676f 6e28 7031 tom. polygon(p1 │ │ │ │ │ +00003ab0: 2928 7033 2928 7034 2920 2520 6c65 6674 )(p3)(p4) % left │ │ │ │ │ +00003ac0: 0a20 2070 6f6c 7967 6f6e 2870 3329 2870 . polygon(p3)(p │ │ │ │ │ +00003ad0: 3229 2870 3429 2025 2072 6561 720a 0a20 2)(p4) % rear.. │ │ │ │ │ +00003ae0: 2025 206c 696e 6520 746f 2070 6965 7263 % line to pierc │ │ │ │ │ +00003af0: 6520 7468 6520 7465 7472 6168 6564 726f e the tetrahedro │ │ │ │ │ +00003b00: 6e0a 2020 6c69 6e65 5b6c 696e 6563 6f6c n. line[linecol │ │ │ │ │ +00003b10: 6f72 3d72 6564 5d28 2d31 2c2d 312c 2d31 or=red](-1,-1,-1 │ │ │ │ │ +00003b20: 2928 322c 322c 3229 0a54 6869 7320 6578 )(2,2,2).This ex │ │ │ │ │ +00003b30: 616d 706c 6520 7573 6573 20e2 809c 6465 ample uses ...de │ │ │ │ │ +00003b40: 6669 6e69 7469 6f6e 73e2 809d 2c20 7768 finitions..., wh │ │ │ │ │ +00003b50: 6963 6820 6265 6769 6e20 7769 7468 20e2 ich begin with . │ │ │ │ │ +00003b60: 8098 6465 66e2 8099 2e20 2054 6865 7365 ..def.... These │ │ │ │ │ +00003b70: 20e2 809c 6465 6669 6e65 e280 9d0a 6f72 ...define....or │ │ │ │ │ +00003b80: 2067 6976 6520 6e61 6d65 7320 746f 2070 give names to p │ │ │ │ │ +00003b90: 6f69 6e74 732c 2077 6869 6368 2061 7265 oints, which are │ │ │ │ │ +00003ba0: 2074 6865 6e20 6176 6169 6c61 626c 6520 then available │ │ │ │ │ +00003bb0: 6173 20e2 809c 7265 6665 7265 6e63 6573 as ...references │ │ │ │ │ +00003bc0: e280 9d20 6279 0a65 6e63 6c6f 7369 6e67 ... by.enclosing │ │ │ │ │ +00003bd0: 2074 6865 206e 616d 6573 2069 6e20 7061 the names in pa │ │ │ │ │ +00003be0: 7265 6e74 6865 7365 732c 2065 2e67 2e20 rentheses, e.g. │ │ │ │ │ +00003bf0: 2866 6f6f 292e 2020 5468 6520 7061 7265 (foo). The pare │ │ │ │ │ +00003c00: 6e74 6865 7365 7320 6465 6e6f 7465 0a74 ntheses denote.t │ │ │ │ │ +00003c10: 6861 7420 7468 6520 6e61 6d65 7320 7265 hat the names re │ │ │ │ │ +00003c20: 6665 7220 746f 2070 6f69 6e74 733b 2074 fer to points; t │ │ │ │ │ +00003c30: 6865 7920 6172 6520 7265 7175 6972 6564 hey are required │ │ │ │ │ +00003c40: 2e20 2054 6865 7265 2063 616e 2062 6520 . There can be │ │ │ │ │ +00003c50: 6e6f 0a77 6869 7465 2073 7061 6365 2062 no.white space b │ │ │ │ │ +00003c60: 6574 7765 656e 2074 6865 6d20 616e 6420 etween them and │ │ │ │ │ +00003c70: 7468 6520 6e61 6d65 2e0a 0a20 2020 4173 the name... As │ │ │ │ │ +00003c80: 2079 6f75 2063 616e 2073 6565 2c20 636f you can see, co │ │ │ │ │ +00003c90: 6d6d 656e 7473 2073 7461 7274 2077 6974 mments start wit │ │ │ │ │ +00003ca0: 6820 2520 6173 2069 6e20 5465 5820 616e h % as in TeX an │ │ │ │ │ +00003cb0: 6420 6578 7465 6e64 2074 6f20 7468 6520 d extend to the │ │ │ │ │ +00003cc0: 656e 640a 6f66 2074 6865 206c 696e 6520 end.of the line │ │ │ │ │ +00003cd0: 2874 686f 7567 6820 2320 7769 6c6c 2077 (though # will w │ │ │ │ │ +00003ce0: 6f72 6b20 6173 2077 656c 6c29 2e20 2057 ork as well). W │ │ │ │ │ +00003cf0: 6869 7465 2073 7061 6365 2c20 696e 636c hite space, incl │ │ │ │ │ +00003d00: 7564 696e 670a 7370 6163 6573 2c20 7461 uding.spaces, ta │ │ │ │ │ +00003d10: 6273 2061 6e64 2062 6c61 6e6b 206c 696e bs and blank lin │ │ │ │ │ +00003d20: 6573 2c20 6861 7320 6e6f 2065 6666 6563 es, has no effec │ │ │ │ │ +00003d30: 7420 696e 2074 6865 20e2 8098 736b 6574 t in the ...sket │ │ │ │ │ +00003d40: 6368 e280 9920 6c61 6e67 7561 6765 2e0a ch... language.. │ │ │ │ │ +00003d50: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src="e │ │ │ │ │ +00003d60: 7830 3430 2e70 6e67 2220 7465 7874 3d22 x040.png" text=" │ │ │ │ │ +00003d70: 496d 6167 6520 6578 3034 3020 6f6d 6974 Image ex040 omit │ │ │ │ │ +00003d80: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers │ │ │ │ │ +00003d90: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu │ │ │ │ │ +00003da0: 6d65 6e74 2e22 0008 5d0a 0a49 6620 7765 ment."..]..If we │ │ │ │ │ +00003db0: 206c 6f6f 6b20 696e 7369 6465 2074 6865 look inside the │ │ │ │ │ +00003dc0: 2054 6558 2066 696c 6520 7072 6f64 7563 TeX file produc │ │ │ │ │ +00003dd0: 6564 2062 7920 e280 9873 6b65 7463 68e2 ed by ...sketch. │ │ │ │ │ +00003de0: 8099 2c20 7468 6572 6520 7769 6c6c 2062 .., there will b │ │ │ │ │ +00003df0: 6520 6f6e 6c79 0a74 6872 6565 2070 6f6c e only.three pol │ │ │ │ │ +00003e00: 7967 6f6e 732e 2020 5468 6520 666f 7572 ygons. The four │ │ │ │ │ +00003e10: 7468 2068 6173 2062 6565 6e20 6375 6c6c th has been cull │ │ │ │ │ +00003e20: 6564 2062 6563 6175 7365 2069 7420 6973 ed because it is │ │ │ │ │ +00003e30: 2061 2022 6261 636b 2066 6163 6522 0a6f a "back face".o │ │ │ │ │ +00003e40: 6620 7468 6520 7465 7472 6168 6564 726f f the tetrahedro │ │ │ │ │ +00003e50: 6e2c 2069 6e76 6973 6962 6c65 2074 6f20 n, invisible to │ │ │ │ │ +00003e60: 6f75 7220 7669 6577 2e20 2049 7420 6973 our view. It is │ │ │ │ │ +00003e70: 2075 6e6e 6563 6573 7361 7279 2c20 616e unnecessary, an │ │ │ │ │ +00003e80: 6420 736f 2069 740a 6973 2072 656d 6f76 d so it.is remov │ │ │ │ │ +00003e90: 6564 2e0a 0a20 2020 496e 2073 6f6d 6520 ed... In some │ │ │ │ │ +00003ea0: 6472 6177 696e 6773 2c20 706f 6c79 676f drawings, polygo │ │ │ │ │ +00003eb0: 6e73 2061 6374 2061 7320 7a65 726f 2d74 ns act as zero-t │ │ │ │ │ +00003ec0: 6869 636b 6e65 7373 2073 6f6c 6964 2073 hickness solid s │ │ │ │ │ +00003ed0: 7572 6661 6365 7320 7769 7468 0a62 6f74 urfaces with.bot │ │ │ │ │ +00003ee0: 6820 7369 6465 7320 7669 7369 626c 6520 h sides visible │ │ │ │ │ +00003ef0: 7261 7468 6572 2074 6861 6e20 6173 2074 rather than as t │ │ │ │ │ +00003f00: 6865 2066 6163 6573 206f 6620 736f 6c69 he faces of soli │ │ │ │ │ +00003f10: 6420 6f62 6a65 6374 732c 2077 6865 7265 d objects, where │ │ │ │ │ +00003f20: 2062 6163 6b0a 6661 6365 7320 6361 6e20 back.faces can │ │ │ │ │ +00003f30: 6265 2063 756c 6c65 642e 2020 466f 7220 be culled. For │ │ │ │ │ +00003f40: 7a65 726f 2d74 6869 636b 6e65 7373 2073 zero-thickness s │ │ │ │ │ +00003f50: 6f6c 6964 732c 2063 756c 6c69 6e67 2069 olids, culling i │ │ │ │ │ +00003f60: 7320 6120 7072 6f62 6c65 6d2e 0a4f 6e65 s a problem..One │ │ │ │ │ +00003f70: 2073 6f6c 7574 696f 6e20 6973 2074 6f20 solution is to │ │ │ │ │ +00003f80: 7573 6520 6120 7061 6972 206f 6620 e280 use a pair of .. │ │ │ │ │ +00003f90: 9873 6b65 7463 68e2 8099 2070 6f6c 7967 .sketch... polyg │ │ │ │ │ +00003fa0: 6f6e 7320 666f 7220 6561 6368 0a7a 6572 ons for each.zer │ │ │ │ │ +00003fb0: 6f2d 7468 6963 6b6e 6573 7320 6661 6365 o-thickness face │ │ │ │ │ +00003fc0: 2c20 6964 656e 7469 6361 6c20 6578 6365 , identical exce │ │ │ │ │ +00003fd0: 7074 2077 6974 6820 6f70 706f 7369 7465 pt with opposite │ │ │ │ │ +00003fe0: 2076 6572 7465 7820 6f72 6465 7273 2e20 vertex orders. │ │ │ │ │ +00003ff0: 2054 6869 730a 6973 2075 6e77 6965 6c64 This.is unwield │ │ │ │ │ +00004000: 7920 616e 6420 6578 7065 6e73 6976 652e y and expensive. │ │ │ │ │ +00004010: 2020 4120 6265 7474 6572 2077 6179 2069 A better way i │ │ │ │ │ +00004020: 7320 746f 2073 6574 2074 6865 20e2 8098 s to set the ... │ │ │ │ │ +00004030: 736b 6574 6368 e280 9920 696e 7465 726e sketch... intern │ │ │ │ │ +00004040: 616c 0a6f 7074 696f 6e20 e280 9863 756c al.option ...cul │ │ │ │ │ +00004050: 6ce2 8099 2074 6f20 e280 9866 616c 7365 l... to ...false │ │ │ │ │ +00004060: e280 9920 696e 2074 6865 2075 7375 616c ... in the usual │ │ │ │ │ +00004070: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ +00004080: 6d61 6e6e 6572 2e0a 2020 706f 6c79 676f manner.. polygo │ │ │ │ │ +00004090: 6e5b 6375 6c6c 3d66 616c 7365 5d28 7031 n[cull=false](p1 │ │ │ │ │ +000040a0: 2928 7032 2928 7033 290a 5468 6520 666f )(p2)(p3).The fo │ │ │ │ │ +000040b0: 6c6c 6f77 696e 6720 7368 6f77 7320 7468 llowing shows th │ │ │ │ │ +000040c0: 6520 7361 6d65 2068 656c 6978 2073 6861 e same helix sha │ │ │ │ │ +000040d0: 7065 2064 7261 776e 2066 6972 7374 2077 pe drawn first w │ │ │ │ │ +000040e0: 6974 6820 6375 6c6c 3d74 7275 6520 2874 ith cull=true (t │ │ │ │ │ +000040f0: 6865 0a64 6566 6175 6c74 2920 616e 6420 he.default) and │ │ │ │ │ +00004100: 7468 656e 2063 756c 6c3d 6661 6c73 652e then cull=false. │ │ │ │ │ +00004110: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ +00004120: 6578 3034 352e 706e 6722 2074 6578 743d ex045.png" text= │ │ │ │ │ +00004130: 2249 6d61 6765 2065 7830 3435 206f 6d69 "Image ex045 omi │ │ │ │ │ +00004140: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ +00004150: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ +00004160: 756d 656e 742e 2200 085d 0a0a 5765 276c ument."..]..We'l │ │ │ │ │ +00004170: 6c20 736f 6f6e 2073 6565 2068 6f77 2074 l soon see how t │ │ │ │ │ +00004180: 6f20 7072 6f64 7563 6520 7468 6573 6520 o produce these │ │ │ │ │ +00004190: 6865 6c69 7865 7320 7769 7468 2061 2066 helixes with a f │ │ │ │ │ +000041a0: 6577 206c 696e 6573 206f 6620 e280 9873 ew lines of ...s │ │ │ │ │ +000041b0: 6b65 7463 68e2 8099 0a6c 616e 6775 6167 ketch....languag │ │ │ │ │ +000041c0: 6520 636f 6465 2e0a 0a20 2020 4974 206d e code... It m │ │ │ │ │ +000041d0: 6179 2062 6520 7465 6d70 7469 6e67 2074 ay be tempting t │ │ │ │ │ +000041e0: 6f20 7475 726e 2063 756c 6c69 6e67 206f o turn culling o │ │ │ │ │ +000041f0: 6666 2067 7261 7475 6974 6f75 736c 7920 ff gratuitously │ │ │ │ │ +00004200: 736f 2074 6861 7420 7665 7274 6578 0a6f so that vertex.o │ │ │ │ │ +00004210: 7264 6572 2063 616e 2062 6520 6967 6e6f rder can be igno │ │ │ │ │ +00004220: 7265 642e 2020 5468 6973 2069 7320 6e6f red. This is no │ │ │ │ │ +00004230: 7420 6120 676f 6f64 2069 6465 6120 6265 t a good idea be │ │ │ │ │ +00004240: 6361 7573 6520 6f75 7470 7574 2066 696c cause output fil │ │ │ │ │ +00004250: 6520 7369 7a65 0a61 6e64 2054 6558 2061 e size.and TeX a │ │ │ │ │ +00004260: 6e64 2050 6f73 7473 6372 6970 7420 7072 nd Postscript pr │ │ │ │ │ +00004270: 6f63 6573 7369 6e67 2074 696d 6520 626f ocessing time bo │ │ │ │ │ +00004280: 7468 2064 6570 656e 6420 6f6e 2074 6865 th depend on the │ │ │ │ │ +00004290: 206e 756d 6265 7220 6f66 0a6f 7574 7075 number of.outpu │ │ │ │ │ +000042a0: 7420 706f 6c79 676f 6e73 2e20 2043 756c t polygons. Cul │ │ │ │ │ +000042b0: 6c69 6e67 2075 7375 616c 6c79 2069 6d70 ling usually imp │ │ │ │ │ +000042c0: 726f 7665 7320 7065 7266 6f72 6d61 6e63 roves performanc │ │ │ │ │ +000042d0: 6520 6279 2061 2066 6163 746f 7220 6f66 e by a factor of │ │ │ │ │ +000042e0: 0a74 776f 2e20 204f 6e20 7468 6520 6f74 .two. On the ot │ │ │ │ │ +000042f0: 6865 7220 6861 6e64 2c20 676c 6f62 616c her hand, global │ │ │ │ │ +00004300: 6c79 2073 6574 7469 6e67 20e2 8098 6375 ly setting ...cu │ │ │ │ │ +00004310: 6c6c 3d66 616c 7365 e280 9920 6973 2072 ll=false... is r │ │ │ │ │ +00004320: 6561 736f 6e61 626c 650a 7768 696c 6520 easonable.while │ │ │ │ │ +00004330: 6465 6275 6767 696e 672e 2020 5365 6520 debugging. See │ │ │ │ │ +00004340: 2a6e 6f74 6520 476c 6f62 616c 206f 7074 *note Global opt │ │ │ │ │ +00004350: 696f 6e73 3a3a 2061 6e64 202a 6e6f 7465 ions:: and *note │ │ │ │ │ +00004360: 204c 696d 6974 7320 6f6e 2065 7272 6f72 Limits on error │ │ │ │ │ +00004370: 0a64 6574 6563 7469 6f6e 3a3a 2e0a 0a1f .detection::.... │ │ │ │ │ +00004380: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00004390: 666f 2c20 204e 6f64 653a 2053 7065 6369 fo, Node: Speci │ │ │ │ │ +000043a0: 616c 206f 626a 6563 7473 2c20 204e 6578 al objects, Nex │ │ │ │ │ +000043b0: 743a 204f 626a 6563 7420 7472 616e 7366 t: Object transf │ │ │ │ │ +000043c0: 6f72 6d73 2c20 2050 7265 763a 2044 7261 orms, Prev: Dra │ │ │ │ │ +000043d0: 7769 6e67 2061 2073 6f6c 6964 2c20 2055 wing a solid, U │ │ │ │ │ +000043e0: 703a 2049 6e74 726f 6475 6374 696f 6e20 p: Introduction │ │ │ │ │ +000043f0: 6279 2065 7861 6d70 6c65 0a0a 322e 3420 by example..2.4 │ │ │ │ │ +00004400: 5370 6563 6961 6c20 6f62 6a65 6374 730a Special objects. │ │ │ │ │ 00004410: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -00004420: 3d0a 0a57 6520 6361 6e20 6164 6420 6c61 =..We can add la │ │ │ │ │ -00004430: 6265 6c73 2074 6f20 6120 6472 6177 696e bels to a drawin │ │ │ │ │ -00004440: 6720 6279 2075 7369 6e67 2073 7065 6369 g by using speci │ │ │ │ │ -00004450: 616c 206f 626a 6563 7473 2c20 7768 6963 al objects, whic │ │ │ │ │ -00004460: 6820 7072 6f76 6964 6520 610a 7761 7920 h provide a.way │ │ │ │ │ -00004470: 746f 2065 6d62 6564 2072 6177 204c 6154 to embed raw LaT │ │ │ │ │ -00004480: 6558 2061 6e64 20e2 8098 5053 5472 6963 eX and ...PSTric │ │ │ │ │ -00004490: 6b73 e280 9920 636f 6465 2e20 2041 6464 ks... code. Add │ │ │ │ │ -000044a0: 696e 6720 7468 6973 2074 6f20 7468 650a ing this to the. │ │ │ │ │ -000044b0: 7465 7472 6168 6564 726f 6e20 646f 6573 tetrahedron does │ │ │ │ │ -000044c0: 2074 6865 2074 7269 636b 2e0a 2020 7370 the trick.. sp │ │ │ │ │ -000044d0: 6563 6961 6c20 7c5c 666f 6f74 6e6f 7465 ecial |\footnote │ │ │ │ │ -000044e0: 7369 7a65 0a20 2020 2020 2020 2020 2020 size. │ │ │ │ │ -000044f0: 5c75 7075 747b 3270 747d 5b75 725d 2331 \uput{2pt}[ur]#1 │ │ │ │ │ -00004500: 7b24 5031 247d 0a20 2020 2020 2020 2020 {$P1$}. │ │ │ │ │ -00004510: 2020 5c75 7075 745b 725d 2332 7b24 5032 \uput[r]#2{$P2 │ │ │ │ │ -00004520: 247d 0a20 2020 2020 2020 2020 2020 5c75 $}. \u │ │ │ │ │ -00004530: 7075 745b 755d 2333 7b24 5033 247d 0a20 put[u]#3{$P3$}. │ │ │ │ │ -00004540: 2020 2020 2020 2020 2020 5c75 7075 745b \uput[ │ │ │ │ │ -00004550: 645d 2334 7b24 5034 247d 7c0a 2020 2020 d]#4{$P4$}|. │ │ │ │ │ -00004560: 2870 3129 2870 3229 2870 3329 2870 3429 (p1)(p2)(p3)(p4) │ │ │ │ │ -00004570: 0a48 6572 6520 6973 2074 6865 2072 6573 .Here is the res │ │ │ │ │ -00004580: 756c 742e 0a0a 0008 5b69 6d61 6765 2073 ult.....[image s │ │ │ │ │ -00004590: 7263 3d22 6578 3034 322e 706e 6722 2074 rc="ex042.png" t │ │ │ │ │ -000045a0: 6578 743d 2249 6d61 6765 2065 7830 3432 ext="Image ex042 │ │ │ │ │ -000045b0: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ -000045c0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ -000045d0: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ -000045e0: 2020 2054 6865 7265 2061 7265 2073 6576 There are sev │ │ │ │ │ -000045f0: 6572 616c 2064 6574 6169 6c73 2074 6f20 eral details to │ │ │ │ │ -00004600: 6e6f 7465 2068 6572 652e 2020 4669 7273 note here. Firs │ │ │ │ │ -00004610: 742c 2074 6865 2071 756f 7469 6e67 0a63 t, the quoting.c │ │ │ │ │ -00004620: 6f6e 7665 6e74 696f 6e20 666f 7220 7468 onvention for th │ │ │ │ │ -00004630: 6520 7261 7720 636f 6465 2069 7320 7369 e raw code is si │ │ │ │ │ -00004640: 6d69 6c61 7220 746f 2074 6865 204c 6154 milar to the LaT │ │ │ │ │ -00004650: 6558 205c 7665 7262 2063 6f6d 6d61 6e64 eX \verb command │ │ │ │ │ -00004660: 2e20 2054 6865 0a66 6972 7374 206e 6f6e . The.first non │ │ │ │ │ -00004670: 2d77 6869 7465 2073 7061 6365 2063 6861 -white space cha │ │ │ │ │ -00004680: 7261 6374 6572 2066 6f6c 6c6f 7769 6e67 racter following │ │ │ │ │ -00004690: 2073 7065 6369 616c 2069 7320 756e 6465 special is unde │ │ │ │ │ -000046a0: 7273 746f 6f64 2074 6f20 6265 0a74 6865 rstood to be.the │ │ │ │ │ -000046b0: 2071 756f 7465 2063 6861 7261 6374 6572 quote character │ │ │ │ │ -000046c0: 2c20 696e 2074 6869 7320 6361 7365 20e2 , in this case . │ │ │ │ │ -000046d0: 8098 7ce2 8099 2e20 2054 6865 2072 6177 ..|.... The raw │ │ │ │ │ -000046e0: 2074 6578 7420 636f 6e74 696e 7565 7320 text continues │ │ │ │ │ -000046f0: 756e 7469 6c0a 7468 6973 2063 6861 7261 until.this chara │ │ │ │ │ -00004700: 6374 6572 2072 6563 7572 732e 0a0a 2020 cter recurs... │ │ │ │ │ -00004710: 2053 6563 6f6e 642c 2074 6865 2061 7267 Second, the arg │ │ │ │ │ -00004720: 756d 656e 7420 7265 6665 7265 6e63 6573 ument references │ │ │ │ │ -00004730: 2023 312c 2023 322c 2023 332c 2061 6e64 #1, #2, #3, and │ │ │ │ │ -00004740: 2023 3420 7265 6665 7220 746f 2070 6f69 #4 refer to poi │ │ │ │ │ -00004750: 6e74 2c0a 7665 6374 6f72 2c20 6f72 2073 nt,.vector, or s │ │ │ │ │ -00004760: 6361 6c61 7220 7661 6c75 6573 2069 6e20 calar values in │ │ │ │ │ -00004770: 7468 6520 6c69 7374 2074 6861 7420 666f the list that fo │ │ │ │ │ -00004780: 6c6c 6f77 2e20 2054 6869 7320 6973 2073 llow. This is s │ │ │ │ │ -00004790: 696d 696c 6172 2074 6f0a 5465 5820 6d61 imilar to.TeX ma │ │ │ │ │ -000047a0: 6372 6f20 7379 6e74 6178 2e20 2054 6865 cro syntax. The │ │ │ │ │ -000047b0: 2074 7261 6e73 666f 726d 6564 2061 6e64 transformed and │ │ │ │ │ -000047c0: 2074 776f 2d64 696d 656e 7369 6f6e 616c two-dimensional │ │ │ │ │ -000047d0: 2070 726f 6a65 6374 696f 6e73 206f 660a projections of. │ │ │ │ │ -000047e0: 7468 6573 6520 7468 7265 652d 6469 6d65 these three-dime │ │ │ │ │ -000047f0: 6e73 696f 6e61 6c20 706f 696e 7473 2061 nsional points a │ │ │ │ │ -00004800: 7265 2073 7562 7374 6974 7574 6564 2069 re substituted i │ │ │ │ │ -00004810: 6e20 7468 6520 6669 6e61 6c20 6f75 7470 n the final outp │ │ │ │ │ -00004820: 7574 2e20 2041 6e0a 6172 6775 6d65 6e74 ut. An.argument │ │ │ │ │ -00004830: 2072 6566 6572 656e 6365 206f 6620 7468 reference of th │ │ │ │ │ -00004840: 6520 666f 726d 2023 312d 3220 6973 2072 e form #1-2 is r │ │ │ │ │ -00004850: 6570 6c61 6365 6420 7769 7468 2074 6865 eplaced with the │ │ │ │ │ -00004860: 2061 6e67 6c65 2069 6e0a 6465 6772 6565 angle in.degree │ │ │ │ │ -00004870: 7320 6f66 2074 6865 2074 776f 2d64 696d s of the two-dim │ │ │ │ │ -00004880: 656e 7369 6f6e 616c 2076 6563 746f 7220 ensional vector │ │ │ │ │ -00004890: 7468 6174 2063 6f6e 6e65 6374 7320 7468 that connects th │ │ │ │ │ -000048a0: 6520 7072 6f6a 6563 7469 6f6e 7320 6f66 e projections of │ │ │ │ │ -000048b0: 0a74 6865 2074 776f 2072 6573 7065 6374 .the two respect │ │ │ │ │ -000048c0: 6976 6520 6172 6775 6d65 6e74 2070 6f69 ive argument poi │ │ │ │ │ -000048d0: 6e74 732c 2068 6572 6520 2331 2061 6e64 nts, here #1 and │ │ │ │ │ -000048e0: 2023 322e 2020 5468 6520 7375 6273 7469 #2. The substi │ │ │ │ │ -000048f0: 7475 7465 640a 616e 676c 6520 6973 2065 tuted.angle is e │ │ │ │ │ -00004900: 6e63 6c6f 7365 6420 696e 2063 7572 6c79 nclosed in curly │ │ │ │ │ -00004910: 2062 7261 6365 7320 e280 987b 207d e280 braces ...{ }.. │ │ │ │ │ -00004920: 992e 2020 5768 656e 20e2 8098 5469 6b5a .. When ...TikZ │ │ │ │ │ -00004930: 2f50 4746 e280 9920 6f75 7470 7574 2069 /PGF... output i │ │ │ │ │ -00004940: 730a 6265 696e 6720 6765 6e65 7261 7465 s.being generate │ │ │ │ │ -00004950: 642c 2074 6865 2061 6e67 6c65 2069 7320 d, the angle is │ │ │ │ │ -00004960: 726f 756e 6465 6420 746f 2074 6865 206e rounded to the n │ │ │ │ │ -00004970: 6561 7265 7374 2064 6567 7265 6520 6265 earest degree be │ │ │ │ │ -00004980: 6361 7573 650a 6e6f 6e2d 696e 7465 6765 cause.non-intege │ │ │ │ │ -00004990: 7220 616e 676c 6573 2061 7265 206e 6f74 r angles are not │ │ │ │ │ -000049a0: 2061 6c6c 6f77 6564 2062 7920 e280 9854 allowed by ...T │ │ │ │ │ -000049b0: 696b 5a2f 5047 46e2 8099 2070 7269 6d69 ikZ/PGF... primi │ │ │ │ │ -000049c0: 7469 7665 732e 0a0a 2020 2041 7320 6f66 tives... As of │ │ │ │ │ -000049d0: 2056 6572 7369 6f6e 2030 2e33 206f 6620 Version 0.3 of │ │ │ │ │ -000049e0: e280 9873 6b65 7463 68e2 8099 2c20 7370 ...sketch..., sp │ │ │ │ │ -000049f0: 6563 6961 6c20 6172 6775 6d65 6e74 7320 ecial arguments │ │ │ │ │ -00004a00: 6d61 7920 6265 2073 6361 6c61 7273 206f may be scalars o │ │ │ │ │ -00004a10: 720a 7665 6374 6f72 7320 696e 2061 6464 r.vectors in add │ │ │ │ │ -00004a20: 6974 696f 6e20 746f 2070 6f69 6e74 732e ition to points. │ │ │ │ │ -00004a30: 2020 5265 6665 7265 6e63 6573 2074 6f20 References to │ │ │ │ │ -00004a40: 7363 616c 6172 2061 7267 756d 656e 7473 scalar arguments │ │ │ │ │ -00004a50: 2061 7265 0a6d 6572 656c 7920 7265 706c are.merely repl │ │ │ │ │ -00004a60: 6163 6564 2077 6974 6820 6120 6e75 6d62 aced with a numb │ │ │ │ │ -00004a70: 6572 2066 6f72 6d61 7474 6564 206a 7573 er formatted jus │ │ │ │ │ -00004a80: 7420 6173 2061 6e79 2070 6f69 6e74 2063 t as any point c │ │ │ │ │ -00004a90: 6f6f 7264 696e 6174 652e 0a52 6566 6572 oordinate..Refer │ │ │ │ │ -00004aa0: 656e 6365 7320 746f 2076 6563 746f 7273 ences to vectors │ │ │ │ │ -00004ab0: 2062 6563 6f6d 6520 7477 6f2d 6469 6d65 become two-dime │ │ │ │ │ -00004ac0: 6e73 696f 6e61 6c20 706f 696e 7473 2e20 nsional points. │ │ │ │ │ -00004ad0: 2054 6865 2074 6963 6b20 6f70 6572 6174 The tick operat │ │ │ │ │ -00004ae0: 6f72 0a74 6861 7420 7365 6c65 6374 7320 or.that selects │ │ │ │ │ -00004af0: 696e 6469 7669 6475 616c 2063 6f6d 706f individual compo │ │ │ │ │ -00004b00: 6e65 6e74 7320 6f66 2070 6f69 6e74 7320 nents of points │ │ │ │ │ -00004b10: 616e 6420 7665 6374 6f72 7320 656c 7365 and vectors else │ │ │ │ │ -00004b20: 7768 6572 6520 696e 0ae2 8098 736b 6574 where in....sket │ │ │ │ │ -00004b30: 6368 e280 9920 2873 6565 2066 6f72 2065 ch... (see for e │ │ │ │ │ -00004b40: 7861 6d70 6c65 202a 6e6f 7465 2041 6666 xample *note Aff │ │ │ │ │ -00004b50: 696e 6520 6172 6974 686d 6574 6963 3a3a ine arithmetic:: │ │ │ │ │ -00004b60: 2920 6361 6e20 616c 736f 2062 6520 6170 ) can also be ap │ │ │ │ │ -00004b70: 706c 6965 640a 746f 2070 6f69 6e74 2061 plied.to point a │ │ │ │ │ -00004b80: 6e64 2076 6563 746f 7220 6172 6775 6d65 nd vector argume │ │ │ │ │ -00004b90: 6e74 2072 6566 6572 656e 6365 732e 2020 nt references. │ │ │ │ │ -00004ba0: 416c 6c20 7468 7265 6520 6469 6d65 6e73 All three dimens │ │ │ │ │ -00004bb0: 696f 6e73 206f 6620 610a 7472 616e 7366 ions of a.transf │ │ │ │ │ -00004bc0: 6f72 6d65 6420 706f 696e 7420 6f72 2076 ormed point or v │ │ │ │ │ -00004bd0: 6563 746f 7220 6361 6e20 616c 736f 2062 ector can also b │ │ │ │ │ -00004be0: 6520 7375 6273 7469 7475 6564 2077 6974 e substitued wit │ │ │ │ │ -00004bf0: 6820 e280 9827 33e2 8099 2e20 2053 6565 h ...'3.... See │ │ │ │ │ -00004c00: 202a 6e6f 7465 0a53 7065 6369 616c 733a *note.Specials: │ │ │ │ │ -00004c10: 3a20 666f 7220 6465 7461 696c 732e 0a0a : for details... │ │ │ │ │ -00004c20: 2020 2042 7920 6465 6661 756c 742c 20e2 By default, . │ │ │ │ │ -00004c30: 8098 7370 6563 6961 6ce2 8099 206f 626a ..special... obj │ │ │ │ │ -00004c40: 6563 7473 2061 7265 2070 7269 6e74 6564 ects are printed │ │ │ │ │ -00004c50: 206c 6173 742c 206f 7665 726c 6179 696e last, overlayin │ │ │ │ │ -00004c60: 6720 616c 6c20 6f74 6865 720a 6f62 6a65 g all other.obje │ │ │ │ │ -00004c70: 6374 7320 696e 2074 6865 2073 6365 6e65 cts in the scene │ │ │ │ │ -00004c80: 2e20 2049 6620 796f 7520 7370 6563 6966 . If you specif │ │ │ │ │ -00004c90: 7920 7468 6520 696e 7465 726e 616c 206f y the internal o │ │ │ │ │ -00004ca0: 7074 696f 6e20 e280 986c 6179 3d69 6ee2 ption ...lay=in. │ │ │ │ │ -00004cb0: 8099 2c20 7468 650a 6869 6464 656e 2073 .., the.hidden s │ │ │ │ │ -00004cc0: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm │ │ │ │ │ -00004cd0: 2063 6f6e 7369 6465 7273 2074 6865 2065 considers the e │ │ │ │ │ -00004ce0: 6e74 6972 6520 7370 6563 6961 6c20 6f62 ntire special ob │ │ │ │ │ -00004cf0: 6a65 6374 2074 6f20 6265 2074 6865 0a66 ject to be the.f │ │ │ │ │ -00004d00: 6972 7374 2070 6f69 6e74 2028 2331 2920 irst point (#1) │ │ │ │ │ -00004d10: 696e 2074 6865 2061 7267 756d 656e 7420 in the argument │ │ │ │ │ -00004d20: 6c69 7374 2e20 2049 6620 7468 6174 2070 list. If that p │ │ │ │ │ -00004d30: 6f69 6e74 2069 7320 6265 6869 6e64 2028 oint is behind ( │ │ │ │ │ -00004d40: 6f66 0a73 6d61 6c6c 6572 207a 2d63 6f6d of.smaller z-com │ │ │ │ │ -00004d50: 706f 6e65 6e74 2074 6861 6e29 2061 6e79 ponent than) any │ │ │ │ │ -00004d60: 2064 7261 7761 626c 652c 2074 6865 6e20 drawable, then │ │ │ │ │ -00004d70: 7468 6520 656e 7469 7265 2073 7065 6369 the entire speci │ │ │ │ │ -00004d80: 616c 206f 626a 6563 740a 6973 2064 7261 al object.is dra │ │ │ │ │ -00004d90: 776e 2062 6566 6f72 6520 7468 6174 2064 wn before that d │ │ │ │ │ -00004da0: 7261 7761 626c 652c 2073 6f20 7468 6520 rawable, so the │ │ │ │ │ -00004db0: 6472 6177 6162 6c65 206f 6273 6375 7265 drawable obscure │ │ │ │ │ -00004dc0: 7320 7061 7274 7320 6f66 2074 6865 0a73 s parts of the.s │ │ │ │ │ -00004dd0: 7065 6369 616c 206f 626a 6563 7420 7468 pecial object th │ │ │ │ │ -00004de0: 6174 206f 7665 726c 6170 7320 6974 2e20 at overlaps it. │ │ │ │ │ -00004df0: 2049 6e20 6f75 7220 6578 616d 706c 652c In our example, │ │ │ │ │ -00004e00: 2070 3120 6973 2074 6865 2066 726f 6e74 p1 is the front │ │ │ │ │ -00004e10: 2d6d 6f73 740a 706f 696e 7420 696e 2074 -most.point in t │ │ │ │ │ -00004e20: 6865 2073 6365 6e65 2028 6861 7320 7468 he scene (has th │ │ │ │ │ -00004e30: 6520 6c61 7267 6573 7420 7a2d 636f 6d70 e largest z-comp │ │ │ │ │ -00004e40: 6f6e 656e 7429 2c20 736f 2061 6464 696e onent), so addin │ │ │ │ │ -00004e50: 6720 e280 986c 6179 3d69 6ee2 8099 2068 g ...lay=in... h │ │ │ │ │ -00004e60: 6173 0a6e 6f20 6566 6665 6374 2e0a 0a20 as.no effect... │ │ │ │ │ -00004e70: 2020 5769 7468 206f 7074 696f 6e20 e280 With option .. │ │ │ │ │ -00004e80: 986c 6179 3d75 6e64 6572 e280 992c 2061 .lay=under..., a │ │ │ │ │ -00004e90: 2073 7065 6369 616c 2069 7320 6472 6177 special is draw │ │ │ │ │ -00004ea0: 6e20 5f62 6566 6f72 655f 2c20 6865 6e63 n _before_, henc │ │ │ │ │ -00004eb0: 6520 6170 7065 6172 730a 5f75 6e64 6572 e appears._under │ │ │ │ │ -00004ec0: 5f20 616e 7920 6f66 2074 6865 206f 626a _ any of the obj │ │ │ │ │ -00004ed0: 6563 7473 2068 616e 646c 6564 2062 7920 ects handled by │ │ │ │ │ -00004ee0: 7468 6520 6869 6464 656e 2073 7572 6661 the hidden surfa │ │ │ │ │ -00004ef0: 6365 2061 6c67 6f72 6974 686d 2e0a 5468 ce algorithm..Th │ │ │ │ │ -00004f00: 6973 2069 7320 686f 7720 7468 6520 6c69 is is how the li │ │ │ │ │ -00004f10: 6768 7420 6772 6179 2061 7865 7320 7765 ght gray axes we │ │ │ │ │ -00004f20: 7265 2061 6464 6564 2074 6f20 7468 6520 re added to the │ │ │ │ │ -00004f30: 2268 656c 6c6f 2077 6f72 6c64 2220 6578 "hello world" ex │ │ │ │ │ -00004f40: 616d 706c 650a 2a6e 6f74 6520 4865 6c6c ample.*note Hell │ │ │ │ │ -00004f50: 6f20 776f 726c 643a 3a2e 0a0a 2020 2053 o world::... S │ │ │ │ │ -00004f60: 7065 6369 616c 206f 626a 6563 7473 2061 pecial objects a │ │ │ │ │ -00004f70: 7265 2070 6f77 6572 6675 6c2c 2077 6974 re powerful, wit │ │ │ │ │ -00004f80: 6820 6d61 6e79 2070 6f73 7369 626c 6520 h many possible │ │ │ │ │ -00004f90: 7573 6573 2e0a 0a1f 0a46 696c 653a 2073 uses.....File: s │ │ │ │ │ -00004fa0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -00004fb0: 653a 204f 626a 6563 7420 7472 616e 7366 e: Object transf │ │ │ │ │ -00004fc0: 6f72 6d73 2c20 204e 6578 743a 2052 6570 orms, Next: Rep │ │ │ │ │ -00004fd0: 6561 7465 6420 6f62 6a65 6374 732c 2020 eated objects, │ │ │ │ │ -00004fe0: 5072 6576 3a20 5370 6563 6961 6c20 6f62 Prev: Special ob │ │ │ │ │ -00004ff0: 6a65 6374 732c 2020 5570 3a20 496e 7472 jects, Up: Intr │ │ │ │ │ -00005000: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ -00005010: 706c 650a 0a32 2e35 2054 7261 6e73 666f ple..2.5 Transfo │ │ │ │ │ -00005020: 726d 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d rms.============ │ │ │ │ │ -00005030: 3d3d 0a0a 4e6f 7720 6c65 7427 7320 6164 ==..Now let's ad │ │ │ │ │ -00005040: 6420 6120 7365 636f 6e64 2063 6f70 7920 d a second copy │ │ │ │ │ -00005050: 6f66 2074 6865 2070 6965 7263 6564 2074 of the pierced t │ │ │ │ │ -00005060: 6574 7261 6865 6472 6f6e 2e20 2057 6527 etrahedron. We' │ │ │ │ │ -00005070: 6c6c 2072 6f74 6174 650a 7468 6520 636f ll rotate.the co │ │ │ │ │ -00005080: 7079 2039 3020 6465 6772 6565 7320 6162 py 90 degrees ab │ │ │ │ │ -00005090: 6f75 7420 7468 6520 782d 6178 6973 2077 out the x-axis w │ │ │ │ │ -000050a0: 6974 6820 7468 6520 6f72 6967 696e 2061 ith the origin a │ │ │ │ │ -000050b0: 7320 e280 9c63 656e 7465 7220 6f66 0a72 s ...center of.r │ │ │ │ │ -000050c0: 6f74 6174 696f 6ee2 809d 2073 6f20 7765 otation... so we │ │ │ │ │ -000050d0: 2063 616e 2073 6565 2074 6865 2062 6163 can see the bac │ │ │ │ │ -000050e0: 6b2c 2074 6865 6e20 7472 616e 736c 6174 k, then translat │ │ │ │ │ -000050f0: 6520 6974 2074 6f20 7468 6520 7269 6768 e it to the righ │ │ │ │ │ -00005100: 742d 2d69 6e20 7468 650a 706f 7369 7469 t--in the.positi │ │ │ │ │ -00005110: 7665 2078 2d64 6972 6563 7469 6f6e 2d2d ve x-direction-- │ │ │ │ │ -00005120: 736f 2069 7420 646f 6573 6e27 7420 636f so it doesn't co │ │ │ │ │ -00005130: 6c6c 6964 6520 7769 7468 2074 6865 206f llide with the o │ │ │ │ │ -00005140: 7269 6769 6e61 6c2e 2020 546f 2068 656c riginal. To hel │ │ │ │ │ -00005150: 700a 7573 2073 6565 2077 6861 7427 7320 p.us see what's │ │ │ │ │ -00005160: 676f 696e 6720 6f6e 2c20 6d61 6b65 2074 going on, make t │ │ │ │ │ -00005170: 6865 2062 6163 6b20 7369 6465 2067 7261 he back side gra │ │ │ │ │ -00005180: 792e 0a20 2064 6566 2070 6965 7263 6564 y.. def pierced │ │ │ │ │ -00005190: 5f74 6574 7261 6865 6472 6f6e 207b 0a20 _tetrahedron {. │ │ │ │ │ -000051a0: 2020 2064 6566 2070 3120 2830 2c30 2c31 def p1 (0,0,1 │ │ │ │ │ -000051b0: 2920 6465 6620 7032 2028 312c 302c 3029 ) def p2 (1,0,0) │ │ │ │ │ -000051c0: 0a20 2020 2064 6566 2070 3320 2830 2c31 . def p3 (0,1 │ │ │ │ │ -000051d0: 2c30 2920 6465 6620 7034 2028 2d2e 332c ,0) def p4 (-.3, │ │ │ │ │ -000051e0: 2d2e 352c 2d2e 3829 0a20 2020 2070 6f6c -.5,-.8). pol │ │ │ │ │ -000051f0: 7967 6f6e 2870 3129 2870 3229 2870 3329 ygon(p1)(p2)(p3) │ │ │ │ │ -00005200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00005210: 2020 2020 2020 2520 6f72 6967 696e 616c % original │ │ │ │ │ -00005220: 0a20 2020 2070 6f6c 7967 6f6e 2870 3129 . polygon(p1) │ │ │ │ │ -00005230: 2870 3429 2870 3229 2020 2020 2020 2020 (p4)(p2) │ │ │ │ │ -00005240: 2020 2020 2020 2020 2020 2020 2020 2520 % │ │ │ │ │ -00005250: 626f 7474 6f6d 0a20 2020 2070 6f6c 7967 bottom. polyg │ │ │ │ │ -00005260: 6f6e 2870 3129 2870 3329 2870 3429 2020 on(p1)(p3)(p4) │ │ │ │ │ +00004420: 3d3d 3d0a 0a57 6520 6361 6e20 6164 6420 ===..We can add │ │ │ │ │ +00004430: 6c61 6265 6c73 2074 6f20 6120 6472 6177 labels to a draw │ │ │ │ │ +00004440: 696e 6720 6279 2075 7369 6e67 2073 7065 ing by using spe │ │ │ │ │ +00004450: 6369 616c 206f 626a 6563 7473 2c20 7768 cial objects, wh │ │ │ │ │ +00004460: 6963 6820 7072 6f76 6964 6520 610a 7761 ich provide a.wa │ │ │ │ │ +00004470: 7920 746f 2065 6d62 6564 2072 6177 204c y to embed raw L │ │ │ │ │ +00004480: 6154 6558 2061 6e64 20e2 8098 5053 5472 aTeX and ...PSTr │ │ │ │ │ +00004490: 6963 6b73 e280 9920 636f 6465 2e20 2041 icks... code. A │ │ │ │ │ +000044a0: 6464 696e 6720 7468 6973 2074 6f20 7468 dding this to th │ │ │ │ │ +000044b0: 650a 7465 7472 6168 6564 726f 6e20 646f e.tetrahedron do │ │ │ │ │ +000044c0: 6573 2074 6865 2074 7269 636b 2e0a 2020 es the trick.. │ │ │ │ │ +000044d0: 7370 6563 6961 6c20 7c5c 666f 6f74 6e6f special |\footno │ │ │ │ │ +000044e0: 7465 7369 7a65 0a20 2020 2020 2020 2020 tesize. │ │ │ │ │ +000044f0: 2020 5c75 7075 747b 3270 747d 5b75 725d \uput{2pt}[ur] │ │ │ │ │ +00004500: 2331 7b24 5031 247d 0a20 2020 2020 2020 #1{$P1$}. │ │ │ │ │ +00004510: 2020 2020 5c75 7075 745b 725d 2332 7b24 \uput[r]#2{$ │ │ │ │ │ +00004520: 5032 247d 0a20 2020 2020 2020 2020 2020 P2$}. │ │ │ │ │ +00004530: 5c75 7075 745b 755d 2333 7b24 5033 247d \uput[u]#3{$P3$} │ │ │ │ │ +00004540: 0a20 2020 2020 2020 2020 2020 5c75 7075 . \upu │ │ │ │ │ +00004550: 745b 645d 2334 7b24 5034 247d 7c0a 2020 t[d]#4{$P4$}|. │ │ │ │ │ +00004560: 2020 2870 3129 2870 3229 2870 3329 2870 (p1)(p2)(p3)(p │ │ │ │ │ +00004570: 3429 0a48 6572 6520 6973 2074 6865 2072 4).Here is the r │ │ │ │ │ +00004580: 6573 756c 742e 0a0a 0008 5b69 6d61 6765 esult.....[image │ │ │ │ │ +00004590: 2073 7263 3d22 6578 3034 322e 706e 6722 src="ex042.png" │ │ │ │ │ +000045a0: 2074 6578 743d 2249 6d61 6765 2065 7830 text="Image ex0 │ │ │ │ │ +000045b0: 3432 206f 6d69 7474 6564 2069 6e20 7465 42 omitted in te │ │ │ │ │ +000045c0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ +000045d0: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ +000045e0: 0a0a 2020 2054 6865 7265 2061 7265 2073 .. There are s │ │ │ │ │ +000045f0: 6576 6572 616c 2064 6574 6169 6c73 2074 everal details t │ │ │ │ │ +00004600: 6f20 6e6f 7465 2068 6572 652e 2020 4669 o note here. Fi │ │ │ │ │ +00004610: 7273 742c 2074 6865 2071 756f 7469 6e67 rst, the quoting │ │ │ │ │ +00004620: 0a63 6f6e 7665 6e74 696f 6e20 666f 7220 .convention for │ │ │ │ │ +00004630: 7468 6520 7261 7720 636f 6465 2069 7320 the raw code is │ │ │ │ │ +00004640: 7369 6d69 6c61 7220 746f 2074 6865 204c similar to the L │ │ │ │ │ +00004650: 6154 6558 205c 7665 7262 2063 6f6d 6d61 aTeX \verb comma │ │ │ │ │ +00004660: 6e64 2e20 2054 6865 0a66 6972 7374 206e nd. The.first n │ │ │ │ │ +00004670: 6f6e 2d77 6869 7465 2073 7061 6365 2063 on-white space c │ │ │ │ │ +00004680: 6861 7261 6374 6572 2066 6f6c 6c6f 7769 haracter followi │ │ │ │ │ +00004690: 6e67 2073 7065 6369 616c 2069 7320 756e ng special is un │ │ │ │ │ +000046a0: 6465 7273 746f 6f64 2074 6f20 6265 0a74 derstood to be.t │ │ │ │ │ +000046b0: 6865 2071 756f 7465 2063 6861 7261 6374 he quote charact │ │ │ │ │ +000046c0: 6572 2c20 696e 2074 6869 7320 6361 7365 er, in this case │ │ │ │ │ +000046d0: 20e2 8098 7ce2 8099 2e20 2054 6865 2072 ...|.... The r │ │ │ │ │ +000046e0: 6177 2074 6578 7420 636f 6e74 696e 7565 aw text continue │ │ │ │ │ +000046f0: 7320 756e 7469 6c0a 7468 6973 2063 6861 s until.this cha │ │ │ │ │ +00004700: 7261 6374 6572 2072 6563 7572 732e 0a0a racter recurs... │ │ │ │ │ +00004710: 2020 2053 6563 6f6e 642c 2074 6865 2061 Second, the a │ │ │ │ │ +00004720: 7267 756d 656e 7420 7265 6665 7265 6e63 rgument referenc │ │ │ │ │ +00004730: 6573 2023 312c 2023 322c 2023 332c 2061 es #1, #2, #3, a │ │ │ │ │ +00004740: 6e64 2023 3420 7265 6665 7220 746f 2070 nd #4 refer to p │ │ │ │ │ +00004750: 6f69 6e74 2c0a 7665 6374 6f72 2c20 6f72 oint,.vector, or │ │ │ │ │ +00004760: 2073 6361 6c61 7220 7661 6c75 6573 2069 scalar values i │ │ │ │ │ +00004770: 6e20 7468 6520 6c69 7374 2074 6861 7420 n the list that │ │ │ │ │ +00004780: 666f 6c6c 6f77 2e20 2054 6869 7320 6973 follow. This is │ │ │ │ │ +00004790: 2073 696d 696c 6172 2074 6f0a 5465 5820 similar to.TeX │ │ │ │ │ +000047a0: 6d61 6372 6f20 7379 6e74 6178 2e20 2054 macro syntax. T │ │ │ │ │ +000047b0: 6865 2074 7261 6e73 666f 726d 6564 2061 he transformed a │ │ │ │ │ +000047c0: 6e64 2074 776f 2d64 696d 656e 7369 6f6e nd two-dimension │ │ │ │ │ +000047d0: 616c 2070 726f 6a65 6374 696f 6e73 206f al projections o │ │ │ │ │ +000047e0: 660a 7468 6573 6520 7468 7265 652d 6469 f.these three-di │ │ │ │ │ +000047f0: 6d65 6e73 696f 6e61 6c20 706f 696e 7473 mensional points │ │ │ │ │ +00004800: 2061 7265 2073 7562 7374 6974 7574 6564 are substituted │ │ │ │ │ +00004810: 2069 6e20 7468 6520 6669 6e61 6c20 6f75 in the final ou │ │ │ │ │ +00004820: 7470 7574 2e20 2041 6e0a 6172 6775 6d65 tput. An.argume │ │ │ │ │ +00004830: 6e74 2072 6566 6572 656e 6365 206f 6620 nt reference of │ │ │ │ │ +00004840: 7468 6520 666f 726d 2023 312d 3220 6973 the form #1-2 is │ │ │ │ │ +00004850: 2072 6570 6c61 6365 6420 7769 7468 2074 replaced with t │ │ │ │ │ +00004860: 6865 2061 6e67 6c65 2069 6e0a 6465 6772 he angle in.degr │ │ │ │ │ +00004870: 6565 7320 6f66 2074 6865 2074 776f 2d64 ees of the two-d │ │ │ │ │ +00004880: 696d 656e 7369 6f6e 616c 2076 6563 746f imensional vecto │ │ │ │ │ +00004890: 7220 7468 6174 2063 6f6e 6e65 6374 7320 r that connects │ │ │ │ │ +000048a0: 7468 6520 7072 6f6a 6563 7469 6f6e 7320 the projections │ │ │ │ │ +000048b0: 6f66 0a74 6865 2074 776f 2072 6573 7065 of.the two respe │ │ │ │ │ +000048c0: 6374 6976 6520 6172 6775 6d65 6e74 2070 ctive argument p │ │ │ │ │ +000048d0: 6f69 6e74 732c 2068 6572 6520 2331 2061 oints, here #1 a │ │ │ │ │ +000048e0: 6e64 2023 322e 2020 5468 6520 7375 6273 nd #2. The subs │ │ │ │ │ +000048f0: 7469 7475 7465 640a 616e 676c 6520 6973 tituted.angle is │ │ │ │ │ +00004900: 2065 6e63 6c6f 7365 6420 696e 2063 7572 enclosed in cur │ │ │ │ │ +00004910: 6c79 2062 7261 6365 7320 e280 987b 207d ly braces ...{ } │ │ │ │ │ +00004920: e280 992e 2020 5768 656e 20e2 8098 5469 .... When ...Ti │ │ │ │ │ +00004930: 6b5a 2f50 4746 e280 9920 6f75 7470 7574 kZ/PGF... output │ │ │ │ │ +00004940: 2069 730a 6265 696e 6720 6765 6e65 7261 is.being genera │ │ │ │ │ +00004950: 7465 642c 2074 6865 2061 6e67 6c65 2069 ted, the angle i │ │ │ │ │ +00004960: 7320 726f 756e 6465 6420 746f 2074 6865 s rounded to the │ │ │ │ │ +00004970: 206e 6561 7265 7374 2064 6567 7265 6520 nearest degree │ │ │ │ │ +00004980: 6265 6361 7573 650a 6e6f 6e2d 696e 7465 because.non-inte │ │ │ │ │ +00004990: 6765 7220 616e 676c 6573 2061 7265 206e ger angles are n │ │ │ │ │ +000049a0: 6f74 2061 6c6c 6f77 6564 2062 7920 e280 ot allowed by .. │ │ │ │ │ +000049b0: 9854 696b 5a2f 5047 46e2 8099 2070 7269 .TikZ/PGF... pri │ │ │ │ │ +000049c0: 6d69 7469 7665 732e 0a0a 2020 2041 7320 mitives... As │ │ │ │ │ +000049d0: 6f66 2056 6572 7369 6f6e 2030 2e33 206f of Version 0.3 o │ │ │ │ │ +000049e0: 6620 e280 9873 6b65 7463 68e2 8099 2c20 f ...sketch..., │ │ │ │ │ +000049f0: 7370 6563 6961 6c20 6172 6775 6d65 6e74 special argument │ │ │ │ │ +00004a00: 7320 6d61 7920 6265 2073 6361 6c61 7273 s may be scalars │ │ │ │ │ +00004a10: 206f 720a 7665 6374 6f72 7320 696e 2061 or.vectors in a │ │ │ │ │ +00004a20: 6464 6974 696f 6e20 746f 2070 6f69 6e74 ddition to point │ │ │ │ │ +00004a30: 732e 2020 5265 6665 7265 6e63 6573 2074 s. References t │ │ │ │ │ +00004a40: 6f20 7363 616c 6172 2061 7267 756d 656e o scalar argumen │ │ │ │ │ +00004a50: 7473 2061 7265 0a6d 6572 656c 7920 7265 ts are.merely re │ │ │ │ │ +00004a60: 706c 6163 6564 2077 6974 6820 6120 6e75 placed with a nu │ │ │ │ │ +00004a70: 6d62 6572 2066 6f72 6d61 7474 6564 206a mber formatted j │ │ │ │ │ +00004a80: 7573 7420 6173 2061 6e79 2070 6f69 6e74 ust as any point │ │ │ │ │ +00004a90: 2063 6f6f 7264 696e 6174 652e 0a52 6566 coordinate..Ref │ │ │ │ │ +00004aa0: 6572 656e 6365 7320 746f 2076 6563 746f erences to vecto │ │ │ │ │ +00004ab0: 7273 2062 6563 6f6d 6520 7477 6f2d 6469 rs become two-di │ │ │ │ │ +00004ac0: 6d65 6e73 696f 6e61 6c20 706f 696e 7473 mensional points │ │ │ │ │ +00004ad0: 2e20 2054 6865 2074 6963 6b20 6f70 6572 . The tick oper │ │ │ │ │ +00004ae0: 6174 6f72 0a74 6861 7420 7365 6c65 6374 ator.that select │ │ │ │ │ +00004af0: 7320 696e 6469 7669 6475 616c 2063 6f6d s individual com │ │ │ │ │ +00004b00: 706f 6e65 6e74 7320 6f66 2070 6f69 6e74 ponents of point │ │ │ │ │ +00004b10: 7320 616e 6420 7665 6374 6f72 7320 656c s and vectors el │ │ │ │ │ +00004b20: 7365 7768 6572 6520 696e 0ae2 8098 736b sewhere in....sk │ │ │ │ │ +00004b30: 6574 6368 e280 9920 2873 6565 2066 6f72 etch... (see for │ │ │ │ │ +00004b40: 2065 7861 6d70 6c65 202a 6e6f 7465 2041 example *note A │ │ │ │ │ +00004b50: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic │ │ │ │ │ +00004b60: 3a3a 2920 6361 6e20 616c 736f 2062 6520 ::) can also be │ │ │ │ │ +00004b70: 6170 706c 6965 640a 746f 2070 6f69 6e74 applied.to point │ │ │ │ │ +00004b80: 2061 6e64 2076 6563 746f 7220 6172 6775 and vector argu │ │ │ │ │ +00004b90: 6d65 6e74 2072 6566 6572 656e 6365 732e ment references. │ │ │ │ │ +00004ba0: 2020 416c 6c20 7468 7265 6520 6469 6d65 All three dime │ │ │ │ │ +00004bb0: 6e73 696f 6e73 206f 6620 610a 7472 616e nsions of a.tran │ │ │ │ │ +00004bc0: 7366 6f72 6d65 6420 706f 696e 7420 6f72 sformed point or │ │ │ │ │ +00004bd0: 2076 6563 746f 7220 6361 6e20 616c 736f vector can also │ │ │ │ │ +00004be0: 2062 6520 7375 6273 7469 7475 6564 2077 be substitued w │ │ │ │ │ +00004bf0: 6974 6820 e280 9827 33e2 8099 2e20 2053 ith ...'3.... S │ │ │ │ │ +00004c00: 6565 202a 6e6f 7465 0a53 7065 6369 616c ee *note.Special │ │ │ │ │ +00004c10: 733a 3a20 666f 7220 6465 7461 696c 732e s:: for details. │ │ │ │ │ +00004c20: 0a0a 2020 2042 7920 6465 6661 756c 742c .. By default, │ │ │ │ │ +00004c30: 20e2 8098 7370 6563 6961 6ce2 8099 206f ...special... o │ │ │ │ │ +00004c40: 626a 6563 7473 2061 7265 2070 7269 6e74 bjects are print │ │ │ │ │ +00004c50: 6564 206c 6173 742c 206f 7665 726c 6179 ed last, overlay │ │ │ │ │ +00004c60: 696e 6720 616c 6c20 6f74 6865 720a 6f62 ing all other.ob │ │ │ │ │ +00004c70: 6a65 6374 7320 696e 2074 6865 2073 6365 jects in the sce │ │ │ │ │ +00004c80: 6e65 2e20 2049 6620 796f 7520 7370 6563 ne. If you spec │ │ │ │ │ +00004c90: 6966 7920 7468 6520 696e 7465 726e 616c ify the internal │ │ │ │ │ +00004ca0: 206f 7074 696f 6e20 e280 986c 6179 3d69 option ...lay=i │ │ │ │ │ +00004cb0: 6ee2 8099 2c20 7468 650a 6869 6464 656e n..., the.hidden │ │ │ │ │ +00004cc0: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit │ │ │ │ │ +00004cd0: 686d 2063 6f6e 7369 6465 7273 2074 6865 hm considers the │ │ │ │ │ +00004ce0: 2065 6e74 6972 6520 7370 6563 6961 6c20 entire special │ │ │ │ │ +00004cf0: 6f62 6a65 6374 2074 6f20 6265 2074 6865 object to be the │ │ │ │ │ +00004d00: 0a66 6972 7374 2070 6f69 6e74 2028 2331 .first point (#1 │ │ │ │ │ +00004d10: 2920 696e 2074 6865 2061 7267 756d 656e ) in the argumen │ │ │ │ │ +00004d20: 7420 6c69 7374 2e20 2049 6620 7468 6174 t list. If that │ │ │ │ │ +00004d30: 2070 6f69 6e74 2069 7320 6265 6869 6e64 point is behind │ │ │ │ │ +00004d40: 2028 6f66 0a73 6d61 6c6c 6572 207a 2d63 (of.smaller z-c │ │ │ │ │ +00004d50: 6f6d 706f 6e65 6e74 2074 6861 6e29 2061 omponent than) a │ │ │ │ │ +00004d60: 6e79 2064 7261 7761 626c 652c 2074 6865 ny drawable, the │ │ │ │ │ +00004d70: 6e20 7468 6520 656e 7469 7265 2073 7065 n the entire spe │ │ │ │ │ +00004d80: 6369 616c 206f 626a 6563 740a 6973 2064 cial object.is d │ │ │ │ │ +00004d90: 7261 776e 2062 6566 6f72 6520 7468 6174 rawn before that │ │ │ │ │ +00004da0: 2064 7261 7761 626c 652c 2073 6f20 7468 drawable, so th │ │ │ │ │ +00004db0: 6520 6472 6177 6162 6c65 206f 6273 6375 e drawable obscu │ │ │ │ │ +00004dc0: 7265 7320 7061 7274 7320 6f66 2074 6865 res parts of the │ │ │ │ │ +00004dd0: 0a73 7065 6369 616c 206f 626a 6563 7420 .special object │ │ │ │ │ +00004de0: 7468 6174 206f 7665 726c 6170 7320 6974 that overlaps it │ │ │ │ │ +00004df0: 2e20 2049 6e20 6f75 7220 6578 616d 706c . In our exampl │ │ │ │ │ +00004e00: 652c 2070 3120 6973 2074 6865 2066 726f e, p1 is the fro │ │ │ │ │ +00004e10: 6e74 2d6d 6f73 740a 706f 696e 7420 696e nt-most.point in │ │ │ │ │ +00004e20: 2074 6865 2073 6365 6e65 2028 6861 7320 the scene (has │ │ │ │ │ +00004e30: 7468 6520 6c61 7267 6573 7420 7a2d 636f the largest z-co │ │ │ │ │ +00004e40: 6d70 6f6e 656e 7429 2c20 736f 2061 6464 mponent), so add │ │ │ │ │ +00004e50: 696e 6720 e280 986c 6179 3d69 6ee2 8099 ing ...lay=in... │ │ │ │ │ +00004e60: 2068 6173 0a6e 6f20 6566 6665 6374 2e0a has.no effect.. │ │ │ │ │ +00004e70: 0a20 2020 5769 7468 206f 7074 696f 6e20 . With option │ │ │ │ │ +00004e80: e280 986c 6179 3d75 6e64 6572 e280 992c ...lay=under..., │ │ │ │ │ +00004e90: 2061 2073 7065 6369 616c 2069 7320 6472 a special is dr │ │ │ │ │ +00004ea0: 6177 6e20 5f62 6566 6f72 655f 2c20 6865 awn _before_, he │ │ │ │ │ +00004eb0: 6e63 6520 6170 7065 6172 730a 5f75 6e64 nce appears._und │ │ │ │ │ +00004ec0: 6572 5f20 616e 7920 6f66 2074 6865 206f er_ any of the o │ │ │ │ │ +00004ed0: 626a 6563 7473 2068 616e 646c 6564 2062 bjects handled b │ │ │ │ │ +00004ee0: 7920 7468 6520 6869 6464 656e 2073 7572 y the hidden sur │ │ │ │ │ +00004ef0: 6661 6365 2061 6c67 6f72 6974 686d 2e0a face algorithm.. │ │ │ │ │ +00004f00: 5468 6973 2069 7320 686f 7720 7468 6520 This is how the │ │ │ │ │ +00004f10: 6c69 6768 7420 6772 6179 2061 7865 7320 light gray axes │ │ │ │ │ +00004f20: 7765 7265 2061 6464 6564 2074 6f20 7468 were added to th │ │ │ │ │ +00004f30: 6520 2268 656c 6c6f 2077 6f72 6c64 2220 e "hello world" │ │ │ │ │ +00004f40: 6578 616d 706c 650a 2a6e 6f74 6520 4865 example.*note He │ │ │ │ │ +00004f50: 6c6c 6f20 776f 726c 643a 3a2e 0a0a 2020 llo world::... │ │ │ │ │ +00004f60: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ +00004f70: 2061 7265 2070 6f77 6572 6675 6c2c 2077 are powerful, w │ │ │ │ │ +00004f80: 6974 6820 6d61 6e79 2070 6f73 7369 626c ith many possibl │ │ │ │ │ +00004f90: 6520 7573 6573 2e0a 0a1f 0a46 696c 653a e uses.....File: │ │ │ │ │ +00004fa0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00004fb0: 6f64 653a 204f 626a 6563 7420 7472 616e ode: Object tran │ │ │ │ │ +00004fc0: 7366 6f72 6d73 2c20 204e 6578 743a 2052 sforms, Next: R │ │ │ │ │ +00004fd0: 6570 6561 7465 6420 6f62 6a65 6374 732c epeated objects, │ │ │ │ │ +00004fe0: 2020 5072 6576 3a20 5370 6563 6961 6c20 Prev: Special │ │ │ │ │ +00004ff0: 6f62 6a65 6374 732c 2020 5570 3a20 496e objects, Up: In │ │ │ │ │ +00005000: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex │ │ │ │ │ +00005010: 616d 706c 650a 0a32 2e35 2054 7261 6e73 ample..2.5 Trans │ │ │ │ │ +00005020: 666f 726d 730a 3d3d 3d3d 3d3d 3d3d 3d3d forms.========== │ │ │ │ │ +00005030: 3d3d 3d3d 0a0a 4e6f 7720 6c65 7427 7320 ====..Now let's │ │ │ │ │ +00005040: 6164 6420 6120 7365 636f 6e64 2063 6f70 add a second cop │ │ │ │ │ +00005050: 7920 6f66 2074 6865 2070 6965 7263 6564 y of the pierced │ │ │ │ │ +00005060: 2074 6574 7261 6865 6472 6f6e 2e20 2057 tetrahedron. W │ │ │ │ │ +00005070: 6527 6c6c 2072 6f74 6174 650a 7468 6520 e'll rotate.the │ │ │ │ │ +00005080: 636f 7079 2039 3020 6465 6772 6565 7320 copy 90 degrees │ │ │ │ │ +00005090: 6162 6f75 7420 7468 6520 782d 6178 6973 about the x-axis │ │ │ │ │ +000050a0: 2077 6974 6820 7468 6520 6f72 6967 696e with the origin │ │ │ │ │ +000050b0: 2061 7320 e280 9c63 656e 7465 7220 6f66 as ...center of │ │ │ │ │ +000050c0: 0a72 6f74 6174 696f 6ee2 809d 2073 6f20 .rotation... so │ │ │ │ │ +000050d0: 7765 2063 616e 2073 6565 2074 6865 2062 we can see the b │ │ │ │ │ +000050e0: 6163 6b2c 2074 6865 6e20 7472 616e 736c ack, then transl │ │ │ │ │ +000050f0: 6174 6520 6974 2074 6f20 7468 6520 7269 ate it to the ri │ │ │ │ │ +00005100: 6768 742d 2d69 6e20 7468 650a 706f 7369 ght--in the.posi │ │ │ │ │ +00005110: 7469 7665 2078 2d64 6972 6563 7469 6f6e tive x-direction │ │ │ │ │ +00005120: 2d2d 736f 2069 7420 646f 6573 6e27 7420 --so it doesn't │ │ │ │ │ +00005130: 636f 6c6c 6964 6520 7769 7468 2074 6865 collide with the │ │ │ │ │ +00005140: 206f 7269 6769 6e61 6c2e 2020 546f 2068 original. To h │ │ │ │ │ +00005150: 656c 700a 7573 2073 6565 2077 6861 7427 elp.us see what' │ │ │ │ │ +00005160: 7320 676f 696e 6720 6f6e 2c20 6d61 6b65 s going on, make │ │ │ │ │ +00005170: 2074 6865 2062 6163 6b20 7369 6465 2067 the back side g │ │ │ │ │ +00005180: 7261 792e 0a20 2064 6566 2070 6965 7263 ray.. def pierc │ │ │ │ │ +00005190: 6564 5f74 6574 7261 6865 6472 6f6e 207b ed_tetrahedron { │ │ │ │ │ +000051a0: 0a20 2020 2064 6566 2070 3120 2830 2c30 . def p1 (0,0 │ │ │ │ │ +000051b0: 2c31 2920 6465 6620 7032 2028 312c 302c ,1) def p2 (1,0, │ │ │ │ │ +000051c0: 3029 0a20 2020 2064 6566 2070 3320 2830 0). def p3 (0 │ │ │ │ │ +000051d0: 2c31 2c30 2920 6465 6620 7034 2028 2d2e ,1,0) def p4 (-. │ │ │ │ │ +000051e0: 332c 2d2e 352c 2d2e 3829 0a20 2020 2070 3,-.5,-.8). p │ │ │ │ │ +000051f0: 6f6c 7967 6f6e 2870 3129 2870 3229 2870 olygon(p1)(p2)(p │ │ │ │ │ +00005200: 3329 2020 2020 2020 2020 2020 2020 2020 3) │ │ │ │ │ +00005210: 2020 2020 2020 2020 2520 6f72 6967 696e % origin │ │ │ │ │ +00005220: 616c 0a20 2020 2070 6f6c 7967 6f6e 2870 al. polygon(p │ │ │ │ │ +00005230: 3129 2870 3429 2870 3229 2020 2020 2020 1)(p4)(p2) │ │ │ │ │ +00005240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00005250: 2520 626f 7474 6f6d 0a20 2020 2070 6f6c % bottom. pol │ │ │ │ │ +00005260: 7967 6f6e 2870 3129 2870 3329 2870 3429 ygon(p1)(p3)(p4) │ │ │ │ │ 00005270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00005280: 2020 2020 2520 6c65 6674 0a20 2020 2070 % left. p │ │ │ │ │ -00005290: 6f6c 7967 6f6e 5b66 696c 6c63 6f6c 6f72 olygon[fillcolor │ │ │ │ │ -000052a0: 3d6c 6967 6874 6772 6179 5d28 7033 2928 =lightgray](p3)( │ │ │ │ │ -000052b0: 7032 2928 7034 2920 2520 7265 6172 0a20 p2)(p4) % rear. │ │ │ │ │ -000052c0: 2020 206c 696e 655b 6c69 6e65 636f 6c6f line[linecolo │ │ │ │ │ -000052d0: 723d 7265 645d 282d 312c 2d31 2c2d 3129 r=red](-1,-1,-1) │ │ │ │ │ -000052e0: 2832 2c32 2c32 290a 2020 7d0a 2020 7b70 (2,2,2). }. {p │ │ │ │ │ -000052f0: 6965 7263 6564 5f74 6574 7261 6865 6472 ierced_tetrahedr │ │ │ │ │ -00005300: 6f6e 7d20 2025 2074 6574 7261 6865 6472 on} % tetrahedr │ │ │ │ │ -00005310: 6f6e 2069 6e20 6f72 6967 696e 616c 2070 on in original p │ │ │ │ │ -00005320: 6f73 6974 696f 6e0a 2020 7075 7420 7b20 osition. put { │ │ │ │ │ -00005330: 726f 7461 7465 2839 302c 2028 302c 302c rotate(90, (0,0, │ │ │ │ │ -00005340: 3029 2c20 5b31 2c30 2c30 5d29 2025 2063 0), [1,0,0]) % c │ │ │ │ │ -00005350: 6f70 7920 696e 206e 6577 2070 6f73 6974 opy in new posit │ │ │ │ │ -00005360: 696f 6e0a 2020 2020 2020 2020 7468 656e ion. then │ │ │ │ │ -00005370: 2074 7261 6e73 6c61 7465 285b 322e 352c translate([2.5, │ │ │ │ │ -00005380: 302c 305d 2920 7d20 7b70 6965 7263 6564 0,0]) } {pierced │ │ │ │ │ -00005390: 5f74 6574 7261 6865 6472 6f6e 7d0a 4865 _tetrahedron}.He │ │ │ │ │ -000053a0: 7265 2074 6865 2065 6e74 6972 6520 636f re the entire co │ │ │ │ │ -000053b0: 6465 206f 6620 7468 6520 7072 6576 696f de of the previo │ │ │ │ │ -000053c0: 7573 2065 7861 6d70 6c65 2068 6173 2062 us example has b │ │ │ │ │ -000053d0: 6565 6e20 7772 6170 7065 6420 696e 2061 een wrapped in a │ │ │ │ │ -000053e0: 0a64 6566 696e 6974 696f 6e20 6279 2066 .definition by f │ │ │ │ │ -000053f0: 6f72 6d69 6e67 2061 20e2 809c 626c 6f63 orming a ...bloc │ │ │ │ │ -00005400: 6be2 809d 2077 6974 6820 6272 6163 6573 k... with braces │ │ │ │ │ -00005410: 2028 6120 7369 6e67 6c65 2069 7465 6d20 (a single item │ │ │ │ │ -00005420: 776f 756c 6420 6e6f 740a 6e65 6564 2074 would not.need t │ │ │ │ │ -00005430: 6865 6d29 2e20 2054 6865 2070 6f69 6e74 hem). The point │ │ │ │ │ -00005440: 2064 6566 696e 6974 696f 6e73 206e 6573 definitions nes │ │ │ │ │ -00005450: 7465 6420 696e 7369 6465 2074 6865 2062 ted inside the b │ │ │ │ │ -00005460: 7261 6365 7320 6172 650a e280 9c6c 6578 races are....lex │ │ │ │ │ -00005470: 6963 616c 6c79 2073 636f 7065 64e2 809d ically scoped... │ │ │ │ │ -00005480: 2e20 2054 6865 6972 206d 6561 6e69 6e67 . Their meaning │ │ │ │ │ -00005490: 2065 7874 656e 6473 206f 6e6c 7920 746f extends only to │ │ │ │ │ -000054a0: 2074 6865 2065 6e64 206f 6620 7468 6520 the end of the │ │ │ │ │ -000054b0: 626c 6f63 6b2e 0a54 6865 206f 7574 6572 block..The outer │ │ │ │ │ -000054c0: 2064 6566 2069 7320 6361 6c6c 6564 2061 def is called a │ │ │ │ │ -000054d0: 20e2 809c 6472 6177 6162 6c65 e280 9d20 ...drawable... │ │ │ │ │ -000054e0: 6465 6669 6e69 7469 6f6e 2062 6563 6175 definition becau │ │ │ │ │ -000054f0: 7365 2069 7420 6465 7363 7269 6265 730a se it describes. │ │ │ │ │ -00005500: 736f 6d65 7468 696e 6720 7468 6174 2063 something that c │ │ │ │ │ -00005510: 616e 2062 6520 6472 6177 6e2e 0a0a 2020 an be drawn... │ │ │ │ │ -00005520: 2041 2064 7261 7761 626c 6520 6465 6669 A drawable defi │ │ │ │ │ -00005530: 6e69 7469 6f6e 2062 7920 6974 7365 6c66 nition by itself │ │ │ │ │ -00005540: 2063 6175 7365 7320 6e6f 7468 696e 6720 causes nothing │ │ │ │ │ -00005550: 746f 2068 6170 7065 6e20 756e 7469 6c20 to happen until │ │ │ │ │ -00005560: 6974 730a 6e61 6d65 2069 7320 7265 6665 its.name is refe │ │ │ │ │ -00005570: 7265 6e63 6564 2e20 2044 7261 7761 626c renced. Drawabl │ │ │ │ │ -00005580: 6520 7265 6665 7265 6e63 6573 206d 7573 e references mus │ │ │ │ │ -00005590: 7420 6265 2065 6e63 6c6f 7365 6420 696e t be enclosed in │ │ │ │ │ -000055a0: 2063 7572 6c79 0a62 7261 6365 732c 2065 curly.braces, e │ │ │ │ │ -000055b0: 2e67 2e20 7b66 6f6f 7d2c 2077 6974 6820 .g. {foo}, with │ │ │ │ │ -000055c0: 6e6f 2069 6e74 6572 7665 6e69 6e67 2077 no intervening w │ │ │ │ │ -000055d0: 6869 7465 2073 7061 6365 2e20 2049 6e20 hite space. In │ │ │ │ │ -000055e0: 7468 6520 636f 6465 2061 626f 7665 2c0a the code above,. │ │ │ │ │ -000055f0: 7468 6520 6669 7273 7420 7265 6665 7265 the first refere │ │ │ │ │ -00005600: 6e63 6520 7b70 6965 7263 6564 5f74 6574 nce {pierced_tet │ │ │ │ │ -00005610: 7261 6865 6472 6f6e 7d20 6973 2061 2070 rahedron} is a p │ │ │ │ │ -00005620: 6c61 696e 206f 6e65 2e20 2049 7473 2065 lain one. Its e │ │ │ │ │ -00005630: 6666 6563 7420 6973 0a6d 6572 656c 7920 ffect is.merely │ │ │ │ │ -00005640: 746f 2064 7570 6c69 6361 7465 2074 6865 to duplicate the │ │ │ │ │ -00005650: 2065 6172 6c69 6572 2064 7261 7769 6e67 earlier drawing │ │ │ │ │ -00005660: 2e20 2041 6c6d 6f73 7420 616e 7920 7365 . Almost any se │ │ │ │ │ -00005670: 7269 6573 206f 6620 e280 9873 6b65 7463 ries of ...sketc │ │ │ │ │ -00005680: 68e2 8099 0a63 6f6d 6d61 6e64 7320 7374 h....commands st │ │ │ │ │ -00005690: 7566 6620 6d61 7920 6265 2072 6570 6c61 uff may be repla │ │ │ │ │ -000056a0: 6365 6420 7769 7468 2064 6566 2066 6f6f ced with def foo │ │ │ │ │ -000056b0: 207b 2073 7475 6666 207d 207b 666f 6f7d { stuff } {foo} │ │ │ │ │ -000056c0: 2077 6974 686f 7574 0a63 6861 6e67 696e without.changin │ │ │ │ │ -000056d0: 6720 6974 7320 6d65 616e 696e 672e 0a0a g its meaning... │ │ │ │ │ -000056e0: 2020 2054 6865 2070 7574 2063 6f6d 6d61 The put comma │ │ │ │ │ -000056f0: 6e64 2073 7570 706c 6965 7320 6120 7365 nd supplies a se │ │ │ │ │ -00005700: 636f 6e64 2072 6566 6572 656e 6365 2c20 cond reference, │ │ │ │ │ -00005710: 7468 6973 2074 696d 6520 7769 7468 2061 this time with a │ │ │ │ │ -00005720: 0ae2 809c 7472 616e 7366 6f72 6de2 809d ....transform... │ │ │ │ │ -00005730: 2061 7070 6c69 6564 2066 6972 7374 2e20 applied first. │ │ │ │ │ -00005740: 2054 6865 2072 6f74 6174 6520 7472 616e The rotate tran │ │ │ │ │ -00005750: 7366 6f72 6d20 7475 726e 7320 7468 6520 sform turns the │ │ │ │ │ -00005760: 7465 7472 6168 6564 726f 6e0a 3930 2064 tetrahedron.90 d │ │ │ │ │ -00005770: 6567 7265 6573 2061 626f 7574 2074 6865 egrees about the │ │ │ │ │ -00005780: 206f 7269 6769 6e2e 2020 5468 6520 6178 origin. The ax │ │ │ │ │ -00005790: 6973 206f 6620 726f 7461 7469 6f6e 2069 is of rotation i │ │ │ │ │ -000057a0: 7320 7468 6520 7665 6374 6f72 0a5b 312c s the vector.[1, │ │ │ │ │ -000057b0: 302c 305d 2e20 2042 7920 7468 6520 e280 0,0]. By the .. │ │ │ │ │ -000057c0: 9c72 6967 6874 2068 616e 6420 7275 6c65 .right hand rule │ │ │ │ │ -000057d0: e280 9d2c 2074 6869 7320 6361 7573 6573 ..., this causes │ │ │ │ │ -000057e0: 2074 6865 2074 6f70 206f 6620 7468 650a the top of the. │ │ │ │ │ -000057f0: 7465 7472 6168 6564 726f 6e20 746f 2072 tetrahedron to r │ │ │ │ │ -00005800: 6f74 6174 6520 746f 7761 7264 2074 6865 otate toward the │ │ │ │ │ -00005810: 2076 6965 7765 7220 616e 6420 7468 6520 viewer and the │ │ │ │ │ -00005820: 626f 7474 6f6d 2061 7761 792e 2020 5468 bottom away. Th │ │ │ │ │ -00005830: 6520 7275 6c65 0a72 6563 6569 7665 7320 e rule.receives │ │ │ │ │ -00005840: 6974 7320 6e61 6d65 2066 726f 6d20 7468 its name from th │ │ │ │ │ -00005850: 6520 666f 6c6c 6f77 696e 6720 6465 6669 e following defi │ │ │ │ │ -00005860: 6e69 7469 6f6e 3a0a 2020 2020 202a 5269 nition:. *Ri │ │ │ │ │ -00005870: 6768 7420 6861 6e64 2072 756c 652e 2a20 ght hand rule.* │ │ │ │ │ -00005880: 2049 6620 7468 6520 7269 6768 7420 6861 If the right ha │ │ │ │ │ -00005890: 6e64 2069 7320 7772 6170 7065 6420 6172 nd is wrapped ar │ │ │ │ │ -000058a0: 6f75 6e64 2061 6e79 2061 7869 730a 2020 ound any axis. │ │ │ │ │ -000058b0: 2020 2077 6974 6820 7468 6520 7468 756d with the thum │ │ │ │ │ -000058c0: 6220 706f 696e 7469 6e67 2069 6e20 7468 b pointing in th │ │ │ │ │ -000058d0: 6520 6178 6973 2064 6972 6563 7469 6f6e e axis direction │ │ │ │ │ -000058e0: 2c20 7468 656e 2074 6865 2066 696e 6765 , then the finge │ │ │ │ │ -000058f0: 7273 0a20 2020 2020 6375 726c 2069 6e20 rs. curl in │ │ │ │ │ -00005900: 7468 6520 6469 7265 6374 696f 6e20 6f66 the direction of │ │ │ │ │ -00005910: 2070 6f73 6974 6976 6520 726f 7461 7469 positive rotati │ │ │ │ │ -00005920: 6f6e 2061 626f 7574 2074 6861 7420 6178 on about that ax │ │ │ │ │ -00005930: 6973 2e0a 2020 2054 6865 2074 7261 6e73 is.. The trans │ │ │ │ │ -00005940: 6c61 7465 2074 7261 6e73 666f 726d 206d late transform m │ │ │ │ │ -00005950: 6f76 6573 2074 6865 2070 7972 616d 6964 oves the pyramid │ │ │ │ │ -00005960: 206c 6174 6572 616c 6c79 2074 6f20 7468 laterally to th │ │ │ │ │ -00005970: 6520 7269 6768 7420 6279 0a61 6464 696e e right by.addin │ │ │ │ │ -00005980: 6720 7468 6520 7665 6374 6f72 205b 322e g the vector [2. │ │ │ │ │ -00005990: 352c 302c 305d 2074 6f20 6561 6368 2076 5,0,0] to each v │ │ │ │ │ -000059a0: 6572 7465 7820 636f 6f72 6469 6e61 7465 ertex coordinate │ │ │ │ │ -000059b0: 2e20 2054 6865 2072 6573 756c 7420 6973 . The result is │ │ │ │ │ -000059c0: 0a73 686f 776e 2068 6572 652e 0a0a 0008 .shown here..... │ │ │ │ │ -000059d0: 5b69 6d61 6765 2073 7263 3d22 6578 3035 [image src="ex05 │ │ │ │ │ -000059e0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -000059f0: 6765 2065 7830 3530 206f 6d69 7474 6564 ge ex050 omitted │ │ │ │ │ -00005a00: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00005a10: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00005a20: 742e 2200 085d 0a0a 1f0a 4669 6c65 3a20 t."..]....File: │ │ │ │ │ -00005a30: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00005a40: 6465 3a20 5265 7065 6174 6564 206f 626a de: Repeated obj │ │ │ │ │ -00005a50: 6563 7473 2c20 204e 6578 743a 2053 7765 ects, Next: Swe │ │ │ │ │ -00005a60: 7074 206f 626a 6563 7473 2c20 2050 7265 pt objects, Pre │ │ │ │ │ -00005a70: 763a 204f 626a 6563 7420 7472 616e 7366 v: Object transf │ │ │ │ │ -00005a80: 6f72 6d73 2c20 2055 703a 2049 6e74 726f orms, Up: Intro │ │ │ │ │ -00005a90: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp │ │ │ │ │ -00005aa0: 6c65 0a0a 322e 3620 5265 7065 6174 6564 le..2.6 Repeated │ │ │ │ │ -00005ab0: 206f 626a 6563 7473 0a3d 3d3d 3d3d 3d3d objects.======= │ │ │ │ │ -00005ac0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 =============..T │ │ │ │ │ -00005ad0: 6f20 6472 6177 2073 6576 656e 2069 6e73 o draw seven ins │ │ │ │ │ -00005ae0: 7461 6e63 6573 206f 6620 7468 6520 7465 tances of the te │ │ │ │ │ -00005af0: 7472 6168 6564 726f 6e2c 2065 6163 6820 trahedron, each │ │ │ │ │ -00005b00: 6469 6666 6572 696e 6720 6672 6f6d 2074 differing from t │ │ │ │ │ -00005b10: 6865 206c 6173 740a 6279 2074 6865 2073 he last.by the s │ │ │ │ │ -00005b20: 616d 6520 7472 616e 7366 6f72 6d2c 2072 ame transform, r │ │ │ │ │ -00005b30: 6570 6c61 6365 2074 6865 206c 6173 7420 eplace the last │ │ │ │ │ -00005b40: 7477 6f20 636f 6d6d 616e 6473 206f 6620 two commands of │ │ │ │ │ -00005b50: 7468 6520 7072 6576 696f 7573 0a65 7861 the previous.exa │ │ │ │ │ -00005b60: 6d70 6c65 2077 6974 680a 2020 7265 7065 mple with. repe │ │ │ │ │ -00005b70: 6174 207b 2037 2c20 726f 7461 7465 2831 at { 7, rotate(1 │ │ │ │ │ -00005b80: 352c 2028 302c 302c 3029 2c20 5b31 2c30 5, (0,0,0), [1,0 │ │ │ │ │ -00005b90: 2c30 5d29 2025 2063 6f70 7920 696e 206e ,0]) % copy in n │ │ │ │ │ -00005ba0: 6577 2070 6f73 6974 696f 6e0a 2020 2020 ew position. │ │ │ │ │ -00005bb0: 2020 2020 2020 2020 2020 7468 656e 2074 then t │ │ │ │ │ -00005bc0: 7261 6e73 6c61 7465 285b 322c 302c 305d ranslate([2,0,0] │ │ │ │ │ -00005bd0: 2920 7d20 7b70 6965 7263 6564 5f74 6574 ) } {pierced_tet │ │ │ │ │ -00005be0: 7261 6865 6472 6f6e 7d0a 416e 6420 7468 rahedron}.And th │ │ │ │ │ -00005bf0: 6520 7265 7375 6c74 2e2e 2e0a 0a00 085b e result.......[ │ │ │ │ │ -00005c00: 696d 6167 6520 7372 633d 2265 7830 3630 image src="ex060 │ │ │ │ │ -00005c10: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png" text="Imag │ │ │ │ │ -00005c20: 6520 6578 3036 3020 6f6d 6974 7465 6420 e ex060 omitted │ │ │ │ │ -00005c30: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version │ │ │ │ │ -00005c40: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document │ │ │ │ │ -00005c50: 2e22 0008 5d0a 0a1f 0a46 696c 653a 2073 ."..]....File: s │ │ │ │ │ -00005c60: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -00005c70: 653a 2053 7765 7074 206f 626a 6563 7473 e: Swept objects │ │ │ │ │ -00005c80: 2c20 2050 7265 763a 2052 6570 6561 7465 , Prev: Repeate │ │ │ │ │ -00005c90: 6420 6f62 6a65 6374 732c 2020 5570 3a20 d objects, Up: │ │ │ │ │ -00005ca0: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by │ │ │ │ │ -00005cb0: 6578 616d 706c 650a 0a32 2e37 2053 7765 example..2.7 Swe │ │ │ │ │ -00005cc0: 7074 206f 626a 6563 7473 0a3d 3d3d 3d3d pt objects.===== │ │ │ │ │ -00005cd0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4d61 ============..Ma │ │ │ │ │ -00005ce0: 6e79 2066 616d 696c 6961 7220 7368 6170 ny familiar shap │ │ │ │ │ -00005cf0: 6573 2063 616e 2062 6520 6765 6e65 7261 es can be genera │ │ │ │ │ -00005d00: 7465 6420 6279 2073 7765 6570 696e 6720 ted by sweeping │ │ │ │ │ -00005d10: 7369 6d70 6c65 7220 6f6e 6573 2074 6872 simpler ones thr │ │ │ │ │ -00005d20: 6f75 6768 0a73 7061 6365 2061 6e64 2063 ough.space and c │ │ │ │ │ -00005d30: 6f6e 7369 6465 7269 6e67 2074 6865 2072 onsidering the r │ │ │ │ │ -00005d40: 6573 756c 7469 6e67 2070 6174 682c 2073 esulting path, s │ │ │ │ │ -00005d50: 7572 6661 6365 2c20 6f72 2076 6f6c 756d urface, or volum │ │ │ │ │ -00005d60: 652e 2020 e280 9853 6b65 7463 68e2 8099 e. ...Sketch... │ │ │ │ │ -00005d70: 0a69 6d70 6c65 6d65 6e74 7320 7468 6973 .implements this │ │ │ │ │ -00005d80: 2069 6465 6120 696e 2074 6865 2073 7765 idea in the swe │ │ │ │ │ -00005d90: 6570 2063 6f6d 6d61 6e64 2e0a 2020 6465 ep command.. de │ │ │ │ │ -00005da0: 6620 6e5f 7365 6773 2038 0a20 2073 7765 f n_segs 8. swe │ │ │ │ │ -00005db0: 6570 207b 206e 5f73 6567 732c 2072 6f74 ep { n_segs, rot │ │ │ │ │ -00005dc0: 6174 6528 3138 3020 2f20 6e5f 7365 6773 ate(180 / n_segs │ │ │ │ │ -00005dd0: 2c20 2830 2c30 2c30 292c 205b 302c 302c , (0,0,0), [0,0, │ │ │ │ │ -00005de0: 315d 2920 7d20 2831 2c30 2c30 290a 5468 1]) } (1,0,0).Th │ │ │ │ │ -00005df0: 6973 2063 6f64 6520 7377 6565 7073 2074 is code sweeps t │ │ │ │ │ -00005e00: 6865 2070 6f69 6e74 2028 312c 302c 3029 he point (1,0,0) │ │ │ │ │ -00005e10: 2065 6967 6874 2074 696d 6573 2062 7920 eight times by │ │ │ │ │ -00005e20: 726f 7461 7469 6e67 2069 7420 3138 302f rotating it 180/ │ │ │ │ │ -00005e30: 3820 3d0a 3232 2e35 2064 6567 7265 6573 8 =.22.5 degrees │ │ │ │ │ -00005e40: 2065 6163 6820 7469 6d65 2061 6e64 2063 each time and c │ │ │ │ │ -00005e50: 6f6e 6e65 6374 696e 6720 7468 6520 7265 onnecting the re │ │ │ │ │ -00005e60: 7375 6c74 696e 6720 706f 696e 7473 2077 sulting points w │ │ │ │ │ -00005e70: 6974 6820 6c69 6e65 0a73 6567 6d65 6e74 ith line.segment │ │ │ │ │ -00005e80: 732e 2020 5468 6520 6465 6620 7573 6564 s. The def used │ │ │ │ │ -00005e90: 2068 6572 6520 6973 2061 20e2 809c 7363 here is a ...sc │ │ │ │ │ -00005ea0: 616c 6172 e280 9d20 6465 6669 6e69 7469 alar... definiti │ │ │ │ │ -00005eb0: 6f6e 2e20 2052 6566 6572 656e 6365 7320 on. References │ │ │ │ │ -00005ec0: 746f 0a73 6361 6c61 7273 2068 6176 6520 to.scalars have │ │ │ │ │ -00005ed0: 6e6f 2065 6e63 6c6f 7369 6e67 2062 7261 no enclosing bra │ │ │ │ │ -00005ee0: 636b 6574 7320 6174 2061 6c6c 2e0a 0a2a ckets at all...* │ │ │ │ │ -00005ef0: 204d 656e 753a 0a0a 2a20 506f 696e 7420 Menu:..* Point │ │ │ │ │ -00005f00: 7377 6565 7073 3a3a 2020 2020 2020 2020 sweeps:: │ │ │ │ │ -00005f10: 2020 2020 2020 2020 5377 6570 7420 706f Swept po │ │ │ │ │ -00005f20: 696e 7473 206d 616b 6520 6c69 6e65 7320 ints make lines │ │ │ │ │ -00005f30: 616e 6420 706f 6c79 676f 6e73 2e0a 2a20 and polygons..* │ │ │ │ │ -00005f40: 506f 6c79 6c69 6e65 2073 7765 6570 733a Polyline sweeps: │ │ │ │ │ -00005f50: 3a20 2020 2020 2020 2020 2020 2020 5377 : Sw │ │ │ │ │ -00005f60: 6570 7420 6c69 6e65 7320 6d61 6b65 2073 ept lines make s │ │ │ │ │ -00005f70: 7572 6661 6365 732e 0a2a 204e 6573 7465 urfaces..* Neste │ │ │ │ │ -00005f80: 6420 7377 6565 7073 3a3a 2020 2020 2020 d sweeps:: │ │ │ │ │ -00005f90: 2020 2020 2020 2020 2053 7765 7074 2073 Swept s │ │ │ │ │ -00005fa0: 7765 6570 7320 6172 6520 7573 6566 756c weeps are useful │ │ │ │ │ -00005fb0: 210a 2a20 506f 6c79 676f 6e20 7377 6565 !.* Polygon swee │ │ │ │ │ -00005fc0: 7073 3a3a 2020 2020 2020 2020 2020 2020 ps:: │ │ │ │ │ -00005fd0: 2020 5377 6570 7420 706f 6c79 676f 6e73 Swept polygons │ │ │ │ │ -00005fe0: 206d 616b 6520 736f 6c69 6473 2e2e 2e0a make solids.... │ │ │ │ │ -00005ff0: 2a20 506f 6c79 6c69 6e65 2073 7765 6570 * Polyline sweep │ │ │ │ │ -00006000: 7320 7769 7468 2063 6c6f 7375 7265 3a3a s with closure:: │ │ │ │ │ -00006010: 2020 616e 6420 736f 2064 6f20 636c 6f73 and so do clos │ │ │ │ │ -00006020: 6564 2070 6f6c 796c 696e 6520 7377 6565 ed polyline swee │ │ │ │ │ -00006030: 7073 2e0a 2a20 4166 6669 6e65 2061 7269 ps..* Affine ari │ │ │ │ │ -00006040: 7468 6d65 7469 633a 3a20 2020 2020 2020 thmetic:: │ │ │ │ │ -00006050: 2020 2020 536b 6574 6368 2075 7365 6675 Sketch usefu │ │ │ │ │ -00006060: 6c20 6d61 7468 2065 7870 7265 7373 696f l math expressio │ │ │ │ │ -00006070: 6e2e 0a2a 204d 6f72 6520 746f 206c 6561 n..* More to lea │ │ │ │ │ -00006080: 726e 3a3a 2020 2020 2020 2020 2020 2020 rn:: │ │ │ │ │ -00006090: 2020 2043 6865 636b 206f 7574 2074 6865 Check out the │ │ │ │ │ -000060a0: 204d 6f62 6975 7320 7374 7269 7021 0a0a Mobius strip!.. │ │ │ │ │ -000060b0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -000060c0: 6e66 6f2c 2020 4e6f 6465 3a20 506f 696e nfo, Node: Poin │ │ │ │ │ -000060d0: 7420 7377 6565 7073 2c20 204e 6578 743a t sweeps, Next: │ │ │ │ │ -000060e0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ -000060f0: 2c20 2050 7265 763a 2053 7765 7074 206f , Prev: Swept o │ │ │ │ │ -00006100: 626a 6563 7473 2c20 2055 703a 2053 7765 bjects, Up: Swe │ │ │ │ │ -00006110: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7. │ │ │ │ │ -00006120: 3120 506f 696e 7420 7377 6565 7073 0a2d 1 Point sweeps.- │ │ │ │ │ -00006130: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00006140: 2d0a 0a53 7765 6570 696e 6720 6120 706f -..Sweeping a po │ │ │ │ │ -00006150: 696e 7420 6d61 6b65 7320 6120 6f6e 652d int makes a one- │ │ │ │ │ -00006160: 6469 6d65 6e73 696f 6e61 6c20 7061 7468 dimensional path │ │ │ │ │ -00006170: 2c20 7768 6963 6820 6973 2061 2070 6f6c , which is a pol │ │ │ │ │ -00006180: 796c 696e 652e 0a53 696e 6365 2077 6520 yline..Since we │ │ │ │ │ -00006190: 6861 7665 2073 7765 7074 2077 6974 6820 have swept with │ │ │ │ │ -000061a0: 6120 726f 7461 7469 6f6e 2c20 7468 6520 a rotation, the │ │ │ │ │ -000061b0: 7265 7375 6c74 2069 7320 6120 6369 7263 result is a circ │ │ │ │ │ -000061c0: 756c 6172 2061 7263 2e20 2048 6572 650a ular arc. Here. │ │ │ │ │ -000061d0: 6973 2077 6861 7420 6974 206c 6f6f 6b73 is what it looks │ │ │ │ │ -000061e0: 206c 696b 652e 0a0a 0008 5b69 6d61 6765 like.....[image │ │ │ │ │ -000061f0: 2073 7263 3d22 6578 3037 302e 706e 6722 src="ex070.png" │ │ │ │ │ -00006200: 2074 6578 743d 2249 6d61 6765 2065 7830 text="Image ex0 │ │ │ │ │ -00006210: 3730 206f 6d69 7474 6564 2069 6e20 7465 70 omitted in te │ │ │ │ │ -00006220: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00006230: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00006240: 0a0a 2020 2054 6869 7320 6973 2074 6865 .. This is the │ │ │ │ │ -00006250: 2066 6972 7374 2065 7861 6d70 6c65 2077 first example w │ │ │ │ │ -00006260: 6520 6861 7665 2073 6565 6e20 6f66 20e2 e have seen of . │ │ │ │ │ -00006270: 8098 736b 6574 6368 e280 9920 6172 6974 ..sketch... arit │ │ │ │ │ -00006280: 686d 6574 6963 2e20 2054 6865 0a65 7870 hmetic. The.exp │ │ │ │ │ -00006290: 7265 7373 696f 6e20 3138 3020 2f20 6e5f ression 180 / n_ │ │ │ │ │ -000062a0: 7365 6773 2063 6175 7365 7320 7468 6520 segs causes the │ │ │ │ │ -000062b0: 6569 6768 7420 726f 7461 7469 6f6e 7320 eight rotations │ │ │ │ │ -000062c0: 746f 2061 6464 2074 6f20 3138 302e 2020 to add to 180. │ │ │ │ │ -000062d0: 4966 0a79 6f75 2772 6520 7061 7969 6e67 If.you're paying │ │ │ │ │ -000062e0: 2061 7474 656e 7469 6f6e 2c20 796f 7527 attention, you' │ │ │ │ │ -000062f0: 6c6c 2068 6176 6520 616c 7265 6164 7920 ll have already │ │ │ │ │ -00006300: 6e6f 7465 6420 7468 6174 2074 6865 7265 noted that there │ │ │ │ │ -00006310: 2061 7265 205f 6e69 6e65 5f0a 706f 696e are _nine_.poin │ │ │ │ │ -00006320: 7473 2c20 7072 6f64 7563 696e 6720 6569 ts, producing ei │ │ │ │ │ -00006330: 6768 7420 6c69 6e65 2073 6567 6d65 6e74 ght line segment │ │ │ │ │ -00006340: 732e 0a0a 2020 2059 6f75 2063 616e 2063 s... You can c │ │ │ │ │ -00006350: 6175 7365 2074 6865 2073 7765 7074 2070 ause the swept p │ │ │ │ │ -00006360: 6f69 6e74 2074 6f20 6765 6e65 7261 7465 oint to generate │ │ │ │ │ -00006370: 2061 2073 696e 676c 6520 706f 6c79 676f a single polygo │ │ │ │ │ -00006380: 6e20 7261 7468 6572 0a74 6861 6e20 6120 n rather.than a │ │ │ │ │ -00006390: 706f 6c79 6c69 6e65 2062 7920 7573 696e polyline by usin │ │ │ │ │ -000063a0: 6720 7468 6520 e280 9c63 6c6f 7375 7265 g the ...closure │ │ │ │ │ -000063b0: 2074 6167 e280 9d20 3c3e 2061 6674 6572 tag... <> after │ │ │ │ │ -000063c0: 2074 6865 206e 756d 6265 7220 6f66 2073 the number of s │ │ │ │ │ -000063d0: 7765 7074 0a6f 626a 6563 7473 2e20 2043 wept.objects. C │ │ │ │ │ -000063e0: 6f64 6520 616e 6420 7265 7375 6c74 2066 ode and result f │ │ │ │ │ -000063f0: 6f6c 6c6f 770a 2020 6465 6620 6e5f 7365 ollow. def n_se │ │ │ │ │ -00006400: 6773 2038 0a20 2073 7765 6570 207b 206e gs 8. sweep { n │ │ │ │ │ -00006410: 5f73 6567 733c 3e2c 2072 6f74 6174 6528 _segs<>, rotate( │ │ │ │ │ -00006420: 3138 3020 2f20 6e5f 7365 6773 2c20 2830 180 / n_segs, (0 │ │ │ │ │ -00006430: 2c30 2c30 292c 205b 302c 302c 315d 2920 ,0,0), [0,0,1]) │ │ │ │ │ -00006440: 7d20 2831 2c30 2c30 290a 0008 5b69 6d61 } (1,0,0)...[ima │ │ │ │ │ -00006450: 6765 2073 7263 3d22 6578 3038 302e 706e ge src="ex080.pn │ │ │ │ │ -00006460: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ -00006470: 7830 3830 206f 6d69 7474 6564 2069 6e20 x080 omitted in │ │ │ │ │ -00006480: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ -00006490: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ -000064a0: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket │ │ │ │ │ -000064b0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -000064c0: 506f 6c79 6c69 6e65 2073 7765 6570 732c Polyline sweeps, │ │ │ │ │ -000064d0: 2020 4e65 7874 3a20 4e65 7374 6564 2073 Next: Nested s │ │ │ │ │ -000064e0: 7765 6570 732c 2020 5072 6576 3a20 506f weeps, Prev: Po │ │ │ │ │ -000064f0: 696e 7420 7377 6565 7073 2c20 2055 703a int sweeps, Up: │ │ │ │ │ -00006500: 2053 7765 7074 206f 626a 6563 7473 0a0a Swept objects.. │ │ │ │ │ -00006510: 322e 372e 3220 506f 6c79 6c69 6e65 2073 2.7.2 Polyline s │ │ │ │ │ -00006520: 7765 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d weeps.---------- │ │ │ │ │ -00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 7765 -----------..Swe │ │ │ │ │ -00006540: 6570 696e 6720 6120 706f 6c79 6c69 6e65 eping a polyline │ │ │ │ │ -00006550: 2070 726f 6475 6365 7320 6120 7375 7266 produces a surf │ │ │ │ │ -00006560: 6163 6520 636f 6d70 6f73 6564 206f 6620 ace composed of │ │ │ │ │ -00006570: 6d61 6e79 2066 6163 6573 2e20 2054 6865 many faces. The │ │ │ │ │ -00006580: 0a75 6e62 726f 6b65 6e20 6865 6c69 7820 .unbroken helix │ │ │ │ │ -00006590: 696e 2074 6865 2065 7861 6d70 6c65 202a in the example * │ │ │ │ │ -000065a0: 6e6f 7465 2048 656c 6978 2077 6974 6820 note Helix with │ │ │ │ │ -000065b0: 6375 6c6c 2073 6574 2066 616c 7365 2074 cull set false t │ │ │ │ │ -000065c0: 6865 6e0a 7472 7565 3a3a 2069 7320 7072 hen.true:: is pr │ │ │ │ │ -000065d0: 6f64 7563 6564 2062 7920 7468 6973 2063 oduced by this c │ │ │ │ │ -000065e0: 6f64 6520 2870 6c75 7320 6120 7375 7272 ode (plus a surr │ │ │ │ │ -000065f0: 6f75 6e64 696e 6720 7075 7420 726f 7461 ounding put rota │ │ │ │ │ -00006600: 7469 6f6e 2074 6f20 6d61 6b65 0a61 6e20 tion to make.an │ │ │ │ │ -00006610: 696e 7465 7265 7374 696e 6720 7669 6577 interesting view │ │ │ │ │ -00006620: 3b20 7468 6973 2068 6173 2062 6565 6e20 ; this has been │ │ │ │ │ -00006630: 6f6d 6974 7465 6429 2e0a 2020 6465 6620 omitted).. def │ │ │ │ │ -00006640: 4b20 5b30 2c30 2c31 5d0a 2020 7377 6565 K [0,0,1]. swee │ │ │ │ │ -00006650: 705b 6375 6c6c 3d66 616c 7365 5d20 7b0a p[cull=false] {. │ │ │ │ │ -00006660: 2020 2020 3630 2c20 0a20 2020 2072 6f74 60, . rot │ │ │ │ │ -00006670: 6174 6528 3130 2c20 2830 2c30 2c30 292c ate(10, (0,0,0), │ │ │ │ │ -00006680: 205b 4b5d 2920 7468 656e 2074 7261 6e73 [K]) then trans │ │ │ │ │ -00006690: 6c61 7465 2831 2f36 202a 205b 4b5d 2920 late(1/6 * [K]) │ │ │ │ │ -000066a0: 0a20 207d 206c 696e 655b 6c69 6e65 7769 . } line[linewi │ │ │ │ │ -000066b0: 6474 683d 3270 745d 282d 312c 3029 2831 dth=2pt](-1,0)(1 │ │ │ │ │ -000066c0: 2c30 290a 4167 6169 6e2c 2036 3020 7365 ,0).Again, 60 se │ │ │ │ │ -000066d0: 676d 656e 7473 206f 6620 7468 6520 6865 gments of the he │ │ │ │ │ -000066e0: 6c69 7820 6172 6520 7072 6f64 7563 6564 lix are produced │ │ │ │ │ -000066f0: 2062 7920 636f 6e6e 6563 7469 6e67 2036 by connecting 6 │ │ │ │ │ -00006700: 3120 696e 7374 616e 6365 730a 6f66 2074 1 instances.of t │ │ │ │ │ -00006710: 6865 2073 7765 7074 206c 696e 652e 2020 he swept line. │ │ │ │ │ -00006720: 4f70 7469 6f6e 7320 6170 706c 6965 6420 Options applied │ │ │ │ │ -00006730: 746f 2074 6865 2073 7765 6570 2c20 6865 to the sweep, he │ │ │ │ │ -00006740: 7265 2063 756c 6c3d 6661 6c73 652c 2061 re cull=false, a │ │ │ │ │ -00006750: 7265 0a74 7265 6174 6564 2061 7320 6f70 re.treated as op │ │ │ │ │ -00006760: 7469 6f6e 7320 666f 7220 7468 6520 6765 tions for the ge │ │ │ │ │ -00006770: 6e65 7261 7465 6420 706f 6c79 676f 6e20 nerated polygon │ │ │ │ │ -00006780: 6f72 2070 6f6c 796c 696e 652e 2020 4f70 or polyline. Op │ │ │ │ │ -00006790: 7469 6f6e 7320 6f66 0a74 6865 2073 7765 tions of.the swe │ │ │ │ │ -000067a0: 7074 206c 696e 6520 6974 7365 6c66 2c20 pt line itself, │ │ │ │ │ -000067b0: 6865 7265 206c 696e 6577 6964 7468 3d32 here linewidth=2 │ │ │ │ │ -000067c0: 7074 2c20 6172 6520 6967 6e6f 7265 642c pt, are ignored, │ │ │ │ │ -000067d0: 2074 686f 7567 6820 7769 7468 2061 0a77 though with a.w │ │ │ │ │ -000067e0: 6172 6e69 6e67 2e20 2054 6869 7320 6465 arning. This de │ │ │ │ │ -000067f0: 6620 6973 2061 20e2 809c 7665 6374 6f72 f is a ...vector │ │ │ │ │ -00006800: e280 9d20 6465 6669 6e69 7469 6f6e 2c20 ... definition, │ │ │ │ │ -00006810: 7768 6963 6820 6d75 7374 2062 6520 7265 which must be re │ │ │ │ │ -00006820: 6665 7265 6e63 6564 0a77 6974 6820 7371 ferenced.with sq │ │ │ │ │ -00006830: 7561 7265 2062 7261 636b 6574 732c 2065 uare brackets, e │ │ │ │ │ -00006840: 2e67 2e20 5b66 6f6f 5d2e 0a0a 1f0a 4669 .g. [foo].....Fi │ │ │ │ │ -00006850: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00006860: 2020 4e6f 6465 3a20 4e65 7374 6564 2073 Node: Nested s │ │ │ │ │ -00006870: 7765 6570 732c 2020 4e65 7874 3a20 506f weeps, Next: Po │ │ │ │ │ -00006880: 6c79 676f 6e20 7377 6565 7073 2c20 2050 lygon sweeps, P │ │ │ │ │ -00006890: 7265 763a 2050 6f6c 796c 696e 6520 7377 rev: Polyline sw │ │ │ │ │ -000068a0: 6565 7073 2c20 2055 703a 2053 7765 7074 eeps, Up: Swept │ │ │ │ │ -000068b0: 206f 626a 6563 7473 0a0a 322e 372e 3320 objects..2.7.3 │ │ │ │ │ -000068c0: 4e65 7374 6564 2073 7765 6570 730a 2d2d Nested sweeps.-- │ │ │ │ │ +00005280: 2020 2020 2020 2520 6c65 6674 0a20 2020 % left. │ │ │ │ │ +00005290: 2070 6f6c 7967 6f6e 5b66 696c 6c63 6f6c polygon[fillcol │ │ │ │ │ +000052a0: 6f72 3d6c 6967 6874 6772 6179 5d28 7033 or=lightgray](p3 │ │ │ │ │ +000052b0: 2928 7032 2928 7034 2920 2520 7265 6172 )(p2)(p4) % rear │ │ │ │ │ +000052c0: 0a20 2020 206c 696e 655b 6c69 6e65 636f . line[lineco │ │ │ │ │ +000052d0: 6c6f 723d 7265 645d 282d 312c 2d31 2c2d lor=red](-1,-1,- │ │ │ │ │ +000052e0: 3129 2832 2c32 2c32 290a 2020 7d0a 2020 1)(2,2,2). }. │ │ │ │ │ +000052f0: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe │ │ │ │ │ +00005300: 6472 6f6e 7d20 2025 2074 6574 7261 6865 dron} % tetrahe │ │ │ │ │ +00005310: 6472 6f6e 2069 6e20 6f72 6967 696e 616c dron in original │ │ │ │ │ +00005320: 2070 6f73 6974 696f 6e0a 2020 7075 7420 position. put │ │ │ │ │ +00005330: 7b20 726f 7461 7465 2839 302c 2028 302c { rotate(90, (0, │ │ │ │ │ +00005340: 302c 3029 2c20 5b31 2c30 2c30 5d29 2025 0,0), [1,0,0]) % │ │ │ │ │ +00005350: 2063 6f70 7920 696e 206e 6577 2070 6f73 copy in new pos │ │ │ │ │ +00005360: 6974 696f 6e0a 2020 2020 2020 2020 7468 ition. th │ │ │ │ │ +00005370: 656e 2074 7261 6e73 6c61 7465 285b 322e en translate([2. │ │ │ │ │ +00005380: 352c 302c 305d 2920 7d20 7b70 6965 7263 5,0,0]) } {pierc │ │ │ │ │ +00005390: 6564 5f74 6574 7261 6865 6472 6f6e 7d0a ed_tetrahedron}. │ │ │ │ │ +000053a0: 4865 7265 2074 6865 2065 6e74 6972 6520 Here the entire │ │ │ │ │ +000053b0: 636f 6465 206f 6620 7468 6520 7072 6576 code of the prev │ │ │ │ │ +000053c0: 696f 7573 2065 7861 6d70 6c65 2068 6173 ious example has │ │ │ │ │ +000053d0: 2062 6565 6e20 7772 6170 7065 6420 696e been wrapped in │ │ │ │ │ +000053e0: 2061 0a64 6566 696e 6974 696f 6e20 6279 a.definition by │ │ │ │ │ +000053f0: 2066 6f72 6d69 6e67 2061 20e2 809c 626c forming a ...bl │ │ │ │ │ +00005400: 6f63 6be2 809d 2077 6974 6820 6272 6163 ock... with brac │ │ │ │ │ +00005410: 6573 2028 6120 7369 6e67 6c65 2069 7465 es (a single ite │ │ │ │ │ +00005420: 6d20 776f 756c 6420 6e6f 740a 6e65 6564 m would not.need │ │ │ │ │ +00005430: 2074 6865 6d29 2e20 2054 6865 2070 6f69 them). The poi │ │ │ │ │ +00005440: 6e74 2064 6566 696e 6974 696f 6e73 206e nt definitions n │ │ │ │ │ +00005450: 6573 7465 6420 696e 7369 6465 2074 6865 ested inside the │ │ │ │ │ +00005460: 2062 7261 6365 7320 6172 650a e280 9c6c braces are....l │ │ │ │ │ +00005470: 6578 6963 616c 6c79 2073 636f 7065 64e2 exically scoped. │ │ │ │ │ +00005480: 809d 2e20 2054 6865 6972 206d 6561 6e69 ... Their meani │ │ │ │ │ +00005490: 6e67 2065 7874 656e 6473 206f 6e6c 7920 ng extends only │ │ │ │ │ +000054a0: 746f 2074 6865 2065 6e64 206f 6620 7468 to the end of th │ │ │ │ │ +000054b0: 6520 626c 6f63 6b2e 0a54 6865 206f 7574 e block..The out │ │ │ │ │ +000054c0: 6572 2064 6566 2069 7320 6361 6c6c 6564 er def is called │ │ │ │ │ +000054d0: 2061 20e2 809c 6472 6177 6162 6c65 e280 a ...drawable.. │ │ │ │ │ +000054e0: 9d20 6465 6669 6e69 7469 6f6e 2062 6563 . definition bec │ │ │ │ │ +000054f0: 6175 7365 2069 7420 6465 7363 7269 6265 ause it describe │ │ │ │ │ +00005500: 730a 736f 6d65 7468 696e 6720 7468 6174 s.something that │ │ │ │ │ +00005510: 2063 616e 2062 6520 6472 6177 6e2e 0a0a can be drawn... │ │ │ │ │ +00005520: 2020 2041 2064 7261 7761 626c 6520 6465 A drawable de │ │ │ │ │ +00005530: 6669 6e69 7469 6f6e 2062 7920 6974 7365 finition by itse │ │ │ │ │ +00005540: 6c66 2063 6175 7365 7320 6e6f 7468 696e lf causes nothin │ │ │ │ │ +00005550: 6720 746f 2068 6170 7065 6e20 756e 7469 g to happen unti │ │ │ │ │ +00005560: 6c20 6974 730a 6e61 6d65 2069 7320 7265 l its.name is re │ │ │ │ │ +00005570: 6665 7265 6e63 6564 2e20 2044 7261 7761 ferenced. Drawa │ │ │ │ │ +00005580: 626c 6520 7265 6665 7265 6e63 6573 206d ble references m │ │ │ │ │ +00005590: 7573 7420 6265 2065 6e63 6c6f 7365 6420 ust be enclosed │ │ │ │ │ +000055a0: 696e 2063 7572 6c79 0a62 7261 6365 732c in curly.braces, │ │ │ │ │ +000055b0: 2065 2e67 2e20 7b66 6f6f 7d2c 2077 6974 e.g. {foo}, wit │ │ │ │ │ +000055c0: 6820 6e6f 2069 6e74 6572 7665 6e69 6e67 h no intervening │ │ │ │ │ +000055d0: 2077 6869 7465 2073 7061 6365 2e20 2049 white space. I │ │ │ │ │ +000055e0: 6e20 7468 6520 636f 6465 2061 626f 7665 n the code above │ │ │ │ │ +000055f0: 2c0a 7468 6520 6669 7273 7420 7265 6665 ,.the first refe │ │ │ │ │ +00005600: 7265 6e63 6520 7b70 6965 7263 6564 5f74 rence {pierced_t │ │ │ │ │ +00005610: 6574 7261 6865 6472 6f6e 7d20 6973 2061 etrahedron} is a │ │ │ │ │ +00005620: 2070 6c61 696e 206f 6e65 2e20 2049 7473 plain one. Its │ │ │ │ │ +00005630: 2065 6666 6563 7420 6973 0a6d 6572 656c effect is.merel │ │ │ │ │ +00005640: 7920 746f 2064 7570 6c69 6361 7465 2074 y to duplicate t │ │ │ │ │ +00005650: 6865 2065 6172 6c69 6572 2064 7261 7769 he earlier drawi │ │ │ │ │ +00005660: 6e67 2e20 2041 6c6d 6f73 7420 616e 7920 ng. Almost any │ │ │ │ │ +00005670: 7365 7269 6573 206f 6620 e280 9873 6b65 series of ...ske │ │ │ │ │ +00005680: 7463 68e2 8099 0a63 6f6d 6d61 6e64 7320 tch....commands │ │ │ │ │ +00005690: 7374 7566 6620 6d61 7920 6265 2072 6570 stuff may be rep │ │ │ │ │ +000056a0: 6c61 6365 6420 7769 7468 2064 6566 2066 laced with def f │ │ │ │ │ +000056b0: 6f6f 207b 2073 7475 6666 207d 207b 666f oo { stuff } {fo │ │ │ │ │ +000056c0: 6f7d 2077 6974 686f 7574 0a63 6861 6e67 o} without.chang │ │ │ │ │ +000056d0: 696e 6720 6974 7320 6d65 616e 696e 672e ing its meaning. │ │ │ │ │ +000056e0: 0a0a 2020 2054 6865 2070 7574 2063 6f6d .. The put com │ │ │ │ │ +000056f0: 6d61 6e64 2073 7570 706c 6965 7320 6120 mand supplies a │ │ │ │ │ +00005700: 7365 636f 6e64 2072 6566 6572 656e 6365 second reference │ │ │ │ │ +00005710: 2c20 7468 6973 2074 696d 6520 7769 7468 , this time with │ │ │ │ │ +00005720: 2061 0ae2 809c 7472 616e 7366 6f72 6de2 a....transform. │ │ │ │ │ +00005730: 809d 2061 7070 6c69 6564 2066 6972 7374 .. applied first │ │ │ │ │ +00005740: 2e20 2054 6865 2072 6f74 6174 6520 7472 . The rotate tr │ │ │ │ │ +00005750: 616e 7366 6f72 6d20 7475 726e 7320 7468 ansform turns th │ │ │ │ │ +00005760: 6520 7465 7472 6168 6564 726f 6e0a 3930 e tetrahedron.90 │ │ │ │ │ +00005770: 2064 6567 7265 6573 2061 626f 7574 2074 degrees about t │ │ │ │ │ +00005780: 6865 206f 7269 6769 6e2e 2020 5468 6520 he origin. The │ │ │ │ │ +00005790: 6178 6973 206f 6620 726f 7461 7469 6f6e axis of rotation │ │ │ │ │ +000057a0: 2069 7320 7468 6520 7665 6374 6f72 0a5b is the vector.[ │ │ │ │ │ +000057b0: 312c 302c 305d 2e20 2042 7920 7468 6520 1,0,0]. By the │ │ │ │ │ +000057c0: e280 9c72 6967 6874 2068 616e 6420 7275 ...right hand ru │ │ │ │ │ +000057d0: 6c65 e280 9d2c 2074 6869 7320 6361 7573 le..., this caus │ │ │ │ │ +000057e0: 6573 2074 6865 2074 6f70 206f 6620 7468 es the top of th │ │ │ │ │ +000057f0: 650a 7465 7472 6168 6564 726f 6e20 746f e.tetrahedron to │ │ │ │ │ +00005800: 2072 6f74 6174 6520 746f 7761 7264 2074 rotate toward t │ │ │ │ │ +00005810: 6865 2076 6965 7765 7220 616e 6420 7468 he viewer and th │ │ │ │ │ +00005820: 6520 626f 7474 6f6d 2061 7761 792e 2020 e bottom away. │ │ │ │ │ +00005830: 5468 6520 7275 6c65 0a72 6563 6569 7665 The rule.receive │ │ │ │ │ +00005840: 7320 6974 7320 6e61 6d65 2066 726f 6d20 s its name from │ │ │ │ │ +00005850: 7468 6520 666f 6c6c 6f77 696e 6720 6465 the following de │ │ │ │ │ +00005860: 6669 6e69 7469 6f6e 3a0a 2020 2020 202a finition:. * │ │ │ │ │ +00005870: 5269 6768 7420 6861 6e64 2072 756c 652e Right hand rule. │ │ │ │ │ +00005880: 2a20 2049 6620 7468 6520 7269 6768 7420 * If the right │ │ │ │ │ +00005890: 6861 6e64 2069 7320 7772 6170 7065 6420 hand is wrapped │ │ │ │ │ +000058a0: 6172 6f75 6e64 2061 6e79 2061 7869 730a around any axis. │ │ │ │ │ +000058b0: 2020 2020 2077 6974 6820 7468 6520 7468 with the th │ │ │ │ │ +000058c0: 756d 6220 706f 696e 7469 6e67 2069 6e20 umb pointing in │ │ │ │ │ +000058d0: 7468 6520 6178 6973 2064 6972 6563 7469 the axis directi │ │ │ │ │ +000058e0: 6f6e 2c20 7468 656e 2074 6865 2066 696e on, then the fin │ │ │ │ │ +000058f0: 6765 7273 0a20 2020 2020 6375 726c 2069 gers. curl i │ │ │ │ │ +00005900: 6e20 7468 6520 6469 7265 6374 696f 6e20 n the direction │ │ │ │ │ +00005910: 6f66 2070 6f73 6974 6976 6520 726f 7461 of positive rota │ │ │ │ │ +00005920: 7469 6f6e 2061 626f 7574 2074 6861 7420 tion about that │ │ │ │ │ +00005930: 6178 6973 2e0a 2020 2054 6865 2074 7261 axis.. The tra │ │ │ │ │ +00005940: 6e73 6c61 7465 2074 7261 6e73 666f 726d nslate transform │ │ │ │ │ +00005950: 206d 6f76 6573 2074 6865 2070 7972 616d moves the pyram │ │ │ │ │ +00005960: 6964 206c 6174 6572 616c 6c79 2074 6f20 id laterally to │ │ │ │ │ +00005970: 7468 6520 7269 6768 7420 6279 0a61 6464 the right by.add │ │ │ │ │ +00005980: 696e 6720 7468 6520 7665 6374 6f72 205b ing the vector [ │ │ │ │ │ +00005990: 322e 352c 302c 305d 2074 6f20 6561 6368 2.5,0,0] to each │ │ │ │ │ +000059a0: 2076 6572 7465 7820 636f 6f72 6469 6e61 vertex coordina │ │ │ │ │ +000059b0: 7465 2e20 2054 6865 2072 6573 756c 7420 te. The result │ │ │ │ │ +000059c0: 6973 0a73 686f 776e 2068 6572 652e 0a0a is.shown here... │ │ │ │ │ +000059d0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +000059e0: 3035 302e 706e 6722 2074 6578 743d 2249 050.png" text="I │ │ │ │ │ +000059f0: 6d61 6765 2065 7830 3530 206f 6d69 7474 mage ex050 omitt │ │ │ │ │ +00005a00: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00005a10: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00005a20: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent."..]....File │ │ │ │ │ +00005a30: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00005a40: 4e6f 6465 3a20 5265 7065 6174 6564 206f Node: Repeated o │ │ │ │ │ +00005a50: 626a 6563 7473 2c20 204e 6578 743a 2053 bjects, Next: S │ │ │ │ │ +00005a60: 7765 7074 206f 626a 6563 7473 2c20 2050 wept objects, P │ │ │ │ │ +00005a70: 7265 763a 204f 626a 6563 7420 7472 616e rev: Object tran │ │ │ │ │ +00005a80: 7366 6f72 6d73 2c20 2055 703a 2049 6e74 sforms, Up: Int │ │ │ │ │ +00005a90: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa │ │ │ │ │ +00005aa0: 6d70 6c65 0a0a 322e 3620 5265 7065 6174 mple..2.6 Repeat │ │ │ │ │ +00005ab0: 6564 206f 626a 6563 7473 0a3d 3d3d 3d3d ed objects.===== │ │ │ │ │ +00005ac0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============. │ │ │ │ │ +00005ad0: 0a54 6f20 6472 6177 2073 6576 656e 2069 .To draw seven i │ │ │ │ │ +00005ae0: 6e73 7461 6e63 6573 206f 6620 7468 6520 nstances of the │ │ │ │ │ +00005af0: 7465 7472 6168 6564 726f 6e2c 2065 6163 tetrahedron, eac │ │ │ │ │ +00005b00: 6820 6469 6666 6572 696e 6720 6672 6f6d h differing from │ │ │ │ │ +00005b10: 2074 6865 206c 6173 740a 6279 2074 6865 the last.by the │ │ │ │ │ +00005b20: 2073 616d 6520 7472 616e 7366 6f72 6d2c same transform, │ │ │ │ │ +00005b30: 2072 6570 6c61 6365 2074 6865 206c 6173 replace the las │ │ │ │ │ +00005b40: 7420 7477 6f20 636f 6d6d 616e 6473 206f t two commands o │ │ │ │ │ +00005b50: 6620 7468 6520 7072 6576 696f 7573 0a65 f the previous.e │ │ │ │ │ +00005b60: 7861 6d70 6c65 2077 6974 680a 2020 7265 xample with. re │ │ │ │ │ +00005b70: 7065 6174 207b 2037 2c20 726f 7461 7465 peat { 7, rotate │ │ │ │ │ +00005b80: 2831 352c 2028 302c 302c 3029 2c20 5b31 (15, (0,0,0), [1 │ │ │ │ │ +00005b90: 2c30 2c30 5d29 2025 2063 6f70 7920 696e ,0,0]) % copy in │ │ │ │ │ +00005ba0: 206e 6577 2070 6f73 6974 696f 6e0a 2020 new position. │ │ │ │ │ +00005bb0: 2020 2020 2020 2020 2020 2020 7468 656e then │ │ │ │ │ +00005bc0: 2074 7261 6e73 6c61 7465 285b 322c 302c translate([2,0, │ │ │ │ │ +00005bd0: 305d 2920 7d20 7b70 6965 7263 6564 5f74 0]) } {pierced_t │ │ │ │ │ +00005be0: 6574 7261 6865 6472 6f6e 7d0a 416e 6420 etrahedron}.And │ │ │ │ │ +00005bf0: 7468 6520 7265 7375 6c74 2e2e 2e0a 0a00 the result...... │ │ │ │ │ +00005c00: 085b 696d 6167 6520 7372 633d 2265 7830 .[image src="ex0 │ │ │ │ │ +00005c10: 3630 2e70 6e67 2220 7465 7874 3d22 496d 60.png" text="Im │ │ │ │ │ +00005c20: 6167 6520 6578 3036 3020 6f6d 6974 7465 age ex060 omitte │ │ │ │ │ +00005c30: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio │ │ │ │ │ +00005c40: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume │ │ │ │ │ +00005c50: 6e74 2e22 0008 5d0a 0a1f 0a46 696c 653a nt."..]....File: │ │ │ │ │ +00005c60: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00005c70: 6f64 653a 2053 7765 7074 206f 626a 6563 ode: Swept objec │ │ │ │ │ +00005c80: 7473 2c20 2050 7265 763a 2052 6570 6561 ts, Prev: Repea │ │ │ │ │ +00005c90: 7465 6420 6f62 6a65 6374 732c 2020 5570 ted objects, Up │ │ │ │ │ +00005ca0: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b │ │ │ │ │ +00005cb0: 7920 6578 616d 706c 650a 0a32 2e37 2053 y example..2.7 S │ │ │ │ │ +00005cc0: 7765 7074 206f 626a 6563 7473 0a3d 3d3d wept objects.=== │ │ │ │ │ +00005cd0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============.. │ │ │ │ │ +00005ce0: 4d61 6e79 2066 616d 696c 6961 7220 7368 Many familiar sh │ │ │ │ │ +00005cf0: 6170 6573 2063 616e 2062 6520 6765 6e65 apes can be gene │ │ │ │ │ +00005d00: 7261 7465 6420 6279 2073 7765 6570 696e rated by sweepin │ │ │ │ │ +00005d10: 6720 7369 6d70 6c65 7220 6f6e 6573 2074 g simpler ones t │ │ │ │ │ +00005d20: 6872 6f75 6768 0a73 7061 6365 2061 6e64 hrough.space and │ │ │ │ │ +00005d30: 2063 6f6e 7369 6465 7269 6e67 2074 6865 considering the │ │ │ │ │ +00005d40: 2072 6573 756c 7469 6e67 2070 6174 682c resulting path, │ │ │ │ │ +00005d50: 2073 7572 6661 6365 2c20 6f72 2076 6f6c surface, or vol │ │ │ │ │ +00005d60: 756d 652e 2020 e280 9853 6b65 7463 68e2 ume. ...Sketch. │ │ │ │ │ +00005d70: 8099 0a69 6d70 6c65 6d65 6e74 7320 7468 ...implements th │ │ │ │ │ +00005d80: 6973 2069 6465 6120 696e 2074 6865 2073 is idea in the s │ │ │ │ │ +00005d90: 7765 6570 2063 6f6d 6d61 6e64 2e0a 2020 weep command.. │ │ │ │ │ +00005da0: 6465 6620 6e5f 7365 6773 2038 0a20 2073 def n_segs 8. s │ │ │ │ │ +00005db0: 7765 6570 207b 206e 5f73 6567 732c 2072 weep { n_segs, r │ │ │ │ │ +00005dc0: 6f74 6174 6528 3138 3020 2f20 6e5f 7365 otate(180 / n_se │ │ │ │ │ +00005dd0: 6773 2c20 2830 2c30 2c30 292c 205b 302c gs, (0,0,0), [0, │ │ │ │ │ +00005de0: 302c 315d 2920 7d20 2831 2c30 2c30 290a 0,1]) } (1,0,0). │ │ │ │ │ +00005df0: 5468 6973 2063 6f64 6520 7377 6565 7073 This code sweeps │ │ │ │ │ +00005e00: 2074 6865 2070 6f69 6e74 2028 312c 302c the point (1,0, │ │ │ │ │ +00005e10: 3029 2065 6967 6874 2074 696d 6573 2062 0) eight times b │ │ │ │ │ +00005e20: 7920 726f 7461 7469 6e67 2069 7420 3138 y rotating it 18 │ │ │ │ │ +00005e30: 302f 3820 3d0a 3232 2e35 2064 6567 7265 0/8 =.22.5 degre │ │ │ │ │ +00005e40: 6573 2065 6163 6820 7469 6d65 2061 6e64 es each time and │ │ │ │ │ +00005e50: 2063 6f6e 6e65 6374 696e 6720 7468 6520 connecting the │ │ │ │ │ +00005e60: 7265 7375 6c74 696e 6720 706f 696e 7473 resulting points │ │ │ │ │ +00005e70: 2077 6974 6820 6c69 6e65 0a73 6567 6d65 with line.segme │ │ │ │ │ +00005e80: 6e74 732e 2020 5468 6520 6465 6620 7573 nts. The def us │ │ │ │ │ +00005e90: 6564 2068 6572 6520 6973 2061 20e2 809c ed here is a ... │ │ │ │ │ +00005ea0: 7363 616c 6172 e280 9d20 6465 6669 6e69 scalar... defini │ │ │ │ │ +00005eb0: 7469 6f6e 2e20 2052 6566 6572 656e 6365 tion. Reference │ │ │ │ │ +00005ec0: 7320 746f 0a73 6361 6c61 7273 2068 6176 s to.scalars hav │ │ │ │ │ +00005ed0: 6520 6e6f 2065 6e63 6c6f 7369 6e67 2062 e no enclosing b │ │ │ │ │ +00005ee0: 7261 636b 6574 7320 6174 2061 6c6c 2e0a rackets at all.. │ │ │ │ │ +00005ef0: 0a2a 204d 656e 753a 0a0a 2a20 506f 696e .* Menu:..* Poin │ │ │ │ │ +00005f00: 7420 7377 6565 7073 3a3a 2020 2020 2020 t sweeps:: │ │ │ │ │ +00005f10: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +00005f20: 706f 696e 7473 206d 616b 6520 6c69 6e65 points make line │ │ │ │ │ +00005f30: 7320 616e 6420 706f 6c79 676f 6e73 2e0a s and polygons.. │ │ │ │ │ +00005f40: 2a20 506f 6c79 6c69 6e65 2073 7765 6570 * Polyline sweep │ │ │ │ │ +00005f50: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00005f60: 5377 6570 7420 6c69 6e65 7320 6d61 6b65 Swept lines make │ │ │ │ │ +00005f70: 2073 7572 6661 6365 732e 0a2a 204e 6573 surfaces..* Nes │ │ │ │ │ +00005f80: 7465 6420 7377 6565 7073 3a3a 2020 2020 ted sweeps:: │ │ │ │ │ +00005f90: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +00005fa0: 2073 7765 6570 7320 6172 6520 7573 6566 sweeps are usef │ │ │ │ │ +00005fb0: 756c 210a 2a20 506f 6c79 676f 6e20 7377 ul!.* Polygon sw │ │ │ │ │ +00005fc0: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: │ │ │ │ │ +00005fd0: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo │ │ │ │ │ +00005fe0: 6e73 206d 616b 6520 736f 6c69 6473 2e2e ns make solids.. │ │ │ │ │ +00005ff0: 2e0a 2a20 506f 6c79 6c69 6e65 2073 7765 ..* Polyline swe │ │ │ │ │ +00006000: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure │ │ │ │ │ +00006010: 3a3a 2020 616e 6420 736f 2064 6f20 636c :: and so do cl │ │ │ │ │ +00006020: 6f73 6564 2070 6f6c 796c 696e 6520 7377 osed polyline sw │ │ │ │ │ +00006030: 6565 7073 2e0a 2a20 4166 6669 6e65 2061 eeps..* Affine a │ │ │ │ │ +00006040: 7269 7468 6d65 7469 633a 3a20 2020 2020 rithmetic:: │ │ │ │ │ +00006050: 2020 2020 2020 536b 6574 6368 2075 7365 Sketch use │ │ │ │ │ +00006060: 6675 6c20 6d61 7468 2065 7870 7265 7373 ful math express │ │ │ │ │ +00006070: 696f 6e2e 0a2a 204d 6f72 6520 746f 206c ion..* More to l │ │ │ │ │ +00006080: 6561 726e 3a3a 2020 2020 2020 2020 2020 earn:: │ │ │ │ │ +00006090: 2020 2020 2043 6865 636b 206f 7574 2074 Check out t │ │ │ │ │ +000060a0: 6865 204d 6f62 6975 7320 7374 7269 7021 he Mobius strip! │ │ │ │ │ +000060b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +000060c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po │ │ │ │ │ +000060d0: 696e 7420 7377 6565 7073 2c20 204e 6578 int sweeps, Nex │ │ │ │ │ +000060e0: 743a 2050 6f6c 796c 696e 6520 7377 6565 t: Polyline swee │ │ │ │ │ +000060f0: 7073 2c20 2050 7265 763a 2053 7765 7074 ps, Prev: Swept │ │ │ │ │ +00006100: 206f 626a 6563 7473 2c20 2055 703a 2053 objects, Up: S │ │ │ │ │ +00006110: 7765 7074 206f 626a 6563 7473 0a0a 322e wept objects..2. │ │ │ │ │ +00006120: 372e 3120 506f 696e 7420 7377 6565 7073 7.1 Point sweeps │ │ │ │ │ +00006130: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +00006140: 2d2d 2d0a 0a53 7765 6570 696e 6720 6120 ---..Sweeping a │ │ │ │ │ +00006150: 706f 696e 7420 6d61 6b65 7320 6120 6f6e point makes a on │ │ │ │ │ +00006160: 652d 6469 6d65 6e73 696f 6e61 6c20 7061 e-dimensional pa │ │ │ │ │ +00006170: 7468 2c20 7768 6963 6820 6973 2061 2070 th, which is a p │ │ │ │ │ +00006180: 6f6c 796c 696e 652e 0a53 696e 6365 2077 olyline..Since w │ │ │ │ │ +00006190: 6520 6861 7665 2073 7765 7074 2077 6974 e have swept wit │ │ │ │ │ +000061a0: 6820 6120 726f 7461 7469 6f6e 2c20 7468 h a rotation, th │ │ │ │ │ +000061b0: 6520 7265 7375 6c74 2069 7320 6120 6369 e result is a ci │ │ │ │ │ +000061c0: 7263 756c 6172 2061 7263 2e20 2048 6572 rcular arc. Her │ │ │ │ │ +000061d0: 650a 6973 2077 6861 7420 6974 206c 6f6f e.is what it loo │ │ │ │ │ +000061e0: 6b73 206c 696b 652e 0a0a 0008 5b69 6d61 ks like.....[ima │ │ │ │ │ +000061f0: 6765 2073 7263 3d22 6578 3037 302e 706e ge src="ex070.pn │ │ │ │ │ +00006200: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ +00006210: 7830 3730 206f 6d69 7474 6564 2069 6e20 x070 omitted in │ │ │ │ │ +00006220: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +00006230: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +00006240: 085d 0a0a 2020 2054 6869 7320 6973 2074 .].. This is t │ │ │ │ │ +00006250: 6865 2066 6972 7374 2065 7861 6d70 6c65 he first example │ │ │ │ │ +00006260: 2077 6520 6861 7665 2073 6565 6e20 6f66 we have seen of │ │ │ │ │ +00006270: 20e2 8098 736b 6574 6368 e280 9920 6172 ...sketch... ar │ │ │ │ │ +00006280: 6974 686d 6574 6963 2e20 2054 6865 0a65 ithmetic. The.e │ │ │ │ │ +00006290: 7870 7265 7373 696f 6e20 3138 3020 2f20 xpression 180 / │ │ │ │ │ +000062a0: 6e5f 7365 6773 2063 6175 7365 7320 7468 n_segs causes th │ │ │ │ │ +000062b0: 6520 6569 6768 7420 726f 7461 7469 6f6e e eight rotation │ │ │ │ │ +000062c0: 7320 746f 2061 6464 2074 6f20 3138 302e s to add to 180. │ │ │ │ │ +000062d0: 2020 4966 0a79 6f75 2772 6520 7061 7969 If.you're payi │ │ │ │ │ +000062e0: 6e67 2061 7474 656e 7469 6f6e 2c20 796f ng attention, yo │ │ │ │ │ +000062f0: 7527 6c6c 2068 6176 6520 616c 7265 6164 u'll have alread │ │ │ │ │ +00006300: 7920 6e6f 7465 6420 7468 6174 2074 6865 y noted that the │ │ │ │ │ +00006310: 7265 2061 7265 205f 6e69 6e65 5f0a 706f re are _nine_.po │ │ │ │ │ +00006320: 696e 7473 2c20 7072 6f64 7563 696e 6720 ints, producing │ │ │ │ │ +00006330: 6569 6768 7420 6c69 6e65 2073 6567 6d65 eight line segme │ │ │ │ │ +00006340: 6e74 732e 0a0a 2020 2059 6f75 2063 616e nts... You can │ │ │ │ │ +00006350: 2063 6175 7365 2074 6865 2073 7765 7074 cause the swept │ │ │ │ │ +00006360: 2070 6f69 6e74 2074 6f20 6765 6e65 7261 point to genera │ │ │ │ │ +00006370: 7465 2061 2073 696e 676c 6520 706f 6c79 te a single poly │ │ │ │ │ +00006380: 676f 6e20 7261 7468 6572 0a74 6861 6e20 gon rather.than │ │ │ │ │ +00006390: 6120 706f 6c79 6c69 6e65 2062 7920 7573 a polyline by us │ │ │ │ │ +000063a0: 696e 6720 7468 6520 e280 9c63 6c6f 7375 ing the ...closu │ │ │ │ │ +000063b0: 7265 2074 6167 e280 9d20 3c3e 2061 6674 re tag... <> aft │ │ │ │ │ +000063c0: 6572 2074 6865 206e 756d 6265 7220 6f66 er the number of │ │ │ │ │ +000063d0: 2073 7765 7074 0a6f 626a 6563 7473 2e20 swept.objects. │ │ │ │ │ +000063e0: 2043 6f64 6520 616e 6420 7265 7375 6c74 Code and result │ │ │ │ │ +000063f0: 2066 6f6c 6c6f 770a 2020 6465 6620 6e5f follow. def n_ │ │ │ │ │ +00006400: 7365 6773 2038 0a20 2073 7765 6570 207b segs 8. sweep { │ │ │ │ │ +00006410: 206e 5f73 6567 733c 3e2c 2072 6f74 6174 n_segs<>, rotat │ │ │ │ │ +00006420: 6528 3138 3020 2f20 6e5f 7365 6773 2c20 e(180 / n_segs, │ │ │ │ │ +00006430: 2830 2c30 2c30 292c 205b 302c 302c 315d (0,0,0), [0,0,1] │ │ │ │ │ +00006440: 2920 7d20 2831 2c30 2c30 290a 0008 5b69 ) } (1,0,0)...[i │ │ │ │ │ +00006450: 6d61 6765 2073 7263 3d22 6578 3038 302e mage src="ex080. │ │ │ │ │ +00006460: 706e 6722 2074 6578 743d 2249 6d61 6765 png" text="Image │ │ │ │ │ +00006470: 2065 7830 3830 206f 6d69 7474 6564 2069 ex080 omitted i │ │ │ │ │ +00006480: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ +00006490: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ +000064a0: 2200 085d 0a0a 1f0a 4669 6c65 3a20 736b "..]....File: sk │ │ │ │ │ +000064b0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +000064c0: 3a20 506f 6c79 6c69 6e65 2073 7765 6570 : Polyline sweep │ │ │ │ │ +000064d0: 732c 2020 4e65 7874 3a20 4e65 7374 6564 s, Next: Nested │ │ │ │ │ +000064e0: 2073 7765 6570 732c 2020 5072 6576 3a20 sweeps, Prev: │ │ │ │ │ +000064f0: 506f 696e 7420 7377 6565 7073 2c20 2055 Point sweeps, U │ │ │ │ │ +00006500: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects │ │ │ │ │ +00006510: 0a0a 322e 372e 3220 506f 6c79 6c69 6e65 ..2.7.2 Polyline │ │ │ │ │ +00006520: 2073 7765 6570 730a 2d2d 2d2d 2d2d 2d2d sweeps.-------- │ │ │ │ │ +00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 -------------..S │ │ │ │ │ +00006540: 7765 6570 696e 6720 6120 706f 6c79 6c69 weeping a polyli │ │ │ │ │ +00006550: 6e65 2070 726f 6475 6365 7320 6120 7375 ne produces a su │ │ │ │ │ +00006560: 7266 6163 6520 636f 6d70 6f73 6564 206f rface composed o │ │ │ │ │ +00006570: 6620 6d61 6e79 2066 6163 6573 2e20 2054 f many faces. T │ │ │ │ │ +00006580: 6865 0a75 6e62 726f 6b65 6e20 6865 6c69 he.unbroken heli │ │ │ │ │ +00006590: 7820 696e 2074 6865 2065 7861 6d70 6c65 x in the example │ │ │ │ │ +000065a0: 202a 6e6f 7465 2048 656c 6978 2077 6974 *note Helix wit │ │ │ │ │ +000065b0: 6820 6375 6c6c 2073 6574 2066 616c 7365 h cull set false │ │ │ │ │ +000065c0: 2074 6865 6e0a 7472 7565 3a3a 2069 7320 then.true:: is │ │ │ │ │ +000065d0: 7072 6f64 7563 6564 2062 7920 7468 6973 produced by this │ │ │ │ │ +000065e0: 2063 6f64 6520 2870 6c75 7320 6120 7375 code (plus a su │ │ │ │ │ +000065f0: 7272 6f75 6e64 696e 6720 7075 7420 726f rrounding put ro │ │ │ │ │ +00006600: 7461 7469 6f6e 2074 6f20 6d61 6b65 0a61 tation to make.a │ │ │ │ │ +00006610: 6e20 696e 7465 7265 7374 696e 6720 7669 n interesting vi │ │ │ │ │ +00006620: 6577 3b20 7468 6973 2068 6173 2062 6565 ew; this has bee │ │ │ │ │ +00006630: 6e20 6f6d 6974 7465 6429 2e0a 2020 6465 n omitted).. de │ │ │ │ │ +00006640: 6620 4b20 5b30 2c30 2c31 5d0a 2020 7377 f K [0,0,1]. sw │ │ │ │ │ +00006650: 6565 705b 6375 6c6c 3d66 616c 7365 5d20 eep[cull=false] │ │ │ │ │ +00006660: 7b0a 2020 2020 3630 2c20 0a20 2020 2072 {. 60, . r │ │ │ │ │ +00006670: 6f74 6174 6528 3130 2c20 2830 2c30 2c30 otate(10, (0,0,0 │ │ │ │ │ +00006680: 292c 205b 4b5d 2920 7468 656e 2074 7261 ), [K]) then tra │ │ │ │ │ +00006690: 6e73 6c61 7465 2831 2f36 202a 205b 4b5d nslate(1/6 * [K] │ │ │ │ │ +000066a0: 2920 0a20 207d 206c 696e 655b 6c69 6e65 ) . } line[line │ │ │ │ │ +000066b0: 7769 6474 683d 3270 745d 282d 312c 3029 width=2pt](-1,0) │ │ │ │ │ +000066c0: 2831 2c30 290a 4167 6169 6e2c 2036 3020 (1,0).Again, 60 │ │ │ │ │ +000066d0: 7365 676d 656e 7473 206f 6620 7468 6520 segments of the │ │ │ │ │ +000066e0: 6865 6c69 7820 6172 6520 7072 6f64 7563 helix are produc │ │ │ │ │ +000066f0: 6564 2062 7920 636f 6e6e 6563 7469 6e67 ed by connecting │ │ │ │ │ +00006700: 2036 3120 696e 7374 616e 6365 730a 6f66 61 instances.of │ │ │ │ │ +00006710: 2074 6865 2073 7765 7074 206c 696e 652e the swept line. │ │ │ │ │ +00006720: 2020 4f70 7469 6f6e 7320 6170 706c 6965 Options applie │ │ │ │ │ +00006730: 6420 746f 2074 6865 2073 7765 6570 2c20 d to the sweep, │ │ │ │ │ +00006740: 6865 7265 2063 756c 6c3d 6661 6c73 652c here cull=false, │ │ │ │ │ +00006750: 2061 7265 0a74 7265 6174 6564 2061 7320 are.treated as │ │ │ │ │ +00006760: 6f70 7469 6f6e 7320 666f 7220 7468 6520 options for the │ │ │ │ │ +00006770: 6765 6e65 7261 7465 6420 706f 6c79 676f generated polygo │ │ │ │ │ +00006780: 6e20 6f72 2070 6f6c 796c 696e 652e 2020 n or polyline. │ │ │ │ │ +00006790: 4f70 7469 6f6e 7320 6f66 0a74 6865 2073 Options of.the s │ │ │ │ │ +000067a0: 7765 7074 206c 696e 6520 6974 7365 6c66 wept line itself │ │ │ │ │ +000067b0: 2c20 6865 7265 206c 696e 6577 6964 7468 , here linewidth │ │ │ │ │ +000067c0: 3d32 7074 2c20 6172 6520 6967 6e6f 7265 =2pt, are ignore │ │ │ │ │ +000067d0: 642c 2074 686f 7567 6820 7769 7468 2061 d, though with a │ │ │ │ │ +000067e0: 0a77 6172 6e69 6e67 2e20 2054 6869 7320 .warning. This │ │ │ │ │ +000067f0: 6465 6620 6973 2061 20e2 809c 7665 6374 def is a ...vect │ │ │ │ │ +00006800: 6f72 e280 9d20 6465 6669 6e69 7469 6f6e or... definition │ │ │ │ │ +00006810: 2c20 7768 6963 6820 6d75 7374 2062 6520 , which must be │ │ │ │ │ +00006820: 7265 6665 7265 6e63 6564 0a77 6974 6820 referenced.with │ │ │ │ │ +00006830: 7371 7561 7265 2062 7261 636b 6574 732c square brackets, │ │ │ │ │ +00006840: 2065 2e67 2e20 5b66 6f6f 5d2e 0a0a 1f0a e.g. [foo]..... │ │ │ │ │ +00006850: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00006860: 6f2c 2020 4e6f 6465 3a20 4e65 7374 6564 o, Node: Nested │ │ │ │ │ +00006870: 2073 7765 6570 732c 2020 4e65 7874 3a20 sweeps, Next: │ │ │ │ │ +00006880: 506f 6c79 676f 6e20 7377 6565 7073 2c20 Polygon sweeps, │ │ │ │ │ +00006890: 2050 7265 763a 2050 6f6c 796c 696e 6520 Prev: Polyline │ │ │ │ │ +000068a0: 7377 6565 7073 2c20 2055 703a 2053 7765 sweeps, Up: Swe │ │ │ │ │ +000068b0: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7. │ │ │ │ │ +000068c0: 3320 4e65 7374 6564 2073 7765 6570 730a 3 Nested sweeps. │ │ │ │ │ 000068d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -000068e0: 2d0a 0a57 6865 6e20 7468 6520 6365 6e74 -..When the cent │ │ │ │ │ -000068f0: 6572 2070 6f69 6e74 206f 6620 726f 7461 er point of rota │ │ │ │ │ -00006900: 7469 6f6e 2069 7320 6f6d 6974 7465 642c tion is omitted, │ │ │ │ │ -00006910: 2074 6865 206f 7269 6769 6e20 6973 2061 the origin is a │ │ │ │ │ -00006920: 7373 756d 6564 2e0a 5768 656e 2061 2070 ssumed..When a p │ │ │ │ │ -00006930: 6f69 6e74 2068 6173 206f 6e6c 7920 7477 oint has only tw │ │ │ │ │ -00006940: 6f20 636f 6f72 6469 6e61 7465 732c 2074 o coordinates, t │ │ │ │ │ -00006950: 6865 7920 6172 6520 7461 6b65 6e20 6173 hey are taken as │ │ │ │ │ -00006960: 2078 2061 6e64 2079 2c20 7769 7468 0a7a x and y, with.z │ │ │ │ │ -00006970: 3d30 2061 7373 756d 6564 2e20 2041 2074 =0 assumed. A t │ │ │ │ │ -00006980: 6f72 6f69 6420 6973 2074 6865 7265 666f oroid is therefo │ │ │ │ │ -00006990: 7265 206f 6274 6169 6e65 6420 7769 7468 re obtained with │ │ │ │ │ -000069a0: 2074 6869 7320 636f 6465 2e0a 2020 6465 this code.. de │ │ │ │ │ -000069b0: 6620 6e5f 746f 726f 6964 5f73 6567 7320 f n_toroid_segs │ │ │ │ │ -000069c0: 3230 2020 2064 6566 206e 5f63 6972 636c 20 def n_circl │ │ │ │ │ -000069d0: 655f 7365 6773 2031 360a 2020 6465 6620 e_segs 16. def │ │ │ │ │ -000069e0: 725f 6d69 6e6f 7220 3120 2020 2020 2020 r_minor 1 │ │ │ │ │ -000069f0: 2020 2064 6566 2072 5f6d 616a 6f72 2031 def r_major 1 │ │ │ │ │ -00006a00: 2e35 0a20 2073 7765 6570 207b 206e 5f74 .5. sweep { n_t │ │ │ │ │ -00006a10: 6f72 6f69 645f 7365 6773 2c20 726f 7461 oroid_segs, rota │ │ │ │ │ -00006a20: 7465 2833 3630 202f 206e 5f74 6f72 6f69 te(360 / n_toroi │ │ │ │ │ -00006a30: 645f 7365 6773 2c20 5b30 2c31 2c30 5d29 d_segs, [0,1,0]) │ │ │ │ │ -00006a40: 207d 0a20 2020 2073 7765 6570 207b 206e }. sweep { n │ │ │ │ │ -00006a50: 5f63 6972 636c 655f 7365 6773 2c20 726f _circle_segs, ro │ │ │ │ │ -00006a60: 7461 7465 2833 3630 202f 206e 5f63 6972 tate(360 / n_cir │ │ │ │ │ -00006a70: 636c 655f 7365 6773 2c20 2872 5f6d 616a cle_segs, (r_maj │ │ │ │ │ -00006a80: 6f72 2c30 2c30 2929 207d 200a 2020 2020 or,0,0)) } . │ │ │ │ │ -00006a90: 2020 2872 5f6d 616a 6f72 202b 2072 5f6d (r_major + r_m │ │ │ │ │ -00006aa0: 696e 6f72 2c20 3029 0a20 2020 466f 7220 inor, 0). For │ │ │ │ │ -00006ab0: 696e 7475 6974 696f 6e2c 2074 6865 2069 intuition, the i │ │ │ │ │ -00006ac0: 6465 6120 6f66 2074 6865 2063 6f64 6520 dea of the code │ │ │ │ │ -00006ad0: 6973 2074 6f20 736b 6574 6368 2061 2063 is to sketch a c │ │ │ │ │ -00006ae0: 6972 636c 6520 746f 2074 6865 0a72 6967 ircle to the.rig │ │ │ │ │ -00006af0: 6874 206f 6620 7468 6520 6f72 6967 696e ht of the origin │ │ │ │ │ -00006b00: 2069 6e20 7468 6520 7879 2d70 6c61 6e65 in the xy-plane │ │ │ │ │ -00006b10: 2c20 7468 656e 2072 6f74 6174 6520 7468 , then rotate th │ │ │ │ │ -00006b20: 6174 2063 6972 636c 6520 226f 7574 206f at circle "out o │ │ │ │ │ -00006b30: 6620 7468 650a 706c 616e 6522 2061 626f f the.plane" abo │ │ │ │ │ -00006b40: 7574 2074 6865 2079 2d61 7869 7320 746f ut the y-axis to │ │ │ │ │ -00006b50: 206d 616b 6520 7468 6520 6669 6e61 6c20 make the final │ │ │ │ │ -00006b60: 6669 6775 7265 2e20 2054 6869 7320 7072 figure. This pr │ │ │ │ │ -00006b70: 6f64 7563 6573 2074 6865 0a66 6f6c 6c6f oduces the.follo │ │ │ │ │ -00006b80: 7769 6e67 2e20 2028 4120 7669 6577 2072 wing. (A view r │ │ │ │ │ -00006b90: 6f74 6174 696f 6e20 616e 6420 736f 6d65 otation and some │ │ │ │ │ -00006ba0: 2061 7865 7320 6861 7665 2062 6565 6e20 axes have been │ │ │ │ │ -00006bb0: 6164 6465 642e 290a 0a00 085b 696d 6167 added.)....[imag │ │ │ │ │ -00006bc0: 6520 7372 633d 2265 7830 3930 2e70 6e67 e src="ex090.png │ │ │ │ │ -00006bd0: 2220 7465 7874 3d22 496d 6167 6520 6578 " text="Image ex │ │ │ │ │ -00006be0: 3039 3020 6f6d 6974 7465 6420 696e 2074 090 omitted in t │ │ │ │ │ -00006bf0: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t │ │ │ │ │ -00006c00: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.".. │ │ │ │ │ -00006c10: 5d0a 0a20 2020 5468 6973 2065 7861 6d70 ].. This examp │ │ │ │ │ -00006c20: 6c65 2061 6c73 6f20 7368 6f77 7320 7468 le also shows th │ │ │ │ │ -00006c30: 6174 2074 6865 2073 7765 7074 206f 626a at the swept obj │ │ │ │ │ -00006c40: 6563 7420 6d61 7920 6974 7365 6c66 2062 ect may itself b │ │ │ │ │ -00006c50: 6520 616e 6f74 6865 720a e280 9873 7765 e another....swe │ │ │ │ │ -00006c60: 6570 e280 992e 2020 496e 2066 6163 742c ep.... In fact, │ │ │ │ │ -00006c70: 2069 7420 6d61 7920 6265 205f 616e 795f it may be _any_ │ │ │ │ │ -00006c80: 20e2 8098 736b 6574 6368 e280 9920 6578 ...sketch... ex │ │ │ │ │ -00006c90: 7072 6573 7369 6f6e 2074 6861 7420 7265 pression that re │ │ │ │ │ -00006ca0: 7375 6c74 7320 696e 2061 0a6c 6973 7420 sults in a.list │ │ │ │ │ -00006cb0: 6f66 206f 6e65 206f 7220 6d6f 7265 2070 of one or more p │ │ │ │ │ -00006cc0: 6f69 6e74 7320 6f72 2c20 616c 7465 726e oints or, altern │ │ │ │ │ -00006cd0: 6174 656c 792c 2061 206c 6973 7420 6f66 ately, a list of │ │ │ │ │ -00006ce0: 206f 6e65 206f 7220 6d6f 7265 0a70 6f6c one or more.pol │ │ │ │ │ -00006cf0: 796c 696e 6573 2061 6e64 2070 6f6c 7967 ylines and polyg │ │ │ │ │ -00006d00: 6f6e 732e 2020 5468 6520 6c61 7474 6572 ons. The latter │ │ │ │ │ -00006d10: 206b 696e 6420 6f66 206c 6973 7420 6361 kind of list ca │ │ │ │ │ -00006d20: 6e20 6265 2063 7265 6174 6564 2077 6974 n be created wit │ │ │ │ │ -00006d30: 6820 610a 7b20 7d2d 656e 636c 6f73 6564 h a.{ }-enclosed │ │ │ │ │ -00006d40: 2062 6c6f 636b 2c20 7065 7268 6170 7320 block, perhaps │ │ │ │ │ -00006d50: 666f 6c6c 6f77 696e 6720 6120 7075 7420 following a put │ │ │ │ │ -00006d60: 6f72 2072 6570 6561 742e 0a0a 1f0a 4669 or repeat.....Fi │ │ │ │ │ -00006d70: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00006d80: 2020 4e6f 6465 3a20 506f 6c79 676f 6e20 Node: Polygon │ │ │ │ │ -00006d90: 7377 6565 7073 2c20 204e 6578 743a 2050 sweeps, Next: P │ │ │ │ │ -00006da0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ -00006db0: 6974 6820 636c 6f73 7572 652c 2020 5072 ith closure, Pr │ │ │ │ │ -00006dc0: 6576 3a20 4e65 7374 6564 2073 7765 6570 ev: Nested sweep │ │ │ │ │ -00006dd0: 732c 2020 5570 3a20 5377 6570 7420 6f62 s, Up: Swept ob │ │ │ │ │ -00006de0: 6a65 6374 730a 0a32 2e37 2e34 2050 6f6c jects..2.7.4 Pol │ │ │ │ │ -00006df0: 7967 6f6e 2073 7765 6570 730a 2d2d 2d2d ygon sweeps.---- │ │ │ │ │ +000068e0: 2d2d 2d0a 0a57 6865 6e20 7468 6520 6365 ---..When the ce │ │ │ │ │ +000068f0: 6e74 6572 2070 6f69 6e74 206f 6620 726f nter point of ro │ │ │ │ │ +00006900: 7461 7469 6f6e 2069 7320 6f6d 6974 7465 tation is omitte │ │ │ │ │ +00006910: 642c 2074 6865 206f 7269 6769 6e20 6973 d, the origin is │ │ │ │ │ +00006920: 2061 7373 756d 6564 2e0a 5768 656e 2061 assumed..When a │ │ │ │ │ +00006930: 2070 6f69 6e74 2068 6173 206f 6e6c 7920 point has only │ │ │ │ │ +00006940: 7477 6f20 636f 6f72 6469 6e61 7465 732c two coordinates, │ │ │ │ │ +00006950: 2074 6865 7920 6172 6520 7461 6b65 6e20 they are taken │ │ │ │ │ +00006960: 6173 2078 2061 6e64 2079 2c20 7769 7468 as x and y, with │ │ │ │ │ +00006970: 0a7a 3d30 2061 7373 756d 6564 2e20 2041 .z=0 assumed. A │ │ │ │ │ +00006980: 2074 6f72 6f69 6420 6973 2074 6865 7265 toroid is there │ │ │ │ │ +00006990: 666f 7265 206f 6274 6169 6e65 6420 7769 fore obtained wi │ │ │ │ │ +000069a0: 7468 2074 6869 7320 636f 6465 2e0a 2020 th this code.. │ │ │ │ │ +000069b0: 6465 6620 6e5f 746f 726f 6964 5f73 6567 def n_toroid_seg │ │ │ │ │ +000069c0: 7320 3230 2020 2064 6566 206e 5f63 6972 s 20 def n_cir │ │ │ │ │ +000069d0: 636c 655f 7365 6773 2031 360a 2020 6465 cle_segs 16. de │ │ │ │ │ +000069e0: 6620 725f 6d69 6e6f 7220 3120 2020 2020 f r_minor 1 │ │ │ │ │ +000069f0: 2020 2020 2064 6566 2072 5f6d 616a 6f72 def r_major │ │ │ │ │ +00006a00: 2031 2e35 0a20 2073 7765 6570 207b 206e 1.5. sweep { n │ │ │ │ │ +00006a10: 5f74 6f72 6f69 645f 7365 6773 2c20 726f _toroid_segs, ro │ │ │ │ │ +00006a20: 7461 7465 2833 3630 202f 206e 5f74 6f72 tate(360 / n_tor │ │ │ │ │ +00006a30: 6f69 645f 7365 6773 2c20 5b30 2c31 2c30 oid_segs, [0,1,0 │ │ │ │ │ +00006a40: 5d29 207d 0a20 2020 2073 7765 6570 207b ]) }. sweep { │ │ │ │ │ +00006a50: 206e 5f63 6972 636c 655f 7365 6773 2c20 n_circle_segs, │ │ │ │ │ +00006a60: 726f 7461 7465 2833 3630 202f 206e 5f63 rotate(360 / n_c │ │ │ │ │ +00006a70: 6972 636c 655f 7365 6773 2c20 2872 5f6d ircle_segs, (r_m │ │ │ │ │ +00006a80: 616a 6f72 2c30 2c30 2929 207d 200a 2020 ajor,0,0)) } . │ │ │ │ │ +00006a90: 2020 2020 2872 5f6d 616a 6f72 202b 2072 (r_major + r │ │ │ │ │ +00006aa0: 5f6d 696e 6f72 2c20 3029 0a20 2020 466f _minor, 0). Fo │ │ │ │ │ +00006ab0: 7220 696e 7475 6974 696f 6e2c 2074 6865 r intuition, the │ │ │ │ │ +00006ac0: 2069 6465 6120 6f66 2074 6865 2063 6f64 idea of the cod │ │ │ │ │ +00006ad0: 6520 6973 2074 6f20 736b 6574 6368 2061 e is to sketch a │ │ │ │ │ +00006ae0: 2063 6972 636c 6520 746f 2074 6865 0a72 circle to the.r │ │ │ │ │ +00006af0: 6967 6874 206f 6620 7468 6520 6f72 6967 ight of the orig │ │ │ │ │ +00006b00: 696e 2069 6e20 7468 6520 7879 2d70 6c61 in in the xy-pla │ │ │ │ │ +00006b10: 6e65 2c20 7468 656e 2072 6f74 6174 6520 ne, then rotate │ │ │ │ │ +00006b20: 7468 6174 2063 6972 636c 6520 226f 7574 that circle "out │ │ │ │ │ +00006b30: 206f 6620 7468 650a 706c 616e 6522 2061 of the.plane" a │ │ │ │ │ +00006b40: 626f 7574 2074 6865 2079 2d61 7869 7320 bout the y-axis │ │ │ │ │ +00006b50: 746f 206d 616b 6520 7468 6520 6669 6e61 to make the fina │ │ │ │ │ +00006b60: 6c20 6669 6775 7265 2e20 2054 6869 7320 l figure. This │ │ │ │ │ +00006b70: 7072 6f64 7563 6573 2074 6865 0a66 6f6c produces the.fol │ │ │ │ │ +00006b80: 6c6f 7769 6e67 2e20 2028 4120 7669 6577 lowing. (A view │ │ │ │ │ +00006b90: 2072 6f74 6174 696f 6e20 616e 6420 736f rotation and so │ │ │ │ │ +00006ba0: 6d65 2061 7865 7320 6861 7665 2062 6565 me axes have bee │ │ │ │ │ +00006bb0: 6e20 6164 6465 642e 290a 0a00 085b 696d n added.)....[im │ │ │ │ │ +00006bc0: 6167 6520 7372 633d 2265 7830 3930 2e70 age src="ex090.p │ │ │ │ │ +00006bd0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng" text="Image │ │ │ │ │ +00006be0: 6578 3039 3020 6f6d 6974 7465 6420 696e ex090 omitted in │ │ │ │ │ +00006bf0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of │ │ │ │ │ +00006c00: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document." │ │ │ │ │ +00006c10: 0008 5d0a 0a20 2020 5468 6973 2065 7861 ..].. This exa │ │ │ │ │ +00006c20: 6d70 6c65 2061 6c73 6f20 7368 6f77 7320 mple also shows │ │ │ │ │ +00006c30: 7468 6174 2074 6865 2073 7765 7074 206f that the swept o │ │ │ │ │ +00006c40: 626a 6563 7420 6d61 7920 6974 7365 6c66 bject may itself │ │ │ │ │ +00006c50: 2062 6520 616e 6f74 6865 720a e280 9873 be another....s │ │ │ │ │ +00006c60: 7765 6570 e280 992e 2020 496e 2066 6163 weep.... In fac │ │ │ │ │ +00006c70: 742c 2069 7420 6d61 7920 6265 205f 616e t, it may be _an │ │ │ │ │ +00006c80: 795f 20e2 8098 736b 6574 6368 e280 9920 y_ ...sketch... │ │ │ │ │ +00006c90: 6578 7072 6573 7369 6f6e 2074 6861 7420 expression that │ │ │ │ │ +00006ca0: 7265 7375 6c74 7320 696e 2061 0a6c 6973 results in a.lis │ │ │ │ │ +00006cb0: 7420 6f66 206f 6e65 206f 7220 6d6f 7265 t of one or more │ │ │ │ │ +00006cc0: 2070 6f69 6e74 7320 6f72 2c20 616c 7465 points or, alte │ │ │ │ │ +00006cd0: 726e 6174 656c 792c 2061 206c 6973 7420 rnately, a list │ │ │ │ │ +00006ce0: 6f66 206f 6e65 206f 7220 6d6f 7265 0a70 of one or more.p │ │ │ │ │ +00006cf0: 6f6c 796c 696e 6573 2061 6e64 2070 6f6c olylines and pol │ │ │ │ │ +00006d00: 7967 6f6e 732e 2020 5468 6520 6c61 7474 ygons. The latt │ │ │ │ │ +00006d10: 6572 206b 696e 6420 6f66 206c 6973 7420 er kind of list │ │ │ │ │ +00006d20: 6361 6e20 6265 2063 7265 6174 6564 2077 can be created w │ │ │ │ │ +00006d30: 6974 6820 610a 7b20 7d2d 656e 636c 6f73 ith a.{ }-enclos │ │ │ │ │ +00006d40: 6564 2062 6c6f 636b 2c20 7065 7268 6170 ed block, perhap │ │ │ │ │ +00006d50: 7320 666f 6c6c 6f77 696e 6720 6120 7075 s following a pu │ │ │ │ │ +00006d60: 7420 6f72 2072 6570 6561 742e 0a0a 1f0a t or repeat..... │ │ │ │ │ +00006d70: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00006d80: 6f2c 2020 4e6f 6465 3a20 506f 6c79 676f o, Node: Polygo │ │ │ │ │ +00006d90: 6e20 7377 6565 7073 2c20 204e 6578 743a n sweeps, Next: │ │ │ │ │ +00006da0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ +00006db0: 2077 6974 6820 636c 6f73 7572 652c 2020 with closure, │ │ │ │ │ +00006dc0: 5072 6576 3a20 4e65 7374 6564 2073 7765 Prev: Nested swe │ │ │ │ │ +00006dd0: 6570 732c 2020 5570 3a20 5377 6570 7420 eps, Up: Swept │ │ │ │ │ +00006de0: 6f62 6a65 6374 730a 0a32 2e37 2e34 2050 objects..2.7.4 P │ │ │ │ │ +00006df0: 6f6c 7967 6f6e 2073 7765 6570 730a 2d2d olygon sweeps.-- │ │ │ │ │ 00006e00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00006e10: 0a0a 5377 6565 7069 6e67 2061 2070 6f6c ..Sweeping a pol │ │ │ │ │ -00006e20: 7967 6f6e 2063 7265 6174 6573 2061 2063 ygon creates a c │ │ │ │ │ -00006e30: 6c6f 7365 6420 7375 7266 6163 6520 7769 losed surface wi │ │ │ │ │ -00006e40: 7468 2070 6f6c 7967 6f6e 7320 6174 2074 th polygons at t │ │ │ │ │ -00006e50: 6865 2065 6e64 732c 0a77 6869 6368 2061 he ends,.which a │ │ │ │ │ -00006e60: 7265 206a 7573 7420 636f 7069 6573 206f re just copies o │ │ │ │ │ -00006e70: 6620 7468 6520 6f72 6967 696e 616c 2c20 f the original, │ │ │ │ │ -00006e80: 6170 7072 6f70 7269 6174 656c 7920 706f appropriately po │ │ │ │ │ -00006e90: 7369 7469 6f6e 6564 2e20 202a 4e6f 7465 sitioned. *Note │ │ │ │ │ -00006ea0: 0a53 6f6c 6964 2063 6f69 6c20 6578 616d .Solid coil exam │ │ │ │ │ -00006eb0: 706c 653a 3a2e 2020 4f70 7469 6f6e 7320 ple::. Options │ │ │ │ │ -00006ec0: 6f6e 2074 6865 2073 7765 7074 2070 6f6c on the swept pol │ │ │ │ │ -00006ed0: 7967 6f6e 2c20 6966 2074 6865 7920 6578 ygon, if they ex │ │ │ │ │ -00006ee0: 6973 742c 2061 7265 0a61 7070 6c69 6564 ist, are.applied │ │ │ │ │ -00006ef0: 2074 6f20 7468 6520 656e 6473 2e20 204f to the ends. O │ │ │ │ │ -00006f00: 7468 6572 7769 7365 2074 6865 2073 7765 therwise the swe │ │ │ │ │ -00006f10: 6570 206f 7074 696f 6e73 2061 7265 2075 ep options are u │ │ │ │ │ -00006f20: 7365 6420 7468 726f 7567 686f 7574 2e0a sed throughout.. │ │ │ │ │ -00006f30: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -00006f40: 696e 666f 2c20 204e 6f64 653a 2050 6f6c info, Node: Pol │ │ │ │ │ -00006f50: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ -00006f60: 6820 636c 6f73 7572 652c 2020 4e65 7874 h closure, Next │ │ │ │ │ -00006f70: 3a20 4166 6669 6e65 2061 7269 7468 6d65 : Affine arithme │ │ │ │ │ -00006f80: 7469 632c 2020 5072 6576 3a20 506f 6c79 tic, Prev: Poly │ │ │ │ │ -00006f90: 676f 6e20 7377 6565 7073 2c20 2055 703a gon sweeps, Up: │ │ │ │ │ -00006fa0: 2053 7765 7074 206f 626a 6563 7473 0a0a Swept objects.. │ │ │ │ │ -00006fb0: 322e 372e 3520 506f 6c79 6c69 6e65 2073 2.7.5 Polyline s │ │ │ │ │ -00006fc0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ -00006fd0: 7265 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re.------------- │ │ │ │ │ +00006e10: 2d2d 0a0a 5377 6565 7069 6e67 2061 2070 --..Sweeping a p │ │ │ │ │ +00006e20: 6f6c 7967 6f6e 2063 7265 6174 6573 2061 olygon creates a │ │ │ │ │ +00006e30: 2063 6c6f 7365 6420 7375 7266 6163 6520 closed surface │ │ │ │ │ +00006e40: 7769 7468 2070 6f6c 7967 6f6e 7320 6174 with polygons at │ │ │ │ │ +00006e50: 2074 6865 2065 6e64 732c 0a77 6869 6368 the ends,.which │ │ │ │ │ +00006e60: 2061 7265 206a 7573 7420 636f 7069 6573 are just copies │ │ │ │ │ +00006e70: 206f 6620 7468 6520 6f72 6967 696e 616c of the original │ │ │ │ │ +00006e80: 2c20 6170 7072 6f70 7269 6174 656c 7920 , appropriately │ │ │ │ │ +00006e90: 706f 7369 7469 6f6e 6564 2e20 202a 4e6f positioned. *No │ │ │ │ │ +00006ea0: 7465 0a53 6f6c 6964 2063 6f69 6c20 6578 te.Solid coil ex │ │ │ │ │ +00006eb0: 616d 706c 653a 3a2e 2020 4f70 7469 6f6e ample::. Option │ │ │ │ │ +00006ec0: 7320 6f6e 2074 6865 2073 7765 7074 2070 s on the swept p │ │ │ │ │ +00006ed0: 6f6c 7967 6f6e 2c20 6966 2074 6865 7920 olygon, if they │ │ │ │ │ +00006ee0: 6578 6973 742c 2061 7265 0a61 7070 6c69 exist, are.appli │ │ │ │ │ +00006ef0: 6564 2074 6f20 7468 6520 656e 6473 2e20 ed to the ends. │ │ │ │ │ +00006f00: 204f 7468 6572 7769 7365 2074 6865 2073 Otherwise the s │ │ │ │ │ +00006f10: 7765 6570 206f 7074 696f 6e73 2061 7265 weep options are │ │ │ │ │ +00006f20: 2075 7365 6420 7468 726f 7567 686f 7574 used throughout │ │ │ │ │ +00006f30: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +00006f40: 682e 696e 666f 2c20 204e 6f64 653a 2050 h.info, Node: P │ │ │ │ │ +00006f50: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ +00006f60: 6974 6820 636c 6f73 7572 652c 2020 4e65 ith closure, Ne │ │ │ │ │ +00006f70: 7874 3a20 4166 6669 6e65 2061 7269 7468 xt: Affine arith │ │ │ │ │ +00006f80: 6d65 7469 632c 2020 5072 6576 3a20 506f metic, Prev: Po │ │ │ │ │ +00006f90: 6c79 676f 6e20 7377 6565 7073 2c20 2055 lygon sweeps, U │ │ │ │ │ +00006fa0: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects │ │ │ │ │ +00006fb0: 0a0a 322e 372e 3520 506f 6c79 6c69 6e65 ..2.7.5 Polyline │ │ │ │ │ +00006fc0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ +00006fd0: 7375 7265 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d sure.----------- │ │ │ │ │ 00006fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00006ff0: 2d2d 2d2d 2d0a 0a41 2070 6f6c 796c 696e -----..A polylin │ │ │ │ │ -00007000: 6520 7377 6565 7020 7769 7468 2061 2063 e sweep with a c │ │ │ │ │ -00007010: 6c6f 7375 7265 2074 6167 2063 7265 6174 losure tag creat │ │ │ │ │ -00007020: 6573 2061 6e6f 7468 6572 206b 696e 6420 es another kind │ │ │ │ │ -00007030: 6f66 2063 6c6f 7365 640a 7375 7266 6163 of closed.surfac │ │ │ │ │ -00007040: 652e 2020 4669 7273 742c 2074 6865 2070 e. First, the p │ │ │ │ │ -00007050: 6f6c 796c 696e 6520 7365 676d 656e 7473 olyline segments │ │ │ │ │ -00007060: 2061 7265 2063 6f6e 6e65 6374 6564 2062 are connected b │ │ │ │ │ -00007070: 7920 6661 6365 732c 206a 7573 7420 6173 y faces, just as │ │ │ │ │ -00007080: 0a77 6974 686f 7574 2074 6865 2063 6c6f .without the clo │ │ │ │ │ -00007090: 7375 7265 2074 6167 2e20 2054 6865 6e2c sure tag. Then, │ │ │ │ │ -000070a0: 2065 6163 6820 7365 7420 6f66 2065 6e64 each set of end │ │ │ │ │ -000070b0: 2070 6f69 6e74 7320 6973 206a 6f69 6e65 points is joine │ │ │ │ │ -000070c0: 6420 746f 206d 616b 650a 6120 706f 6c79 d to make.a poly │ │ │ │ │ -000070d0: 676f 6e2c 206f 6e65 2066 6f72 2065 6163 gon, one for eac │ │ │ │ │ -000070e0: 6820 656e 642e 2020 4120 636f 6465 2066 h end. A code f │ │ │ │ │ -000070f0: 6f72 2073 6576 6572 616c 2076 6965 7773 or several views │ │ │ │ │ -00007100: 206f 6620 6120 6379 6c69 6e64 7269 6361 of a cylindrica │ │ │ │ │ -00007110: 6c0a 7072 6973 6d20 666f 6c6c 6f77 732e l.prism follows. │ │ │ │ │ -00007120: 0a20 2064 6566 206e 5f63 796c 5f73 6567 . def n_cyl_seg │ │ │ │ │ -00007130: 7320 3230 2020 6465 6620 6e5f 7669 6577 s 20 def n_view │ │ │ │ │ -00007140: 7320 3520 2064 6566 2049 205b 312c 302c s 5 def I [1,0, │ │ │ │ │ -00007150: 305d 0a20 2064 6566 2065 6e64 6f70 7473 0]. def endopts │ │ │ │ │ -00007160: 205b 6669 6c6c 636f 6c6f 723d 6c69 6768 [fillcolor=ligh │ │ │ │ │ -00007170: 7467 7261 795d 0a20 2072 6570 6561 7420 tgray]. repeat │ │ │ │ │ -00007180: 7b20 6e5f 7669 6577 732c 2072 6f74 6174 { n_views, rotat │ │ │ │ │ -00007190: 6528 3138 302f 6e5f 7669 6577 732c 205b e(180/n_views, [ │ │ │ │ │ -000071a0: 495d 2920 7468 656e 2074 7261 6e73 6c61 I]) then transla │ │ │ │ │ -000071b0: 7465 285b 495d 202a 2032 2e31 2920 7d20 te([I] * 2.1) } │ │ │ │ │ -000071c0: 0a20 2020 2073 7765 6570 5b65 6e64 6f70 . sweep[endop │ │ │ │ │ -000071d0: 7473 5d7b 206e 5f63 796c 5f73 6567 733c ts]{ n_cyl_segs< │ │ │ │ │ -000071e0: 3e2c 2072 6f74 6174 6528 3336 302f 6e5f >, rotate(360/n_ │ │ │ │ │ -000071f0: 6379 6c5f 7365 6773 2c20 5b30 2c31 2c30 cyl_segs, [0,1,0 │ │ │ │ │ -00007200: 5d29 207d 200a 2020 2020 2020 6c69 6e65 ]) } . line │ │ │ │ │ -00007210: 5b66 696c 6c63 6f6c 6f72 3d77 6869 7465 [fillcolor=white │ │ │ │ │ -00007220: 5d28 312c 2d31 2928 312c 3129 0a49 7420 ](1,-1)(1,1).It │ │ │ │ │ -00007230: 7072 6f64 7563 6573 2074 6869 7320 6472 produces this dr │ │ │ │ │ -00007240: 6177 696e 672e 0a0a 0008 5b69 6d61 6765 awing.....[image │ │ │ │ │ -00007250: 2073 7263 3d22 6578 3131 302e 706e 6722 src="ex110.png" │ │ │ │ │ -00007260: 2074 6578 743d 2249 6d61 6765 2065 7831 text="Image ex1 │ │ │ │ │ -00007270: 3130 206f 6d69 7474 6564 2069 6e20 7465 10 omitted in te │ │ │ │ │ -00007280: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00007290: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -000072a0: 0a0a 5468 6520 6f70 7469 6f6e 7320 6f66 ..The options of │ │ │ │ │ -000072b0: 2074 6865 2073 7765 7074 206c 696e 652c the swept line, │ │ │ │ │ -000072c0: 2069 6620 616e 792c 2061 7265 2061 7070 if any, are app │ │ │ │ │ -000072d0: 6c69 6564 2074 6f20 7468 6520 6661 6365 lied to the face │ │ │ │ │ -000072e0: 7320 7072 6f64 7563 6564 0a62 7920 7377 s produced.by sw │ │ │ │ │ -000072f0: 6565 7069 6e67 2074 6865 206c 696e 652c eeping the line, │ │ │ │ │ -00007300: 2062 7574 206e 6f74 2074 6865 2065 6e64 but not the end │ │ │ │ │ -00007310: 2070 6f6c 7967 6f6e 732e 2020 4f74 6865 polygons. Othe │ │ │ │ │ -00007320: 7277 6973 652c 2074 6865 2073 7765 6570 rwise, the sweep │ │ │ │ │ -00007330: 0a6f 7074 696f 6e73 2061 7265 2061 7070 .options are app │ │ │ │ │ -00007340: 6c69 6564 2074 6872 6f75 6768 6f75 742e lied throughout. │ │ │ │ │ -00007350: 2020 5468 6520 6465 6620 696e 2074 6869 The def in thi │ │ │ │ │ -00007360: 7320 6578 616d 706c 6520 6973 2061 6e20 s example is an │ │ │ │ │ -00007370: e280 9c6f 7074 696f 6ee2 809d 0a64 6566 ...option....def │ │ │ │ │ -00007380: 696e 6974 696f 6e2e 2020 5265 6665 7265 inition. Refere │ │ │ │ │ -00007390: 6e63 6573 2074 6f20 6f70 7469 6f6e 7320 nces to options │ │ │ │ │ -000073a0: 6d75 7374 2062 6520 656e 636c 6f73 6564 must be enclosed │ │ │ │ │ -000073b0: 2069 6e20 7371 7561 7265 2062 7261 636b in square brack │ │ │ │ │ -000073c0: 6574 732c 0a65 2e67 2e20 2020 5b66 6f6f ets,.e.g. [foo │ │ │ │ │ -000073d0: 5d2e 2020 596f 7520 6361 6e20 636f 6e63 ]. You can conc │ │ │ │ │ -000073e0: 6174 656e 6174 6520 7365 7665 7261 6c20 atenate several │ │ │ │ │ -000073f0: 7365 7473 206f 6620 6f70 7469 6f6e 7320 sets of options │ │ │ │ │ -00007400: 7769 7468 2061 2073 696e 676c 650a 7265 with a single.re │ │ │ │ │ -00007410: 6665 7265 6e63 652c 2065 2e67 2e20 2020 ference, e.g. │ │ │ │ │ -00007420: 5b63 6f6c 6f72 2c20 7369 7a65 2c20 7374 [color, size, st │ │ │ │ │ -00007430: 796c 655d 2020 776f 756c 6420 6361 7573 yle] would caus │ │ │ │ │ -00007440: 6520 7468 6520 6f70 7469 6f6e 0a64 6566 e the option.def │ │ │ │ │ -00007450: 696e 6974 696f 6e73 2066 6f72 20e2 8098 initions for ... │ │ │ │ │ -00007460: 636f 6c6f 72e2 8099 2c20 e280 9873 697a color..., ...siz │ │ │ │ │ -00007470: 65e2 8099 2c20 616e 6420 e280 9873 7479 e..., and ...sty │ │ │ │ │ -00007480: 6c65 e280 9920 746f 2061 7070 6561 7220 le... to appear │ │ │ │ │ -00007490: 696e 2073 6571 7565 6e63 6520 696e 0a74 in sequence in.t │ │ │ │ │ -000074a0: 6865 206f 7574 7075 7420 6372 6561 7465 he output create │ │ │ │ │ -000074b0: 6420 6279 2074 6865 20e2 8098 736b 6574 d by the ...sket │ │ │ │ │ -000074c0: 6368 e280 9920 636f 6d6d 616e 6420 636f ch... command co │ │ │ │ │ -000074d0: 6e74 6169 6e69 6e67 2074 6865 2072 6566 ntaining the ref │ │ │ │ │ -000074e0: 6572 656e 6365 2e0a 4861 7070 696c 792c erence..Happily, │ │ │ │ │ -000074f0: 2074 6865 2073 796e 7461 7820 6f66 20e2 the syntax of . │ │ │ │ │ -00007500: 8098 736b 6574 6368 e280 9920 6973 2073 ..sketch... is s │ │ │ │ │ -00007510: 7563 6820 7468 6174 206f 7074 696f 6e73 uch that options │ │ │ │ │ -00007520: 2072 6566 6572 656e 6365 7320 6361 6e0a references can. │ │ │ │ │ -00007530: 6e65 7665 7220 6265 2063 6f6e 6675 7365 never be confuse │ │ │ │ │ -00007540: 6420 7769 7468 2076 6563 746f 7220 7265 d with vector re │ │ │ │ │ -00007550: 6665 7265 6e63 6573 2e20 2057 6869 6c65 ferences. While │ │ │ │ │ -00007560: 206e 6f74 2061 7070 6172 656e 7420 696e not apparent in │ │ │ │ │ -00007570: 2074 6869 730a 6578 616d 706c 652c 206f this.example, o │ │ │ │ │ -00007580: 7074 696f 6e73 2072 6566 6572 656e 6365 ptions reference │ │ │ │ │ -00007590: 7320 6172 6520 7573 6566 756c 2077 6865 s are useful whe │ │ │ │ │ -000075a0: 6e20 6465 6669 6e69 6e67 206d 616e 7920 n defining many │ │ │ │ │ -000075b0: 6f62 6a65 6374 7320 7769 7468 2061 0a73 objects with a.s │ │ │ │ │ -000075c0: 696d 696c 6172 2061 7070 6561 7261 6e63 imilar appearanc │ │ │ │ │ -000075d0: 652e 0a0a 1f0a 4669 6c65 3a20 736b 6574 e.....File: sket │ │ │ │ │ -000075e0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -000075f0: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ -00007600: 632c 2020 4e65 7874 3a20 4d6f 7265 2074 c, Next: More t │ │ │ │ │ -00007610: 6f20 6c65 6172 6e2c 2020 5072 6576 3a20 o learn, Prev: │ │ │ │ │ -00007620: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ -00007630: 7769 7468 2063 6c6f 7375 7265 2c20 2055 with closure, U │ │ │ │ │ -00007640: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects │ │ │ │ │ -00007650: 0a0a 322e 372e 3620 4166 6669 6e65 2061 ..2.7.6 Affine a │ │ │ │ │ -00007660: 7269 7468 6d65 7469 630a 2d2d 2d2d 2d2d rithmetic.------ │ │ │ │ │ +00006ff0: 2d2d 2d2d 2d2d 2d0a 0a41 2070 6f6c 796c -------..A polyl │ │ │ │ │ +00007000: 696e 6520 7377 6565 7020 7769 7468 2061 ine sweep with a │ │ │ │ │ +00007010: 2063 6c6f 7375 7265 2074 6167 2063 7265 closure tag cre │ │ │ │ │ +00007020: 6174 6573 2061 6e6f 7468 6572 206b 696e ates another kin │ │ │ │ │ +00007030: 6420 6f66 2063 6c6f 7365 640a 7375 7266 d of closed.surf │ │ │ │ │ +00007040: 6163 652e 2020 4669 7273 742c 2074 6865 ace. First, the │ │ │ │ │ +00007050: 2070 6f6c 796c 696e 6520 7365 676d 656e polyline segmen │ │ │ │ │ +00007060: 7473 2061 7265 2063 6f6e 6e65 6374 6564 ts are connected │ │ │ │ │ +00007070: 2062 7920 6661 6365 732c 206a 7573 7420 by faces, just │ │ │ │ │ +00007080: 6173 0a77 6974 686f 7574 2074 6865 2063 as.without the c │ │ │ │ │ +00007090: 6c6f 7375 7265 2074 6167 2e20 2054 6865 losure tag. The │ │ │ │ │ +000070a0: 6e2c 2065 6163 6820 7365 7420 6f66 2065 n, each set of e │ │ │ │ │ +000070b0: 6e64 2070 6f69 6e74 7320 6973 206a 6f69 nd points is joi │ │ │ │ │ +000070c0: 6e65 6420 746f 206d 616b 650a 6120 706f ned to make.a po │ │ │ │ │ +000070d0: 6c79 676f 6e2c 206f 6e65 2066 6f72 2065 lygon, one for e │ │ │ │ │ +000070e0: 6163 6820 656e 642e 2020 4120 636f 6465 ach end. A code │ │ │ │ │ +000070f0: 2066 6f72 2073 6576 6572 616c 2076 6965 for several vie │ │ │ │ │ +00007100: 7773 206f 6620 6120 6379 6c69 6e64 7269 ws of a cylindri │ │ │ │ │ +00007110: 6361 6c0a 7072 6973 6d20 666f 6c6c 6f77 cal.prism follow │ │ │ │ │ +00007120: 732e 0a20 2064 6566 206e 5f63 796c 5f73 s.. def n_cyl_s │ │ │ │ │ +00007130: 6567 7320 3230 2020 6465 6620 6e5f 7669 egs 20 def n_vi │ │ │ │ │ +00007140: 6577 7320 3520 2064 6566 2049 205b 312c ews 5 def I [1, │ │ │ │ │ +00007150: 302c 305d 0a20 2064 6566 2065 6e64 6f70 0,0]. def endop │ │ │ │ │ +00007160: 7473 205b 6669 6c6c 636f 6c6f 723d 6c69 ts [fillcolor=li │ │ │ │ │ +00007170: 6768 7467 7261 795d 0a20 2072 6570 6561 ghtgray]. repea │ │ │ │ │ +00007180: 7420 7b20 6e5f 7669 6577 732c 2072 6f74 t { n_views, rot │ │ │ │ │ +00007190: 6174 6528 3138 302f 6e5f 7669 6577 732c ate(180/n_views, │ │ │ │ │ +000071a0: 205b 495d 2920 7468 656e 2074 7261 6e73 [I]) then trans │ │ │ │ │ +000071b0: 6c61 7465 285b 495d 202a 2032 2e31 2920 late([I] * 2.1) │ │ │ │ │ +000071c0: 7d20 0a20 2020 2073 7765 6570 5b65 6e64 } . sweep[end │ │ │ │ │ +000071d0: 6f70 7473 5d7b 206e 5f63 796c 5f73 6567 opts]{ n_cyl_seg │ │ │ │ │ +000071e0: 733c 3e2c 2072 6f74 6174 6528 3336 302f s<>, rotate(360/ │ │ │ │ │ +000071f0: 6e5f 6379 6c5f 7365 6773 2c20 5b30 2c31 n_cyl_segs, [0,1 │ │ │ │ │ +00007200: 2c30 5d29 207d 200a 2020 2020 2020 6c69 ,0]) } . li │ │ │ │ │ +00007210: 6e65 5b66 696c 6c63 6f6c 6f72 3d77 6869 ne[fillcolor=whi │ │ │ │ │ +00007220: 7465 5d28 312c 2d31 2928 312c 3129 0a49 te](1,-1)(1,1).I │ │ │ │ │ +00007230: 7420 7072 6f64 7563 6573 2074 6869 7320 t produces this │ │ │ │ │ +00007240: 6472 6177 696e 672e 0a0a 0008 5b69 6d61 drawing.....[ima │ │ │ │ │ +00007250: 6765 2073 7263 3d22 6578 3131 302e 706e ge src="ex110.pn │ │ │ │ │ +00007260: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ +00007270: 7831 3130 206f 6d69 7474 6564 2069 6e20 x110 omitted in │ │ │ │ │ +00007280: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +00007290: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +000072a0: 085d 0a0a 5468 6520 6f70 7469 6f6e 7320 .]..The options │ │ │ │ │ +000072b0: 6f66 2074 6865 2073 7765 7074 206c 696e of the swept lin │ │ │ │ │ +000072c0: 652c 2069 6620 616e 792c 2061 7265 2061 e, if any, are a │ │ │ │ │ +000072d0: 7070 6c69 6564 2074 6f20 7468 6520 6661 pplied to the fa │ │ │ │ │ +000072e0: 6365 7320 7072 6f64 7563 6564 0a62 7920 ces produced.by │ │ │ │ │ +000072f0: 7377 6565 7069 6e67 2074 6865 206c 696e sweeping the lin │ │ │ │ │ +00007300: 652c 2062 7574 206e 6f74 2074 6865 2065 e, but not the e │ │ │ │ │ +00007310: 6e64 2070 6f6c 7967 6f6e 732e 2020 4f74 nd polygons. Ot │ │ │ │ │ +00007320: 6865 7277 6973 652c 2074 6865 2073 7765 herwise, the swe │ │ │ │ │ +00007330: 6570 0a6f 7074 696f 6e73 2061 7265 2061 ep.options are a │ │ │ │ │ +00007340: 7070 6c69 6564 2074 6872 6f75 6768 6f75 pplied throughou │ │ │ │ │ +00007350: 742e 2020 5468 6520 6465 6620 696e 2074 t. The def in t │ │ │ │ │ +00007360: 6869 7320 6578 616d 706c 6520 6973 2061 his example is a │ │ │ │ │ +00007370: 6e20 e280 9c6f 7074 696f 6ee2 809d 0a64 n ...option....d │ │ │ │ │ +00007380: 6566 696e 6974 696f 6e2e 2020 5265 6665 efinition. Refe │ │ │ │ │ +00007390: 7265 6e63 6573 2074 6f20 6f70 7469 6f6e rences to option │ │ │ │ │ +000073a0: 7320 6d75 7374 2062 6520 656e 636c 6f73 s must be enclos │ │ │ │ │ +000073b0: 6564 2069 6e20 7371 7561 7265 2062 7261 ed in square bra │ │ │ │ │ +000073c0: 636b 6574 732c 0a65 2e67 2e20 2020 5b66 ckets,.e.g. [f │ │ │ │ │ +000073d0: 6f6f 5d2e 2020 596f 7520 6361 6e20 636f oo]. You can co │ │ │ │ │ +000073e0: 6e63 6174 656e 6174 6520 7365 7665 7261 ncatenate severa │ │ │ │ │ +000073f0: 6c20 7365 7473 206f 6620 6f70 7469 6f6e l sets of option │ │ │ │ │ +00007400: 7320 7769 7468 2061 2073 696e 676c 650a s with a single. │ │ │ │ │ +00007410: 7265 6665 7265 6e63 652c 2065 2e67 2e20 reference, e.g. │ │ │ │ │ +00007420: 2020 5b63 6f6c 6f72 2c20 7369 7a65 2c20 [color, size, │ │ │ │ │ +00007430: 7374 796c 655d 2020 776f 756c 6420 6361 style] would ca │ │ │ │ │ +00007440: 7573 6520 7468 6520 6f70 7469 6f6e 0a64 use the option.d │ │ │ │ │ +00007450: 6566 696e 6974 696f 6e73 2066 6f72 20e2 efinitions for . │ │ │ │ │ +00007460: 8098 636f 6c6f 72e2 8099 2c20 e280 9873 ..color..., ...s │ │ │ │ │ +00007470: 697a 65e2 8099 2c20 616e 6420 e280 9873 ize..., and ...s │ │ │ │ │ +00007480: 7479 6c65 e280 9920 746f 2061 7070 6561 tyle... to appea │ │ │ │ │ +00007490: 7220 696e 2073 6571 7565 6e63 6520 696e r in sequence in │ │ │ │ │ +000074a0: 0a74 6865 206f 7574 7075 7420 6372 6561 .the output crea │ │ │ │ │ +000074b0: 7465 6420 6279 2074 6865 20e2 8098 736b ted by the ...sk │ │ │ │ │ +000074c0: 6574 6368 e280 9920 636f 6d6d 616e 6420 etch... command │ │ │ │ │ +000074d0: 636f 6e74 6169 6e69 6e67 2074 6865 2072 containing the r │ │ │ │ │ +000074e0: 6566 6572 656e 6365 2e0a 4861 7070 696c eference..Happil │ │ │ │ │ +000074f0: 792c 2074 6865 2073 796e 7461 7820 6f66 y, the syntax of │ │ │ │ │ +00007500: 20e2 8098 736b 6574 6368 e280 9920 6973 ...sketch... is │ │ │ │ │ +00007510: 2073 7563 6820 7468 6174 206f 7074 696f such that optio │ │ │ │ │ +00007520: 6e73 2072 6566 6572 656e 6365 7320 6361 ns references ca │ │ │ │ │ +00007530: 6e0a 6e65 7665 7220 6265 2063 6f6e 6675 n.never be confu │ │ │ │ │ +00007540: 7365 6420 7769 7468 2076 6563 746f 7220 sed with vector │ │ │ │ │ +00007550: 7265 6665 7265 6e63 6573 2e20 2057 6869 references. Whi │ │ │ │ │ +00007560: 6c65 206e 6f74 2061 7070 6172 656e 7420 le not apparent │ │ │ │ │ +00007570: 696e 2074 6869 730a 6578 616d 706c 652c in this.example, │ │ │ │ │ +00007580: 206f 7074 696f 6e73 2072 6566 6572 656e options referen │ │ │ │ │ +00007590: 6365 7320 6172 6520 7573 6566 756c 2077 ces are useful w │ │ │ │ │ +000075a0: 6865 6e20 6465 6669 6e69 6e67 206d 616e hen defining man │ │ │ │ │ +000075b0: 7920 6f62 6a65 6374 7320 7769 7468 2061 y objects with a │ │ │ │ │ +000075c0: 0a73 696d 696c 6172 2061 7070 6561 7261 .similar appeara │ │ │ │ │ +000075d0: 6e63 652e 0a0a 1f0a 4669 6c65 3a20 736b nce.....File: sk │ │ │ │ │ +000075e0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +000075f0: 3a20 4166 6669 6e65 2061 7269 7468 6d65 : Affine arithme │ │ │ │ │ +00007600: 7469 632c 2020 4e65 7874 3a20 4d6f 7265 tic, Next: More │ │ │ │ │ +00007610: 2074 6f20 6c65 6172 6e2c 2020 5072 6576 to learn, Prev │ │ │ │ │ +00007620: 3a20 506f 6c79 6c69 6e65 2073 7765 6570 : Polyline sweep │ │ │ │ │ +00007630: 7320 7769 7468 2063 6c6f 7375 7265 2c20 s with closure, │ │ │ │ │ +00007640: 2055 703a 2053 7765 7074 206f 626a 6563 Up: Swept objec │ │ │ │ │ +00007650: 7473 0a0a 322e 372e 3620 4166 6669 6e65 ts..2.7.6 Affine │ │ │ │ │ +00007660: 2061 7269 7468 6d65 7469 630a 2d2d 2d2d arithmetic.---- │ │ │ │ │ 00007670: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00007680: 2d0a 0a54 6865 2061 7269 7468 6d65 7469 -..The arithmeti │ │ │ │ │ -00007690: 6320 5b49 5d20 2a20 322e 3120 6162 6f76 c [I] * 2.1 abov │ │ │ │ │ -000076a0: 6520 6869 6e74 7320 6174 2061 206c 6172 e hints at a lar │ │ │ │ │ -000076b0: 6765 7220 7472 7574 682e 2020 e280 9853 ger truth. ...S │ │ │ │ │ -000076c0: 6b65 7463 68e2 8099 0a6f 7065 7261 746f ketch....operato │ │ │ │ │ -000076d0: 7273 2077 6f72 6b20 6f6e 2073 6361 6c61 rs work on scala │ │ │ │ │ -000076e0: 7273 2c20 7665 6374 6f72 732c 2070 6f69 rs, vectors, poi │ │ │ │ │ -000076f0: 6e74 732c 2061 6e64 2074 7261 6e73 666f nts, and transfo │ │ │ │ │ -00007700: 726d 7320 6163 636f 7264 696e 6720 746f rms according to │ │ │ │ │ -00007710: 0a74 6865 2067 656e 6572 616c 2072 756c .the general rul │ │ │ │ │ -00007720: 6573 206f 6620 e280 9c61 6666 696e 6520 es of ...affine │ │ │ │ │ -00007730: 616c 6765 6272 61e2 809d 2e20 2054 6869 algebra.... Thi │ │ │ │ │ -00007740: 7320 6361 6e20 6265 2068 656c 7066 756c s can be helpful │ │ │ │ │ -00007750: 2066 6f72 2073 6574 7469 6e67 0a75 7020 for setting.up │ │ │ │ │ -00007760: 6469 6167 7261 6d73 2077 6974 6820 636f diagrams with co │ │ │ │ │ -00007770: 6d70 7574 6564 2067 656f 6d65 7472 792e mputed geometry. │ │ │ │ │ -00007780: 2020 466f 7220 6578 616d 706c 652c 2069 For example, i │ │ │ │ │ -00007790: 6620 796f 7520 6861 7665 2074 7269 616e f you have trian │ │ │ │ │ -000077a0: 676c 650a 7665 7274 6963 6573 2028 7031 gle.vertices (p1 │ │ │ │ │ -000077b0: 2920 7468 726f 7567 6820 2870 3329 2061 ) through (p3) a │ │ │ │ │ -000077c0: 6e64 206e 6565 6420 746f 2064 7261 7720 nd need to draw │ │ │ │ │ -000077d0: 6120 756e 6974 206e 6f72 6d61 6c20 7665 a unit normal ve │ │ │ │ │ -000077e0: 6374 6f72 0a70 6f69 6e74 696e 6720 6f75 ctor.pointing ou │ │ │ │ │ -000077f0: 7420 6f66 2074 6865 2063 656e 7465 7220 t of the center │ │ │ │ │ -00007800: 6f66 2074 6865 2074 7269 616e 676c 652c of the triangle, │ │ │ │ │ -00007810: 2074 6869 7320 636f 6465 2064 6f65 7320 this code does │ │ │ │ │ -00007820: 7468 6520 7472 6963 6b2e 0a20 2064 6566 the trick.. def │ │ │ │ │ -00007830: 2070 3120 2831 2c30 2c30 2920 2064 6566 p1 (1,0,0) def │ │ │ │ │ -00007840: 2070 3220 2830 2c30 2e35 2c30 2920 2064 p2 (0,0.5,0) d │ │ │ │ │ -00007850: 6566 2070 3320 282d 302e 352c 2d31 2c32 ef p3 (-0.5,-1,2 │ │ │ │ │ -00007860: 290a 2020 6465 6620 4f20 2830 2c30 2c30 ). def O (0,0,0 │ │ │ │ │ -00007870: 290a 2020 6465 6620 4e20 756e 6974 2820 ). def N unit( │ │ │ │ │ -00007880: 2828 7033 2920 2d20 2870 3229 2920 2a20 ((p3) - (p2)) * │ │ │ │ │ -00007890: 2828 7031 2920 2d20 2870 3229 2920 290a ((p1) - (p2)) ). │ │ │ │ │ -000078a0: 2020 6465 6620 6e31 2028 2870 3129 2d28 def n1 ((p1)-( │ │ │ │ │ -000078b0: 4f29 202b 2028 7032 292d 284f 2920 2b20 O) + (p2)-(O) + │ │ │ │ │ -000078c0: 2870 3329 2d28 4f29 2920 2f20 3320 2b20 (p3)-(O)) / 3 + │ │ │ │ │ -000078d0: 284f 290a 2020 6465 6620 6e32 2028 6e31 (O). def n2 (n1 │ │ │ │ │ -000078e0: 292b 5b4e 5d0a 2020 706f 6c79 676f 6e28 )+[N]. polygon( │ │ │ │ │ -000078f0: 7031 2928 7032 2928 7033 290a 2020 6c69 p1)(p2)(p3). li │ │ │ │ │ -00007900: 6e65 5b61 7272 6f77 733d 2a2d 3e5d 286e ne[arrows=*->](n │ │ │ │ │ -00007910: 3129 286e 3229 0a54 6865 2066 6972 7374 1)(n2).The first │ │ │ │ │ -00007920: 206c 696e 6520 636f 6d70 7574 6573 2074 line computes t │ │ │ │ │ -00007930: 6865 2063 726f 7373 2070 726f 6475 6374 he cross product │ │ │ │ │ -00007940: 206f 6620 7477 6f20 6564 6765 2076 6563 of two edge vec │ │ │ │ │ -00007950: 746f 7273 206f 6620 7468 650a 7472 6961 tors of the.tria │ │ │ │ │ -00007960: 6e67 6c65 2061 6e64 2073 6361 6c65 7320 ngle and scales │ │ │ │ │ -00007970: 6974 2074 6f20 756e 6974 206c 656e 6774 it to unit lengt │ │ │ │ │ -00007980: 682e 2020 5468 6520 7365 636f 6e64 2063 h. The second c │ │ │ │ │ -00007990: 6f6d 7075 7465 7320 7468 6520 6176 6572 omputes the aver │ │ │ │ │ -000079a0: 6167 650a 6f66 2074 6865 2076 6572 7469 age.of the verti │ │ │ │ │ -000079b0: 6365 732e 2020 4e6f 7465 2074 6861 7420 ces. Note that │ │ │ │ │ -000079c0: 7375 6274 7261 6374 696f 6e20 616e 6420 subtraction and │ │ │ │ │ -000079d0: 6164 6469 7469 6f6e 206f 6620 7468 6520 addition of the │ │ │ │ │ -000079e0: 6f72 6967 696e 0a65 6666 6563 7469 7665 origin.effective │ │ │ │ │ -000079f0: 6c79 2063 6f6e 7665 7274 2076 6563 746f ly convert vecto │ │ │ │ │ -00007a00: 7273 2074 6f20 706f 696e 7473 2061 6e64 rs to points and │ │ │ │ │ -00007a10: 205f 7669 6365 2076 6572 7361 5f2e 2020 _vice versa_. │ │ │ │ │ -00007a20: 5468 6520 6c69 6e65 0a63 6f6d 6d61 6e64 The line.command │ │ │ │ │ -00007a30: 2064 7261 7773 2074 6865 206e 6f72 6d61 draws the norma │ │ │ │ │ -00007a40: 6c20 6174 2074 6865 2063 6f72 7265 6374 l at the correct │ │ │ │ │ -00007a50: 2073 706f 742e 0a0a 0008 5b69 6d61 6765 spot.....[image │ │ │ │ │ -00007a60: 2073 7263 3d22 6578 3130 302e 706e 6722 src="ex100.png" │ │ │ │ │ -00007a70: 2074 6578 743d 2249 6d61 6765 2065 7831 text="Image ex1 │ │ │ │ │ -00007a80: 3030 206f 6d69 7474 6564 2069 6e20 7465 00 omitted in te │ │ │ │ │ -00007a90: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -00007aa0: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00007ab0: 0a0a 2020 2054 776f 2063 6176 6561 7473 .. Two caveats │ │ │ │ │ -00007ac0: 2072 6567 6172 6469 6e67 2074 6869 7320 regarding this │ │ │ │ │ -00007ad0: 6578 616d 706c 6520 7265 6d61 696e 2e20 example remain. │ │ │ │ │ -00007ae0: 2046 6972 7374 2c20 7468 6520 6f6e 6c79 First, the only │ │ │ │ │ -00007af0: 2077 6179 2074 6f0a 7573 6520 e280 9850 way to.use ...P │ │ │ │ │ -00007b00: 5354 7269 636b 73e2 8099 2d73 7479 6c65 STricks...-style │ │ │ │ │ -00007b10: 2061 7272 6f77 7320 6973 2077 6974 6820 arrows is with │ │ │ │ │ -00007b20: 6172 726f 7773 3d2e 2020 5468 6520 616c arrows=. The al │ │ │ │ │ -00007b30: 7465 726e 6174 6976 6520 7379 6e74 6178 ternative syntax │ │ │ │ │ -00007b40: 2066 6f72 0ae2 8098 5053 5472 6963 6b73 for....PSTricks │ │ │ │ │ -00007b50: e280 9920 6172 726f 7773 2069 7320 6e6f ... arrows is no │ │ │ │ │ -00007b60: 7420 616c 6c6f 7765 6420 696e 2073 6b65 t allowed in ske │ │ │ │ │ -00007b70: 7463 682e 2020 5365 636f 6e64 2c20 796f tch. Second, yo │ │ │ │ │ -00007b80: 7520 6d69 6768 7420 6c69 6b65 2074 6f0a u might like to. │ │ │ │ │ -00007b90: 656c 696d 696e 6174 6520 7468 6520 7468 eliminate the th │ │ │ │ │ -00007ba0: 6972 6420 6465 6620 616e 6420 7772 6974 ird def and writ │ │ │ │ │ -00007bb0: 6520 696e 7374 6561 6420 7468 6520 666f e instead the fo │ │ │ │ │ -00007bc0: 6c6c 6f77 696e 672e 0a20 206c 696e 655b llowing.. line[ │ │ │ │ │ -00007bd0: 6172 726f 7773 3d2a 2d3e 5d28 6e31 2920 arrows=*->](n1) │ │ │ │ │ -00007be0: 286e 3129 2b5b 4e5d 0a54 6869 7320 6973 (n1)+[N].This is │ │ │ │ │ -00007bf0: 206e 6f74 2061 6c6c 6f77 6564 2e20 2054 not allowed. T │ │ │ │ │ -00007c00: 6865 2070 6f69 6e74 206c 6973 7473 2069 he point lists i │ │ │ │ │ -00007c10: 6e20 6472 6177 6162 6c65 7320 6d61 7920 n drawables may │ │ │ │ │ -00007c20: 636f 6e73 6973 7420 6f6e 6c79 206f 660a consist only of. │ │ │ │ │ -00007c30: 6578 706c 6963 6974 2070 6f69 6e74 7320 explicit points │ │ │ │ │ -00007c40: 6f72 2070 6f69 6e74 2072 6566 6572 656e or point referen │ │ │ │ │ -00007c50: 6365 732e 2020 596f 7520 6d61 792c 2068 ces. You may, h │ │ │ │ │ -00007c60: 6f77 6576 6572 2c20 7573 6520 6172 6974 owever, use arit │ │ │ │ │ -00007c70: 686d 6574 6963 0a74 6f20 6361 6c63 756c hmetic.to calcul │ │ │ │ │ -00007c80: 6174 6520 706f 696e 7420 636f 6d70 6f6e ate point compon │ │ │ │ │ -00007c90: 656e 7473 2e20 2054 6865 2066 6f6c 6c6f ents. The follo │ │ │ │ │ -00007ca0: 7769 6e67 2077 6f72 6b73 2c20 7468 6f75 wing works, thou │ │ │ │ │ -00007cb0: 6768 2069 7427 7320 610a 6c69 7474 6c65 gh it's a.little │ │ │ │ │ -00007cc0: 2063 756d 6265 7273 6f6d 652e 0a20 206c cumbersome.. l │ │ │ │ │ -00007cd0: 696e 655b 6172 726f 7773 3d2a 2d3e 5d28 ine[arrows=*->]( │ │ │ │ │ -00007ce0: 6e31 2928 286e 3129 2778 2b28 4e29 2778 n1)((n1)'x+(N)'x │ │ │ │ │ -00007cf0: 2c20 286e 3129 2779 2b28 4e29 2779 2c20 , (n1)'y+(N)'y, │ │ │ │ │ -00007d00: 286e 3129 277a 2b28 4e29 277a 290a 4f62 (n1)'z+(N)'z).Ob │ │ │ │ │ -00007d10: 7669 6f75 736c 792c 2074 6865 20e2 809c viously, the ... │ │ │ │ │ -00007d20: 7469 636b 206f 7065 7261 746f 72e2 809d tick operator... │ │ │ │ │ -00007d30: 20e2 8098 2778 e280 9920 6578 7472 6163 ...'x... extrac │ │ │ │ │ -00007d40: 7473 2063 6f6d 706f 6e65 6e74 7320 6f66 ts components of │ │ │ │ │ -00007d50: 2070 6f69 6e74 7320 616e 640a 7665 6374 points and.vect │ │ │ │ │ -00007d60: 6f72 732e 0a0a 1f0a 4669 6c65 3a20 736b ors.....File: sk │ │ │ │ │ -00007d70: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00007d80: 3a20 4d6f 7265 2074 6f20 6c65 6172 6e2c : More to learn, │ │ │ │ │ -00007d90: 2020 5072 6576 3a20 4166 6669 6e65 2061 Prev: Affine a │ │ │ │ │ -00007da0: 7269 7468 6d65 7469 632c 2020 5570 3a20 rithmetic, Up: │ │ │ │ │ -00007db0: 5377 6570 7420 6f62 6a65 6374 730a 0a32 Swept objects..2 │ │ │ │ │ -00007dc0: 2e37 2e37 204d 6f72 6520 746f 206c 6561 .7.7 More to lea │ │ │ │ │ -00007dd0: 726e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d rn.------------- │ │ │ │ │ -00007de0: 2d2d 2d2d 2d2d 0a0a 5468 6973 2069 7320 ------..This is │ │ │ │ │ -00007df0: 6e6f 7420 7468 6520 656e 6420 6f66 2074 not the end of t │ │ │ │ │ -00007e00: 6865 2073 746f 7279 206f 6e20 7377 6565 he story on swee │ │ │ │ │ -00007e10: 7073 2120 2057 6520 696e 7669 7465 2074 ps! We invite t │ │ │ │ │ -00007e20: 6865 2072 6561 6465 7220 696e 746f 0a74 he reader into.t │ │ │ │ │ -00007e30: 6865 206d 6169 6e20 626f 6479 206f 6620 he main body of │ │ │ │ │ -00007e40: 7468 6973 2064 6f63 756d 656e 7461 7469 this documentati │ │ │ │ │ -00007e50: 6f6e 202a 6e6f 7465 2053 7765 6570 733a on *note Sweeps: │ │ │ │ │ -00007e60: 3a20 746f 206c 6561 726e 206d 6f72 652e : to learn more. │ │ │ │ │ -00007e70: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ -00007e80: 6578 3132 302e 706e 6722 2074 6578 743d ex120.png" text= │ │ │ │ │ -00007e90: 2249 6d61 6765 2065 7831 3230 206f 6d69 "Image ex120 omi │ │ │ │ │ -00007ea0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00007eb0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -00007ec0: 756d 656e 742e 2200 085d 0a0a 5768 6f20 ument."..]..Who │ │ │ │ │ -00007ed0: 6b6e 6f77 7320 7768 6572 6520 796f 7527 knows where you' │ │ │ │ │ -00007ee0: 6c6c 2066 696e 6973 683f 0a0a 1f0a 4669 ll finish?....Fi │ │ │ │ │ -00007ef0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00007f00: 2020 4e6f 6465 3a20 496e 7075 7420 6c61 Node: Input la │ │ │ │ │ -00007f10: 6e67 7561 6765 2c20 204e 6578 743a 2042 nguage, Next: B │ │ │ │ │ -00007f20: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin │ │ │ │ │ -00007f30: 672c 2020 5072 6576 3a20 496e 7472 6f64 g, Prev: Introd │ │ │ │ │ -00007f40: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl │ │ │ │ │ -00007f50: 652c 2020 5570 3a20 546f 700a 0a33 2049 e, Up: Top..3 I │ │ │ │ │ -00007f60: 6e70 7574 206c 616e 6775 6167 650a 2a2a nput language.** │ │ │ │ │ -00007f70: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************.. │ │ │ │ │ -00007f80: 5468 6973 2063 6861 7074 6572 2064 6573 This chapter des │ │ │ │ │ -00007f90: 6372 6962 6573 2074 6865 20e2 8098 736b cribes the ...sk │ │ │ │ │ -00007fa0: 6574 6368 e280 9920 696e 7075 7420 6c61 etch... input la │ │ │ │ │ -00007fb0: 6e67 7561 6765 2069 6e20 6465 7461 696c nguage in detail │ │ │ │ │ -00007fc0: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 4c61 ...* Menu:..* La │ │ │ │ │ -00007fd0: 6e67 7561 6765 2062 6173 6963 733a 3a20 nguage basics:: │ │ │ │ │ -00007fe0: 2020 2020 2020 2020 2020 2020 4361 7365 Case │ │ │ │ │ -00007ff0: 2c20 7370 6163 652c 2063 6f6d 6d65 6e74 , space, comment │ │ │ │ │ -00008000: 732c 2069 6e63 6c75 6465 2066 696c 6573 s, include files │ │ │ │ │ -00008010: 2e0a 2a20 4472 6177 6162 6c65 733a 3a20 ..* Drawables:: │ │ │ │ │ -00008020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00008030: 2020 5468 696e 6773 2074 6861 7420 6361 Things that ca │ │ │ │ │ -00008040: 6e20 6265 2064 7261 776e 2e0a 2a20 4465 n be drawn..* De │ │ │ │ │ -00008050: 6669 6e69 7469 6f6e 733a 3a20 2020 2020 finitions:: │ │ │ │ │ -00008060: 2020 2020 2020 2020 2020 2020 4769 7669 Givi │ │ │ │ │ -00008070: 6e67 2074 6869 6e67 7320 6e61 6d65 732e ng things names. │ │ │ │ │ -00008080: 0a2a 2047 6c6f 6261 6c20 656e 7669 726f .* Global enviro │ │ │ │ │ -00008090: 6e6d 656e 743a 3a20 2020 2020 2020 2020 nment:: │ │ │ │ │ -000080a0: 2041 6666 6563 7420 7468 6520 656e 7469 Affect the enti │ │ │ │ │ -000080b0: 7265 2064 7261 7769 6e67 2e0a 0a1f 0a46 re drawing.....F │ │ │ │ │ -000080c0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -000080d0: 2c20 204e 6f64 653a 204c 616e 6775 6167 , Node: Languag │ │ │ │ │ -000080e0: 6520 6261 7369 6373 2c20 204e 6578 743a e basics, Next: │ │ │ │ │ -000080f0: 2044 7261 7761 626c 6573 2c20 2050 7265 Drawables, Pre │ │ │ │ │ -00008100: 763a 2049 6e70 7574 206c 616e 6775 6167 v: Input languag │ │ │ │ │ -00008110: 652c 2020 5570 3a20 496e 7075 7420 6c61 e, Up: Input la │ │ │ │ │ -00008120: 6e67 7561 6765 0a0a 332e 3120 4261 7369 nguage..3.1 Basi │ │ │ │ │ -00008130: 6373 0a3d 3d3d 3d3d 3d3d 3d3d 3d0a 0ae2 cs.==========... │ │ │ │ │ -00008140: 8098 536b 6574 6368 e280 9920 696e 7075 ..Sketch... inpu │ │ │ │ │ -00008150: 7420 6973 2070 6c61 696e 2041 5343 4949 t is plain ASCII │ │ │ │ │ -00008160: 2074 6578 742c 2075 7375 616c 6c79 2073 text, usually s │ │ │ │ │ -00008170: 746f 7265 6420 696e 2061 6e20 696e 7075 tored in an inpu │ │ │ │ │ -00008180: 7420 6669 6c65 2e20 2049 740a 6465 7363 t file. It.desc │ │ │ │ │ -00008190: 7269 6265 7320 6120 e280 9c73 6365 6e65 ribes a ...scene │ │ │ │ │ -000081a0: e280 9d2c 2073 6f20 7468 6520 736b 6574 ..., so the sket │ │ │ │ │ -000081b0: 6368 206c 616e 6775 6167 6520 6973 2061 ch language is a │ │ │ │ │ -000081c0: 20e2 809c 7363 656e 6520 6465 7363 7269 ...scene descri │ │ │ │ │ -000081d0: 7074 696f 6e0a 6c61 6e67 7561 6765 e280 ption.language.. │ │ │ │ │ -000081e0: 9d2e 2020 e280 9853 6b65 7463 68e2 8099 .. ...Sketch... │ │ │ │ │ -000081f0: 2069 6e70 7574 2069 7320 616c 736f 20e2 input is also . │ │ │ │ │ -00008200: 809c 6465 636c 6172 6174 6976 65e2 809d ..declarative... │ │ │ │ │ -00008210: 2e20 2049 7420 6d65 7265 6c79 2064 6563 . It merely dec │ │ │ │ │ -00008220: 6c61 7265 730a 7768 6174 2074 6865 2073 lares.what the s │ │ │ │ │ -00008230: 6365 6e65 206f 7567 6874 2074 6f20 6c6f cene ought to lo │ │ │ │ │ -00008240: 6f6b 206c 696b 6520 7768 656e 2064 7261 ok like when dra │ │ │ │ │ -00008250: 7769 6e67 2069 7320 636f 6d70 6c65 7465 wing is complete │ │ │ │ │ -00008260: 2061 6e64 2073 6179 7320 7665 7279 0a6c and says very.l │ │ │ │ │ -00008270: 6974 746c 6520 6162 6f75 7420 686f 7720 ittle about how │ │ │ │ │ -00008280: e280 9873 6b65 7463 68e2 8099 2073 686f ...sketch... sho │ │ │ │ │ -00008290: 756c 6420 646f 2069 7473 2077 6f72 6b2e uld do its work. │ │ │ │ │ -000082a0: 2020 e280 9853 6b65 7463 68e2 8099 2063 ...Sketch... c │ │ │ │ │ -000082b0: 6f6d 6d61 6e64 7320 6172 6520 6e6f 740a ommands are not. │ │ │ │ │ -000082c0: 6578 6563 7574 6564 2073 6571 7565 6e74 executed sequent │ │ │ │ │ -000082d0: 6961 6c6c 7920 6173 2069 6e20 7468 6520 ially as in the │ │ │ │ │ -000082e0: 7573 7561 6c20 7072 6f67 7261 6d6d 696e usual programmin │ │ │ │ │ -000082f0: 6720 6c61 6e67 7561 6765 2e20 2054 6865 g language. The │ │ │ │ │ -00008300: 7920 6d65 7265 6c79 0a63 6f6e 7472 6962 y merely.contrib │ │ │ │ │ -00008310: 7574 6520 746f 2074 6861 7420 6465 636c ute to that decl │ │ │ │ │ -00008320: 6172 6174 696f 6e2e 0a0a 2020 2041 2066 aration... A f │ │ │ │ │ -00008330: 6577 2073 796e 7461 6374 6963 2064 6574 ew syntactic det │ │ │ │ │ -00008340: 6169 6c73 2061 7265 2069 6d70 6f72 7461 ails are importa │ │ │ │ │ -00008350: 6e74 2e20 2043 6173 6520 6973 2073 6967 nt. Case is sig │ │ │ │ │ -00008360: 6e69 6669 6361 6e74 2069 6e20 7468 650a nificant in the. │ │ │ │ │ -00008370: e280 9873 6b65 7463 68e2 8099 206c 616e ...sketch... lan │ │ │ │ │ -00008380: 6775 6167 652e 2020 5769 7468 2061 2066 guage. With a f │ │ │ │ │ -00008390: 6577 2065 7863 6570 7469 6f6e 732c 2077 ew exceptions, w │ │ │ │ │ -000083a0: 6869 7465 2073 7061 6365 2069 7320 6e6f hite space is no │ │ │ │ │ -000083b0: 742e 2020 5468 6973 0a69 6e63 6c75 6465 t. This.include │ │ │ │ │ -000083c0: 7320 6c69 6e65 2062 7265 616b 732e 2020 s line breaks. │ │ │ │ │ -000083d0: 436f 6d6d 656e 7473 2062 6567 696e 2077 Comments begin w │ │ │ │ │ -000083e0: 6974 6820 e280 9825 e280 9920 6f72 20e2 ith ...%... or . │ │ │ │ │ -000083f0: 8098 23e2 8099 2061 6e64 2065 7874 656e ..#... and exten │ │ │ │ │ -00008400: 6420 746f 2074 6865 0a65 6e64 206f 6620 d to the.end of │ │ │ │ │ -00008410: 7468 6520 6c69 6e65 2e20 2059 6f75 2063 the line. You c │ │ │ │ │ -00008420: 616e 2064 6973 6162 6c65 2061 2063 6875 an disable a chu │ │ │ │ │ -00008430: 6e6b 206f 6620 7379 6e74 6163 7469 6361 nk of syntactica │ │ │ │ │ -00008440: 6c6c 7920 636f 7272 6563 740a e280 9873 lly correct....s │ │ │ │ │ -00008450: 6b65 7463 68e2 8099 2063 6f64 6520 6279 ketch... code by │ │ │ │ │ -00008460: 2065 6e63 6c6f 7369 6e67 2069 7420 696e enclosing it in │ │ │ │ │ -00008470: 2061 20e2 8098 6465 66e2 8099 2e20 2054 a ...def.... T │ │ │ │ │ -00008480: 6865 7265 2069 7320 6120 7369 6d70 6c65 here is a simple │ │ │ │ │ -00008490: 2022 696e 636c 7564 650a 6669 6c65 2220 "include.file" │ │ │ │ │ -000084a0: 6d65 6368 616e 6973 6d2e 2020 5468 6520 mechanism. The │ │ │ │ │ -000084b0: 636f 6d6d 616e 640a 2020 696e 7075 747b command. input{ │ │ │ │ │ -000084c0: 6f74 6865 7266 696c 652e 736b 7d0a 6361 otherfile.sk}.ca │ │ │ │ │ -000084d0: 7573 6573 2074 6865 2063 6f6e 7465 6e74 uses the content │ │ │ │ │ -000084e0: 7320 6f66 20e2 8098 6f74 6865 7266 696c s of ...otherfil │ │ │ │ │ -000084f0: 652e 736b e280 9920 746f 2062 6520 696e e.sk... to be in │ │ │ │ │ -00008500: 7365 7274 6564 2061 7320 7468 6f75 6768 serted as though │ │ │ │ │ -00008510: 2074 6865 7920 7765 7265 0a70 6172 7420 they were.part │ │ │ │ │ -00008520: 6f66 2074 6865 2063 7572 7265 6e74 2066 of the current f │ │ │ │ │ -00008530: 696c 652e 0a0a 2a20 4d65 6e75 3a0a 0a2a ile...* Menu:..* │ │ │ │ │ -00008540: 2049 6465 6e74 6966 6965 7273 3a3a 2020 Identifiers:: │ │ │ │ │ -00008550: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ -00008560: 616d 6573 2066 6f72 2074 6869 6e67 732e ames for things. │ │ │ │ │ -00008570: 0a2a 204b 6579 2061 6e64 2072 6573 6572 .* Key and reser │ │ │ │ │ -00008580: 7665 6420 776f 7264 733a 3a20 2020 2020 ved words:: │ │ │ │ │ -00008590: 204e 616d 6573 2079 6f75 2073 686f 756c Names you shoul │ │ │ │ │ -000085a0: 646e 2774 2075 7365 2e0a 2a20 4c69 7465 dn't use..* Lite │ │ │ │ │ -000085b0: 7261 6c73 3a3a 2020 2020 2020 2020 2020 rals:: │ │ │ │ │ -000085c0: 2020 2020 2020 2020 2020 436f 6e73 7461 Consta │ │ │ │ │ -000085d0: 6e74 7320 616e 6420 636f 6e73 7472 7563 nts and construc │ │ │ │ │ -000085e0: 746f 7273 2e0a 2a20 4172 6974 686d 6574 tors..* Arithmet │ │ │ │ │ -000085f0: 6963 3a3a 2020 2020 2020 2020 2020 2020 ic:: │ │ │ │ │ -00008600: 2020 2020 2020 5275 6c65 7320 666f 7220 Rules for │ │ │ │ │ -00008610: 6578 7072 6573 7369 6f6e 732e 0a2a 204f expressions..* O │ │ │ │ │ -00008620: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: │ │ │ │ │ -00008630: 2020 2020 2020 2020 2020 2020 204d 6f64 Mod │ │ │ │ │ -00008640: 6966 7969 6e67 206f 626a 6563 7420 6170 ifying object ap │ │ │ │ │ -00008650: 7065 6172 616e 6365 2e0a 0a1f 0a46 696c pearance.....Fil │ │ │ │ │ -00008660: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -00008670: 204e 6f64 653a 2049 6465 6e74 6966 6965 Node: Identifie │ │ │ │ │ -00008680: 7273 2c20 204e 6578 743a 204b 6579 2061 rs, Next: Key a │ │ │ │ │ -00008690: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word │ │ │ │ │ -000086a0: 732c 2020 5072 6576 3a20 4c61 6e67 7561 s, Prev: Langua │ │ │ │ │ -000086b0: 6765 2062 6173 6963 732c 2020 5570 3a20 ge basics, Up: │ │ │ │ │ -000086c0: 4c61 6e67 7561 6765 2062 6173 6963 730a Language basics. │ │ │ │ │ -000086d0: 0a33 2e31 2e31 2049 6465 6e74 6966 6965 .3.1.1 Identifie │ │ │ │ │ -000086e0: 7273 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d rs.------------- │ │ │ │ │ -000086f0: 2d2d 2d2d 0a0a 4964 656e 7469 6669 6572 ----..Identifier │ │ │ │ │ -00008700: 7320 696e 20e2 8098 736b 6574 6368 e280 s in ...sketch.. │ │ │ │ │ -00008710: 9920 6172 6520 7265 6665 7265 6e63 6573 . are references │ │ │ │ │ -00008720: 2074 6f20 6561 726c 6965 722d 6465 6669 to earlier-defi │ │ │ │ │ -00008730: 6e65 6420 6f70 7469 6f6e 732c 0a73 6361 ned options,.sca │ │ │ │ │ -00008740: 6c61 7273 2c20 706f 696e 7473 2c20 7665 lars, points, ve │ │ │ │ │ -00008750: 6374 6f72 732c 2074 7261 6e73 666f 726d ctors, transform │ │ │ │ │ -00008760: 732c 2064 7261 7761 626c 6573 2c20 616e s, drawables, an │ │ │ │ │ -00008770: 6420 7461 6773 2e20 2044 6566 696e 6974 d tags. Definit │ │ │ │ │ -00008780: 696f 6e73 0a61 7265 2065 7870 6c61 696e ions.are explain │ │ │ │ │ -00008790: 6564 2069 6e20 2a6e 6f74 6520 4465 6669 ed in *note Defi │ │ │ │ │ -000087a0: 6e69 7469 6f6e 733a 3a2e 0a0a 2020 2041 nitions::... A │ │ │ │ │ -000087b0: 6e20 6964 656e 7469 6669 6572 2063 6f6e n identifier con │ │ │ │ │ -000087c0: 7369 7374 7320 6f66 2061 206c 6561 6469 sists of a leadi │ │ │ │ │ -000087d0: 6e67 206c 6574 7465 7220 666f 6c6c 6f77 ng letter follow │ │ │ │ │ -000087e0: 6564 2062 7920 6c65 7474 6572 732c 0a6e ed by letters,.n │ │ │ │ │ -000087f0: 756d 6265 7273 2061 6e64 2075 6e64 6572 umbers and under │ │ │ │ │ -00008800: 7363 6f72 6573 2e20 2054 6865 206c 6173 scores. The las │ │ │ │ │ -00008810: 7420 6368 6172 6163 7465 7220 6d61 7920 t character may │ │ │ │ │ -00008820: 5f6e 6f74 5f20 6265 2061 6e20 756e 6465 _not_ be an unde │ │ │ │ │ -00008830: 7273 636f 7265 2e0a 4b65 7977 6f72 6473 rscore..Keywords │ │ │ │ │ -00008840: 2063 616e 6e6f 7420 6265 2075 7365 6420 cannot be used │ │ │ │ │ -00008850: 6173 2069 6465 6e74 6966 6965 7273 2c20 as identifiers, │ │ │ │ │ -00008860: 616e 6420 7265 7365 7276 6564 2077 6f72 and reserved wor │ │ │ │ │ -00008870: 6473 206f 7567 6874 2074 6f20 6265 0a61 ds ought to be.a │ │ │ │ │ -00008880: 766f 6964 6564 2e20 202a 4e6f 7465 204b voided. *Note K │ │ │ │ │ -00008890: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved │ │ │ │ │ -000088a0: 776f 7264 733a 3a2e 0a0a 1f0a 4669 6c65 words::.....File │ │ │ │ │ -000088b0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -000088c0: 4e6f 6465 3a20 4b65 7920 616e 6420 7265 Node: Key and re │ │ │ │ │ -000088d0: 7365 7276 6564 2077 6f72 6473 2c20 204e served words, N │ │ │ │ │ -000088e0: 6578 743a 204c 6974 6572 616c 732c 2020 ext: Literals, │ │ │ │ │ -000088f0: 5072 6576 3a20 4964 656e 7469 6669 6572 Prev: Identifier │ │ │ │ │ -00008900: 732c 2020 5570 3a20 4c61 6e67 7561 6765 s, Up: Language │ │ │ │ │ -00008910: 2062 6173 6963 730a 0a33 2e31 2e32 204b basics..3.1.2 K │ │ │ │ │ -00008920: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved │ │ │ │ │ -00008930: 776f 7264 730a 2d2d 2d2d 2d2d 2d2d 2d2d words.---------- │ │ │ │ │ +00007680: 2d2d 2d0a 0a54 6865 2061 7269 7468 6d65 ---..The arithme │ │ │ │ │ +00007690: 7469 6320 5b49 5d20 2a20 322e 3120 6162 tic [I] * 2.1 ab │ │ │ │ │ +000076a0: 6f76 6520 6869 6e74 7320 6174 2061 206c ove hints at a l │ │ │ │ │ +000076b0: 6172 6765 7220 7472 7574 682e 2020 e280 arger truth. .. │ │ │ │ │ +000076c0: 9853 6b65 7463 68e2 8099 0a6f 7065 7261 .Sketch....opera │ │ │ │ │ +000076d0: 746f 7273 2077 6f72 6b20 6f6e 2073 6361 tors work on sca │ │ │ │ │ +000076e0: 6c61 7273 2c20 7665 6374 6f72 732c 2070 lars, vectors, p │ │ │ │ │ +000076f0: 6f69 6e74 732c 2061 6e64 2074 7261 6e73 oints, and trans │ │ │ │ │ +00007700: 666f 726d 7320 6163 636f 7264 696e 6720 forms according │ │ │ │ │ +00007710: 746f 0a74 6865 2067 656e 6572 616c 2072 to.the general r │ │ │ │ │ +00007720: 756c 6573 206f 6620 e280 9c61 6666 696e ules of ...affin │ │ │ │ │ +00007730: 6520 616c 6765 6272 61e2 809d 2e20 2054 e algebra.... T │ │ │ │ │ +00007740: 6869 7320 6361 6e20 6265 2068 656c 7066 his can be helpf │ │ │ │ │ +00007750: 756c 2066 6f72 2073 6574 7469 6e67 0a75 ul for setting.u │ │ │ │ │ +00007760: 7020 6469 6167 7261 6d73 2077 6974 6820 p diagrams with │ │ │ │ │ +00007770: 636f 6d70 7574 6564 2067 656f 6d65 7472 computed geometr │ │ │ │ │ +00007780: 792e 2020 466f 7220 6578 616d 706c 652c y. For example, │ │ │ │ │ +00007790: 2069 6620 796f 7520 6861 7665 2074 7269 if you have tri │ │ │ │ │ +000077a0: 616e 676c 650a 7665 7274 6963 6573 2028 angle.vertices ( │ │ │ │ │ +000077b0: 7031 2920 7468 726f 7567 6820 2870 3329 p1) through (p3) │ │ │ │ │ +000077c0: 2061 6e64 206e 6565 6420 746f 2064 7261 and need to dra │ │ │ │ │ +000077d0: 7720 6120 756e 6974 206e 6f72 6d61 6c20 w a unit normal │ │ │ │ │ +000077e0: 7665 6374 6f72 0a70 6f69 6e74 696e 6720 vector.pointing │ │ │ │ │ +000077f0: 6f75 7420 6f66 2074 6865 2063 656e 7465 out of the cente │ │ │ │ │ +00007800: 7220 6f66 2074 6865 2074 7269 616e 676c r of the triangl │ │ │ │ │ +00007810: 652c 2074 6869 7320 636f 6465 2064 6f65 e, this code doe │ │ │ │ │ +00007820: 7320 7468 6520 7472 6963 6b2e 0a20 2064 s the trick.. d │ │ │ │ │ +00007830: 6566 2070 3120 2831 2c30 2c30 2920 2064 ef p1 (1,0,0) d │ │ │ │ │ +00007840: 6566 2070 3220 2830 2c30 2e35 2c30 2920 ef p2 (0,0.5,0) │ │ │ │ │ +00007850: 2064 6566 2070 3320 282d 302e 352c 2d31 def p3 (-0.5,-1 │ │ │ │ │ +00007860: 2c32 290a 2020 6465 6620 4f20 2830 2c30 ,2). def O (0,0 │ │ │ │ │ +00007870: 2c30 290a 2020 6465 6620 4e20 756e 6974 ,0). def N unit │ │ │ │ │ +00007880: 2820 2828 7033 2920 2d20 2870 3229 2920 ( ((p3) - (p2)) │ │ │ │ │ +00007890: 2a20 2828 7031 2920 2d20 2870 3229 2920 * ((p1) - (p2)) │ │ │ │ │ +000078a0: 290a 2020 6465 6620 6e31 2028 2870 3129 ). def n1 ((p1) │ │ │ │ │ +000078b0: 2d28 4f29 202b 2028 7032 292d 284f 2920 -(O) + (p2)-(O) │ │ │ │ │ +000078c0: 2b20 2870 3329 2d28 4f29 2920 2f20 3320 + (p3)-(O)) / 3 │ │ │ │ │ +000078d0: 2b20 284f 290a 2020 6465 6620 6e32 2028 + (O). def n2 ( │ │ │ │ │ +000078e0: 6e31 292b 5b4e 5d0a 2020 706f 6c79 676f n1)+[N]. polygo │ │ │ │ │ +000078f0: 6e28 7031 2928 7032 2928 7033 290a 2020 n(p1)(p2)(p3). │ │ │ │ │ +00007900: 6c69 6e65 5b61 7272 6f77 733d 2a2d 3e5d line[arrows=*->] │ │ │ │ │ +00007910: 286e 3129 286e 3229 0a54 6865 2066 6972 (n1)(n2).The fir │ │ │ │ │ +00007920: 7374 206c 696e 6520 636f 6d70 7574 6573 st line computes │ │ │ │ │ +00007930: 2074 6865 2063 726f 7373 2070 726f 6475 the cross produ │ │ │ │ │ +00007940: 6374 206f 6620 7477 6f20 6564 6765 2076 ct of two edge v │ │ │ │ │ +00007950: 6563 746f 7273 206f 6620 7468 650a 7472 ectors of the.tr │ │ │ │ │ +00007960: 6961 6e67 6c65 2061 6e64 2073 6361 6c65 iangle and scale │ │ │ │ │ +00007970: 7320 6974 2074 6f20 756e 6974 206c 656e s it to unit len │ │ │ │ │ +00007980: 6774 682e 2020 5468 6520 7365 636f 6e64 gth. The second │ │ │ │ │ +00007990: 2063 6f6d 7075 7465 7320 7468 6520 6176 computes the av │ │ │ │ │ +000079a0: 6572 6167 650a 6f66 2074 6865 2076 6572 erage.of the ver │ │ │ │ │ +000079b0: 7469 6365 732e 2020 4e6f 7465 2074 6861 tices. Note tha │ │ │ │ │ +000079c0: 7420 7375 6274 7261 6374 696f 6e20 616e t subtraction an │ │ │ │ │ +000079d0: 6420 6164 6469 7469 6f6e 206f 6620 7468 d addition of th │ │ │ │ │ +000079e0: 6520 6f72 6967 696e 0a65 6666 6563 7469 e origin.effecti │ │ │ │ │ +000079f0: 7665 6c79 2063 6f6e 7665 7274 2076 6563 vely convert vec │ │ │ │ │ +00007a00: 746f 7273 2074 6f20 706f 696e 7473 2061 tors to points a │ │ │ │ │ +00007a10: 6e64 205f 7669 6365 2076 6572 7361 5f2e nd _vice versa_. │ │ │ │ │ +00007a20: 2020 5468 6520 6c69 6e65 0a63 6f6d 6d61 The line.comma │ │ │ │ │ +00007a30: 6e64 2064 7261 7773 2074 6865 206e 6f72 nd draws the nor │ │ │ │ │ +00007a40: 6d61 6c20 6174 2074 6865 2063 6f72 7265 mal at the corre │ │ │ │ │ +00007a50: 6374 2073 706f 742e 0a0a 0008 5b69 6d61 ct spot.....[ima │ │ │ │ │ +00007a60: 6765 2073 7263 3d22 6578 3130 302e 706e ge src="ex100.pn │ │ │ │ │ +00007a70: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ +00007a80: 7831 3030 206f 6d69 7474 6564 2069 6e20 x100 omitted in │ │ │ │ │ +00007a90: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +00007aa0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +00007ab0: 085d 0a0a 2020 2054 776f 2063 6176 6561 .].. Two cavea │ │ │ │ │ +00007ac0: 7473 2072 6567 6172 6469 6e67 2074 6869 ts regarding thi │ │ │ │ │ +00007ad0: 7320 6578 616d 706c 6520 7265 6d61 696e s example remain │ │ │ │ │ +00007ae0: 2e20 2046 6972 7374 2c20 7468 6520 6f6e . First, the on │ │ │ │ │ +00007af0: 6c79 2077 6179 2074 6f0a 7573 6520 e280 ly way to.use .. │ │ │ │ │ +00007b00: 9850 5354 7269 636b 73e2 8099 2d73 7479 .PSTricks...-sty │ │ │ │ │ +00007b10: 6c65 2061 7272 6f77 7320 6973 2077 6974 le arrows is wit │ │ │ │ │ +00007b20: 6820 6172 726f 7773 3d2e 2020 5468 6520 h arrows=. The │ │ │ │ │ +00007b30: 616c 7465 726e 6174 6976 6520 7379 6e74 alternative synt │ │ │ │ │ +00007b40: 6178 2066 6f72 0ae2 8098 5053 5472 6963 ax for....PSTric │ │ │ │ │ +00007b50: 6b73 e280 9920 6172 726f 7773 2069 7320 ks... arrows is │ │ │ │ │ +00007b60: 6e6f 7420 616c 6c6f 7765 6420 696e 2073 not allowed in s │ │ │ │ │ +00007b70: 6b65 7463 682e 2020 5365 636f 6e64 2c20 ketch. Second, │ │ │ │ │ +00007b80: 796f 7520 6d69 6768 7420 6c69 6b65 2074 you might like t │ │ │ │ │ +00007b90: 6f0a 656c 696d 696e 6174 6520 7468 6520 o.eliminate the │ │ │ │ │ +00007ba0: 7468 6972 6420 6465 6620 616e 6420 7772 third def and wr │ │ │ │ │ +00007bb0: 6974 6520 696e 7374 6561 6420 7468 6520 ite instead the │ │ │ │ │ +00007bc0: 666f 6c6c 6f77 696e 672e 0a20 206c 696e following.. lin │ │ │ │ │ +00007bd0: 655b 6172 726f 7773 3d2a 2d3e 5d28 6e31 e[arrows=*->](n1 │ │ │ │ │ +00007be0: 2920 286e 3129 2b5b 4e5d 0a54 6869 7320 ) (n1)+[N].This │ │ │ │ │ +00007bf0: 6973 206e 6f74 2061 6c6c 6f77 6564 2e20 is not allowed. │ │ │ │ │ +00007c00: 2054 6865 2070 6f69 6e74 206c 6973 7473 The point lists │ │ │ │ │ +00007c10: 2069 6e20 6472 6177 6162 6c65 7320 6d61 in drawables ma │ │ │ │ │ +00007c20: 7920 636f 6e73 6973 7420 6f6e 6c79 206f y consist only o │ │ │ │ │ +00007c30: 660a 6578 706c 6963 6974 2070 6f69 6e74 f.explicit point │ │ │ │ │ +00007c40: 7320 6f72 2070 6f69 6e74 2072 6566 6572 s or point refer │ │ │ │ │ +00007c50: 656e 6365 732e 2020 596f 7520 6d61 792c ences. You may, │ │ │ │ │ +00007c60: 2068 6f77 6576 6572 2c20 7573 6520 6172 however, use ar │ │ │ │ │ +00007c70: 6974 686d 6574 6963 0a74 6f20 6361 6c63 ithmetic.to calc │ │ │ │ │ +00007c80: 756c 6174 6520 706f 696e 7420 636f 6d70 ulate point comp │ │ │ │ │ +00007c90: 6f6e 656e 7473 2e20 2054 6865 2066 6f6c onents. The fol │ │ │ │ │ +00007ca0: 6c6f 7769 6e67 2077 6f72 6b73 2c20 7468 lowing works, th │ │ │ │ │ +00007cb0: 6f75 6768 2069 7427 7320 610a 6c69 7474 ough it's a.litt │ │ │ │ │ +00007cc0: 6c65 2063 756d 6265 7273 6f6d 652e 0a20 le cumbersome.. │ │ │ │ │ +00007cd0: 206c 696e 655b 6172 726f 7773 3d2a 2d3e line[arrows=*-> │ │ │ │ │ +00007ce0: 5d28 6e31 2928 286e 3129 2778 2b28 4e29 ](n1)((n1)'x+(N) │ │ │ │ │ +00007cf0: 2778 2c20 286e 3129 2779 2b28 4e29 2779 'x, (n1)'y+(N)'y │ │ │ │ │ +00007d00: 2c20 286e 3129 277a 2b28 4e29 277a 290a , (n1)'z+(N)'z). │ │ │ │ │ +00007d10: 4f62 7669 6f75 736c 792c 2074 6865 20e2 Obviously, the . │ │ │ │ │ +00007d20: 809c 7469 636b 206f 7065 7261 746f 72e2 ..tick operator. │ │ │ │ │ +00007d30: 809d 20e2 8098 2778 e280 9920 6578 7472 .. ...'x... extr │ │ │ │ │ +00007d40: 6163 7473 2063 6f6d 706f 6e65 6e74 7320 acts components │ │ │ │ │ +00007d50: 6f66 2070 6f69 6e74 7320 616e 640a 7665 of points and.ve │ │ │ │ │ +00007d60: 6374 6f72 732e 0a0a 1f0a 4669 6c65 3a20 ctors.....File: │ │ │ │ │ +00007d70: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +00007d80: 6465 3a20 4d6f 7265 2074 6f20 6c65 6172 de: More to lear │ │ │ │ │ +00007d90: 6e2c 2020 5072 6576 3a20 4166 6669 6e65 n, Prev: Affine │ │ │ │ │ +00007da0: 2061 7269 7468 6d65 7469 632c 2020 5570 arithmetic, Up │ │ │ │ │ +00007db0: 3a20 5377 6570 7420 6f62 6a65 6374 730a : Swept objects. │ │ │ │ │ +00007dc0: 0a32 2e37 2e37 204d 6f72 6520 746f 206c .2.7.7 More to l │ │ │ │ │ +00007dd0: 6561 726e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d earn.----------- │ │ │ │ │ +00007de0: 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6973 2069 --------..This i │ │ │ │ │ +00007df0: 7320 6e6f 7420 7468 6520 656e 6420 6f66 s not the end of │ │ │ │ │ +00007e00: 2074 6865 2073 746f 7279 206f 6e20 7377 the story on sw │ │ │ │ │ +00007e10: 6565 7073 2120 2057 6520 696e 7669 7465 eeps! We invite │ │ │ │ │ +00007e20: 2074 6865 2072 6561 6465 7220 696e 746f the reader into │ │ │ │ │ +00007e30: 0a74 6865 206d 6169 6e20 626f 6479 206f .the main body o │ │ │ │ │ +00007e40: 6620 7468 6973 2064 6f63 756d 656e 7461 f this documenta │ │ │ │ │ +00007e50: 7469 6f6e 202a 6e6f 7465 2053 7765 6570 tion *note Sweep │ │ │ │ │ +00007e60: 733a 3a20 746f 206c 6561 726e 206d 6f72 s:: to learn mor │ │ │ │ │ +00007e70: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src │ │ │ │ │ +00007e80: 3d22 6578 3132 302e 706e 6722 2074 6578 ="ex120.png" tex │ │ │ │ │ +00007e90: 743d 2249 6d61 6765 2065 7831 3230 206f t="Image ex120 o │ │ │ │ │ +00007ea0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ +00007eb0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ +00007ec0: 6f63 756d 656e 742e 2200 085d 0a0a 5768 ocument."..]..Wh │ │ │ │ │ +00007ed0: 6f20 6b6e 6f77 7320 7768 6572 6520 796f o knows where yo │ │ │ │ │ +00007ee0: 7527 6c6c 2066 696e 6973 683f 0a0a 1f0a u'll finish?.... │ │ │ │ │ +00007ef0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00007f00: 6f2c 2020 4e6f 6465 3a20 496e 7075 7420 o, Node: Input │ │ │ │ │ +00007f10: 6c61 6e67 7561 6765 2c20 204e 6578 743a language, Next: │ │ │ │ │ +00007f20: 2042 7569 6c64 696e 6720 6120 6472 6177 Building a draw │ │ │ │ │ +00007f30: 696e 672c 2020 5072 6576 3a20 496e 7472 ing, Prev: Intr │ │ │ │ │ +00007f40: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam │ │ │ │ │ +00007f50: 706c 652c 2020 5570 3a20 546f 700a 0a33 ple, Up: Top..3 │ │ │ │ │ +00007f60: 2049 6e70 7574 206c 616e 6775 6167 650a Input language. │ │ │ │ │ +00007f70: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ +00007f80: 0a0a 5468 6973 2063 6861 7074 6572 2064 ..This chapter d │ │ │ │ │ +00007f90: 6573 6372 6962 6573 2074 6865 20e2 8098 escribes the ... │ │ │ │ │ +00007fa0: 736b 6574 6368 e280 9920 696e 7075 7420 sketch... input │ │ │ │ │ +00007fb0: 6c61 6e67 7561 6765 2069 6e20 6465 7461 language in deta │ │ │ │ │ +00007fc0: 696c 2e0a 0a2a 204d 656e 753a 0a0a 2a20 il...* Menu:..* │ │ │ │ │ +00007fd0: 4c61 6e67 7561 6765 2062 6173 6963 733a Language basics: │ │ │ │ │ +00007fe0: 3a20 2020 2020 2020 2020 2020 2020 4361 : Ca │ │ │ │ │ +00007ff0: 7365 2c20 7370 6163 652c 2063 6f6d 6d65 se, space, comme │ │ │ │ │ +00008000: 6e74 732c 2069 6e63 6c75 6465 2066 696c nts, include fil │ │ │ │ │ +00008010: 6573 2e0a 2a20 4472 6177 6162 6c65 733a es..* Drawables: │ │ │ │ │ +00008020: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00008030: 2020 2020 5468 696e 6773 2074 6861 7420 Things that │ │ │ │ │ +00008040: 6361 6e20 6265 2064 7261 776e 2e0a 2a20 can be drawn..* │ │ │ │ │ +00008050: 4465 6669 6e69 7469 6f6e 733a 3a20 2020 Definitions:: │ │ │ │ │ +00008060: 2020 2020 2020 2020 2020 2020 2020 4769 Gi │ │ │ │ │ +00008070: 7669 6e67 2074 6869 6e67 7320 6e61 6d65 ving things name │ │ │ │ │ +00008080: 732e 0a2a 2047 6c6f 6261 6c20 656e 7669 s..* Global envi │ │ │ │ │ +00008090: 726f 6e6d 656e 743a 3a20 2020 2020 2020 ronment:: │ │ │ │ │ +000080a0: 2020 2041 6666 6563 7420 7468 6520 656e Affect the en │ │ │ │ │ +000080b0: 7469 7265 2064 7261 7769 6e67 2e0a 0a1f tire drawing.... │ │ │ │ │ +000080c0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +000080d0: 666f 2c20 204e 6f64 653a 204c 616e 6775 fo, Node: Langu │ │ │ │ │ +000080e0: 6167 6520 6261 7369 6373 2c20 204e 6578 age basics, Nex │ │ │ │ │ +000080f0: 743a 2044 7261 7761 626c 6573 2c20 2050 t: Drawables, P │ │ │ │ │ +00008100: 7265 763a 2049 6e70 7574 206c 616e 6775 rev: Input langu │ │ │ │ │ +00008110: 6167 652c 2020 5570 3a20 496e 7075 7420 age, Up: Input │ │ │ │ │ +00008120: 6c61 6e67 7561 6765 0a0a 332e 3120 4261 language..3.1 Ba │ │ │ │ │ +00008130: 7369 6373 0a3d 3d3d 3d3d 3d3d 3d3d 3d0a sics.==========. │ │ │ │ │ +00008140: 0ae2 8098 536b 6574 6368 e280 9920 696e ....Sketch... in │ │ │ │ │ +00008150: 7075 7420 6973 2070 6c61 696e 2041 5343 put is plain ASC │ │ │ │ │ +00008160: 4949 2074 6578 742c 2075 7375 616c 6c79 II text, usually │ │ │ │ │ +00008170: 2073 746f 7265 6420 696e 2061 6e20 696e stored in an in │ │ │ │ │ +00008180: 7075 7420 6669 6c65 2e20 2049 740a 6465 put file. It.de │ │ │ │ │ +00008190: 7363 7269 6265 7320 6120 e280 9c73 6365 scribes a ...sce │ │ │ │ │ +000081a0: 6e65 e280 9d2c 2073 6f20 7468 6520 736b ne..., so the sk │ │ │ │ │ +000081b0: 6574 6368 206c 616e 6775 6167 6520 6973 etch language is │ │ │ │ │ +000081c0: 2061 20e2 809c 7363 656e 6520 6465 7363 a ...scene desc │ │ │ │ │ +000081d0: 7269 7074 696f 6e0a 6c61 6e67 7561 6765 ription.language │ │ │ │ │ +000081e0: e280 9d2e 2020 e280 9853 6b65 7463 68e2 .... ...Sketch. │ │ │ │ │ +000081f0: 8099 2069 6e70 7574 2069 7320 616c 736f .. input is also │ │ │ │ │ +00008200: 20e2 809c 6465 636c 6172 6174 6976 65e2 ...declarative. │ │ │ │ │ +00008210: 809d 2e20 2049 7420 6d65 7265 6c79 2064 ... It merely d │ │ │ │ │ +00008220: 6563 6c61 7265 730a 7768 6174 2074 6865 eclares.what the │ │ │ │ │ +00008230: 2073 6365 6e65 206f 7567 6874 2074 6f20 scene ought to │ │ │ │ │ +00008240: 6c6f 6f6b 206c 696b 6520 7768 656e 2064 look like when d │ │ │ │ │ +00008250: 7261 7769 6e67 2069 7320 636f 6d70 6c65 rawing is comple │ │ │ │ │ +00008260: 7465 2061 6e64 2073 6179 7320 7665 7279 te and says very │ │ │ │ │ +00008270: 0a6c 6974 746c 6520 6162 6f75 7420 686f .little about ho │ │ │ │ │ +00008280: 7720 e280 9873 6b65 7463 68e2 8099 2073 w ...sketch... s │ │ │ │ │ +00008290: 686f 756c 6420 646f 2069 7473 2077 6f72 hould do its wor │ │ │ │ │ +000082a0: 6b2e 2020 e280 9853 6b65 7463 68e2 8099 k. ...Sketch... │ │ │ │ │ +000082b0: 2063 6f6d 6d61 6e64 7320 6172 6520 6e6f commands are no │ │ │ │ │ +000082c0: 740a 6578 6563 7574 6564 2073 6571 7565 t.executed seque │ │ │ │ │ +000082d0: 6e74 6961 6c6c 7920 6173 2069 6e20 7468 ntially as in th │ │ │ │ │ +000082e0: 6520 7573 7561 6c20 7072 6f67 7261 6d6d e usual programm │ │ │ │ │ +000082f0: 696e 6720 6c61 6e67 7561 6765 2e20 2054 ing language. T │ │ │ │ │ +00008300: 6865 7920 6d65 7265 6c79 0a63 6f6e 7472 hey merely.contr │ │ │ │ │ +00008310: 6962 7574 6520 746f 2074 6861 7420 6465 ibute to that de │ │ │ │ │ +00008320: 636c 6172 6174 696f 6e2e 0a0a 2020 2041 claration... A │ │ │ │ │ +00008330: 2066 6577 2073 796e 7461 6374 6963 2064 few syntactic d │ │ │ │ │ +00008340: 6574 6169 6c73 2061 7265 2069 6d70 6f72 etails are impor │ │ │ │ │ +00008350: 7461 6e74 2e20 2043 6173 6520 6973 2073 tant. Case is s │ │ │ │ │ +00008360: 6967 6e69 6669 6361 6e74 2069 6e20 7468 ignificant in th │ │ │ │ │ +00008370: 650a e280 9873 6b65 7463 68e2 8099 206c e....sketch... l │ │ │ │ │ +00008380: 616e 6775 6167 652e 2020 5769 7468 2061 anguage. With a │ │ │ │ │ +00008390: 2066 6577 2065 7863 6570 7469 6f6e 732c few exceptions, │ │ │ │ │ +000083a0: 2077 6869 7465 2073 7061 6365 2069 7320 white space is │ │ │ │ │ +000083b0: 6e6f 742e 2020 5468 6973 0a69 6e63 6c75 not. This.inclu │ │ │ │ │ +000083c0: 6465 7320 6c69 6e65 2062 7265 616b 732e des line breaks. │ │ │ │ │ +000083d0: 2020 436f 6d6d 656e 7473 2062 6567 696e Comments begin │ │ │ │ │ +000083e0: 2077 6974 6820 e280 9825 e280 9920 6f72 with ...%... or │ │ │ │ │ +000083f0: 20e2 8098 23e2 8099 2061 6e64 2065 7874 ...#... and ext │ │ │ │ │ +00008400: 656e 6420 746f 2074 6865 0a65 6e64 206f end to the.end o │ │ │ │ │ +00008410: 6620 7468 6520 6c69 6e65 2e20 2059 6f75 f the line. You │ │ │ │ │ +00008420: 2063 616e 2064 6973 6162 6c65 2061 2063 can disable a c │ │ │ │ │ +00008430: 6875 6e6b 206f 6620 7379 6e74 6163 7469 hunk of syntacti │ │ │ │ │ +00008440: 6361 6c6c 7920 636f 7272 6563 740a e280 cally correct... │ │ │ │ │ +00008450: 9873 6b65 7463 68e2 8099 2063 6f64 6520 .sketch... code │ │ │ │ │ +00008460: 6279 2065 6e63 6c6f 7369 6e67 2069 7420 by enclosing it │ │ │ │ │ +00008470: 696e 2061 20e2 8098 6465 66e2 8099 2e20 in a ...def.... │ │ │ │ │ +00008480: 2054 6865 7265 2069 7320 6120 7369 6d70 There is a simp │ │ │ │ │ +00008490: 6c65 2022 696e 636c 7564 650a 6669 6c65 le "include.file │ │ │ │ │ +000084a0: 2220 6d65 6368 616e 6973 6d2e 2020 5468 " mechanism. Th │ │ │ │ │ +000084b0: 6520 636f 6d6d 616e 640a 2020 696e 7075 e command. inpu │ │ │ │ │ +000084c0: 747b 6f74 6865 7266 696c 652e 736b 7d0a t{otherfile.sk}. │ │ │ │ │ +000084d0: 6361 7573 6573 2074 6865 2063 6f6e 7465 causes the conte │ │ │ │ │ +000084e0: 6e74 7320 6f66 20e2 8098 6f74 6865 7266 nts of ...otherf │ │ │ │ │ +000084f0: 696c 652e 736b e280 9920 746f 2062 6520 ile.sk... to be │ │ │ │ │ +00008500: 696e 7365 7274 6564 2061 7320 7468 6f75 inserted as thou │ │ │ │ │ +00008510: 6768 2074 6865 7920 7765 7265 0a70 6172 gh they were.par │ │ │ │ │ +00008520: 7420 6f66 2074 6865 2063 7572 7265 6e74 t of the current │ │ │ │ │ +00008530: 2066 696c 652e 0a0a 2a20 4d65 6e75 3a0a file...* Menu:. │ │ │ │ │ +00008540: 0a2a 2049 6465 6e74 6966 6965 7273 3a3a .* Identifiers:: │ │ │ │ │ +00008550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00008560: 204e 616d 6573 2066 6f72 2074 6869 6e67 Names for thing │ │ │ │ │ +00008570: 732e 0a2a 204b 6579 2061 6e64 2072 6573 s..* Key and res │ │ │ │ │ +00008580: 6572 7665 6420 776f 7264 733a 3a20 2020 erved words:: │ │ │ │ │ +00008590: 2020 204e 616d 6573 2079 6f75 2073 686f Names you sho │ │ │ │ │ +000085a0: 756c 646e 2774 2075 7365 2e0a 2a20 4c69 uldn't use..* Li │ │ │ │ │ +000085b0: 7465 7261 6c73 3a3a 2020 2020 2020 2020 terals:: │ │ │ │ │ +000085c0: 2020 2020 2020 2020 2020 2020 436f 6e73 Cons │ │ │ │ │ +000085d0: 7461 6e74 7320 616e 6420 636f 6e73 7472 tants and constr │ │ │ │ │ +000085e0: 7563 746f 7273 2e0a 2a20 4172 6974 686d uctors..* Arithm │ │ │ │ │ +000085f0: 6574 6963 3a3a 2020 2020 2020 2020 2020 etic:: │ │ │ │ │ +00008600: 2020 2020 2020 2020 5275 6c65 7320 666f Rules fo │ │ │ │ │ +00008610: 7220 6578 7072 6573 7369 6f6e 732e 0a2a r expressions..* │ │ │ │ │ +00008620: 204f 7074 696f 6e73 3a3a 2020 2020 2020 Options:: │ │ │ │ │ +00008630: 2020 2020 2020 2020 2020 2020 2020 204d M │ │ │ │ │ +00008640: 6f64 6966 7969 6e67 206f 626a 6563 7420 odifying object │ │ │ │ │ +00008650: 6170 7065 6172 616e 6365 2e0a 0a1f 0a46 appearance.....F │ │ │ │ │ +00008660: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +00008670: 2c20 204e 6f64 653a 2049 6465 6e74 6966 , Node: Identif │ │ │ │ │ +00008680: 6965 7273 2c20 204e 6578 743a 204b 6579 iers, Next: Key │ │ │ │ │ +00008690: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo │ │ │ │ │ +000086a0: 7264 732c 2020 5072 6576 3a20 4c61 6e67 rds, Prev: Lang │ │ │ │ │ +000086b0: 7561 6765 2062 6173 6963 732c 2020 5570 uage basics, Up │ │ │ │ │ +000086c0: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic │ │ │ │ │ +000086d0: 730a 0a33 2e31 2e31 2049 6465 6e74 6966 s..3.1.1 Identif │ │ │ │ │ +000086e0: 6965 7273 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d iers.----------- │ │ │ │ │ +000086f0: 2d2d 2d2d 2d2d 0a0a 4964 656e 7469 6669 ------..Identifi │ │ │ │ │ +00008700: 6572 7320 696e 20e2 8098 736b 6574 6368 ers in ...sketch │ │ │ │ │ +00008710: e280 9920 6172 6520 7265 6665 7265 6e63 ... are referenc │ │ │ │ │ +00008720: 6573 2074 6f20 6561 726c 6965 722d 6465 es to earlier-de │ │ │ │ │ +00008730: 6669 6e65 6420 6f70 7469 6f6e 732c 0a73 fined options,.s │ │ │ │ │ +00008740: 6361 6c61 7273 2c20 706f 696e 7473 2c20 calars, points, │ │ │ │ │ +00008750: 7665 6374 6f72 732c 2074 7261 6e73 666f vectors, transfo │ │ │ │ │ +00008760: 726d 732c 2064 7261 7761 626c 6573 2c20 rms, drawables, │ │ │ │ │ +00008770: 616e 6420 7461 6773 2e20 2044 6566 696e and tags. Defin │ │ │ │ │ +00008780: 6974 696f 6e73 0a61 7265 2065 7870 6c61 itions.are expla │ │ │ │ │ +00008790: 696e 6564 2069 6e20 2a6e 6f74 6520 4465 ined in *note De │ │ │ │ │ +000087a0: 6669 6e69 7469 6f6e 733a 3a2e 0a0a 2020 finitions::... │ │ │ │ │ +000087b0: 2041 6e20 6964 656e 7469 6669 6572 2063 An identifier c │ │ │ │ │ +000087c0: 6f6e 7369 7374 7320 6f66 2061 206c 6561 onsists of a lea │ │ │ │ │ +000087d0: 6469 6e67 206c 6574 7465 7220 666f 6c6c ding letter foll │ │ │ │ │ +000087e0: 6f77 6564 2062 7920 6c65 7474 6572 732c owed by letters, │ │ │ │ │ +000087f0: 0a6e 756d 6265 7273 2061 6e64 2075 6e64 .numbers and und │ │ │ │ │ +00008800: 6572 7363 6f72 6573 2e20 2054 6865 206c erscores. The l │ │ │ │ │ +00008810: 6173 7420 6368 6172 6163 7465 7220 6d61 ast character ma │ │ │ │ │ +00008820: 7920 5f6e 6f74 5f20 6265 2061 6e20 756e y _not_ be an un │ │ │ │ │ +00008830: 6465 7273 636f 7265 2e0a 4b65 7977 6f72 derscore..Keywor │ │ │ │ │ +00008840: 6473 2063 616e 6e6f 7420 6265 2075 7365 ds cannot be use │ │ │ │ │ +00008850: 6420 6173 2069 6465 6e74 6966 6965 7273 d as identifiers │ │ │ │ │ +00008860: 2c20 616e 6420 7265 7365 7276 6564 2077 , and reserved w │ │ │ │ │ +00008870: 6f72 6473 206f 7567 6874 2074 6f20 6265 ords ought to be │ │ │ │ │ +00008880: 0a61 766f 6964 6564 2e20 202a 4e6f 7465 .avoided. *Note │ │ │ │ │ +00008890: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve │ │ │ │ │ +000088a0: 6420 776f 7264 733a 3a2e 0a0a 1f0a 4669 d words::.....Fi │ │ │ │ │ +000088b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +000088c0: 2020 4e6f 6465 3a20 4b65 7920 616e 6420 Node: Key and │ │ │ │ │ +000088d0: 7265 7365 7276 6564 2077 6f72 6473 2c20 reserved words, │ │ │ │ │ +000088e0: 204e 6578 743a 204c 6974 6572 616c 732c Next: Literals, │ │ │ │ │ +000088f0: 2020 5072 6576 3a20 4964 656e 7469 6669 Prev: Identifi │ │ │ │ │ +00008900: 6572 732c 2020 5570 3a20 4c61 6e67 7561 ers, Up: Langua │ │ │ │ │ +00008910: 6765 2062 6173 6963 730a 0a33 2e31 2e32 ge basics..3.1.2 │ │ │ │ │ +00008920: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve │ │ │ │ │ +00008930: 6420 776f 7264 730a 2d2d 2d2d 2d2d 2d2d d words.-------- │ │ │ │ │ 00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00008950: 2d2d 0a0a 5468 6520 6b65 7977 6f72 6473 --..The keywords │ │ │ │ │ -00008960: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ -00008970: 2061 7265 20e2 8098 7069 6374 7572 6562 are ...pictureb │ │ │ │ │ -00008980: 6f78 e280 9920 e280 9863 7572 7665 e280 ox... ...curve.. │ │ │ │ │ -00008990: 9920 e280 9864 6566 e280 9920 e280 9864 . ...def... ...d │ │ │ │ │ -000089a0: 6f74 73e2 8099 20e2 8098 6672 616d 65e2 ots... ...frame. │ │ │ │ │ -000089b0: 8099 0ae2 8098 676c 6f62 616c e280 9920 ......global... │ │ │ │ │ -000089c0: e280 9869 6e70 7574 e280 9920 e280 986c ...input... ...l │ │ │ │ │ -000089d0: 696e 65e2 8099 20e2 8098 706f 6c79 676f ine... ...polygo │ │ │ │ │ -000089e0: 6ee2 8099 20e2 8098 7075 74e2 8099 20e2 n... ...put... . │ │ │ │ │ -000089f0: 8098 7265 7065 6174 e280 9920 e280 9873 ..repeat... ...s │ │ │ │ │ -00008a00: 6574 e280 9920 e280 9873 7765 6570 e280 et... ...sweep.. │ │ │ │ │ -00008a10: 9920 616e 640a e280 9874 6865 6ee2 8099 . and....then... │ │ │ │ │ -00008a20: 2e20 2054 6865 20e2 8098 736b 6574 6368 . The ...sketch │ │ │ │ │ -00008a30: e280 9920 7061 7273 6572 2077 696c 6c20 ... parser will │ │ │ │ │ -00008a40: 6e6f 7465 2061 2073 796e 7461 7820 6572 note a syntax er │ │ │ │ │ -00008a50: 726f 7220 6966 2061 6e79 206f 6620 7468 ror if any of th │ │ │ │ │ -00008a60: 6573 650a 6172 6520 7573 6564 2069 6e20 ese.are used in │ │ │ │ │ -00008a70: 706c 6163 6520 6f66 2061 2070 726f 7065 place of a prope │ │ │ │ │ -00008a80: 7220 6964 656e 7469 6669 6572 2e0a 0a20 r identifier... │ │ │ │ │ -00008a90: 2020 496e 2061 6464 6974 696f 6e2c 2074 In addition, t │ │ │ │ │ -00008aa0: 6865 7265 2061 7265 2072 6573 6572 7665 here are reserve │ │ │ │ │ -00008ab0: 6420 776f 7264 7320 7468 6174 2063 616e d words that can │ │ │ │ │ -00008ac0: 2063 7572 7265 6e74 6c79 2062 6520 6465 currently be de │ │ │ │ │ -00008ad0: 6669 6e65 640a 6279 2074 6865 2075 7365 fined.by the use │ │ │ │ │ -00008ae0: 722c 2062 7574 2077 6974 6820 7468 6520 r, but with the │ │ │ │ │ -00008af0: 7269 736b 2074 6861 7420 6675 7475 7265 risk that future │ │ │ │ │ -00008b00: 2076 6572 7369 6f6e 7320 6f66 20e2 8098 versions of ... │ │ │ │ │ -00008b10: 736b 6574 6368 e280 9920 7769 6c6c 0a72 sketch... will.r │ │ │ │ │ -00008b20: 656a 6563 7420 7468 6f73 6520 6465 6669 eject those defi │ │ │ │ │ -00008b30: 6e69 7469 6f6e 732e 2020 5468 6520 7265 nitions. The re │ │ │ │ │ -00008b40: 7365 7276 6564 2077 6f72 6473 2061 7265 served words are │ │ │ │ │ -00008b50: 20e2 8098 6163 6f73 e280 9920 e280 9861 ...acos... ...a │ │ │ │ │ -00008b60: 7369 6ee2 8099 20e2 8098 6174 616e 32e2 sin... ...atan2. │ │ │ │ │ -00008b70: 8099 0ae2 8098 636f 73e2 8099 20e2 8098 ......cos... ... │ │ │ │ │ -00008b80: 696e 7665 7273 65e2 8099 20e2 8098 7065 inverse... ...pe │ │ │ │ │ -00008b90: 7273 7065 6374 6976 65e2 8099 20e2 8098 rspective... ... │ │ │ │ │ -00008ba0: 7072 6f6a 6563 74e2 8099 20e2 8098 726f project... ...ro │ │ │ │ │ -00008bb0: 7461 7465 e280 9920 e280 9873 6361 6c65 tate... ...scale │ │ │ │ │ -00008bc0: e280 9920 e280 9873 696e e280 9920 e280 ... ...sin... .. │ │ │ │ │ -00008bd0: 9873 7065 6369 616c e280 990a e280 9873 .special.......s │ │ │ │ │ -00008be0: 7172 74e2 8099 20e2 8098 7472 616e 736c qrt... ...transl │ │ │ │ │ -00008bf0: 6174 65e2 8099 20e2 8098 756e 6974 e280 ate... ...unit.. │ │ │ │ │ -00008c00: 9920 616e 6420 e280 9876 6965 77e2 8099 . and ...view... │ │ │ │ │ -00008c10: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -00008c20: 682e 696e 666f 2c20 204e 6f64 653a 204c h.info, Node: L │ │ │ │ │ -00008c30: 6974 6572 616c 732c 2020 4e65 7874 3a20 iterals, Next: │ │ │ │ │ -00008c40: 4172 6974 686d 6574 6963 2c20 2050 7265 Arithmetic, Pre │ │ │ │ │ -00008c50: 763a 204b 6579 2061 6e64 2072 6573 6572 v: Key and reser │ │ │ │ │ -00008c60: 7665 6420 776f 7264 732c 2020 5570 3a20 ved words, Up: │ │ │ │ │ -00008c70: 4c61 6e67 7561 6765 2062 6173 6963 730a Language basics. │ │ │ │ │ -00008c80: 0a33 2e31 2e33 204c 6974 6572 616c 730a .3.1.3 Literals. │ │ │ │ │ -00008c90: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ -00008ca0: 4c69 7465 7261 6c73 2069 6e20 e280 9873 Literals in ...s │ │ │ │ │ -00008cb0: 6b65 7463 68e2 8099 2069 6e63 6c75 6465 ketch... include │ │ │ │ │ -00008cc0: 2073 6361 6c61 7273 2c20 706f 696e 7473 scalars, points │ │ │ │ │ -00008cd0: 2c20 7665 6374 6f72 732c 2061 6e64 2074 , vectors, and t │ │ │ │ │ -00008ce0: 7261 6e73 666f 726d 732e 0a4c 6974 6572 ransforms..Liter │ │ │ │ │ -00008cf0: 616c 732c 2061 6c6f 6e67 2077 6974 6820 als, along with │ │ │ │ │ -00008d00: 6465 6669 6e65 6420 6f62 6a65 6374 2072 defined object r │ │ │ │ │ -00008d10: 6566 6572 656e 6365 732c 2061 7265 2075 eferences, are u │ │ │ │ │ -00008d20: 7365 6420 696e 2061 7269 7468 6d65 7469 sed in arithmeti │ │ │ │ │ -00008d30: 630a 6578 7072 6573 7369 6f6e 732e 2020 c.expressions. │ │ │ │ │ -00008d40: 2a4e 6f74 6520 4172 6974 686d 6574 6963 *Note Arithmetic │ │ │ │ │ -00008d50: 3a3a 2e0a 0a2a 204d 656e 753a 0a0a 2a20 ::...* Menu:..* │ │ │ │ │ -00008d60: 5363 616c 6172 206c 6974 6572 616c 733a Scalar literals: │ │ │ │ │ -00008d70: 3a20 2020 2020 2020 2020 2020 2020 4a75 : Ju │ │ │ │ │ -00008d80: 7374 2074 6865 206e 756d 6265 7273 2e0a st the numbers.. │ │ │ │ │ -00008d90: 2a20 506f 696e 7420 616e 6420 7665 6374 * Point and vect │ │ │ │ │ -00008da0: 6f72 206c 6974 6572 616c 733a 3a20 2020 or literals:: │ │ │ │ │ -00008db0: 3364 2071 7561 6e74 6974 6965 732e 0a2a 3d quantities..* │ │ │ │ │ -00008dc0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -00008dd0: 616c 733a 3a20 2020 2020 2020 2020 204d als:: M │ │ │ │ │ -00008de0: 6174 7269 7820 666f 726d 2e0a 0a1f 0a46 atrix form.....F │ │ │ │ │ -00008df0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00008e00: 2c20 204e 6f64 653a 2053 6361 6c61 7220 , Node: Scalar │ │ │ │ │ -00008e10: 6c69 7465 7261 6c73 2c20 204e 6578 743a literals, Next: │ │ │ │ │ -00008e20: 2050 6f69 6e74 2061 6e64 2076 6563 746f Point and vecto │ │ │ │ │ -00008e30: 7220 6c69 7465 7261 6c73 2c20 2050 7265 r literals, Pre │ │ │ │ │ -00008e40: 763a 204c 6974 6572 616c 732c 2020 5570 v: Literals, Up │ │ │ │ │ -00008e50: 3a20 4c69 7465 7261 6c73 0a0a 332e 312e : Literals..3.1. │ │ │ │ │ -00008e60: 332e 3120 5363 616c 6172 206c 6974 6572 3.1 Scalar liter │ │ │ │ │ -00008e70: 616c 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e als............. │ │ │ │ │ -00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a53 6361 .............Sca │ │ │ │ │ -00008e90: 6c61 7220 6c69 7465 7261 6c73 2061 7265 lar literals are │ │ │ │ │ -00008ea0: 2070 6f73 6974 6976 6520 666c 6f61 7469 positive floati │ │ │ │ │ -00008eb0: 6e67 2070 6f69 6e74 206e 756d 6265 7273 ng point numbers │ │ │ │ │ -00008ec0: 2077 6974 6820 7379 6e74 6178 0a61 6363 with syntax.acc │ │ │ │ │ -00008ed0: 6f72 6469 6e67 2074 6f20 4320 636f 6e76 ording to C conv │ │ │ │ │ -00008ee0: 656e 7469 6f6e 732e 2020 5468 6520 666f entions. The fo │ │ │ │ │ -00008ef0: 6c6c 6f77 696e 6720 6172 6520 736f 6d65 llowing are some │ │ │ │ │ -00008f00: 2065 7861 6d70 6c65 732e 0a20 2020 2020 examples.. │ │ │ │ │ -00008f10: 3020 3130 3034 202e 3030 3120 382e 3331 0 1004 .001 8.31 │ │ │ │ │ -00008f20: 3433 2033 2e20 312e 3630 452d 3139 2036 43 3. 1.60E-19 6 │ │ │ │ │ -00008f30: 2e30 3265 2b32 330a 5363 616c 6172 206c .02e+23.Scalar l │ │ │ │ │ -00008f40: 6974 6572 616c 7320 6d61 7920 6e6f 7420 iterals may not │ │ │ │ │ -00008f50: 636f 6e74 6169 6e20 656d 6265 6464 6564 contain embedded │ │ │ │ │ -00008f60: 2073 7061 6365 732e 0a0a 1f0a 4669 6c65 spaces.....File │ │ │ │ │ -00008f70: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -00008f80: 4e6f 6465 3a20 506f 696e 7420 616e 6420 Node: Point and │ │ │ │ │ -00008f90: 7665 6374 6f72 206c 6974 6572 616c 732c vector literals, │ │ │ │ │ -00008fa0: 2020 4e65 7874 3a20 5472 616e 7366 6f72 Next: Transfor │ │ │ │ │ -00008fb0: 6d20 6c69 7465 7261 6c73 2c20 2050 7265 m literals, Pre │ │ │ │ │ -00008fc0: 763a 2053 6361 6c61 7220 6c69 7465 7261 v: Scalar litera │ │ │ │ │ -00008fd0: 6c73 2c20 2055 703a 204c 6974 6572 616c ls, Up: Literal │ │ │ │ │ -00008fe0: 730a 0a33 2e31 2e33 2e32 2050 6f69 6e74 s..3.1.3.2 Point │ │ │ │ │ -00008ff0: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite │ │ │ │ │ -00009000: 7261 6c73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e rals............ │ │ │ │ │ +00008950: 2d2d 2d2d 0a0a 5468 6520 6b65 7977 6f72 ----..The keywor │ │ │ │ │ +00008960: 6473 206f 6620 e280 9873 6b65 7463 68e2 ds of ...sketch. │ │ │ │ │ +00008970: 8099 2061 7265 20e2 8098 7069 6374 7572 .. are ...pictur │ │ │ │ │ +00008980: 6562 6f78 e280 9920 e280 9863 7572 7665 ebox... ...curve │ │ │ │ │ +00008990: e280 9920 e280 9864 6566 e280 9920 e280 ... ...def... .. │ │ │ │ │ +000089a0: 9864 6f74 73e2 8099 20e2 8098 6672 616d .dots... ...fram │ │ │ │ │ +000089b0: 65e2 8099 0ae2 8098 676c 6f62 616c e280 e.......global.. │ │ │ │ │ +000089c0: 9920 e280 9869 6e70 7574 e280 9920 e280 . ...input... .. │ │ │ │ │ +000089d0: 986c 696e 65e2 8099 20e2 8098 706f 6c79 .line... ...poly │ │ │ │ │ +000089e0: 676f 6ee2 8099 20e2 8098 7075 74e2 8099 gon... ...put... │ │ │ │ │ +000089f0: 20e2 8098 7265 7065 6174 e280 9920 e280 ...repeat... .. │ │ │ │ │ +00008a00: 9873 6574 e280 9920 e280 9873 7765 6570 .set... ...sweep │ │ │ │ │ +00008a10: e280 9920 616e 640a e280 9874 6865 6ee2 ... and....then. │ │ │ │ │ +00008a20: 8099 2e20 2054 6865 20e2 8098 736b 6574 ... The ...sket │ │ │ │ │ +00008a30: 6368 e280 9920 7061 7273 6572 2077 696c ch... parser wil │ │ │ │ │ +00008a40: 6c20 6e6f 7465 2061 2073 796e 7461 7820 l note a syntax │ │ │ │ │ +00008a50: 6572 726f 7220 6966 2061 6e79 206f 6620 error if any of │ │ │ │ │ +00008a60: 7468 6573 650a 6172 6520 7573 6564 2069 these.are used i │ │ │ │ │ +00008a70: 6e20 706c 6163 6520 6f66 2061 2070 726f n place of a pro │ │ │ │ │ +00008a80: 7065 7220 6964 656e 7469 6669 6572 2e0a per identifier.. │ │ │ │ │ +00008a90: 0a20 2020 496e 2061 6464 6974 696f 6e2c . In addition, │ │ │ │ │ +00008aa0: 2074 6865 7265 2061 7265 2072 6573 6572 there are reser │ │ │ │ │ +00008ab0: 7665 6420 776f 7264 7320 7468 6174 2063 ved words that c │ │ │ │ │ +00008ac0: 616e 2063 7572 7265 6e74 6c79 2062 6520 an currently be │ │ │ │ │ +00008ad0: 6465 6669 6e65 640a 6279 2074 6865 2075 defined.by the u │ │ │ │ │ +00008ae0: 7365 722c 2062 7574 2077 6974 6820 7468 ser, but with th │ │ │ │ │ +00008af0: 6520 7269 736b 2074 6861 7420 6675 7475 e risk that futu │ │ │ │ │ +00008b00: 7265 2076 6572 7369 6f6e 7320 6f66 20e2 re versions of . │ │ │ │ │ +00008b10: 8098 736b 6574 6368 e280 9920 7769 6c6c ..sketch... will │ │ │ │ │ +00008b20: 0a72 656a 6563 7420 7468 6f73 6520 6465 .reject those de │ │ │ │ │ +00008b30: 6669 6e69 7469 6f6e 732e 2020 5468 6520 finitions. The │ │ │ │ │ +00008b40: 7265 7365 7276 6564 2077 6f72 6473 2061 reserved words a │ │ │ │ │ +00008b50: 7265 20e2 8098 6163 6f73 e280 9920 e280 re ...acos... .. │ │ │ │ │ +00008b60: 9861 7369 6ee2 8099 20e2 8098 6174 616e .asin... ...atan │ │ │ │ │ +00008b70: 32e2 8099 0ae2 8098 636f 73e2 8099 20e2 2.......cos... . │ │ │ │ │ +00008b80: 8098 696e 7665 7273 65e2 8099 20e2 8098 ..inverse... ... │ │ │ │ │ +00008b90: 7065 7273 7065 6374 6976 65e2 8099 20e2 perspective... . │ │ │ │ │ +00008ba0: 8098 7072 6f6a 6563 74e2 8099 20e2 8098 ..project... ... │ │ │ │ │ +00008bb0: 726f 7461 7465 e280 9920 e280 9873 6361 rotate... ...sca │ │ │ │ │ +00008bc0: 6c65 e280 9920 e280 9873 696e e280 9920 le... ...sin... │ │ │ │ │ +00008bd0: e280 9873 7065 6369 616c e280 990a e280 ...special...... │ │ │ │ │ +00008be0: 9873 7172 74e2 8099 20e2 8098 7472 616e .sqrt... ...tran │ │ │ │ │ +00008bf0: 736c 6174 65e2 8099 20e2 8098 756e 6974 slate... ...unit │ │ │ │ │ +00008c00: e280 9920 616e 6420 e280 9876 6965 77e2 ... and ...view. │ │ │ │ │ +00008c10: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske │ │ │ │ │ +00008c20: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00008c30: 204c 6974 6572 616c 732c 2020 4e65 7874 Literals, Next │ │ │ │ │ +00008c40: 3a20 4172 6974 686d 6574 6963 2c20 2050 : Arithmetic, P │ │ │ │ │ +00008c50: 7265 763a 204b 6579 2061 6e64 2072 6573 rev: Key and res │ │ │ │ │ +00008c60: 6572 7665 6420 776f 7264 732c 2020 5570 erved words, Up │ │ │ │ │ +00008c70: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic │ │ │ │ │ +00008c80: 730a 0a33 2e31 2e33 204c 6974 6572 616c s..3.1.3 Literal │ │ │ │ │ +00008c90: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.-------------- │ │ │ │ │ +00008ca0: 0a0a 4c69 7465 7261 6c73 2069 6e20 e280 ..Literals in .. │ │ │ │ │ +00008cb0: 9873 6b65 7463 68e2 8099 2069 6e63 6c75 .sketch... inclu │ │ │ │ │ +00008cc0: 6465 2073 6361 6c61 7273 2c20 706f 696e de scalars, poin │ │ │ │ │ +00008cd0: 7473 2c20 7665 6374 6f72 732c 2061 6e64 ts, vectors, and │ │ │ │ │ +00008ce0: 2074 7261 6e73 666f 726d 732e 0a4c 6974 transforms..Lit │ │ │ │ │ +00008cf0: 6572 616c 732c 2061 6c6f 6e67 2077 6974 erals, along wit │ │ │ │ │ +00008d00: 6820 6465 6669 6e65 6420 6f62 6a65 6374 h defined object │ │ │ │ │ +00008d10: 2072 6566 6572 656e 6365 732c 2061 7265 references, are │ │ │ │ │ +00008d20: 2075 7365 6420 696e 2061 7269 7468 6d65 used in arithme │ │ │ │ │ +00008d30: 7469 630a 6578 7072 6573 7369 6f6e 732e tic.expressions. │ │ │ │ │ +00008d40: 2020 2a4e 6f74 6520 4172 6974 686d 6574 *Note Arithmet │ │ │ │ │ +00008d50: 6963 3a3a 2e0a 0a2a 204d 656e 753a 0a0a ic::...* Menu:.. │ │ │ │ │ +00008d60: 2a20 5363 616c 6172 206c 6974 6572 616c * Scalar literal │ │ │ │ │ +00008d70: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +00008d80: 4a75 7374 2074 6865 206e 756d 6265 7273 Just the numbers │ │ │ │ │ +00008d90: 2e0a 2a20 506f 696e 7420 616e 6420 7665 ..* Point and ve │ │ │ │ │ +00008da0: 6374 6f72 206c 6974 6572 616c 733a 3a20 ctor literals:: │ │ │ │ │ +00008db0: 2020 3364 2071 7561 6e74 6974 6965 732e 3d quantities. │ │ │ │ │ +00008dc0: 0a2a 2054 7261 6e73 666f 726d 206c 6974 .* Transform lit │ │ │ │ │ +00008dd0: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: │ │ │ │ │ +00008de0: 204d 6174 7269 7820 666f 726d 2e0a 0a1f Matrix form.... │ │ │ │ │ +00008df0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00008e00: 666f 2c20 204e 6f64 653a 2053 6361 6c61 fo, Node: Scala │ │ │ │ │ +00008e10: 7220 6c69 7465 7261 6c73 2c20 204e 6578 r literals, Nex │ │ │ │ │ +00008e20: 743a 2050 6f69 6e74 2061 6e64 2076 6563 t: Point and vec │ │ │ │ │ +00008e30: 746f 7220 6c69 7465 7261 6c73 2c20 2050 tor literals, P │ │ │ │ │ +00008e40: 7265 763a 204c 6974 6572 616c 732c 2020 rev: Literals, │ │ │ │ │ +00008e50: 5570 3a20 4c69 7465 7261 6c73 0a0a 332e Up: Literals..3. │ │ │ │ │ +00008e60: 312e 332e 3120 5363 616c 6172 206c 6974 1.3.1 Scalar lit │ │ │ │ │ +00008e70: 6572 616c 730a 2e2e 2e2e 2e2e 2e2e 2e2e erals........... │ │ │ │ │ +00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a53 ...............S │ │ │ │ │ +00008e90: 6361 6c61 7220 6c69 7465 7261 6c73 2061 calar literals a │ │ │ │ │ +00008ea0: 7265 2070 6f73 6974 6976 6520 666c 6f61 re positive floa │ │ │ │ │ +00008eb0: 7469 6e67 2070 6f69 6e74 206e 756d 6265 ting point numbe │ │ │ │ │ +00008ec0: 7273 2077 6974 6820 7379 6e74 6178 0a61 rs with syntax.a │ │ │ │ │ +00008ed0: 6363 6f72 6469 6e67 2074 6f20 4320 636f ccording to C co │ │ │ │ │ +00008ee0: 6e76 656e 7469 6f6e 732e 2020 5468 6520 nventions. The │ │ │ │ │ +00008ef0: 666f 6c6c 6f77 696e 6720 6172 6520 736f following are so │ │ │ │ │ +00008f00: 6d65 2065 7861 6d70 6c65 732e 0a20 2020 me examples.. │ │ │ │ │ +00008f10: 2020 3020 3130 3034 202e 3030 3120 382e 0 1004 .001 8. │ │ │ │ │ +00008f20: 3331 3433 2033 2e20 312e 3630 452d 3139 3143 3. 1.60E-19 │ │ │ │ │ +00008f30: 2036 2e30 3265 2b32 330a 5363 616c 6172 6.02e+23.Scalar │ │ │ │ │ +00008f40: 206c 6974 6572 616c 7320 6d61 7920 6e6f literals may no │ │ │ │ │ +00008f50: 7420 636f 6e74 6169 6e20 656d 6265 6464 t contain embedd │ │ │ │ │ +00008f60: 6564 2073 7061 6365 732e 0a0a 1f0a 4669 ed spaces.....Fi │ │ │ │ │ +00008f70: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +00008f80: 2020 4e6f 6465 3a20 506f 696e 7420 616e Node: Point an │ │ │ │ │ +00008f90: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal │ │ │ │ │ +00008fa0: 732c 2020 4e65 7874 3a20 5472 616e 7366 s, Next: Transf │ │ │ │ │ +00008fb0: 6f72 6d20 6c69 7465 7261 6c73 2c20 2050 orm literals, P │ │ │ │ │ +00008fc0: 7265 763a 2053 6361 6c61 7220 6c69 7465 rev: Scalar lite │ │ │ │ │ +00008fd0: 7261 6c73 2c20 2055 703a 204c 6974 6572 rals, Up: Liter │ │ │ │ │ +00008fe0: 616c 730a 0a33 2e31 2e33 2e32 2050 6f69 als..3.1.3.2 Poi │ │ │ │ │ +00008ff0: 6e74 2061 6e64 2076 6563 746f 7220 6c69 nt and vector li │ │ │ │ │ +00009000: 7465 7261 6c73 0a2e 2e2e 2e2e 2e2e 2e2e terals.......... │ │ │ │ │ 00009010: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00009020: 2e2e 2e2e 2e2e 0a0a 506f 696e 7473 2061 ........Points a │ │ │ │ │ -00009030: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera │ │ │ │ │ -00009040: 6c73 2068 6176 6520 7468 6573 6520 666f ls have these fo │ │ │ │ │ -00009050: 726d 7320 7265 7370 6563 7469 7665 6c79 rms respectively │ │ │ │ │ -00009060: 2e0a 2020 2020 2028 582c 592c 5a29 2020 .. (X,Y,Z) │ │ │ │ │ -00009070: 5b58 2c59 2c5a 5d0a 4561 6368 206f 6620 [X,Y,Z].Each of │ │ │ │ │ -00009080: 7468 6520 636f 6d70 6f6e 656e 7473 2069 the components i │ │ │ │ │ -00009090: 7320 6974 7365 6c66 2061 2073 6361 6c61 s itself a scala │ │ │ │ │ -000090a0: 7220 6578 7072 6573 7369 6f6e 2e20 2054 r expression. T │ │ │ │ │ -000090b0: 6865 207a 2d63 6f6d 706f 6e65 6e74 730a he z-components. │ │ │ │ │ -000090c0: 6172 6520 6f70 7469 6f6e 616c 2061 6e64 are optional and │ │ │ │ │ -000090d0: 2064 6566 6175 6c74 2074 6f20 7a65 726f default to zero │ │ │ │ │ -000090e0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -000090f0: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T │ │ │ │ │ -00009100: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -00009110: 732c 2020 5072 6576 3a20 506f 696e 7420 s, Prev: Point │ │ │ │ │ -00009120: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter │ │ │ │ │ -00009130: 616c 732c 2020 5570 3a20 4c69 7465 7261 als, Up: Litera │ │ │ │ │ -00009140: 6c73 0a0a 332e 312e 332e 3320 5472 616e ls..3.1.3.3 Tran │ │ │ │ │ -00009150: 7366 6f72 6d20 6c69 7465 7261 6c73 0a2e sform literals.. │ │ │ │ │ -00009160: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00009170: 2e2e 2e2e 2e2e 2e2e 2e0a 0a4d 6f73 7420 ...........Most │ │ │ │ │ -00009180: 7472 616e 7366 6f72 6d20 6c69 7465 7261 transform litera │ │ │ │ │ -00009190: 6c73 2061 7265 2066 6f72 6d65 6420 6279 ls are formed by │ │ │ │ │ -000091a0: 20e2 809c 636f 6e73 7472 7563 746f 7273 ...constructors │ │ │ │ │ -000091b0: e280 9d2e 2020 5468 6573 6520 6172 650a .... These are. │ │ │ │ │ -000091c0: 7375 6d6d 6172 697a 6564 2069 6e20 7468 summarized in th │ │ │ │ │ -000091d0: 6520 666f 6c6c 6f77 696e 6720 7461 626c e following tabl │ │ │ │ │ -000091e0: 652e 0a43 6f6e 7374 7275 6374 6f72 2020 e..Constructor │ │ │ │ │ +00009020: 2e2e 2e2e 2e2e 2e2e 0a0a 506f 696e 7473 ..........Points │ │ │ │ │ +00009030: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite │ │ │ │ │ +00009040: 7261 6c73 2068 6176 6520 7468 6573 6520 rals have these │ │ │ │ │ +00009050: 666f 726d 7320 7265 7370 6563 7469 7665 forms respective │ │ │ │ │ +00009060: 6c79 2e0a 2020 2020 2028 582c 592c 5a29 ly.. (X,Y,Z) │ │ │ │ │ +00009070: 2020 5b58 2c59 2c5a 5d0a 4561 6368 206f [X,Y,Z].Each o │ │ │ │ │ +00009080: 6620 7468 6520 636f 6d70 6f6e 656e 7473 f the components │ │ │ │ │ +00009090: 2069 7320 6974 7365 6c66 2061 2073 6361 is itself a sca │ │ │ │ │ +000090a0: 6c61 7220 6578 7072 6573 7369 6f6e 2e20 lar expression. │ │ │ │ │ +000090b0: 2054 6865 207a 2d63 6f6d 706f 6e65 6e74 The z-component │ │ │ │ │ +000090c0: 730a 6172 6520 6f70 7469 6f6e 616c 2061 s.are optional a │ │ │ │ │ +000090d0: 6e64 2064 6566 6175 6c74 2074 6f20 7a65 nd default to ze │ │ │ │ │ +000090e0: 726f 2e0a 0a1f 0a46 696c 653a 2073 6b65 ro.....File: ske │ │ │ │ │ +000090f0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00009100: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00009110: 616c 732c 2020 5072 6576 3a20 506f 696e als, Prev: Poin │ │ │ │ │ +00009120: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit │ │ │ │ │ +00009130: 6572 616c 732c 2020 5570 3a20 4c69 7465 erals, Up: Lite │ │ │ │ │ +00009140: 7261 6c73 0a0a 332e 312e 332e 3320 5472 rals..3.1.3.3 Tr │ │ │ │ │ +00009150: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ +00009160: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a4d 6f73 .............Mos │ │ │ │ │ +00009180: 7420 7472 616e 7366 6f72 6d20 6c69 7465 t transform lite │ │ │ │ │ +00009190: 7261 6c73 2061 7265 2066 6f72 6d65 6420 rals are formed │ │ │ │ │ +000091a0: 6279 20e2 809c 636f 6e73 7472 7563 746f by ...constructo │ │ │ │ │ +000091b0: 7273 e280 9d2e 2020 5468 6573 6520 6172 rs.... These ar │ │ │ │ │ +000091c0: 650a 7375 6d6d 6172 697a 6564 2069 6e20 e.summarized in │ │ │ │ │ +000091d0: 7468 6520 666f 6c6c 6f77 696e 6720 7461 the following ta │ │ │ │ │ +000091e0: 626c 652e 0a43 6f6e 7374 7275 6374 6f72 ble..Constructor │ │ │ │ │ 000091f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009200: 2020 2020 2020 2050 6172 616d 2074 7970 Param typ │ │ │ │ │ -00009210: 6573 2020 2020 2020 2020 2020 2044 6573 es Des │ │ │ │ │ -00009220: 6372 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d cription.------- │ │ │ │ │ +00009200: 2020 2020 2020 2020 2050 6172 616d 2074 Param t │ │ │ │ │ +00009210: 7970 6573 2020 2020 2020 2020 2020 2044 ypes D │ │ │ │ │ +00009220: 6573 6372 6970 7469 6f6e 0a2d 2d2d 2d2d escription.----- │ │ │ │ │ 00009230: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009240: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009250: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009260: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009270: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00009280: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00009290: 2d2d 2d2d 0ae2 8098 726f 7461 7465 2841 ----....rotate(A │ │ │ │ │ -000092a0: 2c50 2c58 29e2 8099 2020 2020 2020 2020 ,P,X)... │ │ │ │ │ -000092b0: 2020 2020 2020 2020 2020 2020 2073 6361 sca │ │ │ │ │ -000092c0: 6c61 722c 706f 696e 742c 7665 6374 6f72 lar,point,vector │ │ │ │ │ -000092d0: 2020 2052 6f74 6174 6520 e280 9841 e280 Rotate ...A.. │ │ │ │ │ -000092e0: 9920 6465 6772 6565 7320 6162 6f75 7420 . degrees about │ │ │ │ │ -000092f0: 706f 696e 7420 e280 9850 e280 9920 7769 point ...P... wi │ │ │ │ │ -00009300: 7468 2061 7869 730a 2020 2020 2020 2020 th axis. │ │ │ │ │ +00009290: 2d2d 2d2d 2d2d 0ae2 8098 726f 7461 7465 ------....rotate │ │ │ │ │ +000092a0: 2841 2c50 2c58 29e2 8099 2020 2020 2020 (A,P,X)... │ │ │ │ │ +000092b0: 2020 2020 2020 2020 2020 2020 2020 2073 s │ │ │ │ │ +000092c0: 6361 6c61 722c 706f 696e 742c 7665 6374 calar,point,vect │ │ │ │ │ +000092d0: 6f72 2020 2052 6f74 6174 6520 e280 9841 or Rotate ...A │ │ │ │ │ +000092e0: e280 9920 6465 6772 6565 7320 6162 6f75 ... degrees abou │ │ │ │ │ +000092f0: 7420 706f 696e 7420 e280 9850 e280 9920 t point ...P... │ │ │ │ │ +00009300: 7769 7468 2061 7869 730a 2020 2020 2020 with axis. │ │ │ │ │ 00009310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009340: 2020 e280 9858 e280 9920 6163 636f 7264 ...X... accord │ │ │ │ │ -00009350: 696e 6720 746f 2074 6865 2072 6967 6874 ing to the right │ │ │ │ │ -00009360: 2068 616e 6420 7275 6c65 2e0a 2020 2020 hand rule.. │ │ │ │ │ +00009340: 2020 2020 e280 9858 e280 9920 6163 636f ...X... acco │ │ │ │ │ +00009350: 7264 696e 6720 746f 2074 6865 2072 6967 rding to the rig │ │ │ │ │ +00009360: 6874 2068 616e 6420 7275 6c65 2e0a 2020 ht hand rule.. │ │ │ │ │ 00009370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000093a0: 2020 2020 2020 2a4e 6f74 6520 5269 6768 *Note Righ │ │ │ │ │ -000093b0: 7420 6861 6e64 2072 756c 653a 3a2e 2020 t hand rule::. │ │ │ │ │ -000093c0: e280 9850 e280 9920 616e 6420 e280 9858 ...P... and ...X │ │ │ │ │ -000093d0: e280 9920 6172 6520 626f 7468 0a20 2020 ... are both. │ │ │ │ │ +000093a0: 2020 2020 2020 2020 2a4e 6f74 6520 5269 *Note Ri │ │ │ │ │ +000093b0: 6768 7420 6861 6e64 2072 756c 653a 3a2e ght hand rule::. │ │ │ │ │ +000093c0: 2020 e280 9850 e280 9920 616e 6420 e280 ...P... and .. │ │ │ │ │ +000093d0: 9858 e280 9920 6172 6520 626f 7468 0a20 .X... are both. │ │ │ │ │ 000093e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000093f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009410: 2020 2020 2020 206f 7074 696f 6e61 6c20 optional │ │ │ │ │ -00009420: 616e 6420 6465 6661 756c 7420 746f 2074 and default to t │ │ │ │ │ -00009430: 6865 206f 7269 6769 6e20 616e 6420 7468 he origin and th │ │ │ │ │ -00009440: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ │ │ +00009410: 2020 2020 2020 2020 206f 7074 696f 6e61 optiona │ │ │ │ │ +00009420: 6c20 616e 6420 6465 6661 756c 7420 746f l and default to │ │ │ │ │ +00009430: 2074 6865 206f 7269 6769 6e20 616e 6420 the origin and │ │ │ │ │ +00009440: 7468 650a 2020 2020 2020 2020 2020 2020 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 7a2d 6178 z-ax │ │ │ │ │ -00009480: 6973 2072 6573 7065 6374 6976 656c 792e is respectively. │ │ │ │ │ -00009490: 0ae2 8098 7472 616e 736c 6174 6528 5829 ....translate(X) │ │ │ │ │ -000094a0: e280 9920 2020 2020 2020 2020 2020 2020 ... │ │ │ │ │ -000094b0: 2020 2020 2020 2020 2076 6563 746f 7220 vector │ │ │ │ │ -000094c0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -000094d0: 7261 6e73 6c61 7465 2062 7920 e280 9858 ranslate by ...X │ │ │ │ │ -000094e0: e280 992e 0ae2 8098 7363 616c 6528 5329 ........scale(S) │ │ │ │ │ -000094f0: e280 9920 2020 2020 2020 2020 2020 2020 ... │ │ │ │ │ -00009500: 2020 2020 2020 2020 2020 2020 2073 6361 sca │ │ │ │ │ -00009510: 6c61 7220 2020 2020 2020 2020 2020 2020 lar │ │ │ │ │ -00009520: 2020 2053 6361 6c65 2075 6e69 666f 726d Scale uniform │ │ │ │ │ -00009530: 6c79 2062 7920 6661 6374 6f72 20e2 8098 ly by factor ... │ │ │ │ │ -00009540: 53e2 8099 2e0a e280 9873 6361 6c65 2856 S........scale(V │ │ │ │ │ -00009550: 29e2 8099 2020 2020 2020 2020 2020 2020 )... │ │ │ │ │ -00009560: 2020 2020 2020 2020 2020 2020 2020 7665 ve │ │ │ │ │ -00009570: 6374 6f72 2020 2020 2020 2020 2020 2020 ctor │ │ │ │ │ -00009580: 2020 2020 5363 616c 6520 616c 6f6e 6720 Scale along │ │ │ │ │ -00009590: 6561 6368 2061 7869 7320 6279 2063 6f6d each axis by com │ │ │ │ │ -000095a0: 706f 6e65 6e74 7320 6f66 20e2 8098 56e2 ponents of ...V. │ │ │ │ │ -000095b0: 8099 2e0a e280 9870 726f 6a65 6374 2829 .......project() │ │ │ │ │ -000095c0: e280 9920 2020 2020 2020 2020 2020 2020 ... │ │ │ │ │ -000095d0: 2020 2020 2020 2020 2020 2020 2d2d 2020 -- │ │ │ │ │ +00009470: 2020 2020 2020 2020 2020 2020 2020 7a2d z- │ │ │ │ │ +00009480: 6178 6973 2072 6573 7065 6374 6976 656c axis respectivel │ │ │ │ │ +00009490: 792e 0ae2 8098 7472 616e 736c 6174 6528 y.....translate( │ │ │ │ │ +000094a0: 5829 e280 9920 2020 2020 2020 2020 2020 X)... │ │ │ │ │ +000094b0: 2020 2020 2020 2020 2020 2076 6563 746f vecto │ │ │ │ │ +000094c0: 7220 2020 2020 2020 2020 2020 2020 2020 r │ │ │ │ │ +000094d0: 2054 7261 6e73 6c61 7465 2062 7920 e280 Translate by .. │ │ │ │ │ +000094e0: 9858 e280 992e 0ae2 8098 7363 616c 6528 .X........scale( │ │ │ │ │ +000094f0: 5329 e280 9920 2020 2020 2020 2020 2020 S)... │ │ │ │ │ +00009500: 2020 2020 2020 2020 2020 2020 2020 2073 s │ │ │ │ │ +00009510: 6361 6c61 7220 2020 2020 2020 2020 2020 calar │ │ │ │ │ +00009520: 2020 2020 2053 6361 6c65 2075 6e69 666f Scale unifo │ │ │ │ │ +00009530: 726d 6c79 2062 7920 6661 6374 6f72 20e2 rmly by factor . │ │ │ │ │ +00009540: 8098 53e2 8099 2e0a e280 9873 6361 6c65 ..S........scale │ │ │ │ │ +00009550: 2856 29e2 8099 2020 2020 2020 2020 2020 (V)... │ │ │ │ │ +00009560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009570: 7665 6374 6f72 2020 2020 2020 2020 2020 vector │ │ │ │ │ +00009580: 2020 2020 2020 5363 616c 6520 616c 6f6e Scale alon │ │ │ │ │ +00009590: 6720 6561 6368 2061 7869 7320 6279 2063 g each axis by c │ │ │ │ │ +000095a0: 6f6d 706f 6e65 6e74 7320 6f66 20e2 8098 omponents of ... │ │ │ │ │ +000095b0: 56e2 8099 2e0a e280 9870 726f 6a65 6374 V........project │ │ │ │ │ +000095c0: 2829 e280 9920 2020 2020 2020 2020 2020 ()... │ │ │ │ │ +000095d0: 2020 2020 2020 2020 2020 2020 2020 2d2d -- │ │ │ │ │ 000095e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000095f0: 2020 5361 6d65 2061 7320 e280 9873 6361 Same as ...sca │ │ │ │ │ -00009600: 6c65 285b 312c 312c 305d 29e2 8099 2e0a le([1,1,0])..... │ │ │ │ │ -00009610: e280 9870 726f 6a65 6374 2853 29e2 8099 ...project(S)... │ │ │ │ │ -00009620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009630: 2020 2020 2020 2020 7363 616c 6172 2020 scalar │ │ │ │ │ -00009640: 2020 2020 2020 2020 2020 2020 2020 5065 Pe │ │ │ │ │ -00009650: 7273 7065 6374 6976 6520 7072 6f6a 6563 rspective projec │ │ │ │ │ -00009660: 7469 6f6e 2077 6974 6820 7669 6577 2063 tion with view c │ │ │ │ │ -00009670: 656e 7465 7220 6174 0a20 2020 2020 2020 enter at. │ │ │ │ │ +000095f0: 2020 2020 5361 6d65 2061 7320 e280 9873 Same as ...s │ │ │ │ │ +00009600: 6361 6c65 285b 312c 312c 305d 29e2 8099 cale([1,1,0])... │ │ │ │ │ +00009610: 2e0a e280 9870 726f 6a65 6374 2853 29e2 .....project(S). │ │ │ │ │ +00009620: 8099 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00009630: 2020 2020 2020 2020 2020 7363 616c 6172 scalar │ │ │ │ │ +00009640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009650: 5065 7273 7065 6374 6976 6520 7072 6f6a Perspective proj │ │ │ │ │ +00009660: 6563 7469 6f6e 2077 6974 6820 7669 6577 ection with view │ │ │ │ │ +00009670: 2063 656e 7465 7220 6174 0a20 2020 2020 center at. │ │ │ │ │ 00009680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000096a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000096b0: 2020 206f 7269 6769 6e20 616e 6420 7072 origin and pr │ │ │ │ │ -000096c0: 6f6a 6563 7469 6f6e 2070 6c61 6e65 207a ojection plane z │ │ │ │ │ -000096d0: 3d2d e280 9853 e280 992e 0ae2 8098 7065 =-...S........pe │ │ │ │ │ -000096e0: 7273 7065 6374 6976 6528 5329 e280 9920 rspective(S)... │ │ │ │ │ -000096f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009700: 2020 2073 6361 6c61 7220 2020 2020 2020 scalar │ │ │ │ │ -00009710: 2020 2020 2020 2020 2050 6572 7370 6563 Perspec │ │ │ │ │ -00009720: 7469 7665 205f 7472 616e 7366 6f72 6d5f tive _transform_ │ │ │ │ │ -00009730: 2069 6465 6e74 6963 616c 2074 6f0a 2020 identical to. │ │ │ │ │ +000096b0: 2020 2020 206f 7269 6769 6e20 616e 6420 origin and │ │ │ │ │ +000096c0: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane │ │ │ │ │ +000096d0: 207a 3d2d e280 9853 e280 992e 0ae2 8098 z=-...S........ │ │ │ │ │ +000096e0: 7065 7273 7065 6374 6976 6528 5329 e280 perspective(S).. │ │ │ │ │ +000096f0: 9920 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00009700: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ +00009710: 2020 2020 2020 2020 2020 2050 6572 7370 Persp │ │ │ │ │ +00009720: 6563 7469 7665 205f 7472 616e 7366 6f72 ective _transfor │ │ │ │ │ +00009730: 6d5f 2069 6465 6e74 6963 616c 2074 6f0a m_ identical to. │ │ │ │ │ 00009740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009770: 2020 2020 2020 2020 e280 9870 726f 6a65 ...proje │ │ │ │ │ -00009780: 6374 2853 29e2 8099 2065 7863 6570 7420 ct(S)... except │ │ │ │ │ -00009790: 7468 6174 2074 6865 207a 2d63 6f6f 7264 that the z-coord │ │ │ │ │ -000097a0: 696e 6174 6520 6f66 0a20 2020 2020 2020 inate of. │ │ │ │ │ +00009770: 2020 2020 2020 2020 2020 e280 9870 726f ...pro │ │ │ │ │ +00009780: 6a65 6374 2853 29e2 8099 2065 7863 6570 ject(S)... excep │ │ │ │ │ +00009790: 7420 7468 6174 2074 6865 207a 2d63 6f6f t that the z-coo │ │ │ │ │ +000097a0: 7264 696e 6174 6520 6f66 0a20 2020 2020 rdinate of. │ │ │ │ │ 000097b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000097c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000097d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000097e0: 2020 2074 6865 2074 7261 6e73 666f 726d the transform │ │ │ │ │ -000097f0: 6564 2072 6573 756c 7420 6973 20e2 809c ed result is ... │ │ │ │ │ -00009800: 7073 6575 646f 6465 7074 68e2 809d 2c0a pseudodepth...,. │ │ │ │ │ -00009810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000097e0: 2020 2020 2074 6865 2074 7261 6e73 666f the transfo │ │ │ │ │ +000097f0: 726d 6564 2072 6573 756c 7420 6973 20e2 rmed result is . │ │ │ │ │ +00009800: 809c 7073 6575 646f 6465 7074 68e2 809d ..pseudodepth... │ │ │ │ │ +00009810: 2c0a 2020 2020 2020 2020 2020 2020 2020 ,. │ │ │ │ │ 00009820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009840: 2020 2020 2020 2020 2020 7573 6162 6c65 usable │ │ │ │ │ -00009850: 2062 7920 7468 6520 6869 6464 656e 2073 by the hidden s │ │ │ │ │ -00009860: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm │ │ │ │ │ -00009870: 2e0a e280 9876 6965 7728 452c 442c 5529 .....view(E,D,U) │ │ │ │ │ -00009880: e280 9920 2020 2020 2020 2020 2020 2020 ... │ │ │ │ │ -00009890: 2020 2020 2020 2020 2020 706f 696e 742c point, │ │ │ │ │ -000098a0: 7665 6374 6f72 2c76 6563 746f 7220 2020 vector,vector │ │ │ │ │ -000098b0: 5669 6577 2074 7261 6e73 666f 726d 2073 View transform s │ │ │ │ │ -000098c0: 696d 696c 6172 2074 6f20 7468 6174 206f imilar to that o │ │ │ │ │ -000098d0: 6620 e280 984f 7065 6e47 4ce2 8099 2773 f ...OpenGL...'s │ │ │ │ │ -000098e0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00009840: 2020 2020 2020 2020 2020 2020 7573 6162 usab │ │ │ │ │ +00009850: 6c65 2062 7920 7468 6520 6869 6464 656e le by the hidden │ │ │ │ │ +00009860: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit │ │ │ │ │ +00009870: 686d 2e0a e280 9876 6965 7728 452c 442c hm.....view(E,D, │ │ │ │ │ +00009880: 5529 e280 9920 2020 2020 2020 2020 2020 U)... │ │ │ │ │ +00009890: 2020 2020 2020 2020 2020 2020 706f 696e poin │ │ │ │ │ +000098a0: 742c 7665 6374 6f72 2c76 6563 746f 7220 t,vector,vector │ │ │ │ │ +000098b0: 2020 5669 6577 2074 7261 6e73 666f 726d View transform │ │ │ │ │ +000098c0: 2073 696d 696c 6172 2074 6f20 7468 6174 similar to that │ │ │ │ │ +000098d0: 206f 6620 e280 984f 7065 6e47 4ce2 8099 of ...OpenGL... │ │ │ │ │ +000098e0: 2773 2e0a 2020 2020 2020 2020 2020 2020 '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 5468 6520 The │ │ │ │ │ -00009920: 5f65 7965 2070 6f69 6e74 5f20 e280 9845 _eye point_ ...E │ │ │ │ │ -00009930: e280 9920 6973 2074 7261 6e73 6c61 7465 ... is translate │ │ │ │ │ -00009940: 6420 746f 2074 6865 0a20 2020 2020 2020 d to the. │ │ │ │ │ +00009910: 2020 2020 2020 2020 2020 2020 2020 5468 Th │ │ │ │ │ +00009920: 6520 5f65 7965 2070 6f69 6e74 5f20 e280 e _eye point_ .. │ │ │ │ │ +00009930: 9845 e280 9920 6973 2074 7261 6e73 6c61 .E... is transla │ │ │ │ │ +00009940: 7465 6420 746f 2074 6865 0a20 2020 2020 ted to the. │ │ │ │ │ 00009950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009980: 2020 206f 7269 6769 6e20 7768 696c 6520 origin while │ │ │ │ │ -00009990: 6120 726f 7461 7469 6f6e 2069 7320 616c a rotation is al │ │ │ │ │ -000099a0: 736f 2061 7070 6c69 6564 2074 6861 740a so applied that. │ │ │ │ │ -000099b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009980: 2020 2020 206f 7269 6769 6e20 7768 696c origin whil │ │ │ │ │ +00009990: 6520 6120 726f 7461 7469 6f6e 2069 7320 e a rotation is │ │ │ │ │ +000099a0: 616c 736f 2061 7070 6c69 6564 2074 6861 also applied tha │ │ │ │ │ +000099b0: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ │ │ 000099c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000099d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000099e0: 2020 2020 2020 2020 2020 6d61 6b65 7320 makes │ │ │ │ │ -000099f0: 7468 6520 5f76 6965 7720 6469 7265 6374 the _view direct │ │ │ │ │ -00009a00: 696f 6e20 7665 6374 6f72 5f20 e280 9844 ion vector_ ...D │ │ │ │ │ -00009a10: e280 9920 616e 6420 7468 650a 2020 2020 ... and the. │ │ │ │ │ +000099e0: 2020 2020 2020 2020 2020 2020 6d61 6b65 make │ │ │ │ │ +000099f0: 7320 7468 6520 5f76 6965 7720 6469 7265 s the _view dire │ │ │ │ │ +00009a00: 6374 696f 6e20 7665 6374 6f72 5f20 e280 ction vector_ .. │ │ │ │ │ +00009a10: 9844 e280 9920 616e 6420 7468 650a 2020 .D... and the. │ │ │ │ │ 00009a20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009a30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009a50: 2020 2020 2020 5f76 6965 7720 2275 7022 _view "up" │ │ │ │ │ -00009a60: 2076 6563 746f 725f 20e2 8098 55e2 8099 vector_ ...U... │ │ │ │ │ -00009a70: 2070 6f69 6e74 2069 6e20 7468 6520 6e65 point in the ne │ │ │ │ │ -00009a80: 6761 7469 7665 0a20 2020 2020 2020 2020 gative. │ │ │ │ │ +00009a50: 2020 2020 2020 2020 5f76 6965 7720 2275 _view "u │ │ │ │ │ +00009a60: 7022 2076 6563 746f 725f 20e2 8098 55e2 p" vector_ ...U. │ │ │ │ │ +00009a70: 8099 2070 6f69 6e74 2069 6e20 7468 6520 .. point in the │ │ │ │ │ +00009a80: 6e65 6761 7469 7665 0a20 2020 2020 2020 negative. │ │ │ │ │ 00009a90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009ab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009ac0: 207a 2d20 616e 6420 7468 6520 792d 6469 z- and the y-di │ │ │ │ │ -00009ad0: 7265 6374 696f 6e73 2072 6573 7065 6374 rections respect │ │ │ │ │ -00009ae0: 6976 656c 792e 2020 4966 20e2 8098 55e2 ively. If ...U. │ │ │ │ │ -00009af0: 8099 0a20 2020 2020 2020 2020 2020 2020 ... │ │ │ │ │ +00009ac0: 2020 207a 2d20 616e 6420 7468 6520 792d z- and the y- │ │ │ │ │ +00009ad0: 6469 7265 6374 696f 6e73 2072 6573 7065 directions respe │ │ │ │ │ +00009ae0: 6374 6976 656c 792e 2020 4966 20e2 8098 ctively. If ... │ │ │ │ │ +00009af0: 55e2 8099 0a20 2020 2020 2020 2020 2020 U.... │ │ │ │ │ 00009b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009b10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009b20: 2020 2020 2020 2020 2020 2020 2069 7320 is │ │ │ │ │ -00009b30: 6f6d 6974 7465 642c 2069 7420 6465 6661 omitted, it defa │ │ │ │ │ -00009b40: 756c 7473 2074 6f20 5b30 2c31 2c30 5d2e ults to [0,1,0]. │ │ │ │ │ -00009b50: 2020 5768 656e 20e2 8098 55e2 8099 0a20 When ...U.... │ │ │ │ │ -00009b60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009b20: 2020 2020 2020 2020 2020 2020 2020 2069 i │ │ │ │ │ +00009b30: 7320 6f6d 6974 7465 642c 2069 7420 6465 s omitted, it de │ │ │ │ │ +00009b40: 6661 756c 7473 2074 6f20 5b30 2c31 2c30 faults to [0,1,0 │ │ │ │ │ +00009b50: 5d2e 2020 5768 656e 20e2 8098 55e2 8099 ]. When ...U... │ │ │ │ │ +00009b60: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 00009b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009b80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009b90: 2020 2020 2020 2020 2069 7320 6f6d 6974 is omit │ │ │ │ │ -00009ba0: 7465 642c 20e2 8098 44e2 8099 206d 6179 ted, ...D... may │ │ │ │ │ -00009bb0: 2062 6520 616c 736f 3b20 6974 2064 6566 be also; it def │ │ │ │ │ -00009bc0: 6175 6c74 7320 746f 0a20 2020 2020 2020 aults to. │ │ │ │ │ +00009b90: 2020 2020 2020 2020 2020 2069 7320 6f6d is om │ │ │ │ │ +00009ba0: 6974 7465 642c 20e2 8098 44e2 8099 206d itted, ...D... m │ │ │ │ │ +00009bb0: 6179 2062 6520 616c 736f 3b20 6974 2064 ay be also; it d │ │ │ │ │ +00009bc0: 6566 6175 6c74 7320 746f 0a20 2020 2020 efaults to. │ │ │ │ │ 00009bd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009be0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009c00: 2020 20e2 8098 2830 2c30 2c30 292d 2845 ...(0,0,0)-(E │ │ │ │ │ -00009c10: 29e2 8099 2c20 6120 7665 6374 6f72 2070 )..., a vector p │ │ │ │ │ -00009c20: 6f69 6e74 696e 6720 6672 6f6d 2074 6865 ointing from the │ │ │ │ │ -00009c30: 2065 7965 0a20 2020 2020 2020 2020 2020 eye. │ │ │ │ │ +00009c00: 2020 2020 20e2 8098 2830 2c30 2c30 292d ...(0,0,0)- │ │ │ │ │ +00009c10: 2845 29e2 8099 2c20 6120 7665 6374 6f72 (E)..., a vector │ │ │ │ │ +00009c20: 2070 6f69 6e74 696e 6720 6672 6f6d 2074 pointing from t │ │ │ │ │ +00009c30: 6865 2065 7965 0a20 2020 2020 2020 2020 he eye. │ │ │ │ │ 00009c40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009c60: 2020 2020 2020 2020 2020 2020 2020 2074 t │ │ │ │ │ -00009c70: 6f77 6172 6420 7468 6520 6f72 6967 696e oward the origin │ │ │ │ │ -00009c80: 2e0a e280 9876 6965 7728 452c 4c2c 5529 .....view(E,L,U) │ │ │ │ │ -00009c90: e280 9920 2020 2020 2020 2020 2020 2020 ... │ │ │ │ │ -00009ca0: 2020 2020 2020 2020 2020 706f 696e 742c point, │ │ │ │ │ -00009cb0: 706f 696e 742c 7665 6374 6f72 2020 2020 point,vector │ │ │ │ │ -00009cc0: 416e 2061 6c74 6572 6e61 7465 2066 6f72 An alternate for │ │ │ │ │ -00009cd0: 6d20 6f66 20e2 8098 7669 6577 2845 2c44 m of ...view(E,D │ │ │ │ │ -00009ce0: 2c55 29e2 8099 2061 626f 7665 2077 6865 ,U)... above whe │ │ │ │ │ -00009cf0: 7265 0a20 2020 2020 2020 2020 2020 2020 re. │ │ │ │ │ +00009c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009c70: 2074 6f77 6172 6420 7468 6520 6f72 6967 toward the orig │ │ │ │ │ +00009c80: 696e 2e0a e280 9876 6965 7728 452c 4c2c in.....view(E,L, │ │ │ │ │ +00009c90: 5529 e280 9920 2020 2020 2020 2020 2020 U)... │ │ │ │ │ +00009ca0: 2020 2020 2020 2020 2020 2020 706f 696e poin │ │ │ │ │ +00009cb0: 742c 706f 696e 742c 7665 6374 6f72 2020 t,point,vector │ │ │ │ │ +00009cc0: 2020 416e 2061 6c74 6572 6e61 7465 2066 An alternate f │ │ │ │ │ +00009cd0: 6f72 6d20 6f66 20e2 8098 7669 6577 2845 orm of ...view(E │ │ │ │ │ +00009ce0: 2c44 2c55 29e2 8099 2061 626f 7665 2077 ,D,U)... above w │ │ │ │ │ +00009cf0: 6865 7265 0a20 2020 2020 2020 2020 2020 here. │ │ │ │ │ 00009d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009d20: 2020 2020 2020 2020 2020 2020 2074 6865 the │ │ │ │ │ -00009d30: 2076 6965 7720 6469 7265 6374 696f 6e20 view direction │ │ │ │ │ -00009d40: 7061 7261 6d65 7465 7220 e280 9844 e280 parameter ...D.. │ │ │ │ │ -00009d50: 9920 6973 2072 6570 6c61 6365 640a 2020 . is replaced. │ │ │ │ │ +00009d20: 2020 2020 2020 2020 2020 2020 2020 2074 t │ │ │ │ │ +00009d30: 6865 2076 6965 7720 6469 7265 6374 696f he view directio │ │ │ │ │ +00009d40: 6e20 7061 7261 6d65 7465 7220 e280 9844 n parameter ...D │ │ │ │ │ +00009d50: e280 9920 6973 2072 6570 6c61 6365 640a ... is replaced. │ │ │ │ │ 00009d60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009d80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009d90: 2020 2020 2020 2020 7769 7468 2061 2022 with a " │ │ │ │ │ -00009da0: 6c6f 6f6b 2061 7422 2070 6f69 6e74 20e2 look at" point . │ │ │ │ │ -00009db0: 8098 4ce2 8099 2c20 692e 652e 2c20 6120 ..L..., i.e., a │ │ │ │ │ -00009dc0: 706f 696e 740a 2020 2020 2020 2020 2020 point. │ │ │ │ │ +00009d90: 2020 2020 2020 2020 2020 7769 7468 2061 with a │ │ │ │ │ +00009da0: 2022 6c6f 6f6b 2061 7422 2070 6f69 6e74 "look at" point │ │ │ │ │ +00009db0: 20e2 8098 4ce2 8099 2c20 692e 652e 2c20 ...L..., i.e., │ │ │ │ │ +00009dc0: 6120 706f 696e 740a 2020 2020 2020 2020 a point. │ │ │ │ │ 00009dd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009e00: 7768 6572 6520 7468 6520 7669 6577 6572 where the viewer │ │ │ │ │ -00009e10: 2069 7320 666f 6375 7369 6e67 2068 6572 is focusing her │ │ │ │ │ -00009e20: 2061 7474 656e 7469 6f6e 2e0a 2020 2020 attention.. │ │ │ │ │ +00009e00: 2020 7768 6572 6520 7468 6520 7669 6577 where the view │ │ │ │ │ +00009e10: 6572 2069 7320 666f 6375 7369 6e67 2068 er is focusing h │ │ │ │ │ +00009e20: 6572 2061 7474 656e 7469 6f6e 2e0a 2020 er attention.. │ │ │ │ │ 00009e30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009e60: 2020 2020 2020 5468 6973 2066 6f72 6d20 This form │ │ │ │ │ -00009e70: 6f66 2076 6965 7720 6973 2065 7175 6976 of view is equiv │ │ │ │ │ -00009e80: 616c 656e 7420 746f 20e2 8098 7669 6577 alent to ...view │ │ │ │ │ -00009e90: 2845 2c0a 2020 2020 2020 2020 2020 2020 (E,. │ │ │ │ │ +00009e60: 2020 2020 2020 2020 5468 6973 2066 6f72 This for │ │ │ │ │ +00009e70: 6d20 6f66 2076 6965 7720 6973 2065 7175 m of view is equ │ │ │ │ │ +00009e80: 6976 616c 656e 7420 746f 20e2 8098 7669 ivalent to ...vi │ │ │ │ │ +00009e90: 6577 2845 2c0a 2020 2020 2020 2020 2020 ew(E,. │ │ │ │ │ 00009ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009ec0: 2020 2020 2020 2020 2020 2020 2020 284c (L │ │ │ │ │ -00009ed0: 292d 2845 292c 2055 29e2 8099 2c20 7768 )-(E), U)..., wh │ │ │ │ │ -00009ee0: 6572 6520 e280 9828 4c29 2d28 4529 e280 ere ...(L)-(E).. │ │ │ │ │ -00009ef0: 9920 6973 2061 2064 6972 6563 7469 6f6e . is a direction │ │ │ │ │ -00009f00: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00009ec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00009ed0: 284c 292d 2845 292c 2055 29e2 8099 2c20 (L)-(E), U)..., │ │ │ │ │ +00009ee0: 7768 6572 6520 e280 9828 4c29 2d28 4529 where ...(L)-(E) │ │ │ │ │ +00009ef0: e280 9920 6973 2061 2064 6972 6563 7469 ... is a directi │ │ │ │ │ +00009f00: 6f6e 0a20 2020 2020 2020 2020 2020 2020 on. │ │ │ │ │ 00009f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009f30: 2020 2020 2020 2020 2020 2076 6563 746f vecto │ │ │ │ │ -00009f40: 722e 2020 e280 9855 e280 9920 6973 206f r. ...U... is o │ │ │ │ │ -00009f50: 7074 696f 6e61 6c20 616e 6420 6465 6661 ptional and defa │ │ │ │ │ -00009f60: 756c 7473 2074 6f0a 2020 2020 2020 2020 ults to. │ │ │ │ │ +00009f30: 2020 2020 2020 2020 2020 2020 2076 6563 vec │ │ │ │ │ +00009f40: 746f 722e 2020 e280 9855 e280 9920 6973 tor. ...U... is │ │ │ │ │ +00009f50: 206f 7074 696f 6e61 6c20 616e 6420 6465 optional and de │ │ │ │ │ +00009f60: 6661 756c 7473 2074 6f0a 2020 2020 2020 faults to. │ │ │ │ │ 00009f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009f80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00009f90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00009fa0: 2020 5b30 2c31 2c30 5d2e 0ae2 8098 5b5b [0,1,0].....[[ │ │ │ │ │ -00009fb0: 615f 7b31 317d 2c61 5f7b 3132 7d2c 615f a_{11},a_{12},a_ │ │ │ │ │ -00009fc0: 7b31 337d 2c61 5f7b 3134 7d5d e280 9920 {13},a_{14}]... │ │ │ │ │ -00009fd0: 2020 2031 3620 7363 616c 6172 7320 2020 16 scalars │ │ │ │ │ -00009fe0: 2020 2020 2020 2020 2044 6972 6563 7420 Direct │ │ │ │ │ -00009ff0: 7472 616e 7366 6f72 6d20 6d61 7472 6978 transform matrix │ │ │ │ │ -0000a000: 2064 6566 696e 6974 696f 6e2e 2020 4561 definition. Ea │ │ │ │ │ -0000a010: 6368 206f 660a e280 9820 5b61 5f7b 3231 ch of.... [a_{21 │ │ │ │ │ -0000a020: 7d2c 615f 7b32 327d 2c61 5f7b 3233 7d2c },a_{22},a_{23}, │ │ │ │ │ -0000a030: 615f 7b32 347d 5de2 8099 2020 2020 2020 a_{24}]... │ │ │ │ │ +00009fa0: 2020 2020 5b30 2c31 2c30 5d2e 0ae2 8098 [0,1,0]..... │ │ │ │ │ +00009fb0: 5b5b 615f 7b31 317d 2c61 5f7b 3132 7d2c [[a_{11},a_{12}, │ │ │ │ │ +00009fc0: 615f 7b31 337d 2c61 5f7b 3134 7d5d e280 a_{13},a_{14}].. │ │ │ │ │ +00009fd0: 9920 2020 2031 3620 7363 616c 6172 7320 . 16 scalars │ │ │ │ │ +00009fe0: 2020 2020 2020 2020 2020 2044 6972 6563 Direc │ │ │ │ │ +00009ff0: 7420 7472 616e 7366 6f72 6d20 6d61 7472 t transform matr │ │ │ │ │ +0000a000: 6978 2064 6566 696e 6974 696f 6e2e 2020 ix definition. │ │ │ │ │ +0000a010: 4561 6368 206f 660a e280 9820 5b61 5f7b Each of.... [a_{ │ │ │ │ │ +0000a020: 3231 7d2c 615f 7b32 327d 2c61 5f7b 3233 21},a_{22},a_{23 │ │ │ │ │ +0000a030: 7d2c 615f 7b32 347d 5de2 8099 2020 2020 },a_{24}]... │ │ │ │ │ 0000a040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000a050: 2020 2020 7468 6520 615f 7b69 6a7d 2069 the a_{ij} i │ │ │ │ │ -0000a060: 7320 6120 7363 616c 6172 2065 7870 7265 s a scalar expre │ │ │ │ │ -0000a070: 7373 696f 6e2e 2020 5365 6520 7465 7874 ssion. See text │ │ │ │ │ -0000a080: 0ae2 8098 205b 615f 7b33 317d 2c61 5f7b .... [a_{31},a_{ │ │ │ │ │ -0000a090: 3332 7d2c 615f 7b33 337d 2c61 5f7b 3334 32},a_{33},a_{34 │ │ │ │ │ -0000a0a0: 7d5d e280 9920 2020 2020 2020 2020 2020 }]... │ │ │ │ │ -0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2066 f │ │ │ │ │ -0000a0c0: 6f72 2064 6574 6169 6c73 2e0a e280 9820 or details..... │ │ │ │ │ -0000a0d0: 5b61 5f7b 3431 7d2c 615f 7b34 327d 2c61 [a_{41},a_{42},a │ │ │ │ │ -0000a0e0: 5f7b 3433 7d2c 615f 7b34 347d 5d5d e280 _{43},a_{44}]].. │ │ │ │ │ -0000a0f0: 990a 5468 6520 e280 9870 726f 6a65 6374 ..The ...project │ │ │ │ │ -0000a100: e280 9920 636f 6e73 7472 7563 746f 7220 ... constructor │ │ │ │ │ -0000a110: 6973 206e 6f74 2067 656e 6572 616c 6c79 is not generally │ │ │ │ │ -0000a120: 2075 7365 6675 6c20 6265 6361 7573 6520 useful because │ │ │ │ │ -0000a130: 6974 2064 6566 6561 7473 0a68 6964 6465 it defeats.hidde │ │ │ │ │ -0000a140: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ -0000a150: 6c20 6279 2063 6f6c 6c61 7073 696e 6720 l by collapsing │ │ │ │ │ -0000a160: 7468 6520 7363 656e 6520 6f6e 746f 2061 the scene onto a │ │ │ │ │ -0000a170: 2073 696e 676c 6520 706c 616e 652e 2020 single plane. │ │ │ │ │ -0000a180: 4974 0a69 7320 6120 7370 6563 6961 6c20 It.is a special │ │ │ │ │ -0000a190: 7075 7270 6f73 6520 7472 616e 7366 6f72 purpose transfor │ │ │ │ │ -0000a1a0: 6d20 666f 7220 6472 6177 696e 6720 7069 m for drawing pi │ │ │ │ │ -0000a1b0: 6374 7572 6573 206f 6620 7363 656e 6573 ctures of scenes │ │ │ │ │ -0000a1c0: 2077 6865 7265 0a74 6872 6565 2d64 696d where.three-dim │ │ │ │ │ -0000a1d0: 656e 7369 6f6e 616c 206f 626a 6563 7473 ensional objects │ │ │ │ │ -0000a1e0: 2061 7265 2062 6569 6e67 2070 726f 6a65 are being proje │ │ │ │ │ -0000a1f0: 6374 6564 206f 6e74 6f20 706c 616e 6573 cted onto planes │ │ │ │ │ -0000a200: 2e20 2053 6565 2c20 666f 720a 6578 616d . See, for.exam │ │ │ │ │ -0000a210: 706c 652c 202a 6e6f 7465 204f 7665 7276 ple, *note Overv │ │ │ │ │ -0000a220: 6965 773a 3a2e 0a0a 2020 2054 6865 2064 iew::... The d │ │ │ │ │ -0000a230: 6972 6563 7420 7472 616e 7366 6f72 6d20 irect transform │ │ │ │ │ -0000a240: 636f 6e73 7472 7563 746f 7220 616c 6c6f constructor allo │ │ │ │ │ -0000a250: 7773 2064 6972 6563 7420 656e 7472 7920 ws direct entry │ │ │ │ │ -0000a260: 6f66 2061 2034 7834 0a74 7261 6e73 666f of a 4x4.transfo │ │ │ │ │ -0000a270: 726d 6174 696f 6e20 6d61 7472 6978 2e20 rmation matrix. │ │ │ │ │ -0000a280: 204d 6f73 7420 3364 2067 7261 7068 6963 Most 3d graphic │ │ │ │ │ -0000a290: 7320 7379 7374 656d 732c 2069 6e63 6c75 s systems, inclu │ │ │ │ │ -0000a2a0: 6469 6e67 20e2 8098 736b 6574 6368 e280 ding ...sketch.. │ │ │ │ │ -0000a2b0: 992c 0a75 7365 2034 2d64 696d 656e 7369 .,.use 4-dimensi │ │ │ │ │ -0000a2c0: 6f6e 616c 2068 6f6d 6f67 656e 656f 7573 onal homogeneous │ │ │ │ │ -0000a2d0: 2063 6f6f 7264 696e 6174 6573 2069 6e74 coordinates int │ │ │ │ │ -0000a2e0: 6572 6e61 6c6c 792e 2020 5468 6573 6520 ernally. These │ │ │ │ │ -0000a2f0: 6172 650a 7472 616e 7366 6f72 6d65 6420 are.transformed │ │ │ │ │ -0000a300: 6279 206d 756c 7469 706c 6963 6174 696f by multiplicatio │ │ │ │ │ -0000a310: 6e20 7769 7468 2034 7834 206d 6174 7269 n with 4x4 matri │ │ │ │ │ -0000a320: 6365 732e 2020 5468 6520 6275 696c 742d ces. The built- │ │ │ │ │ -0000a330: 696e 0a63 6f6e 7374 7275 6374 6f72 7320 in.constructors │ │ │ │ │ -0000a340: 28e2 8098 726f 7461 7465 e280 992c 20e2 (...rotate..., . │ │ │ │ │ -0000a350: 8098 7363 616c 65e2 8099 2c20 6574 632e ..scale..., etc. │ │ │ │ │ -0000a360: 2920 2061 7265 2061 6c6c 2074 7261 6e73 ) are all trans │ │ │ │ │ -0000a370: 6c61 7465 6420 696e 7465 726e 616c 6c79 lated internally │ │ │ │ │ -0000a380: 2074 6f0a 7375 6368 2034 7834 206d 6174 to.such 4x4 mat │ │ │ │ │ -0000a390: 7269 6365 732e 2020 466f 7220 6d6f 7265 rices. For more │ │ │ │ │ -0000a3a0: 2069 6e66 6f72 6d61 7469 6f6e 206f 6e20 information on │ │ │ │ │ -0000a3b0: 686f 6d6f 6765 6e65 6f75 7320 636f 6f72 homogeneous coor │ │ │ │ │ -0000a3c0: 6469 6e61 7465 0a74 7261 6e73 666f 726d dinate.transform │ │ │ │ │ -0000a3d0: 6174 696f 6e73 2c20 7365 6520 616e 7920 ations, see any │ │ │ │ │ -0000a3e0: 676f 6f64 2063 6f6d 7075 7465 7220 6772 good computer gr │ │ │ │ │ -0000a3f0: 6170 6869 6373 2074 6578 7462 6f6f 6b2e aphics textbook. │ │ │ │ │ -0000a400: 2020 5468 6520 6469 7265 6374 0a74 7261 The direct.tra │ │ │ │ │ -0000a410: 6e73 666f 726d 2066 6561 7475 7265 206f nsform feature o │ │ │ │ │ -0000a420: 6620 e280 9873 6b65 7463 68e2 8099 2061 f ...sketch... a │ │ │ │ │ -0000a430: 6c6c 6f77 7320 796f 7520 746f 2065 6e74 llows you to ent │ │ │ │ │ -0000a440: 6572 2061 206d 6174 7269 7820 6f66 2079 er a matrix of y │ │ │ │ │ -0000a450: 6f75 7220 6f77 6e0a 6368 6f69 6365 2e20 our own.choice. │ │ │ │ │ -0000a460: 2054 6865 7265 2061 7265 206e 6f74 206d There are not m │ │ │ │ │ -0000a470: 616e 7920 6361 7365 7320 7768 6572 6520 any cases where │ │ │ │ │ -0000a480: 7468 6973 2069 7320 7573 6566 756c 2c20 this is useful, │ │ │ │ │ -0000a490: 6275 7420 6966 2079 6f75 2064 6f0a 6e65 but if you do.ne │ │ │ │ │ -0000a4a0: 6564 2069 742c 2079 6f75 206e 6565 6420 ed it, you need │ │ │ │ │ -0000a4b0: 6974 2062 6164 6c79 210a 0a1f 0a46 696c it badly!....Fil │ │ │ │ │ -0000a4c0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -0000a4d0: 204e 6f64 653a 2041 7269 7468 6d65 7469 Node: Arithmeti │ │ │ │ │ -0000a4e0: 632c 2020 4e65 7874 3a20 4f70 7469 6f6e c, Next: Option │ │ │ │ │ -0000a4f0: 732c 2020 5072 6576 3a20 4c69 7465 7261 s, Prev: Litera │ │ │ │ │ -0000a500: 6c73 2c20 2055 703a 204c 616e 6775 6167 ls, Up: Languag │ │ │ │ │ -0000a510: 6520 6261 7369 6373 0a0a 332e 312e 3420 e basics..3.1.4 │ │ │ │ │ -0000a520: 4172 6974 686d 6574 6963 2065 7870 7265 Arithmetic expre │ │ │ │ │ -0000a530: 7373 696f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d ssions.--------- │ │ │ │ │ +0000a050: 2020 2020 2020 7468 6520 615f 7b69 6a7d the a_{ij} │ │ │ │ │ +0000a060: 2069 7320 6120 7363 616c 6172 2065 7870 is a scalar exp │ │ │ │ │ +0000a070: 7265 7373 696f 6e2e 2020 5365 6520 7465 ression. See te │ │ │ │ │ +0000a080: 7874 0ae2 8098 205b 615f 7b33 317d 2c61 xt.... [a_{31},a │ │ │ │ │ +0000a090: 5f7b 3332 7d2c 615f 7b33 337d 2c61 5f7b _{32},a_{33},a_{ │ │ │ │ │ +0000a0a0: 3334 7d5d e280 9920 2020 2020 2020 2020 34}]... │ │ │ │ │ +0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a0c0: 2066 6f72 2064 6574 6169 6c73 2e0a e280 for details.... │ │ │ │ │ +0000a0d0: 9820 5b61 5f7b 3431 7d2c 615f 7b34 327d . [a_{41},a_{42} │ │ │ │ │ +0000a0e0: 2c61 5f7b 3433 7d2c 615f 7b34 347d 5d5d ,a_{43},a_{44}]] │ │ │ │ │ +0000a0f0: e280 990a 5468 6520 e280 9870 726f 6a65 ....The ...proje │ │ │ │ │ +0000a100: 6374 e280 9920 636f 6e73 7472 7563 746f ct... constructo │ │ │ │ │ +0000a110: 7220 6973 206e 6f74 2067 656e 6572 616c r is not general │ │ │ │ │ +0000a120: 6c79 2075 7365 6675 6c20 6265 6361 7573 ly useful becaus │ │ │ │ │ +0000a130: 6520 6974 2064 6566 6561 7473 0a68 6964 e it defeats.hid │ │ │ │ │ +0000a140: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo │ │ │ │ │ +0000a150: 7661 6c20 6279 2063 6f6c 6c61 7073 696e val by collapsin │ │ │ │ │ +0000a160: 6720 7468 6520 7363 656e 6520 6f6e 746f g the scene onto │ │ │ │ │ +0000a170: 2061 2073 696e 676c 6520 706c 616e 652e a single plane. │ │ │ │ │ +0000a180: 2020 4974 0a69 7320 6120 7370 6563 6961 It.is a specia │ │ │ │ │ +0000a190: 6c20 7075 7270 6f73 6520 7472 616e 7366 l purpose transf │ │ │ │ │ +0000a1a0: 6f72 6d20 666f 7220 6472 6177 696e 6720 orm for drawing │ │ │ │ │ +0000a1b0: 7069 6374 7572 6573 206f 6620 7363 656e pictures of scen │ │ │ │ │ +0000a1c0: 6573 2077 6865 7265 0a74 6872 6565 2d64 es where.three-d │ │ │ │ │ +0000a1d0: 696d 656e 7369 6f6e 616c 206f 626a 6563 imensional objec │ │ │ │ │ +0000a1e0: 7473 2061 7265 2062 6569 6e67 2070 726f ts are being pro │ │ │ │ │ +0000a1f0: 6a65 6374 6564 206f 6e74 6f20 706c 616e jected onto plan │ │ │ │ │ +0000a200: 6573 2e20 2053 6565 2c20 666f 720a 6578 es. See, for.ex │ │ │ │ │ +0000a210: 616d 706c 652c 202a 6e6f 7465 204f 7665 ample, *note Ove │ │ │ │ │ +0000a220: 7276 6965 773a 3a2e 0a0a 2020 2054 6865 rview::... The │ │ │ │ │ +0000a230: 2064 6972 6563 7420 7472 616e 7366 6f72 direct transfor │ │ │ │ │ +0000a240: 6d20 636f 6e73 7472 7563 746f 7220 616c m constructor al │ │ │ │ │ +0000a250: 6c6f 7773 2064 6972 6563 7420 656e 7472 lows direct entr │ │ │ │ │ +0000a260: 7920 6f66 2061 2034 7834 0a74 7261 6e73 y of a 4x4.trans │ │ │ │ │ +0000a270: 666f 726d 6174 696f 6e20 6d61 7472 6978 formation matrix │ │ │ │ │ +0000a280: 2e20 204d 6f73 7420 3364 2067 7261 7068 . Most 3d graph │ │ │ │ │ +0000a290: 6963 7320 7379 7374 656d 732c 2069 6e63 ics systems, inc │ │ │ │ │ +0000a2a0: 6c75 6469 6e67 20e2 8098 736b 6574 6368 luding ...sketch │ │ │ │ │ +0000a2b0: e280 992c 0a75 7365 2034 2d64 696d 656e ...,.use 4-dimen │ │ │ │ │ +0000a2c0: 7369 6f6e 616c 2068 6f6d 6f67 656e 656f sional homogeneo │ │ │ │ │ +0000a2d0: 7573 2063 6f6f 7264 696e 6174 6573 2069 us coordinates i │ │ │ │ │ +0000a2e0: 6e74 6572 6e61 6c6c 792e 2020 5468 6573 nternally. Thes │ │ │ │ │ +0000a2f0: 6520 6172 650a 7472 616e 7366 6f72 6d65 e are.transforme │ │ │ │ │ +0000a300: 6420 6279 206d 756c 7469 706c 6963 6174 d by multiplicat │ │ │ │ │ +0000a310: 696f 6e20 7769 7468 2034 7834 206d 6174 ion with 4x4 mat │ │ │ │ │ +0000a320: 7269 6365 732e 2020 5468 6520 6275 696c rices. The buil │ │ │ │ │ +0000a330: 742d 696e 0a63 6f6e 7374 7275 6374 6f72 t-in.constructor │ │ │ │ │ +0000a340: 7320 28e2 8098 726f 7461 7465 e280 992c s (...rotate..., │ │ │ │ │ +0000a350: 20e2 8098 7363 616c 65e2 8099 2c20 6574 ...scale..., et │ │ │ │ │ +0000a360: 632e 2920 2061 7265 2061 6c6c 2074 7261 c.) are all tra │ │ │ │ │ +0000a370: 6e73 6c61 7465 6420 696e 7465 726e 616c nslated internal │ │ │ │ │ +0000a380: 6c79 2074 6f0a 7375 6368 2034 7834 206d ly to.such 4x4 m │ │ │ │ │ +0000a390: 6174 7269 6365 732e 2020 466f 7220 6d6f atrices. For mo │ │ │ │ │ +0000a3a0: 7265 2069 6e66 6f72 6d61 7469 6f6e 206f re information o │ │ │ │ │ +0000a3b0: 6e20 686f 6d6f 6765 6e65 6f75 7320 636f n homogeneous co │ │ │ │ │ +0000a3c0: 6f72 6469 6e61 7465 0a74 7261 6e73 666f ordinate.transfo │ │ │ │ │ +0000a3d0: 726d 6174 696f 6e73 2c20 7365 6520 616e rmations, see an │ │ │ │ │ +0000a3e0: 7920 676f 6f64 2063 6f6d 7075 7465 7220 y good computer │ │ │ │ │ +0000a3f0: 6772 6170 6869 6373 2074 6578 7462 6f6f graphics textboo │ │ │ │ │ +0000a400: 6b2e 2020 5468 6520 6469 7265 6374 0a74 k. The direct.t │ │ │ │ │ +0000a410: 7261 6e73 666f 726d 2066 6561 7475 7265 ransform feature │ │ │ │ │ +0000a420: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ +0000a430: 2061 6c6c 6f77 7320 796f 7520 746f 2065 allows you to e │ │ │ │ │ +0000a440: 6e74 6572 2061 206d 6174 7269 7820 6f66 nter a matrix of │ │ │ │ │ +0000a450: 2079 6f75 7220 6f77 6e0a 6368 6f69 6365 your own.choice │ │ │ │ │ +0000a460: 2e20 2054 6865 7265 2061 7265 206e 6f74 . There are not │ │ │ │ │ +0000a470: 206d 616e 7920 6361 7365 7320 7768 6572 many cases wher │ │ │ │ │ +0000a480: 6520 7468 6973 2069 7320 7573 6566 756c e this is useful │ │ │ │ │ +0000a490: 2c20 6275 7420 6966 2079 6f75 2064 6f0a , but if you do. │ │ │ │ │ +0000a4a0: 6e65 6564 2069 742c 2079 6f75 206e 6565 need it, you nee │ │ │ │ │ +0000a4b0: 6420 6974 2062 6164 6c79 210a 0a1f 0a46 d it badly!....F │ │ │ │ │ +0000a4c0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +0000a4d0: 2c20 204e 6f64 653a 2041 7269 7468 6d65 , Node: Arithme │ │ │ │ │ +0000a4e0: 7469 632c 2020 4e65 7874 3a20 4f70 7469 tic, Next: Opti │ │ │ │ │ +0000a4f0: 6f6e 732c 2020 5072 6576 3a20 4c69 7465 ons, Prev: Lite │ │ │ │ │ +0000a500: 7261 6c73 2c20 2055 703a 204c 616e 6775 rals, Up: Langu │ │ │ │ │ +0000a510: 6167 6520 6261 7369 6373 0a0a 332e 312e age basics..3.1. │ │ │ │ │ +0000a520: 3420 4172 6974 686d 6574 6963 2065 7870 4 Arithmetic exp │ │ │ │ │ +0000a530: 7265 7373 696f 6e73 0a2d 2d2d 2d2d 2d2d ressions.------- │ │ │ │ │ 0000a540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000a550: 2d2d 2d0a 0a41 7269 7468 6d65 7469 6320 ---..Arithmetic │ │ │ │ │ -0000a560: 6578 7072 6573 7369 6f6e 7320 6f76 6572 expressions over │ │ │ │ │ -0000a570: 20e2 8098 736b 6574 6368 e280 9920 6c69 ...sketch... li │ │ │ │ │ -0000a580: 7465 7261 6c73 2061 6e64 2064 6566 696e terals and defin │ │ │ │ │ -0000a590: 6564 2069 6465 6e74 6966 6965 7273 0a61 ed identifiers.a │ │ │ │ │ -0000a5a0: 7265 2073 756d 6d61 7269 7a65 6420 696e re summarized in │ │ │ │ │ -0000a5b0: 2074 6865 2066 6f6c 6c6f 7769 6e67 2074 the following t │ │ │ │ │ -0000a5c0: 6162 6c65 732e 0a0a 2a20 4d65 6e75 3a0a ables...* Menu:. │ │ │ │ │ -0000a5d0: 0a2a 2054 776f 2d6f 7065 7261 6e64 2028 .* Two-operand ( │ │ │ │ │ -0000a5e0: 6269 6e61 7279 2920 666f 726d 733a 3a20 binary) forms:: │ │ │ │ │ -0000a5f0: 2041 206f 7020 420a 2a20 556e 6172 7920 A op B.* Unary │ │ │ │ │ -0000a600: 666f 726d 733a 3a20 2020 2020 2020 2020 forms:: │ │ │ │ │ -0000a610: 2020 2020 2020 2020 6f70 2041 2028 616e op A (an │ │ │ │ │ -0000a620: 6420 6f74 6865 7273 290a 0a1f 0a46 696c d others)....Fil │ │ │ │ │ -0000a630: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -0000a640: 204e 6f64 653a 2054 776f 2d6f 7065 7261 Node: Two-opera │ │ │ │ │ -0000a650: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form │ │ │ │ │ -0000a660: 732c 2020 4e65 7874 3a20 556e 6172 7920 s, Next: Unary │ │ │ │ │ -0000a670: 666f 726d 732c 2020 5072 6576 3a20 4172 forms, Prev: Ar │ │ │ │ │ -0000a680: 6974 686d 6574 6963 2c20 2055 703a 2041 ithmetic, Up: A │ │ │ │ │ -0000a690: 7269 7468 6d65 7469 630a 0a33 2e31 2e34 rithmetic..3.1.4 │ │ │ │ │ -0000a6a0: 2e31 2054 776f 2d6f 7065 7261 6e64 2028 .1 Two-operand ( │ │ │ │ │ -0000a6b0: 6269 6e61 7279 2920 666f 726d 7320 616e binary) forms an │ │ │ │ │ -0000a6c0: 6420 7072 6563 6564 656e 6365 0a2e 2e2e d precedence.... │ │ │ │ │ +0000a550: 2d2d 2d2d 2d0a 0a41 7269 7468 6d65 7469 -----..Arithmeti │ │ │ │ │ +0000a560: 6320 6578 7072 6573 7369 6f6e 7320 6f76 c expressions ov │ │ │ │ │ +0000a570: 6572 20e2 8098 736b 6574 6368 e280 9920 er ...sketch... │ │ │ │ │ +0000a580: 6c69 7465 7261 6c73 2061 6e64 2064 6566 literals and def │ │ │ │ │ +0000a590: 696e 6564 2069 6465 6e74 6966 6965 7273 ined identifiers │ │ │ │ │ +0000a5a0: 0a61 7265 2073 756d 6d61 7269 7a65 6420 .are summarized │ │ │ │ │ +0000a5b0: 696e 2074 6865 2066 6f6c 6c6f 7769 6e67 in the following │ │ │ │ │ +0000a5c0: 2074 6162 6c65 732e 0a0a 2a20 4d65 6e75 tables...* Menu │ │ │ │ │ +0000a5d0: 3a0a 0a2a 2054 776f 2d6f 7065 7261 6e64 :..* Two-operand │ │ │ │ │ +0000a5e0: 2028 6269 6e61 7279 2920 666f 726d 733a (binary) forms: │ │ │ │ │ +0000a5f0: 3a20 2041 206f 7020 420a 2a20 556e 6172 : A op B.* Unar │ │ │ │ │ +0000a600: 7920 666f 726d 733a 3a20 2020 2020 2020 y forms:: │ │ │ │ │ +0000a610: 2020 2020 2020 2020 2020 6f70 2041 2028 op A ( │ │ │ │ │ +0000a620: 616e 6420 6f74 6865 7273 290a 0a1f 0a46 and others)....F │ │ │ │ │ +0000a630: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +0000a640: 2c20 204e 6f64 653a 2054 776f 2d6f 7065 , Node: Two-ope │ │ │ │ │ +0000a650: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo │ │ │ │ │ +0000a660: 726d 732c 2020 4e65 7874 3a20 556e 6172 rms, Next: Unar │ │ │ │ │ +0000a670: 7920 666f 726d 732c 2020 5072 6576 3a20 y forms, Prev: │ │ │ │ │ +0000a680: 4172 6974 686d 6574 6963 2c20 2055 703a Arithmetic, Up: │ │ │ │ │ +0000a690: 2041 7269 7468 6d65 7469 630a 0a33 2e31 Arithmetic..3.1 │ │ │ │ │ +0000a6a0: 2e34 2e31 2054 776f 2d6f 7065 7261 6e64 .4.1 Two-operand │ │ │ │ │ +0000a6b0: 2028 6269 6e61 7279 2920 666f 726d 7320 (binary) forms │ │ │ │ │ +0000a6c0: 616e 6420 7072 6563 6564 656e 6365 0a2e and precedence.. │ │ │ │ │ 0000a6d0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ 0000a6e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000a6f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ -0000a700: 4d6f 7374 2074 776f 2d6f 7065 7261 6e64 Most two-operand │ │ │ │ │ -0000a710: 2062 696e 6172 7920 666f 726d 7320 6861 binary forms ha │ │ │ │ │ -0000a720: 7665 206d 6561 6e69 6e67 7320 6465 7065 ve meanings depe │ │ │ │ │ -0000a730: 6e64 656e 7420 6f6e 2074 6865 2074 7970 ndent on the typ │ │ │ │ │ -0000a740: 6573 206f 660a 7468 6569 7220 6172 6775 es of.their argu │ │ │ │ │ -0000a750: 6d65 6e74 732e 2020 416e 2065 7868 6175 ments. An exhau │ │ │ │ │ -0000a760: 7374 6976 6520 7375 6d6d 6172 7920 6f66 stive summary of │ │ │ │ │ -0000a770: 2074 6865 2070 6f73 7369 6269 6c69 7469 the possibiliti │ │ │ │ │ -0000a780: 6573 2069 7320 6769 7665 6e20 696e 0a74 es is given in.t │ │ │ │ │ -0000a790: 6865 2066 6f6c 6c6f 7769 6e67 2074 6162 he following tab │ │ │ │ │ -0000a7a0: 6c65 2e0a 4c65 6674 2020 2020 2020 2020 le..Left │ │ │ │ │ -0000a7b0: 4f70 2020 2020 2020 2052 6967 6874 2020 Op Right │ │ │ │ │ -0000a7c0: 2020 2020 2052 6573 756c 7420 2020 2020 Result │ │ │ │ │ -0000a7d0: 2044 6573 6372 6970 7469 6f6e 0a2d 2d2d Description.--- │ │ │ │ │ +0000a6f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +0000a700: 0a0a 4d6f 7374 2074 776f 2d6f 7065 7261 ..Most two-opera │ │ │ │ │ +0000a710: 6e64 2062 696e 6172 7920 666f 726d 7320 nd binary forms │ │ │ │ │ +0000a720: 6861 7665 206d 6561 6e69 6e67 7320 6465 have meanings de │ │ │ │ │ +0000a730: 7065 6e64 656e 7420 6f6e 2074 6865 2074 pendent on the t │ │ │ │ │ +0000a740: 7970 6573 206f 660a 7468 6569 7220 6172 ypes of.their ar │ │ │ │ │ +0000a750: 6775 6d65 6e74 732e 2020 416e 2065 7868 guments. An exh │ │ │ │ │ +0000a760: 6175 7374 6976 6520 7375 6d6d 6172 7920 austive summary │ │ │ │ │ +0000a770: 6f66 2074 6865 2070 6f73 7369 6269 6c69 of the possibili │ │ │ │ │ +0000a780: 7469 6573 2069 7320 6769 7665 6e20 696e ties is given in │ │ │ │ │ +0000a790: 0a74 6865 2066 6f6c 6c6f 7769 6e67 2074 .the following t │ │ │ │ │ +0000a7a0: 6162 6c65 2e0a 4c65 6674 2020 2020 2020 able..Left │ │ │ │ │ +0000a7b0: 2020 4f70 2020 2020 2020 2052 6967 6874 Op Right │ │ │ │ │ +0000a7c0: 2020 2020 2020 2052 6573 756c 7420 2020 Result │ │ │ │ │ +0000a7d0: 2020 2044 6573 6372 6970 7469 6f6e 0a2d Description.- │ │ │ │ │ 0000a7e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 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 2d0a 7363 616c 6172 2020 2020 2020 ---.scalar │ │ │ │ │ -0000a860: e280 982b e280 9920 2020 2020 2073 6361 ...+... sca │ │ │ │ │ -0000a870: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar │ │ │ │ │ -0000a880: 2020 2020 2053 6361 6c61 7220 7375 6d2e Scalar sum. │ │ │ │ │ -0000a890: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ... │ │ │ │ │ -0000a8a0: 2be2 8099 2020 2020 2020 7665 6374 6f72 +... vector │ │ │ │ │ -0000a8b0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ -0000a8c0: 2020 5665 6374 6f72 2073 756d 2e0a 706f Vector sum..po │ │ │ │ │ -0000a8d0: 696e 7420 2020 2020 2020 e280 982b e280 int ...+.. │ │ │ │ │ -0000a8e0: 9920 2020 2020 2076 6563 746f 7220 2020 . vector │ │ │ │ │ -0000a8f0: 2020 2070 6f69 6e74 2020 2020 2020 2050 point P │ │ │ │ │ -0000a900: 6f69 6e74 2d76 6563 746f 7220 6166 6669 oint-vector affi │ │ │ │ │ -0000a910: 6e65 2073 756d 2e0a 7665 6374 6f72 2020 ne sum..vector │ │ │ │ │ -0000a920: 2020 2020 e280 982b e280 9920 2020 2020 ...+... │ │ │ │ │ -0000a930: 2070 6f69 6e74 2020 2020 2020 2022 2020 point " │ │ │ │ │ -0000a940: 2020 2020 2020 2020 2022 0a73 6361 6c61 ".scala │ │ │ │ │ -0000a950: 7220 2020 2020 20e2 8098 2de2 8099 2020 r ...-... │ │ │ │ │ -0000a960: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ -0000a970: 7363 616c 6172 2020 2020 2020 5363 616c scalar Scal │ │ │ │ │ -0000a980: 6172 2064 6966 6665 7265 6e63 652e 0a76 ar difference..v │ │ │ │ │ -0000a990: 6563 746f 7220 2020 2020 20e2 8098 2de2 ector ...-. │ │ │ │ │ -0000a9a0: 8099 2020 2020 2020 7665 6374 6f72 2020 .. vector │ │ │ │ │ -0000a9b0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector │ │ │ │ │ -0000a9c0: 5665 6374 6f72 2064 6966 6665 7265 6e63 Vector differenc │ │ │ │ │ -0000a9d0: 652e 0a70 6f69 6e74 2020 2020 2020 20e2 e..point . │ │ │ │ │ -0000a9e0: 8098 2de2 8099 2020 2020 2020 706f 696e ..-... poin │ │ │ │ │ -0000a9f0: 7420 2020 2020 2020 7665 6374 6f72 2020 t vector │ │ │ │ │ -0000aa00: 2020 2020 506f 696e 742d 706f 696e 7420 Point-point │ │ │ │ │ -0000aa10: 6166 6669 6e65 2064 6966 6665 7265 6e63 affine differenc │ │ │ │ │ -0000aa20: 652e 0a70 6f69 6e74 2020 2020 2020 20e2 e..point . │ │ │ │ │ -0000aa30: 8098 2de2 8099 2020 2020 2020 7665 6374 ..-... vect │ │ │ │ │ -0000aa40: 6f72 2020 2020 2020 706f 696e 7420 2020 or point │ │ │ │ │ -0000aa50: 2020 2020 506f 696e 742d 7665 6374 6f72 Point-vector │ │ │ │ │ -0000aa60: 2061 6666 696e 6520 6469 6666 6572 656e affine differen │ │ │ │ │ -0000aa70: 6365 2e0a 7363 616c 6172 2020 2020 2020 ce..scalar │ │ │ │ │ -0000aa80: e280 982a e280 9920 6f72 2020 2073 6361 ...*... or sca │ │ │ │ │ -0000aa90: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar │ │ │ │ │ -0000aaa0: 2020 2020 2053 6361 6c61 7220 7072 6f64 Scalar prod │ │ │ │ │ -0000aab0: 7563 742e 0a20 2020 2020 2020 2020 2020 uct.. │ │ │ │ │ -0000aac0: 20e2 8098 2ee2 8099 0a73 6361 6c61 7220 ........scalar │ │ │ │ │ -0000aad0: 2020 2020 20e2 8098 2ae2 8099 206f 7220 ...*... or │ │ │ │ │ -0000aae0: 2020 7665 6374 6f72 2020 2020 2020 7665 vector ve │ │ │ │ │ -0000aaf0: 6374 6f72 2020 2020 2020 5363 616c 6172 ctor Scalar │ │ │ │ │ -0000ab00: 2d76 6563 746f 7220 7072 6f64 7563 742e -vector product. │ │ │ │ │ -0000ab10: 0a20 2020 2020 2020 2020 2020 20e2 8098 . ... │ │ │ │ │ -0000ab20: 2ee2 8099 0a76 6563 746f 7220 2020 2020 .....vector │ │ │ │ │ -0000ab30: 20e2 8098 2ae2 8099 206f 7220 2020 7363 ...*... or sc │ │ │ │ │ -0000ab40: 616c 6172 2020 2020 2020 2220 2020 2020 alar " │ │ │ │ │ -0000ab50: 2020 2020 2020 220a 2020 2020 2020 2020 ". │ │ │ │ │ -0000ab60: 2020 2020 e280 982e e280 990a 7665 6374 ........vect │ │ │ │ │ -0000ab70: 6f72 2020 2020 2020 e280 982a e280 9920 or ...*... │ │ │ │ │ -0000ab80: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ -0000ab90: 2076 6563 746f 7220 2020 2020 2056 6563 vector Vec │ │ │ │ │ -0000aba0: 746f 7220 6372 6f73 732d 7072 6f64 7563 tor cross-produc │ │ │ │ │ -0000abb0: 742e 0a76 6563 746f 7220 2020 2020 20e2 t..vector . │ │ │ │ │ -0000abc0: 8098 2ee2 8099 2020 2020 2020 7665 6374 ...... vect │ │ │ │ │ -0000abd0: 6f72 2020 2020 2020 7363 616c 6172 2020 or scalar │ │ │ │ │ -0000abe0: 2020 2020 5665 6374 6f72 2064 6f74 2070 Vector dot p │ │ │ │ │ -0000abf0: 726f 6475 6374 2e0a 7363 616c 6172 2020 roduct..scalar │ │ │ │ │ -0000ac00: 2020 2020 e280 985e e280 9920 2020 2020 ...^... │ │ │ │ │ -0000ac10: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca │ │ │ │ │ -0000ac20: 6c61 7220 2020 2020 2052 6169 7365 2073 lar Raise s │ │ │ │ │ -0000ac30: 6361 6c61 7220 746f 2073 6361 6c61 7220 calar to scalar │ │ │ │ │ -0000ac40: 706f 7765 722e 0a74 7261 6e73 666f 726d power..transform │ │ │ │ │ -0000ac50: 2020 20e2 8098 5ee2 8099 2020 2020 2020 ...^... │ │ │ │ │ -0000ac60: 696e 7465 6765 7220 2020 2020 7472 616e integer tran │ │ │ │ │ -0000ac70: 7366 6f72 6d20 2020 5261 6973 6520 7472 sform Raise tr │ │ │ │ │ -0000ac80: 616e 7366 6f72 6d20 746f 2069 6e74 6567 ansform to integ │ │ │ │ │ -0000ac90: 6572 2070 6f77 6572 2e0a 7472 616e 7366 er power..transf │ │ │ │ │ -0000aca0: 6f72 6d20 2020 e280 982a e280 9920 6f72 orm ...*... or │ │ │ │ │ -0000acb0: 2020 2070 6f69 6e74 2020 2020 2020 2070 point p │ │ │ │ │ -0000acc0: 6f69 6e74 2020 2020 2020 2041 6666 696e oint Affin │ │ │ │ │ -0000acd0: 6520 706f 696e 7420 7472 616e 7366 6f72 e point transfor │ │ │ │ │ -0000ace0: 6d20 2872 6967 6874 2d74 6f2d 6c65 6674 m (right-to-left │ │ │ │ │ -0000acf0: 292e 0a20 2020 2020 2020 2020 2020 20e2 ).. . │ │ │ │ │ -0000ad00: 8098 2ee2 8099 0a74 7261 6e73 666f 726d .......transform │ │ │ │ │ -0000ad10: 2020 20e2 8098 2ae2 8099 206f 7220 2020 ...*... or │ │ │ │ │ -0000ad20: 7665 6374 6f72 2020 2020 2020 7665 6374 vector vect │ │ │ │ │ -0000ad30: 6f72 2020 2020 2020 4166 6669 6e65 2076 or Affine v │ │ │ │ │ -0000ad40: 6563 746f 7220 7472 616e 7366 6f72 6d20 ector transform │ │ │ │ │ -0000ad50: 2872 6967 6874 2d74 6f2d 6c65 6674 292e (right-to-left). │ │ │ │ │ -0000ad60: 0a20 2020 2020 2020 2020 2020 20e2 8098 . ... │ │ │ │ │ -0000ad70: 2ee2 8099 0a74 7261 6e73 666f 726d 2020 .....transform │ │ │ │ │ -0000ad80: 20e2 8098 2ae2 8099 206f 7220 2020 7472 ...*... or tr │ │ │ │ │ -0000ad90: 616e 7366 6f72 6d20 2020 7472 616e 7366 ansform transf │ │ │ │ │ -0000ada0: 6f72 6d20 2020 5472 616e 7366 6f72 6d20 orm Transform │ │ │ │ │ -0000adb0: 636f 6d70 6f73 6974 696f 6e20 2872 6967 composition (rig │ │ │ │ │ -0000adc0: 6874 2d74 6f2d 6c65 6674 292e 0a20 2020 ht-to-left).. │ │ │ │ │ -0000add0: 2020 2020 2020 2020 20e2 8098 2ee2 8099 ....... │ │ │ │ │ -0000ade0: 0a70 6f69 6e74 2020 2020 2020 20e2 8098 .point ... │ │ │ │ │ -0000adf0: 7468 656e e280 9920 2020 7472 616e 7366 then... transf │ │ │ │ │ -0000ae00: 6f72 6d20 2020 706f 696e 7420 2020 2020 orm point │ │ │ │ │ -0000ae10: 2020 4166 6669 6e65 2070 6f69 6e74 2074 Affine point t │ │ │ │ │ -0000ae20: 7261 6e73 666f 726d 2028 6c65 6674 2d74 ransform (left-t │ │ │ │ │ -0000ae30: 6f2d 7269 6768 7429 2e0a 7665 6374 6f72 o-right)..vector │ │ │ │ │ -0000ae40: 2020 2020 2020 e280 9874 6865 6ee2 8099 ...then... │ │ │ │ │ -0000ae50: 2020 2074 7261 6e73 666f 726d 2020 2076 transform v │ │ │ │ │ -0000ae60: 6563 746f 7220 2020 2020 2041 6666 696e ector Affin │ │ │ │ │ -0000ae70: 6520 7665 6374 6f72 2074 7261 6e73 666f e vector transfo │ │ │ │ │ -0000ae80: 726d 2028 6c65 6674 2d74 6f2d 7269 6768 rm (left-to-righ │ │ │ │ │ -0000ae90: 7429 2e0a 7472 616e 7366 6f72 6d20 2020 t)..transform │ │ │ │ │ -0000aea0: e280 9874 6865 6ee2 8099 2020 2074 7261 ...then... tra │ │ │ │ │ -0000aeb0: 6e73 666f 726d 2020 2074 7261 6e73 666f nsform transfo │ │ │ │ │ -0000aec0: 726d 2020 2054 7261 6e73 666f 726d 2063 rm Transform c │ │ │ │ │ -0000aed0: 6f6d 706f 7369 7469 6f6e 2028 6c65 6674 omposition (left │ │ │ │ │ -0000aee0: 2d74 6f2d 7269 6768 7429 2e0a 7363 616c -to-right)..scal │ │ │ │ │ -0000aef0: 6172 2020 2020 2020 e280 982f e280 9920 ar .../... │ │ │ │ │ -0000af00: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ -0000af10: 2073 6361 6c61 7220 2020 2020 2053 6361 scalar Sca │ │ │ │ │ -0000af20: 6c61 7220 6469 7669 7369 6f6e 2e0a 7665 lar division..ve │ │ │ │ │ -0000af30: 6374 6f72 2020 2020 2020 e280 982f e280 ctor .../.. │ │ │ │ │ -0000af40: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar │ │ │ │ │ -0000af50: 2020 2076 6563 746f 7220 2020 2020 2056 vector V │ │ │ │ │ -0000af60: 6563 746f 7220 636f 6d70 6f6e 656e 742d ector component- │ │ │ │ │ -0000af70: 7769 7365 2064 6976 6973 696f 6e20 6279 wise division by │ │ │ │ │ -0000af80: 2073 6361 6c61 722e 0a70 6f69 6e74 2020 scalar..point │ │ │ │ │ -0000af90: 2020 2020 20e2 8098 27e2 8099 2020 2020 ...'... │ │ │ │ │ -0000afa0: 2020 e280 9878 e280 992c 20e2 8098 79e2 ...x..., ...y. │ │ │ │ │ -0000afb0: 8099 2c20 2020 7363 616c 6172 2020 2020 .., scalar │ │ │ │ │ -0000afc0: 2020 506f 696e 7420 636f 6d70 6f6e 656e Point componen │ │ │ │ │ -0000afd0: 7420 6578 7472 6163 7469 6f6e 2e0a 2020 t extraction.. │ │ │ │ │ +0000a850: 2d2d 2d2d 2d0a 7363 616c 6172 2020 2020 -----.scalar │ │ │ │ │ +0000a860: 2020 e280 982b e280 9920 2020 2020 2073 ...+... s │ │ │ │ │ +0000a870: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala │ │ │ │ │ +0000a880: 7220 2020 2020 2053 6361 6c61 7220 7375 r Scalar su │ │ │ │ │ +0000a890: 6d2e 0a76 6563 746f 7220 2020 2020 20e2 m..vector . │ │ │ │ │ +0000a8a0: 8098 2be2 8099 2020 2020 2020 7665 6374 ..+... vect │ │ │ │ │ +0000a8b0: 6f72 2020 2020 2020 7665 6374 6f72 2020 or vector │ │ │ │ │ +0000a8c0: 2020 2020 5665 6374 6f72 2073 756d 2e0a Vector sum.. │ │ │ │ │ +0000a8d0: 706f 696e 7420 2020 2020 2020 e280 982b point ...+ │ │ │ │ │ +0000a8e0: e280 9920 2020 2020 2076 6563 746f 7220 ... vector │ │ │ │ │ +0000a8f0: 2020 2020 2070 6f69 6e74 2020 2020 2020 point │ │ │ │ │ +0000a900: 2050 6f69 6e74 2d76 6563 746f 7220 6166 Point-vector af │ │ │ │ │ +0000a910: 6669 6e65 2073 756d 2e0a 7665 6374 6f72 fine sum..vector │ │ │ │ │ +0000a920: 2020 2020 2020 e280 982b e280 9920 2020 ...+... │ │ │ │ │ +0000a930: 2020 2070 6f69 6e74 2020 2020 2020 2022 point " │ │ │ │ │ +0000a940: 2020 2020 2020 2020 2020 2022 0a73 6361 ".sca │ │ │ │ │ +0000a950: 6c61 7220 2020 2020 20e2 8098 2de2 8099 lar ...-... │ │ │ │ │ +0000a960: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ +0000a970: 2020 7363 616c 6172 2020 2020 2020 5363 scalar Sc │ │ │ │ │ +0000a980: 616c 6172 2064 6966 6665 7265 6e63 652e alar difference. │ │ │ │ │ +0000a990: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ... │ │ │ │ │ +0000a9a0: 2de2 8099 2020 2020 2020 7665 6374 6f72 -... vector │ │ │ │ │ +0000a9b0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector │ │ │ │ │ +0000a9c0: 2020 5665 6374 6f72 2064 6966 6665 7265 Vector differe │ │ │ │ │ +0000a9d0: 6e63 652e 0a70 6f69 6e74 2020 2020 2020 nce..point │ │ │ │ │ +0000a9e0: 20e2 8098 2de2 8099 2020 2020 2020 706f ...-... po │ │ │ │ │ +0000a9f0: 696e 7420 2020 2020 2020 7665 6374 6f72 int vector │ │ │ │ │ +0000aa00: 2020 2020 2020 506f 696e 742d 706f 696e Point-poin │ │ │ │ │ +0000aa10: 7420 6166 6669 6e65 2064 6966 6665 7265 t affine differe │ │ │ │ │ +0000aa20: 6e63 652e 0a70 6f69 6e74 2020 2020 2020 nce..point │ │ │ │ │ +0000aa30: 20e2 8098 2de2 8099 2020 2020 2020 7665 ...-... ve │ │ │ │ │ +0000aa40: 6374 6f72 2020 2020 2020 706f 696e 7420 ctor point │ │ │ │ │ +0000aa50: 2020 2020 2020 506f 696e 742d 7665 6374 Point-vect │ │ │ │ │ +0000aa60: 6f72 2061 6666 696e 6520 6469 6666 6572 or affine differ │ │ │ │ │ +0000aa70: 656e 6365 2e0a 7363 616c 6172 2020 2020 ence..scalar │ │ │ │ │ +0000aa80: 2020 e280 982a e280 9920 6f72 2020 2073 ...*... or s │ │ │ │ │ +0000aa90: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala │ │ │ │ │ +0000aaa0: 7220 2020 2020 2053 6361 6c61 7220 7072 r Scalar pr │ │ │ │ │ +0000aab0: 6f64 7563 742e 0a20 2020 2020 2020 2020 oduct.. │ │ │ │ │ +0000aac0: 2020 20e2 8098 2ee2 8099 0a73 6361 6c61 ........scala │ │ │ │ │ +0000aad0: 7220 2020 2020 20e2 8098 2ae2 8099 206f r ...*... o │ │ │ │ │ +0000aae0: 7220 2020 7665 6374 6f72 2020 2020 2020 r vector │ │ │ │ │ +0000aaf0: 7665 6374 6f72 2020 2020 2020 5363 616c vector Scal │ │ │ │ │ +0000ab00: 6172 2d76 6563 746f 7220 7072 6f64 7563 ar-vector produc │ │ │ │ │ +0000ab10: 742e 0a20 2020 2020 2020 2020 2020 20e2 t.. . │ │ │ │ │ +0000ab20: 8098 2ee2 8099 0a76 6563 746f 7220 2020 .......vector │ │ │ │ │ +0000ab30: 2020 20e2 8098 2ae2 8099 206f 7220 2020 ...*... or │ │ │ │ │ +0000ab40: 7363 616c 6172 2020 2020 2020 2220 2020 scalar " │ │ │ │ │ +0000ab50: 2020 2020 2020 2020 220a 2020 2020 2020 ". │ │ │ │ │ +0000ab60: 2020 2020 2020 e280 982e e280 990a 7665 ........ve │ │ │ │ │ +0000ab70: 6374 6f72 2020 2020 2020 e280 982a e280 ctor ...*.. │ │ │ │ │ +0000ab80: 9920 2020 2020 2076 6563 746f 7220 2020 . vector │ │ │ │ │ +0000ab90: 2020 2076 6563 746f 7220 2020 2020 2056 vector V │ │ │ │ │ +0000aba0: 6563 746f 7220 6372 6f73 732d 7072 6f64 ector cross-prod │ │ │ │ │ +0000abb0: 7563 742e 0a76 6563 746f 7220 2020 2020 uct..vector │ │ │ │ │ +0000abc0: 20e2 8098 2ee2 8099 2020 2020 2020 7665 ....... ve │ │ │ │ │ +0000abd0: 6374 6f72 2020 2020 2020 7363 616c 6172 ctor scalar │ │ │ │ │ +0000abe0: 2020 2020 2020 5665 6374 6f72 2064 6f74 Vector dot │ │ │ │ │ +0000abf0: 2070 726f 6475 6374 2e0a 7363 616c 6172 product..scalar │ │ │ │ │ +0000ac00: 2020 2020 2020 e280 985e e280 9920 2020 ...^... │ │ │ │ │ +0000ac10: 2020 2073 6361 6c61 7220 2020 2020 2073 scalar s │ │ │ │ │ +0000ac20: 6361 6c61 7220 2020 2020 2052 6169 7365 calar Raise │ │ │ │ │ +0000ac30: 2073 6361 6c61 7220 746f 2073 6361 6c61 scalar to scala │ │ │ │ │ +0000ac40: 7220 706f 7765 722e 0a74 7261 6e73 666f r power..transfo │ │ │ │ │ +0000ac50: 726d 2020 20e2 8098 5ee2 8099 2020 2020 rm ...^... │ │ │ │ │ +0000ac60: 2020 696e 7465 6765 7220 2020 2020 7472 integer tr │ │ │ │ │ +0000ac70: 616e 7366 6f72 6d20 2020 5261 6973 6520 ansform Raise │ │ │ │ │ +0000ac80: 7472 616e 7366 6f72 6d20 746f 2069 6e74 transform to int │ │ │ │ │ +0000ac90: 6567 6572 2070 6f77 6572 2e0a 7472 616e eger power..tran │ │ │ │ │ +0000aca0: 7366 6f72 6d20 2020 e280 982a e280 9920 sform ...*... │ │ │ │ │ +0000acb0: 6f72 2020 2070 6f69 6e74 2020 2020 2020 or point │ │ │ │ │ +0000acc0: 2070 6f69 6e74 2020 2020 2020 2041 6666 point Aff │ │ │ │ │ +0000acd0: 696e 6520 706f 696e 7420 7472 616e 7366 ine point transf │ │ │ │ │ +0000ace0: 6f72 6d20 2872 6967 6874 2d74 6f2d 6c65 orm (right-to-le │ │ │ │ │ +0000acf0: 6674 292e 0a20 2020 2020 2020 2020 2020 ft).. │ │ │ │ │ +0000ad00: 20e2 8098 2ee2 8099 0a74 7261 6e73 666f ........transfo │ │ │ │ │ +0000ad10: 726d 2020 20e2 8098 2ae2 8099 206f 7220 rm ...*... or │ │ │ │ │ +0000ad20: 2020 7665 6374 6f72 2020 2020 2020 7665 vector ve │ │ │ │ │ +0000ad30: 6374 6f72 2020 2020 2020 4166 6669 6e65 ctor Affine │ │ │ │ │ +0000ad40: 2076 6563 746f 7220 7472 616e 7366 6f72 vector transfor │ │ │ │ │ +0000ad50: 6d20 2872 6967 6874 2d74 6f2d 6c65 6674 m (right-to-left │ │ │ │ │ +0000ad60: 292e 0a20 2020 2020 2020 2020 2020 20e2 ).. . │ │ │ │ │ +0000ad70: 8098 2ee2 8099 0a74 7261 6e73 666f 726d .......transform │ │ │ │ │ +0000ad80: 2020 20e2 8098 2ae2 8099 206f 7220 2020 ...*... or │ │ │ │ │ +0000ad90: 7472 616e 7366 6f72 6d20 2020 7472 616e transform tran │ │ │ │ │ +0000ada0: 7366 6f72 6d20 2020 5472 616e 7366 6f72 sform Transfor │ │ │ │ │ +0000adb0: 6d20 636f 6d70 6f73 6974 696f 6e20 2872 m composition (r │ │ │ │ │ +0000adc0: 6967 6874 2d74 6f2d 6c65 6674 292e 0a20 ight-to-left).. │ │ │ │ │ +0000add0: 2020 2020 2020 2020 2020 20e2 8098 2ee2 ..... │ │ │ │ │ +0000ade0: 8099 0a70 6f69 6e74 2020 2020 2020 20e2 ...point . │ │ │ │ │ +0000adf0: 8098 7468 656e e280 9920 2020 7472 616e ..then... tran │ │ │ │ │ +0000ae00: 7366 6f72 6d20 2020 706f 696e 7420 2020 sform point │ │ │ │ │ +0000ae10: 2020 2020 4166 6669 6e65 2070 6f69 6e74 Affine point │ │ │ │ │ +0000ae20: 2074 7261 6e73 666f 726d 2028 6c65 6674 transform (left │ │ │ │ │ +0000ae30: 2d74 6f2d 7269 6768 7429 2e0a 7665 6374 -to-right)..vect │ │ │ │ │ +0000ae40: 6f72 2020 2020 2020 e280 9874 6865 6ee2 or ...then. │ │ │ │ │ +0000ae50: 8099 2020 2074 7261 6e73 666f 726d 2020 .. transform │ │ │ │ │ +0000ae60: 2076 6563 746f 7220 2020 2020 2041 6666 vector Aff │ │ │ │ │ +0000ae70: 696e 6520 7665 6374 6f72 2074 7261 6e73 ine vector trans │ │ │ │ │ +0000ae80: 666f 726d 2028 6c65 6674 2d74 6f2d 7269 form (left-to-ri │ │ │ │ │ +0000ae90: 6768 7429 2e0a 7472 616e 7366 6f72 6d20 ght)..transform │ │ │ │ │ +0000aea0: 2020 e280 9874 6865 6ee2 8099 2020 2074 ...then... t │ │ │ │ │ +0000aeb0: 7261 6e73 666f 726d 2020 2074 7261 6e73 ransform trans │ │ │ │ │ +0000aec0: 666f 726d 2020 2054 7261 6e73 666f 726d form Transform │ │ │ │ │ +0000aed0: 2063 6f6d 706f 7369 7469 6f6e 2028 6c65 composition (le │ │ │ │ │ +0000aee0: 6674 2d74 6f2d 7269 6768 7429 2e0a 7363 ft-to-right)..sc │ │ │ │ │ +0000aef0: 616c 6172 2020 2020 2020 e280 982f e280 alar .../.. │ │ │ │ │ +0000af00: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar │ │ │ │ │ +0000af10: 2020 2073 6361 6c61 7220 2020 2020 2053 scalar S │ │ │ │ │ +0000af20: 6361 6c61 7220 6469 7669 7369 6f6e 2e0a calar division.. │ │ │ │ │ +0000af30: 7665 6374 6f72 2020 2020 2020 e280 982f vector .../ │ │ │ │ │ +0000af40: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar │ │ │ │ │ +0000af50: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ +0000af60: 2056 6563 746f 7220 636f 6d70 6f6e 656e Vector componen │ │ │ │ │ +0000af70: 742d 7769 7365 2064 6976 6973 696f 6e20 t-wise division │ │ │ │ │ +0000af80: 6279 2073 6361 6c61 722e 0a70 6f69 6e74 by scalar..point │ │ │ │ │ +0000af90: 2020 2020 2020 20e2 8098 27e2 8099 2020 ...'... │ │ │ │ │ +0000afa0: 2020 2020 e280 9878 e280 992c 20e2 8098 ...x..., ... │ │ │ │ │ +0000afb0: 79e2 8099 2c20 2020 7363 616c 6172 2020 y..., scalar │ │ │ │ │ +0000afc0: 2020 2020 506f 696e 7420 636f 6d70 6f6e Point compon │ │ │ │ │ +0000afd0: 656e 7420 6578 7472 6163 7469 6f6e 2e0a ent extraction.. │ │ │ │ │ 0000afe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000aff0: 2020 206f 7220 e280 987a e280 990a 7665 or ...z....ve │ │ │ │ │ -0000b000: 6374 6f72 2020 2020 2020 e280 9827 e280 ctor ...'.. │ │ │ │ │ -0000b010: 9920 2020 2020 20e2 8098 78e2 8099 2c20 . ...x..., │ │ │ │ │ -0000b020: e280 9879 e280 992c 2020 2073 6361 6c61 ...y..., scala │ │ │ │ │ -0000b030: 7220 2020 2020 2056 6563 746f 7220 636f r Vector co │ │ │ │ │ -0000b040: 6d70 6f6e 656e 7420 6578 7472 6163 7469 mponent extracti │ │ │ │ │ -0000b050: 6f6e 2e0a 2020 2020 2020 2020 2020 2020 on.. │ │ │ │ │ -0000b060: 2020 2020 2020 2020 206f 7220 e280 987a or ...z │ │ │ │ │ -0000b070: e280 990a 0a4f 7065 7261 746f 7220 7072 .....Operator pr │ │ │ │ │ -0000b080: 6563 6564 656e 6365 2069 7320 7368 6f77 ecedence is show │ │ │ │ │ -0000b090: 6e20 696e 2074 6869 7320 7461 626c 652e n in this table. │ │ │ │ │ -0000b0a0: 0a4f 7020 2020 2020 2020 5072 6563 6564 .Op Preced │ │ │ │ │ -0000b0b0: 656e 6365 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ence.----------- │ │ │ │ │ +0000aff0: 2020 2020 206f 7220 e280 987a e280 990a or ...z.... │ │ │ │ │ +0000b000: 7665 6374 6f72 2020 2020 2020 e280 9827 vector ...' │ │ │ │ │ +0000b010: e280 9920 2020 2020 20e2 8098 78e2 8099 ... ...x... │ │ │ │ │ +0000b020: 2c20 e280 9879 e280 992c 2020 2073 6361 , ...y..., sca │ │ │ │ │ +0000b030: 6c61 7220 2020 2020 2056 6563 746f 7220 lar Vector │ │ │ │ │ +0000b040: 636f 6d70 6f6e 656e 7420 6578 7472 6163 component extrac │ │ │ │ │ +0000b050: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. │ │ │ │ │ +0000b060: 2020 2020 2020 2020 2020 206f 7220 e280 or .. │ │ │ │ │ +0000b070: 987a e280 990a 0a4f 7065 7261 746f 7220 .z.....Operator │ │ │ │ │ +0000b080: 7072 6563 6564 656e 6365 2069 7320 7368 precedence is sh │ │ │ │ │ +0000b090: 6f77 6e20 696e 2074 6869 7320 7461 626c own in this tabl │ │ │ │ │ +0000b0a0: 652e 0a4f 7020 2020 2020 2020 5072 6563 e..Op Prec │ │ │ │ │ +0000b0b0: 6564 656e 6365 0a2d 2d2d 2d2d 2d2d 2d2d edence.--------- │ │ │ │ │ 0000b0c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000b0d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ -0000b0e0: e280 9827 e280 9920 2020 2020 2068 6967 ...'... hig │ │ │ │ │ -0000b0f0: 6865 7374 2028 6d6f 7374 2074 6967 6874 hest (most tight │ │ │ │ │ -0000b100: 6c79 2062 696e 6469 6e67 290a e280 985e ly binding)....^ │ │ │ │ │ -0000b110: e280 990a e280 982d e280 9920 2020 2020 .......-... │ │ │ │ │ -0000b120: 2028 756e 6172 7920 6e65 6761 7469 6f6e (unary negation │ │ │ │ │ -0000b130: 290a e280 982a e280 990a e280 982e e280 )....*.......... │ │ │ │ │ -0000b140: 990a e280 982f e280 990a e280 982b e280 ...../.......+.. │ │ │ │ │ -0000b150: 990a e280 982d e280 990a e280 9874 6865 .....-.......the │ │ │ │ │ -0000b160: 6ee2 8099 2020 206c 6f77 6573 7420 286c n... lowest (l │ │ │ │ │ -0000b170: 6561 7374 2074 6967 6874 6c79 2062 696e east tightly bin │ │ │ │ │ -0000b180: 6469 6e67 290a 0a41 6c6c 206f 7065 7261 ding)..All opera │ │ │ │ │ -0000b190: 7469 6f6e 7320 6172 6520 6c65 6674 2d61 tions are left-a │ │ │ │ │ -0000b1a0: 7373 6f63 6961 7469 7665 2065 7863 6570 ssociative excep │ │ │ │ │ -0000b1b0: 7420 666f 7220 e280 985e e280 992e 2020 t for ...^.... │ │ │ │ │ -0000b1c0: 5061 7265 6e74 6865 7365 7320 e280 9828 Parentheses ...( │ │ │ │ │ -0000b1d0: 2029 e280 990a 6172 6520 7573 6564 2066 )....are used f │ │ │ │ │ -0000b1e0: 6f72 2067 726f 7570 696e 6720 746f 206f or grouping to o │ │ │ │ │ -0000b1f0: 7665 7272 6964 6520 7072 6563 6564 656e verride preceden │ │ │ │ │ -0000b200: 6365 2069 6e20 7468 6520 7573 7561 6c20 ce in the usual │ │ │ │ │ -0000b210: 7761 792e 0a0a 2020 2041 7320 796f 7520 way... As you │ │ │ │ │ -0000b220: 6361 6e20 7365 652c 2074 6865 2064 6f74 can see, the dot │ │ │ │ │ -0000b230: 206f 7065 7261 746f 7220 e280 982e e280 operator ...... │ │ │ │ │ -0000b240: 9920 6973 2075 7375 616c 6c79 2061 2073 . is usually a s │ │ │ │ │ -0000b250: 796e 6f6e 796d 2066 6f72 0a72 756e 2d6f ynonym for.run-o │ │ │ │ │ -0000b260: 662d 7468 652d 6d69 6c6c 206d 756c 7469 f-the-mill multi │ │ │ │ │ -0000b270: 706c 6963 6174 696f 6e2c 20e2 8098 2ae2 plication, ...*. │ │ │ │ │ -0000b280: 8099 2e20 2054 6865 206d 6561 6e69 6e67 ... The meaning │ │ │ │ │ -0000b290: 7320 6469 6666 6572 206f 6e6c 7920 666f s differ only fo │ │ │ │ │ -0000b2a0: 720a 7665 6374 6f72 206f 7065 7261 6e64 r.vector operand │ │ │ │ │ -0000b2b0: 732e 2020 5468 6520 e280 9874 6865 6ee2 s. The ...then. │ │ │ │ │ -0000b2c0: 8099 206f 7065 7261 746f 7220 6d65 7265 .. operator mere │ │ │ │ │ -0000b2d0: 6c79 2072 6576 6572 7365 7320 7468 6520 ly reverses the │ │ │ │ │ -0000b2e0: 6f70 6572 616e 6420 6f72 6465 720a 7769 operand order.wi │ │ │ │ │ -0000b2f0: 7468 2072 6573 7065 6374 2074 6f20 6e6f th respect to no │ │ │ │ │ -0000b300: 726d 616c 206d 756c 7469 706c 6963 6174 rmal multiplicat │ │ │ │ │ -0000b310: 696f 6e20 e280 982a e280 992e 2020 5468 ion ...*.... Th │ │ │ │ │ -0000b320: 6520 696e 7465 6e74 2068 6572 6520 6973 e intent here is │ │ │ │ │ -0000b330: 2074 6f20 6d61 6b65 0a63 6f6d 706f 7369 to make.composi │ │ │ │ │ -0000b340: 7469 6f6e 7320 7265 6164 206d 6f72 6520 tions read more │ │ │ │ │ -0000b350: 6e61 7475 7261 6c6c 792e 2020 5468 6520 naturally. The │ │ │ │ │ -0000b360: 636f 6465 0a20 2020 2020 2831 2c32 2c33 code. (1,2,3 │ │ │ │ │ -0000b370: 2920 7468 656e 2073 6361 6c65 2832 2920 ) then scale(2) │ │ │ │ │ -0000b380: 7468 656e 2072 6f74 6174 6528 3330 2920 then rotate(30) │ │ │ │ │ -0000b390: 7468 656e 2074 7261 6e73 6c61 7465 285b then translate([ │ │ │ │ │ -0000b3a0: 312c 332c 305d 290a 6578 7072 6573 7365 1,3,0]).expresse │ │ │ │ │ -0000b3b0: 7320 6120 7365 7269 6573 206f 6620 7375 s a series of su │ │ │ │ │ -0000b3c0: 6363 6573 7369 7665 206d 6f64 6966 6963 ccessive modific │ │ │ │ │ -0000b3d0: 6174 696f 6e73 2074 6f20 7468 6520 706f ations to the po │ │ │ │ │ -0000b3e0: 696e 742c 2077 6865 7265 6173 2074 6865 int, whereas the │ │ │ │ │ -0000b3f0: 0a65 7175 6976 616c 656e 7420 666f 726d .equivalent form │ │ │ │ │ -0000b400: 0a20 2020 2020 7472 616e 736c 6174 6528 . translate( │ │ │ │ │ -0000b410: 5b31 2c33 2c30 5d29 202a 2072 6f74 6174 [1,3,0]) * rotat │ │ │ │ │ -0000b420: 6528 3330 2920 2a20 7363 616c 6528 3229 e(30) * scale(2) │ │ │ │ │ -0000b430: 202a 2028 312c 322c 3329 0a77 696c 6c20 * (1,2,3).will │ │ │ │ │ -0000b440: 6265 2069 6e74 7569 7469 7665 206f 6e6c be intuitive onl │ │ │ │ │ -0000b450: 7920 746f 206d 6174 6865 6d61 7469 6369 y to mathematici │ │ │ │ │ -0000b460: 616e 7320 2861 6e64 2070 6572 6861 7073 ans (and perhaps │ │ │ │ │ -0000b470: 2041 7261 6269 6320 6c61 6e67 7561 6765 Arabic language │ │ │ │ │ -0000b480: 0a72 6561 6465 7273 292e 0a0a 1f0a 4669 .readers).....Fi │ │ │ │ │ -0000b490: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -0000b4a0: 2020 4e6f 6465 3a20 556e 6172 7920 666f Node: Unary fo │ │ │ │ │ -0000b4b0: 726d 732c 2020 5072 6576 3a20 5477 6f2d rms, Prev: Two- │ │ │ │ │ -0000b4c0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ -0000b4d0: 2066 6f72 6d73 2c20 2055 703a 2041 7269 forms, Up: Ari │ │ │ │ │ -0000b4e0: 7468 6d65 7469 630a 0a33 2e31 2e34 2e32 thmetic..3.1.4.2 │ │ │ │ │ -0000b4f0: 2055 6e61 7279 2066 6f72 6d73 0a2e 2e2e Unary forms.... │ │ │ │ │ +0000b0d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000b0e0: 2d0a e280 9827 e280 9920 2020 2020 2068 -....'... h │ │ │ │ │ +0000b0f0: 6967 6865 7374 2028 6d6f 7374 2074 6967 ighest (most tig │ │ │ │ │ +0000b100: 6874 6c79 2062 696e 6469 6e67 290a e280 htly binding)... │ │ │ │ │ +0000b110: 985e e280 990a e280 982d e280 9920 2020 .^.......-... │ │ │ │ │ +0000b120: 2020 2028 756e 6172 7920 6e65 6761 7469 (unary negati │ │ │ │ │ +0000b130: 6f6e 290a e280 982a e280 990a e280 982e on)....*........ │ │ │ │ │ +0000b140: e280 990a e280 982f e280 990a e280 982b ......./.......+ │ │ │ │ │ +0000b150: e280 990a e280 982d e280 990a e280 9874 .......-.......t │ │ │ │ │ +0000b160: 6865 6ee2 8099 2020 206c 6f77 6573 7420 hen... lowest │ │ │ │ │ +0000b170: 286c 6561 7374 2074 6967 6874 6c79 2062 (least tightly b │ │ │ │ │ +0000b180: 696e 6469 6e67 290a 0a41 6c6c 206f 7065 inding)..All ope │ │ │ │ │ +0000b190: 7261 7469 6f6e 7320 6172 6520 6c65 6674 rations are left │ │ │ │ │ +0000b1a0: 2d61 7373 6f63 6961 7469 7665 2065 7863 -associative exc │ │ │ │ │ +0000b1b0: 6570 7420 666f 7220 e280 985e e280 992e ept for ...^.... │ │ │ │ │ +0000b1c0: 2020 5061 7265 6e74 6865 7365 7320 e280 Parentheses .. │ │ │ │ │ +0000b1d0: 9828 2029 e280 990a 6172 6520 7573 6564 .( )....are used │ │ │ │ │ +0000b1e0: 2066 6f72 2067 726f 7570 696e 6720 746f for grouping to │ │ │ │ │ +0000b1f0: 206f 7665 7272 6964 6520 7072 6563 6564 override preced │ │ │ │ │ +0000b200: 656e 6365 2069 6e20 7468 6520 7573 7561 ence in the usua │ │ │ │ │ +0000b210: 6c20 7761 792e 0a0a 2020 2041 7320 796f l way... As yo │ │ │ │ │ +0000b220: 7520 6361 6e20 7365 652c 2074 6865 2064 u can see, the d │ │ │ │ │ +0000b230: 6f74 206f 7065 7261 746f 7220 e280 982e ot operator .... │ │ │ │ │ +0000b240: e280 9920 6973 2075 7375 616c 6c79 2061 ... is usually a │ │ │ │ │ +0000b250: 2073 796e 6f6e 796d 2066 6f72 0a72 756e synonym for.run │ │ │ │ │ +0000b260: 2d6f 662d 7468 652d 6d69 6c6c 206d 756c -of-the-mill mul │ │ │ │ │ +0000b270: 7469 706c 6963 6174 696f 6e2c 20e2 8098 tiplication, ... │ │ │ │ │ +0000b280: 2ae2 8099 2e20 2054 6865 206d 6561 6e69 *.... The meani │ │ │ │ │ +0000b290: 6e67 7320 6469 6666 6572 206f 6e6c 7920 ngs differ only │ │ │ │ │ +0000b2a0: 666f 720a 7665 6374 6f72 206f 7065 7261 for.vector opera │ │ │ │ │ +0000b2b0: 6e64 732e 2020 5468 6520 e280 9874 6865 nds. The ...the │ │ │ │ │ +0000b2c0: 6ee2 8099 206f 7065 7261 746f 7220 6d65 n... operator me │ │ │ │ │ +0000b2d0: 7265 6c79 2072 6576 6572 7365 7320 7468 rely reverses th │ │ │ │ │ +0000b2e0: 6520 6f70 6572 616e 6420 6f72 6465 720a e operand order. │ │ │ │ │ +0000b2f0: 7769 7468 2072 6573 7065 6374 2074 6f20 with respect to │ │ │ │ │ +0000b300: 6e6f 726d 616c 206d 756c 7469 706c 6963 normal multiplic │ │ │ │ │ +0000b310: 6174 696f 6e20 e280 982a e280 992e 2020 ation ...*.... │ │ │ │ │ +0000b320: 5468 6520 696e 7465 6e74 2068 6572 6520 The intent here │ │ │ │ │ +0000b330: 6973 2074 6f20 6d61 6b65 0a63 6f6d 706f is to make.compo │ │ │ │ │ +0000b340: 7369 7469 6f6e 7320 7265 6164 206d 6f72 sitions read mor │ │ │ │ │ +0000b350: 6520 6e61 7475 7261 6c6c 792e 2020 5468 e naturally. Th │ │ │ │ │ +0000b360: 6520 636f 6465 0a20 2020 2020 2831 2c32 e code. (1,2 │ │ │ │ │ +0000b370: 2c33 2920 7468 656e 2073 6361 6c65 2832 ,3) then scale(2 │ │ │ │ │ +0000b380: 2920 7468 656e 2072 6f74 6174 6528 3330 ) then rotate(30 │ │ │ │ │ +0000b390: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate │ │ │ │ │ +0000b3a0: 285b 312c 332c 305d 290a 6578 7072 6573 ([1,3,0]).expres │ │ │ │ │ +0000b3b0: 7365 7320 6120 7365 7269 6573 206f 6620 ses a series of │ │ │ │ │ +0000b3c0: 7375 6363 6573 7369 7665 206d 6f64 6966 successive modif │ │ │ │ │ +0000b3d0: 6963 6174 696f 6e73 2074 6f20 7468 6520 ications to the │ │ │ │ │ +0000b3e0: 706f 696e 742c 2077 6865 7265 6173 2074 point, whereas t │ │ │ │ │ +0000b3f0: 6865 0a65 7175 6976 616c 656e 7420 666f he.equivalent fo │ │ │ │ │ +0000b400: 726d 0a20 2020 2020 7472 616e 736c 6174 rm. translat │ │ │ │ │ +0000b410: 6528 5b31 2c33 2c30 5d29 202a 2072 6f74 e([1,3,0]) * rot │ │ │ │ │ +0000b420: 6174 6528 3330 2920 2a20 7363 616c 6528 ate(30) * scale( │ │ │ │ │ +0000b430: 3229 202a 2028 312c 322c 3329 0a77 696c 2) * (1,2,3).wil │ │ │ │ │ +0000b440: 6c20 6265 2069 6e74 7569 7469 7665 206f l be intuitive o │ │ │ │ │ +0000b450: 6e6c 7920 746f 206d 6174 6865 6d61 7469 nly to mathemati │ │ │ │ │ +0000b460: 6369 616e 7320 2861 6e64 2070 6572 6861 cians (and perha │ │ │ │ │ +0000b470: 7073 2041 7261 6269 6320 6c61 6e67 7561 ps Arabic langua │ │ │ │ │ +0000b480: 6765 0a72 6561 6465 7273 292e 0a0a 1f0a ge.readers)..... │ │ │ │ │ +0000b490: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +0000b4a0: 6f2c 2020 4e6f 6465 3a20 556e 6172 7920 o, Node: Unary │ │ │ │ │ +0000b4b0: 666f 726d 732c 2020 5072 6576 3a20 5477 forms, Prev: Tw │ │ │ │ │ +0000b4c0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ +0000b4d0: 7929 2066 6f72 6d73 2c20 2055 703a 2041 y) forms, Up: A │ │ │ │ │ +0000b4e0: 7269 7468 6d65 7469 630a 0a33 2e31 2e34 rithmetic..3.1.4 │ │ │ │ │ +0000b4f0: 2e32 2055 6e61 7279 2066 6f72 6d73 0a2e .2 Unary forms.. │ │ │ │ │ 0000b500: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000b510: 0a0a 556e 6172 7920 6f72 206f 6e65 2d6f ..Unary or one-o │ │ │ │ │ -0000b520: 7065 7261 6e64 2066 6f72 6d73 2061 7265 perand forms are │ │ │ │ │ -0000b530: 2073 756d 6d61 7269 7a65 6420 696e 2074 summarized in t │ │ │ │ │ -0000b540: 6865 2066 6f6c 6c6f 7769 6e67 2074 6162 he following tab │ │ │ │ │ -0000b550: 6c65 2c20 7768 6572 650a e280 9858 e280 le, where....X.. │ │ │ │ │ -0000b560: 9920 7374 616e 6473 2066 6f72 2074 6865 . stands for the │ │ │ │ │ -0000b570: 206f 7065 7261 6e64 2e0a 4f70 2020 2020 operand..Op │ │ │ │ │ -0000b580: 2020 2020 2020 2020 204f 7065 7261 6e64 Operand │ │ │ │ │ -0000b590: 2020 2020 2052 6573 756c 7420 2020 2020 Result │ │ │ │ │ -0000b5a0: 2044 6573 6372 6970 7469 6f6e 0a2d 2d2d Description.--- │ │ │ │ │ +0000b510: 2e2e 0a0a 556e 6172 7920 6f72 206f 6e65 ....Unary or one │ │ │ │ │ +0000b520: 2d6f 7065 7261 6e64 2066 6f72 6d73 2061 -operand forms a │ │ │ │ │ +0000b530: 7265 2073 756d 6d61 7269 7a65 6420 696e re summarized in │ │ │ │ │ +0000b540: 2074 6865 2066 6f6c 6c6f 7769 6e67 2074 the following t │ │ │ │ │ +0000b550: 6162 6c65 2c20 7768 6572 650a e280 9858 able, where....X │ │ │ │ │ +0000b560: e280 9920 7374 616e 6473 2066 6f72 2074 ... stands for t │ │ │ │ │ +0000b570: 6865 206f 7065 7261 6e64 2e0a 4f70 2020 he operand..Op │ │ │ │ │ +0000b580: 2020 2020 2020 2020 2020 204f 7065 7261 Opera │ │ │ │ │ +0000b590: 6e64 2020 2020 2052 6573 756c 7420 2020 nd Result │ │ │ │ │ +0000b5a0: 2020 2044 6573 6372 6970 7469 6f6e 0a2d Description.- │ │ │ │ │ 0000b5b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 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: 2d0a e280 982d 58e2 8099 2020 2020 2020 -....-X... │ │ │ │ │ -0000b610: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ -0000b620: 2073 6361 6c61 7220 2020 2020 2055 6e61 scalar Una │ │ │ │ │ -0000b630: 7279 2073 6361 6c61 7220 6e65 6761 7469 ry scalar negati │ │ │ │ │ -0000b640: 6f6e 2e0a e280 982d 58e2 8099 2020 2020 on.....-X... │ │ │ │ │ -0000b650: 2020 2020 2020 2076 6563 746f 7220 2020 vector │ │ │ │ │ -0000b660: 2020 2076 6563 746f 7220 2020 2020 2055 vector U │ │ │ │ │ -0000b670: 6e61 7279 2076 6563 746f 7220 6e65 6761 nary vector nega │ │ │ │ │ -0000b680: 7469 6f6e 2e0a e280 987c 587c e280 9920 tion.....|X|... │ │ │ │ │ -0000b690: 2020 2020 2020 2020 2076 6563 746f 7220 vector │ │ │ │ │ -0000b6a0: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar │ │ │ │ │ -0000b6b0: 2056 6563 746f 7220 6c65 6e67 7468 2e0a Vector length.. │ │ │ │ │ -0000b6c0: e280 9875 6e69 7428 5829 e280 9920 2020 ...unit(X)... │ │ │ │ │ -0000b6d0: 2020 2076 6563 746f 7220 2020 2020 2076 vector v │ │ │ │ │ -0000b6e0: 6563 746f 7220 2020 2020 2055 6e69 7420 ector Unit │ │ │ │ │ -0000b6f0: 7665 6374 6f72 2077 6974 6820 7361 6d65 vector with same │ │ │ │ │ -0000b700: 2064 6972 6563 7469 6f6e 2e0a e280 9873 direction.....s │ │ │ │ │ -0000b710: 7172 7428 5829 e280 9920 2020 2020 2073 qrt(X)... s │ │ │ │ │ -0000b720: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala │ │ │ │ │ -0000b730: 7220 2020 2020 2053 6361 6c61 7220 7371 r Scalar sq │ │ │ │ │ -0000b740: 7561 7265 2072 6f6f 742e 0ae2 8098 7369 uare root.....si │ │ │ │ │ -0000b750: 6e28 5829 e280 9920 2020 2020 2020 7363 n(X)... sc │ │ │ │ │ -0000b760: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar │ │ │ │ │ -0000b770: 2020 2020 2020 5472 6967 6f6e 6f6d 6574 Trigonomet │ │ │ │ │ -0000b780: 7269 6320 7369 6e65 2028 e280 9858 e280 ric sine (...X.. │ │ │ │ │ -0000b790: 9920 696e 2064 6567 7265 6573 292e 0ae2 . in degrees)... │ │ │ │ │ -0000b7a0: 8098 636f 7328 5829 e280 9920 2020 2020 ..cos(X)... │ │ │ │ │ -0000b7b0: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc │ │ │ │ │ -0000b7c0: 616c 6172 2020 2020 2020 5472 6967 6f6e alar Trigon │ │ │ │ │ -0000b7d0: 6f6d 6574 7269 6320 636f 7369 6e65 2028 ometric cosine ( │ │ │ │ │ -0000b7e0: e280 9858 e280 9920 696e 2064 6567 7265 ...X... in degre │ │ │ │ │ -0000b7f0: 6573 292e 0ae2 8098 6173 696e 2858 29e2 es).....asin(X). │ │ │ │ │ -0000b800: 8099 2020 2020 2020 7363 616c 6172 2020 .. scalar │ │ │ │ │ -0000b810: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ -0000b820: 496e 7665 7273 6520 7369 6e65 2028 e280 Inverse sine (.. │ │ │ │ │ -0000b830: 9858 e280 9920 696e 2064 6567 7265 6573 .X... in degrees │ │ │ │ │ -0000b840: 292e 0ae2 8098 6163 6f73 2858 29e2 8099 ).....acos(X)... │ │ │ │ │ -0000b850: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ -0000b860: 2020 7363 616c 6172 2020 2020 2020 496e scalar In │ │ │ │ │ -0000b870: 7665 7273 6520 636f 7369 6e65 2028 e280 verse cosine (.. │ │ │ │ │ -0000b880: 9858 e280 9920 696e 2064 6567 7265 6573 .X... in degrees │ │ │ │ │ -0000b890: 292e 0ae2 8098 6174 616e 3228 582c 5929 ).....atan2(X,Y) │ │ │ │ │ -0000b8a0: e280 9920 2020 7363 616c 6172 2020 2020 ... scalar │ │ │ │ │ -0000b8b0: 2020 7363 616c 6172 2020 2020 2020 506f scalar Po │ │ │ │ │ -0000b8c0: 6c61 7220 616e 676c 6520 696e 2064 6567 lar angle in deg │ │ │ │ │ -0000b8d0: 7265 6573 206f 6620 7665 6374 6f72 205b rees of vector [ │ │ │ │ │ -0000b8e0: 582c 595d 2e0a e280 9869 6e76 6572 7365 X,Y].....inverse │ │ │ │ │ -0000b8f0: 2858 29e2 8099 2020 2074 7261 6e73 666f (X)... transfo │ │ │ │ │ -0000b900: 726d 2020 2074 7261 6e73 666f 726d 2020 rm transform │ │ │ │ │ -0000b910: 2049 6e76 6572 7365 2074 7261 6e73 666f Inverse transfo │ │ │ │ │ -0000b920: 726d 2e0a 0a45 7272 6f72 7320 6172 6520 rm...Errors are │ │ │ │ │ -0000b930: 7265 706f 7274 6564 2077 6865 6e20 e280 reported when .. │ │ │ │ │ -0000b940: 987c 587c e280 992c 20e2 8098 756e 6974 .|X|..., ...unit │ │ │ │ │ -0000b950: e280 992c 20e2 8098 6173 696e e280 992c ..., ...asin..., │ │ │ │ │ -0000b960: 20e2 8098 6163 6f73 e280 992c 20e2 8098 ...acos..., ... │ │ │ │ │ -0000b970: 7371 7274 e280 992c 20e2 8098 6174 616e sqrt..., ...atan │ │ │ │ │ -0000b980: 32e2 8099 2c0a 616e 6420 e280 9869 6e76 2...,.and ...inv │ │ │ │ │ -0000b990: 6572 7365 e280 9920 6661 696c 2064 7565 erse... fail due │ │ │ │ │ -0000b9a0: 2074 6f20 6f70 6572 616e 6473 206f 7574 to operands out │ │ │ │ │ -0000b9b0: 7369 6465 2074 6865 6972 2072 6573 7065 side their respe │ │ │ │ │ -0000b9c0: 6374 6976 6520 646f 6d61 696e 732e 0a0a ctive domains... │ │ │ │ │ -0000b9d0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -0000b9e0: 6e66 6f2c 2020 4e6f 6465 3a20 4f70 7469 nfo, Node: Opti │ │ │ │ │ -0000b9f0: 6f6e 732c 2020 5072 6576 3a20 4172 6974 ons, Prev: Arit │ │ │ │ │ -0000ba00: 686d 6574 6963 2c20 2055 703a 204c 616e hmetic, Up: Lan │ │ │ │ │ -0000ba10: 6775 6167 6520 6261 7369 6373 0a0a 332e guage basics..3. │ │ │ │ │ -0000ba20: 312e 3520 4f70 7469 6f6e 730a 2d2d 2d2d 1.5 Options.---- │ │ │ │ │ -0000ba30: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt │ │ │ │ │ -0000ba40: 6178 3a2a 0a20 2020 2020 5b4b 4559 313d ax:*. [KEY1= │ │ │ │ │ -0000ba50: 5641 4c31 2c4b 4559 323d 5641 4c32 2c2e VAL1,KEY2=VAL2,. │ │ │ │ │ -0000ba60: 2e2e 5d0a 4f70 7469 6f6e 7320 6172 6520 ..].Options are │ │ │ │ │ -0000ba70: 7573 6564 2074 6f20 7370 6563 6966 7920 used to specify │ │ │ │ │ -0000ba80: 6465 7461 696c 7320 6f66 2074 6865 2061 details of the a │ │ │ │ │ -0000ba90: 7070 6561 7261 6e63 6520 6f66 2064 7261 ppearance of dra │ │ │ │ │ -0000baa0: 7761 626c 6573 2e20 2041 730a 7368 6f77 wables. As.show │ │ │ │ │ -0000bab0: 6e20 6162 6f76 652c 2074 6865 7920 6172 n above, they ar │ │ │ │ │ -0000bac0: 6520 6769 7665 6e20 6173 2063 6f6d 6d61 e given as comma │ │ │ │ │ -0000bad0: 2d73 6570 6172 6174 6564 206b 6579 2d76 -separated key-v │ │ │ │ │ -0000bae0: 616c 7565 2070 6169 7273 2e0a 0a2a 204d alue pairs...* M │ │ │ │ │ -0000baf0: 656e 753a 0a0a 2a20 5053 5472 6963 6b73 enu:..* PSTricks │ │ │ │ │ -0000bb00: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: │ │ │ │ │ -0000bb10: 2020 2020 2020 4f70 7469 6f6e 7320 696e Options in │ │ │ │ │ -0000bb20: 6865 7269 7465 6420 6672 6f6d 20e2 8098 herited from ... │ │ │ │ │ -0000bb30: 5053 5472 6963 6b73 e280 992e 0a2a 2054 PSTricks.....* T │ │ │ │ │ -0000bb40: 696b 5a2f 5047 4620 6f70 7469 6f6e 733a ikZ/PGF options: │ │ │ │ │ -0000bb50: 3a20 2020 2020 2020 2020 2020 204f 7074 : Opt │ │ │ │ │ -0000bb60: 696f 6e73 2069 6e68 6572 6974 6564 2066 ions inherited f │ │ │ │ │ -0000bb70: 726f 6d20 e280 9854 696b 5a2f 5047 46e2 rom ...TikZ/PGF. │ │ │ │ │ -0000bb80: 8099 2e0a 2a20 446f 7473 2069 6e20 5469 ....* Dots in Ti │ │ │ │ │ -0000bb90: 6b5a 2f50 4746 3a3a 2020 2020 2020 2020 kZ/PGF:: │ │ │ │ │ -0000bba0: 2020 2020 536b 6574 6368 2075 7365 7320 Sketch uses │ │ │ │ │ -0000bbb0: e280 9854 696b 5a2f 5047 46e2 8099 2063 ...TikZ/PGF... c │ │ │ │ │ -0000bbc0: 6972 636c 6573 2066 6f72 2064 6f74 732e ircles for dots. │ │ │ │ │ -0000bbd0: 0a2a 2054 696b 5a2f 5047 4620 7573 6572 .* TikZ/PGF user │ │ │ │ │ -0000bbe0: 2d64 6566 696e 6564 2073 7479 6c65 733a -defined styles: │ │ │ │ │ -0000bbf0: 3a20 2053 7570 706f 7274 2066 6f72 20e2 : Support for . │ │ │ │ │ -0000bc00: 8098 5469 6b5a 2f50 4746 e280 9920 6e61 ..TikZ/PGF... na │ │ │ │ │ -0000bc10: 6d65 642c 2075 7365 722d 6465 6669 6e65 med, user-define │ │ │ │ │ -0000bc20: 6420 7374 796c 6573 2e0a 2a20 5472 616e d styles..* Tran │ │ │ │ │ -0000bc30: 7370 6172 656e 6379 3a3a 2020 2020 2020 sparency:: │ │ │ │ │ -0000bc40: 2020 2020 2020 2020 2020 5365 652d 7468 See-th │ │ │ │ │ -0000bc50: 726f 7567 6820 706f 6c79 676f 6e73 2e0a rough polygons.. │ │ │ │ │ -0000bc60: 2a20 496e 7465 726e 616c 206f 7074 696f * Internal optio │ │ │ │ │ -0000bc70: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ -0000bc80: 4f70 7469 6f6e 7320 7573 6564 2062 7920 Options used by │ │ │ │ │ -0000bc90: e280 9873 6b65 7463 68e2 8099 2e0a 0a1f ...sketch....... │ │ │ │ │ -0000bca0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -0000bcb0: 666f 2c20 204e 6f64 653a 2050 5354 7269 fo, Node: PSTri │ │ │ │ │ -0000bcc0: 636b 7320 6f70 7469 6f6e 732c 2020 4e65 cks options, Ne │ │ │ │ │ -0000bcd0: 7874 3a20 5469 6b5a 2f50 4746 206f 7074 xt: TikZ/PGF opt │ │ │ │ │ -0000bce0: 696f 6e73 2c20 2050 7265 763a 204f 7074 ions, Prev: Opt │ │ │ │ │ -0000bcf0: 696f 6e73 2c20 2055 703a 204f 7074 696f ions, Up: Optio │ │ │ │ │ -0000bd00: 6e73 0a0a 332e 312e 352e 3120 e280 9850 ns..3.1.5.1 ...P │ │ │ │ │ -0000bd10: 5354 7269 636b 73e2 8099 206f 7074 696f STricks... optio │ │ │ │ │ -0000bd20: 6e73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ns.............. │ │ │ │ │ -0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a57 ...............W │ │ │ │ │ -0000bd40: 6865 6e20 e280 986c 616e 6775 6167 6520 hen ...language │ │ │ │ │ -0000bd50: 7073 7472 6963 6b73 e280 9920 6973 2073 pstricks... is s │ │ │ │ │ -0000bd60: 656c 6563 7465 6420 2874 6865 2064 6566 elected (the def │ │ │ │ │ -0000bd70: 6175 6c74 292c 2070 6572 6d69 7373 6962 ault), permissib │ │ │ │ │ -0000bd80: 6c65 0a6b 6579 2d76 616c 7565 2070 6169 le.key-value pai │ │ │ │ │ -0000bd90: 7273 2069 6e63 6c75 6465 2061 6c6c 2074 rs include all t │ │ │ │ │ -0000bda0: 686f 7365 2066 6f72 2073 696d 696c 6172 hose for similar │ │ │ │ │ -0000bdb0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ -0000bdc0: 6f62 6a65 6374 732e 2020 466f 720a 6578 objects. For.ex │ │ │ │ │ -0000bdd0: 616d 706c 652c 2061 2070 6f6c 7967 6f6e ample, a polygon │ │ │ │ │ -0000bde0: 206d 6967 6874 2068 6176 6520 7468 6520 might have the │ │ │ │ │ -0000bdf0: 6f70 7469 6f6e 730a 2020 5b6c 696e 6577 options. [linew │ │ │ │ │ -0000be00: 6964 7468 3d31 7074 2c6c 696e 6563 6f6c idth=1pt,linecol │ │ │ │ │ -0000be10: 6f72 3d62 6c75 652c 6669 6c6c 636f 6c6f or=blue,fillcolo │ │ │ │ │ -0000be20: 723d 6379 616e 5d0a e280 9853 6b65 7463 r=cyan]....Sketc │ │ │ │ │ -0000be30: 68e2 8099 206d 6572 656c 7920 7061 7373 h... merely pass │ │ │ │ │ -0000be40: 6573 2074 6865 7365 206f 6e20 746f 20e2 es these on to . │ │ │ │ │ -0000be50: 8098 5053 5472 6963 6b73 e280 9920 7769 ..PSTricks... wi │ │ │ │ │ -0000be60: 7468 6f75 7420 6368 6563 6b69 6e67 206f thout checking o │ │ │ │ │ -0000be70: 720a 6d6f 6469 6669 6361 7469 6f6e 2e20 r.modification. │ │ │ │ │ -0000be80: 204f 7074 696f 6e20 6c69 7374 7320 6172 Option lists ar │ │ │ │ │ -0000be90: 6520 616c 7761 7973 206f 7074 696f 6e61 e always optiona │ │ │ │ │ -0000bea0: 6c2e 2020 4120 6d69 7373 696e 6720 6f70 l. A missing op │ │ │ │ │ -0000beb0: 7469 6f6e 7320 6c69 7374 0a69 7320 6571 tions list.is eq │ │ │ │ │ -0000bec0: 7569 7661 6c65 6e74 2074 6f20 616e 2065 uivalent to an e │ │ │ │ │ -0000bed0: 6d70 7479 206f 6e65 20e2 8098 5b5d e280 mpty one ...[].. │ │ │ │ │ -0000bee0: 992e 0a0a 2020 2057 6865 6e20 6120 e280 .... When a .. │ │ │ │ │ -0000bef0: 9870 6f6c 7967 6f6e e280 9920 6861 7320 .polygon... has │ │ │ │ │ -0000bf00: 6f70 7469 6f6e 7320 666f 7220 626f 7468 options for both │ │ │ │ │ -0000bf10: 2069 7473 2066 6163 6520 616e 6420 6974 its face and it │ │ │ │ │ -0000bf20: 7320 6564 6765 732c 2061 6e64 2074 6865 s edges, and the │ │ │ │ │ -0000bf30: 0a70 6f6c 7967 6f6e 2069 7320 7370 6c69 .polygon is spli │ │ │ │ │ -0000bf40: 7420 6279 2074 6865 2068 6964 6465 6e20 t by the hidden │ │ │ │ │ -0000bf50: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith │ │ │ │ │ -0000bf60: 6d2c 20e2 8098 736b 6574 6368 e280 9920 m, ...sketch... │ │ │ │ │ -0000bf70: 6d75 7374 2063 6f70 7920 7468 650a 6564 must copy the.ed │ │ │ │ │ -0000bf80: 6765 206f 7074 696f 6e73 2074 6f20 e280 ge options to .. │ │ │ │ │ -0000bf90: 9870 736c 696e 65e2 8099 7320 666f 7220 .psline...s for │ │ │ │ │ -0000bfa0: 7468 6520 6564 6765 2073 6567 6d65 6e74 the edge segment │ │ │ │ │ -0000bfb0: 7320 616e 6420 7468 6520 6661 6365 206f s and the face o │ │ │ │ │ -0000bfc0: 7074 696f 6e73 2074 6f0a e280 9870 7370 ptions to....psp │ │ │ │ │ -0000bfd0: 6f6c 7967 6f6e e280 9973 2e20 204f 7074 olygon...s. Opt │ │ │ │ │ -0000bfe0: 696f 6e73 206b 6e6f 776e 2074 6f20 e280 ions known to .. │ │ │ │ │ -0000bff0: 9873 6b65 7463 68e2 8099 2066 6f72 2070 .sketch... for p │ │ │ │ │ -0000c000: 7572 706f 7365 7320 6f66 2074 6869 7320 urposes of this │ │ │ │ │ -0000c010: 7370 6c69 7474 696e 670a 6f70 6572 6174 splitting.operat │ │ │ │ │ -0000c020: 696f 6e20 696e 636c 7564 6520 e280 9861 ion include ...a │ │ │ │ │ -0000c030: 7272 6f77 73e2 8099 2c20 e280 9864 6173 rrows..., ...das │ │ │ │ │ -0000c040: 68e2 8099 2c20 e280 9864 6f74 7365 70e2 h..., ...dotsep. │ │ │ │ │ -0000c050: 8099 2c20 e280 9866 696c 6c63 6f6c 6f72 .., ...fillcolor │ │ │ │ │ -0000c060: e280 992c 20e2 8098 6669 6c6c 7374 796c ..., ...fillstyl │ │ │ │ │ -0000c070: 65e2 8099 2c0a e280 986c 696e 6563 6f6c e...,....linecol │ │ │ │ │ -0000c080: 6f72 e280 992c 20e2 8098 6c69 6e65 7374 or..., ...linest │ │ │ │ │ -0000c090: 796c 65e2 8099 2c20 e280 986c 696e 6577 yle..., ...linew │ │ │ │ │ -0000c0a0: 6964 7468 e280 992c 20e2 8098 6f70 6163 idth..., ...opac │ │ │ │ │ -0000c0b0: 6974 79e2 8099 2c20 e280 9873 686f 7770 ity..., ...showp │ │ │ │ │ -0000c0c0: 6f69 6e74 73e2 8099 2c0a e280 9873 7472 oints...,....str │ │ │ │ │ -0000c0d0: 6f6b 656f 7061 6369 7479 e280 992c 2061 okeopacity..., a │ │ │ │ │ -0000c0e0: 6e64 20e2 8098 7472 616e 7370 616c 7068 nd ...transpalph │ │ │ │ │ -0000c0f0: 61e2 8099 2e0a 0a1f 0a46 696c 653a 2073 a........File: s │ │ │ │ │ -0000c100: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -0000c110: 653a 2054 696b 5a2f 5047 4620 6f70 7469 e: TikZ/PGF opti │ │ │ │ │ -0000c120: 6f6e 732c 2020 4e65 7874 3a20 446f 7473 ons, Next: Dots │ │ │ │ │ -0000c130: 2069 6e20 5469 6b5a 2f50 4746 2c20 2050 in TikZ/PGF, P │ │ │ │ │ -0000c140: 7265 763a 2050 5354 7269 636b 7320 6f70 rev: PSTricks op │ │ │ │ │ -0000c150: 7469 6f6e 732c 2020 5570 3a20 4f70 7469 tions, Up: Opti │ │ │ │ │ -0000c160: 6f6e 730a 0a33 2e31 2e35 2e32 20e2 8098 ons..3.1.5.2 ... │ │ │ │ │ -0000c170: 5469 6b5a 2f50 4746 e280 9920 6f70 7469 TikZ/PGF... opti │ │ │ │ │ -0000c180: 6f6e 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ons............. │ │ │ │ │ -0000c190: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ -0000c1a0: e280 9854 696b 5a2f 5047 46e2 8099 206f ...TikZ/PGF... o │ │ │ │ │ -0000c1b0: 7074 696f 6e73 2061 7265 2068 616e 646c ptions are handl │ │ │ │ │ -0000c1c0: 6564 206d 7563 6820 6173 2066 6f72 20e2 ed much as for . │ │ │ │ │ -0000c1d0: 8098 5053 5472 6963 6b73 e280 992e 2020 ..PSTricks.... │ │ │ │ │ -0000c1e0: 5468 6f75 6768 0ae2 8098 5469 6b5a 2f50 Though....TikZ/P │ │ │ │ │ -0000c1f0: 4746 e280 9920 6f66 7465 6e20 616c 6c6f GF... often allo │ │ │ │ │ -0000c200: 7773 2063 6f6c 6f72 7320 616e 6420 7374 ws colors and st │ │ │ │ │ -0000c210: 796c 6573 2074 6f20 6265 2067 6976 656e yles to be given │ │ │ │ │ -0000c220: 2077 6974 686f 7574 0a63 6f72 7265 7370 without.corresp │ │ │ │ │ -0000c230: 6f6e 6469 6e67 206b 6579 732c 2066 6f72 onding keys, for │ │ │ │ │ -0000c240: 2065 7861 6d70 6c65 2c0a 2020 5c64 7261 example,. \dra │ │ │ │ │ -0000c250: 775b 7265 642c 756c 7472 6120 7468 6963 w[red,ultra thic │ │ │ │ │ -0000c260: 6b5d 2830 2c30 292d 2d28 312c 3129 3b0a k](0,0)--(1,1);. │ │ │ │ │ -0000c270: 7468 6973 2069 7320 6e6f 7420 7065 726d this is not perm │ │ │ │ │ -0000c280: 6974 7465 6420 696e 20e2 8098 736b 6574 itted in ...sket │ │ │ │ │ -0000c290: 6368 e280 992e 2020 546f 2064 7261 7720 ch.... To draw │ │ │ │ │ -0000c2a0: 6120 7265 642c 2075 6c74 7261 2d74 6869 a red, ultra-thi │ │ │ │ │ -0000c2b0: 636b 206c 696e 6520 696e 0ae2 8098 736b ck line in....sk │ │ │ │ │ -0000c2c0: 6574 6368 e280 992c 2074 6865 2066 6f72 etch..., the for │ │ │ │ │ -0000c2d0: 6d20 6973 0a20 206c 696e 655b 6472 6177 m is. line[draw │ │ │ │ │ -0000c2e0: 3d72 6564 2c73 7479 6c65 3d75 6c74 7261 =red,style=ultra │ │ │ │ │ -0000c2f0: 2074 6869 636b 5d28 302c 3029 2831 2c31 thick](0,0)(1,1 │ │ │ │ │ -0000c300: 290a 0a20 2020 4a75 7374 2061 7320 666f ).. Just as fo │ │ │ │ │ -0000c310: 7220 e280 9850 5354 7269 636b 73e2 8099 r ...PSTricks... │ │ │ │ │ -0000c320: 2c20 7768 656e 2061 20e2 8098 706f 6c79 , when a ...poly │ │ │ │ │ -0000c330: 676f 6ee2 8099 2068 6173 206f 7074 696f gon... has optio │ │ │ │ │ -0000c340: 6e73 2066 6f72 2062 6f74 6820 6974 730a ns for both its. │ │ │ │ │ -0000c350: 6661 6365 2061 6e64 2069 7473 2065 6467 face and its edg │ │ │ │ │ -0000c360: 6573 2c20 616e 6420 7468 6520 706f 6c79 es, and the poly │ │ │ │ │ -0000c370: 676f 6e20 6973 2073 706c 6974 2062 7920 gon is split by │ │ │ │ │ -0000c380: 7468 6520 6869 6464 656e 2073 7572 6661 the hidden surfa │ │ │ │ │ -0000c390: 6365 0a61 6c67 6f72 6974 686d 2c20 e280 ce.algorithm, .. │ │ │ │ │ -0000c3a0: 9873 6b65 7463 68e2 8099 206d 7573 7420 .sketch... must │ │ │ │ │ -0000c3b0: 636f 7079 2074 6865 2065 6467 6520 6f70 copy the edge op │ │ │ │ │ -0000c3c0: 7469 6f6e 7320 746f 20e2 8098 7073 6c69 tions to ...psli │ │ │ │ │ -0000c3d0: 6e65 e280 9973 2066 6f72 2074 6865 2065 ne...s for the e │ │ │ │ │ -0000c3e0: 6467 650a 7365 676d 656e 7473 2061 6e64 dge.segments and │ │ │ │ │ -0000c3f0: 2074 6865 2066 6163 6520 6f70 7469 6f6e the face option │ │ │ │ │ -0000c400: 7320 746f 20e2 8098 7073 706f 6c79 676f s to ...pspolygo │ │ │ │ │ -0000c410: 6ee2 8099 732e 2020 e280 9854 696b 5a2f n...s. ...TikZ/ │ │ │ │ │ -0000c420: 5047 46e2 8099 206f 7074 696f 6e73 206b PGF... options k │ │ │ │ │ -0000c430: 6e6f 776e 0a74 6f20 e280 9873 6b65 7463 nown.to ...sketc │ │ │ │ │ -0000c440: 68e2 8099 2066 6f72 2070 7572 706f 7365 h... for purpose │ │ │ │ │ -0000c450: 7320 6f66 2074 6869 7320 7370 6c69 7474 s of this splitt │ │ │ │ │ -0000c460: 696e 6720 6f70 6572 6174 696f 6e20 696e ing operation in │ │ │ │ │ -0000c470: 636c 7564 6520 e280 9861 7272 6f77 73e2 clude ...arrows. │ │ │ │ │ -0000c480: 8099 2c0a e280 9863 6170 e280 992c 20e2 ..,....cap..., . │ │ │ │ │ -0000c490: 8098 636f 6c6f 72e2 8099 2c20 e280 9864 ..color..., ...d │ │ │ │ │ -0000c4a0: 6173 6820 7061 7474 6572 6ee2 8099 2c20 ash pattern..., │ │ │ │ │ -0000c4b0: e280 9864 6173 6820 7068 6173 65e2 8099 ...dash phase... │ │ │ │ │ -0000c4c0: 2c20 e280 9864 6f75 626c 65e2 8099 2c20 , ...double..., │ │ │ │ │ -0000c4d0: e280 9864 6f75 626c 650a 6469 7374 616e ...double.distan │ │ │ │ │ -0000c4e0: 6365 e280 992c 20e2 8098 6472 6177 e280 ce..., ...draw.. │ │ │ │ │ -0000c4f0: 992c 20e2 8098 6472 6177 206f 7061 6369 ., ...draw opaci │ │ │ │ │ -0000c500: 7479 e280 992c 20e2 8098 6669 6c6c e280 ty..., ...fill.. │ │ │ │ │ -0000c510: 992c 20e2 8098 6669 6c6c 206f 7061 6369 ., ...fill opaci │ │ │ │ │ -0000c520: 7479 e280 992c 20e2 8098 6a6f 696e e280 ty..., ...join.. │ │ │ │ │ -0000c530: 992c 20e2 8098 6c69 6e65 0a77 6964 7468 ., ...line.width │ │ │ │ │ -0000c540: e280 992c 20e2 8098 6d69 7465 7220 6c69 ..., ...miter li │ │ │ │ │ -0000c550: 6d69 74e2 8099 2c20 e280 9870 6174 7465 mit..., ...patte │ │ │ │ │ -0000c560: 726e e280 992c 20e2 8098 7061 7474 6572 rn..., ...patter │ │ │ │ │ -0000c570: 6e20 636f 6c6f 72e2 8099 2c20 616e 6420 n color..., and │ │ │ │ │ -0000c580: e280 9873 7479 6c65 e280 992e 0a0a 2020 ...style...... │ │ │ │ │ -0000c590: 2054 6865 20e2 8098 7374 796c 65e2 8099 The ...style... │ │ │ │ │ -0000c5a0: 206f 7074 696f 6e20 6361 6e20 636f 6e74 option can cont │ │ │ │ │ -0000c5b0: 6169 6e20 626f 7468 2066 6163 6520 616e ain both face an │ │ │ │ │ -0000c5c0: 6420 6564 6765 2069 6e66 6f72 6d61 7469 d edge informati │ │ │ │ │ -0000c5d0: 6f6e 2c20 736f 0ae2 8098 736b 6574 6368 on, so....sketch │ │ │ │ │ -0000c5e0: e280 9920 6d75 7374 2063 6865 636b 2074 ... must check t │ │ │ │ │ -0000c5f0: 6865 2073 7479 6c65 2076 616c 7565 2e20 he style value. │ │ │ │ │ -0000c600: 2056 616c 7565 7320 6b6e 6f77 6e20 746f Values known to │ │ │ │ │ -0000c610: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in │ │ │ │ │ -0000c620: 636c 7564 650a e280 9864 6173 6865 64e2 clude....dashed. │ │ │ │ │ -0000c630: 8099 2c20 e280 9864 656e 7365 6c79 2064 .., ...densely d │ │ │ │ │ -0000c640: 6173 6865 64e2 8099 2c20 e280 9864 656e ashed..., ...den │ │ │ │ │ -0000c650: 7365 6c79 2064 6f74 7465 64e2 8099 2c20 sely dotted..., │ │ │ │ │ -0000c660: e280 9864 6f74 7465 64e2 8099 2c20 e280 ...dotted..., .. │ │ │ │ │ -0000c670: 9864 6f75 626c 65e2 8099 2c0a e280 986c .double...,....l │ │ │ │ │ -0000c680: 6f6f 7365 6c79 2064 6173 6865 64e2 8099 oosely dashed... │ │ │ │ │ -0000c690: 2c20 e280 986c 6f6f 7365 6c79 2064 6f74 , ...loosely dot │ │ │ │ │ -0000c6a0: 7465 64e2 8099 2c20 e280 986e 6561 726c ted..., ...nearl │ │ │ │ │ -0000c6b0: 7920 6f70 6171 7565 e280 992c 20e2 8098 y opaque..., ... │ │ │ │ │ -0000c6c0: 6e65 6172 6c79 0a74 7261 6e73 7061 7265 nearly.transpare │ │ │ │ │ -0000c6d0: 6e74 e280 992c 20e2 8098 7365 6d69 7468 nt..., ...semith │ │ │ │ │ -0000c6e0: 6963 6be2 8099 2c20 e280 9873 656d 6974 ick..., ...semit │ │ │ │ │ -0000c6f0: 7261 6e73 7061 7265 6e74 e280 992c 20e2 ransparent..., . │ │ │ │ │ -0000c700: 8098 736f 6c69 64e2 8099 2c20 e280 9874 ..solid..., ...t │ │ │ │ │ -0000c710: 6869 636b e280 992c 20e2 8098 7468 696e hick..., ...thin │ │ │ │ │ -0000c720: e280 992c 0ae2 8098 7472 616e 7370 6172 ...,....transpar │ │ │ │ │ -0000c730: 656e 74e2 8099 2c20 e280 9875 6c74 7261 ent..., ...ultra │ │ │ │ │ -0000c740: 206e 6561 726c 7920 7472 616e 7370 6172 nearly transpar │ │ │ │ │ -0000c750: 656e 74e2 8099 2c20 e280 9875 6c74 7261 ent..., ...ultra │ │ │ │ │ -0000c760: 2074 6869 636b e280 992c 20e2 8098 756c thick..., ...ul │ │ │ │ │ -0000c770: 7472 6120 7468 696e e280 992c 0ae2 8098 tra thin...,.... │ │ │ │ │ -0000c780: 7665 7279 206e 6561 726c 7920 7472 616e very nearly tran │ │ │ │ │ -0000c790: 7370 6172 656e 74e2 8099 2c20 e280 9876 sparent..., ...v │ │ │ │ │ -0000c7a0: 6572 7920 7468 6963 6be2 8099 2c20 616e ery thick..., an │ │ │ │ │ -0000c7b0: 6420 e280 9876 6572 7920 7468 696e e280 d ...very thin.. │ │ │ │ │ -0000c7c0: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket │ │ │ │ │ -0000c7d0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -0000c7e0: 446f 7473 2069 6e20 5469 6b5a 2f50 4746 Dots in TikZ/PGF │ │ │ │ │ -0000c7f0: 2c20 204e 6578 743a 2054 696b 5a2f 5047 , Next: TikZ/PG │ │ │ │ │ -0000c800: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ -0000c810: 7479 6c65 732c 2020 5072 6576 3a20 5469 tyles, Prev: Ti │ │ │ │ │ -0000c820: 6b5a 2f50 4746 206f 7074 696f 6e73 2c20 kZ/PGF options, │ │ │ │ │ -0000c830: 2055 703a 204f 7074 696f 6e73 0a0a 332e Up: Options..3. │ │ │ │ │ -0000c840: 312e 352e 3320 446f 7473 2069 6e20 e280 1.5.3 Dots in .. │ │ │ │ │ -0000c850: 9854 696b 5a2f 5047 46e2 8099 0a2e 2e2e .TikZ/PGF....... │ │ │ │ │ +0000b600: 2d2d 2d0a e280 982d 58e2 8099 2020 2020 ---....-X... │ │ │ │ │ +0000b610: 2020 2020 2020 2073 6361 6c61 7220 2020 scalar │ │ │ │ │ +0000b620: 2020 2073 6361 6c61 7220 2020 2020 2055 scalar U │ │ │ │ │ +0000b630: 6e61 7279 2073 6361 6c61 7220 6e65 6761 nary scalar nega │ │ │ │ │ +0000b640: 7469 6f6e 2e0a e280 982d 58e2 8099 2020 tion.....-X... │ │ │ │ │ +0000b650: 2020 2020 2020 2020 2076 6563 746f 7220 vector │ │ │ │ │ +0000b660: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ +0000b670: 2055 6e61 7279 2076 6563 746f 7220 6e65 Unary vector ne │ │ │ │ │ +0000b680: 6761 7469 6f6e 2e0a e280 987c 587c e280 gation.....|X|.. │ │ │ │ │ +0000b690: 9920 2020 2020 2020 2020 2076 6563 746f . vecto │ │ │ │ │ +0000b6a0: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar │ │ │ │ │ +0000b6b0: 2020 2056 6563 746f 7220 6c65 6e67 7468 Vector length │ │ │ │ │ +0000b6c0: 2e0a e280 9875 6e69 7428 5829 e280 9920 .....unit(X)... │ │ │ │ │ +0000b6d0: 2020 2020 2076 6563 746f 7220 2020 2020 vector │ │ │ │ │ +0000b6e0: 2076 6563 746f 7220 2020 2020 2055 6e69 vector Uni │ │ │ │ │ +0000b6f0: 7420 7665 6374 6f72 2077 6974 6820 7361 t vector with sa │ │ │ │ │ +0000b700: 6d65 2064 6972 6563 7469 6f6e 2e0a e280 me direction.... │ │ │ │ │ +0000b710: 9873 7172 7428 5829 e280 9920 2020 2020 .sqrt(X)... │ │ │ │ │ +0000b720: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca │ │ │ │ │ +0000b730: 6c61 7220 2020 2020 2053 6361 6c61 7220 lar Scalar │ │ │ │ │ +0000b740: 7371 7561 7265 2072 6f6f 742e 0ae2 8098 square root..... │ │ │ │ │ +0000b750: 7369 6e28 5829 e280 9920 2020 2020 2020 sin(X)... │ │ │ │ │ +0000b760: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal │ │ │ │ │ +0000b770: 6172 2020 2020 2020 5472 6967 6f6e 6f6d ar Trigonom │ │ │ │ │ +0000b780: 6574 7269 6320 7369 6e65 2028 e280 9858 etric sine (...X │ │ │ │ │ +0000b790: e280 9920 696e 2064 6567 7265 6573 292e ... in degrees). │ │ │ │ │ +0000b7a0: 0ae2 8098 636f 7328 5829 e280 9920 2020 ....cos(X)... │ │ │ │ │ +0000b7b0: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ +0000b7c0: 7363 616c 6172 2020 2020 2020 5472 6967 scalar Trig │ │ │ │ │ +0000b7d0: 6f6e 6f6d 6574 7269 6320 636f 7369 6e65 onometric cosine │ │ │ │ │ +0000b7e0: 2028 e280 9858 e280 9920 696e 2064 6567 (...X... in deg │ │ │ │ │ +0000b7f0: 7265 6573 292e 0ae2 8098 6173 696e 2858 rees).....asin(X │ │ │ │ │ +0000b800: 29e2 8099 2020 2020 2020 7363 616c 6172 )... scalar │ │ │ │ │ +0000b810: 2020 2020 2020 7363 616c 6172 2020 2020 scalar │ │ │ │ │ +0000b820: 2020 496e 7665 7273 6520 7369 6e65 2028 Inverse sine ( │ │ │ │ │ +0000b830: e280 9858 e280 9920 696e 2064 6567 7265 ...X... in degre │ │ │ │ │ +0000b840: 6573 292e 0ae2 8098 6163 6f73 2858 29e2 es).....acos(X). │ │ │ │ │ +0000b850: 8099 2020 2020 2020 7363 616c 6172 2020 .. scalar │ │ │ │ │ +0000b860: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ +0000b870: 496e 7665 7273 6520 636f 7369 6e65 2028 Inverse cosine ( │ │ │ │ │ +0000b880: e280 9858 e280 9920 696e 2064 6567 7265 ...X... in degre │ │ │ │ │ +0000b890: 6573 292e 0ae2 8098 6174 616e 3228 582c es).....atan2(X, │ │ │ │ │ +0000b8a0: 5929 e280 9920 2020 7363 616c 6172 2020 Y)... scalar │ │ │ │ │ +0000b8b0: 2020 2020 7363 616c 6172 2020 2020 2020 scalar │ │ │ │ │ +0000b8c0: 506f 6c61 7220 616e 676c 6520 696e 2064 Polar angle in d │ │ │ │ │ +0000b8d0: 6567 7265 6573 206f 6620 7665 6374 6f72 egrees of vector │ │ │ │ │ +0000b8e0: 205b 582c 595d 2e0a e280 9869 6e76 6572 [X,Y].....inver │ │ │ │ │ +0000b8f0: 7365 2858 29e2 8099 2020 2074 7261 6e73 se(X)... trans │ │ │ │ │ +0000b900: 666f 726d 2020 2074 7261 6e73 666f 726d form transform │ │ │ │ │ +0000b910: 2020 2049 6e76 6572 7365 2074 7261 6e73 Inverse trans │ │ │ │ │ +0000b920: 666f 726d 2e0a 0a45 7272 6f72 7320 6172 form...Errors ar │ │ │ │ │ +0000b930: 6520 7265 706f 7274 6564 2077 6865 6e20 e reported when │ │ │ │ │ +0000b940: e280 987c 587c e280 992c 20e2 8098 756e ...|X|..., ...un │ │ │ │ │ +0000b950: 6974 e280 992c 20e2 8098 6173 696e e280 it..., ...asin.. │ │ │ │ │ +0000b960: 992c 20e2 8098 6163 6f73 e280 992c 20e2 ., ...acos..., . │ │ │ │ │ +0000b970: 8098 7371 7274 e280 992c 20e2 8098 6174 ..sqrt..., ...at │ │ │ │ │ +0000b980: 616e 32e2 8099 2c0a 616e 6420 e280 9869 an2...,.and ...i │ │ │ │ │ +0000b990: 6e76 6572 7365 e280 9920 6661 696c 2064 nverse... fail d │ │ │ │ │ +0000b9a0: 7565 2074 6f20 6f70 6572 616e 6473 206f ue to operands o │ │ │ │ │ +0000b9b0: 7574 7369 6465 2074 6865 6972 2072 6573 utside their res │ │ │ │ │ +0000b9c0: 7065 6374 6976 6520 646f 6d61 696e 732e pective domains. │ │ │ │ │ +0000b9d0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +0000b9e0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4f70 .info, Node: Op │ │ │ │ │ +0000b9f0: 7469 6f6e 732c 2020 5072 6576 3a20 4172 tions, Prev: Ar │ │ │ │ │ +0000ba00: 6974 686d 6574 6963 2c20 2055 703a 204c ithmetic, Up: L │ │ │ │ │ +0000ba10: 616e 6775 6167 6520 6261 7369 6373 0a0a anguage basics.. │ │ │ │ │ +0000ba20: 332e 312e 3520 4f70 7469 6f6e 730a 2d2d 3.1.5 Options.-- │ │ │ │ │ +0000ba30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy │ │ │ │ │ +0000ba40: 6e74 6178 3a2a 0a20 2020 2020 5b4b 4559 ntax:*. [KEY │ │ │ │ │ +0000ba50: 313d 5641 4c31 2c4b 4559 323d 5641 4c32 1=VAL1,KEY2=VAL2 │ │ │ │ │ +0000ba60: 2c2e 2e2e 5d0a 4f70 7469 6f6e 7320 6172 ,...].Options ar │ │ │ │ │ +0000ba70: 6520 7573 6564 2074 6f20 7370 6563 6966 e used to specif │ │ │ │ │ +0000ba80: 7920 6465 7461 696c 7320 6f66 2074 6865 y details of the │ │ │ │ │ +0000ba90: 2061 7070 6561 7261 6e63 6520 6f66 2064 appearance of d │ │ │ │ │ +0000baa0: 7261 7761 626c 6573 2e20 2041 730a 7368 rawables. As.sh │ │ │ │ │ +0000bab0: 6f77 6e20 6162 6f76 652c 2074 6865 7920 own above, they │ │ │ │ │ +0000bac0: 6172 6520 6769 7665 6e20 6173 2063 6f6d are given as com │ │ │ │ │ +0000bad0: 6d61 2d73 6570 6172 6174 6564 206b 6579 ma-separated key │ │ │ │ │ +0000bae0: 2d76 616c 7565 2070 6169 7273 2e0a 0a2a -value pairs...* │ │ │ │ │ +0000baf0: 204d 656e 753a 0a0a 2a20 5053 5472 6963 Menu:..* PSTric │ │ │ │ │ +0000bb00: 6b73 206f 7074 696f 6e73 3a3a 2020 2020 ks options:: │ │ │ │ │ +0000bb10: 2020 2020 2020 2020 4f70 7469 6f6e 7320 Options │ │ │ │ │ +0000bb20: 696e 6865 7269 7465 6420 6672 6f6d 20e2 inherited from . │ │ │ │ │ +0000bb30: 8098 5053 5472 6963 6b73 e280 992e 0a2a ..PSTricks.....* │ │ │ │ │ +0000bb40: 2054 696b 5a2f 5047 4620 6f70 7469 6f6e TikZ/PGF option │ │ │ │ │ +0000bb50: 733a 3a20 2020 2020 2020 2020 2020 204f s:: O │ │ │ │ │ +0000bb60: 7074 696f 6e73 2069 6e68 6572 6974 6564 ptions inherited │ │ │ │ │ +0000bb70: 2066 726f 6d20 e280 9854 696b 5a2f 5047 from ...TikZ/PG │ │ │ │ │ +0000bb80: 46e2 8099 2e0a 2a20 446f 7473 2069 6e20 F.....* Dots in │ │ │ │ │ +0000bb90: 5469 6b5a 2f50 4746 3a3a 2020 2020 2020 TikZ/PGF:: │ │ │ │ │ +0000bba0: 2020 2020 2020 536b 6574 6368 2075 7365 Sketch use │ │ │ │ │ +0000bbb0: 7320 e280 9854 696b 5a2f 5047 46e2 8099 s ...TikZ/PGF... │ │ │ │ │ +0000bbc0: 2063 6972 636c 6573 2066 6f72 2064 6f74 circles for dot │ │ │ │ │ +0000bbd0: 732e 0a2a 2054 696b 5a2f 5047 4620 7573 s..* TikZ/PGF us │ │ │ │ │ +0000bbe0: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style │ │ │ │ │ +0000bbf0: 733a 3a20 2053 7570 706f 7274 2066 6f72 s:: Support for │ │ │ │ │ +0000bc00: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... │ │ │ │ │ +0000bc10: 6e61 6d65 642c 2075 7365 722d 6465 6669 named, user-defi │ │ │ │ │ +0000bc20: 6e65 6420 7374 796c 6573 2e0a 2a20 5472 ned styles..* Tr │ │ │ │ │ +0000bc30: 616e 7370 6172 656e 6379 3a3a 2020 2020 ansparency:: │ │ │ │ │ +0000bc40: 2020 2020 2020 2020 2020 2020 5365 652d See- │ │ │ │ │ +0000bc50: 7468 726f 7567 6820 706f 6c79 676f 6e73 through polygons │ │ │ │ │ +0000bc60: 2e0a 2a20 496e 7465 726e 616c 206f 7074 ..* Internal opt │ │ │ │ │ +0000bc70: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: │ │ │ │ │ +0000bc80: 2020 4f70 7469 6f6e 7320 7573 6564 2062 Options used b │ │ │ │ │ +0000bc90: 7920 e280 9873 6b65 7463 68e2 8099 2e0a y ...sketch..... │ │ │ │ │ +0000bca0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +0000bcb0: 696e 666f 2c20 204e 6f64 653a 2050 5354 info, Node: PST │ │ │ │ │ +0000bcc0: 7269 636b 7320 6f70 7469 6f6e 732c 2020 ricks options, │ │ │ │ │ +0000bcd0: 4e65 7874 3a20 5469 6b5a 2f50 4746 206f Next: TikZ/PGF o │ │ │ │ │ +0000bce0: 7074 696f 6e73 2c20 2050 7265 763a 204f ptions, Prev: O │ │ │ │ │ +0000bcf0: 7074 696f 6e73 2c20 2055 703a 204f 7074 ptions, Up: Opt │ │ │ │ │ +0000bd00: 696f 6e73 0a0a 332e 312e 352e 3120 e280 ions..3.1.5.1 .. │ │ │ │ │ +0000bd10: 9850 5354 7269 636b 73e2 8099 206f 7074 .PSTricks... opt │ │ │ │ │ +0000bd20: 696f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e ions............ │ │ │ │ │ +0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................ │ │ │ │ │ +0000bd40: 0a57 6865 6e20 e280 986c 616e 6775 6167 .When ...languag │ │ │ │ │ +0000bd50: 6520 7073 7472 6963 6b73 e280 9920 6973 e pstricks... is │ │ │ │ │ +0000bd60: 2073 656c 6563 7465 6420 2874 6865 2064 selected (the d │ │ │ │ │ +0000bd70: 6566 6175 6c74 292c 2070 6572 6d69 7373 efault), permiss │ │ │ │ │ +0000bd80: 6962 6c65 0a6b 6579 2d76 616c 7565 2070 ible.key-value p │ │ │ │ │ +0000bd90: 6169 7273 2069 6e63 6c75 6465 2061 6c6c airs include all │ │ │ │ │ +0000bda0: 2074 686f 7365 2066 6f72 2073 696d 696c those for simil │ │ │ │ │ +0000bdb0: 6172 20e2 8098 5053 5472 6963 6b73 e280 ar ...PSTricks.. │ │ │ │ │ +0000bdc0: 9920 6f62 6a65 6374 732e 2020 466f 720a . objects. For. │ │ │ │ │ +0000bdd0: 6578 616d 706c 652c 2061 2070 6f6c 7967 example, a polyg │ │ │ │ │ +0000bde0: 6f6e 206d 6967 6874 2068 6176 6520 7468 on might have th │ │ │ │ │ +0000bdf0: 6520 6f70 7469 6f6e 730a 2020 5b6c 696e e options. [lin │ │ │ │ │ +0000be00: 6577 6964 7468 3d31 7074 2c6c 696e 6563 ewidth=1pt,linec │ │ │ │ │ +0000be10: 6f6c 6f72 3d62 6c75 652c 6669 6c6c 636f olor=blue,fillco │ │ │ │ │ +0000be20: 6c6f 723d 6379 616e 5d0a e280 9853 6b65 lor=cyan]....Ske │ │ │ │ │ +0000be30: 7463 68e2 8099 206d 6572 656c 7920 7061 tch... merely pa │ │ │ │ │ +0000be40: 7373 6573 2074 6865 7365 206f 6e20 746f sses these on to │ │ │ │ │ +0000be50: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ +0000be60: 7769 7468 6f75 7420 6368 6563 6b69 6e67 without checking │ │ │ │ │ +0000be70: 206f 720a 6d6f 6469 6669 6361 7469 6f6e or.modification │ │ │ │ │ +0000be80: 2e20 204f 7074 696f 6e20 6c69 7374 7320 . Option lists │ │ │ │ │ +0000be90: 6172 6520 616c 7761 7973 206f 7074 696f are always optio │ │ │ │ │ +0000bea0: 6e61 6c2e 2020 4120 6d69 7373 696e 6720 nal. A missing │ │ │ │ │ +0000beb0: 6f70 7469 6f6e 7320 6c69 7374 0a69 7320 options list.is │ │ │ │ │ +0000bec0: 6571 7569 7661 6c65 6e74 2074 6f20 616e equivalent to an │ │ │ │ │ +0000bed0: 2065 6d70 7479 206f 6e65 20e2 8098 5b5d empty one ...[] │ │ │ │ │ +0000bee0: e280 992e 0a0a 2020 2057 6865 6e20 6120 ...... When a │ │ │ │ │ +0000bef0: e280 9870 6f6c 7967 6f6e e280 9920 6861 ...polygon... ha │ │ │ │ │ +0000bf00: 7320 6f70 7469 6f6e 7320 666f 7220 626f s options for bo │ │ │ │ │ +0000bf10: 7468 2069 7473 2066 6163 6520 616e 6420 th its face and │ │ │ │ │ +0000bf20: 6974 7320 6564 6765 732c 2061 6e64 2074 its edges, and t │ │ │ │ │ +0000bf30: 6865 0a70 6f6c 7967 6f6e 2069 7320 7370 he.polygon is sp │ │ │ │ │ +0000bf40: 6c69 7420 6279 2074 6865 2068 6964 6465 lit by the hidde │ │ │ │ │ +0000bf50: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori │ │ │ │ │ +0000bf60: 7468 6d2c 20e2 8098 736b 6574 6368 e280 thm, ...sketch.. │ │ │ │ │ +0000bf70: 9920 6d75 7374 2063 6f70 7920 7468 650a . must copy the. │ │ │ │ │ +0000bf80: 6564 6765 206f 7074 696f 6e73 2074 6f20 edge options to │ │ │ │ │ +0000bf90: e280 9870 736c 696e 65e2 8099 7320 666f ...psline...s fo │ │ │ │ │ +0000bfa0: 7220 7468 6520 6564 6765 2073 6567 6d65 r the edge segme │ │ │ │ │ +0000bfb0: 6e74 7320 616e 6420 7468 6520 6661 6365 nts and the face │ │ │ │ │ +0000bfc0: 206f 7074 696f 6e73 2074 6f0a e280 9870 options to....p │ │ │ │ │ +0000bfd0: 7370 6f6c 7967 6f6e e280 9973 2e20 204f spolygon...s. O │ │ │ │ │ +0000bfe0: 7074 696f 6e73 206b 6e6f 776e 2074 6f20 ptions known to │ │ │ │ │ +0000bff0: e280 9873 6b65 7463 68e2 8099 2066 6f72 ...sketch... for │ │ │ │ │ +0000c000: 2070 7572 706f 7365 7320 6f66 2074 6869 purposes of thi │ │ │ │ │ +0000c010: 7320 7370 6c69 7474 696e 670a 6f70 6572 s splitting.oper │ │ │ │ │ +0000c020: 6174 696f 6e20 696e 636c 7564 6520 e280 ation include .. │ │ │ │ │ +0000c030: 9861 7272 6f77 73e2 8099 2c20 e280 9864 .arrows..., ...d │ │ │ │ │ +0000c040: 6173 68e2 8099 2c20 e280 9864 6f74 7365 ash..., ...dotse │ │ │ │ │ +0000c050: 70e2 8099 2c20 e280 9866 696c 6c63 6f6c p..., ...fillcol │ │ │ │ │ +0000c060: 6f72 e280 992c 20e2 8098 6669 6c6c 7374 or..., ...fillst │ │ │ │ │ +0000c070: 796c 65e2 8099 2c0a e280 986c 696e 6563 yle...,....linec │ │ │ │ │ +0000c080: 6f6c 6f72 e280 992c 20e2 8098 6c69 6e65 olor..., ...line │ │ │ │ │ +0000c090: 7374 796c 65e2 8099 2c20 e280 986c 696e style..., ...lin │ │ │ │ │ +0000c0a0: 6577 6964 7468 e280 992c 20e2 8098 6f70 ewidth..., ...op │ │ │ │ │ +0000c0b0: 6163 6974 79e2 8099 2c20 e280 9873 686f acity..., ...sho │ │ │ │ │ +0000c0c0: 7770 6f69 6e74 73e2 8099 2c0a e280 9873 wpoints...,....s │ │ │ │ │ +0000c0d0: 7472 6f6b 656f 7061 6369 7479 e280 992c trokeopacity..., │ │ │ │ │ +0000c0e0: 2061 6e64 20e2 8098 7472 616e 7370 616c and ...transpal │ │ │ │ │ +0000c0f0: 7068 61e2 8099 2e0a 0a1f 0a46 696c 653a pha........File: │ │ │ │ │ +0000c100: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +0000c110: 6f64 653a 2054 696b 5a2f 5047 4620 6f70 ode: TikZ/PGF op │ │ │ │ │ +0000c120: 7469 6f6e 732c 2020 4e65 7874 3a20 446f tions, Next: Do │ │ │ │ │ +0000c130: 7473 2069 6e20 5469 6b5a 2f50 4746 2c20 ts in TikZ/PGF, │ │ │ │ │ +0000c140: 2050 7265 763a 2050 5354 7269 636b 7320 Prev: PSTricks │ │ │ │ │ +0000c150: 6f70 7469 6f6e 732c 2020 5570 3a20 4f70 options, Up: Op │ │ │ │ │ +0000c160: 7469 6f6e 730a 0a33 2e31 2e35 2e32 20e2 tions..3.1.5.2 . │ │ │ │ │ +0000c170: 8098 5469 6b5a 2f50 4746 e280 9920 6f70 ..TikZ/PGF... op │ │ │ │ │ +0000c180: 7469 6f6e 730a 2e2e 2e2e 2e2e 2e2e 2e2e tions........... │ │ │ │ │ +0000c190: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +0000c1a0: 0a0a e280 9854 696b 5a2f 5047 46e2 8099 .....TikZ/PGF... │ │ │ │ │ +0000c1b0: 206f 7074 696f 6e73 2061 7265 2068 616e options are han │ │ │ │ │ +0000c1c0: 646c 6564 206d 7563 6820 6173 2066 6f72 dled much as for │ │ │ │ │ +0000c1d0: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks.... │ │ │ │ │ +0000c1e0: 2020 5468 6f75 6768 0ae2 8098 5469 6b5a Though....TikZ │ │ │ │ │ +0000c1f0: 2f50 4746 e280 9920 6f66 7465 6e20 616c /PGF... often al │ │ │ │ │ +0000c200: 6c6f 7773 2063 6f6c 6f72 7320 616e 6420 lows colors and │ │ │ │ │ +0000c210: 7374 796c 6573 2074 6f20 6265 2067 6976 styles to be giv │ │ │ │ │ +0000c220: 656e 2077 6974 686f 7574 0a63 6f72 7265 en without.corre │ │ │ │ │ +0000c230: 7370 6f6e 6469 6e67 206b 6579 732c 2066 sponding keys, f │ │ │ │ │ +0000c240: 6f72 2065 7861 6d70 6c65 2c0a 2020 5c64 or example,. \d │ │ │ │ │ +0000c250: 7261 775b 7265 642c 756c 7472 6120 7468 raw[red,ultra th │ │ │ │ │ +0000c260: 6963 6b5d 2830 2c30 292d 2d28 312c 3129 ick](0,0)--(1,1) │ │ │ │ │ +0000c270: 3b0a 7468 6973 2069 7320 6e6f 7420 7065 ;.this is not pe │ │ │ │ │ +0000c280: 726d 6974 7465 6420 696e 20e2 8098 736b rmitted in ...sk │ │ │ │ │ +0000c290: 6574 6368 e280 992e 2020 546f 2064 7261 etch.... To dra │ │ │ │ │ +0000c2a0: 7720 6120 7265 642c 2075 6c74 7261 2d74 w a red, ultra-t │ │ │ │ │ +0000c2b0: 6869 636b 206c 696e 6520 696e 0ae2 8098 hick line in.... │ │ │ │ │ +0000c2c0: 736b 6574 6368 e280 992c 2074 6865 2066 sketch..., the f │ │ │ │ │ +0000c2d0: 6f72 6d20 6973 0a20 206c 696e 655b 6472 orm is. line[dr │ │ │ │ │ +0000c2e0: 6177 3d72 6564 2c73 7479 6c65 3d75 6c74 aw=red,style=ult │ │ │ │ │ +0000c2f0: 7261 2074 6869 636b 5d28 302c 3029 2831 ra thick](0,0)(1 │ │ │ │ │ +0000c300: 2c31 290a 0a20 2020 4a75 7374 2061 7320 ,1).. Just as │ │ │ │ │ +0000c310: 666f 7220 e280 9850 5354 7269 636b 73e2 for ...PSTricks. │ │ │ │ │ +0000c320: 8099 2c20 7768 656e 2061 20e2 8098 706f .., when a ...po │ │ │ │ │ +0000c330: 6c79 676f 6ee2 8099 2068 6173 206f 7074 lygon... has opt │ │ │ │ │ +0000c340: 696f 6e73 2066 6f72 2062 6f74 6820 6974 ions for both it │ │ │ │ │ +0000c350: 730a 6661 6365 2061 6e64 2069 7473 2065 s.face and its e │ │ │ │ │ +0000c360: 6467 6573 2c20 616e 6420 7468 6520 706f dges, and the po │ │ │ │ │ +0000c370: 6c79 676f 6e20 6973 2073 706c 6974 2062 lygon is split b │ │ │ │ │ +0000c380: 7920 7468 6520 6869 6464 656e 2073 7572 y the hidden sur │ │ │ │ │ +0000c390: 6661 6365 0a61 6c67 6f72 6974 686d 2c20 face.algorithm, │ │ │ │ │ +0000c3a0: e280 9873 6b65 7463 68e2 8099 206d 7573 ...sketch... mus │ │ │ │ │ +0000c3b0: 7420 636f 7079 2074 6865 2065 6467 6520 t copy the edge │ │ │ │ │ +0000c3c0: 6f70 7469 6f6e 7320 746f 20e2 8098 7073 options to ...ps │ │ │ │ │ +0000c3d0: 6c69 6e65 e280 9973 2066 6f72 2074 6865 line...s for the │ │ │ │ │ +0000c3e0: 2065 6467 650a 7365 676d 656e 7473 2061 edge.segments a │ │ │ │ │ +0000c3f0: 6e64 2074 6865 2066 6163 6520 6f70 7469 nd the face opti │ │ │ │ │ +0000c400: 6f6e 7320 746f 20e2 8098 7073 706f 6c79 ons to ...pspoly │ │ │ │ │ +0000c410: 676f 6ee2 8099 732e 2020 e280 9854 696b gon...s. ...Tik │ │ │ │ │ +0000c420: 5a2f 5047 46e2 8099 206f 7074 696f 6e73 Z/PGF... options │ │ │ │ │ +0000c430: 206b 6e6f 776e 0a74 6f20 e280 9873 6b65 known.to ...ske │ │ │ │ │ +0000c440: 7463 68e2 8099 2066 6f72 2070 7572 706f tch... for purpo │ │ │ │ │ +0000c450: 7365 7320 6f66 2074 6869 7320 7370 6c69 ses of this spli │ │ │ │ │ +0000c460: 7474 696e 6720 6f70 6572 6174 696f 6e20 tting operation │ │ │ │ │ +0000c470: 696e 636c 7564 6520 e280 9861 7272 6f77 include ...arrow │ │ │ │ │ +0000c480: 73e2 8099 2c0a e280 9863 6170 e280 992c s...,....cap..., │ │ │ │ │ +0000c490: 20e2 8098 636f 6c6f 72e2 8099 2c20 e280 ...color..., .. │ │ │ │ │ +0000c4a0: 9864 6173 6820 7061 7474 6572 6ee2 8099 .dash pattern... │ │ │ │ │ +0000c4b0: 2c20 e280 9864 6173 6820 7068 6173 65e2 , ...dash phase. │ │ │ │ │ +0000c4c0: 8099 2c20 e280 9864 6f75 626c 65e2 8099 .., ...double... │ │ │ │ │ +0000c4d0: 2c20 e280 9864 6f75 626c 650a 6469 7374 , ...double.dist │ │ │ │ │ +0000c4e0: 616e 6365 e280 992c 20e2 8098 6472 6177 ance..., ...draw │ │ │ │ │ +0000c4f0: e280 992c 20e2 8098 6472 6177 206f 7061 ..., ...draw opa │ │ │ │ │ +0000c500: 6369 7479 e280 992c 20e2 8098 6669 6c6c city..., ...fill │ │ │ │ │ +0000c510: e280 992c 20e2 8098 6669 6c6c 206f 7061 ..., ...fill opa │ │ │ │ │ +0000c520: 6369 7479 e280 992c 20e2 8098 6a6f 696e city..., ...join │ │ │ │ │ +0000c530: e280 992c 20e2 8098 6c69 6e65 0a77 6964 ..., ...line.wid │ │ │ │ │ +0000c540: 7468 e280 992c 20e2 8098 6d69 7465 7220 th..., ...miter │ │ │ │ │ +0000c550: 6c69 6d69 74e2 8099 2c20 e280 9870 6174 limit..., ...pat │ │ │ │ │ +0000c560: 7465 726e e280 992c 20e2 8098 7061 7474 tern..., ...patt │ │ │ │ │ +0000c570: 6572 6e20 636f 6c6f 72e2 8099 2c20 616e ern color..., an │ │ │ │ │ +0000c580: 6420 e280 9873 7479 6c65 e280 992e 0a0a d ...style...... │ │ │ │ │ +0000c590: 2020 2054 6865 20e2 8098 7374 796c 65e2 The ...style. │ │ │ │ │ +0000c5a0: 8099 206f 7074 696f 6e20 6361 6e20 636f .. option can co │ │ │ │ │ +0000c5b0: 6e74 6169 6e20 626f 7468 2066 6163 6520 ntain both face │ │ │ │ │ +0000c5c0: 616e 6420 6564 6765 2069 6e66 6f72 6d61 and edge informa │ │ │ │ │ +0000c5d0: 7469 6f6e 2c20 736f 0ae2 8098 736b 6574 tion, so....sket │ │ │ │ │ +0000c5e0: 6368 e280 9920 6d75 7374 2063 6865 636b ch... must check │ │ │ │ │ +0000c5f0: 2074 6865 2073 7479 6c65 2076 616c 7565 the style value │ │ │ │ │ +0000c600: 2e20 2056 616c 7565 7320 6b6e 6f77 6e20 . Values known │ │ │ │ │ +0000c610: 746f 20e2 8098 736b 6574 6368 e280 9920 to ...sketch... │ │ │ │ │ +0000c620: 696e 636c 7564 650a e280 9864 6173 6865 include....dashe │ │ │ │ │ +0000c630: 64e2 8099 2c20 e280 9864 656e 7365 6c79 d..., ...densely │ │ │ │ │ +0000c640: 2064 6173 6865 64e2 8099 2c20 e280 9864 dashed..., ...d │ │ │ │ │ +0000c650: 656e 7365 6c79 2064 6f74 7465 64e2 8099 ensely dotted... │ │ │ │ │ +0000c660: 2c20 e280 9864 6f74 7465 64e2 8099 2c20 , ...dotted..., │ │ │ │ │ +0000c670: e280 9864 6f75 626c 65e2 8099 2c0a e280 ...double...,... │ │ │ │ │ +0000c680: 986c 6f6f 7365 6c79 2064 6173 6865 64e2 .loosely dashed. │ │ │ │ │ +0000c690: 8099 2c20 e280 986c 6f6f 7365 6c79 2064 .., ...loosely d │ │ │ │ │ +0000c6a0: 6f74 7465 64e2 8099 2c20 e280 986e 6561 otted..., ...nea │ │ │ │ │ +0000c6b0: 726c 7920 6f70 6171 7565 e280 992c 20e2 rly opaque..., . │ │ │ │ │ +0000c6c0: 8098 6e65 6172 6c79 0a74 7261 6e73 7061 ..nearly.transpa │ │ │ │ │ +0000c6d0: 7265 6e74 e280 992c 20e2 8098 7365 6d69 rent..., ...semi │ │ │ │ │ +0000c6e0: 7468 6963 6be2 8099 2c20 e280 9873 656d thick..., ...sem │ │ │ │ │ +0000c6f0: 6974 7261 6e73 7061 7265 6e74 e280 992c itransparent..., │ │ │ │ │ +0000c700: 20e2 8098 736f 6c69 64e2 8099 2c20 e280 ...solid..., .. │ │ │ │ │ +0000c710: 9874 6869 636b e280 992c 20e2 8098 7468 .thick..., ...th │ │ │ │ │ +0000c720: 696e e280 992c 0ae2 8098 7472 616e 7370 in...,....transp │ │ │ │ │ +0000c730: 6172 656e 74e2 8099 2c20 e280 9875 6c74 arent..., ...ult │ │ │ │ │ +0000c740: 7261 206e 6561 726c 7920 7472 616e 7370 ra nearly transp │ │ │ │ │ +0000c750: 6172 656e 74e2 8099 2c20 e280 9875 6c74 arent..., ...ult │ │ │ │ │ +0000c760: 7261 2074 6869 636b e280 992c 20e2 8098 ra thick..., ... │ │ │ │ │ +0000c770: 756c 7472 6120 7468 696e e280 992c 0ae2 ultra thin...,.. │ │ │ │ │ +0000c780: 8098 7665 7279 206e 6561 726c 7920 7472 ..very nearly tr │ │ │ │ │ +0000c790: 616e 7370 6172 656e 74e2 8099 2c20 e280 ansparent..., .. │ │ │ │ │ +0000c7a0: 9876 6572 7920 7468 6963 6be2 8099 2c20 .very thick..., │ │ │ │ │ +0000c7b0: 616e 6420 e280 9876 6572 7920 7468 696e and ...very thin │ │ │ │ │ +0000c7c0: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk │ │ │ │ │ +0000c7d0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +0000c7e0: 3a20 446f 7473 2069 6e20 5469 6b5a 2f50 : Dots in TikZ/P │ │ │ │ │ +0000c7f0: 4746 2c20 204e 6578 743a 2054 696b 5a2f GF, Next: TikZ/ │ │ │ │ │ +0000c800: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined │ │ │ │ │ +0000c810: 2073 7479 6c65 732c 2020 5072 6576 3a20 styles, Prev: │ │ │ │ │ +0000c820: 5469 6b5a 2f50 4746 206f 7074 696f 6e73 TikZ/PGF options │ │ │ │ │ +0000c830: 2c20 2055 703a 204f 7074 696f 6e73 0a0a , Up: Options.. │ │ │ │ │ +0000c840: 332e 312e 352e 3320 446f 7473 2069 6e20 3.1.5.3 Dots in │ │ │ │ │ +0000c850: e280 9854 696b 5a2f 5047 46e2 8099 0a2e ...TikZ/PGF..... │ │ │ │ │ 0000c860: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000c870: 2e2e 2e2e 2e2e 2e0a 0ae2 8098 5469 6b5a ............TikZ │ │ │ │ │ -0000c880: 2f50 4746 e280 9920 646f 6573 206e 6f74 /PGF... does not │ │ │ │ │ -0000c890: 2068 6176 6520 6120 e280 9864 6f74 73e2 have a ...dots. │ │ │ │ │ -0000c8a0: 8099 2063 6f6d 6d61 6e64 2061 7320 646f .. command as do │ │ │ │ │ -0000c8b0: 6573 2050 5354 7269 636b 732e 2020 496e es PSTricks. In │ │ │ │ │ -0000c8c0: 7374 6561 642c 0ae2 8098 536b 6574 6368 stead,....Sketch │ │ │ │ │ -0000c8d0: e280 9920 656d 6974 7320 646f 7473 2061 ... emits dots a │ │ │ │ │ -0000c8e0: 7320 e280 9866 696c 6c64 7261 77e2 8099 s ...filldraw... │ │ │ │ │ -0000c8f0: 2063 6972 636c 6573 2e20 2054 6865 2064 circles. The d │ │ │ │ │ -0000c900: 6961 6d65 7465 7220 6d61 7920 6265 2073 iameter may be s │ │ │ │ │ -0000c910: 6574 0a75 7369 6e67 2074 6865 206f 7074 et.using the opt │ │ │ │ │ -0000c920: 696f 6e20 e280 9864 6f74 7369 7a65 e280 ion ...dotsize.. │ │ │ │ │ -0000c930: 9920 626f 7272 6f77 6564 2066 726f 6d20 . borrowed from │ │ │ │ │ -0000c940: 5053 5472 6963 6b73 2e20 2054 6865 20e2 PSTricks. The . │ │ │ │ │ -0000c950: 8098 646f 7473 697a 65e2 8099 206f 7074 ..dotsize... opt │ │ │ │ │ -0000c960: 696f 6e0a 7769 6c6c 2062 6520 7265 6d6f ion.will be remo │ │ │ │ │ -0000c970: 7665 6420 6672 6f6d 2074 6865 206f 7074 ved from the opt │ │ │ │ │ -0000c980: 696f 6e20 6c69 7374 2069 6e20 7468 6520 ion list in the │ │ │ │ │ -0000c990: 6f75 7470 7574 20e2 8098 6669 6c6c 6472 output ...filldr │ │ │ │ │ -0000c9a0: 6177 e280 9920 636f 6d6d 616e 642e 0a4f aw... command..O │ │ │ │ │ -0000c9b0: 7468 6572 206f 7074 696f 6e73 2077 6f72 ther options wor │ │ │ │ │ -0000c9c0: 6b20 696e 2074 6865 2065 7870 6563 7465 k in the expecte │ │ │ │ │ -0000c9d0: 6420 7761 792e 2020 466f 7220 6578 616d d way. For exam │ │ │ │ │ -0000c9e0: 706c 652c 20e2 8098 6669 6c6c e280 9920 ple, ...fill... │ │ │ │ │ -0000c9f0: 7365 7473 2066 696c 6c0a 636f 6c6f 7220 sets fill.color │ │ │ │ │ -0000ca00: 616e 6420 e280 9863 6f6c 6f72 e280 9920 and ...color... │ │ │ │ │ -0000ca10: 7365 7473 206c 696e 6520 636f 6c6f 7220 sets line color │ │ │ │ │ -0000ca20: 6f66 2074 6865 2063 6972 636c 6573 2e0a of the circles.. │ │ │ │ │ -0000ca30: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -0000ca40: 696e 666f 2c20 204e 6f64 653a 2054 696b info, Node: Tik │ │ │ │ │ -0000ca50: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin │ │ │ │ │ -0000ca60: 6564 2073 7479 6c65 732c 2020 4e65 7874 ed styles, Next │ │ │ │ │ -0000ca70: 3a20 5472 616e 7370 6172 656e 6379 2c20 : Transparency, │ │ │ │ │ -0000ca80: 2050 7265 763a 2044 6f74 7320 696e 2054 Prev: Dots in T │ │ │ │ │ -0000ca90: 696b 5a2f 5047 462c 2020 5570 3a20 4f70 ikZ/PGF, Up: Op │ │ │ │ │ -0000caa0: 7469 6f6e 730a 0a33 2e31 2e35 2e34 20e2 tions..3.1.5.4 . │ │ │ │ │ -0000cab0: 8098 5469 6b5a 2f50 4746 e280 9920 7573 ..TikZ/PGF... us │ │ │ │ │ -0000cac0: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style │ │ │ │ │ -0000cad0: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s............... │ │ │ │ │ +0000c870: 2e2e 2e2e 2e2e 2e2e 2e0a 0ae2 8098 5469 ..............Ti │ │ │ │ │ +0000c880: 6b5a 2f50 4746 e280 9920 646f 6573 206e kZ/PGF... does n │ │ │ │ │ +0000c890: 6f74 2068 6176 6520 6120 e280 9864 6f74 ot have a ...dot │ │ │ │ │ +0000c8a0: 73e2 8099 2063 6f6d 6d61 6e64 2061 7320 s... command as │ │ │ │ │ +0000c8b0: 646f 6573 2050 5354 7269 636b 732e 2020 does PSTricks. │ │ │ │ │ +0000c8c0: 496e 7374 6561 642c 0ae2 8098 536b 6574 Instead,....Sket │ │ │ │ │ +0000c8d0: 6368 e280 9920 656d 6974 7320 646f 7473 ch... emits dots │ │ │ │ │ +0000c8e0: 2061 7320 e280 9866 696c 6c64 7261 77e2 as ...filldraw. │ │ │ │ │ +0000c8f0: 8099 2063 6972 636c 6573 2e20 2054 6865 .. circles. The │ │ │ │ │ +0000c900: 2064 6961 6d65 7465 7220 6d61 7920 6265 diameter may be │ │ │ │ │ +0000c910: 2073 6574 0a75 7369 6e67 2074 6865 206f set.using the o │ │ │ │ │ +0000c920: 7074 696f 6e20 e280 9864 6f74 7369 7a65 ption ...dotsize │ │ │ │ │ +0000c930: e280 9920 626f 7272 6f77 6564 2066 726f ... borrowed fro │ │ │ │ │ +0000c940: 6d20 5053 5472 6963 6b73 2e20 2054 6865 m PSTricks. The │ │ │ │ │ +0000c950: 20e2 8098 646f 7473 697a 65e2 8099 206f ...dotsize... o │ │ │ │ │ +0000c960: 7074 696f 6e0a 7769 6c6c 2062 6520 7265 ption.will be re │ │ │ │ │ +0000c970: 6d6f 7665 6420 6672 6f6d 2074 6865 206f moved from the o │ │ │ │ │ +0000c980: 7074 696f 6e20 6c69 7374 2069 6e20 7468 ption list in th │ │ │ │ │ +0000c990: 6520 6f75 7470 7574 20e2 8098 6669 6c6c e output ...fill │ │ │ │ │ +0000c9a0: 6472 6177 e280 9920 636f 6d6d 616e 642e draw... command. │ │ │ │ │ +0000c9b0: 0a4f 7468 6572 206f 7074 696f 6e73 2077 .Other options w │ │ │ │ │ +0000c9c0: 6f72 6b20 696e 2074 6865 2065 7870 6563 ork in the expec │ │ │ │ │ +0000c9d0: 7465 6420 7761 792e 2020 466f 7220 6578 ted way. For ex │ │ │ │ │ +0000c9e0: 616d 706c 652c 20e2 8098 6669 6c6c e280 ample, ...fill.. │ │ │ │ │ +0000c9f0: 9920 7365 7473 2066 696c 6c0a 636f 6c6f . sets fill.colo │ │ │ │ │ +0000ca00: 7220 616e 6420 e280 9863 6f6c 6f72 e280 r and ...color.. │ │ │ │ │ +0000ca10: 9920 7365 7473 206c 696e 6520 636f 6c6f . sets line colo │ │ │ │ │ +0000ca20: 7220 6f66 2074 6865 2063 6972 636c 6573 r of the circles │ │ │ │ │ +0000ca30: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +0000ca40: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T │ │ │ │ │ +0000ca50: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ +0000ca60: 696e 6564 2073 7479 6c65 732c 2020 4e65 ined styles, Ne │ │ │ │ │ +0000ca70: 7874 3a20 5472 616e 7370 6172 656e 6379 xt: Transparency │ │ │ │ │ +0000ca80: 2c20 2050 7265 763a 2044 6f74 7320 696e , Prev: Dots in │ │ │ │ │ +0000ca90: 2054 696b 5a2f 5047 462c 2020 5570 3a20 TikZ/PGF, Up: │ │ │ │ │ +0000caa0: 4f70 7469 6f6e 730a 0a33 2e31 2e35 2e34 Options..3.1.5.4 │ │ │ │ │ +0000cab0: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... │ │ │ │ │ +0000cac0: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ +0000cad0: 6c65 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e les............. │ │ │ │ │ 0000cae0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000caf0: 2e2e 2e2e 2e2e 2e2e 0a0a e280 9854 696b .............Tik │ │ │ │ │ -0000cb00: 5a2f 5047 46e2 8099 2061 6c6c 6f77 7320 Z/PGF... allows │ │ │ │ │ -0000cb10: 6e61 6d65 6420 7374 796c 6573 2064 6566 named styles def │ │ │ │ │ -0000cb20: 696e 6564 2062 7920 7468 6520 7573 6572 ined by the user │ │ │ │ │ -0000cb30: 2c20 666f 7220 6578 616d 706c 650a 2020 , for example. │ │ │ │ │ -0000cb40: 5c74 696b 7a73 7479 6c65 7b6d 7970 6f6c \tikzstyle{mypol │ │ │ │ │ -0000cb50: 7967 6f6e 7374 796c 657d 203d 205b 6669 ygonstyle} = [fi │ │ │ │ │ -0000cb60: 6c6c 3d62 6c75 6521 3230 2c66 696c 6c20 ll=blue!20,fill │ │ │ │ │ -0000cb70: 6f70 6163 6974 793d 302e 385d 2020 0a20 opacity=0.8] . │ │ │ │ │ -0000cb80: 205c 7469 6b7a 7374 796c 657b 6d79 6c69 \tikzstyle{myli │ │ │ │ │ -0000cb90: 6e65 7374 796c 657d 203d 205b 7265 6421 nestyle} = [red! │ │ │ │ │ -0000cba0: 3230 2c64 6173 6865 645d 0a53 696e 6365 20,dashed].Since │ │ │ │ │ -0000cbb0: 20e2 8098 736b 6574 6368 e280 9920 6861 ...sketch... ha │ │ │ │ │ -0000cbc0: 7320 6e6f 2069 6e66 6f72 6d61 7469 6f6e s no information │ │ │ │ │ -0000cbd0: 206f 6e20 7468 6520 636f 6e74 656e 7473 on the contents │ │ │ │ │ -0000cbe0: 206f 6620 7375 6368 2073 7479 6c65 732c of such styles, │ │ │ │ │ -0000cbf0: 2069 740a 6f6d 6974 7320 7468 656d 2065 it.omits them e │ │ │ │ │ -0000cc00: 6e74 6972 656c 7920 6672 6f6d 206c 696e ntirely from lin │ │ │ │ │ -0000cc10: 6573 2c20 706f 6c79 676f 6e73 2c20 616e es, polygons, an │ │ │ │ │ -0000cc20: 6420 7468 6569 7220 6564 6765 7320 6475 d their edges du │ │ │ │ │ -0000cc30: 7269 6e67 206f 7074 696f 6e0a 7370 6c69 ring option.spli │ │ │ │ │ -0000cc40: 7474 696e 672e 2020 466f 7220 6578 616d tting. For exam │ │ │ │ │ -0000cc50: 706c 652c 0a20 2070 6f6c 7967 6f6e 5b73 ple,. polygon[s │ │ │ │ │ -0000cc60: 7479 6c65 3d6d 7970 6f6c 7967 6f6e 7374 tyle=mypolygonst │ │ │ │ │ -0000cc70: 796c 652c 7374 796c 653d 7468 6963 6b5d yle,style=thick] │ │ │ │ │ -0000cc80: 2830 2c30 2c31 2928 312c 302c 3029 2830 (0,0,1)(1,0,0)(0 │ │ │ │ │ -0000cc90: 2c31 2c30 290a 2020 6c69 6e65 5b73 7479 ,1,0). line[sty │ │ │ │ │ -0000cca0: 6c65 3d6d 796c 696e 6573 7479 6c65 5d28 le=mylinestyle]( │ │ │ │ │ -0000ccb0: 2d31 2c2d 312c 2d31 2928 322c 322c 3229 -1,-1,-1)(2,2,2) │ │ │ │ │ -0000ccc0: 0a70 726f 6475 6365 7320 7468 6520 e280 .produces the .. │ │ │ │ │ -0000ccd0: 9854 696b 5ae2 8099 206f 7574 7075 740a .TikZ... output. │ │ │ │ │ -0000cce0: 2020 5c64 7261 7728 2d31 2c2d 3129 2d2d \draw(-1,-1)-- │ │ │ │ │ -0000ccf0: 282e 3333 332c 2e33 3333 293b 0a20 205c (.333,.333);. \ │ │ │ │ │ -0000cd00: 6669 6c6c 6472 6177 5b74 6869 636b 2c66 filldraw[thick,f │ │ │ │ │ -0000cd10: 696c 6c3d 7768 6974 655d 2830 2c30 292d ill=white](0,0)- │ │ │ │ │ -0000cd20: 2d28 312c 3029 2d2d 2830 2c31 292d 2d63 -(1,0)--(0,1)--c │ │ │ │ │ -0000cd30: 7963 6c65 3b0a 2020 5c64 7261 7728 2e33 ycle;. \draw(.3 │ │ │ │ │ -0000cd40: 3333 2c2e 3333 3329 2d2d 2832 2c32 293b 33,.333)--(2,2); │ │ │ │ │ -0000cd50: 0a4e 6f74 6520 7468 6174 2074 6865 2075 .Note that the u │ │ │ │ │ -0000cd60: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl │ │ │ │ │ -0000cd70: 6573 2061 7265 206e 6f74 2070 7265 7365 es are not prese │ │ │ │ │ -0000cd80: 6e74 2e20 2053 6b65 7463 6820 616c 736f nt. Sketch also │ │ │ │ │ -0000cd90: 2069 7373 7565 730a 7761 726e 696e 6773 issues.warnings │ │ │ │ │ -0000cda0: 3a0a 2020 7761 726e 696e 672c 2075 6e6b :. warning, unk │ │ │ │ │ -0000cdb0: 6e6f 776e 2070 6f6c 7967 6f6e 206f 7074 nown polygon opt │ │ │ │ │ -0000cdc0: 696f 6e20 7374 796c 653d 6d79 706f 6c79 ion style=mypoly │ │ │ │ │ -0000cdd0: 676f 6e73 7479 6c65 2077 696c 6c20 6265 gonstyle will be │ │ │ │ │ -0000cde0: 2069 676e 6f72 6564 0a20 2077 6172 6e69 ignored. warni │ │ │ │ │ -0000cdf0: 6e67 2c20 756e 6b6e 6f77 6e20 6c69 6e65 ng, unknown line │ │ │ │ │ -0000ce00: 206f 7074 696f 6e20 7374 796c 653d 6d79 option style=my │ │ │ │ │ -0000ce10: 6c69 6e65 7374 796c 6520 7769 6c6c 2062 linestyle will b │ │ │ │ │ -0000ce20: 6520 6967 6e6f 7265 640a 0a20 2020 5468 e ignored.. Th │ │ │ │ │ -0000ce30: 6520 7265 6d65 6479 2069 7320 746f 2073 e remedy is to s │ │ │ │ │ -0000ce40: 7461 7465 2065 7870 6c69 6369 746c 7920 tate explicitly │ │ │ │ │ -0000ce50: 7768 6574 6865 7220 6120 7573 6572 2d64 whether a user-d │ │ │ │ │ -0000ce60: 6566 696e 6564 2073 7479 6c65 2073 686f efined style sho │ │ │ │ │ -0000ce70: 756c 640a 6265 2061 7474 6368 6564 2074 uld.be attched t │ │ │ │ │ -0000ce80: 6f20 706f 6c79 676f 6e73 206f 7220 6c69 o polygons or li │ │ │ │ │ -0000ce90: 6e65 7320 696e 2074 6865 20e2 8098 5469 nes in the ...Ti │ │ │ │ │ -0000cea0: 6b5a e280 9920 6f75 7470 7574 2075 7369 kZ... output usi │ │ │ │ │ -0000ceb0: 6e67 0a5f 7073 6575 646f 2d6f 7074 696f ng._pseudo-optio │ │ │ │ │ -0000cec0: 6e73 5f20 e280 9866 696c 6c20 7374 796c ns_ ...fill styl │ │ │ │ │ -0000ced0: 65e2 8099 2061 6e64 20e2 8098 6c69 6e65 e... and ...line │ │ │ │ │ -0000cee0: 2073 7479 6c65 e280 992c 0a20 2070 6f6c style...,. pol │ │ │ │ │ -0000cef0: 7967 6f6e 5b66 696c 6c20 7374 796c 653d ygon[fill style= │ │ │ │ │ -0000cf00: 6d79 706f 6c79 676f 6e73 7479 6c65 2c73 mypolygonstyle,s │ │ │ │ │ -0000cf10: 7479 6c65 3d74 6869 636b 5d28 302c 302c tyle=thick](0,0, │ │ │ │ │ -0000cf20: 3129 2831 2c30 2c30 2928 302c 312c 3029 1)(1,0,0)(0,1,0) │ │ │ │ │ -0000cf30: 0a20 206c 696e 655b 6c69 6e65 2073 7479 . line[line sty │ │ │ │ │ -0000cf40: 6c65 3d6d 796c 696e 6573 7479 6c65 5d28 le=mylinestyle]( │ │ │ │ │ -0000cf50: 2d31 2c2d 312c 2d31 2928 322c 322c 3229 -1,-1,-1)(2,2,2) │ │ │ │ │ -0000cf60: 0a4e 6f77 2c20 7468 6520 6f75 7470 7574 .Now, the output │ │ │ │ │ -0000cf70: 2069 730a 2020 5c64 7261 775b 6d79 6c69 is. \draw[myli │ │ │ │ │ -0000cf80: 6e65 7374 796c 655d 282d 312c 2d31 292d nestyle](-1,-1)- │ │ │ │ │ -0000cf90: 2d28 2e33 3333 2c2e 3333 3329 3b0a 2020 -(.333,.333);. │ │ │ │ │ -0000cfa0: 5c66 696c 6c64 7261 775b 6d79 706f 6c79 \filldraw[mypoly │ │ │ │ │ -0000cfb0: 676f 6e73 7479 6c65 2c74 6869 636b 5d28 gonstyle,thick]( │ │ │ │ │ -0000cfc0: 302c 3029 2d2d 2831 2c30 292d 2d28 302c 0,0)--(1,0)--(0, │ │ │ │ │ -0000cfd0: 3129 2d2d 6379 636c 653b 0a20 205c 6472 1)--cycle;. \dr │ │ │ │ │ -0000cfe0: 6177 5b6d 796c 696e 6573 7479 6c65 5d28 aw[mylinestyle]( │ │ │ │ │ -0000cff0: 2e33 3333 2c2e 3333 3329 2d2d 2832 2c32 .333,.333)--(2,2 │ │ │ │ │ -0000d000: 293b 0a0a 2020 2041 2075 7365 6675 6c20 );.. A useful │ │ │ │ │ -0000d010: 7465 6368 6e69 7175 6520 6973 2074 6f20 technique is to │ │ │ │ │ -0000d020: 696e 636c 7564 6520 7573 6572 2d64 6566 include user-def │ │ │ │ │ -0000d030: 696e 6564 2073 7479 6c65 2064 6566 696e ined style defin │ │ │ │ │ -0000d040: 6974 696f 6e73 2069 6e0a e280 9873 6b65 itions in....ske │ │ │ │ │ -0000d050: 7463 68e2 8099 2063 6f64 6520 6173 20e2 tch... code as . │ │ │ │ │ -0000d060: 8098 7370 6563 6961 6ce2 8099 7320 7769 ..special...s wi │ │ │ │ │ -0000d070: 7468 206f 7074 696f 6e20 e280 985b 6c61 th option ...[la │ │ │ │ │ -0000d080: 793d 756e 6465 725d e280 9920 746f 2065 y=under]... to e │ │ │ │ │ -0000d090: 6e73 7572 6520 7468 6174 2074 6865 0a73 nsure that the.s │ │ │ │ │ -0000d0a0: 7479 6c65 7320 6172 6520 656d 6974 7465 tyles are emitte │ │ │ │ │ -0000d0b0: 6420 6669 7273 7420 696e 2074 6865 206f d first in the o │ │ │ │ │ -0000d0c0: 7574 7075 742c 2062 6566 6f72 6520 616e utput, before an │ │ │ │ │ -0000d0d0: 7920 7573 6573 206f 6620 7468 6520 7374 y uses of the st │ │ │ │ │ -0000d0e0: 796c 650a 6e61 6d65 732e 2020 2831 2920 yle.names. (1) │ │ │ │ │ -0000d0f0: 2046 6f72 2065 7861 6d70 6c65 2c0a 2020 For example,. │ │ │ │ │ -0000d100: 7370 6563 6961 6c7c 5c74 696b 7a73 7479 special|\tikzsty │ │ │ │ │ -0000d110: 6c65 7b6d 7970 6f6c 7967 6f6e 7374 796c le{mypolygonstyl │ │ │ │ │ -0000d120: 657d 203d 205b 6669 6c6c 3d62 6c75 6521 e} = [fill=blue! │ │ │ │ │ -0000d130: 3230 2c66 696c 6c20 6f70 6163 6974 793d 20,fill opacity= │ │ │ │ │ -0000d140: 302e 385d 7c5b 6c61 793d 756e 6465 725d 0.8]|[lay=under] │ │ │ │ │ -0000d150: 0a20 2073 7065 6369 616c 7c5c 7469 6b7a . special|\tikz │ │ │ │ │ -0000d160: 7374 796c 657b 6d79 6c69 6e65 7374 796c style{mylinestyl │ │ │ │ │ -0000d170: 657d 203d 205b 7265 6421 3230 2c64 6173 e} = [red!20,das │ │ │ │ │ -0000d180: 6865 645d 7c5b 6c61 793d 756e 6465 725d hed]|[lay=under] │ │ │ │ │ -0000d190: 0a54 6865 2061 7574 686f 7220 6973 2072 .The author is r │ │ │ │ │ -0000d1a0: 6573 706f 6e73 6962 6c65 2066 6f72 2075 esponsible for u │ │ │ │ │ -0000d1b0: 7369 6e67 2074 6865 206b 6579 2c20 e280 sing the key, .. │ │ │ │ │ -0000d1c0: 986c 696e 6520 7374 796c 65e2 8099 206f .line style... o │ │ │ │ │ -0000d1d0: 7220 e280 9866 696c 6c0a 7374 796c 65e2 r ...fill.style. │ │ │ │ │ -0000d1e0: 8099 2c20 7468 6174 206d 6174 6368 6573 .., that matches │ │ │ │ │ -0000d1f0: 2074 6865 2063 6f6e 7465 6e74 206f 6620 the content of │ │ │ │ │ -0000d200: 7468 6520 7374 796c 6520 6465 6669 6e69 the style defini │ │ │ │ │ -0000d210: 7469 6f6e 2e0a 0a20 2020 2d2d 2d2d 2d2d tion... ------ │ │ │ │ │ -0000d220: 2d2d 2d2d 2046 6f6f 746e 6f74 6573 202d ---- Footnotes - │ │ │ │ │ -0000d230: 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 2831 ---------.. (1 │ │ │ │ │ -0000d240: 2920 5468 6973 2063 6c65 7665 7220 7472 ) This clever tr │ │ │ │ │ -0000d250: 6963 6b20 6973 2064 7565 2074 6f20 4b6a ick is due to Kj │ │ │ │ │ -0000d260: 656c 6c20 4d61 676e 6520 4661 7573 6b65 ell Magne Fauske │ │ │ │ │ -0000d270: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -0000d280: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T │ │ │ │ │ -0000d290: 7261 6e73 7061 7265 6e63 792c 2020 4e65 ransparency, Ne │ │ │ │ │ -0000d2a0: 7874 3a20 496e 7465 726e 616c 206f 7074 xt: Internal opt │ │ │ │ │ -0000d2b0: 696f 6e73 2c20 2050 7265 763a 2054 696b ions, Prev: Tik │ │ │ │ │ -0000d2c0: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin │ │ │ │ │ -0000d2d0: 6564 2073 7479 6c65 732c 2020 5570 3a20 ed styles, Up: │ │ │ │ │ -0000d2e0: 4f70 7469 6f6e 730a 0a33 2e31 2e35 2e35 Options..3.1.5.5 │ │ │ │ │ -0000d2f0: 2054 7261 6e73 7061 7265 6e63 790a 2e2e Transparency... │ │ │ │ │ +0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a e280 9854 ...............T │ │ │ │ │ +0000cb00: 696b 5a2f 5047 46e2 8099 2061 6c6c 6f77 ikZ/PGF... allow │ │ │ │ │ +0000cb10: 7320 6e61 6d65 6420 7374 796c 6573 2064 s named styles d │ │ │ │ │ +0000cb20: 6566 696e 6564 2062 7920 7468 6520 7573 efined by the us │ │ │ │ │ +0000cb30: 6572 2c20 666f 7220 6578 616d 706c 650a er, for example. │ │ │ │ │ +0000cb40: 2020 5c74 696b 7a73 7479 6c65 7b6d 7970 \tikzstyle{myp │ │ │ │ │ +0000cb50: 6f6c 7967 6f6e 7374 796c 657d 203d 205b olygonstyle} = [ │ │ │ │ │ +0000cb60: 6669 6c6c 3d62 6c75 6521 3230 2c66 696c fill=blue!20,fil │ │ │ │ │ +0000cb70: 6c20 6f70 6163 6974 793d 302e 385d 2020 l opacity=0.8] │ │ │ │ │ +0000cb80: 0a20 205c 7469 6b7a 7374 796c 657b 6d79 . \tikzstyle{my │ │ │ │ │ +0000cb90: 6c69 6e65 7374 796c 657d 203d 205b 7265 linestyle} = [re │ │ │ │ │ +0000cba0: 6421 3230 2c64 6173 6865 645d 0a53 696e d!20,dashed].Sin │ │ │ │ │ +0000cbb0: 6365 20e2 8098 736b 6574 6368 e280 9920 ce ...sketch... │ │ │ │ │ +0000cbc0: 6861 7320 6e6f 2069 6e66 6f72 6d61 7469 has no informati │ │ │ │ │ +0000cbd0: 6f6e 206f 6e20 7468 6520 636f 6e74 656e on on the conten │ │ │ │ │ +0000cbe0: 7473 206f 6620 7375 6368 2073 7479 6c65 ts of such style │ │ │ │ │ +0000cbf0: 732c 2069 740a 6f6d 6974 7320 7468 656d s, it.omits them │ │ │ │ │ +0000cc00: 2065 6e74 6972 656c 7920 6672 6f6d 206c entirely from l │ │ │ │ │ +0000cc10: 696e 6573 2c20 706f 6c79 676f 6e73 2c20 ines, polygons, │ │ │ │ │ +0000cc20: 616e 6420 7468 6569 7220 6564 6765 7320 and their edges │ │ │ │ │ +0000cc30: 6475 7269 6e67 206f 7074 696f 6e0a 7370 during option.sp │ │ │ │ │ +0000cc40: 6c69 7474 696e 672e 2020 466f 7220 6578 litting. For ex │ │ │ │ │ +0000cc50: 616d 706c 652c 0a20 2070 6f6c 7967 6f6e ample,. polygon │ │ │ │ │ +0000cc60: 5b73 7479 6c65 3d6d 7970 6f6c 7967 6f6e [style=mypolygon │ │ │ │ │ +0000cc70: 7374 796c 652c 7374 796c 653d 7468 6963 style,style=thic │ │ │ │ │ +0000cc80: 6b5d 2830 2c30 2c31 2928 312c 302c 3029 k](0,0,1)(1,0,0) │ │ │ │ │ +0000cc90: 2830 2c31 2c30 290a 2020 6c69 6e65 5b73 (0,1,0). line[s │ │ │ │ │ +0000cca0: 7479 6c65 3d6d 796c 696e 6573 7479 6c65 tyle=mylinestyle │ │ │ │ │ +0000ccb0: 5d28 2d31 2c2d 312c 2d31 2928 322c 322c ](-1,-1,-1)(2,2, │ │ │ │ │ +0000ccc0: 3229 0a70 726f 6475 6365 7320 7468 6520 2).produces the │ │ │ │ │ +0000ccd0: e280 9854 696b 5ae2 8099 206f 7574 7075 ...TikZ... outpu │ │ │ │ │ +0000cce0: 740a 2020 5c64 7261 7728 2d31 2c2d 3129 t. \draw(-1,-1) │ │ │ │ │ +0000ccf0: 2d2d 282e 3333 332c 2e33 3333 293b 0a20 --(.333,.333);. │ │ │ │ │ +0000cd00: 205c 6669 6c6c 6472 6177 5b74 6869 636b \filldraw[thick │ │ │ │ │ +0000cd10: 2c66 696c 6c3d 7768 6974 655d 2830 2c30 ,fill=white](0,0 │ │ │ │ │ +0000cd20: 292d 2d28 312c 3029 2d2d 2830 2c31 292d )--(1,0)--(0,1)- │ │ │ │ │ +0000cd30: 2d63 7963 6c65 3b0a 2020 5c64 7261 7728 -cycle;. \draw( │ │ │ │ │ +0000cd40: 2e33 3333 2c2e 3333 3329 2d2d 2832 2c32 .333,.333)--(2,2 │ │ │ │ │ +0000cd50: 293b 0a4e 6f74 6520 7468 6174 2074 6865 );.Note that the │ │ │ │ │ +0000cd60: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st │ │ │ │ │ +0000cd70: 796c 6573 2061 7265 206e 6f74 2070 7265 yles are not pre │ │ │ │ │ +0000cd80: 7365 6e74 2e20 2053 6b65 7463 6820 616c sent. Sketch al │ │ │ │ │ +0000cd90: 736f 2069 7373 7565 730a 7761 726e 696e so issues.warnin │ │ │ │ │ +0000cda0: 6773 3a0a 2020 7761 726e 696e 672c 2075 gs:. warning, u │ │ │ │ │ +0000cdb0: 6e6b 6e6f 776e 2070 6f6c 7967 6f6e 206f nknown polygon o │ │ │ │ │ +0000cdc0: 7074 696f 6e20 7374 796c 653d 6d79 706f ption style=mypo │ │ │ │ │ +0000cdd0: 6c79 676f 6e73 7479 6c65 2077 696c 6c20 lygonstyle will │ │ │ │ │ +0000cde0: 6265 2069 676e 6f72 6564 0a20 2077 6172 be ignored. war │ │ │ │ │ +0000cdf0: 6e69 6e67 2c20 756e 6b6e 6f77 6e20 6c69 ning, unknown li │ │ │ │ │ +0000ce00: 6e65 206f 7074 696f 6e20 7374 796c 653d ne option style= │ │ │ │ │ +0000ce10: 6d79 6c69 6e65 7374 796c 6520 7769 6c6c mylinestyle will │ │ │ │ │ +0000ce20: 2062 6520 6967 6e6f 7265 640a 0a20 2020 be ignored.. │ │ │ │ │ +0000ce30: 5468 6520 7265 6d65 6479 2069 7320 746f The remedy is to │ │ │ │ │ +0000ce40: 2073 7461 7465 2065 7870 6c69 6369 746c state explicitl │ │ │ │ │ +0000ce50: 7920 7768 6574 6865 7220 6120 7573 6572 y whether a user │ │ │ │ │ +0000ce60: 2d64 6566 696e 6564 2073 7479 6c65 2073 -defined style s │ │ │ │ │ +0000ce70: 686f 756c 640a 6265 2061 7474 6368 6564 hould.be attched │ │ │ │ │ +0000ce80: 2074 6f20 706f 6c79 676f 6e73 206f 7220 to polygons or │ │ │ │ │ +0000ce90: 6c69 6e65 7320 696e 2074 6865 20e2 8098 lines in the ... │ │ │ │ │ +0000cea0: 5469 6b5a e280 9920 6f75 7470 7574 2075 TikZ... output u │ │ │ │ │ +0000ceb0: 7369 6e67 0a5f 7073 6575 646f 2d6f 7074 sing._pseudo-opt │ │ │ │ │ +0000cec0: 696f 6e73 5f20 e280 9866 696c 6c20 7374 ions_ ...fill st │ │ │ │ │ +0000ced0: 796c 65e2 8099 2061 6e64 20e2 8098 6c69 yle... and ...li │ │ │ │ │ +0000cee0: 6e65 2073 7479 6c65 e280 992c 0a20 2070 ne style...,. p │ │ │ │ │ +0000cef0: 6f6c 7967 6f6e 5b66 696c 6c20 7374 796c olygon[fill styl │ │ │ │ │ +0000cf00: 653d 6d79 706f 6c79 676f 6e73 7479 6c65 e=mypolygonstyle │ │ │ │ │ +0000cf10: 2c73 7479 6c65 3d74 6869 636b 5d28 302c ,style=thick](0, │ │ │ │ │ +0000cf20: 302c 3129 2831 2c30 2c30 2928 302c 312c 0,1)(1,0,0)(0,1, │ │ │ │ │ +0000cf30: 3029 0a20 206c 696e 655b 6c69 6e65 2073 0). line[line s │ │ │ │ │ +0000cf40: 7479 6c65 3d6d 796c 696e 6573 7479 6c65 tyle=mylinestyle │ │ │ │ │ +0000cf50: 5d28 2d31 2c2d 312c 2d31 2928 322c 322c ](-1,-1,-1)(2,2, │ │ │ │ │ +0000cf60: 3229 0a4e 6f77 2c20 7468 6520 6f75 7470 2).Now, the outp │ │ │ │ │ +0000cf70: 7574 2069 730a 2020 5c64 7261 775b 6d79 ut is. \draw[my │ │ │ │ │ +0000cf80: 6c69 6e65 7374 796c 655d 282d 312c 2d31 linestyle](-1,-1 │ │ │ │ │ +0000cf90: 292d 2d28 2e33 3333 2c2e 3333 3329 3b0a )--(.333,.333);. │ │ │ │ │ +0000cfa0: 2020 5c66 696c 6c64 7261 775b 6d79 706f \filldraw[mypo │ │ │ │ │ +0000cfb0: 6c79 676f 6e73 7479 6c65 2c74 6869 636b lygonstyle,thick │ │ │ │ │ +0000cfc0: 5d28 302c 3029 2d2d 2831 2c30 292d 2d28 ](0,0)--(1,0)--( │ │ │ │ │ +0000cfd0: 302c 3129 2d2d 6379 636c 653b 0a20 205c 0,1)--cycle;. \ │ │ │ │ │ +0000cfe0: 6472 6177 5b6d 796c 696e 6573 7479 6c65 draw[mylinestyle │ │ │ │ │ +0000cff0: 5d28 2e33 3333 2c2e 3333 3329 2d2d 2832 ](.333,.333)--(2 │ │ │ │ │ +0000d000: 2c32 293b 0a0a 2020 2041 2075 7365 6675 ,2);.. A usefu │ │ │ │ │ +0000d010: 6c20 7465 6368 6e69 7175 6520 6973 2074 l technique is t │ │ │ │ │ +0000d020: 6f20 696e 636c 7564 6520 7573 6572 2d64 o include user-d │ │ │ │ │ +0000d030: 6566 696e 6564 2073 7479 6c65 2064 6566 efined style def │ │ │ │ │ +0000d040: 696e 6974 696f 6e73 2069 6e0a e280 9873 initions in....s │ │ │ │ │ +0000d050: 6b65 7463 68e2 8099 2063 6f64 6520 6173 ketch... code as │ │ │ │ │ +0000d060: 20e2 8098 7370 6563 6961 6ce2 8099 7320 ...special...s │ │ │ │ │ +0000d070: 7769 7468 206f 7074 696f 6e20 e280 985b with option ...[ │ │ │ │ │ +0000d080: 6c61 793d 756e 6465 725d e280 9920 746f lay=under]... to │ │ │ │ │ +0000d090: 2065 6e73 7572 6520 7468 6174 2074 6865 ensure that the │ │ │ │ │ +0000d0a0: 0a73 7479 6c65 7320 6172 6520 656d 6974 .styles are emit │ │ │ │ │ +0000d0b0: 7465 6420 6669 7273 7420 696e 2074 6865 ted first in the │ │ │ │ │ +0000d0c0: 206f 7574 7075 742c 2062 6566 6f72 6520 output, before │ │ │ │ │ +0000d0d0: 616e 7920 7573 6573 206f 6620 7468 6520 any uses of the │ │ │ │ │ +0000d0e0: 7374 796c 650a 6e61 6d65 732e 2020 2831 style.names. (1 │ │ │ │ │ +0000d0f0: 2920 2046 6f72 2065 7861 6d70 6c65 2c0a ) For example,. │ │ │ │ │ +0000d100: 2020 7370 6563 6961 6c7c 5c74 696b 7a73 special|\tikzs │ │ │ │ │ +0000d110: 7479 6c65 7b6d 7970 6f6c 7967 6f6e 7374 tyle{mypolygonst │ │ │ │ │ +0000d120: 796c 657d 203d 205b 6669 6c6c 3d62 6c75 yle} = [fill=blu │ │ │ │ │ +0000d130: 6521 3230 2c66 696c 6c20 6f70 6163 6974 e!20,fill opacit │ │ │ │ │ +0000d140: 793d 302e 385d 7c5b 6c61 793d 756e 6465 y=0.8]|[lay=unde │ │ │ │ │ +0000d150: 725d 0a20 2073 7065 6369 616c 7c5c 7469 r]. special|\ti │ │ │ │ │ +0000d160: 6b7a 7374 796c 657b 6d79 6c69 6e65 7374 kzstyle{mylinest │ │ │ │ │ +0000d170: 796c 657d 203d 205b 7265 6421 3230 2c64 yle} = [red!20,d │ │ │ │ │ +0000d180: 6173 6865 645d 7c5b 6c61 793d 756e 6465 ashed]|[lay=unde │ │ │ │ │ +0000d190: 725d 0a54 6865 2061 7574 686f 7220 6973 r].The author is │ │ │ │ │ +0000d1a0: 2072 6573 706f 6e73 6962 6c65 2066 6f72 responsible for │ │ │ │ │ +0000d1b0: 2075 7369 6e67 2074 6865 206b 6579 2c20 using the key, │ │ │ │ │ +0000d1c0: e280 986c 696e 6520 7374 796c 65e2 8099 ...line style... │ │ │ │ │ +0000d1d0: 206f 7220 e280 9866 696c 6c0a 7374 796c or ...fill.styl │ │ │ │ │ +0000d1e0: 65e2 8099 2c20 7468 6174 206d 6174 6368 e..., that match │ │ │ │ │ +0000d1f0: 6573 2074 6865 2063 6f6e 7465 6e74 206f es the content o │ │ │ │ │ +0000d200: 6620 7468 6520 7374 796c 6520 6465 6669 f the style defi │ │ │ │ │ +0000d210: 6e69 7469 6f6e 2e0a 0a20 2020 2d2d 2d2d nition... ---- │ │ │ │ │ +0000d220: 2d2d 2d2d 2d2d 2046 6f6f 746e 6f74 6573 ------ Footnotes │ │ │ │ │ +0000d230: 202d 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 ----------.. │ │ │ │ │ +0000d240: 2831 2920 5468 6973 2063 6c65 7665 7220 (1) This clever │ │ │ │ │ +0000d250: 7472 6963 6b20 6973 2064 7565 2074 6f20 trick is due to │ │ │ │ │ +0000d260: 4b6a 656c 6c20 4d61 676e 6520 4661 7573 Kjell Magne Faus │ │ │ │ │ +0000d270: 6b65 2e0a 0a1f 0a46 696c 653a 2073 6b65 ke.....File: ske │ │ │ │ │ +0000d280: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +0000d290: 2054 7261 6e73 7061 7265 6e63 792c 2020 Transparency, │ │ │ │ │ +0000d2a0: 4e65 7874 3a20 496e 7465 726e 616c 206f Next: Internal o │ │ │ │ │ +0000d2b0: 7074 696f 6e73 2c20 2050 7265 763a 2054 ptions, Prev: T │ │ │ │ │ +0000d2c0: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ +0000d2d0: 696e 6564 2073 7479 6c65 732c 2020 5570 ined styles, Up │ │ │ │ │ +0000d2e0: 3a20 4f70 7469 6f6e 730a 0a33 2e31 2e35 : Options..3.1.5 │ │ │ │ │ +0000d2f0: 2e35 2054 7261 6e73 7061 7265 6e63 790a .5 Transparency. │ │ │ │ │ 0000d300: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000d310: 2e2e 0a0a 426f 7468 20e2 8098 5053 5472 ....Both ...PSTr │ │ │ │ │ -0000d320: 6963 6b73 e280 9920 616e 6420 e280 9854 icks... and ...T │ │ │ │ │ -0000d330: 696b 5a2f 5047 46e2 8099 2073 7570 706f ikZ/PGF... suppo │ │ │ │ │ -0000d340: 7274 2070 6f6c 7967 6f6e 206f 7074 696f rt polygon optio │ │ │ │ │ -0000d350: 6e73 2074 6861 7420 6861 7665 2074 6865 ns that have the │ │ │ │ │ -0000d360: 0a65 6666 6563 7420 6f66 206d 616b 696e .effect of makin │ │ │ │ │ -0000d370: 6720 7468 6520 706f 6c79 676f 6e20 6170 g the polygon ap │ │ │ │ │ -0000d380: 7065 6172 2074 7261 6e73 7061 7265 6e74 pear transparent │ │ │ │ │ -0000d390: 2e20 2046 6f72 20e2 8098 5053 5472 6963 . For ...PSTric │ │ │ │ │ -0000d3a0: 6b73 e280 992c 0a6b 6579 776f 7264 20e2 ks...,.keyword . │ │ │ │ │ -0000d3b0: 8098 7472 616e 7370 616c 7068 61e2 8099 ..transpalpha... │ │ │ │ │ -0000d3c0: 2077 6173 2075 7365 6420 6475 7269 6e67 was used during │ │ │ │ │ -0000d3d0: 2069 6e69 7469 616c 2064 6576 656c 6f70 initial develop │ │ │ │ │ -0000d3e0: 6d65 6e74 206f 660a 7472 616e 7370 6172 ment of.transpar │ │ │ │ │ -0000d3f0: 656e 6379 2066 6561 7475 7265 732c 2061 ency features, a │ │ │ │ │ -0000d400: 6e64 20e2 8098 6f70 6163 6974 79e2 8099 nd ...opacity... │ │ │ │ │ -0000d410: 2077 6173 2061 646f 7074 6564 206c 6174 was adopted lat │ │ │ │ │ -0000d420: 6572 2e20 20e2 8098 536b 6574 6368 e280 er. ...Sketch.. │ │ │ │ │ -0000d430: 9920 686f 6e6f 7273 0a62 6f74 682e 2020 . honors.both. │ │ │ │ │ -0000d440: e280 9854 696b 5a2f 5047 46e2 8099 2075 ...TikZ/PGF... u │ │ │ │ │ -0000d450: 7365 7320 e280 986f 7061 6369 7479 e280 ses ...opacity.. │ │ │ │ │ -0000d460: 9920 6f6e 6c79 2e20 2057 6865 6e20 7472 . only. When tr │ │ │ │ │ -0000d470: 616e 7370 6172 656e 7420 706f 6c79 676f ansparent polygo │ │ │ │ │ -0000d480: 6e73 2061 7265 2069 6e0a 7468 6520 666f ns are in.the fo │ │ │ │ │ -0000d490: 7265 6772 6f75 6e64 2c20 6f62 6a65 6374 reground, object │ │ │ │ │ -0000d4a0: 7320 6265 6869 6e64 2074 6865 6d20 2864 s behind them (d │ │ │ │ │ -0000d4b0: 7261 776e 2065 6172 6c69 6572 2920 6172 rawn earlier) ar │ │ │ │ │ -0000d4c0: 6520 7669 7369 626c 6520 7769 7468 0a63 e visible with.c │ │ │ │ │ -0000d4d0: 6f6c 6f72 2073 7562 6475 6564 2061 6e64 olor subdued and │ │ │ │ │ -0000d4e0: 2074 696e 7465 642e 2020 5468 6520 6869 tinted. The hi │ │ │ │ │ -0000d4f0: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg │ │ │ │ │ -0000d500: 6f72 6974 686d 206f 6620 e280 9873 6b65 orithm of ...ske │ │ │ │ │ -0000d510: 7463 68e2 8099 0a77 6f72 6b73 2077 656c tch....works wel │ │ │ │ │ -0000d520: 6c20 7769 7468 2073 7563 6820 7472 616e l with such tran │ │ │ │ │ -0000d530: 7370 6172 656e 7420 706f 6c79 676f 6e73 sparent polygons │ │ │ │ │ -0000d540: 2e0a 0a20 2020 4e6f 7465 2074 6861 7420 ... Note that │ │ │ │ │ -0000d550: 6375 6c6c 3d66 616c 7365 206d 7573 7420 cull=false must │ │ │ │ │ -0000d560: 6265 2075 7365 6420 666f 7220 7265 6172 be used for rear │ │ │ │ │ -0000d570: 2d66 6163 696e 6720 706f 6c79 676f 6e73 -facing polygons │ │ │ │ │ -0000d580: 2074 6f20 6265 0a76 6973 6962 6c65 2077 to be.visible w │ │ │ │ │ -0000d590: 6865 6e20 706f 7369 7469 6f6e 6564 2062 hen positioned b │ │ │ │ │ -0000d5a0: 6568 696e 6420 6f74 6865 7220 7472 616e ehind other tran │ │ │ │ │ -0000d5b0: 7370 6172 656e 7420 7375 7266 6163 6573 sparent surfaces │ │ │ │ │ -0000d5c0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -0000d5d0: 682e 696e 666f 2c20 204e 6f64 653a 2049 h.info, Node: I │ │ │ │ │ -0000d5e0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732c nternal options, │ │ │ │ │ -0000d5f0: 2020 5072 6576 3a20 5472 616e 7370 6172 Prev: Transpar │ │ │ │ │ -0000d600: 656e 6379 2c20 2055 703a 204f 7074 696f ency, Up: Optio │ │ │ │ │ -0000d610: 6e73 0a0a 332e 312e 352e 3620 496e 7465 ns..3.1.5.6 Inte │ │ │ │ │ -0000d620: 726e 616c 206f 7074 696f 6e73 0a2e 2e2e rnal options.... │ │ │ │ │ +0000d310: 2e2e 2e2e 0a0a 426f 7468 20e2 8098 5053 ......Both ...PS │ │ │ │ │ +0000d320: 5472 6963 6b73 e280 9920 616e 6420 e280 Tricks... and .. │ │ │ │ │ +0000d330: 9854 696b 5a2f 5047 46e2 8099 2073 7570 .TikZ/PGF... sup │ │ │ │ │ +0000d340: 706f 7274 2070 6f6c 7967 6f6e 206f 7074 port polygon opt │ │ │ │ │ +0000d350: 696f 6e73 2074 6861 7420 6861 7665 2074 ions that have t │ │ │ │ │ +0000d360: 6865 0a65 6666 6563 7420 6f66 206d 616b he.effect of mak │ │ │ │ │ +0000d370: 696e 6720 7468 6520 706f 6c79 676f 6e20 ing the polygon │ │ │ │ │ +0000d380: 6170 7065 6172 2074 7261 6e73 7061 7265 appear transpare │ │ │ │ │ +0000d390: 6e74 2e20 2046 6f72 20e2 8098 5053 5472 nt. For ...PSTr │ │ │ │ │ +0000d3a0: 6963 6b73 e280 992c 0a6b 6579 776f 7264 icks...,.keyword │ │ │ │ │ +0000d3b0: 20e2 8098 7472 616e 7370 616c 7068 61e2 ...transpalpha. │ │ │ │ │ +0000d3c0: 8099 2077 6173 2075 7365 6420 6475 7269 .. was used duri │ │ │ │ │ +0000d3d0: 6e67 2069 6e69 7469 616c 2064 6576 656c ng initial devel │ │ │ │ │ +0000d3e0: 6f70 6d65 6e74 206f 660a 7472 616e 7370 opment of.transp │ │ │ │ │ +0000d3f0: 6172 656e 6379 2066 6561 7475 7265 732c arency features, │ │ │ │ │ +0000d400: 2061 6e64 20e2 8098 6f70 6163 6974 79e2 and ...opacity. │ │ │ │ │ +0000d410: 8099 2077 6173 2061 646f 7074 6564 206c .. was adopted l │ │ │ │ │ +0000d420: 6174 6572 2e20 20e2 8098 536b 6574 6368 ater. ...Sketch │ │ │ │ │ +0000d430: e280 9920 686f 6e6f 7273 0a62 6f74 682e ... honors.both. │ │ │ │ │ +0000d440: 2020 e280 9854 696b 5a2f 5047 46e2 8099 ...TikZ/PGF... │ │ │ │ │ +0000d450: 2075 7365 7320 e280 986f 7061 6369 7479 uses ...opacity │ │ │ │ │ +0000d460: e280 9920 6f6e 6c79 2e20 2057 6865 6e20 ... only. When │ │ │ │ │ +0000d470: 7472 616e 7370 6172 656e 7420 706f 6c79 transparent poly │ │ │ │ │ +0000d480: 676f 6e73 2061 7265 2069 6e0a 7468 6520 gons are in.the │ │ │ │ │ +0000d490: 666f 7265 6772 6f75 6e64 2c20 6f62 6a65 foreground, obje │ │ │ │ │ +0000d4a0: 6374 7320 6265 6869 6e64 2074 6865 6d20 cts behind them │ │ │ │ │ +0000d4b0: 2864 7261 776e 2065 6172 6c69 6572 2920 (drawn earlier) │ │ │ │ │ +0000d4c0: 6172 6520 7669 7369 626c 6520 7769 7468 are visible with │ │ │ │ │ +0000d4d0: 0a63 6f6c 6f72 2073 7562 6475 6564 2061 .color subdued a │ │ │ │ │ +0000d4e0: 6e64 2074 696e 7465 642e 2020 5468 6520 nd tinted. The │ │ │ │ │ +0000d4f0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ +0000d500: 6c67 6f72 6974 686d 206f 6620 e280 9873 lgorithm of ...s │ │ │ │ │ +0000d510: 6b65 7463 68e2 8099 0a77 6f72 6b73 2077 ketch....works w │ │ │ │ │ +0000d520: 656c 6c20 7769 7468 2073 7563 6820 7472 ell with such tr │ │ │ │ │ +0000d530: 616e 7370 6172 656e 7420 706f 6c79 676f ansparent polygo │ │ │ │ │ +0000d540: 6e73 2e0a 0a20 2020 4e6f 7465 2074 6861 ns... Note tha │ │ │ │ │ +0000d550: 7420 6375 6c6c 3d66 616c 7365 206d 7573 t cull=false mus │ │ │ │ │ +0000d560: 7420 6265 2075 7365 6420 666f 7220 7265 t be used for re │ │ │ │ │ +0000d570: 6172 2d66 6163 696e 6720 706f 6c79 676f ar-facing polygo │ │ │ │ │ +0000d580: 6e73 2074 6f20 6265 0a76 6973 6962 6c65 ns to be.visible │ │ │ │ │ +0000d590: 2077 6865 6e20 706f 7369 7469 6f6e 6564 when positioned │ │ │ │ │ +0000d5a0: 2062 6568 696e 6420 6f74 6865 7220 7472 behind other tr │ │ │ │ │ +0000d5b0: 616e 7370 6172 656e 7420 7375 7266 6163 ansparent surfac │ │ │ │ │ +0000d5c0: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske │ │ │ │ │ +0000d5d0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +0000d5e0: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option │ │ │ │ │ +0000d5f0: 732c 2020 5072 6576 3a20 5472 616e 7370 s, Prev: Transp │ │ │ │ │ +0000d600: 6172 656e 6379 2c20 2055 703a 204f 7074 arency, Up: Opt │ │ │ │ │ +0000d610: 696f 6e73 0a0a 332e 312e 352e 3620 496e ions..3.1.5.6 In │ │ │ │ │ +0000d620: 7465 726e 616c 206f 7074 696f 6e73 0a2e ternal options.. │ │ │ │ │ 0000d630: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -0000d640: 2e2e 2e2e 2e0a 0a54 6865 7265 2061 7265 .......There are │ │ │ │ │ -0000d650: 2061 6c73 6f20 5f69 6e74 6572 6e61 6c5f also _internal_ │ │ │ │ │ -0000d660: 206f 7074 696f 6e73 2075 7365 6420 6f6e options used on │ │ │ │ │ -0000d670: 6c79 2062 7920 e280 9873 6b65 7463 68e2 ly by ...sketch. │ │ │ │ │ -0000d680: 8099 2061 6e64 206e 6f74 2070 6173 7365 .. and not passe │ │ │ │ │ -0000d690: 640a 6f6e 2074 6f20 e280 9850 5354 7269 d.on to ...PSTri │ │ │ │ │ -0000d6a0: 636b 73e2 8099 2e20 2054 6865 7365 2061 cks.... These a │ │ │ │ │ -0000d6b0: 7265 2073 756d 6d61 7269 7a65 6420 696e re summarized in │ │ │ │ │ -0000d6c0: 2074 6865 2066 6f6c 6c6f 7769 6e67 2074 the following t │ │ │ │ │ -0000d6d0: 6162 6c65 2e0a 4b65 7920 2020 2020 2020 able..Key │ │ │ │ │ -0000d6e0: 506f 7373 6962 6c65 2076 616c 7565 7320 Possible values │ │ │ │ │ -0000d6f0: 2020 2020 2020 2020 4465 7363 7269 7074 Descript │ │ │ │ │ -0000d700: 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ion.------------ │ │ │ │ │ +0000d640: 2e2e 2e2e 2e2e 2e0a 0a54 6865 7265 2061 .........There a │ │ │ │ │ +0000d650: 7265 2061 6c73 6f20 5f69 6e74 6572 6e61 re also _interna │ │ │ │ │ +0000d660: 6c5f 206f 7074 696f 6e73 2075 7365 6420 l_ options used │ │ │ │ │ +0000d670: 6f6e 6c79 2062 7920 e280 9873 6b65 7463 only by ...sketc │ │ │ │ │ +0000d680: 68e2 8099 2061 6e64 206e 6f74 2070 6173 h... and not pas │ │ │ │ │ +0000d690: 7365 640a 6f6e 2074 6f20 e280 9850 5354 sed.on to ...PST │ │ │ │ │ +0000d6a0: 7269 636b 73e2 8099 2e20 2054 6865 7365 ricks.... These │ │ │ │ │ +0000d6b0: 2061 7265 2073 756d 6d61 7269 7a65 6420 are summarized │ │ │ │ │ +0000d6c0: 696e 2074 6865 2066 6f6c 6c6f 7769 6e67 in the following │ │ │ │ │ +0000d6d0: 2074 6162 6c65 2e0a 4b65 7920 2020 2020 table..Key │ │ │ │ │ +0000d6e0: 2020 506f 7373 6962 6c65 2076 616c 7565 Possible value │ │ │ │ │ +0000d6f0: 7320 2020 2020 2020 2020 4465 7363 7269 s Descri │ │ │ │ │ +0000d700: 7074 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d ption.---------- │ │ │ │ │ 0000d710: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d720: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d730: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d740: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 0000d750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000d760: 2d2d 2d2d 0ae2 8098 6375 6c6c e280 9920 ----....cull... │ │ │ │ │ -0000d770: 2020 20e2 8098 7472 7565 e280 992c 20e2 ...true..., . │ │ │ │ │ -0000d780: 8098 6661 6c73 65e2 8099 2020 2020 2020 ..false... │ │ │ │ │ -0000d790: 2020 2054 7572 6e20 6375 6c6c 696e 6720 Turn culling │ │ │ │ │ -0000d7a0: 6f66 2062 6163 6b66 6163 6573 206f 6e20 of backfaces on │ │ │ │ │ -0000d7b0: 616e 6420 6f66 6620 7265 7370 6563 7469 and off respecti │ │ │ │ │ -0000d7c0: 7665 6c79 2066 6f72 2074 6869 730a 2020 vely for this. │ │ │ │ │ +0000d760: 2d2d 2d2d 2d2d 0ae2 8098 6375 6c6c e280 ------....cull.. │ │ │ │ │ +0000d770: 9920 2020 20e2 8098 7472 7565 e280 992c . ...true..., │ │ │ │ │ +0000d780: 20e2 8098 6661 6c73 65e2 8099 2020 2020 ...false... │ │ │ │ │ +0000d790: 2020 2020 2054 7572 6e20 6375 6c6c 696e Turn cullin │ │ │ │ │ +0000d7a0: 6720 6f66 2062 6163 6b66 6163 6573 206f g of backfaces o │ │ │ │ │ +0000d7b0: 6e20 616e 6420 6f66 6620 7265 7370 6563 n and off respec │ │ │ │ │ +0000d7c0: 7469 7665 6c79 2066 6f72 2074 6869 730a tively for this. │ │ │ │ │ 0000d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d7f0: 6f62 6a65 6374 2e20 2054 6865 2064 6566 object. The def │ │ │ │ │ -0000d800: 6175 6c74 2076 616c 7565 2069 7320 e280 ault value is .. │ │ │ │ │ -0000d810: 9874 7275 65e2 8099 2e0a e280 986c 6179 .true........lay │ │ │ │ │ -0000d820: e280 9920 2020 2020 e280 986f 7665 72e2 ... ...over. │ │ │ │ │ -0000d830: 8099 2c20 e280 9869 6ee2 8099 2c20 e280 .., ...in..., .. │ │ │ │ │ -0000d840: 9875 6e64 6572 e280 9920 2020 466f 7263 .under... Forc │ │ │ │ │ -0000d850: 6520 7468 6973 206f 626a 6563 7420 746f e this object to │ │ │ │ │ -0000d860: 2062 6520 e280 9875 6e64 6572 e280 9920 be ...under... │ │ │ │ │ -0000d870: 6f72 20e2 8098 6f76 6572 e280 9920 616c or ...over... al │ │ │ │ │ -0000d880: 6c20 6f74 6865 7220 6f62 6a65 6374 730a l other objects. │ │ │ │ │ -0000d890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d7f0: 2020 6f62 6a65 6374 2e20 2054 6865 2064 object. The d │ │ │ │ │ +0000d800: 6566 6175 6c74 2076 616c 7565 2069 7320 efault value is │ │ │ │ │ +0000d810: e280 9874 7275 65e2 8099 2e0a e280 986c ...true........l │ │ │ │ │ +0000d820: 6179 e280 9920 2020 2020 e280 986f 7665 ay... ...ove │ │ │ │ │ +0000d830: 72e2 8099 2c20 e280 9869 6ee2 8099 2c20 r..., ...in..., │ │ │ │ │ +0000d840: e280 9875 6e64 6572 e280 9920 2020 466f ...under... Fo │ │ │ │ │ +0000d850: 7263 6520 7468 6973 206f 626a 6563 7420 rce this object │ │ │ │ │ +0000d860: 746f 2062 6520 e280 9875 6e64 6572 e280 to be ...under.. │ │ │ │ │ +0000d870: 9920 6f72 20e2 8098 6f76 6572 e280 9920 . or ...over... │ │ │ │ │ +0000d880: 616c 6c20 6f74 6865 7220 6f62 6a65 6374 all other object │ │ │ │ │ +0000d890: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ 0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d8b0: 2020 696e 2074 6865 2064 6570 7468 2073 in the depth s │ │ │ │ │ -0000d8c0: 6f72 7420 6f72 6465 7220 6372 6561 7465 ort order create │ │ │ │ │ -0000d8d0: 6420 6279 2074 6865 2068 6964 6465 6e20 d by the hidden │ │ │ │ │ -0000d8e0: 7375 7266 6163 650a 2020 2020 2020 2020 surface. │ │ │ │ │ +0000d8b0: 2020 2020 696e 2074 6865 2064 6570 7468 in the depth │ │ │ │ │ +0000d8c0: 2073 6f72 7420 6f72 6465 7220 6372 6561 sort order crea │ │ │ │ │ +0000d8d0: 7465 6420 6279 2074 6865 2068 6964 6465 ted by the hidde │ │ │ │ │ +0000d8e0: 6e20 7375 7266 6163 650a 2020 2020 2020 n surface. │ │ │ │ │ 0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d900: 2020 2020 2020 2020 2020 616c 676f 7269 algori │ │ │ │ │ -0000d910: 7468 6d2e 2020 5468 6520 6465 6661 756c thm. The defaul │ │ │ │ │ -0000d920: 7420 7661 6c75 6520 e280 986f 7665 72e2 t value ...over. │ │ │ │ │ -0000d930: 8099 2067 7561 7261 6e74 6565 7320 7468 .. guarantees th │ │ │ │ │ -0000d940: 6174 206f 7574 7075 740a 2020 2020 2020 at output. │ │ │ │ │ +0000d900: 2020 2020 2020 2020 2020 2020 616c 676f algo │ │ │ │ │ +0000d910: 7269 7468 6d2e 2020 5468 6520 6465 6661 rithm. The defa │ │ │ │ │ +0000d920: 756c 7420 7661 6c75 6520 e280 986f 7665 ult value ...ove │ │ │ │ │ +0000d930: 72e2 8099 2067 7561 7261 6e74 6565 7320 r... guarantees │ │ │ │ │ +0000d940: 7468 6174 206f 7574 7075 740a 2020 2020 that output. │ │ │ │ │ 0000d950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d960: 2020 2020 2020 2020 2020 2020 6475 6520 due │ │ │ │ │ -0000d970: 746f 2074 6865 20e2 8098 7370 6563 6961 to the ...specia │ │ │ │ │ -0000d980: 6ce2 8099 2077 696c 6c20 6265 2076 6973 l... will be vis │ │ │ │ │ -0000d990: 6962 6c65 2e0a e280 9873 706c 6974 e280 ible.....split.. │ │ │ │ │ -0000d9a0: 9920 2020 e280 9874 7275 65e2 8099 2c20 . ...true..., │ │ │ │ │ -0000d9b0: e280 9866 616c 7365 e280 9920 2020 2020 ...false... │ │ │ │ │ -0000d9c0: 2020 2020 5475 726e 2073 706c 6974 7469 Turn splitti │ │ │ │ │ -0000d9d0: 6e67 206f 6620 7377 6565 702d 6765 6e65 ng of sweep-gene │ │ │ │ │ -0000d9e0: 7261 7465 6420 626f 6479 2070 6f6c 7967 rated body polyg │ │ │ │ │ -0000d9f0: 6f6e 7320 6f6e 2061 6e64 206f 6666 0a20 ons on and off. │ │ │ │ │ -0000da00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d960: 2020 2020 2020 2020 2020 2020 2020 6475 du │ │ │ │ │ +0000d970: 6520 746f 2074 6865 20e2 8098 7370 6563 e to the ...spec │ │ │ │ │ +0000d980: 6961 6ce2 8099 2077 696c 6c20 6265 2076 ial... will be v │ │ │ │ │ +0000d990: 6973 6962 6c65 2e0a e280 9873 706c 6974 isible.....split │ │ │ │ │ +0000d9a0: e280 9920 2020 e280 9874 7275 65e2 8099 ... ...true... │ │ │ │ │ +0000d9b0: 2c20 e280 9866 616c 7365 e280 9920 2020 , ...false... │ │ │ │ │ +0000d9c0: 2020 2020 2020 5475 726e 2073 706c 6974 Turn split │ │ │ │ │ +0000d9d0: 7469 6e67 206f 6620 7377 6565 702d 6765 ting of sweep-ge │ │ │ │ │ +0000d9e0: 6e65 7261 7465 6420 626f 6479 2070 6f6c nerated body pol │ │ │ │ │ +0000d9f0: 7967 6f6e 7320 6f6e 2061 6e64 206f 6666 ygons on and off │ │ │ │ │ +0000da00: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da20: 2072 6573 7065 6374 6976 656c 792e 2020 respectively. │ │ │ │ │ -0000da30: 2a4e 6f74 6520 5377 6565 7073 3a3a 2e20 *Note Sweeps::. │ │ │ │ │ -0000da40: 2054 6865 2064 6566 6175 6c74 2076 616c The default val │ │ │ │ │ -0000da50: 7565 20e2 8098 7472 7565 e280 990a 2020 ue ...true.... │ │ │ │ │ +0000da20: 2020 2072 6573 7065 6374 6976 656c 792e respectively. │ │ │ │ │ +0000da30: 2020 2a4e 6f74 6520 5377 6565 7073 3a3a *Note Sweeps:: │ │ │ │ │ +0000da40: 2e20 2054 6865 2064 6566 6175 6c74 2076 . The default v │ │ │ │ │ +0000da50: 616c 7565 20e2 8098 7472 7565 e280 990a alue ...true.... │ │ │ │ │ 0000da60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da80: 6361 7573 6573 2022 7761 7270 6564 2220 causes "warped" │ │ │ │ │ -0000da90: 706f 6c79 676f 6e73 2074 6f20 6265 2073 polygons to be s │ │ │ │ │ -0000daa0: 706c 6974 2069 6e74 6f20 7472 6961 6e67 plit into triang │ │ │ │ │ -0000dab0: 6c65 732c 2077 6869 6368 0a20 2020 2020 les, which. │ │ │ │ │ +0000da80: 2020 6361 7573 6573 2022 7761 7270 6564 causes "warped │ │ │ │ │ +0000da90: 2220 706f 6c79 676f 6e73 2074 6f20 6265 " polygons to be │ │ │ │ │ +0000daa0: 2073 706c 6974 2069 6e74 6f20 7472 6961 split into tria │ │ │ │ │ +0000dab0: 6e67 6c65 732c 2077 6869 6368 0a20 2020 ngles, which. │ │ │ │ │ 0000dac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dad0: 2020 2020 2020 2020 2020 2020 2061 766f avo │ │ │ │ │ -0000dae0: 6964 7320 6d69 7374 616b 6573 2062 7920 ids mistakes by │ │ │ │ │ -0000daf0: 7468 6520 6869 6464 656e 2073 7572 6661 the hidden surfa │ │ │ │ │ -0000db00: 6365 2061 6c67 6f72 6974 686d 2e0a 0a33 ce algorithm...3 │ │ │ │ │ -0000db10: 2e31 2e36 2050 6f69 6e74 206c 6973 7473 .1.6 Point lists │ │ │ │ │ -0000db20: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ -0000db30: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. │ │ │ │ │ -0000db40: 2020 2028 5831 2c59 312c 5a31 2928 5832 (X1,Y1,Z1)(X2 │ │ │ │ │ -0000db50: 2c59 322c 5a32 292e 2e2e 0a41 2073 6571 ,Y2,Z2)....A seq │ │ │ │ │ -0000db60: 7565 6e63 6520 6f66 206f 6e65 206f 7220 uence of one or │ │ │ │ │ -0000db70: 6d6f 7265 2070 6f69 6e74 7320 6d61 6b65 more points make │ │ │ │ │ -0000db80: 7320 6120 706f 696e 7420 6c69 7374 2c20 s a point list, │ │ │ │ │ -0000db90: 6120 6665 6174 7572 6520 636f 6d6d 6f6e a feature common │ │ │ │ │ -0000dba0: 2074 6f0a 616c 6c20 6472 6177 6162 6c65 to.all drawable │ │ │ │ │ -0000dbb0: 732e 2020 4561 6368 206f 6620 7468 6520 s. Each of the │ │ │ │ │ -0000dbc0: 706f 696e 7420 636f 6d70 6f6e 656e 7473 point components │ │ │ │ │ -0000dbd0: 2069 7320 6120 7363 616c 6172 2061 7269 is a scalar ari │ │ │ │ │ -0000dbe0: 7468 6d65 7469 630a 6578 7072 6573 7369 thmetic.expressi │ │ │ │ │ -0000dbf0: 6f6e 2e20 2041 6e79 2070 6f69 6e74 206d on. Any point m │ │ │ │ │ -0000dc00: 6179 2068 6176 6520 7468 6520 7a2d 636f ay have the z-co │ │ │ │ │ -0000dc10: 6d70 6f6e 656e 7420 6f6d 6974 7465 643b mponent omitted; │ │ │ │ │ -0000dc20: 2069 7420 7769 6c6c 2064 6566 6175 6c74 it will default │ │ │ │ │ -0000dc30: 0a74 6f20 7a3d 302e 0a0a 2a20 4d65 6e75 .to z=0...* Menu │ │ │ │ │ -0000dc40: 3a0a 0a2a 2044 7261 7761 626c 6573 3a3a :..* Drawables:: │ │ │ │ │ -0000dc50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dc60: 2020 2054 6869 6e67 7320 7468 6174 2061 Things that a │ │ │ │ │ -0000dc70: 7265 2064 7261 776e 2e0a 2a20 4465 6669 re drawn..* Defi │ │ │ │ │ -0000dc80: 6e69 7469 6f6e 733a 3a20 2020 2020 2020 nitions:: │ │ │ │ │ -0000dc90: 2020 2020 2020 2020 2020 5468 696e 6773 Things │ │ │ │ │ -0000dca0: 2077 6974 6820 6e61 6d65 732e 0a0a 1f0a with names..... │ │ │ │ │ -0000dcb0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -0000dcc0: 6f2c 2020 4e6f 6465 3a20 4472 6177 6162 o, Node: Drawab │ │ │ │ │ -0000dcd0: 6c65 732c 2020 4e65 7874 3a20 4465 6669 les, Next: Defi │ │ │ │ │ -0000dce0: 6e69 7469 6f6e 732c 2020 5072 6576 3a20 nitions, Prev: │ │ │ │ │ -0000dcf0: 4c61 6e67 7561 6765 2062 6173 6963 732c Language basics, │ │ │ │ │ -0000dd00: 2020 5570 3a20 496e 7075 7420 6c61 6e67 Up: Input lang │ │ │ │ │ -0000dd10: 7561 6765 0a0a 332e 3220 4472 6177 6162 uage..3.2 Drawab │ │ │ │ │ -0000dd20: 6c65 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d les.============ │ │ │ │ │ -0000dd30: 3d0a 0a44 7261 7761 626c 6573 2061 7265 =..Drawables are │ │ │ │ │ -0000dd40: 2073 696d 706c 7920 e280 9873 6b65 7463 simply ...sketc │ │ │ │ │ -0000dd50: 68e2 8099 206f 626a 6563 7473 2074 6861 h... objects tha │ │ │ │ │ -0000dd60: 7420 6d69 6768 7420 6170 7065 6172 2069 t might appear i │ │ │ │ │ -0000dd70: 6e20 7468 6520 6472 6177 696e 672e 0a54 n the drawing..T │ │ │ │ │ -0000dd80: 6865 7920 696e 636c 7564 6520 646f 7473 hey include dots │ │ │ │ │ -0000dd90: 2c20 706f 6c79 6c69 6e65 732c 2063 7572 , polylines, cur │ │ │ │ │ -0000dda0: 7665 732c 2070 6f6c 7967 6f6e 732c 2061 ves, polygons, a │ │ │ │ │ -0000ddb0: 6e64 206d 6f72 6520 636f 6d70 6c65 7820 nd more complex │ │ │ │ │ -0000ddc0: 6f62 6a65 6374 730a 7468 6174 2061 7265 objects.that are │ │ │ │ │ -0000ddd0: 2062 7569 6c74 2075 7020 6672 6f6d 2073 built up from s │ │ │ │ │ -0000dde0: 696d 706c 6572 206f 6e65 7320 696e 2076 impler ones in v │ │ │ │ │ -0000ddf0: 6172 696f 7573 2077 6179 732e 2020 4669 arious ways. Fi │ │ │ │ │ -0000de00: 6e61 6c6c 792c 20e2 809c 7370 6563 6961 nally, ...specia │ │ │ │ │ -0000de10: 6ce2 809d 0a6f 626a 6563 7473 2061 7265 l....objects are │ │ │ │ │ -0000de20: 2074 686f 7365 2063 6f6d 706f 7365 6420 those composed │ │ │ │ │ -0000de30: 6f66 204c 6154 6558 206f 7220 e280 9850 of LaTeX or ...P │ │ │ │ │ -0000de40: 5354 7269 636b 73e2 8099 2063 6f64 652c STricks... code, │ │ │ │ │ -0000de50: 2070 6572 6861 7073 0a69 6e63 6c75 6469 perhaps.includi │ │ │ │ │ -0000de60: 6e67 2063 6f6f 7264 696e 6174 6573 2061 ng coordinates a │ │ │ │ │ -0000de70: 6e64 2061 6e67 6c65 7320 636f 6d70 7574 nd angles comput │ │ │ │ │ -0000de80: 6564 2062 7920 e280 9873 6b65 7463 68e2 ed by ...sketch. │ │ │ │ │ -0000de90: 8099 2e0a 0a2a 204d 656e 753a 0a0a 2a20 .....* Menu:..* │ │ │ │ │ -0000dea0: 446f 7473 3a3a 2020 2020 2020 2020 2020 Dots:: │ │ │ │ │ -0000deb0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ -0000dec0: 6177 2064 6f74 732e 0a2a 204c 696e 6573 aw dots..* Lines │ │ │ │ │ -0000ded0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -0000dee0: 2020 2020 2020 2020 2044 7261 7720 706f Draw po │ │ │ │ │ -0000def0: 6c79 6c69 6e65 732e 0a2a 2043 7572 7665 lylines..* Curve │ │ │ │ │ -0000df00: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -0000df10: 2020 2020 2020 2020 2044 7261 7720 6375 Draw cu │ │ │ │ │ -0000df20: 7276 6573 2e0a 2a20 506f 6c79 676f 6e73 rves..* Polygons │ │ │ │ │ -0000df30: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ -0000df40: 2020 2020 2020 4472 6177 2070 6f6c 7967 Draw polyg │ │ │ │ │ -0000df50: 6f6e 732e 0a2a 2053 7065 6369 616c 733a ons..* Specials: │ │ │ │ │ -0000df60: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000df70: 2020 2020 2045 6d62 6564 2072 6177 204c Embed raw L │ │ │ │ │ -0000df80: 6154 6558 2061 6e64 20e2 8098 5053 5472 aTeX and ...PSTr │ │ │ │ │ -0000df90: 6963 6b73 e280 992e 0a2a 2053 7765 6570 icks.....* Sweep │ │ │ │ │ -0000dfa0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -0000dfb0: 2020 2020 2020 2020 2044 7261 7720 7377 Draw sw │ │ │ │ │ -0000dfc0: 6565 7073 206f 6620 646f 7473 2061 6e64 eeps of dots and │ │ │ │ │ -0000dfd0: 2070 6f6c 796c 696e 6573 2e0a 2a20 426c polylines..* Bl │ │ │ │ │ -0000dfe0: 6f63 6b73 3a3a 2020 2020 2020 2020 2020 ocks:: │ │ │ │ │ -0000dff0: 2020 2020 2020 2020 2020 2020 4772 6f75 Grou │ │ │ │ │ -0000e000: 7020 6f74 6865 7220 6472 6177 6162 6c65 p other drawable │ │ │ │ │ -0000e010: 732e 0a2a 2052 6570 6561 7473 3a3a 2020 s..* Repeats:: │ │ │ │ │ +0000dad0: 2020 2020 2020 2020 2020 2020 2020 2061 a │ │ │ │ │ +0000dae0: 766f 6964 7320 6d69 7374 616b 6573 2062 voids mistakes b │ │ │ │ │ +0000daf0: 7920 7468 6520 6869 6464 656e 2073 7572 y the hidden sur │ │ │ │ │ +0000db00: 6661 6365 2061 6c67 6f72 6974 686d 2e0a face algorithm.. │ │ │ │ │ +0000db10: 0a33 2e31 2e36 2050 6f69 6e74 206c 6973 .3.1.6 Point lis │ │ │ │ │ +0000db20: 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ts.------------- │ │ │ │ │ +0000db30: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*. │ │ │ │ │ +0000db40: 2020 2020 2028 5831 2c59 312c 5a31 2928 (X1,Y1,Z1)( │ │ │ │ │ +0000db50: 5832 2c59 322c 5a32 292e 2e2e 0a41 2073 X2,Y2,Z2)....A s │ │ │ │ │ +0000db60: 6571 7565 6e63 6520 6f66 206f 6e65 206f equence of one o │ │ │ │ │ +0000db70: 7220 6d6f 7265 2070 6f69 6e74 7320 6d61 r more points ma │ │ │ │ │ +0000db80: 6b65 7320 6120 706f 696e 7420 6c69 7374 kes a point list │ │ │ │ │ +0000db90: 2c20 6120 6665 6174 7572 6520 636f 6d6d , a feature comm │ │ │ │ │ +0000dba0: 6f6e 2074 6f0a 616c 6c20 6472 6177 6162 on to.all drawab │ │ │ │ │ +0000dbb0: 6c65 732e 2020 4561 6368 206f 6620 7468 les. Each of th │ │ │ │ │ +0000dbc0: 6520 706f 696e 7420 636f 6d70 6f6e 656e e point componen │ │ │ │ │ +0000dbd0: 7473 2069 7320 6120 7363 616c 6172 2061 ts is a scalar a │ │ │ │ │ +0000dbe0: 7269 7468 6d65 7469 630a 6578 7072 6573 rithmetic.expres │ │ │ │ │ +0000dbf0: 7369 6f6e 2e20 2041 6e79 2070 6f69 6e74 sion. Any point │ │ │ │ │ +0000dc00: 206d 6179 2068 6176 6520 7468 6520 7a2d may have the z- │ │ │ │ │ +0000dc10: 636f 6d70 6f6e 656e 7420 6f6d 6974 7465 component omitte │ │ │ │ │ +0000dc20: 643b 2069 7420 7769 6c6c 2064 6566 6175 d; it will defau │ │ │ │ │ +0000dc30: 6c74 0a74 6f20 7a3d 302e 0a0a 2a20 4d65 lt.to z=0...* Me │ │ │ │ │ +0000dc40: 6e75 3a0a 0a2a 2044 7261 7761 626c 6573 nu:..* Drawables │ │ │ │ │ +0000dc50: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +0000dc60: 2020 2020 2054 6869 6e67 7320 7468 6174 Things that │ │ │ │ │ +0000dc70: 2061 7265 2064 7261 776e 2e0a 2a20 4465 are drawn..* De │ │ │ │ │ +0000dc80: 6669 6e69 7469 6f6e 733a 3a20 2020 2020 finitions:: │ │ │ │ │ +0000dc90: 2020 2020 2020 2020 2020 2020 5468 696e Thin │ │ │ │ │ +0000dca0: 6773 2077 6974 6820 6e61 6d65 732e 0a0a gs with names... │ │ │ │ │ +0000dcb0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +0000dcc0: 6e66 6f2c 2020 4e6f 6465 3a20 4472 6177 nfo, Node: Draw │ │ │ │ │ +0000dcd0: 6162 6c65 732c 2020 4e65 7874 3a20 4465 ables, Next: De │ │ │ │ │ +0000dce0: 6669 6e69 7469 6f6e 732c 2020 5072 6576 finitions, Prev │ │ │ │ │ +0000dcf0: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic │ │ │ │ │ +0000dd00: 732c 2020 5570 3a20 496e 7075 7420 6c61 s, Up: Input la │ │ │ │ │ +0000dd10: 6e67 7561 6765 0a0a 332e 3220 4472 6177 nguage..3.2 Draw │ │ │ │ │ +0000dd20: 6162 6c65 730a 3d3d 3d3d 3d3d 3d3d 3d3d ables.========== │ │ │ │ │ +0000dd30: 3d3d 3d0a 0a44 7261 7761 626c 6573 2061 ===..Drawables a │ │ │ │ │ +0000dd40: 7265 2073 696d 706c 7920 e280 9873 6b65 re simply ...ske │ │ │ │ │ +0000dd50: 7463 68e2 8099 206f 626a 6563 7473 2074 tch... objects t │ │ │ │ │ +0000dd60: 6861 7420 6d69 6768 7420 6170 7065 6172 hat might appear │ │ │ │ │ +0000dd70: 2069 6e20 7468 6520 6472 6177 696e 672e in the drawing. │ │ │ │ │ +0000dd80: 0a54 6865 7920 696e 636c 7564 6520 646f .They include do │ │ │ │ │ +0000dd90: 7473 2c20 706f 6c79 6c69 6e65 732c 2063 ts, polylines, c │ │ │ │ │ +0000dda0: 7572 7665 732c 2070 6f6c 7967 6f6e 732c urves, polygons, │ │ │ │ │ +0000ddb0: 2061 6e64 206d 6f72 6520 636f 6d70 6c65 and more comple │ │ │ │ │ +0000ddc0: 7820 6f62 6a65 6374 730a 7468 6174 2061 x objects.that a │ │ │ │ │ +0000ddd0: 7265 2062 7569 6c74 2075 7020 6672 6f6d re built up from │ │ │ │ │ +0000dde0: 2073 696d 706c 6572 206f 6e65 7320 696e simpler ones in │ │ │ │ │ +0000ddf0: 2076 6172 696f 7573 2077 6179 732e 2020 various ways. │ │ │ │ │ +0000de00: 4669 6e61 6c6c 792c 20e2 809c 7370 6563 Finally, ...spec │ │ │ │ │ +0000de10: 6961 6ce2 809d 0a6f 626a 6563 7473 2061 ial....objects a │ │ │ │ │ +0000de20: 7265 2074 686f 7365 2063 6f6d 706f 7365 re those compose │ │ │ │ │ +0000de30: 6420 6f66 204c 6154 6558 206f 7220 e280 d of LaTeX or .. │ │ │ │ │ +0000de40: 9850 5354 7269 636b 73e2 8099 2063 6f64 .PSTricks... cod │ │ │ │ │ +0000de50: 652c 2070 6572 6861 7073 0a69 6e63 6c75 e, perhaps.inclu │ │ │ │ │ +0000de60: 6469 6e67 2063 6f6f 7264 696e 6174 6573 ding coordinates │ │ │ │ │ +0000de70: 2061 6e64 2061 6e67 6c65 7320 636f 6d70 and angles comp │ │ │ │ │ +0000de80: 7574 6564 2062 7920 e280 9873 6b65 7463 uted by ...sketc │ │ │ │ │ +0000de90: 68e2 8099 2e0a 0a2a 204d 656e 753a 0a0a h......* Menu:.. │ │ │ │ │ +0000dea0: 2a20 446f 7473 3a3a 2020 2020 2020 2020 * Dots:: │ │ │ │ │ +0000deb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dec0: 4472 6177 2064 6f74 732e 0a2a 204c 696e Draw dots..* Lin │ │ │ │ │ +0000ded0: 6573 3a3a 2020 2020 2020 2020 2020 2020 es:: │ │ │ │ │ +0000dee0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +0000def0: 706f 6c79 6c69 6e65 732e 0a2a 2043 7572 polylines..* Cur │ │ │ │ │ +0000df00: 7665 733a 3a20 2020 2020 2020 2020 2020 ves:: │ │ │ │ │ +0000df10: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +0000df20: 6375 7276 6573 2e0a 2a20 506f 6c79 676f curves..* Polygo │ │ │ │ │ +0000df30: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: │ │ │ │ │ +0000df40: 2020 2020 2020 2020 4472 6177 2070 6f6c Draw pol │ │ │ │ │ +0000df50: 7967 6f6e 732e 0a2a 2053 7065 6369 616c ygons..* Special │ │ │ │ │ +0000df60: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ +0000df70: 2020 2020 2020 2045 6d62 6564 2072 6177 Embed raw │ │ │ │ │ +0000df80: 204c 6154 6558 2061 6e64 20e2 8098 5053 LaTeX and ...PS │ │ │ │ │ +0000df90: 5472 6963 6b73 e280 992e 0a2a 2053 7765 Tricks.....* Swe │ │ │ │ │ +0000dfa0: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: │ │ │ │ │ +0000dfb0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw │ │ │ │ │ +0000dfc0: 7377 6565 7073 206f 6620 646f 7473 2061 sweeps of dots a │ │ │ │ │ +0000dfd0: 6e64 2070 6f6c 796c 696e 6573 2e0a 2a20 nd polylines..* │ │ │ │ │ +0000dfe0: 426c 6f63 6b73 3a3a 2020 2020 2020 2020 Blocks:: │ │ │ │ │ +0000dff0: 2020 2020 2020 2020 2020 2020 2020 4772 Gr │ │ │ │ │ +0000e000: 6f75 7020 6f74 6865 7220 6472 6177 6162 oup other drawab │ │ │ │ │ +0000e010: 6c65 732e 0a2a 2052 6570 6561 7473 3a3a les..* Repeats:: │ │ │ │ │ 0000e020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e030: 2020 2044 7261 7720 7472 616e 7366 6f72 Draw transfor │ │ │ │ │ -0000e040: 6d65 6420 636f 7069 6573 206f 6620 6f62 med copies of ob │ │ │ │ │ -0000e050: 6a65 6374 732e 0a2a 2050 7574 733a 3a20 jects..* Puts:: │ │ │ │ │ -0000e060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e070: 2020 2020 2020 2044 7261 7720 6f6e 6520 Draw one │ │ │ │ │ -0000e080: 6f62 6a65 6374 2074 7261 6e73 666f 726d object transform │ │ │ │ │ -0000e090: 6564 2e0a 0a1f 0a46 696c 653a 2073 6b65 ed.....File: ske │ │ │ │ │ -0000e0a0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -0000e0b0: 2044 6f74 732c 2020 4e65 7874 3a20 4c69 Dots, Next: Li │ │ │ │ │ -0000e0c0: 6e65 732c 2020 5072 6576 3a20 4472 6177 nes, Prev: Draw │ │ │ │ │ -0000e0d0: 6162 6c65 732c 2020 5570 3a20 4472 6177 ables, Up: Draw │ │ │ │ │ -0000e0e0: 6162 6c65 730a 0a33 2e32 2e31 2044 6f74 ables..3.2.1 Dot │ │ │ │ │ -0000e0f0: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 s.----------..*S │ │ │ │ │ -0000e100: 796e 7461 783a 2a0a 2020 2020 2064 6f74 yntax:*. dot │ │ │ │ │ -0000e110: 735b 4f50 5449 4f4e 535d 2050 4f49 4e54 s[OPTIONS] POINT │ │ │ │ │ -0000e120: 5f4c 4953 540a 5468 6973 2063 6f6d 6d61 _LIST.This comma │ │ │ │ │ -0000e130: 6e64 2069 7320 7468 6520 7468 7265 652d nd is the three- │ │ │ │ │ -0000e140: 6469 6d65 6e73 696f 6e61 6c20 6571 7569 dimensional equi │ │ │ │ │ -0000e150: 7661 6c65 6e74 206f 6620 7468 6520 e280 valent of the .. │ │ │ │ │ -0000e160: 9850 5354 7269 636b 73e2 8099 0a63 6f6d .PSTricks....com │ │ │ │ │ -0000e170: 6d61 6e64 20e2 8098 5c70 7364 6f74 73e2 mand ...\psdots. │ │ │ │ │ -0000e180: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske │ │ │ │ │ -0000e190: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ -0000e1a0: 204c 696e 6573 2c20 204e 6578 743a 2043 Lines, Next: C │ │ │ │ │ -0000e1b0: 7572 7665 732c 2020 5072 6576 3a20 446f urves, Prev: Do │ │ │ │ │ -0000e1c0: 7473 2c20 2055 703a 2044 7261 7761 626c ts, Up: Drawabl │ │ │ │ │ -0000e1d0: 6573 0a0a 332e 322e 3220 4c69 6e65 730a es..3.2.2 Lines. │ │ │ │ │ -0000e1e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy │ │ │ │ │ -0000e1f0: 6e74 6178 3a2a 0a20 2020 2020 6c69 6e65 ntax:*. line │ │ │ │ │ -0000e200: 5b4f 5054 494f 4e53 5d20 504f 494e 545f [OPTIONS] POINT_ │ │ │ │ │ -0000e210: 4c49 5354 0a54 6869 7320 636f 6d6d 616e LIST.This comman │ │ │ │ │ -0000e220: 6420 6973 2074 6865 2074 6872 6565 2d64 d is the three-d │ │ │ │ │ -0000e230: 696d 656e 7369 6f6e 616c 2065 7175 6976 imensional equiv │ │ │ │ │ -0000e240: 616c 656e 7420 6f66 2074 6865 20e2 8098 alent of the ... │ │ │ │ │ -0000e250: 5053 5472 6963 6b73 e280 990a 636f 6d6d PSTricks....comm │ │ │ │ │ -0000e260: 616e 6420 e280 985c 7073 6c69 6e65 e280 and ...\psline.. │ │ │ │ │ -0000e270: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket │ │ │ │ │ -0000e280: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -0000e290: 4375 7276 6573 2c20 204e 6578 743a 2050 Curves, Next: P │ │ │ │ │ -0000e2a0: 6f6c 7967 6f6e 732c 2020 5072 6576 3a20 olygons, Prev: │ │ │ │ │ -0000e2b0: 4c69 6e65 732c 2020 5570 3a20 4472 6177 Lines, Up: Draw │ │ │ │ │ -0000e2c0: 6162 6c65 730a 0a33 2e32 2e33 2043 7572 ables..3.2.3 Cur │ │ │ │ │ -0000e2d0: 7665 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ves.------------ │ │ │ │ │ -0000e2e0: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. │ │ │ │ │ -0000e2f0: 2063 7572 7665 5b4f 5054 494f 4e53 5d20 curve[OPTIONS] │ │ │ │ │ -0000e300: 504f 494e 545f 4c49 5354 0a54 6869 7320 POINT_LIST.This │ │ │ │ │ -0000e310: 636f 6d6d 616e 6420 6973 2074 6865 2074 command is the t │ │ │ │ │ -0000e320: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional │ │ │ │ │ -0000e330: 2065 7175 6976 616c 656e 7420 6f66 2074 equivalent of t │ │ │ │ │ -0000e340: 6865 20e2 8098 5053 5472 6963 6b73 e280 he ...PSTricks.. │ │ │ │ │ -0000e350: 990a 636f 6d6d 616e 6420 e280 985c 7073 ..command ...\ps │ │ │ │ │ -0000e360: 6375 7276 65e2 8099 2e20 2049 7420 6973 curve.... It is │ │ │ │ │ -0000e370: 206e 6f74 2069 6d70 6c65 6d65 6e74 6564 not implemented │ │ │ │ │ -0000e380: 2069 6e20 7468 6520 6375 7272 656e 7420 in the current │ │ │ │ │ -0000e390: 7665 7273 696f 6e20 6f66 0ae2 8098 736b version of....sk │ │ │ │ │ -0000e3a0: 6574 6368 e280 992e 0a0a 1f0a 4669 6c65 etch........File │ │ │ │ │ -0000e3b0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -0000e3c0: 4e6f 6465 3a20 506f 6c79 676f 6e73 2c20 Node: Polygons, │ │ │ │ │ -0000e3d0: 204e 6578 743a 2053 7065 6369 616c 732c Next: Specials, │ │ │ │ │ -0000e3e0: 2020 5072 6576 3a20 4375 7276 6573 2c20 Prev: Curves, │ │ │ │ │ -0000e3f0: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables.. │ │ │ │ │ -0000e400: 332e 322e 3420 506f 6c79 676f 6e73 0a2d 3.2.4 Polygons.- │ │ │ │ │ -0000e410: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a -------------..* │ │ │ │ │ -0000e420: 5379 6e74 6178 3a2a 0a20 2020 2020 706f Syntax:*. po │ │ │ │ │ -0000e430: 6c79 676f 6e5b 4f50 5449 4f4e 535d 2050 lygon[OPTIONS] P │ │ │ │ │ -0000e440: 4f49 4e54 5f4c 4953 540a 5468 6973 2063 OINT_LIST.This c │ │ │ │ │ -0000e450: 6f6d 6d61 6e64 2069 7320 7468 6520 7468 ommand is the th │ │ │ │ │ -0000e460: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional │ │ │ │ │ -0000e470: 6571 7569 7661 6c65 6e74 206f 6620 7468 equivalent of th │ │ │ │ │ -0000e480: 6520 e280 9850 5354 7269 636b 73e2 8099 e ...PSTricks... │ │ │ │ │ -0000e490: 0a63 6f6d 6d61 6e64 20e2 8098 5c70 7370 .command ...\psp │ │ │ │ │ -0000e4a0: 6f6c 7967 6f6e e280 992e 2020 5468 6520 olygon.... The │ │ │ │ │ -0000e4b0: e280 9873 6b65 7463 68e2 8099 2068 6964 ...sketch... hid │ │ │ │ │ -0000e4c0: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo │ │ │ │ │ -0000e4d0: 7269 7468 6d20 6173 7375 6d65 730a 7468 rithm assumes.th │ │ │ │ │ -0000e4e0: 6174 2070 6f6c 7967 6f6e 7320 6172 6520 at polygons are │ │ │ │ │ -0000e4f0: 636f 6e76 6578 2061 6e64 2070 6c61 6e61 convex and plana │ │ │ │ │ -0000e500: 722e 2020 496e 2070 7261 6374 6963 652c r. In practice, │ │ │ │ │ -0000e510: 2064 7261 7769 6e67 7320 6d61 7920 7765 drawings may we │ │ │ │ │ -0000e520: 6c6c 0a74 7572 6e20 6f75 7420 636f 7272 ll.turn out corr │ │ │ │ │ -0000e530: 6563 746c 7920 6576 656e 2069 6620 7468 ectly even if th │ │ │ │ │ -0000e540: 6573 6520 6173 7375 6d70 7469 6f6e 7320 ese assumptions │ │ │ │ │ -0000e550: 6172 6520 7669 6f6c 6174 6564 2e0a 0a1f are violated.... │ │ │ │ │ -0000e560: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -0000e570: 666f 2c20 204e 6f64 653a 2053 7065 6369 fo, Node: Speci │ │ │ │ │ -0000e580: 616c 732c 2020 4e65 7874 3a20 5377 6565 als, Next: Swee │ │ │ │ │ -0000e590: 7073 2c20 2050 7265 763a 2050 6f6c 7967 ps, Prev: Polyg │ │ │ │ │ -0000e5a0: 6f6e 732c 2020 5570 3a20 4472 6177 6162 ons, Up: Drawab │ │ │ │ │ -0000e5b0: 6c65 730a 0a33 2e32 2e35 2053 7065 6369 les..3.2.5 Speci │ │ │ │ │ -0000e5c0: 616c 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d als.------------ │ │ │ │ │ -0000e5d0: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. │ │ │ │ │ -0000e5e0: 2020 2073 7065 6369 616c 2024 5241 575f special $RAW_ │ │ │ │ │ -0000e5f0: 5445 5854 245b 4f50 5449 4f4e 535d 2041 TEXT$[OPTIONS] A │ │ │ │ │ -0000e600: 5247 5f4c 4953 540a 4865 7265 20e2 8098 RG_LIST.Here ... │ │ │ │ │ -0000e610: 24e2 8099 2063 616e 2062 6520 616e 7920 $... can be any │ │ │ │ │ -0000e620: 6368 6172 6163 7465 7220 616e 6420 6973 character and is │ │ │ │ │ -0000e630: 2075 7365 6420 746f 2064 656c 696d 6974 used to delimit │ │ │ │ │ -0000e640: 2074 6865 2073 7461 7274 2061 6e64 2065 the start and e │ │ │ │ │ -0000e650: 6e64 0a6f 6620 5241 575f 5445 5854 2e20 nd.of RAW_TEXT. │ │ │ │ │ -0000e660: 2054 6865 2063 6f6d 6d61 6e64 2065 6d62 The command emb │ │ │ │ │ -0000e670: 6564 7320 5241 575f 5445 5854 2069 6e20 eds RAW_TEXT in │ │ │ │ │ -0000e680: 7468 6520 e280 9873 6b65 7463 68e2 8099 the ...sketch... │ │ │ │ │ -0000e690: 206f 7574 7075 7420 6166 7465 720a 7065 output after.pe │ │ │ │ │ -0000e6a0: 7266 6f72 6d69 6e67 2073 7562 7374 6974 rforming substit │ │ │ │ │ -0000e6b0: 7574 696f 6e73 2061 7320 666f 6c6c 6f77 utions as follow │ │ │ │ │ -0000e6c0: 732e 0a20 2020 e280 a220 e280 9823 49e2 s.. ... ...#I. │ │ │ │ │ -0000e6d0: 8099 2077 6865 7265 2049 2069 7320 6120 .. where I is a │ │ │ │ │ -0000e6e0: 706f 7369 7469 7665 2069 6e74 6567 6572 positive integer │ │ │ │ │ -0000e6f0: 2069 7320 7265 706c 6163 6564 2062 7920 is replaced by │ │ │ │ │ -0000e700: 7468 6520 4927 7468 2076 616c 7565 2069 the I'th value i │ │ │ │ │ -0000e710: 6e0a 2020 2020 2041 5247 5f4c 4953 542e n. ARG_LIST. │ │ │ │ │ -0000e720: 2020 506f 696e 7420 616e 6420 7665 6374 Point and vect │ │ │ │ │ -0000e730: 6f72 2061 7267 756d 656e 7473 2062 6563 or arguments bec │ │ │ │ │ -0000e740: 6f6d 6520 7477 6f2d 6469 6d65 6e73 696f ome two-dimensio │ │ │ │ │ -0000e750: 6e61 6c0a 2020 2020 2070 6f69 6e74 732c nal. points, │ │ │ │ │ -0000e760: 2077 6869 6368 2061 7265 2074 6865 2074 which are the t │ │ │ │ │ -0000e770: 7261 6e73 666f 726d 6564 2033 6420 6172 ransformed 3d ar │ │ │ │ │ -0000e780: 6775 6d65 6e74 7320 7072 6f6a 6563 7465 guments projecte │ │ │ │ │ -0000e790: 6420 6f6e 746f 2074 6865 0a20 2020 2020 d onto the. │ │ │ │ │ -0000e7a0: 582d 5920 706c 616e 652e 2020 5468 6973 X-Y plane. This │ │ │ │ │ -0000e7b0: 2061 6c6c 6f77 7320 7477 6f2d 6469 6d65 allows two-dime │ │ │ │ │ -0000e7c0: 6e74 696f 6e61 6c20 6f75 7470 7574 2065 ntional output e │ │ │ │ │ -0000e7d0: 6c65 6d65 6e74 7320 7375 6368 2061 730a lements such as. │ │ │ │ │ -0000e7e0: 2020 2020 206c 6162 656c 7320 746f 2062 labels to b │ │ │ │ │ -0000e7f0: 6520 6561 7369 6c79 2070 6f73 6974 696f e easily positio │ │ │ │ │ -0000e800: 6e65 6420 7769 7468 2072 6573 7065 6374 ned with respect │ │ │ │ │ -0000e810: 2074 6f20 7468 7265 652d 6469 6d65 6e73 to three-dimens │ │ │ │ │ -0000e820: 696f 6e61 6c0a 2020 2020 2066 6561 7475 ional. featu │ │ │ │ │ -0000e830: 7265 7320 696e 2074 6865 2064 7261 7769 res in the drawi │ │ │ │ │ -0000e840: 6e67 2e20 2053 6361 6c61 7220 6172 6775 ng. Scalar argu │ │ │ │ │ -0000e850: 6d65 6e74 7320 6172 6520 7375 6273 6974 ments are subsit │ │ │ │ │ -0000e860: 7574 6564 2064 6972 6563 746c 792e 0a20 uted directly.. │ │ │ │ │ -0000e870: 2020 2020 4e6f 2074 7261 6e73 666f 726d No transform │ │ │ │ │ -0000e880: 6174 696f 6e20 6973 2061 7070 6c69 6564 ation is applied │ │ │ │ │ -0000e890: 2e0a 2020 20e2 80a2 20e2 8098 237b 497d .. ... ...#{I} │ │ │ │ │ -0000e8a0: e280 9920 6973 2061 6c73 6f20 7265 706c ... is also repl │ │ │ │ │ -0000e8b0: 6163 6564 2061 7320 6162 6f76 652e 0a20 aced as above.. │ │ │ │ │ -0000e8c0: 2020 e280 a220 e280 9823 4927 32e2 8099 ... ...#I'2... │ │ │ │ │ -0000e8d0: 2069 7320 7265 706c 6163 6564 2061 7320 is replaced as │ │ │ │ │ -0000e8e0: 6162 6f76 6520 666f 7220 706f 696e 7473 above for points │ │ │ │ │ -0000e8f0: 206f 7220 7665 6374 6f72 732e 2020 4974 or vectors. It │ │ │ │ │ -0000e900: 2069 7320 616e 2065 7272 6f72 0a20 2020 is an error. │ │ │ │ │ -0000e910: 2020 666f 7220 7468 6520 4927 7468 2061 for the I'th a │ │ │ │ │ -0000e920: 7267 756d 656e 7420 746f 2062 6520 6120 rgument to be a │ │ │ │ │ -0000e930: 7363 616c 6172 2e0a 2020 20e2 80a2 20e2 scalar.. ... . │ │ │ │ │ -0000e940: 8098 2349 2778 e280 992c 20e2 8098 2349 ..#I'x..., ...#I │ │ │ │ │ -0000e950: 2779 e280 992c 206f 7220 e280 9823 4927 'y..., or ...#I' │ │ │ │ │ -0000e960: 7ae2 8099 2069 7320 7265 706c 6163 6564 z... is replaced │ │ │ │ │ -0000e970: 2c20 7265 7370 6563 7469 7665 6c79 2c20 , respectively, │ │ │ │ │ -0000e980: 6279 2074 6865 2073 6361 6c61 720a 2020 by the scalar. │ │ │ │ │ -0000e990: 2020 2058 2c20 592c 206f 7220 5a2d 636f X, Y, or Z-co │ │ │ │ │ -0000e9a0: 6f72 6469 6e61 7465 206f 6620 7468 6520 ordinate of the │ │ │ │ │ -0000e9b0: 6172 6775 6d65 6e74 2070 6f69 6e74 206f argument point o │ │ │ │ │ -0000e9c0: 7220 7665 6374 6f72 2e20 2049 7420 6973 r vector. It is │ │ │ │ │ -0000e9d0: 2061 6e0a 2020 2020 2065 7272 6f72 2066 an. error f │ │ │ │ │ -0000e9e0: 6f72 2074 6865 2049 2774 6820 6172 6775 or the I'th argu │ │ │ │ │ -0000e9f0: 6d65 6e74 2074 6f20 6265 2061 2073 6361 ment to be a sca │ │ │ │ │ -0000ea00: 6c61 722e 0a20 2020 e280 a220 e280 9823 lar.. ... ...# │ │ │ │ │ -0000ea10: 4927 33e2 8099 2069 7320 7265 706c 6163 I'3... is replac │ │ │ │ │ -0000ea20: 6564 2062 7920 7468 6520 7468 7265 652d ed by the three- │ │ │ │ │ -0000ea30: 6469 6d65 6e73 696f 6e61 6c20 7472 616e dimensional tran │ │ │ │ │ -0000ea40: 7366 6f72 6d65 6420 6172 6775 6d65 6e74 sformed argument │ │ │ │ │ -0000ea50: 2e0a 2020 2020 204e 6f74 6520 7468 6174 .. Note that │ │ │ │ │ -0000ea60: 2069 6620 6120 7065 7273 7065 6374 6976 if a perspectiv │ │ │ │ │ -0000ea70: 6520 7472 616e 7366 6f72 6d61 7469 6f6e e transformation │ │ │ │ │ -0000ea80: 2068 6173 2062 6565 6e20 6170 706c 6965 has been applie │ │ │ │ │ -0000ea90: 642c 2074 6865 0a20 2020 2020 5a2d 636f d, the. Z-co │ │ │ │ │ -0000eaa0: 6f72 6469 6e61 7465 2068 6173 206c 6974 ordinate has lit │ │ │ │ │ -0000eab0: 746c 6520 6765 6f6d 6574 7269 6320 7369 tle geometric si │ │ │ │ │ -0000eac0: 676e 6966 6963 616e 6365 2c20 7468 6f75 gnificance, thou │ │ │ │ │ -0000ead0: 6768 2069 740a 2020 2020 2061 6363 7572 gh it. accur │ │ │ │ │ -0000eae0: 6174 656c 7920 696e 6469 6361 7465 7320 ately indicates │ │ │ │ │ -0000eaf0: 7265 6c61 7469 7665 2064 6570 7468 2e0a relative depth.. │ │ │ │ │ -0000eb00: 2020 20e2 80a2 20e2 8098 2349 2d4a e280 ... ...#I-J.. │ │ │ │ │ -0000eb10: 9920 7768 6572 6520 4920 616e 6420 4a20 . where I and J │ │ │ │ │ -0000eb20: 6172 6520 706f 7369 7469 7665 2069 6e74 are positive int │ │ │ │ │ -0000eb30: 6567 6572 7320 6973 2072 6570 6c61 6365 egers is replace │ │ │ │ │ -0000eb40: 6420 6279 2061 2073 7472 696e 670a 2020 d by a string. │ │ │ │ │ -0000eb50: 2020 20e2 8098 7b41 4e47 4c45 7de2 8099 ...{ANGLE}... │ │ │ │ │ -0000eb60: 2077 6865 7265 2041 4e47 4c45 2069 7320 where ANGLE is │ │ │ │ │ -0000eb70: 7468 6520 706f 6c61 7220 616e 676c 6520 the polar angle │ │ │ │ │ -0000eb80: 6f66 2061 2076 6563 746f 7220 6672 6f6d of a vector from │ │ │ │ │ -0000eb90: 2074 6865 2049 2774 680a 2020 2020 2070 the I'th. p │ │ │ │ │ -0000eba0: 6f69 6e74 2069 6e20 504f 494e 545f 4c49 oint in POINT_LI │ │ │ │ │ -0000ebb0: 5354 2074 6f20 7468 6520 4a27 7468 2070 ST to the J'th p │ │ │ │ │ -0000ebc0: 6f69 6e74 2070 726f 6a65 6374 6564 2069 oint projected i │ │ │ │ │ -0000ebd0: 6e74 6f20 7468 6520 782d 7920 706c 616e nto the x-y plan │ │ │ │ │ -0000ebe0: 652e 0a20 2020 2020 4974 2069 7320 616e e.. It is an │ │ │ │ │ -0000ebf0: 2065 7272 6f72 2066 6f72 2074 6865 2049 error for the I │ │ │ │ │ -0000ec00: 2774 6820 6f72 204a 2774 6820 6172 6775 'th or J'th argu │ │ │ │ │ -0000ec10: 6d65 6e74 2074 6f20 6265 2061 2073 6361 ment to be a sca │ │ │ │ │ -0000ec20: 6c61 7220 6f72 2061 0a20 2020 2020 7665 lar or a. ve │ │ │ │ │ -0000ec30: 6374 6f72 2e0a 2020 20e2 80a2 20e2 8098 ctor.. ... ... │ │ │ │ │ -0000ec40: 237b 492d 4a7d e280 9920 6973 2061 6c73 #{I-J}... is als │ │ │ │ │ -0000ec50: 6f20 7265 706c 6163 6564 2061 7320 6162 o replaced as ab │ │ │ │ │ -0000ec60: 6f76 652e 0a20 2020 e280 a220 e280 9823 ove.. ... ...# │ │ │ │ │ -0000ec70: 23e2 8099 2069 7320 7265 706c 6163 6564 #... is replaced │ │ │ │ │ -0000ec80: 2077 6974 6820 e280 9823 e280 992e 0a54 with ...#.....T │ │ │ │ │ -0000ec90: 6865 2066 6f72 6d73 2077 6974 6820 6272 he forms with br │ │ │ │ │ -0000eca0: 6163 6573 20e2 8098 7b20 7de2 8099 2061 aces ...{ }... a │ │ │ │ │ -0000ecb0: 7265 2075 7365 6675 6c20 7768 656e 2074 re useful when t │ │ │ │ │ -0000ecc0: 6865 2061 7267 756d 656e 7420 6973 2069 he argument is i │ │ │ │ │ -0000ecd0: 6d6d 6564 6961 7465 6c79 0a66 6f6c 6c6f mmediately.follo │ │ │ │ │ -0000ece0: 7765 6420 6279 2061 2064 6967 6974 206f wed by a digit o │ │ │ │ │ -0000ecf0: 7220 6120 7469 636b 2063 6861 7261 6374 r a tick charact │ │ │ │ │ -0000ed00: 6572 2074 6861 7420 6973 2070 6172 7420 er that is part │ │ │ │ │ -0000ed10: 6f66 2074 6865 2054 6558 2063 6f64 652e of the TeX code. │ │ │ │ │ -0000ed20: 0a0a 2020 2054 6865 206f 6e6c 7920 7573 .. The only us │ │ │ │ │ -0000ed30: 6566 756c 206f 7074 696f 6e20 6f66 20e2 eful option of . │ │ │ │ │ -0000ed40: 8098 7370 6563 6961 6ce2 8099 2069 7320 ..special... is │ │ │ │ │ -0000ed50: e280 986c 6179 e280 992c 2077 6869 6368 ...lay..., which │ │ │ │ │ -0000ed60: 2064 6574 6572 6d69 6e65 7320 6966 2074 determines if t │ │ │ │ │ -0000ed70: 6865 0a73 7562 7374 6974 7565 6420 7261 he.substitued ra │ │ │ │ │ -0000ed80: 7720 7465 7874 2069 7320 656d 6974 7465 w text is emitte │ │ │ │ │ -0000ed90: 6420 6265 666f 7265 2c20 6166 7465 722c d before, after, │ │ │ │ │ -0000eda0: 206f 7220 7573 696e 6720 7468 6520 6669 or using the fi │ │ │ │ │ -0000edb0: 7273 7420 706f 696e 740a 696e 2050 4f49 rst point.in POI │ │ │ │ │ -0000edc0: 4e54 5f4c 4953 5420 6173 2061 6e20 696e NT_LIST as an in │ │ │ │ │ -0000edd0: 6469 6361 746f 7220 6f66 2064 6570 7468 dicator of depth │ │ │ │ │ -0000ede0: 2e20 2054 6865 7365 206f 6363 7572 2c20 . These occur, │ │ │ │ │ -0000edf0: 7265 7370 6563 7469 7665 6c79 2c20 7769 respectively, wi │ │ │ │ │ -0000ee00: 7468 0ae2 8098 6c61 793d 756e 6465 72e2 th....lay=under. │ │ │ │ │ -0000ee10: 8099 2c20 e280 986c 6179 3d6f 7665 72e2 .., ...lay=over. │ │ │ │ │ -0000ee20: 8099 2c20 616e 6420 e280 986c 6179 3d69 .., and ...lay=i │ │ │ │ │ -0000ee30: 6ee2 8099 2e20 2053 6565 202a 6e6f 7465 n.... See *note │ │ │ │ │ -0000ee40: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ -0000ee50: 3a3a 2061 6e64 0a2a 6e6f 7465 2054 696b :: and.*note Tik │ │ │ │ │ -0000ee60: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin │ │ │ │ │ -0000ee70: 6564 2073 7479 6c65 733a 3a20 666f 7220 ed styles:: for │ │ │ │ │ -0000ee80: 6578 616d 706c 6573 2e20 202a 4e6f 7465 examples. *Note │ │ │ │ │ -0000ee90: 2049 6e74 6572 6e61 6c0a 6f70 7469 6f6e Internal.option │ │ │ │ │ -0000eea0: 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 736b s::.....File: sk │ │ │ │ │ -0000eeb0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -0000eec0: 3a20 5377 6565 7073 2c20 204e 6578 743a : Sweeps, Next: │ │ │ │ │ -0000eed0: 2042 6c6f 636b 732c 2020 5072 6576 3a20 Blocks, Prev: │ │ │ │ │ -0000eee0: 5370 6563 6961 6c73 2c20 2055 703a 2044 Specials, Up: D │ │ │ │ │ -0000eef0: 7261 7761 626c 6573 0a0a 332e 322e 3620 rawables..3.2.6 │ │ │ │ │ -0000ef00: 5377 6565 7073 0a2d 2d2d 2d2d 2d2d 2d2d Sweeps.--------- │ │ │ │ │ -0000ef10: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. │ │ │ │ │ -0000ef20: 2020 2020 7377 6565 7020 7b20 4e2c 2054 sweep { N, T │ │ │ │ │ -0000ef30: 5f31 2c20 545f 322c 202e 2e2e 2c20 545f _1, T_2, ..., T_ │ │ │ │ │ -0000ef40: 5220 7d5b 4f50 5449 4f4e 535d 2053 5745 R }[OPTIONS] SWE │ │ │ │ │ -0000ef50: 5054 5f4f 424a 4543 540a 2020 2020 2073 PT_OBJECT. s │ │ │ │ │ -0000ef60: 7765 6570 207b 204e 3c3e 2c20 545f 312c weep { N<>, T_1, │ │ │ │ │ -0000ef70: 2054 5f32 2c20 2e2e 2e2c 2054 5f52 207d T_2, ..., T_R } │ │ │ │ │ -0000ef80: 5b4f 5054 494f 4e53 5d20 5357 4550 545f [OPTIONS] SWEPT_ │ │ │ │ │ -0000ef90: 4f42 4a45 4354 0a54 6865 2073 7765 6570 OBJECT.The sweep │ │ │ │ │ -0000efa0: 2063 6f6e 6e65 6374 7320 4e20 286f 7220 connects N (or │ │ │ │ │ -0000efb0: 7065 7268 6170 7320 4e2b 3129 2063 6f70 perhaps N+1) cop │ │ │ │ │ -0000efc0: 6965 7320 6f66 2053 5745 5054 5f4f 424a ies of SWEPT_OBJ │ │ │ │ │ -0000efd0: 4543 5420 696e 206f 7264 6572 2074 6f0a ECT in order to. │ │ │ │ │ -0000efe0: 6372 6561 7465 2061 206e 6577 206f 626a create a new obj │ │ │ │ │ -0000eff0: 6563 7420 6f66 2068 6967 6865 7220 6469 ect of higher di │ │ │ │ │ -0000f000: 6d65 6e73 696f 6e2e 2020 5468 6520 545f mension. The T_ │ │ │ │ │ -0000f010: 4920 2866 6f72 2069 2062 6574 7765 656e I (for i between │ │ │ │ │ -0000f020: 2031 2061 6e64 0a72 2920 6172 6520 7472 1 and.r) are tr │ │ │ │ │ -0000f030: 616e 7366 6f72 6d73 2e20 2054 6865 206b ansforms. The k │ │ │ │ │ -0000f040: 2774 6820 636f 7079 206f 6620 5357 4550 'th copy of SWEP │ │ │ │ │ -0000f050: 545f 4f42 4a45 4354 2069 7320 7072 6f64 T_OBJECT is prod │ │ │ │ │ -0000f060: 7563 6564 2062 790a 6170 706c 7969 6e67 uced by.applying │ │ │ │ │ -0000f070: 2074 6865 2066 6f6c 6c6f 7769 6e67 2074 the following t │ │ │ │ │ -0000f080: 7261 6e73 666f 726d 2074 6f20 7468 6520 ransform to the │ │ │ │ │ -0000f090: 6f72 6967 696e 616c 2e0a 2020 2020 2054 original.. T │ │ │ │ │ -0000f0a0: 5f31 5e6b 2074 6865 6e20 545f 325e 6b20 _1^k then T_2^k │ │ │ │ │ -0000f0b0: 7468 656e 202e 2e2e 2074 6865 6e20 545f then ... then T_ │ │ │ │ │ -0000f0c0: 525e 6b0a 4865 7265 2054 5e6b 206d 6561 R^k.Here T^k mea │ │ │ │ │ -0000f0d0: 6e73 2022 7472 616e 7366 6f72 6d20 5420 ns "transform T │ │ │ │ │ -0000f0e0: 6170 706c 6965 6420 6b20 7469 6d65 732e applied k times. │ │ │ │ │ -0000f0f0: 2220 2054 6865 206f 7269 6769 6e61 6c20 " The original │ │ │ │ │ -0000f100: 6f62 6a65 6374 2069 730a 7468 6520 7a65 object is.the ze │ │ │ │ │ -0000f110: 726f 2774 6820 636f 7079 2c20 7769 7468 ro'th copy, with │ │ │ │ │ -0000f120: 206b 3d30 2061 6e64 2065 6666 6563 7469 k=0 and effecti │ │ │ │ │ -0000f130: 7665 6c79 206e 6f20 7472 616e 7366 6f72 vely no transfor │ │ │ │ │ -0000f140: 6d20 6170 706c 6965 6420 2854 5e30 3d49 m applied (T^0=I │ │ │ │ │ -0000f150: 2c0a 7468 6520 6964 656e 7469 7479 2074 ,.the identity t │ │ │ │ │ -0000f160: 7261 6e73 666f 726d 292e 0a0a 2020 2054 ransform)... T │ │ │ │ │ -0000f170: 6865 206d 6574 686f 6420 6f66 2063 6f6e he method of con │ │ │ │ │ -0000f180: 6e65 6374 696e 6720 7468 6520 636f 7069 necting the copi │ │ │ │ │ -0000f190: 6573 2064 6570 656e 6473 206f 6e20 7468 es depends on th │ │ │ │ │ -0000f1a0: 6520 7479 7065 206f 660a 5357 4550 545f e type of.SWEPT_ │ │ │ │ │ -0000f1b0: 4f42 4a45 4354 2061 6e64 206f 6e20 7768 OBJECT and on wh │ │ │ │ │ -0000f1c0: 6574 6865 7220 7468 6520 636c 6f73 7572 ether the closur │ │ │ │ │ -0000f1d0: 6520 7461 6720 e280 983c 3ee2 8099 2069 e tag ...<>... i │ │ │ │ │ -0000f1e0: 7320 7072 6573 656e 7420 6f72 206e 6f74 s present or not │ │ │ │ │ -0000f1f0: 2e0a 0a20 2020 416e 2065 7861 6d70 6c65 ... An example │ │ │ │ │ -0000f200: 206f 6620 6120 7377 6565 7020 7768 6572 of a sweep wher │ │ │ │ │ -0000f210: 6520 723d 3220 6973 2074 6865 204d 6f62 e r=2 is the Mob │ │ │ │ │ -0000f220: 6975 7320 6669 6775 7265 2061 7420 2a6e ius figure at *n │ │ │ │ │ -0000f230: 6f74 6520 4d6f 7265 2074 6f0a 6c65 6172 ote More to.lear │ │ │ │ │ -0000f240: 6e3a 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a n::...* Menu:..* │ │ │ │ │ -0000f250: 2053 7765 7074 2070 6f69 6e74 733a 3a20 Swept points:: │ │ │ │ │ -0000f260: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0000f270: 7765 7074 2070 6f69 6e74 7320 6d61 6b65 wept points make │ │ │ │ │ -0000f280: 206c 696e 6573 206f 7220 706f 6c79 676f lines or polygo │ │ │ │ │ -0000f290: 6e73 2e0a 2a20 5377 6570 7420 6c69 6e65 ns..* Swept line │ │ │ │ │ -0000f2a0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -0000f2b0: 2020 2020 5377 6570 7420 6c69 6e65 7320 Swept lines │ │ │ │ │ -0000f2c0: 6d61 6b65 206f 7065 6e20 6f72 2063 6c6f make open or clo │ │ │ │ │ -0000f2d0: 7365 6420 7375 7266 6163 6573 2e0a 2a20 sed surfaces..* │ │ │ │ │ -0000f2e0: 5377 6570 7420 706f 6c79 676f 6e73 3a3a Swept polygons:: │ │ │ │ │ -0000f2f0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -0000f300: 6570 7420 706f 6c79 676f 6e73 206d 616b ept polygons mak │ │ │ │ │ -0000f310: 6520 636c 6f73 6564 2073 7572 6661 6365 e closed surface │ │ │ │ │ -0000f320: 732e 0a2a 2053 7765 7074 2062 6c6f 636b s..* Swept block │ │ │ │ │ -0000f330: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: │ │ │ │ │ -0000f340: 2020 2053 7765 7074 2062 6c6f 636b 20e2 Swept block . │ │ │ │ │ -0000f350: 89a1 2062 6c6f 636b 206f 6620 7377 6565 .. block of swee │ │ │ │ │ -0000f360: 7073 2e0a 2a20 5377 6565 7020 6661 6365 ps..* Sweep face │ │ │ │ │ -0000f370: 2073 706c 6974 7469 6e67 3a3a 2020 2020 splitting:: │ │ │ │ │ -0000f380: 2020 2020 4669 7869 6e67 2077 6172 7065 Fixing warpe │ │ │ │ │ -0000f390: 6420 6661 6365 7320 7769 7468 2074 7269 d faces with tri │ │ │ │ │ -0000f3a0: 616e 676c 6573 2e0a 0a1f 0a46 696c 653a angles.....File: │ │ │ │ │ -0000f3b0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -0000f3c0: 6f64 653a 2053 7765 7074 2070 6f69 6e74 ode: Swept point │ │ │ │ │ -0000f3d0: 732c 2020 4e65 7874 3a20 5377 6570 7420 s, Next: Swept │ │ │ │ │ -0000f3e0: 6c69 6e65 732c 2020 5072 6576 3a20 5377 lines, Prev: Sw │ │ │ │ │ -0000f3f0: 6565 7073 2c20 2055 703a 2053 7765 6570 eeps, Up: Sweep │ │ │ │ │ -0000f400: 730a 0a33 2e32 2e36 2e31 2053 7765 7074 s..3.2.6.1 Swept │ │ │ │ │ -0000f410: 2070 6f69 6e74 730a 2e2e 2e2e 2e2e 2e2e points......... │ │ │ │ │ -0000f420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4966 ..............If │ │ │ │ │ -0000f430: 2053 5745 5054 5f4f 424a 4543 5420 6973 SWEPT_OBJECT is │ │ │ │ │ -0000f440: 2061 2070 6f69 6e74 206c 6973 7420 616e a point list an │ │ │ │ │ -0000f450: 6420 7468 6572 6520 6973 206e 6f20 636c d there is no cl │ │ │ │ │ -0000f460: 6f73 7572 6520 7461 672c 2074 6865 6e0a osure tag, then. │ │ │ │ │ -0000f470: e280 9873 7765 6570 e280 9920 636f 6e6e ...sweep... conn │ │ │ │ │ -0000f480: 6563 7473 204e 2b31 2073 7563 6365 7373 ects N+1 success │ │ │ │ │ -0000f490: 6976 6520 636f 7069 6573 206f 6620 6561 ive copies of ea │ │ │ │ │ -0000f4a0: 6368 2070 6f69 6e74 2028 696e 636c 7564 ch point (includ │ │ │ │ │ -0000f4b0: 696e 6720 7468 650a 6f72 6967 696e 616c ing the.original │ │ │ │ │ -0000f4c0: 2920 7769 7468 2073 7472 6169 6768 7420 ) with straight │ │ │ │ │ -0000f4d0: 6c69 6e65 2073 6567 6d65 6e74 7320 746f line segments to │ │ │ │ │ -0000f4e0: 2066 6f72 6d20 6120 706f 6c79 6c69 6e65 form a polyline │ │ │ │ │ -0000f4f0: 2e20 2049 6620 7468 6572 6520 6172 650a . If there are. │ │ │ │ │ -0000f500: 6d20 706f 696e 7473 2069 6e20 7468 6520 m points in the │ │ │ │ │ -0000f510: 6f72 6967 696e 616c 2070 6f69 6e74 206c original point l │ │ │ │ │ -0000f520: 6973 742c 2074 6865 6e20 6d20 706f 6c79 ist, then m poly │ │ │ │ │ -0000f530: 6c69 6e65 7320 7769 7468 204e 2073 6567 lines with N seg │ │ │ │ │ -0000f540: 6d65 6e74 730a 6561 6368 2061 7265 2066 ments.each are f │ │ │ │ │ -0000f550: 6f72 6d65 6420 6279 2074 6865 2073 7765 ormed by the swe │ │ │ │ │ -0000f560: 6570 2e20 2049 6e20 7468 6973 206d 616e ep. In this man │ │ │ │ │ -0000f570: 6e65 722c 20e2 8098 7377 6565 70e2 8099 ner, ...sweep... │ │ │ │ │ -0000f580: 2066 6f72 6d73 2061 2073 6574 206f 660a forms a set of. │ │ │ │ │ -0000f590: 6f6e 652d 6469 6d65 6e73 696f 6e61 6c20 one-dimensional │ │ │ │ │ -0000f5a0: 6f62 6a65 6374 7320 2870 6f6c 796c 696e objects (polylin │ │ │ │ │ -0000f5b0: 6573 2920 6672 6f6d 207a 6572 6f2d 6469 es) from zero-di │ │ │ │ │ -0000f5c0: 6d65 6e73 696f 6e61 6c20 6f6e 6573 2028 mensional ones ( │ │ │ │ │ -0000f5d0: 706f 696e 7473 292e 0a0a 2020 2057 6865 points)... Whe │ │ │ │ │ -0000f5e0: 6e20 7468 6572 6520 5f69 735f 2061 2063 n there _is_ a c │ │ │ │ │ -0000f5f0: 6c6f 7375 7265 2074 6167 2c20 e280 9873 losure tag, ...s │ │ │ │ │ -0000f600: 7765 6570 e280 9920 636f 6e6e 6563 7473 weep... connects │ │ │ │ │ -0000f610: 204e 2073 7563 6365 7373 6976 6520 636f N successive co │ │ │ │ │ -0000f620: 7069 6573 0a6f 6620 6561 6368 2070 6f69 pies.of each poi │ │ │ │ │ -0000f630: 6e74 2028 696e 636c 7564 696e 6720 7468 nt (including th │ │ │ │ │ -0000f640: 6520 6f72 6967 696e 616c 2920 7769 7468 e original) with │ │ │ │ │ -0000f650: 2073 7472 6169 6768 7420 6c69 6e65 2073 straight line s │ │ │ │ │ -0000f660: 6567 6d65 6e74 7320 616e 640a 6669 6e61 egments and.fina │ │ │ │ │ -0000f670: 6c6c 7920 636f 6e6e 6563 7473 2074 6865 lly connects the │ │ │ │ │ -0000f680: 206c 6173 7420 636f 7079 2062 6163 6b20 last copy back │ │ │ │ │ -0000f690: 746f 2074 6865 206f 7269 6769 6e61 6c20 to the original │ │ │ │ │ -0000f6a0: 746f 2066 6f72 6d20 6120 706f 6c79 676f to form a polygo │ │ │ │ │ -0000f6b0: 6e0a 7769 7468 204e 2073 6964 6573 2e20 n.with N sides. │ │ │ │ │ -0000f6c0: 2049 6620 7468 6572 6520 6172 6520 6d20 If there are m │ │ │ │ │ -0000f6d0: 706f 696e 7473 2069 6e20 7468 6520 6f72 points in the or │ │ │ │ │ -0000f6e0: 6967 696e 616c 2070 6f69 6e74 206c 6973 iginal point lis │ │ │ │ │ -0000f6f0: 742c 2074 6865 6e20 6d0a 706f 6c79 676f t, then m.polygo │ │ │ │ │ -0000f700: 6e73 2077 6974 6820 4e20 7369 6465 7320 ns with N sides │ │ │ │ │ -0000f710: 6561 6368 2061 7265 2066 6f72 6d65 6420 each are formed │ │ │ │ │ -0000f720: 6279 2074 6865 2073 7765 6570 2e20 2049 by the sweep. I │ │ │ │ │ -0000f730: 6e20 7468 6973 206d 616e 6e65 722c 0ae2 n this manner,.. │ │ │ │ │ -0000f740: 8098 7377 6565 70e2 8099 2066 6f72 6d73 ..sweep... forms │ │ │ │ │ -0000f750: 2061 2073 6574 206f 6620 7477 6f2d 6469 a set of two-di │ │ │ │ │ -0000f760: 6d65 6e73 696f 6e61 6c20 6f62 6a65 6374 mensional object │ │ │ │ │ -0000f770: 7320 2870 6f6c 7967 6f6e 7329 2066 726f s (polygons) fro │ │ │ │ │ -0000f780: 6d0a 7a65 726f 2d64 696d 656e 7369 6f6e m.zero-dimension │ │ │ │ │ -0000f790: 616c 206f 6e65 7320 2870 6f69 6e74 7329 al ones (points) │ │ │ │ │ -0000f7a0: 2e0a 0a20 2020 4f70 7469 6f6e 7320 6f66 ... Options of │ │ │ │ │ -0000f7b0: 2074 6865 20e2 8098 7377 6565 70e2 8099 the ...sweep... │ │ │ │ │ -0000f7c0: 2061 7265 2063 6f70 6965 6420 6469 7265 are copied dire │ │ │ │ │ -0000f7d0: 6374 6c79 2074 6f20 7468 6520 7265 7375 ctly to the resu │ │ │ │ │ -0000f7e0: 6c74 696e 670a 706f 6c79 6c69 6e65 2873 lting.polyline(s │ │ │ │ │ -0000f7f0: 292e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ).....File: sket │ │ │ │ │ -0000f800: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -0000f810: 5377 6570 7420 6c69 6e65 732c 2020 4e65 Swept lines, Ne │ │ │ │ │ -0000f820: 7874 3a20 5377 6570 7420 706f 6c79 676f xt: Swept polygo │ │ │ │ │ -0000f830: 6e73 2c20 2050 7265 763a 2053 7765 7074 ns, Prev: Swept │ │ │ │ │ -0000f840: 2070 6f69 6e74 732c 2020 5570 3a20 5377 points, Up: Sw │ │ │ │ │ -0000f850: 6565 7073 0a0a 332e 322e 362e 3220 5377 eeps..3.2.6.2 Sw │ │ │ │ │ -0000f860: 6570 7420 6c69 6e65 730a 2e2e 2e2e 2e2e ept lines....... │ │ │ │ │ -0000f870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a49 ...............I │ │ │ │ │ -0000f880: 6620 5357 4550 545f 4f42 4a45 4354 2069 f SWEPT_OBJECT i │ │ │ │ │ -0000f890: 7320 6120 706f 6c79 6c69 6e65 2061 6e64 s a polyline and │ │ │ │ │ -0000f8a0: 2074 6865 7265 2069 7320 6e6f 2063 6c6f there is no clo │ │ │ │ │ -0000f8b0: 7375 7265 2074 6167 2c20 7468 656e 20e2 sure tag, then . │ │ │ │ │ -0000f8c0: 8098 7377 6565 70e2 8099 0a63 6f6e 6e65 ..sweep....conne │ │ │ │ │ -0000f8d0: 6374 7320 4e2b 3120 7375 6363 6573 7369 cts N+1 successi │ │ │ │ │ -0000f8e0: 7665 2063 6f70 6965 7320 6f66 2074 6865 ve copies of the │ │ │ │ │ -0000f8f0: 2070 6f6c 796c 696e 6520 2869 6e63 6c75 polyline (inclu │ │ │ │ │ -0000f900: 6469 6e67 2074 6865 206f 7269 6769 6e61 ding the origina │ │ │ │ │ -0000f910: 6c29 0a77 6974 6820 666f 7572 2d73 6964 l).with four-sid │ │ │ │ │ -0000f920: 6564 2070 6f6c 7967 6f6e 732c 2065 6163 ed polygons, eac │ │ │ │ │ -0000f930: 6820 7061 6972 206f 6620 636f 7069 6573 h pair of copies │ │ │ │ │ -0000f940: 2067 6976 696e 6720 7269 7365 2074 6f20 giving rise to │ │ │ │ │ -0000f950: 6120 2270 6f6c 7967 6f6e 0a73 7472 6970 a "polygon.strip │ │ │ │ │ -0000f960: 2e22 2020 4966 2074 6865 7265 2061 7265 ." If there are │ │ │ │ │ -0000f970: 206d 2070 6f69 6e74 7320 696e 2074 6865 m points in the │ │ │ │ │ -0000f980: 206f 7269 6769 6e61 6c20 706f 6c79 6c69 original polyli │ │ │ │ │ -0000f990: 6e65 2c20 7468 656e 2028 6d2d 3129 4e0a ne, then (m-1)N. │ │ │ │ │ -0000f9a0: 706f 6c79 676f 6e73 2061 7265 2066 6f72 polygons are for │ │ │ │ │ -0000f9b0: 6d65 6420 6279 2074 6865 2073 7765 6570 med by the sweep │ │ │ │ │ -0000f9c0: 2e20 2057 6520 6361 6c6c 2074 6865 7365 . We call these │ │ │ │ │ -0000f9d0: 20e2 809c 626f 6479 2070 6f6c 7967 6f6e ...body polygon │ │ │ │ │ -0000f9e0: 73e2 809d 2e20 2049 6e0a 7468 6973 206d s.... In.this m │ │ │ │ │ -0000f9f0: 616e 6e65 722c 20e2 8098 7377 6565 70e2 anner, ...sweep. │ │ │ │ │ -0000fa00: 8099 2066 6f72 6d73 2061 2074 776f 2d64 .. forms a two-d │ │ │ │ │ -0000fa10: 696d 656e 7369 6f6e 616c 2073 7572 6661 imensional surfa │ │ │ │ │ -0000fa20: 6365 2066 726f 6d20 6672 6f6d 2061 0a6f ce from from a.o │ │ │ │ │ -0000fa30: 6e65 2d64 696d 656e 7369 6f6e 616c 2070 ne-dimensional p │ │ │ │ │ -0000fa40: 6f6c 796c 696e 652e 0a0a 2020 2054 6865 olyline... The │ │ │ │ │ -0000fa50: 206f 7264 6572 206f 6620 7665 7274 6963 order of vertic │ │ │ │ │ -0000fa60: 6573 2070 726f 6475 6365 6420 6279 20e2 es produced by . │ │ │ │ │ -0000fa70: 8098 7377 6565 70e2 8099 2069 7320 696d ..sweep... is im │ │ │ │ │ -0000fa80: 706f 7274 616e 742e 2020 4966 2061 0a70 portant. If a.p │ │ │ │ │ -0000fa90: 6f6c 7967 6f6e 2773 2076 6572 7469 6365 olygon's vertice │ │ │ │ │ -0000faa0: 7320 646f 206e 6f74 2061 7070 6561 7220 s do not appear │ │ │ │ │ -0000fab0: 696e 2063 6f75 6e74 6572 2d63 6c6f 636b in counter-clock │ │ │ │ │ -0000fac0: 7769 7365 206f 7264 6572 2069 6e20 7468 wise order in th │ │ │ │ │ -0000fad0: 6520 6669 6e61 6c0a 696d 6167 652c 2074 e final.image, t │ │ │ │ │ -0000fae0: 6865 2070 6f6c 7967 6f6e 2077 696c 6c20 he polygon will │ │ │ │ │ -0000faf0: 6265 2063 756c 6c65 6420 2875 6e6c 6573 be culled (unles │ │ │ │ │ -0000fb00: 7320 e280 9863 756c 6c3d 6661 6c73 65e2 s ...cull=false. │ │ │ │ │ -0000fb10: 8099 2069 7320 7365 7429 2e20 2049 6620 .. is set). If │ │ │ │ │ -0000fb20: 7468 650a 706f 696e 7473 2069 6e20 7468 the.points in th │ │ │ │ │ -0000fb30: 6520 6b27 7468 2063 6f70 7920 6f66 2074 e k'th copy of t │ │ │ │ │ -0000fb40: 6865 2070 6f6c 796c 696e 6520 6172 6520 he polyline are │ │ │ │ │ -0000fb50: 505f 312c 2050 5f32 2c20 2e2e 2e2c 2050 P_1, P_2, ..., P │ │ │ │ │ -0000fb60: 5f6d 2c20 616e 6420 7468 650a 706f 696e _m, and the.poin │ │ │ │ │ -0000fb70: 7473 2069 6e20 7468 6520 6e65 7874 2063 ts in the next c │ │ │ │ │ -0000fb80: 6f70 792c 2074 6865 2028 6b2b 3129 7374 opy, the (k+1)st │ │ │ │ │ -0000fb90: 2c20 6172 6520 505f 3127 2c20 505f 3227 , are P_1', P_2' │ │ │ │ │ -0000fba0: 2c20 2e2e 2e2c 2050 5f6d 272c 2074 6865 , ..., P_m', the │ │ │ │ │ -0000fbb0: 6e0a 7468 6520 7665 7274 6578 206f 7264 n.the vertex ord │ │ │ │ │ -0000fbc0: 6572 206f 6620 7468 6520 6765 6e65 7261 er of the genera │ │ │ │ │ -0000fbd0: 7465 6420 706f 6c79 676f 6e73 2069 730a ted polygons is. │ │ │ │ │ -0000fbe0: 2020 2020 2042 6f64 7920 706f 6c79 676f Body polygo │ │ │ │ │ -0000fbf0: 6e20 313a 2050 5f32 2050 5f31 2050 5f31 n 1: P_2 P_1 P_1 │ │ │ │ │ -0000fc00: 2720 505f 3227 0a20 2020 2020 426f 6479 ' P_2'. Body │ │ │ │ │ -0000fc10: 2070 6f6c 7967 6f6e 2032 3a20 505f 3320 polygon 2: P_3 │ │ │ │ │ -0000fc20: 505f 3220 505f 3227 2050 5f33 270a 2020 P_2 P_2' P_3'. │ │ │ │ │ -0000fc30: 2020 202e 2e2e 0a20 2020 2020 426f 6479 .... Body │ │ │ │ │ -0000fc40: 2070 6f6c 7967 6f6e 206d 2d31 3a20 505f polygon m-1: P_ │ │ │ │ │ -0000fc50: 6d20 505f 7b6d 2d31 7d20 505f 7b6d 2d31 m P_{m-1} P_{m-1 │ │ │ │ │ -0000fc60: 7d27 2050 5f6d 270a 0a20 2020 4f70 7469 }' P_m'.. Opti │ │ │ │ │ -0000fc70: 6f6e 7320 6f66 2075 6e63 6c6f 7365 6420 ons of unclosed │ │ │ │ │ -0000fc80: 6c69 6e65 2073 7765 6570 7320 6172 6520 line sweeps are │ │ │ │ │ -0000fc90: 636f 7069 6564 2074 6f20 6561 6368 206f copied to each o │ │ │ │ │ -0000fca0: 7574 7075 7420 706f 6c79 676f 6e2e 0a4f utput polygon..O │ │ │ │ │ -0000fcb0: 7074 696f 6e73 206f 6620 7468 6520 7377 ptions of the sw │ │ │ │ │ -0000fcc0: 6570 7420 6c69 6e65 2061 7265 2069 676e ept line are ign │ │ │ │ │ -0000fcd0: 6f72 6564 2e0a 0a20 2020 5768 656e 2074 ored... When t │ │ │ │ │ -0000fce0: 6865 7265 205f 6973 5f20 6120 636c 6f73 here _is_ a clos │ │ │ │ │ -0000fcf0: 7572 6520 7461 672c 2074 6865 6e20 e280 ure tag, then .. │ │ │ │ │ -0000fd00: 9873 7765 6570 e280 9920 636f 6e6e 6563 .sweep... connec │ │ │ │ │ -0000fd10: 7473 204e 2073 7563 6365 7373 6976 650a ts N successive. │ │ │ │ │ -0000fd20: 636f 7069 6573 206f 6620 7468 6520 706f copies of the po │ │ │ │ │ -0000fd30: 6c79 6c69 6e65 2028 696e 636c 7564 696e lyline (includin │ │ │ │ │ -0000fd40: 6720 7468 6520 6f72 6967 696e 616c 2920 g the original) │ │ │ │ │ -0000fd50: 7769 7468 2066 6f75 722d 7369 6465 6420 with four-sided │ │ │ │ │ -0000fd60: 626f 6479 0a70 6f6c 7967 6f6e 7320 6a75 body.polygons ju │ │ │ │ │ -0000fd70: 7374 2061 7320 7468 6520 6361 7365 2077 st as the case w │ │ │ │ │ -0000fd80: 6974 6820 6e6f 2063 6c6f 7375 7265 2074 ith no closure t │ │ │ │ │ -0000fd90: 6167 2e20 2049 7420 7468 656e 2063 6f6e ag. It then con │ │ │ │ │ -0000fda0: 6e65 6374 7320 7468 650a 6c61 7374 2063 nects the.last c │ │ │ │ │ -0000fdb0: 6f70 7920 6261 636b 2074 6f20 7468 6520 opy back to the │ │ │ │ │ -0000fdc0: 6f72 6967 696e 616c 2074 6f20 666f 726d original to form │ │ │ │ │ -0000fdd0: 2061 2072 6962 626f 6e2d 7368 6170 6564 a ribbon-shaped │ │ │ │ │ -0000fde0: 2073 7572 6661 6365 2074 6861 740a 636c surface that.cl │ │ │ │ │ -0000fdf0: 6f73 6573 206f 6e20 6974 7365 6c66 2077 oses on itself w │ │ │ │ │ -0000fe00: 6974 6820 7477 6f20 686f 6c65 7320 7265 ith two holes re │ │ │ │ │ -0000fe10: 6d61 696e 696e 672e 0a0a 2020 2046 696e maining... Fin │ │ │ │ │ -0000fe20: 616c 6c79 2c20 7468 6520 7377 6565 7020 ally, the sweep │ │ │ │ │ -0000fe30: 6164 6473 2074 776f 206d 6f72 6520 706f adds two more po │ │ │ │ │ -0000fe40: 6c79 676f 6e73 2074 6f20 7365 616c 2074 lygons to seal t │ │ │ │ │ -0000fe50: 6865 2068 6f6c 6573 2061 6e64 2066 6f72 he holes and for │ │ │ │ │ -0000fe60: 6d0a 6120 636c 6f73 6564 2073 7572 6661 m.a closed surfa │ │ │ │ │ -0000fe70: 6365 2074 6861 742c 2064 6570 656e 6469 ce that, dependi │ │ │ │ │ -0000fe80: 6e67 206f 6e20 7468 6520 7377 6565 7020 ng on the sweep │ │ │ │ │ -0000fe90: 7472 616e 7366 6f72 6d73 2c20 6d61 7920 transforms, may │ │ │ │ │ -0000fea0: 7265 7072 6573 656e 740a 7468 6520 626f represent.the bo │ │ │ │ │ -0000feb0: 756e 6461 7279 206f 6620 6120 736f 6c69 undary of a soli │ │ │ │ │ -0000fec0: 642e 2020 496e 2074 6869 7320 6d61 6e6e d. In this mann │ │ │ │ │ -0000fed0: 6572 2c20 e280 9873 7765 6570 e280 9920 er, ...sweep... │ │ │ │ │ -0000fee0: 666f 726d 7320 7468 6520 626f 756e 6461 forms the bounda │ │ │ │ │ -0000fef0: 7279 206f 660a 6120 7468 7265 652d 6469 ry of.a three-di │ │ │ │ │ -0000ff00: 6d65 6e73 696f 6e61 6c20 6f62 6a65 6374 mensional object │ │ │ │ │ -0000ff10: 2066 726f 6d20 6120 6f6e 652d 6469 6d65 from a one-dime │ │ │ │ │ -0000ff20: 6e73 696f 6e61 6c20 706f 6c79 6c69 6e65 nsional polyline │ │ │ │ │ -0000ff30: 2e20 2057 6520 6361 6c6c 0a74 6865 7365 . We call.these │ │ │ │ │ -0000ff40: 2068 6f6c 652d 6669 6c6c 696e 6720 706f hole-filling po │ │ │ │ │ -0000ff50: 6c79 676f 6e73 20e2 809c 656e 6473 e280 lygons ...ends.. │ │ │ │ │ -0000ff60: 9d2e 0a0a 2020 2054 6865 206f 7264 6572 .... The order │ │ │ │ │ -0000ff70: 206f 6620 7665 7274 6963 6573 206f 6620 of vertices of │ │ │ │ │ -0000ff80: 656e 6420 706f 6c79 676f 6e73 2069 7320 end polygons is │ │ │ │ │ -0000ff90: 696d 706f 7274 616e 7420 666f 7220 636f important for co │ │ │ │ │ -0000ffa0: 7272 6563 740a 6375 6c6c 696e 6720 6173 rrect.culling as │ │ │ │ │ -0000ffb0: 2064 6573 6372 6962 6564 2061 626f 7665 described above │ │ │ │ │ -0000ffc0: 2e20 2049 6620 505f 315e 312c 2050 5f31 . If P_1^1, P_1 │ │ │ │ │ -0000ffd0: 5e32 2c20 2e2e 2e2c 2050 5f31 5e6e 2061 ^2, ..., P_1^n a │ │ │ │ │ -0000ffe0: 7265 2074 6865 204e 0a63 6f70 6965 7320 re the N.copies │ │ │ │ │ -0000fff0: 6f66 2074 6865 2066 6972 7374 2070 6f6c of the first pol │ │ │ │ │ -00010000: 796c 696e 6520 706f 696e 7420 616e 6420 yline point and │ │ │ │ │ -00010010: 505f 6d5e 312c 2050 5f6d 5e32 2c20 2e2e P_m^1, P_m^2, .. │ │ │ │ │ -00010020: 2e20 2c50 5f6d 5e6e 2061 7265 2074 6865 . ,P_m^n are the │ │ │ │ │ -00010030: 0a4e 2063 6f70 6965 7320 6f66 2074 6865 .N copies of the │ │ │ │ │ -00010040: 206c 6173 7420 706f 6c79 6c69 6e65 2070 last polyline p │ │ │ │ │ -00010050: 6f69 6e74 2c20 7468 656e 2074 6865 2065 oint, then the e │ │ │ │ │ -00010060: 6e64 2070 6f6c 7967 6f6e 2076 6572 7465 nd polygon verte │ │ │ │ │ -00010070: 7820 6f72 6465 720a 6973 0a20 2020 2020 x order.is. │ │ │ │ │ -00010080: 456e 6420 706f 6c79 676f 6e20 313a 2050 End polygon 1: P │ │ │ │ │ -00010090: 5f31 5e6e 2c20 505f 315e 7b6e 2d31 7d2c _1^n, P_1^{n-1}, │ │ │ │ │ -000100a0: 202e 2e2e 202c 505f 315e 310a 2020 2020 ... ,P_1^1. │ │ │ │ │ -000100b0: 2045 6e64 2070 6f6c 7967 6f6e 2032 3a20 End polygon 2: │ │ │ │ │ -000100c0: 505f 6d5e 312c 2050 5f6d 5e32 2c20 2e2e P_m^1, P_m^2, .. │ │ │ │ │ -000100d0: 2e20 2c50 5f6d 5e6e 0a0a 2020 2049 6620 . ,P_m^n.. If │ │ │ │ │ -000100e0: 7468 6572 6520 6172 6520 6e6f 206f 7074 there are no opt │ │ │ │ │ -000100f0: 696f 6e73 206f 6e20 7468 6520 7377 6570 ions on the swep │ │ │ │ │ -00010100: 7420 6c69 6e65 2c20 7468 656e 2074 6865 t line, then the │ │ │ │ │ -00010110: 20e2 8098 7377 6565 70e2 8099 206f 7074 ...sweep... opt │ │ │ │ │ -00010120: 696f 6e73 0a61 7265 2063 6f70 6965 6420 ions.are copied │ │ │ │ │ -00010130: 746f 2065 6163 6820 6f75 7470 7574 2070 to each output p │ │ │ │ │ -00010140: 6f6c 7967 6f6e 2e20 2049 6620 7468 6520 olygon. If the │ │ │ │ │ -00010150: 7377 6570 7420 6c69 6e65 2064 6f65 7320 swept line does │ │ │ │ │ -00010160: 6861 7665 206f 7074 696f 6e73 2c0a 7468 have options,.th │ │ │ │ │ -00010170: 6573 6520 6172 6520 636f 7069 6564 2074 ese are copied t │ │ │ │ │ -00010180: 6f20 636f 7272 6573 706f 6e64 696e 6720 o corresponding │ │ │ │ │ -00010190: 626f 6479 2070 6f6c 7967 6f6e 733b 2074 body polygons; t │ │ │ │ │ -000101a0: 6865 2073 7765 6570 206f 7074 696f 6e73 he sweep options │ │ │ │ │ -000101b0: 2061 7265 0a63 6f70 6965 6420 746f 2074 are.copied to t │ │ │ │ │ -000101c0: 6865 2065 6e64 2070 6f6c 7967 6f6e 732e he end polygons. │ │ │ │ │ -000101d0: 2020 496e 2074 6869 7320 6d61 6e6e 6572 In this manner │ │ │ │ │ -000101e0: 2c20 626f 6479 2061 6e64 2065 6e64 7320 , body and ends │ │ │ │ │ -000101f0: 6d61 7920 6265 2064 7261 776e 0a77 6974 may be drawn.wit │ │ │ │ │ -00010200: 6820 6469 6666 6572 656e 7420 6368 6172 h different char │ │ │ │ │ -00010210: 6163 7465 7269 7374 6963 7320 7375 6368 acteristics such │ │ │ │ │ -00010220: 2061 7320 e280 9866 696c 6c63 6f6c 6f72 as ...fillcolor │ │ │ │ │ -00010230: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk │ │ │ │ │ -00010240: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ -00010250: 3a20 5377 6570 7420 706f 6c79 676f 6e73 : Swept polygons │ │ │ │ │ -00010260: 2c20 204e 6578 743a 2053 7765 7074 2062 , Next: Swept b │ │ │ │ │ -00010270: 6c6f 636b 732c 2020 5072 6576 3a20 5377 locks, Prev: Sw │ │ │ │ │ -00010280: 6570 7420 6c69 6e65 732c 2020 5570 3a20 ept lines, Up: │ │ │ │ │ -00010290: 5377 6565 7073 0a0a 332e 322e 362e 3320 Sweeps..3.2.6.3 │ │ │ │ │ -000102a0: 5377 6570 7420 706f 6c79 676f 6e73 0a2e Swept polygons.. │ │ │ │ │ -000102b0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -000102c0: 2e2e 2e2e 2e0a 0a49 6620 5357 4550 545f .......If SWEPT_ │ │ │ │ │ -000102d0: 4f42 4a45 4354 2069 7320 6120 706f 6c79 OBJECT is a poly │ │ │ │ │ -000102e0: 676f 6e2c 2074 6865 20e2 8098 7377 6565 gon, the ...swee │ │ │ │ │ -000102f0: 70e2 8099 2063 6f6e 6e65 6374 7320 4e2b p... connects N+ │ │ │ │ │ -00010300: 3120 7375 6363 6573 7369 7665 2063 6f70 1 successive cop │ │ │ │ │ -00010310: 6965 730a 6f66 2074 6865 2063 6c6f 7365 ies.of the close │ │ │ │ │ -00010320: 6420 706f 6c79 6c69 6e65 2062 6f72 6465 d polyline borde │ │ │ │ │ -00010330: 7220 6f66 2074 6865 2070 6f6c 7967 6f6e r of the polygon │ │ │ │ │ -00010340: 2074 6f20 666f 726d 2062 6f64 7920 706f to form body po │ │ │ │ │ -00010350: 6c79 676f 6e73 0a65 7861 6374 6c79 2061 lygons.exactly a │ │ │ │ │ -00010360: 7320 7468 6f75 6768 2074 6865 2062 6f72 s though the bor │ │ │ │ │ -00010370: 6465 7220 7765 7265 2061 2073 7765 7074 der were a swept │ │ │ │ │ -00010380: 2070 6f6c 796c 696e 6520 6173 2064 6573 polyline as des │ │ │ │ │ -00010390: 6372 6962 6564 2069 6e20 2a6e 6f74 650a cribed in *note. │ │ │ │ │ -000103a0: 5377 6570 7420 6c69 6e65 733a 3a2e 2020 Swept lines::. │ │ │ │ │ -000103b0: 4966 2074 6865 7265 2061 7265 206d 2070 If there are m p │ │ │ │ │ -000103c0: 6f69 6e74 7320 696e 2074 6865 206f 7269 oints in the ori │ │ │ │ │ -000103d0: 6769 6e61 6c20 706f 6c79 676f 6e2c 2074 ginal polygon, t │ │ │ │ │ -000103e0: 6865 6e20 6d4e 0a62 6f64 7920 706f 6c79 hen mN.body poly │ │ │ │ │ -000103f0: 676f 6e73 2061 7265 2066 6f72 6d65 6420 gons are formed │ │ │ │ │ -00010400: 6279 2074 6869 7320 7377 6565 702e 2020 by this sweep. │ │ │ │ │ -00010410: 5468 6520 626f 6479 2070 6f6c 7967 6f6e The body polygon │ │ │ │ │ -00010420: 7320 666f 726d 2061 6e0a e280 9c65 7874 s form an....ext │ │ │ │ │ -00010430: 7275 7369 6f6e e280 9d20 6f66 2074 6865 rusion... of the │ │ │ │ │ -00010440: 2062 6f75 6e64 6172 7920 6f66 2074 6865 boundary of the │ │ │ │ │ -00010450: 206f 7269 6769 6e61 6c20 706f 6c79 676f original polygo │ │ │ │ │ -00010460: 6e20 7769 7468 2074 776f 2068 6f6c 6573 n with two holes │ │ │ │ │ -00010470: 2061 740a 7468 6520 6f70 656e 2065 6e64 at.the open end │ │ │ │ │ -00010480: 732e 0a0a 2020 2046 696e 616c 6c79 2c20 s... Finally, │ │ │ │ │ -00010490: 7468 6520 7377 6565 7020 6164 6473 2074 the sweep adds t │ │ │ │ │ -000104a0: 776f 2063 6f70 6965 7320 6f66 2074 6865 wo copies of the │ │ │ │ │ -000104b0: 206f 7269 6769 6e61 6c20 706f 6c79 676f original polygo │ │ │ │ │ -000104c0: 6e20 746f 2063 6f76 6572 0a74 6865 2068 n to cover.the h │ │ │ │ │ -000104d0: 6f6c 6573 2e20 2057 6520 6361 6c6c 2074 oles. We call t │ │ │ │ │ -000104e0: 6865 7365 2068 6f6c 652d 6669 6c6c 696e hese hole-fillin │ │ │ │ │ -000104f0: 6720 706f 6c79 676f 6e73 20e2 809c 656e g polygons ...en │ │ │ │ │ -00010500: 6473 e280 9d2e 2020 496e 2074 6869 7320 ds.... In this │ │ │ │ │ -00010510: 6d61 6e6e 6572 2c0a e280 9873 7765 6570 manner,....sweep │ │ │ │ │ -00010520: e280 9920 666f 726d 7320 7468 6520 626f ... forms the bo │ │ │ │ │ -00010530: 756e 6461 7279 206f 6620 6120 7468 7265 undary of a thre │ │ │ │ │ -00010540: 652d 6469 6d65 6e73 696f 6e61 6c20 6f62 e-dimensional ob │ │ │ │ │ -00010550: 6a65 6374 2066 726f 6d20 610a 7477 6f2d ject from a.two- │ │ │ │ │ -00010560: 6469 6d65 6e73 696f 6e61 6c20 706f 6c79 dimensional poly │ │ │ │ │ -00010570: 676f 6e2e 0a0a 2020 2054 6865 206f 7264 gon... The ord │ │ │ │ │ -00010580: 6572 206f 6620 7665 7274 6963 6573 206f er of vertices o │ │ │ │ │ -00010590: 6620 656e 6420 706f 6c79 676f 6e73 2069 f end polygons i │ │ │ │ │ -000105a0: 7320 696d 706f 7274 616e 7420 666f 7220 s important for │ │ │ │ │ -000105b0: 636f 7272 6563 740a 6375 6c6c 696e 6720 correct.culling │ │ │ │ │ -000105c0: 6173 2064 6573 6372 6962 6564 2061 626f as described abo │ │ │ │ │ -000105d0: 7665 2e20 2041 6e20 6578 6163 7420 636f ve. An exact co │ │ │ │ │ -000105e0: 7079 206f 6620 7468 6520 6f72 6967 696e py of the origin │ │ │ │ │ -000105f0: 616c 2070 6f6c 7967 6f6e 2077 6974 680a al polygon with. │ │ │ │ │ -00010600: 7665 7274 6578 206f 7264 6572 2069 6e74 vertex order int │ │ │ │ │ -00010610: 6163 7420 666f 726d 7320 7468 6520 6669 act forms the fi │ │ │ │ │ -00010620: 7273 7420 656e 6420 706f 6c79 676f 6e2e rst end polygon. │ │ │ │ │ -00010630: 2020 5468 6520 6f74 6865 7220 656e 6420 The other end │ │ │ │ │ -00010640: 706f 6c79 676f 6e0a 7265 7375 6c74 7320 polygon.results │ │ │ │ │ -00010650: 6672 6f6d 2074 7261 6e73 666f 726d 696e from transformin │ │ │ │ │ -00010660: 6720 616e 6420 7468 6520 7265 7665 7273 g and the revers │ │ │ │ │ -00010670: 696e 6720 7468 6520 6f72 6465 7220 6f66 ing the order of │ │ │ │ │ -00010680: 2076 6572 7469 6365 7320 696e 2074 6865 vertices in the │ │ │ │ │ -00010690: 0a6f 7269 6769 6e61 6c2e 2020 5468 6520 .original. The │ │ │ │ │ -000106a0: 7472 616e 7366 6f72 6d20 706c 6163 6573 transform places │ │ │ │ │ -000106b0: 2074 6865 206f 7269 6769 6e61 6c20 706f the original po │ │ │ │ │ -000106c0: 6c79 676f 6e20 6174 2074 6865 2075 6e63 lygon at the unc │ │ │ │ │ -000106d0: 6f76 6572 6564 0a68 6f6c 653b 2069 7420 overed.hole; it │ │ │ │ │ -000106e0: 6973 0a20 2020 2020 545f 315e 6e20 7468 is. T_1^n th │ │ │ │ │ -000106f0: 656e 2054 5f32 5e6e 2074 6865 6e20 2e2e en T_2^n then .. │ │ │ │ │ -00010700: 2e20 7468 656e 2054 5f52 5e6e 2e0a 4966 . then T_R^n..If │ │ │ │ │ -00010710: 2074 6865 7265 2061 7265 206e 6f20 6f70 there are no op │ │ │ │ │ -00010720: 7469 6f6e 7320 6f6e 2074 6865 2073 7765 tions on the swe │ │ │ │ │ -00010730: 7074 2070 6f6c 7967 6f6e 2c20 7468 656e pt polygon, then │ │ │ │ │ -00010740: 2074 6865 20e2 8098 7377 6565 70e2 8099 the ...sweep... │ │ │ │ │ -00010750: 206f 7074 696f 6e73 0a61 7265 2063 6f70 options.are cop │ │ │ │ │ -00010760: 6965 6420 746f 2065 6163 6820 6f75 7470 ied to each outp │ │ │ │ │ -00010770: 7574 2070 6f6c 7967 6f6e 2e20 2049 6620 ut polygon. If │ │ │ │ │ -00010780: 7468 6520 7377 6570 7420 706f 6c79 676f the swept polygo │ │ │ │ │ -00010790: 6e20 646f 6573 2068 6176 650a 6f70 7469 n does have.opti │ │ │ │ │ -000107a0: 6f6e 732c 2074 6865 7365 2061 7265 2063 ons, these are c │ │ │ │ │ -000107b0: 6f70 6965 6420 746f 2074 6865 2065 6e64 opied to the end │ │ │ │ │ -000107c0: 733b 2074 6865 2073 7765 6570 206f 7074 s; the sweep opt │ │ │ │ │ -000107d0: 696f 6e73 2061 7265 2063 6f70 6965 6420 ions are copied │ │ │ │ │ -000107e0: 746f 0a74 6865 2062 6f64 7920 706f 6c79 to.the body poly │ │ │ │ │ -000107f0: 676f 6e73 2e20 2049 6e20 7468 6973 206d gons. In this m │ │ │ │ │ -00010800: 616e 6e65 722c 2062 6f64 7920 616e 6420 anner, body and │ │ │ │ │ -00010810: 656e 6473 206d 6179 2062 6520 6472 6177 ends may be draw │ │ │ │ │ -00010820: 6e20 7769 7468 0a64 6966 6665 7265 6e74 n with.different │ │ │ │ │ -00010830: 2063 6861 7261 6374 6572 6973 7469 6373 characteristics │ │ │ │ │ -00010840: 2073 7563 6820 6173 20e2 8098 6669 6c6c such as ...fill │ │ │ │ │ -00010850: 636f 6c6f 72e2 8099 2e0a 0a1f 0a46 696c color........Fil │ │ │ │ │ -00010860: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -00010870: 204e 6f64 653a 2053 7765 7074 2062 6c6f Node: Swept blo │ │ │ │ │ -00010880: 636b 732c 2020 4e65 7874 3a20 5377 6565 cks, Next: Swee │ │ │ │ │ -00010890: 7020 6661 6365 2073 706c 6974 7469 6e67 p face splitting │ │ │ │ │ -000108a0: 2c20 2050 7265 763a 2053 7765 7074 2070 , Prev: Swept p │ │ │ │ │ -000108b0: 6f6c 7967 6f6e 732c 2020 5570 3a20 5377 olygons, Up: Sw │ │ │ │ │ -000108c0: 6565 7073 0a0a 332e 322e 362e 3420 5377 eeps..3.2.6.4 Sw │ │ │ │ │ -000108d0: 6570 7420 626c 6f63 6b73 0a2e 2e2e 2e2e ept blocks...... │ │ │ │ │ -000108e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................ │ │ │ │ │ -000108f0: 0a54 6865 2073 7765 7074 206f 626a 6563 .The swept objec │ │ │ │ │ -00010900: 7420 5357 4550 545f 4f42 4a45 4354 206d t SWEPT_OBJECT m │ │ │ │ │ -00010910: 6179 2061 6c73 6f20 6265 2061 6e79 2063 ay also be any c │ │ │ │ │ -00010920: 6f6c 6c65 6374 696f 6e20 6f66 2070 6f6c ollection of pol │ │ │ │ │ -00010930: 796c 696e 6573 0a61 6e64 2070 6f6c 7967 ylines.and polyg │ │ │ │ │ -00010940: 6f6e 732e 2020 5468 6973 206d 6179 2062 ons. This may b │ │ │ │ │ -00010950: 6520 6120 626c 6f63 6b20 636f 6d70 6f73 e a block compos │ │ │ │ │ -00010960: 6564 206f 6620 e280 986c 696e 65e2 8099 ed of ...line... │ │ │ │ │ -00010970: 2061 6e64 2f6f 7220 e280 9870 6f6c 7967 and/or ...polyg │ │ │ │ │ -00010980: 6f6e e280 990a 636f 6d6d 616e 6473 2069 on....commands i │ │ │ │ │ -00010990: 6e20 6272 6163 6573 20e2 8098 7b20 7de2 n braces ...{ }. │ │ │ │ │ -000109a0: 8099 2c20 6f72 2069 7420 6d61 7920 6265 .., or it may be │ │ │ │ │ -000109b0: 2074 6865 2072 6573 756c 7420 6f66 2061 the result of a │ │ │ │ │ -000109c0: 20e2 8098 7265 7065 6174 e280 992c 2061 ...repeat..., a │ │ │ │ │ -000109d0: 6e6f 7468 6572 0ae2 8098 7377 6565 70e2 nother....sweep. │ │ │ │ │ -000109e0: 8099 2c20 6574 632e 2020 5468 6520 7377 .., etc. The sw │ │ │ │ │ -000109f0: 6565 7020 6163 7473 2069 6e64 6570 656e eep acts indepen │ │ │ │ │ -00010a00: 6465 6e74 6c79 206f 6e20 6561 6368 206f dently on each o │ │ │ │ │ -00010a10: 626a 6563 7420 696e 2074 6865 2062 6c6f bject in the blo │ │ │ │ │ -00010a20: 636b 0a65 7861 6374 6c79 2061 7320 6966 ck.exactly as if │ │ │ │ │ -00010a30: 2069 7420 7765 7265 2061 2073 696e 676c it were a singl │ │ │ │ │ -00010a40: 6520 7377 6570 7420 6f62 6a65 6374 2064 e swept object d │ │ │ │ │ -00010a50: 6573 6372 6962 6564 2061 626f 7665 2069 escribed above i │ │ │ │ │ -00010a60: 6e20 2a6e 6f74 650a 5377 6570 7420 6c69 n *note.Swept li │ │ │ │ │ -00010a70: 6e65 733a 3a20 616e 6420 2a6e 6f74 6520 nes:: and *note │ │ │ │ │ -00010a80: 5377 6570 7420 706f 6c79 676f 6e73 3a3a Swept polygons:: │ │ │ │ │ -00010a90: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ -00010aa0: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S │ │ │ │ │ -00010ab0: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt │ │ │ │ │ -00010ac0: 696e 672c 2020 5072 6576 3a20 5377 6570 ing, Prev: Swep │ │ │ │ │ -00010ad0: 7420 626c 6f63 6b73 2c20 2055 703a 2053 t blocks, Up: S │ │ │ │ │ -00010ae0: 7765 6570 730a 0a33 2e32 2e36 2e35 2053 weeps..3.2.6.5 S │ │ │ │ │ -00010af0: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt │ │ │ │ │ -00010b00: 696e 670a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ing............. │ │ │ │ │ +0000e030: 2020 2020 2044 7261 7720 7472 616e 7366 Draw transf │ │ │ │ │ +0000e040: 6f72 6d65 6420 636f 7069 6573 206f 6620 ormed copies of │ │ │ │ │ +0000e050: 6f62 6a65 6374 732e 0a2a 2050 7574 733a objects..* Puts: │ │ │ │ │ +0000e060: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000e070: 2020 2020 2020 2020 2044 7261 7720 6f6e Draw on │ │ │ │ │ +0000e080: 6520 6f62 6a65 6374 2074 7261 6e73 666f e object transfo │ │ │ │ │ +0000e090: 726d 6564 2e0a 0a1f 0a46 696c 653a 2073 rmed.....File: s │ │ │ │ │ +0000e0a0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +0000e0b0: 653a 2044 6f74 732c 2020 4e65 7874 3a20 e: Dots, Next: │ │ │ │ │ +0000e0c0: 4c69 6e65 732c 2020 5072 6576 3a20 4472 Lines, Prev: Dr │ │ │ │ │ +0000e0d0: 6177 6162 6c65 732c 2020 5570 3a20 4472 awables, Up: Dr │ │ │ │ │ +0000e0e0: 6177 6162 6c65 730a 0a33 2e32 2e31 2044 awables..3.2.1 D │ │ │ │ │ +0000e0f0: 6f74 730a 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a ots.----------.. │ │ │ │ │ +0000e100: 2a53 796e 7461 783a 2a0a 2020 2020 2064 *Syntax:*. d │ │ │ │ │ +0000e110: 6f74 735b 4f50 5449 4f4e 535d 2050 4f49 ots[OPTIONS] POI │ │ │ │ │ +0000e120: 4e54 5f4c 4953 540a 5468 6973 2063 6f6d NT_LIST.This com │ │ │ │ │ +0000e130: 6d61 6e64 2069 7320 7468 6520 7468 7265 mand is the thre │ │ │ │ │ +0000e140: 652d 6469 6d65 6e73 696f 6e61 6c20 6571 e-dimensional eq │ │ │ │ │ +0000e150: 7569 7661 6c65 6e74 206f 6620 7468 6520 uivalent of the │ │ │ │ │ +0000e160: e280 9850 5354 7269 636b 73e2 8099 0a63 ...PSTricks....c │ │ │ │ │ +0000e170: 6f6d 6d61 6e64 20e2 8098 5c70 7364 6f74 ommand ...\psdot │ │ │ │ │ +0000e180: 73e2 8099 2e0a 0a1f 0a46 696c 653a 2073 s........File: s │ │ │ │ │ +0000e190: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ +0000e1a0: 653a 204c 696e 6573 2c20 204e 6578 743a e: Lines, Next: │ │ │ │ │ +0000e1b0: 2043 7572 7665 732c 2020 5072 6576 3a20 Curves, Prev: │ │ │ │ │ +0000e1c0: 446f 7473 2c20 2055 703a 2044 7261 7761 Dots, Up: Drawa │ │ │ │ │ +0000e1d0: 626c 6573 0a0a 332e 322e 3220 4c69 6e65 bles..3.2.2 Line │ │ │ │ │ +0000e1e0: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a s.-----------..* │ │ │ │ │ +0000e1f0: 5379 6e74 6178 3a2a 0a20 2020 2020 6c69 Syntax:*. li │ │ │ │ │ +0000e200: 6e65 5b4f 5054 494f 4e53 5d20 504f 494e ne[OPTIONS] POIN │ │ │ │ │ +0000e210: 545f 4c49 5354 0a54 6869 7320 636f 6d6d T_LIST.This comm │ │ │ │ │ +0000e220: 616e 6420 6973 2074 6865 2074 6872 6565 and is the three │ │ │ │ │ +0000e230: 2d64 696d 656e 7369 6f6e 616c 2065 7175 -dimensional equ │ │ │ │ │ +0000e240: 6976 616c 656e 7420 6f66 2074 6865 20e2 ivalent of the . │ │ │ │ │ +0000e250: 8098 5053 5472 6963 6b73 e280 990a 636f ..PSTricks....co │ │ │ │ │ +0000e260: 6d6d 616e 6420 e280 985c 7073 6c69 6e65 mmand ...\psline │ │ │ │ │ +0000e270: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk │ │ │ │ │ +0000e280: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +0000e290: 3a20 4375 7276 6573 2c20 204e 6578 743a : Curves, Next: │ │ │ │ │ +0000e2a0: 2050 6f6c 7967 6f6e 732c 2020 5072 6576 Polygons, Prev │ │ │ │ │ +0000e2b0: 3a20 4c69 6e65 732c 2020 5570 3a20 4472 : Lines, Up: Dr │ │ │ │ │ +0000e2c0: 6177 6162 6c65 730a 0a33 2e32 2e33 2043 awables..3.2.3 C │ │ │ │ │ +0000e2d0: 7572 7665 730a 2d2d 2d2d 2d2d 2d2d 2d2d urves.---------- │ │ │ │ │ +0000e2e0: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. │ │ │ │ │ +0000e2f0: 2020 2063 7572 7665 5b4f 5054 494f 4e53 curve[OPTIONS │ │ │ │ │ +0000e300: 5d20 504f 494e 545f 4c49 5354 0a54 6869 ] POINT_LIST.Thi │ │ │ │ │ +0000e310: 7320 636f 6d6d 616e 6420 6973 2074 6865 s command is the │ │ │ │ │ +0000e320: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension │ │ │ │ │ +0000e330: 616c 2065 7175 6976 616c 656e 7420 6f66 al equivalent of │ │ │ │ │ +0000e340: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks │ │ │ │ │ +0000e350: e280 990a 636f 6d6d 616e 6420 e280 985c ....command ...\ │ │ │ │ │ +0000e360: 7073 6375 7276 65e2 8099 2e20 2049 7420 pscurve.... It │ │ │ │ │ +0000e370: 6973 206e 6f74 2069 6d70 6c65 6d65 6e74 is not implement │ │ │ │ │ +0000e380: 6564 2069 6e20 7468 6520 6375 7272 656e ed in the curren │ │ │ │ │ +0000e390: 7420 7665 7273 696f 6e20 6f66 0ae2 8098 t version of.... │ │ │ │ │ +0000e3a0: 736b 6574 6368 e280 992e 0a0a 1f0a 4669 sketch........Fi │ │ │ │ │ +0000e3b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +0000e3c0: 2020 4e6f 6465 3a20 506f 6c79 676f 6e73 Node: Polygons │ │ │ │ │ +0000e3d0: 2c20 204e 6578 743a 2053 7065 6369 616c , Next: Special │ │ │ │ │ +0000e3e0: 732c 2020 5072 6576 3a20 4375 7276 6573 s, Prev: Curves │ │ │ │ │ +0000e3f0: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables │ │ │ │ │ +0000e400: 0a0a 332e 322e 3420 506f 6c79 676f 6e73 ..3.2.4 Polygons │ │ │ │ │ +0000e410: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a .--------------. │ │ │ │ │ +0000e420: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ +0000e430: 706f 6c79 676f 6e5b 4f50 5449 4f4e 535d polygon[OPTIONS] │ │ │ │ │ +0000e440: 2050 4f49 4e54 5f4c 4953 540a 5468 6973 POINT_LIST.This │ │ │ │ │ +0000e450: 2063 6f6d 6d61 6e64 2069 7320 7468 6520 command is the │ │ │ │ │ +0000e460: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona │ │ │ │ │ +0000e470: 6c20 6571 7569 7661 6c65 6e74 206f 6620 l equivalent of │ │ │ │ │ +0000e480: 7468 6520 e280 9850 5354 7269 636b 73e2 the ...PSTricks. │ │ │ │ │ +0000e490: 8099 0a63 6f6d 6d61 6e64 20e2 8098 5c70 ...command ...\p │ │ │ │ │ +0000e4a0: 7370 6f6c 7967 6f6e e280 992e 2020 5468 spolygon.... Th │ │ │ │ │ +0000e4b0: 6520 e280 9873 6b65 7463 68e2 8099 2068 e ...sketch... h │ │ │ │ │ +0000e4c0: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al │ │ │ │ │ +0000e4d0: 676f 7269 7468 6d20 6173 7375 6d65 730a gorithm assumes. │ │ │ │ │ +0000e4e0: 7468 6174 2070 6f6c 7967 6f6e 7320 6172 that polygons ar │ │ │ │ │ +0000e4f0: 6520 636f 6e76 6578 2061 6e64 2070 6c61 e convex and pla │ │ │ │ │ +0000e500: 6e61 722e 2020 496e 2070 7261 6374 6963 nar. In practic │ │ │ │ │ +0000e510: 652c 2064 7261 7769 6e67 7320 6d61 7920 e, drawings may │ │ │ │ │ +0000e520: 7765 6c6c 0a74 7572 6e20 6f75 7420 636f well.turn out co │ │ │ │ │ +0000e530: 7272 6563 746c 7920 6576 656e 2069 6620 rrectly even if │ │ │ │ │ +0000e540: 7468 6573 6520 6173 7375 6d70 7469 6f6e these assumption │ │ │ │ │ +0000e550: 7320 6172 6520 7669 6f6c 6174 6564 2e0a s are violated.. │ │ │ │ │ +0000e560: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +0000e570: 696e 666f 2c20 204e 6f64 653a 2053 7065 info, Node: Spe │ │ │ │ │ +0000e580: 6369 616c 732c 2020 4e65 7874 3a20 5377 cials, Next: Sw │ │ │ │ │ +0000e590: 6565 7073 2c20 2050 7265 763a 2050 6f6c eeps, Prev: Pol │ │ │ │ │ +0000e5a0: 7967 6f6e 732c 2020 5570 3a20 4472 6177 ygons, Up: Draw │ │ │ │ │ +0000e5b0: 6162 6c65 730a 0a33 2e32 2e35 2053 7065 ables..3.2.5 Spe │ │ │ │ │ +0000e5c0: 6369 616c 730a 2d2d 2d2d 2d2d 2d2d 2d2d cials.---------- │ │ │ │ │ +0000e5d0: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*. │ │ │ │ │ +0000e5e0: 2020 2020 2073 7065 6369 616c 2024 5241 special $RA │ │ │ │ │ +0000e5f0: 575f 5445 5854 245b 4f50 5449 4f4e 535d W_TEXT$[OPTIONS] │ │ │ │ │ +0000e600: 2041 5247 5f4c 4953 540a 4865 7265 20e2 ARG_LIST.Here . │ │ │ │ │ +0000e610: 8098 24e2 8099 2063 616e 2062 6520 616e ..$... can be an │ │ │ │ │ +0000e620: 7920 6368 6172 6163 7465 7220 616e 6420 y character and │ │ │ │ │ +0000e630: 6973 2075 7365 6420 746f 2064 656c 696d is used to delim │ │ │ │ │ +0000e640: 6974 2074 6865 2073 7461 7274 2061 6e64 it the start and │ │ │ │ │ +0000e650: 2065 6e64 0a6f 6620 5241 575f 5445 5854 end.of RAW_TEXT │ │ │ │ │ +0000e660: 2e20 2054 6865 2063 6f6d 6d61 6e64 2065 . The command e │ │ │ │ │ +0000e670: 6d62 6564 7320 5241 575f 5445 5854 2069 mbeds RAW_TEXT i │ │ │ │ │ +0000e680: 6e20 7468 6520 e280 9873 6b65 7463 68e2 n the ...sketch. │ │ │ │ │ +0000e690: 8099 206f 7574 7075 7420 6166 7465 720a .. output after. │ │ │ │ │ +0000e6a0: 7065 7266 6f72 6d69 6e67 2073 7562 7374 performing subst │ │ │ │ │ +0000e6b0: 6974 7574 696f 6e73 2061 7320 666f 6c6c itutions as foll │ │ │ │ │ +0000e6c0: 6f77 732e 0a20 2020 e280 a220 e280 9823 ows.. ... ...# │ │ │ │ │ +0000e6d0: 49e2 8099 2077 6865 7265 2049 2069 7320 I... where I is │ │ │ │ │ +0000e6e0: 6120 706f 7369 7469 7665 2069 6e74 6567 a positive integ │ │ │ │ │ +0000e6f0: 6572 2069 7320 7265 706c 6163 6564 2062 er is replaced b │ │ │ │ │ +0000e700: 7920 7468 6520 4927 7468 2076 616c 7565 y the I'th value │ │ │ │ │ +0000e710: 2069 6e0a 2020 2020 2041 5247 5f4c 4953 in. ARG_LIS │ │ │ │ │ +0000e720: 542e 2020 506f 696e 7420 616e 6420 7665 T. Point and ve │ │ │ │ │ +0000e730: 6374 6f72 2061 7267 756d 656e 7473 2062 ctor arguments b │ │ │ │ │ +0000e740: 6563 6f6d 6520 7477 6f2d 6469 6d65 6e73 ecome two-dimens │ │ │ │ │ +0000e750: 696f 6e61 6c0a 2020 2020 2070 6f69 6e74 ional. point │ │ │ │ │ +0000e760: 732c 2077 6869 6368 2061 7265 2074 6865 s, which are the │ │ │ │ │ +0000e770: 2074 7261 6e73 666f 726d 6564 2033 6420 transformed 3d │ │ │ │ │ +0000e780: 6172 6775 6d65 6e74 7320 7072 6f6a 6563 arguments projec │ │ │ │ │ +0000e790: 7465 6420 6f6e 746f 2074 6865 0a20 2020 ted onto the. │ │ │ │ │ +0000e7a0: 2020 582d 5920 706c 616e 652e 2020 5468 X-Y plane. Th │ │ │ │ │ +0000e7b0: 6973 2061 6c6c 6f77 7320 7477 6f2d 6469 is allows two-di │ │ │ │ │ +0000e7c0: 6d65 6e74 696f 6e61 6c20 6f75 7470 7574 mentional output │ │ │ │ │ +0000e7d0: 2065 6c65 6d65 6e74 7320 7375 6368 2061 elements such a │ │ │ │ │ +0000e7e0: 730a 2020 2020 206c 6162 656c 7320 746f s. labels to │ │ │ │ │ +0000e7f0: 2062 6520 6561 7369 6c79 2070 6f73 6974 be easily posit │ │ │ │ │ +0000e800: 696f 6e65 6420 7769 7468 2072 6573 7065 ioned with respe │ │ │ │ │ +0000e810: 6374 2074 6f20 7468 7265 652d 6469 6d65 ct to three-dime │ │ │ │ │ +0000e820: 6e73 696f 6e61 6c0a 2020 2020 2066 6561 nsional. fea │ │ │ │ │ +0000e830: 7475 7265 7320 696e 2074 6865 2064 7261 tures in the dra │ │ │ │ │ +0000e840: 7769 6e67 2e20 2053 6361 6c61 7220 6172 wing. Scalar ar │ │ │ │ │ +0000e850: 6775 6d65 6e74 7320 6172 6520 7375 6273 guments are subs │ │ │ │ │ +0000e860: 6974 7574 6564 2064 6972 6563 746c 792e ituted directly. │ │ │ │ │ +0000e870: 0a20 2020 2020 4e6f 2074 7261 6e73 666f . No transfo │ │ │ │ │ +0000e880: 726d 6174 696f 6e20 6973 2061 7070 6c69 rmation is appli │ │ │ │ │ +0000e890: 6564 2e0a 2020 20e2 80a2 20e2 8098 237b ed.. ... ...#{ │ │ │ │ │ +0000e8a0: 497d e280 9920 6973 2061 6c73 6f20 7265 I}... is also re │ │ │ │ │ +0000e8b0: 706c 6163 6564 2061 7320 6162 6f76 652e placed as above. │ │ │ │ │ +0000e8c0: 0a20 2020 e280 a220 e280 9823 4927 32e2 . ... ...#I'2. │ │ │ │ │ +0000e8d0: 8099 2069 7320 7265 706c 6163 6564 2061 .. is replaced a │ │ │ │ │ +0000e8e0: 7320 6162 6f76 6520 666f 7220 706f 696e s above for poin │ │ │ │ │ +0000e8f0: 7473 206f 7220 7665 6374 6f72 732e 2020 ts or vectors. │ │ │ │ │ +0000e900: 4974 2069 7320 616e 2065 7272 6f72 0a20 It is an error. │ │ │ │ │ +0000e910: 2020 2020 666f 7220 7468 6520 4927 7468 for the I'th │ │ │ │ │ +0000e920: 2061 7267 756d 656e 7420 746f 2062 6520 argument to be │ │ │ │ │ +0000e930: 6120 7363 616c 6172 2e0a 2020 20e2 80a2 a scalar.. ... │ │ │ │ │ +0000e940: 20e2 8098 2349 2778 e280 992c 20e2 8098 ...#I'x..., ... │ │ │ │ │ +0000e950: 2349 2779 e280 992c 206f 7220 e280 9823 #I'y..., or ...# │ │ │ │ │ +0000e960: 4927 7ae2 8099 2069 7320 7265 706c 6163 I'z... is replac │ │ │ │ │ +0000e970: 6564 2c20 7265 7370 6563 7469 7665 6c79 ed, respectively │ │ │ │ │ +0000e980: 2c20 6279 2074 6865 2073 6361 6c61 720a , by the scalar. │ │ │ │ │ +0000e990: 2020 2020 2058 2c20 592c 206f 7220 5a2d X, Y, or Z- │ │ │ │ │ +0000e9a0: 636f 6f72 6469 6e61 7465 206f 6620 7468 coordinate of th │ │ │ │ │ +0000e9b0: 6520 6172 6775 6d65 6e74 2070 6f69 6e74 e argument point │ │ │ │ │ +0000e9c0: 206f 7220 7665 6374 6f72 2e20 2049 7420 or vector. It │ │ │ │ │ +0000e9d0: 6973 2061 6e0a 2020 2020 2065 7272 6f72 is an. error │ │ │ │ │ +0000e9e0: 2066 6f72 2074 6865 2049 2774 6820 6172 for the I'th ar │ │ │ │ │ +0000e9f0: 6775 6d65 6e74 2074 6f20 6265 2061 2073 gument to be a s │ │ │ │ │ +0000ea00: 6361 6c61 722e 0a20 2020 e280 a220 e280 calar.. ... .. │ │ │ │ │ +0000ea10: 9823 4927 33e2 8099 2069 7320 7265 706c .#I'3... is repl │ │ │ │ │ +0000ea20: 6163 6564 2062 7920 7468 6520 7468 7265 aced by the thre │ │ │ │ │ +0000ea30: 652d 6469 6d65 6e73 696f 6e61 6c20 7472 e-dimensional tr │ │ │ │ │ +0000ea40: 616e 7366 6f72 6d65 6420 6172 6775 6d65 ansformed argume │ │ │ │ │ +0000ea50: 6e74 2e0a 2020 2020 204e 6f74 6520 7468 nt.. Note th │ │ │ │ │ +0000ea60: 6174 2069 6620 6120 7065 7273 7065 6374 at if a perspect │ │ │ │ │ +0000ea70: 6976 6520 7472 616e 7366 6f72 6d61 7469 ive transformati │ │ │ │ │ +0000ea80: 6f6e 2068 6173 2062 6565 6e20 6170 706c on has been appl │ │ │ │ │ +0000ea90: 6965 642c 2074 6865 0a20 2020 2020 5a2d ied, the. Z- │ │ │ │ │ +0000eaa0: 636f 6f72 6469 6e61 7465 2068 6173 206c coordinate has l │ │ │ │ │ +0000eab0: 6974 746c 6520 6765 6f6d 6574 7269 6320 ittle geometric │ │ │ │ │ +0000eac0: 7369 676e 6966 6963 616e 6365 2c20 7468 significance, th │ │ │ │ │ +0000ead0: 6f75 6768 2069 740a 2020 2020 2061 6363 ough it. acc │ │ │ │ │ +0000eae0: 7572 6174 656c 7920 696e 6469 6361 7465 urately indicate │ │ │ │ │ +0000eaf0: 7320 7265 6c61 7469 7665 2064 6570 7468 s relative depth │ │ │ │ │ +0000eb00: 2e0a 2020 20e2 80a2 20e2 8098 2349 2d4a .. ... ...#I-J │ │ │ │ │ +0000eb10: e280 9920 7768 6572 6520 4920 616e 6420 ... where I and │ │ │ │ │ +0000eb20: 4a20 6172 6520 706f 7369 7469 7665 2069 J are positive i │ │ │ │ │ +0000eb30: 6e74 6567 6572 7320 6973 2072 6570 6c61 ntegers is repla │ │ │ │ │ +0000eb40: 6365 6420 6279 2061 2073 7472 696e 670a ced by a string. │ │ │ │ │ +0000eb50: 2020 2020 20e2 8098 7b41 4e47 4c45 7de2 ...{ANGLE}. │ │ │ │ │ +0000eb60: 8099 2077 6865 7265 2041 4e47 4c45 2069 .. where ANGLE i │ │ │ │ │ +0000eb70: 7320 7468 6520 706f 6c61 7220 616e 676c s the polar angl │ │ │ │ │ +0000eb80: 6520 6f66 2061 2076 6563 746f 7220 6672 e of a vector fr │ │ │ │ │ +0000eb90: 6f6d 2074 6865 2049 2774 680a 2020 2020 om the I'th. │ │ │ │ │ +0000eba0: 2070 6f69 6e74 2069 6e20 504f 494e 545f point in POINT_ │ │ │ │ │ +0000ebb0: 4c49 5354 2074 6f20 7468 6520 4a27 7468 LIST to the J'th │ │ │ │ │ +0000ebc0: 2070 6f69 6e74 2070 726f 6a65 6374 6564 point projected │ │ │ │ │ +0000ebd0: 2069 6e74 6f20 7468 6520 782d 7920 706c into the x-y pl │ │ │ │ │ +0000ebe0: 616e 652e 0a20 2020 2020 4974 2069 7320 ane.. It is │ │ │ │ │ +0000ebf0: 616e 2065 7272 6f72 2066 6f72 2074 6865 an error for the │ │ │ │ │ +0000ec00: 2049 2774 6820 6f72 204a 2774 6820 6172 I'th or J'th ar │ │ │ │ │ +0000ec10: 6775 6d65 6e74 2074 6f20 6265 2061 2073 gument to be a s │ │ │ │ │ +0000ec20: 6361 6c61 7220 6f72 2061 0a20 2020 2020 calar or a. │ │ │ │ │ +0000ec30: 7665 6374 6f72 2e0a 2020 20e2 80a2 20e2 vector.. ... . │ │ │ │ │ +0000ec40: 8098 237b 492d 4a7d e280 9920 6973 2061 ..#{I-J}... is a │ │ │ │ │ +0000ec50: 6c73 6f20 7265 706c 6163 6564 2061 7320 lso replaced as │ │ │ │ │ +0000ec60: 6162 6f76 652e 0a20 2020 e280 a220 e280 above.. ... .. │ │ │ │ │ +0000ec70: 9823 23e2 8099 2069 7320 7265 706c 6163 .##... is replac │ │ │ │ │ +0000ec80: 6564 2077 6974 6820 e280 9823 e280 992e ed with ...#.... │ │ │ │ │ +0000ec90: 0a54 6865 2066 6f72 6d73 2077 6974 6820 .The forms with │ │ │ │ │ +0000eca0: 6272 6163 6573 20e2 8098 7b20 7de2 8099 braces ...{ }... │ │ │ │ │ +0000ecb0: 2061 7265 2075 7365 6675 6c20 7768 656e are useful when │ │ │ │ │ +0000ecc0: 2074 6865 2061 7267 756d 656e 7420 6973 the argument is │ │ │ │ │ +0000ecd0: 2069 6d6d 6564 6961 7465 6c79 0a66 6f6c immediately.fol │ │ │ │ │ +0000ece0: 6c6f 7765 6420 6279 2061 2064 6967 6974 lowed by a digit │ │ │ │ │ +0000ecf0: 206f 7220 6120 7469 636b 2063 6861 7261 or a tick chara │ │ │ │ │ +0000ed00: 6374 6572 2074 6861 7420 6973 2070 6172 cter that is par │ │ │ │ │ +0000ed10: 7420 6f66 2074 6865 2054 6558 2063 6f64 t of the TeX cod │ │ │ │ │ +0000ed20: 652e 0a0a 2020 2054 6865 206f 6e6c 7920 e... The only │ │ │ │ │ +0000ed30: 7573 6566 756c 206f 7074 696f 6e20 6f66 useful option of │ │ │ │ │ +0000ed40: 20e2 8098 7370 6563 6961 6ce2 8099 2069 ...special... i │ │ │ │ │ +0000ed50: 7320 e280 986c 6179 e280 992c 2077 6869 s ...lay..., whi │ │ │ │ │ +0000ed60: 6368 2064 6574 6572 6d69 6e65 7320 6966 ch determines if │ │ │ │ │ +0000ed70: 2074 6865 0a73 7562 7374 6974 7565 6420 the.substitued │ │ │ │ │ +0000ed80: 7261 7720 7465 7874 2069 7320 656d 6974 raw text is emit │ │ │ │ │ +0000ed90: 7465 6420 6265 666f 7265 2c20 6166 7465 ted before, afte │ │ │ │ │ +0000eda0: 722c 206f 7220 7573 696e 6720 7468 6520 r, or using the │ │ │ │ │ +0000edb0: 6669 7273 7420 706f 696e 740a 696e 2050 first point.in P │ │ │ │ │ +0000edc0: 4f49 4e54 5f4c 4953 5420 6173 2061 6e20 OINT_LIST as an │ │ │ │ │ +0000edd0: 696e 6469 6361 746f 7220 6f66 2064 6570 indicator of dep │ │ │ │ │ +0000ede0: 7468 2e20 2054 6865 7365 206f 6363 7572 th. These occur │ │ │ │ │ +0000edf0: 2c20 7265 7370 6563 7469 7665 6c79 2c20 , respectively, │ │ │ │ │ +0000ee00: 7769 7468 0ae2 8098 6c61 793d 756e 6465 with....lay=unde │ │ │ │ │ +0000ee10: 72e2 8099 2c20 e280 986c 6179 3d6f 7665 r..., ...lay=ove │ │ │ │ │ +0000ee20: 72e2 8099 2c20 616e 6420 e280 986c 6179 r..., and ...lay │ │ │ │ │ +0000ee30: 3d69 6ee2 8099 2e20 2053 6565 202a 6e6f =in.... See *no │ │ │ │ │ +0000ee40: 7465 2053 7065 6369 616c 206f 626a 6563 te Special objec │ │ │ │ │ +0000ee50: 7473 3a3a 2061 6e64 0a2a 6e6f 7465 2054 ts:: and.*note T │ │ │ │ │ +0000ee60: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ +0000ee70: 696e 6564 2073 7479 6c65 733a 3a20 666f ined styles:: fo │ │ │ │ │ +0000ee80: 7220 6578 616d 706c 6573 2e20 202a 4e6f r examples. *No │ │ │ │ │ +0000ee90: 7465 2049 6e74 6572 6e61 6c0a 6f70 7469 te Internal.opti │ │ │ │ │ +0000eea0: 6f6e 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 ons::.....File: │ │ │ │ │ +0000eeb0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +0000eec0: 6465 3a20 5377 6565 7073 2c20 204e 6578 de: Sweeps, Nex │ │ │ │ │ +0000eed0: 743a 2042 6c6f 636b 732c 2020 5072 6576 t: Blocks, Prev │ │ │ │ │ +0000eee0: 3a20 5370 6563 6961 6c73 2c20 2055 703a : Specials, Up: │ │ │ │ │ +0000eef0: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2. │ │ │ │ │ +0000ef00: 3620 5377 6565 7073 0a2d 2d2d 2d2d 2d2d 6 Sweeps.------- │ │ │ │ │ +0000ef10: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:* │ │ │ │ │ +0000ef20: 0a20 2020 2020 7377 6565 7020 7b20 4e2c . sweep { N, │ │ │ │ │ +0000ef30: 2054 5f31 2c20 545f 322c 202e 2e2e 2c20 T_1, T_2, ..., │ │ │ │ │ +0000ef40: 545f 5220 7d5b 4f50 5449 4f4e 535d 2053 T_R }[OPTIONS] S │ │ │ │ │ +0000ef50: 5745 5054 5f4f 424a 4543 540a 2020 2020 WEPT_OBJECT. │ │ │ │ │ +0000ef60: 2073 7765 6570 207b 204e 3c3e 2c20 545f sweep { N<>, T_ │ │ │ │ │ +0000ef70: 312c 2054 5f32 2c20 2e2e 2e2c 2054 5f52 1, T_2, ..., T_R │ │ │ │ │ +0000ef80: 207d 5b4f 5054 494f 4e53 5d20 5357 4550 }[OPTIONS] SWEP │ │ │ │ │ +0000ef90: 545f 4f42 4a45 4354 0a54 6865 2073 7765 T_OBJECT.The swe │ │ │ │ │ +0000efa0: 6570 2063 6f6e 6e65 6374 7320 4e20 286f ep connects N (o │ │ │ │ │ +0000efb0: 7220 7065 7268 6170 7320 4e2b 3129 2063 r perhaps N+1) c │ │ │ │ │ +0000efc0: 6f70 6965 7320 6f66 2053 5745 5054 5f4f opies of SWEPT_O │ │ │ │ │ +0000efd0: 424a 4543 5420 696e 206f 7264 6572 2074 BJECT in order t │ │ │ │ │ +0000efe0: 6f0a 6372 6561 7465 2061 206e 6577 206f o.create a new o │ │ │ │ │ +0000eff0: 626a 6563 7420 6f66 2068 6967 6865 7220 bject of higher │ │ │ │ │ +0000f000: 6469 6d65 6e73 696f 6e2e 2020 5468 6520 dimension. The │ │ │ │ │ +0000f010: 545f 4920 2866 6f72 2069 2062 6574 7765 T_I (for i betwe │ │ │ │ │ +0000f020: 656e 2031 2061 6e64 0a72 2920 6172 6520 en 1 and.r) are │ │ │ │ │ +0000f030: 7472 616e 7366 6f72 6d73 2e20 2054 6865 transforms. The │ │ │ │ │ +0000f040: 206b 2774 6820 636f 7079 206f 6620 5357 k'th copy of SW │ │ │ │ │ +0000f050: 4550 545f 4f42 4a45 4354 2069 7320 7072 EPT_OBJECT is pr │ │ │ │ │ +0000f060: 6f64 7563 6564 2062 790a 6170 706c 7969 oduced by.applyi │ │ │ │ │ +0000f070: 6e67 2074 6865 2066 6f6c 6c6f 7769 6e67 ng the following │ │ │ │ │ +0000f080: 2074 7261 6e73 666f 726d 2074 6f20 7468 transform to th │ │ │ │ │ +0000f090: 6520 6f72 6967 696e 616c 2e0a 2020 2020 e original.. │ │ │ │ │ +0000f0a0: 2054 5f31 5e6b 2074 6865 6e20 545f 325e T_1^k then T_2^ │ │ │ │ │ +0000f0b0: 6b20 7468 656e 202e 2e2e 2074 6865 6e20 k then ... then │ │ │ │ │ +0000f0c0: 545f 525e 6b0a 4865 7265 2054 5e6b 206d T_R^k.Here T^k m │ │ │ │ │ +0000f0d0: 6561 6e73 2022 7472 616e 7366 6f72 6d20 eans "transform │ │ │ │ │ +0000f0e0: 5420 6170 706c 6965 6420 6b20 7469 6d65 T applied k time │ │ │ │ │ +0000f0f0: 732e 2220 2054 6865 206f 7269 6769 6e61 s." The origina │ │ │ │ │ +0000f100: 6c20 6f62 6a65 6374 2069 730a 7468 6520 l object is.the │ │ │ │ │ +0000f110: 7a65 726f 2774 6820 636f 7079 2c20 7769 zero'th copy, wi │ │ │ │ │ +0000f120: 7468 206b 3d30 2061 6e64 2065 6666 6563 th k=0 and effec │ │ │ │ │ +0000f130: 7469 7665 6c79 206e 6f20 7472 616e 7366 tively no transf │ │ │ │ │ +0000f140: 6f72 6d20 6170 706c 6965 6420 2854 5e30 orm applied (T^0 │ │ │ │ │ +0000f150: 3d49 2c0a 7468 6520 6964 656e 7469 7479 =I,.the identity │ │ │ │ │ +0000f160: 2074 7261 6e73 666f 726d 292e 0a0a 2020 transform)... │ │ │ │ │ +0000f170: 2054 6865 206d 6574 686f 6420 6f66 2063 The method of c │ │ │ │ │ +0000f180: 6f6e 6e65 6374 696e 6720 7468 6520 636f onnecting the co │ │ │ │ │ +0000f190: 7069 6573 2064 6570 656e 6473 206f 6e20 pies depends on │ │ │ │ │ +0000f1a0: 7468 6520 7479 7065 206f 660a 5357 4550 the type of.SWEP │ │ │ │ │ +0000f1b0: 545f 4f42 4a45 4354 2061 6e64 206f 6e20 T_OBJECT and on │ │ │ │ │ +0000f1c0: 7768 6574 6865 7220 7468 6520 636c 6f73 whether the clos │ │ │ │ │ +0000f1d0: 7572 6520 7461 6720 e280 983c 3ee2 8099 ure tag ...<>... │ │ │ │ │ +0000f1e0: 2069 7320 7072 6573 656e 7420 6f72 206e is present or n │ │ │ │ │ +0000f1f0: 6f74 2e0a 0a20 2020 416e 2065 7861 6d70 ot... An examp │ │ │ │ │ +0000f200: 6c65 206f 6620 6120 7377 6565 7020 7768 le of a sweep wh │ │ │ │ │ +0000f210: 6572 6520 723d 3220 6973 2074 6865 204d ere r=2 is the M │ │ │ │ │ +0000f220: 6f62 6975 7320 6669 6775 7265 2061 7420 obius figure at │ │ │ │ │ +0000f230: 2a6e 6f74 6520 4d6f 7265 2074 6f0a 6c65 *note More to.le │ │ │ │ │ +0000f240: 6172 6e3a 3a2e 0a0a 2a20 4d65 6e75 3a0a arn::...* Menu:. │ │ │ │ │ +0000f250: 0a2a 2053 7765 7074 2070 6f69 6e74 733a .* Swept points: │ │ │ │ │ +0000f260: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000f270: 2053 7765 7074 2070 6f69 6e74 7320 6d61 Swept points ma │ │ │ │ │ +0000f280: 6b65 206c 696e 6573 206f 7220 706f 6c79 ke lines or poly │ │ │ │ │ +0000f290: 676f 6e73 2e0a 2a20 5377 6570 7420 6c69 gons..* Swept li │ │ │ │ │ +0000f2a0: 6e65 733a 3a20 2020 2020 2020 2020 2020 nes:: │ │ │ │ │ +0000f2b0: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line │ │ │ │ │ +0000f2c0: 7320 6d61 6b65 206f 7065 6e20 6f72 2063 s make open or c │ │ │ │ │ +0000f2d0: 6c6f 7365 6420 7375 7266 6163 6573 2e0a losed surfaces.. │ │ │ │ │ +0000f2e0: 2a20 5377 6570 7420 706f 6c79 676f 6e73 * Swept polygons │ │ │ │ │ +0000f2f0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: │ │ │ │ │ +0000f300: 5377 6570 7420 706f 6c79 676f 6e73 206d Swept polygons m │ │ │ │ │ +0000f310: 616b 6520 636c 6f73 6564 2073 7572 6661 ake closed surfa │ │ │ │ │ +0000f320: 6365 732e 0a2a 2053 7765 7074 2062 6c6f ces..* Swept blo │ │ │ │ │ +0000f330: 636b 733a 3a20 2020 2020 2020 2020 2020 cks:: │ │ │ │ │ +0000f340: 2020 2020 2053 7765 7074 2062 6c6f 636b Swept block │ │ │ │ │ +0000f350: 20e2 89a1 2062 6c6f 636b 206f 6620 7377 ... block of sw │ │ │ │ │ +0000f360: 6565 7073 2e0a 2a20 5377 6565 7020 6661 eeps..* Sweep fa │ │ │ │ │ +0000f370: 6365 2073 706c 6974 7469 6e67 3a3a 2020 ce splitting:: │ │ │ │ │ +0000f380: 2020 2020 2020 4669 7869 6e67 2077 6172 Fixing war │ │ │ │ │ +0000f390: 7065 6420 6661 6365 7320 7769 7468 2074 ped faces with t │ │ │ │ │ +0000f3a0: 7269 616e 676c 6573 2e0a 0a1f 0a46 696c riangles.....Fil │ │ │ │ │ +0000f3b0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +0000f3c0: 204e 6f64 653a 2053 7765 7074 2070 6f69 Node: Swept poi │ │ │ │ │ +0000f3d0: 6e74 732c 2020 4e65 7874 3a20 5377 6570 nts, Next: Swep │ │ │ │ │ +0000f3e0: 7420 6c69 6e65 732c 2020 5072 6576 3a20 t lines, Prev: │ │ │ │ │ +0000f3f0: 5377 6565 7073 2c20 2055 703a 2053 7765 Sweeps, Up: Swe │ │ │ │ │ +0000f400: 6570 730a 0a33 2e32 2e36 2e31 2053 7765 eps..3.2.6.1 Swe │ │ │ │ │ +0000f410: 7074 2070 6f69 6e74 730a 2e2e 2e2e 2e2e pt points....... │ │ │ │ │ +0000f420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................ │ │ │ │ │ +0000f430: 4966 2053 5745 5054 5f4f 424a 4543 5420 If SWEPT_OBJECT │ │ │ │ │ +0000f440: 6973 2061 2070 6f69 6e74 206c 6973 7420 is a point list │ │ │ │ │ +0000f450: 616e 6420 7468 6572 6520 6973 206e 6f20 and there is no │ │ │ │ │ +0000f460: 636c 6f73 7572 6520 7461 672c 2074 6865 closure tag, the │ │ │ │ │ +0000f470: 6e0a e280 9873 7765 6570 e280 9920 636f n....sweep... co │ │ │ │ │ +0000f480: 6e6e 6563 7473 204e 2b31 2073 7563 6365 nnects N+1 succe │ │ │ │ │ +0000f490: 7373 6976 6520 636f 7069 6573 206f 6620 ssive copies of │ │ │ │ │ +0000f4a0: 6561 6368 2070 6f69 6e74 2028 696e 636c each point (incl │ │ │ │ │ +0000f4b0: 7564 696e 6720 7468 650a 6f72 6967 696e uding the.origin │ │ │ │ │ +0000f4c0: 616c 2920 7769 7468 2073 7472 6169 6768 al) with straigh │ │ │ │ │ +0000f4d0: 7420 6c69 6e65 2073 6567 6d65 6e74 7320 t line segments │ │ │ │ │ +0000f4e0: 746f 2066 6f72 6d20 6120 706f 6c79 6c69 to form a polyli │ │ │ │ │ +0000f4f0: 6e65 2e20 2049 6620 7468 6572 6520 6172 ne. If there ar │ │ │ │ │ +0000f500: 650a 6d20 706f 696e 7473 2069 6e20 7468 e.m points in th │ │ │ │ │ +0000f510: 6520 6f72 6967 696e 616c 2070 6f69 6e74 e original point │ │ │ │ │ +0000f520: 206c 6973 742c 2074 6865 6e20 6d20 706f list, then m po │ │ │ │ │ +0000f530: 6c79 6c69 6e65 7320 7769 7468 204e 2073 lylines with N s │ │ │ │ │ +0000f540: 6567 6d65 6e74 730a 6561 6368 2061 7265 egments.each are │ │ │ │ │ +0000f550: 2066 6f72 6d65 6420 6279 2074 6865 2073 formed by the s │ │ │ │ │ +0000f560: 7765 6570 2e20 2049 6e20 7468 6973 206d weep. In this m │ │ │ │ │ +0000f570: 616e 6e65 722c 20e2 8098 7377 6565 70e2 anner, ...sweep. │ │ │ │ │ +0000f580: 8099 2066 6f72 6d73 2061 2073 6574 206f .. forms a set o │ │ │ │ │ +0000f590: 660a 6f6e 652d 6469 6d65 6e73 696f 6e61 f.one-dimensiona │ │ │ │ │ +0000f5a0: 6c20 6f62 6a65 6374 7320 2870 6f6c 796c l objects (polyl │ │ │ │ │ +0000f5b0: 696e 6573 2920 6672 6f6d 207a 6572 6f2d ines) from zero- │ │ │ │ │ +0000f5c0: 6469 6d65 6e73 696f 6e61 6c20 6f6e 6573 dimensional ones │ │ │ │ │ +0000f5d0: 2028 706f 696e 7473 292e 0a0a 2020 2057 (points)... W │ │ │ │ │ +0000f5e0: 6865 6e20 7468 6572 6520 5f69 735f 2061 hen there _is_ a │ │ │ │ │ +0000f5f0: 2063 6c6f 7375 7265 2074 6167 2c20 e280 closure tag, .. │ │ │ │ │ +0000f600: 9873 7765 6570 e280 9920 636f 6e6e 6563 .sweep... connec │ │ │ │ │ +0000f610: 7473 204e 2073 7563 6365 7373 6976 6520 ts N successive │ │ │ │ │ +0000f620: 636f 7069 6573 0a6f 6620 6561 6368 2070 copies.of each p │ │ │ │ │ +0000f630: 6f69 6e74 2028 696e 636c 7564 696e 6720 oint (including │ │ │ │ │ +0000f640: 7468 6520 6f72 6967 696e 616c 2920 7769 the original) wi │ │ │ │ │ +0000f650: 7468 2073 7472 6169 6768 7420 6c69 6e65 th straight line │ │ │ │ │ +0000f660: 2073 6567 6d65 6e74 7320 616e 640a 6669 segments and.fi │ │ │ │ │ +0000f670: 6e61 6c6c 7920 636f 6e6e 6563 7473 2074 nally connects t │ │ │ │ │ +0000f680: 6865 206c 6173 7420 636f 7079 2062 6163 he last copy bac │ │ │ │ │ +0000f690: 6b20 746f 2074 6865 206f 7269 6769 6e61 k to the origina │ │ │ │ │ +0000f6a0: 6c20 746f 2066 6f72 6d20 6120 706f 6c79 l to form a poly │ │ │ │ │ +0000f6b0: 676f 6e0a 7769 7468 204e 2073 6964 6573 gon.with N sides │ │ │ │ │ +0000f6c0: 2e20 2049 6620 7468 6572 6520 6172 6520 . If there are │ │ │ │ │ +0000f6d0: 6d20 706f 696e 7473 2069 6e20 7468 6520 m points in the │ │ │ │ │ +0000f6e0: 6f72 6967 696e 616c 2070 6f69 6e74 206c original point l │ │ │ │ │ +0000f6f0: 6973 742c 2074 6865 6e20 6d0a 706f 6c79 ist, then m.poly │ │ │ │ │ +0000f700: 676f 6e73 2077 6974 6820 4e20 7369 6465 gons with N side │ │ │ │ │ +0000f710: 7320 6561 6368 2061 7265 2066 6f72 6d65 s each are forme │ │ │ │ │ +0000f720: 6420 6279 2074 6865 2073 7765 6570 2e20 d by the sweep. │ │ │ │ │ +0000f730: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner, │ │ │ │ │ +0000f740: 0ae2 8098 7377 6565 70e2 8099 2066 6f72 ....sweep... for │ │ │ │ │ +0000f750: 6d73 2061 2073 6574 206f 6620 7477 6f2d ms a set of two- │ │ │ │ │ +0000f760: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje │ │ │ │ │ +0000f770: 6374 7320 2870 6f6c 7967 6f6e 7329 2066 cts (polygons) f │ │ │ │ │ +0000f780: 726f 6d0a 7a65 726f 2d64 696d 656e 7369 rom.zero-dimensi │ │ │ │ │ +0000f790: 6f6e 616c 206f 6e65 7320 2870 6f69 6e74 onal ones (point │ │ │ │ │ +0000f7a0: 7329 2e0a 0a20 2020 4f70 7469 6f6e 7320 s)... Options │ │ │ │ │ +0000f7b0: 6f66 2074 6865 20e2 8098 7377 6565 70e2 of the ...sweep. │ │ │ │ │ +0000f7c0: 8099 2061 7265 2063 6f70 6965 6420 6469 .. are copied di │ │ │ │ │ +0000f7d0: 7265 6374 6c79 2074 6f20 7468 6520 7265 rectly to the re │ │ │ │ │ +0000f7e0: 7375 6c74 696e 670a 706f 6c79 6c69 6e65 sulting.polyline │ │ │ │ │ +0000f7f0: 2873 292e 0a0a 1f0a 4669 6c65 3a20 736b (s).....File: sk │ │ │ │ │ +0000f800: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +0000f810: 3a20 5377 6570 7420 6c69 6e65 732c 2020 : Swept lines, │ │ │ │ │ +0000f820: 4e65 7874 3a20 5377 6570 7420 706f 6c79 Next: Swept poly │ │ │ │ │ +0000f830: 676f 6e73 2c20 2050 7265 763a 2053 7765 gons, Prev: Swe │ │ │ │ │ +0000f840: 7074 2070 6f69 6e74 732c 2020 5570 3a20 pt points, Up: │ │ │ │ │ +0000f850: 5377 6565 7073 0a0a 332e 322e 362e 3220 Sweeps..3.2.6.2 │ │ │ │ │ +0000f860: 5377 6570 7420 6c69 6e65 730a 2e2e 2e2e Swept lines..... │ │ │ │ │ +0000f870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................ │ │ │ │ │ +0000f880: 0a49 6620 5357 4550 545f 4f42 4a45 4354 .If SWEPT_OBJECT │ │ │ │ │ +0000f890: 2069 7320 6120 706f 6c79 6c69 6e65 2061 is a polyline a │ │ │ │ │ +0000f8a0: 6e64 2074 6865 7265 2069 7320 6e6f 2063 nd there is no c │ │ │ │ │ +0000f8b0: 6c6f 7375 7265 2074 6167 2c20 7468 656e losure tag, then │ │ │ │ │ +0000f8c0: 20e2 8098 7377 6565 70e2 8099 0a63 6f6e ...sweep....con │ │ │ │ │ +0000f8d0: 6e65 6374 7320 4e2b 3120 7375 6363 6573 nects N+1 succes │ │ │ │ │ +0000f8e0: 7369 7665 2063 6f70 6965 7320 6f66 2074 sive copies of t │ │ │ │ │ +0000f8f0: 6865 2070 6f6c 796c 696e 6520 2869 6e63 he polyline (inc │ │ │ │ │ +0000f900: 6c75 6469 6e67 2074 6865 206f 7269 6769 luding the origi │ │ │ │ │ +0000f910: 6e61 6c29 0a77 6974 6820 666f 7572 2d73 nal).with four-s │ │ │ │ │ +0000f920: 6964 6564 2070 6f6c 7967 6f6e 732c 2065 ided polygons, e │ │ │ │ │ +0000f930: 6163 6820 7061 6972 206f 6620 636f 7069 ach pair of copi │ │ │ │ │ +0000f940: 6573 2067 6976 696e 6720 7269 7365 2074 es giving rise t │ │ │ │ │ +0000f950: 6f20 6120 2270 6f6c 7967 6f6e 0a73 7472 o a "polygon.str │ │ │ │ │ +0000f960: 6970 2e22 2020 4966 2074 6865 7265 2061 ip." If there a │ │ │ │ │ +0000f970: 7265 206d 2070 6f69 6e74 7320 696e 2074 re m points in t │ │ │ │ │ +0000f980: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly │ │ │ │ │ +0000f990: 6c69 6e65 2c20 7468 656e 2028 6d2d 3129 line, then (m-1) │ │ │ │ │ +0000f9a0: 4e0a 706f 6c79 676f 6e73 2061 7265 2066 N.polygons are f │ │ │ │ │ +0000f9b0: 6f72 6d65 6420 6279 2074 6865 2073 7765 ormed by the swe │ │ │ │ │ +0000f9c0: 6570 2e20 2057 6520 6361 6c6c 2074 6865 ep. We call the │ │ │ │ │ +0000f9d0: 7365 20e2 809c 626f 6479 2070 6f6c 7967 se ...body polyg │ │ │ │ │ +0000f9e0: 6f6e 73e2 809d 2e20 2049 6e0a 7468 6973 ons.... In.this │ │ │ │ │ +0000f9f0: 206d 616e 6e65 722c 20e2 8098 7377 6565 manner, ...swee │ │ │ │ │ +0000fa00: 70e2 8099 2066 6f72 6d73 2061 2074 776f p... forms a two │ │ │ │ │ +0000fa10: 2d64 696d 656e 7369 6f6e 616c 2073 7572 -dimensional sur │ │ │ │ │ +0000fa20: 6661 6365 2066 726f 6d20 6672 6f6d 2061 face from from a │ │ │ │ │ +0000fa30: 0a6f 6e65 2d64 696d 656e 7369 6f6e 616c .one-dimensional │ │ │ │ │ +0000fa40: 2070 6f6c 796c 696e 652e 0a0a 2020 2054 polyline... T │ │ │ │ │ +0000fa50: 6865 206f 7264 6572 206f 6620 7665 7274 he order of vert │ │ │ │ │ +0000fa60: 6963 6573 2070 726f 6475 6365 6420 6279 ices produced by │ │ │ │ │ +0000fa70: 20e2 8098 7377 6565 70e2 8099 2069 7320 ...sweep... is │ │ │ │ │ +0000fa80: 696d 706f 7274 616e 742e 2020 4966 2061 important. If a │ │ │ │ │ +0000fa90: 0a70 6f6c 7967 6f6e 2773 2076 6572 7469 .polygon's verti │ │ │ │ │ +0000faa0: 6365 7320 646f 206e 6f74 2061 7070 6561 ces do not appea │ │ │ │ │ +0000fab0: 7220 696e 2063 6f75 6e74 6572 2d63 6c6f r in counter-clo │ │ │ │ │ +0000fac0: 636b 7769 7365 206f 7264 6572 2069 6e20 ckwise order in │ │ │ │ │ +0000fad0: 7468 6520 6669 6e61 6c0a 696d 6167 652c the final.image, │ │ │ │ │ +0000fae0: 2074 6865 2070 6f6c 7967 6f6e 2077 696c the polygon wil │ │ │ │ │ +0000faf0: 6c20 6265 2063 756c 6c65 6420 2875 6e6c l be culled (unl │ │ │ │ │ +0000fb00: 6573 7320 e280 9863 756c 6c3d 6661 6c73 ess ...cull=fals │ │ │ │ │ +0000fb10: 65e2 8099 2069 7320 7365 7429 2e20 2049 e... is set). I │ │ │ │ │ +0000fb20: 6620 7468 650a 706f 696e 7473 2069 6e20 f the.points in │ │ │ │ │ +0000fb30: 7468 6520 6b27 7468 2063 6f70 7920 6f66 the k'th copy of │ │ │ │ │ +0000fb40: 2074 6865 2070 6f6c 796c 696e 6520 6172 the polyline ar │ │ │ │ │ +0000fb50: 6520 505f 312c 2050 5f32 2c20 2e2e 2e2c e P_1, P_2, ..., │ │ │ │ │ +0000fb60: 2050 5f6d 2c20 616e 6420 7468 650a 706f P_m, and the.po │ │ │ │ │ +0000fb70: 696e 7473 2069 6e20 7468 6520 6e65 7874 ints in the next │ │ │ │ │ +0000fb80: 2063 6f70 792c 2074 6865 2028 6b2b 3129 copy, the (k+1) │ │ │ │ │ +0000fb90: 7374 2c20 6172 6520 505f 3127 2c20 505f st, are P_1', P_ │ │ │ │ │ +0000fba0: 3227 2c20 2e2e 2e2c 2050 5f6d 272c 2074 2', ..., P_m', t │ │ │ │ │ +0000fbb0: 6865 6e0a 7468 6520 7665 7274 6578 206f hen.the vertex o │ │ │ │ │ +0000fbc0: 7264 6572 206f 6620 7468 6520 6765 6e65 rder of the gene │ │ │ │ │ +0000fbd0: 7261 7465 6420 706f 6c79 676f 6e73 2069 rated polygons i │ │ │ │ │ +0000fbe0: 730a 2020 2020 2042 6f64 7920 706f 6c79 s. Body poly │ │ │ │ │ +0000fbf0: 676f 6e20 313a 2050 5f32 2050 5f31 2050 gon 1: P_2 P_1 P │ │ │ │ │ +0000fc00: 5f31 2720 505f 3227 0a20 2020 2020 426f _1' P_2'. Bo │ │ │ │ │ +0000fc10: 6479 2070 6f6c 7967 6f6e 2032 3a20 505f dy polygon 2: P_ │ │ │ │ │ +0000fc20: 3320 505f 3220 505f 3227 2050 5f33 270a 3 P_2 P_2' P_3'. │ │ │ │ │ +0000fc30: 2020 2020 202e 2e2e 0a20 2020 2020 426f .... Bo │ │ │ │ │ +0000fc40: 6479 2070 6f6c 7967 6f6e 206d 2d31 3a20 dy polygon m-1: │ │ │ │ │ +0000fc50: 505f 6d20 505f 7b6d 2d31 7d20 505f 7b6d P_m P_{m-1} P_{m │ │ │ │ │ +0000fc60: 2d31 7d27 2050 5f6d 270a 0a20 2020 4f70 -1}' P_m'.. Op │ │ │ │ │ +0000fc70: 7469 6f6e 7320 6f66 2075 6e63 6c6f 7365 tions of unclose │ │ │ │ │ +0000fc80: 6420 6c69 6e65 2073 7765 6570 7320 6172 d line sweeps ar │ │ │ │ │ +0000fc90: 6520 636f 7069 6564 2074 6f20 6561 6368 e copied to each │ │ │ │ │ +0000fca0: 206f 7574 7075 7420 706f 6c79 676f 6e2e output polygon. │ │ │ │ │ +0000fcb0: 0a4f 7074 696f 6e73 206f 6620 7468 6520 .Options of the │ │ │ │ │ +0000fcc0: 7377 6570 7420 6c69 6e65 2061 7265 2069 swept line are i │ │ │ │ │ +0000fcd0: 676e 6f72 6564 2e0a 0a20 2020 5768 656e gnored... When │ │ │ │ │ +0000fce0: 2074 6865 7265 205f 6973 5f20 6120 636c there _is_ a cl │ │ │ │ │ +0000fcf0: 6f73 7572 6520 7461 672c 2074 6865 6e20 osure tag, then │ │ │ │ │ +0000fd00: e280 9873 7765 6570 e280 9920 636f 6e6e ...sweep... conn │ │ │ │ │ +0000fd10: 6563 7473 204e 2073 7563 6365 7373 6976 ects N successiv │ │ │ │ │ +0000fd20: 650a 636f 7069 6573 206f 6620 7468 6520 e.copies of the │ │ │ │ │ +0000fd30: 706f 6c79 6c69 6e65 2028 696e 636c 7564 polyline (includ │ │ │ │ │ +0000fd40: 696e 6720 7468 6520 6f72 6967 696e 616c ing the original │ │ │ │ │ +0000fd50: 2920 7769 7468 2066 6f75 722d 7369 6465 ) with four-side │ │ │ │ │ +0000fd60: 6420 626f 6479 0a70 6f6c 7967 6f6e 7320 d body.polygons │ │ │ │ │ +0000fd70: 6a75 7374 2061 7320 7468 6520 6361 7365 just as the case │ │ │ │ │ +0000fd80: 2077 6974 6820 6e6f 2063 6c6f 7375 7265 with no closure │ │ │ │ │ +0000fd90: 2074 6167 2e20 2049 7420 7468 656e 2063 tag. It then c │ │ │ │ │ +0000fda0: 6f6e 6e65 6374 7320 7468 650a 6c61 7374 onnects the.last │ │ │ │ │ +0000fdb0: 2063 6f70 7920 6261 636b 2074 6f20 7468 copy back to th │ │ │ │ │ +0000fdc0: 6520 6f72 6967 696e 616c 2074 6f20 666f e original to fo │ │ │ │ │ +0000fdd0: 726d 2061 2072 6962 626f 6e2d 7368 6170 rm a ribbon-shap │ │ │ │ │ +0000fde0: 6564 2073 7572 6661 6365 2074 6861 740a ed surface that. │ │ │ │ │ +0000fdf0: 636c 6f73 6573 206f 6e20 6974 7365 6c66 closes on itself │ │ │ │ │ +0000fe00: 2077 6974 6820 7477 6f20 686f 6c65 7320 with two holes │ │ │ │ │ +0000fe10: 7265 6d61 696e 696e 672e 0a0a 2020 2046 remaining... F │ │ │ │ │ +0000fe20: 696e 616c 6c79 2c20 7468 6520 7377 6565 inally, the swee │ │ │ │ │ +0000fe30: 7020 6164 6473 2074 776f 206d 6f72 6520 p adds two more │ │ │ │ │ +0000fe40: 706f 6c79 676f 6e73 2074 6f20 7365 616c polygons to seal │ │ │ │ │ +0000fe50: 2074 6865 2068 6f6c 6573 2061 6e64 2066 the holes and f │ │ │ │ │ +0000fe60: 6f72 6d0a 6120 636c 6f73 6564 2073 7572 orm.a closed sur │ │ │ │ │ +0000fe70: 6661 6365 2074 6861 742c 2064 6570 656e face that, depen │ │ │ │ │ +0000fe80: 6469 6e67 206f 6e20 7468 6520 7377 6565 ding on the swee │ │ │ │ │ +0000fe90: 7020 7472 616e 7366 6f72 6d73 2c20 6d61 p transforms, ma │ │ │ │ │ +0000fea0: 7920 7265 7072 6573 656e 740a 7468 6520 y represent.the │ │ │ │ │ +0000feb0: 626f 756e 6461 7279 206f 6620 6120 736f boundary of a so │ │ │ │ │ +0000fec0: 6c69 642e 2020 496e 2074 6869 7320 6d61 lid. In this ma │ │ │ │ │ +0000fed0: 6e6e 6572 2c20 e280 9873 7765 6570 e280 nner, ...sweep.. │ │ │ │ │ +0000fee0: 9920 666f 726d 7320 7468 6520 626f 756e . forms the boun │ │ │ │ │ +0000fef0: 6461 7279 206f 660a 6120 7468 7265 652d dary of.a three- │ │ │ │ │ +0000ff00: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje │ │ │ │ │ +0000ff10: 6374 2066 726f 6d20 6120 6f6e 652d 6469 ct from a one-di │ │ │ │ │ +0000ff20: 6d65 6e73 696f 6e61 6c20 706f 6c79 6c69 mensional polyli │ │ │ │ │ +0000ff30: 6e65 2e20 2057 6520 6361 6c6c 0a74 6865 ne. We call.the │ │ │ │ │ +0000ff40: 7365 2068 6f6c 652d 6669 6c6c 696e 6720 se hole-filling │ │ │ │ │ +0000ff50: 706f 6c79 676f 6e73 20e2 809c 656e 6473 polygons ...ends │ │ │ │ │ +0000ff60: e280 9d2e 0a0a 2020 2054 6865 206f 7264 ...... The ord │ │ │ │ │ +0000ff70: 6572 206f 6620 7665 7274 6963 6573 206f er of vertices o │ │ │ │ │ +0000ff80: 6620 656e 6420 706f 6c79 676f 6e73 2069 f end polygons i │ │ │ │ │ +0000ff90: 7320 696d 706f 7274 616e 7420 666f 7220 s important for │ │ │ │ │ +0000ffa0: 636f 7272 6563 740a 6375 6c6c 696e 6720 correct.culling │ │ │ │ │ +0000ffb0: 6173 2064 6573 6372 6962 6564 2061 626f as described abo │ │ │ │ │ +0000ffc0: 7665 2e20 2049 6620 505f 315e 312c 2050 ve. If P_1^1, P │ │ │ │ │ +0000ffd0: 5f31 5e32 2c20 2e2e 2e2c 2050 5f31 5e6e _1^2, ..., P_1^n │ │ │ │ │ +0000ffe0: 2061 7265 2074 6865 204e 0a63 6f70 6965 are the N.copie │ │ │ │ │ +0000fff0: 7320 6f66 2074 6865 2066 6972 7374 2070 s of the first p │ │ │ │ │ +00010000: 6f6c 796c 696e 6520 706f 696e 7420 616e olyline point an │ │ │ │ │ +00010010: 6420 505f 6d5e 312c 2050 5f6d 5e32 2c20 d P_m^1, P_m^2, │ │ │ │ │ +00010020: 2e2e 2e20 2c50 5f6d 5e6e 2061 7265 2074 ... ,P_m^n are t │ │ │ │ │ +00010030: 6865 0a4e 2063 6f70 6965 7320 6f66 2074 he.N copies of t │ │ │ │ │ +00010040: 6865 206c 6173 7420 706f 6c79 6c69 6e65 he last polyline │ │ │ │ │ +00010050: 2070 6f69 6e74 2c20 7468 656e 2074 6865 point, then the │ │ │ │ │ +00010060: 2065 6e64 2070 6f6c 7967 6f6e 2076 6572 end polygon ver │ │ │ │ │ +00010070: 7465 7820 6f72 6465 720a 6973 0a20 2020 tex order.is. │ │ │ │ │ +00010080: 2020 456e 6420 706f 6c79 676f 6e20 313a End polygon 1: │ │ │ │ │ +00010090: 2050 5f31 5e6e 2c20 505f 315e 7b6e 2d31 P_1^n, P_1^{n-1 │ │ │ │ │ +000100a0: 7d2c 202e 2e2e 202c 505f 315e 310a 2020 }, ... ,P_1^1. │ │ │ │ │ +000100b0: 2020 2045 6e64 2070 6f6c 7967 6f6e 2032 End polygon 2 │ │ │ │ │ +000100c0: 3a20 505f 6d5e 312c 2050 5f6d 5e32 2c20 : P_m^1, P_m^2, │ │ │ │ │ +000100d0: 2e2e 2e20 2c50 5f6d 5e6e 0a0a 2020 2049 ... ,P_m^n.. I │ │ │ │ │ +000100e0: 6620 7468 6572 6520 6172 6520 6e6f 206f f there are no o │ │ │ │ │ +000100f0: 7074 696f 6e73 206f 6e20 7468 6520 7377 ptions on the sw │ │ │ │ │ +00010100: 6570 7420 6c69 6e65 2c20 7468 656e 2074 ept line, then t │ │ │ │ │ +00010110: 6865 20e2 8098 7377 6565 70e2 8099 206f he ...sweep... o │ │ │ │ │ +00010120: 7074 696f 6e73 0a61 7265 2063 6f70 6965 ptions.are copie │ │ │ │ │ +00010130: 6420 746f 2065 6163 6820 6f75 7470 7574 d to each output │ │ │ │ │ +00010140: 2070 6f6c 7967 6f6e 2e20 2049 6620 7468 polygon. If th │ │ │ │ │ +00010150: 6520 7377 6570 7420 6c69 6e65 2064 6f65 e swept line doe │ │ │ │ │ +00010160: 7320 6861 7665 206f 7074 696f 6e73 2c0a s have options,. │ │ │ │ │ +00010170: 7468 6573 6520 6172 6520 636f 7069 6564 these are copied │ │ │ │ │ +00010180: 2074 6f20 636f 7272 6573 706f 6e64 696e to correspondin │ │ │ │ │ +00010190: 6720 626f 6479 2070 6f6c 7967 6f6e 733b g body polygons; │ │ │ │ │ +000101a0: 2074 6865 2073 7765 6570 206f 7074 696f the sweep optio │ │ │ │ │ +000101b0: 6e73 2061 7265 0a63 6f70 6965 6420 746f ns are.copied to │ │ │ │ │ +000101c0: 2074 6865 2065 6e64 2070 6f6c 7967 6f6e the end polygon │ │ │ │ │ +000101d0: 732e 2020 496e 2074 6869 7320 6d61 6e6e s. In this mann │ │ │ │ │ +000101e0: 6572 2c20 626f 6479 2061 6e64 2065 6e64 er, body and end │ │ │ │ │ +000101f0: 7320 6d61 7920 6265 2064 7261 776e 0a77 s may be drawn.w │ │ │ │ │ +00010200: 6974 6820 6469 6666 6572 656e 7420 6368 ith different ch │ │ │ │ │ +00010210: 6172 6163 7465 7269 7374 6963 7320 7375 aracteristics su │ │ │ │ │ +00010220: 6368 2061 7320 e280 9866 696c 6c63 6f6c ch as ...fillcol │ │ │ │ │ +00010230: 6f72 e280 992e 0a0a 1f0a 4669 6c65 3a20 or........File: │ │ │ │ │ +00010240: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ +00010250: 6465 3a20 5377 6570 7420 706f 6c79 676f de: Swept polygo │ │ │ │ │ +00010260: 6e73 2c20 204e 6578 743a 2053 7765 7074 ns, Next: Swept │ │ │ │ │ +00010270: 2062 6c6f 636b 732c 2020 5072 6576 3a20 blocks, Prev: │ │ │ │ │ +00010280: 5377 6570 7420 6c69 6e65 732c 2020 5570 Swept lines, Up │ │ │ │ │ +00010290: 3a20 5377 6565 7073 0a0a 332e 322e 362e : Sweeps..3.2.6. │ │ │ │ │ +000102a0: 3320 5377 6570 7420 706f 6c79 676f 6e73 3 Swept polygons │ │ │ │ │ +000102b0: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +000102c0: 2e2e 2e2e 2e2e 2e0a 0a49 6620 5357 4550 .........If SWEP │ │ │ │ │ +000102d0: 545f 4f42 4a45 4354 2069 7320 6120 706f T_OBJECT is a po │ │ │ │ │ +000102e0: 6c79 676f 6e2c 2074 6865 20e2 8098 7377 lygon, the ...sw │ │ │ │ │ +000102f0: 6565 70e2 8099 2063 6f6e 6e65 6374 7320 eep... connects │ │ │ │ │ +00010300: 4e2b 3120 7375 6363 6573 7369 7665 2063 N+1 successive c │ │ │ │ │ +00010310: 6f70 6965 730a 6f66 2074 6865 2063 6c6f opies.of the clo │ │ │ │ │ +00010320: 7365 6420 706f 6c79 6c69 6e65 2062 6f72 sed polyline bor │ │ │ │ │ +00010330: 6465 7220 6f66 2074 6865 2070 6f6c 7967 der of the polyg │ │ │ │ │ +00010340: 6f6e 2074 6f20 666f 726d 2062 6f64 7920 on to form body │ │ │ │ │ +00010350: 706f 6c79 676f 6e73 0a65 7861 6374 6c79 polygons.exactly │ │ │ │ │ +00010360: 2061 7320 7468 6f75 6768 2074 6865 2062 as though the b │ │ │ │ │ +00010370: 6f72 6465 7220 7765 7265 2061 2073 7765 order were a swe │ │ │ │ │ +00010380: 7074 2070 6f6c 796c 696e 6520 6173 2064 pt polyline as d │ │ │ │ │ +00010390: 6573 6372 6962 6564 2069 6e20 2a6e 6f74 escribed in *not │ │ │ │ │ +000103a0: 650a 5377 6570 7420 6c69 6e65 733a 3a2e e.Swept lines::. │ │ │ │ │ +000103b0: 2020 4966 2074 6865 7265 2061 7265 206d If there are m │ │ │ │ │ +000103c0: 2070 6f69 6e74 7320 696e 2074 6865 206f points in the o │ │ │ │ │ +000103d0: 7269 6769 6e61 6c20 706f 6c79 676f 6e2c riginal polygon, │ │ │ │ │ +000103e0: 2074 6865 6e20 6d4e 0a62 6f64 7920 706f then mN.body po │ │ │ │ │ +000103f0: 6c79 676f 6e73 2061 7265 2066 6f72 6d65 lygons are forme │ │ │ │ │ +00010400: 6420 6279 2074 6869 7320 7377 6565 702e d by this sweep. │ │ │ │ │ +00010410: 2020 5468 6520 626f 6479 2070 6f6c 7967 The body polyg │ │ │ │ │ +00010420: 6f6e 7320 666f 726d 2061 6e0a e280 9c65 ons form an....e │ │ │ │ │ +00010430: 7874 7275 7369 6f6e e280 9d20 6f66 2074 xtrusion... of t │ │ │ │ │ +00010440: 6865 2062 6f75 6e64 6172 7920 6f66 2074 he boundary of t │ │ │ │ │ +00010450: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly │ │ │ │ │ +00010460: 676f 6e20 7769 7468 2074 776f 2068 6f6c gon with two hol │ │ │ │ │ +00010470: 6573 2061 740a 7468 6520 6f70 656e 2065 es at.the open e │ │ │ │ │ +00010480: 6e64 732e 0a0a 2020 2046 696e 616c 6c79 nds... Finally │ │ │ │ │ +00010490: 2c20 7468 6520 7377 6565 7020 6164 6473 , the sweep adds │ │ │ │ │ +000104a0: 2074 776f 2063 6f70 6965 7320 6f66 2074 two copies of t │ │ │ │ │ +000104b0: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly │ │ │ │ │ +000104c0: 676f 6e20 746f 2063 6f76 6572 0a74 6865 gon to cover.the │ │ │ │ │ +000104d0: 2068 6f6c 6573 2e20 2057 6520 6361 6c6c holes. We call │ │ │ │ │ +000104e0: 2074 6865 7365 2068 6f6c 652d 6669 6c6c these hole-fill │ │ │ │ │ +000104f0: 696e 6720 706f 6c79 676f 6e73 20e2 809c ing polygons ... │ │ │ │ │ +00010500: 656e 6473 e280 9d2e 2020 496e 2074 6869 ends.... In thi │ │ │ │ │ +00010510: 7320 6d61 6e6e 6572 2c0a e280 9873 7765 s manner,....swe │ │ │ │ │ +00010520: 6570 e280 9920 666f 726d 7320 7468 6520 ep... forms the │ │ │ │ │ +00010530: 626f 756e 6461 7279 206f 6620 6120 7468 boundary of a th │ │ │ │ │ +00010540: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional │ │ │ │ │ +00010550: 6f62 6a65 6374 2066 726f 6d20 610a 7477 object from a.tw │ │ │ │ │ +00010560: 6f2d 6469 6d65 6e73 696f 6e61 6c20 706f o-dimensional po │ │ │ │ │ +00010570: 6c79 676f 6e2e 0a0a 2020 2054 6865 206f lygon... The o │ │ │ │ │ +00010580: 7264 6572 206f 6620 7665 7274 6963 6573 rder of vertices │ │ │ │ │ +00010590: 206f 6620 656e 6420 706f 6c79 676f 6e73 of end polygons │ │ │ │ │ +000105a0: 2069 7320 696d 706f 7274 616e 7420 666f is important fo │ │ │ │ │ +000105b0: 7220 636f 7272 6563 740a 6375 6c6c 696e r correct.cullin │ │ │ │ │ +000105c0: 6720 6173 2064 6573 6372 6962 6564 2061 g as described a │ │ │ │ │ +000105d0: 626f 7665 2e20 2041 6e20 6578 6163 7420 bove. An exact │ │ │ │ │ +000105e0: 636f 7079 206f 6620 7468 6520 6f72 6967 copy of the orig │ │ │ │ │ +000105f0: 696e 616c 2070 6f6c 7967 6f6e 2077 6974 inal polygon wit │ │ │ │ │ +00010600: 680a 7665 7274 6578 206f 7264 6572 2069 h.vertex order i │ │ │ │ │ +00010610: 6e74 6163 7420 666f 726d 7320 7468 6520 ntact forms the │ │ │ │ │ +00010620: 6669 7273 7420 656e 6420 706f 6c79 676f first end polygo │ │ │ │ │ +00010630: 6e2e 2020 5468 6520 6f74 6865 7220 656e n. The other en │ │ │ │ │ +00010640: 6420 706f 6c79 676f 6e0a 7265 7375 6c74 d polygon.result │ │ │ │ │ +00010650: 7320 6672 6f6d 2074 7261 6e73 666f 726d s from transform │ │ │ │ │ +00010660: 696e 6720 616e 6420 7468 6520 7265 7665 ing and the reve │ │ │ │ │ +00010670: 7273 696e 6720 7468 6520 6f72 6465 7220 rsing the order │ │ │ │ │ +00010680: 6f66 2076 6572 7469 6365 7320 696e 2074 of vertices in t │ │ │ │ │ +00010690: 6865 0a6f 7269 6769 6e61 6c2e 2020 5468 he.original. Th │ │ │ │ │ +000106a0: 6520 7472 616e 7366 6f72 6d20 706c 6163 e transform plac │ │ │ │ │ +000106b0: 6573 2074 6865 206f 7269 6769 6e61 6c20 es the original │ │ │ │ │ +000106c0: 706f 6c79 676f 6e20 6174 2074 6865 2075 polygon at the u │ │ │ │ │ +000106d0: 6e63 6f76 6572 6564 0a68 6f6c 653b 2069 ncovered.hole; i │ │ │ │ │ +000106e0: 7420 6973 0a20 2020 2020 545f 315e 6e20 t is. T_1^n │ │ │ │ │ +000106f0: 7468 656e 2054 5f32 5e6e 2074 6865 6e20 then T_2^n then │ │ │ │ │ +00010700: 2e2e 2e20 7468 656e 2054 5f52 5e6e 2e0a ... then T_R^n.. │ │ │ │ │ +00010710: 4966 2074 6865 7265 2061 7265 206e 6f20 If there are no │ │ │ │ │ +00010720: 6f70 7469 6f6e 7320 6f6e 2074 6865 2073 options on the s │ │ │ │ │ +00010730: 7765 7074 2070 6f6c 7967 6f6e 2c20 7468 wept polygon, th │ │ │ │ │ +00010740: 656e 2074 6865 20e2 8098 7377 6565 70e2 en the ...sweep. │ │ │ │ │ +00010750: 8099 206f 7074 696f 6e73 0a61 7265 2063 .. options.are c │ │ │ │ │ +00010760: 6f70 6965 6420 746f 2065 6163 6820 6f75 opied to each ou │ │ │ │ │ +00010770: 7470 7574 2070 6f6c 7967 6f6e 2e20 2049 tput polygon. I │ │ │ │ │ +00010780: 6620 7468 6520 7377 6570 7420 706f 6c79 f the swept poly │ │ │ │ │ +00010790: 676f 6e20 646f 6573 2068 6176 650a 6f70 gon does have.op │ │ │ │ │ +000107a0: 7469 6f6e 732c 2074 6865 7365 2061 7265 tions, these are │ │ │ │ │ +000107b0: 2063 6f70 6965 6420 746f 2074 6865 2065 copied to the e │ │ │ │ │ +000107c0: 6e64 733b 2074 6865 2073 7765 6570 206f nds; the sweep o │ │ │ │ │ +000107d0: 7074 696f 6e73 2061 7265 2063 6f70 6965 ptions are copie │ │ │ │ │ +000107e0: 6420 746f 0a74 6865 2062 6f64 7920 706f d to.the body po │ │ │ │ │ +000107f0: 6c79 676f 6e73 2e20 2049 6e20 7468 6973 lygons. In this │ │ │ │ │ +00010800: 206d 616e 6e65 722c 2062 6f64 7920 616e manner, body an │ │ │ │ │ +00010810: 6420 656e 6473 206d 6179 2062 6520 6472 d ends may be dr │ │ │ │ │ +00010820: 6177 6e20 7769 7468 0a64 6966 6665 7265 awn with.differe │ │ │ │ │ +00010830: 6e74 2063 6861 7261 6374 6572 6973 7469 nt characteristi │ │ │ │ │ +00010840: 6373 2073 7563 6820 6173 20e2 8098 6669 cs such as ...fi │ │ │ │ │ +00010850: 6c6c 636f 6c6f 72e2 8099 2e0a 0a1f 0a46 llcolor........F │ │ │ │ │ +00010860: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +00010870: 2c20 204e 6f64 653a 2053 7765 7074 2062 , Node: Swept b │ │ │ │ │ +00010880: 6c6f 636b 732c 2020 4e65 7874 3a20 5377 locks, Next: Sw │ │ │ │ │ +00010890: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti │ │ │ │ │ +000108a0: 6e67 2c20 2050 7265 763a 2053 7765 7074 ng, Prev: Swept │ │ │ │ │ +000108b0: 2070 6f6c 7967 6f6e 732c 2020 5570 3a20 polygons, Up: │ │ │ │ │ +000108c0: 5377 6565 7073 0a0a 332e 322e 362e 3420 Sweeps..3.2.6.4 │ │ │ │ │ +000108d0: 5377 6570 7420 626c 6f63 6b73 0a2e 2e2e Swept blocks.... │ │ │ │ │ +000108e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ +000108f0: 2e0a 0a54 6865 2073 7765 7074 206f 626a ...The swept obj │ │ │ │ │ +00010900: 6563 7420 5357 4550 545f 4f42 4a45 4354 ect SWEPT_OBJECT │ │ │ │ │ +00010910: 206d 6179 2061 6c73 6f20 6265 2061 6e79 may also be any │ │ │ │ │ +00010920: 2063 6f6c 6c65 6374 696f 6e20 6f66 2070 collection of p │ │ │ │ │ +00010930: 6f6c 796c 696e 6573 0a61 6e64 2070 6f6c olylines.and pol │ │ │ │ │ +00010940: 7967 6f6e 732e 2020 5468 6973 206d 6179 ygons. This may │ │ │ │ │ +00010950: 2062 6520 6120 626c 6f63 6b20 636f 6d70 be a block comp │ │ │ │ │ +00010960: 6f73 6564 206f 6620 e280 986c 696e 65e2 osed of ...line. │ │ │ │ │ +00010970: 8099 2061 6e64 2f6f 7220 e280 9870 6f6c .. and/or ...pol │ │ │ │ │ +00010980: 7967 6f6e e280 990a 636f 6d6d 616e 6473 ygon....commands │ │ │ │ │ +00010990: 2069 6e20 6272 6163 6573 20e2 8098 7b20 in braces ...{ │ │ │ │ │ +000109a0: 7de2 8099 2c20 6f72 2069 7420 6d61 7920 }..., or it may │ │ │ │ │ +000109b0: 6265 2074 6865 2072 6573 756c 7420 6f66 be the result of │ │ │ │ │ +000109c0: 2061 20e2 8098 7265 7065 6174 e280 992c a ...repeat..., │ │ │ │ │ +000109d0: 2061 6e6f 7468 6572 0ae2 8098 7377 6565 another....swee │ │ │ │ │ +000109e0: 70e2 8099 2c20 6574 632e 2020 5468 6520 p..., etc. The │ │ │ │ │ +000109f0: 7377 6565 7020 6163 7473 2069 6e64 6570 sweep acts indep │ │ │ │ │ +00010a00: 656e 6465 6e74 6c79 206f 6e20 6561 6368 endently on each │ │ │ │ │ +00010a10: 206f 626a 6563 7420 696e 2074 6865 2062 object in the b │ │ │ │ │ +00010a20: 6c6f 636b 0a65 7861 6374 6c79 2061 7320 lock.exactly as │ │ │ │ │ +00010a30: 6966 2069 7420 7765 7265 2061 2073 696e if it were a sin │ │ │ │ │ +00010a40: 676c 6520 7377 6570 7420 6f62 6a65 6374 gle swept object │ │ │ │ │ +00010a50: 2064 6573 6372 6962 6564 2061 626f 7665 described above │ │ │ │ │ +00010a60: 2069 6e20 2a6e 6f74 650a 5377 6570 7420 in *note.Swept │ │ │ │ │ +00010a70: 6c69 6e65 733a 3a20 616e 6420 2a6e 6f74 lines:: and *not │ │ │ │ │ +00010a80: 6520 5377 6570 7420 706f 6c79 676f 6e73 e Swept polygons │ │ │ │ │ +00010a90: 3a3a 2e0a 0a1f 0a46 696c 653a 2073 6b65 ::.....File: ske │ │ │ │ │ +00010aa0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node: │ │ │ │ │ +00010ab0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli │ │ │ │ │ +00010ac0: 7474 696e 672c 2020 5072 6576 3a20 5377 tting, Prev: Sw │ │ │ │ │ +00010ad0: 6570 7420 626c 6f63 6b73 2c20 2055 703a ept blocks, Up: │ │ │ │ │ +00010ae0: 2053 7765 6570 730a 0a33 2e32 2e36 2e35 Sweeps..3.2.6.5 │ │ │ │ │ +00010af0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli │ │ │ │ │ +00010b00: 7474 696e 670a 2e2e 2e2e 2e2e 2e2e 2e2e tting........... │ │ │ │ │ 00010b10: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00010b20: 0a0a 4265 666f 7265 2073 656e 6469 6e67 ..Before sending │ │ │ │ │ -00010b30: 2065 6163 6820 666f 7572 2d73 6964 6564 each four-sided │ │ │ │ │ -00010b40: 2062 6f64 7920 706f 6c79 676f 6e20 6f66 body polygon of │ │ │ │ │ -00010b50: 2061 20e2 8098 7377 6565 70e2 8099 2074 a ...sweep... t │ │ │ │ │ -00010b60: 6f20 7468 6520 6f75 7470 7574 2c0a e280 o the output,... │ │ │ │ │ -00010b70: 9873 6b65 7463 68e2 8099 2074 6573 7473 .sketch... tests │ │ │ │ │ -00010b80: 2074 6f20 7365 6520 6966 2069 7420 6973 to see if it is │ │ │ │ │ -00010b90: 2072 6f75 6768 6c79 2070 6c61 6e61 722e roughly planar. │ │ │ │ │ -00010ba0: 2020 5369 6e63 6520 706c 616e 6172 6974 Since planarit │ │ │ │ │ -00010bb0: 7920 6973 0a6e 6563 6573 7361 7279 2066 y is.necessary f │ │ │ │ │ -00010bc0: 6f72 2070 726f 7065 7220 6675 6e63 7469 or proper functi │ │ │ │ │ -00010bd0: 6f6e 696e 6720 6f66 2074 6865 2068 6964 oning of the hid │ │ │ │ │ -00010be0: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo │ │ │ │ │ -00010bf0: 7269 7468 6d2c 0a22 7761 7270 6564 2220 rithm,."warped" │ │ │ │ │ -00010c00: 706f 6c79 676f 6e73 2061 7265 2061 7574 polygons are aut │ │ │ │ │ -00010c10: 6f6d 6174 6963 616c 6c79 2073 706c 6974 omatically split │ │ │ │ │ -00010c20: 2069 6e74 6f20 7477 6f20 7472 6961 6e67 into two triang │ │ │ │ │ -00010c30: 6c65 732e 0a0a 2020 2048 6f6c 652d 6669 les... Hole-fi │ │ │ │ │ -00010c40: 6c6c 696e 6720 706f 6c79 676f 6e73 2070 lling polygons p │ │ │ │ │ -00010c50: 726f 6475 6365 6420 6279 2063 6c6f 7375 roduced by closu │ │ │ │ │ -00010c60: 7265 2d74 6167 6765 6420 6c69 6e65 2073 re-tagged line s │ │ │ │ │ -00010c70: 7765 6570 7320 6172 6520 6e6f 740a 7370 weeps are not.sp │ │ │ │ │ -00010c80: 6c69 742e 2020 4e6f 7220 6172 6520 6f72 lit. Nor are or │ │ │ │ │ -00010c90: 6967 696e 616c 2070 6f6c 7967 6f6e 7320 iginal polygons │ │ │ │ │ -00010ca0: 696e 2070 6f6c 7967 6f6e 2073 7765 6570 in polygon sweep │ │ │ │ │ -00010cb0: 732e 2020 4974 2069 7320 7468 6520 7573 s. It is the us │ │ │ │ │ -00010cc0: 6572 2773 0a72 6573 706f 6e73 6962 696c er's.responsibil │ │ │ │ │ -00010cd0: 6974 7920 746f 2065 6e73 7572 6520 7468 ity to ensure th │ │ │ │ │ -00010ce0: 6573 6520 6172 6520 706c 616e 6172 2e0a ese are planar.. │ │ │ │ │ -00010cf0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -00010d00: 696e 666f 2c20 204e 6f64 653a 2042 6c6f info, Node: Blo │ │ │ │ │ -00010d10: 636b 732c 2020 4e65 7874 3a20 5265 7065 cks, Next: Repe │ │ │ │ │ -00010d20: 6174 732c 2020 5072 6576 3a20 5377 6565 ats, Prev: Swee │ │ │ │ │ -00010d30: 7073 2c20 2055 703a 2044 7261 7761 626c ps, Up: Drawabl │ │ │ │ │ -00010d40: 6573 0a0a 332e 322e 3720 426c 6f63 6b73 es..3.2.7 Blocks │ │ │ │ │ -00010d50: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 .------------..A │ │ │ │ │ -00010d60: 6e79 2073 6571 7565 6e63 6520 6f66 2064 ny sequence of d │ │ │ │ │ -00010d70: 7261 7761 626c 6573 206d 6179 2062 6520 rawables may be │ │ │ │ │ -00010d80: 6772 6f75 7065 6420 696e 2061 20e2 809c grouped in a ... │ │ │ │ │ -00010d90: 626c 6f63 6be2 809d 206d 6572 656c 7920 block... merely │ │ │ │ │ -00010da0: 6279 0a65 6e63 6c6f 7369 6e67 2074 6865 by.enclosing the │ │ │ │ │ -00010db0: 6d20 696e 2062 7261 6365 7320 e280 987b m in braces ...{ │ │ │ │ │ -00010dc0: 207d e280 992e 2020 4120 626c 6f63 6b20 }.... A block │ │ │ │ │ -00010dd0: 6973 2069 7473 656c 6620 6472 6177 6162 is itself drawab │ │ │ │ │ -00010de0: 6c65 2e20 2041 206b 6579 2075 7365 0a6f le. A key use.o │ │ │ │ │ -00010df0: 6620 626c 6f63 6b73 2069 7320 746f 2065 f blocks is to e │ │ │ │ │ -00010e00: 7874 656e 6420 7468 6520 6566 6665 6374 xtend the effect │ │ │ │ │ -00010e10: 206f 6620 6120 7369 6e67 6c65 20e2 8098 of a single ... │ │ │ │ │ -00010e20: 6465 66e2 8099 2c20 2a6e 6f74 650a 4465 def..., *note.De │ │ │ │ │ -00010e30: 6669 6e69 7469 6f6e 733a 3a2c 20e2 8098 finitions::, ... │ │ │ │ │ -00010e40: 7075 74e2 8099 202a 6e6f 7465 2050 7574 put... *note Put │ │ │ │ │ -00010e50: 733a 3a2c 20e2 8098 7377 6565 70e2 8099 s::, ...sweep... │ │ │ │ │ -00010e60: 202a 6e6f 7465 2053 7765 6570 733a 3a2c *note Sweeps::, │ │ │ │ │ -00010e70: 206f 7220 e280 9872 6570 6561 74e2 8099 or ...repeat... │ │ │ │ │ -00010e80: 0a2a 6e6f 7465 2052 6570 6561 7473 3a3a .*note Repeats:: │ │ │ │ │ -00010e90: 2074 6f20 696e 636c 7564 6520 7365 7665 to include seve │ │ │ │ │ -00010ea0: 7261 6c20 6f62 6a65 6374 7320 7261 7468 ral objects rath │ │ │ │ │ -00010eb0: 6572 2074 6861 6e20 6f6e 652e 0a0a 2020 er than one... │ │ │ │ │ -00010ec0: 2044 6566 696e 6974 696f 6e73 2028 2a4e Definitions (*N │ │ │ │ │ -00010ed0: 6f74 6520 4465 6669 6e69 7469 6f6e 733a ote Definitions: │ │ │ │ │ -00010ee0: 3a2e 2920 2069 6e73 6964 6520 6120 626c :.) inside a bl │ │ │ │ │ -00010ef0: 6f63 6b20 6861 7665 20e2 809c 6c65 7869 ock have ...lexi │ │ │ │ │ -00010f00: 6361 6c0a 7363 6f70 65e2 809d 2065 7874 cal.scope... ext │ │ │ │ │ -00010f10: 656e 6469 6e67 2066 726f 6d20 7468 6520 ending from the │ │ │ │ │ -00010f20: 706c 6163 6520 6f66 2064 6566 696e 6974 place of definit │ │ │ │ │ -00010f30: 696f 6e20 746f 2074 6865 2065 6e64 206f ion to the end o │ │ │ │ │ -00010f40: 6620 7468 6520 626c 6f63 6b2e 0a0a 1f0a f the block..... │ │ │ │ │ -00010f50: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -00010f60: 6f2c 2020 4e6f 6465 3a20 5265 7065 6174 o, Node: Repeat │ │ │ │ │ -00010f70: 732c 2020 4e65 7874 3a20 5075 7473 2c20 s, Next: Puts, │ │ │ │ │ -00010f80: 2050 7265 763a 2042 6c6f 636b 732c 2020 Prev: Blocks, │ │ │ │ │ -00010f90: 5570 3a20 4472 6177 6162 6c65 730a 0a33 Up: Drawables..3 │ │ │ │ │ -00010fa0: 2e32 2e38 2052 6570 6561 7473 0a2d 2d2d .2.8 Repeats.--- │ │ │ │ │ -00010fb0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn │ │ │ │ │ -00010fc0: 7461 783a 2a0a 2020 2020 2072 6570 6561 tax:*. repea │ │ │ │ │ -00010fd0: 7420 7b20 4e2c 2054 5f31 2c20 545f 322c t { N, T_1, T_2, │ │ │ │ │ -00010fe0: 202e 2e2e 2c20 545f 5220 7d20 5245 5045 ..., T_R } REPE │ │ │ │ │ -00010ff0: 4154 4544 5f4f 424a 4543 540a 5468 6520 ATED_OBJECT.The │ │ │ │ │ -00011000: 7265 7065 6174 206d 616b 6573 204e 2074 repeat makes N t │ │ │ │ │ -00011010: 7261 6e73 666f 726d 6564 2063 6f70 6965 ransformed copie │ │ │ │ │ -00011020: 7320 6f66 2052 4550 4541 5445 445f 4f42 s of REPEATED_OB │ │ │ │ │ -00011030: 4a45 4354 2028 696e 636c 7564 696e 6720 JECT (including │ │ │ │ │ -00011040: 7468 650a 6f72 6967 696e 616c 292e 2020 the.original). │ │ │ │ │ -00011050: 5468 6520 545f 4920 6172 6520 7472 616e The T_I are tran │ │ │ │ │ -00011060: 7366 6f72 6d73 2e20 2054 6865 206b 2774 sforms. The k't │ │ │ │ │ -00011070: 6820 636f 7079 206f 6620 7468 650a 5245 h copy of the.RE │ │ │ │ │ -00011080: 5045 4154 4544 5f4f 424a 4543 5420 2866 PEATED_OBJECT (f │ │ │ │ │ -00011090: 6f72 206b 3d30 2c31 2c2e 2e2e 2c6e 2d31 or k=0,1,...,n-1 │ │ │ │ │ -000110a0: 2920 6973 2070 726f 6475 6365 6420 696e ) is produced in │ │ │ │ │ -000110b0: 2074 6865 2073 616d 6520 6d61 6e6e 6572 the same manner │ │ │ │ │ -000110c0: 2061 730a 666f 7220 e280 9873 7765 6570 as.for ...sweep │ │ │ │ │ -000110d0: e280 9973 2064 6573 6372 6962 6564 2069 ...s described i │ │ │ │ │ -000110e0: 6e20 2a6e 6f74 6520 5377 6565 7073 3a3a n *note Sweeps:: │ │ │ │ │ -000110f0: 2e20 2054 6869 7320 6973 2072 6570 6561 . This is repea │ │ │ │ │ -00011100: 7465 6420 6865 7265 2028 6e6f 2070 756e ted here (no pun │ │ │ │ │ -00011110: 0a69 6e74 656e 6465 6429 2066 6f72 2063 .intended) for c │ │ │ │ │ -00011120: 6f6e 7665 6e69 656e 6365 2e20 2054 6f20 onvenience. To │ │ │ │ │ -00011130: 6d61 6b65 2074 6865 206b 2774 6820 636f make the k'th co │ │ │ │ │ -00011140: 7079 2c20 7468 6520 666f 6c6c 6f77 696e py, the followin │ │ │ │ │ -00011150: 670a 7472 616e 7366 6f72 6d20 6973 2061 g.transform is a │ │ │ │ │ -00011160: 7070 6c69 6564 2074 6f20 7468 6520 6f72 pplied to the or │ │ │ │ │ -00011170: 6967 696e 616c 206f 626a 6563 742e 0a20 iginal object.. │ │ │ │ │ -00011180: 2020 2020 545f 315e 6b20 7468 656e 2054 T_1^k then T │ │ │ │ │ -00011190: 5f32 5e6b 2074 6865 6e20 2e2e 2e20 7468 _2^k then ... th │ │ │ │ │ -000111a0: 656e 2054 5f52 5e6b 0a48 6572 6520 545e en T_R^k.Here T^ │ │ │ │ │ -000111b0: 6b20 6d65 616e 7320 2274 7261 6e73 666f k means "transfo │ │ │ │ │ -000111c0: 726d 2054 2061 7070 6c69 6564 206b 2074 rm T applied k t │ │ │ │ │ -000111d0: 696d 6573 2e22 0a0a 1f0a 4669 6c65 3a20 imes."....File: │ │ │ │ │ -000111e0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -000111f0: 6465 3a20 5075 7473 2c20 2050 7265 763a de: Puts, Prev: │ │ │ │ │ -00011200: 2052 6570 6561 7473 2c20 2055 703a 2044 Repeats, Up: D │ │ │ │ │ -00011210: 7261 7761 626c 6573 0a0a 332e 322e 3920 rawables..3.2.9 │ │ │ │ │ -00011220: 5075 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d0a Puts.----------. │ │ │ │ │ -00011230: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ -00011240: 7075 7420 7b20 5420 7d20 5055 545f 4f42 put { T } PUT_OB │ │ │ │ │ -00011250: 4a45 4354 0a50 7574 206d 6572 656c 7920 JECT.Put merely │ │ │ │ │ -00011260: 6170 706c 6965 7320 7472 616e 7366 6f72 applies transfor │ │ │ │ │ -00011270: 6d20 5420 746f 2074 6865 2064 7261 7761 m T to the drawa │ │ │ │ │ -00011280: 626c 6520 5055 545f 4f42 4a45 4354 2e0a ble PUT_OBJECT.. │ │ │ │ │ -00011290: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -000112a0: 696e 666f 2c20 204e 6f64 653a 2044 6566 info, Node: Def │ │ │ │ │ -000112b0: 696e 6974 696f 6e73 2c20 204e 6578 743a initions, Next: │ │ │ │ │ -000112c0: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm │ │ │ │ │ -000112d0: 656e 742c 2020 5072 6576 3a20 4472 6177 ent, Prev: Draw │ │ │ │ │ -000112e0: 6162 6c65 732c 2020 5570 3a20 496e 7075 ables, Up: Inpu │ │ │ │ │ -000112f0: 7420 6c61 6e67 7561 6765 0a0a 332e 3320 t language..3.3 │ │ │ │ │ -00011300: 4465 6669 6e69 7469 6f6e 730a 3d3d 3d3d Definitions.==== │ │ │ │ │ -00011310: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 6566 ===========..Def │ │ │ │ │ -00011320: 696e 6974 696f 6e73 2067 6976 6520 6e61 initions give na │ │ │ │ │ -00011330: 6d65 7320 746f 20e2 8098 736b 6574 6368 mes to ...sketch │ │ │ │ │ -00011340: e280 9920 6f62 6a65 6374 732e 2020 4465 ... objects. De │ │ │ │ │ -00011350: 6669 6e69 7469 6f6e 7320 616c 6f6e 6520 finitions alone │ │ │ │ │ -00011360: 6172 650a 6265 6e69 676e 2e20 2041 20e2 are.benign. A . │ │ │ │ │ -00011370: 8098 736b 6574 6368 e280 9920 696e 7075 ..sketch... inpu │ │ │ │ │ -00011380: 7420 6669 6c65 2063 6f6e 7369 7374 696e t file consistin │ │ │ │ │ -00011390: 6720 656e 7469 7265 6c79 206f 6620 6465 g entirely of de │ │ │ │ │ -000113a0: 6669 6e69 7469 6f6e 7320 7769 6c6c 0a67 finitions will.g │ │ │ │ │ -000113b0: 656e 6572 6174 6520 6e6f 2064 7261 7769 enerate no drawi │ │ │ │ │ -000113c0: 6e67 2e20 204f 6e6c 7920 7768 656e 2064 ng. Only when d │ │ │ │ │ -000113d0: 6566 696e 6974 696f 6e73 2061 7265 20e2 efinitions are . │ │ │ │ │ -000113e0: 809c 7265 6665 7265 6e63 6564 e280 9d20 ..referenced... │ │ │ │ │ -000113f0: 646f 2074 6865 790a 706f 7465 6e74 6961 do they.potentia │ │ │ │ │ -00011400: 6c6c 7920 6c65 6164 2074 6f20 696e 6b20 lly lead to ink │ │ │ │ │ -00011410: 6f6e 2074 6865 2064 7261 7769 6e67 2e0a on the drawing.. │ │ │ │ │ -00011420: 0a20 2020 5468 6520 696e 7465 6e74 206f . The intent o │ │ │ │ │ -00011430: 6620 6465 6669 6e69 7469 6f6e 7320 6973 f definitions is │ │ │ │ │ -00011440: 2074 6f20 6d61 6b65 20e2 8098 736b 6574 to make ...sket │ │ │ │ │ -00011450: 6368 e280 9920 636f 6465 206d 6f72 6520 ch... code more │ │ │ │ │ -00011460: 636f 6e63 6973 6520 616e 640a 7265 6164 concise and.read │ │ │ │ │ -00011470: 6162 6c65 2e20 2054 6865 7265 2069 7320 able. There is │ │ │ │ │ -00011480: 6e6f 2069 6e70 7574 2066 696c 6520 656d no input file em │ │ │ │ │ -00011490: 706c 6f79 696e 6720 6465 6669 6e69 7469 ploying definiti │ │ │ │ │ -000114a0: 6f6e 7320 7468 6174 2063 6f75 6c64 206e ons that could n │ │ │ │ │ -000114b0: 6f74 0a62 6520 7265 2d77 7269 7474 656e ot.be re-written │ │ │ │ │ -000114c0: 2077 6974 686f 7574 2074 6865 6d2e 0a0a without them... │ │ │ │ │ -000114d0: 2020 2044 6566 696e 6162 6c65 206f 626a Definable obj │ │ │ │ │ -000114e0: 6563 7473 2069 6e63 6c75 6465 2061 6e79 ects include any │ │ │ │ │ -000114f0: 2072 6573 756c 7420 6f66 2061 6e20 6166 result of an af │ │ │ │ │ -00011500: 6669 6e65 2061 7269 7468 6d65 7469 630a fine arithmetic. │ │ │ │ │ -00011510: 6578 7072 6573 7369 6f6e 2028 7363 616c expression (scal │ │ │ │ │ -00011520: 6172 2c20 706f 696e 742c 2076 6563 746f ar, point, vecto │ │ │ │ │ -00011530: 722c 206f 7220 7472 616e 7366 6f72 6d29 r, or transform) │ │ │ │ │ -00011540: 2c20 616e 7920 6472 6177 6162 6c65 206f , any drawable o │ │ │ │ │ -00011550: 626a 6563 740a 2864 6f74 732c 206c 696e bject.(dots, lin │ │ │ │ │ -00011560: 652c 2063 7572 7665 2c20 706f 6c79 676f e, curve, polygo │ │ │ │ │ -00011570: 6e2c 2062 6c6f 636b 2c20 7377 6565 702c n, block, sweep, │ │ │ │ │ -00011580: 2070 7574 2c20 7265 7065 6174 2c20 6f72 put, repeat, or │ │ │ │ │ -00011590: 2073 7065 6369 616c 292c 2061 6e64 0a6f special), and.o │ │ │ │ │ -000115a0: 7074 696f 6e20 7374 7269 6e67 732e 2020 ption strings. │ │ │ │ │ -000115b0: 496e 2061 6464 6974 696f 6e2c 20e2 809c In addition, ... │ │ │ │ │ -000115c0: 7461 6720 6465 6669 6e69 7469 6f6e 73e2 tag definitions. │ │ │ │ │ -000115d0: 809d 2c20 7768 6963 6820 6861 7665 206e .., which have n │ │ │ │ │ -000115e0: 6f0a 6173 736f 6369 6174 6564 206f 626a o.associated obj │ │ │ │ │ -000115f0: 6563 7420 6174 2061 6c6c 2c20 616c 6c6f ect at all, allo │ │ │ │ │ -00011600: 7720 7468 6520 6d65 616e 696e 6720 6f66 w the meaning of │ │ │ │ │ -00011610: 206f 7468 6572 2064 6566 696e 6974 696f other definitio │ │ │ │ │ -00011620: 6e73 2074 6f20 6265 0a73 656c 6563 7465 ns to be.selecte │ │ │ │ │ -00011630: 6420 6672 6f6d 2061 2073 6574 206f 6620 d from a set of │ │ │ │ │ -00011640: 616c 7465 726e 6174 6976 6573 2e20 2053 alternatives. S │ │ │ │ │ -00011650: 696e 6365 2074 6167 7320 6d61 7920 6265 ince tags may be │ │ │ │ │ -00011660: 2064 6566 696e 6564 2028 616e 640a 756e defined (and.un │ │ │ │ │ -00011670: 6465 6669 6e65 6429 2069 6e20 7468 6520 defined) in the │ │ │ │ │ -00011680: 636f 6d6d 616e 6420 6c69 6e65 206f 6620 command line of │ │ │ │ │ -00011690: e280 9873 6b65 7463 68e2 8099 2c20 7468 ...sketch..., th │ │ │ │ │ -000116a0: 6579 2063 616e 2062 6520 616e 2061 6964 ey can be an aid │ │ │ │ │ -000116b0: 2069 6e20 7468 650a 7363 7269 7074 2d64 in the.script-d │ │ │ │ │ -000116c0: 7269 7665 6e20 7072 6570 6172 6174 696f riven preparatio │ │ │ │ │ -000116d0: 6e20 6f66 2064 6f63 756d 656e 7473 2e0a n of documents.. │ │ │ │ │ -000116e0: 0a2a 204d 656e 753a 0a0a 2a20 466f 726d .* Menu:..* Form │ │ │ │ │ -000116f0: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions │ │ │ │ │ -00011700: 3a3a 2020 2020 2020 2020 4469 6666 6572 :: Differ │ │ │ │ │ -00011710: 656e 7420 6465 6673 2066 6f72 2064 6966 ent defs for dif │ │ │ │ │ -00011720: 6665 7265 6e74 2070 7572 706f 7365 732e ferent purposes. │ │ │ │ │ -00011730: 0a2a 2046 6f72 6d73 206f 6620 7265 6665 .* Forms of refe │ │ │ │ │ -00011740: 7265 6e63 6573 3a3a 2020 2020 2020 2020 rences:: │ │ │ │ │ -00011750: 2048 6f77 2072 6566 6572 656e 6365 7320 How references │ │ │ │ │ -00011760: 6465 6e6f 7465 2074 7970 6573 2e0a 0a1f denote types.... │ │ │ │ │ -00011770: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -00011780: 666f 2c20 204e 6f64 653a 2046 6f72 6d73 fo, Node: Forms │ │ │ │ │ -00011790: 206f 6620 6465 6669 6e69 7469 6f6e 732c of definitions, │ │ │ │ │ -000117a0: 2020 4e65 7874 3a20 466f 726d 7320 6f66 Next: Forms of │ │ │ │ │ -000117b0: 2072 6566 6572 656e 6365 732c 2020 5072 references, Pr │ │ │ │ │ -000117c0: 6576 3a20 4465 6669 6e69 7469 6f6e 732c ev: Definitions, │ │ │ │ │ -000117d0: 2020 5570 3a20 4465 6669 6e69 7469 6f6e Up: Definition │ │ │ │ │ -000117e0: 730a 0a33 2e33 2e31 2046 6f72 6d73 206f s..3.3.1 Forms o │ │ │ │ │ -000117f0: 6620 6465 6669 6e69 7469 6f6e 730a 2d2d f definitions.-- │ │ │ │ │ +00010b20: 2e2e 0a0a 4265 666f 7265 2073 656e 6469 ....Before sendi │ │ │ │ │ +00010b30: 6e67 2065 6163 6820 666f 7572 2d73 6964 ng each four-sid │ │ │ │ │ +00010b40: 6564 2062 6f64 7920 706f 6c79 676f 6e20 ed body polygon │ │ │ │ │ +00010b50: 6f66 2061 20e2 8098 7377 6565 70e2 8099 of a ...sweep... │ │ │ │ │ +00010b60: 2074 6f20 7468 6520 6f75 7470 7574 2c0a to the output,. │ │ │ │ │ +00010b70: e280 9873 6b65 7463 68e2 8099 2074 6573 ...sketch... tes │ │ │ │ │ +00010b80: 7473 2074 6f20 7365 6520 6966 2069 7420 ts to see if it │ │ │ │ │ +00010b90: 6973 2072 6f75 6768 6c79 2070 6c61 6e61 is roughly plana │ │ │ │ │ +00010ba0: 722e 2020 5369 6e63 6520 706c 616e 6172 r. Since planar │ │ │ │ │ +00010bb0: 6974 7920 6973 0a6e 6563 6573 7361 7279 ity is.necessary │ │ │ │ │ +00010bc0: 2066 6f72 2070 726f 7065 7220 6675 6e63 for proper func │ │ │ │ │ +00010bd0: 7469 6f6e 696e 6720 6f66 2074 6865 2068 tioning of the h │ │ │ │ │ +00010be0: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al │ │ │ │ │ +00010bf0: 676f 7269 7468 6d2c 0a22 7761 7270 6564 gorithm,."warped │ │ │ │ │ +00010c00: 2220 706f 6c79 676f 6e73 2061 7265 2061 " polygons are a │ │ │ │ │ +00010c10: 7574 6f6d 6174 6963 616c 6c79 2073 706c utomatically spl │ │ │ │ │ +00010c20: 6974 2069 6e74 6f20 7477 6f20 7472 6961 it into two tria │ │ │ │ │ +00010c30: 6e67 6c65 732e 0a0a 2020 2048 6f6c 652d ngles... Hole- │ │ │ │ │ +00010c40: 6669 6c6c 696e 6720 706f 6c79 676f 6e73 filling polygons │ │ │ │ │ +00010c50: 2070 726f 6475 6365 6420 6279 2063 6c6f produced by clo │ │ │ │ │ +00010c60: 7375 7265 2d74 6167 6765 6420 6c69 6e65 sure-tagged line │ │ │ │ │ +00010c70: 2073 7765 6570 7320 6172 6520 6e6f 740a sweeps are not. │ │ │ │ │ +00010c80: 7370 6c69 742e 2020 4e6f 7220 6172 6520 split. Nor are │ │ │ │ │ +00010c90: 6f72 6967 696e 616c 2070 6f6c 7967 6f6e original polygon │ │ │ │ │ +00010ca0: 7320 696e 2070 6f6c 7967 6f6e 2073 7765 s in polygon swe │ │ │ │ │ +00010cb0: 6570 732e 2020 4974 2069 7320 7468 6520 eps. It is the │ │ │ │ │ +00010cc0: 7573 6572 2773 0a72 6573 706f 6e73 6962 user's.responsib │ │ │ │ │ +00010cd0: 696c 6974 7920 746f 2065 6e73 7572 6520 ility to ensure │ │ │ │ │ +00010ce0: 7468 6573 6520 6172 6520 706c 616e 6172 these are planar │ │ │ │ │ +00010cf0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +00010d00: 682e 696e 666f 2c20 204e 6f64 653a 2042 h.info, Node: B │ │ │ │ │ +00010d10: 6c6f 636b 732c 2020 4e65 7874 3a20 5265 locks, Next: Re │ │ │ │ │ +00010d20: 7065 6174 732c 2020 5072 6576 3a20 5377 peats, Prev: Sw │ │ │ │ │ +00010d30: 6565 7073 2c20 2055 703a 2044 7261 7761 eeps, Up: Drawa │ │ │ │ │ +00010d40: 626c 6573 0a0a 332e 322e 3720 426c 6f63 bles..3.2.7 Bloc │ │ │ │ │ +00010d50: 6b73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ks.------------. │ │ │ │ │ +00010d60: 0a41 6e79 2073 6571 7565 6e63 6520 6f66 .Any sequence of │ │ │ │ │ +00010d70: 2064 7261 7761 626c 6573 206d 6179 2062 drawables may b │ │ │ │ │ +00010d80: 6520 6772 6f75 7065 6420 696e 2061 20e2 e grouped in a . │ │ │ │ │ +00010d90: 809c 626c 6f63 6be2 809d 206d 6572 656c ..block... merel │ │ │ │ │ +00010da0: 7920 6279 0a65 6e63 6c6f 7369 6e67 2074 y by.enclosing t │ │ │ │ │ +00010db0: 6865 6d20 696e 2062 7261 6365 7320 e280 hem in braces .. │ │ │ │ │ +00010dc0: 987b 207d e280 992e 2020 4120 626c 6f63 .{ }.... A bloc │ │ │ │ │ +00010dd0: 6b20 6973 2069 7473 656c 6620 6472 6177 k is itself draw │ │ │ │ │ +00010de0: 6162 6c65 2e20 2041 206b 6579 2075 7365 able. A key use │ │ │ │ │ +00010df0: 0a6f 6620 626c 6f63 6b73 2069 7320 746f .of blocks is to │ │ │ │ │ +00010e00: 2065 7874 656e 6420 7468 6520 6566 6665 extend the effe │ │ │ │ │ +00010e10: 6374 206f 6620 6120 7369 6e67 6c65 20e2 ct of a single . │ │ │ │ │ +00010e20: 8098 6465 66e2 8099 2c20 2a6e 6f74 650a ..def..., *note. │ │ │ │ │ +00010e30: 4465 6669 6e69 7469 6f6e 733a 3a2c 20e2 Definitions::, . │ │ │ │ │ +00010e40: 8098 7075 74e2 8099 202a 6e6f 7465 2050 ..put... *note P │ │ │ │ │ +00010e50: 7574 733a 3a2c 20e2 8098 7377 6565 70e2 uts::, ...sweep. │ │ │ │ │ +00010e60: 8099 202a 6e6f 7465 2053 7765 6570 733a .. *note Sweeps: │ │ │ │ │ +00010e70: 3a2c 206f 7220 e280 9872 6570 6561 74e2 :, or ...repeat. │ │ │ │ │ +00010e80: 8099 0a2a 6e6f 7465 2052 6570 6561 7473 ...*note Repeats │ │ │ │ │ +00010e90: 3a3a 2074 6f20 696e 636c 7564 6520 7365 :: to include se │ │ │ │ │ +00010ea0: 7665 7261 6c20 6f62 6a65 6374 7320 7261 veral objects ra │ │ │ │ │ +00010eb0: 7468 6572 2074 6861 6e20 6f6e 652e 0a0a ther than one... │ │ │ │ │ +00010ec0: 2020 2044 6566 696e 6974 696f 6e73 2028 Definitions ( │ │ │ │ │ +00010ed0: 2a4e 6f74 6520 4465 6669 6e69 7469 6f6e *Note Definition │ │ │ │ │ +00010ee0: 733a 3a2e 2920 2069 6e73 6964 6520 6120 s::.) inside a │ │ │ │ │ +00010ef0: 626c 6f63 6b20 6861 7665 20e2 809c 6c65 block have ...le │ │ │ │ │ +00010f00: 7869 6361 6c0a 7363 6f70 65e2 809d 2065 xical.scope... e │ │ │ │ │ +00010f10: 7874 656e 6469 6e67 2066 726f 6d20 7468 xtending from th │ │ │ │ │ +00010f20: 6520 706c 6163 6520 6f66 2064 6566 696e e place of defin │ │ │ │ │ +00010f30: 6974 696f 6e20 746f 2074 6865 2065 6e64 ition to the end │ │ │ │ │ +00010f40: 206f 6620 7468 6520 626c 6f63 6b2e 0a0a of the block... │ │ │ │ │ +00010f50: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00010f60: 6e66 6f2c 2020 4e6f 6465 3a20 5265 7065 nfo, Node: Repe │ │ │ │ │ +00010f70: 6174 732c 2020 4e65 7874 3a20 5075 7473 ats, Next: Puts │ │ │ │ │ +00010f80: 2c20 2050 7265 763a 2042 6c6f 636b 732c , Prev: Blocks, │ │ │ │ │ +00010f90: 2020 5570 3a20 4472 6177 6162 6c65 730a Up: Drawables. │ │ │ │ │ +00010fa0: 0a33 2e32 2e38 2052 6570 6561 7473 0a2d .3.2.8 Repeats.- │ │ │ │ │ +00010fb0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S │ │ │ │ │ +00010fc0: 796e 7461 783a 2a0a 2020 2020 2072 6570 yntax:*. rep │ │ │ │ │ +00010fd0: 6561 7420 7b20 4e2c 2054 5f31 2c20 545f eat { N, T_1, T_ │ │ │ │ │ +00010fe0: 322c 202e 2e2e 2c20 545f 5220 7d20 5245 2, ..., T_R } RE │ │ │ │ │ +00010ff0: 5045 4154 4544 5f4f 424a 4543 540a 5468 PEATED_OBJECT.Th │ │ │ │ │ +00011000: 6520 7265 7065 6174 206d 616b 6573 204e e repeat makes N │ │ │ │ │ +00011010: 2074 7261 6e73 666f 726d 6564 2063 6f70 transformed cop │ │ │ │ │ +00011020: 6965 7320 6f66 2052 4550 4541 5445 445f ies of REPEATED_ │ │ │ │ │ +00011030: 4f42 4a45 4354 2028 696e 636c 7564 696e OBJECT (includin │ │ │ │ │ +00011040: 6720 7468 650a 6f72 6967 696e 616c 292e g the.original). │ │ │ │ │ +00011050: 2020 5468 6520 545f 4920 6172 6520 7472 The T_I are tr │ │ │ │ │ +00011060: 616e 7366 6f72 6d73 2e20 2054 6865 206b ansforms. The k │ │ │ │ │ +00011070: 2774 6820 636f 7079 206f 6620 7468 650a 'th copy of the. │ │ │ │ │ +00011080: 5245 5045 4154 4544 5f4f 424a 4543 5420 REPEATED_OBJECT │ │ │ │ │ +00011090: 2866 6f72 206b 3d30 2c31 2c2e 2e2e 2c6e (for k=0,1,...,n │ │ │ │ │ +000110a0: 2d31 2920 6973 2070 726f 6475 6365 6420 -1) is produced │ │ │ │ │ +000110b0: 696e 2074 6865 2073 616d 6520 6d61 6e6e in the same mann │ │ │ │ │ +000110c0: 6572 2061 730a 666f 7220 e280 9873 7765 er as.for ...swe │ │ │ │ │ +000110d0: 6570 e280 9973 2064 6573 6372 6962 6564 ep...s described │ │ │ │ │ +000110e0: 2069 6e20 2a6e 6f74 6520 5377 6565 7073 in *note Sweeps │ │ │ │ │ +000110f0: 3a3a 2e20 2054 6869 7320 6973 2072 6570 ::. This is rep │ │ │ │ │ +00011100: 6561 7465 6420 6865 7265 2028 6e6f 2070 eated here (no p │ │ │ │ │ +00011110: 756e 0a69 6e74 656e 6465 6429 2066 6f72 un.intended) for │ │ │ │ │ +00011120: 2063 6f6e 7665 6e69 656e 6365 2e20 2054 convenience. T │ │ │ │ │ +00011130: 6f20 6d61 6b65 2074 6865 206b 2774 6820 o make the k'th │ │ │ │ │ +00011140: 636f 7079 2c20 7468 6520 666f 6c6c 6f77 copy, the follow │ │ │ │ │ +00011150: 696e 670a 7472 616e 7366 6f72 6d20 6973 ing.transform is │ │ │ │ │ +00011160: 2061 7070 6c69 6564 2074 6f20 7468 6520 applied to the │ │ │ │ │ +00011170: 6f72 6967 696e 616c 206f 626a 6563 742e original object. │ │ │ │ │ +00011180: 0a20 2020 2020 545f 315e 6b20 7468 656e . T_1^k then │ │ │ │ │ +00011190: 2054 5f32 5e6b 2074 6865 6e20 2e2e 2e20 T_2^k then ... │ │ │ │ │ +000111a0: 7468 656e 2054 5f52 5e6b 0a48 6572 6520 then T_R^k.Here │ │ │ │ │ +000111b0: 545e 6b20 6d65 616e 7320 2274 7261 6e73 T^k means "trans │ │ │ │ │ +000111c0: 666f 726d 2054 2061 7070 6c69 6564 206b form T applied k │ │ │ │ │ +000111d0: 2074 696d 6573 2e22 0a0a 1f0a 4669 6c65 times."....File │ │ │ │ │ +000111e0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +000111f0: 4e6f 6465 3a20 5075 7473 2c20 2050 7265 Node: Puts, Pre │ │ │ │ │ +00011200: 763a 2052 6570 6561 7473 2c20 2055 703a v: Repeats, Up: │ │ │ │ │ +00011210: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2. │ │ │ │ │ +00011220: 3920 5075 7473 0a2d 2d2d 2d2d 2d2d 2d2d 9 Puts.--------- │ │ │ │ │ +00011230: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. │ │ │ │ │ +00011240: 2020 7075 7420 7b20 5420 7d20 5055 545f put { T } PUT_ │ │ │ │ │ +00011250: 4f42 4a45 4354 0a50 7574 206d 6572 656c OBJECT.Put merel │ │ │ │ │ +00011260: 7920 6170 706c 6965 7320 7472 616e 7366 y applies transf │ │ │ │ │ +00011270: 6f72 6d20 5420 746f 2074 6865 2064 7261 orm T to the dra │ │ │ │ │ +00011280: 7761 626c 6520 5055 545f 4f42 4a45 4354 wable PUT_OBJECT │ │ │ │ │ +00011290: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +000112a0: 682e 696e 666f 2c20 204e 6f64 653a 2044 h.info, Node: D │ │ │ │ │ +000112b0: 6566 696e 6974 696f 6e73 2c20 204e 6578 efinitions, Nex │ │ │ │ │ +000112c0: 743a 2047 6c6f 6261 6c20 656e 7669 726f t: Global enviro │ │ │ │ │ +000112d0: 6e6d 656e 742c 2020 5072 6576 3a20 4472 nment, Prev: Dr │ │ │ │ │ +000112e0: 6177 6162 6c65 732c 2020 5570 3a20 496e awables, Up: In │ │ │ │ │ +000112f0: 7075 7420 6c61 6e67 7561 6765 0a0a 332e put language..3. │ │ │ │ │ +00011300: 3320 4465 6669 6e69 7469 6f6e 730a 3d3d 3 Definitions.== │ │ │ │ │ +00011310: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 =============..D │ │ │ │ │ +00011320: 6566 696e 6974 696f 6e73 2067 6976 6520 efinitions give │ │ │ │ │ +00011330: 6e61 6d65 7320 746f 20e2 8098 736b 6574 names to ...sket │ │ │ │ │ +00011340: 6368 e280 9920 6f62 6a65 6374 732e 2020 ch... objects. │ │ │ │ │ +00011350: 4465 6669 6e69 7469 6f6e 7320 616c 6f6e Definitions alon │ │ │ │ │ +00011360: 6520 6172 650a 6265 6e69 676e 2e20 2041 e are.benign. A │ │ │ │ │ +00011370: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in │ │ │ │ │ +00011380: 7075 7420 6669 6c65 2063 6f6e 7369 7374 put file consist │ │ │ │ │ +00011390: 696e 6720 656e 7469 7265 6c79 206f 6620 ing entirely of │ │ │ │ │ +000113a0: 6465 6669 6e69 7469 6f6e 7320 7769 6c6c definitions will │ │ │ │ │ +000113b0: 0a67 656e 6572 6174 6520 6e6f 2064 7261 .generate no dra │ │ │ │ │ +000113c0: 7769 6e67 2e20 204f 6e6c 7920 7768 656e wing. Only when │ │ │ │ │ +000113d0: 2064 6566 696e 6974 696f 6e73 2061 7265 definitions are │ │ │ │ │ +000113e0: 20e2 809c 7265 6665 7265 6e63 6564 e280 ...referenced.. │ │ │ │ │ +000113f0: 9d20 646f 2074 6865 790a 706f 7465 6e74 . do they.potent │ │ │ │ │ +00011400: 6961 6c6c 7920 6c65 6164 2074 6f20 696e ially lead to in │ │ │ │ │ +00011410: 6b20 6f6e 2074 6865 2064 7261 7769 6e67 k on the drawing │ │ │ │ │ +00011420: 2e0a 0a20 2020 5468 6520 696e 7465 6e74 ... The intent │ │ │ │ │ +00011430: 206f 6620 6465 6669 6e69 7469 6f6e 7320 of definitions │ │ │ │ │ +00011440: 6973 2074 6f20 6d61 6b65 20e2 8098 736b is to make ...sk │ │ │ │ │ +00011450: 6574 6368 e280 9920 636f 6465 206d 6f72 etch... code mor │ │ │ │ │ +00011460: 6520 636f 6e63 6973 6520 616e 640a 7265 e concise and.re │ │ │ │ │ +00011470: 6164 6162 6c65 2e20 2054 6865 7265 2069 adable. There i │ │ │ │ │ +00011480: 7320 6e6f 2069 6e70 7574 2066 696c 6520 s no input file │ │ │ │ │ +00011490: 656d 706c 6f79 696e 6720 6465 6669 6e69 employing defini │ │ │ │ │ +000114a0: 7469 6f6e 7320 7468 6174 2063 6f75 6c64 tions that could │ │ │ │ │ +000114b0: 206e 6f74 0a62 6520 7265 2d77 7269 7474 not.be re-writt │ │ │ │ │ +000114c0: 656e 2077 6974 686f 7574 2074 6865 6d2e en without them. │ │ │ │ │ +000114d0: 0a0a 2020 2044 6566 696e 6162 6c65 206f .. Definable o │ │ │ │ │ +000114e0: 626a 6563 7473 2069 6e63 6c75 6465 2061 bjects include a │ │ │ │ │ +000114f0: 6e79 2072 6573 756c 7420 6f66 2061 6e20 ny result of an │ │ │ │ │ +00011500: 6166 6669 6e65 2061 7269 7468 6d65 7469 affine arithmeti │ │ │ │ │ +00011510: 630a 6578 7072 6573 7369 6f6e 2028 7363 c.expression (sc │ │ │ │ │ +00011520: 616c 6172 2c20 706f 696e 742c 2076 6563 alar, point, vec │ │ │ │ │ +00011530: 746f 722c 206f 7220 7472 616e 7366 6f72 tor, or transfor │ │ │ │ │ +00011540: 6d29 2c20 616e 7920 6472 6177 6162 6c65 m), any drawable │ │ │ │ │ +00011550: 206f 626a 6563 740a 2864 6f74 732c 206c object.(dots, l │ │ │ │ │ +00011560: 696e 652c 2063 7572 7665 2c20 706f 6c79 ine, curve, poly │ │ │ │ │ +00011570: 676f 6e2c 2062 6c6f 636b 2c20 7377 6565 gon, block, swee │ │ │ │ │ +00011580: 702c 2070 7574 2c20 7265 7065 6174 2c20 p, put, repeat, │ │ │ │ │ +00011590: 6f72 2073 7065 6369 616c 292c 2061 6e64 or special), and │ │ │ │ │ +000115a0: 0a6f 7074 696f 6e20 7374 7269 6e67 732e .option strings. │ │ │ │ │ +000115b0: 2020 496e 2061 6464 6974 696f 6e2c 20e2 In addition, . │ │ │ │ │ +000115c0: 809c 7461 6720 6465 6669 6e69 7469 6f6e ..tag definition │ │ │ │ │ +000115d0: 73e2 809d 2c20 7768 6963 6820 6861 7665 s..., which have │ │ │ │ │ +000115e0: 206e 6f0a 6173 736f 6369 6174 6564 206f no.associated o │ │ │ │ │ +000115f0: 626a 6563 7420 6174 2061 6c6c 2c20 616c bject at all, al │ │ │ │ │ +00011600: 6c6f 7720 7468 6520 6d65 616e 696e 6720 low the meaning │ │ │ │ │ +00011610: 6f66 206f 7468 6572 2064 6566 696e 6974 of other definit │ │ │ │ │ +00011620: 696f 6e73 2074 6f20 6265 0a73 656c 6563 ions to be.selec │ │ │ │ │ +00011630: 7465 6420 6672 6f6d 2061 2073 6574 206f ted from a set o │ │ │ │ │ +00011640: 6620 616c 7465 726e 6174 6976 6573 2e20 f alternatives. │ │ │ │ │ +00011650: 2053 696e 6365 2074 6167 7320 6d61 7920 Since tags may │ │ │ │ │ +00011660: 6265 2064 6566 696e 6564 2028 616e 640a be defined (and. │ │ │ │ │ +00011670: 756e 6465 6669 6e65 6429 2069 6e20 7468 undefined) in th │ │ │ │ │ +00011680: 6520 636f 6d6d 616e 6420 6c69 6e65 206f e command line o │ │ │ │ │ +00011690: 6620 e280 9873 6b65 7463 68e2 8099 2c20 f ...sketch..., │ │ │ │ │ +000116a0: 7468 6579 2063 616e 2062 6520 616e 2061 they can be an a │ │ │ │ │ +000116b0: 6964 2069 6e20 7468 650a 7363 7269 7074 id in the.script │ │ │ │ │ +000116c0: 2d64 7269 7665 6e20 7072 6570 6172 6174 -driven preparat │ │ │ │ │ +000116d0: 696f 6e20 6f66 2064 6f63 756d 656e 7473 ion of documents │ │ │ │ │ +000116e0: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 466f ...* Menu:..* Fo │ │ │ │ │ +000116f0: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio │ │ │ │ │ +00011700: 6e73 3a3a 2020 2020 2020 2020 4469 6666 ns:: Diff │ │ │ │ │ +00011710: 6572 656e 7420 6465 6673 2066 6f72 2064 erent defs for d │ │ │ │ │ +00011720: 6966 6665 7265 6e74 2070 7572 706f 7365 ifferent purpose │ │ │ │ │ +00011730: 732e 0a2a 2046 6f72 6d73 206f 6620 7265 s..* Forms of re │ │ │ │ │ +00011740: 6665 7265 6e63 6573 3a3a 2020 2020 2020 ferences:: │ │ │ │ │ +00011750: 2020 2048 6f77 2072 6566 6572 656e 6365 How reference │ │ │ │ │ +00011760: 7320 6465 6e6f 7465 2074 7970 6573 2e0a s denote types.. │ │ │ │ │ +00011770: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +00011780: 696e 666f 2c20 204e 6f64 653a 2046 6f72 info, Node: For │ │ │ │ │ +00011790: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition │ │ │ │ │ +000117a0: 732c 2020 4e65 7874 3a20 466f 726d 7320 s, Next: Forms │ │ │ │ │ +000117b0: 6f66 2072 6566 6572 656e 6365 732c 2020 of references, │ │ │ │ │ +000117c0: 5072 6576 3a20 4465 6669 6e69 7469 6f6e Prev: Definition │ │ │ │ │ +000117d0: 732c 2020 5570 3a20 4465 6669 6e69 7469 s, Up: Definiti │ │ │ │ │ +000117e0: 6f6e 730a 0a33 2e33 2e31 2046 6f72 6d73 ons..3.3.1 Forms │ │ │ │ │ +000117f0: 206f 6620 6465 6669 6e69 7469 6f6e 730a of definitions. │ │ │ │ │ 00011800: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00011810: 2d2d 2d2d 2d2d 2d2d 0a0a 4465 6669 6e69 --------..Defini │ │ │ │ │ -00011820: 7469 6f6e 7320 6861 7665 2074 6872 6565 tions have three │ │ │ │ │ -00011830: 2070 6f73 7369 626c 6520 666f 726d 732c possible forms, │ │ │ │ │ -00011840: 20e2 809c 7369 6d70 6c65 e280 9d2c 20e2 ...simple..., . │ │ │ │ │ -00011850: 809c 7769 7468 2061 6c74 6572 6e61 7469 ..with alternati │ │ │ │ │ -00011860: 7665 73e2 809d 2c0a 616e 6420 e280 9c74 ves...,.and ...t │ │ │ │ │ -00011870: 6167 e280 9d20 6173 2073 686f 776e 2068 ag... as shown h │ │ │ │ │ -00011880: 6572 6520 696e 206f 7264 6572 2e0a 0a2a ere in order...* │ │ │ │ │ -00011890: 5379 6e74 6178 3a2a 0a20 2020 2020 6465 Syntax:*. de │ │ │ │ │ -000118a0: 6620 4944 204f 424a 4543 5420 2025 2073 f ID OBJECT % s │ │ │ │ │ -000118b0: 696d 706c 6520 6465 660a 2020 2020 2064 imple def. d │ │ │ │ │ -000118c0: 6566 2049 4420 3c54 4147 5f31 3e20 4f42 ef ID OB │ │ │ │ │ -000118d0: 4a45 4354 5f31 2020 2520 6465 6620 7769 JECT_1 % def wi │ │ │ │ │ -000118e0: 7468 2061 6c74 6572 6e61 7469 7665 730a th alternatives. │ │ │ │ │ -000118f0: 2020 2020 2020 2020 2020 2020 3c54 4147 OBJECT_2. │ │ │ │ │ -00011910: 2020 2020 2020 2020 202e 2e2e 0a20 2020 .... │ │ │ │ │ -00011920: 2020 2020 2020 2020 203c 3e20 4445 4641 <> DEFA │ │ │ │ │ -00011930: 554c 545f 4f42 4a45 4354 0a20 2020 2020 ULT_OBJECT. │ │ │ │ │ -00011940: 6465 6620 4944 203c 3e20 2025 2074 6167 def ID <> % tag │ │ │ │ │ -00011950: 2064 6566 0a54 6865 2073 696d 706c 6520 def.The simple │ │ │ │ │ -00011960: 6465 6669 6e69 7469 6f6e 206d 6572 656c definition merel │ │ │ │ │ -00011970: 7920 6173 736f 6369 6174 6573 204f 424a y associates OBJ │ │ │ │ │ -00011980: 4543 5420 7769 7468 2074 6865 2069 6465 ECT with the ide │ │ │ │ │ -00011990: 6e74 6966 6965 7220 4944 2e0a 0a20 2020 ntifier ID... │ │ │ │ │ -000119a0: 5468 6520 6465 6669 6e69 7469 6f6e 2077 The definition w │ │ │ │ │ -000119b0: 6974 6820 616c 7465 726e 6174 6976 6573 ith alternatives │ │ │ │ │ -000119c0: 2061 7373 6f63 6961 7465 7320 4f42 4a45 associates OBJE │ │ │ │ │ -000119d0: 4354 5f49 2077 6974 6820 4944 2c20 7768 CT_I with ID, wh │ │ │ │ │ -000119e0: 6572 650a 5441 475f 4920 6973 2074 6865 ere.TAG_I is the │ │ │ │ │ -000119f0: 2066 6972 7374 2064 6566 696e 6564 2074 first defined t │ │ │ │ │ -00011a00: 6167 2069 6e20 7468 6520 6c69 7374 206f ag in the list o │ │ │ │ │ -00011a10: 6620 616c 7465 726e 6174 6976 6520 7461 f alternative ta │ │ │ │ │ -00011a20: 670a 7265 6665 7265 6e63 6573 2e20 2049 g.references. I │ │ │ │ │ -00011a30: 6620 6e6f 2074 6167 2069 6e20 7468 6520 f no tag in the │ │ │ │ │ -00011a40: 6c69 7374 2069 7320 6465 6669 6e65 642c list is defined, │ │ │ │ │ -00011a50: 2074 6865 6e20 4445 4641 554c 545f 4f42 then DEFAULT_OB │ │ │ │ │ -00011a60: 4a45 4354 2069 730a 6173 736f 6369 6174 JECT is.associat │ │ │ │ │ -00011a70: 6564 2077 6974 6820 6964 656e 7469 6669 ed with identifi │ │ │ │ │ -00011a80: 6572 2049 442e 0a0a 2020 2054 6865 2066 er ID... The f │ │ │ │ │ -00011a90: 696e 616c 2066 6f72 6d20 6465 6669 6e65 inal form define │ │ │ │ │ -00011aa0: 7320 4944 2061 7320 6120 7461 672e 2020 s ID as a tag. │ │ │ │ │ -00011ab0: 416e 6f74 6865 7220 7761 7920 746f 2064 Another way to d │ │ │ │ │ -00011ac0: 6566 696e 6520 6120 7461 6720 6973 0a77 efine a tag is.w │ │ │ │ │ -00011ad0: 6974 6820 7468 6520 e280 982d 44e2 8099 ith the ...-D... │ │ │ │ │ -00011ae0: 2063 6f6d 6d61 6e64 206c 696e 6520 6f70 command line op │ │ │ │ │ -00011af0: 7469 6f6e 2e20 202a 4e6f 7465 2043 6f6d tion. *Note Com │ │ │ │ │ -00011b00: 6d61 6e64 206c 696e 653a 3a2e 0a0a 1f0a mand line::..... │ │ │ │ │ -00011b10: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -00011b20: 6f2c 2020 4e6f 6465 3a20 466f 726d 7320 o, Node: Forms │ │ │ │ │ -00011b30: 6f66 2072 6566 6572 656e 6365 732c 2020 of references, │ │ │ │ │ -00011b40: 5072 6576 3a20 466f 726d 7320 6f66 2064 Prev: Forms of d │ │ │ │ │ -00011b50: 6566 696e 6974 696f 6e73 2c20 2055 703a efinitions, Up: │ │ │ │ │ -00011b60: 2044 6566 696e 6974 696f 6e73 0a0a 332e Definitions..3. │ │ │ │ │ -00011b70: 332e 3220 466f 726d 7320 6f66 2072 6566 3.2 Forms of ref │ │ │ │ │ -00011b80: 6572 656e 6365 730a 2d2d 2d2d 2d2d 2d2d erences.-------- │ │ │ │ │ +00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4465 6669 ----------..Defi │ │ │ │ │ +00011820: 6e69 7469 6f6e 7320 6861 7665 2074 6872 nitions have thr │ │ │ │ │ +00011830: 6565 2070 6f73 7369 626c 6520 666f 726d ee possible form │ │ │ │ │ +00011840: 732c 20e2 809c 7369 6d70 6c65 e280 9d2c s, ...simple..., │ │ │ │ │ +00011850: 20e2 809c 7769 7468 2061 6c74 6572 6e61 ...with alterna │ │ │ │ │ +00011860: 7469 7665 73e2 809d 2c0a 616e 6420 e280 tives...,.and .. │ │ │ │ │ +00011870: 9c74 6167 e280 9d20 6173 2073 686f 776e .tag... as shown │ │ │ │ │ +00011880: 2068 6572 6520 696e 206f 7264 6572 2e0a here in order.. │ │ │ │ │ +00011890: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ +000118a0: 6465 6620 4944 204f 424a 4543 5420 2025 def ID OBJECT % │ │ │ │ │ +000118b0: 2073 696d 706c 6520 6465 660a 2020 2020 simple def. │ │ │ │ │ +000118c0: 2064 6566 2049 4420 3c54 4147 5f31 3e20 def ID │ │ │ │ │ +000118d0: 4f42 4a45 4354 5f31 2020 2520 6465 6620 OBJECT_1 % def │ │ │ │ │ +000118e0: 7769 7468 2061 6c74 6572 6e61 7469 7665 with alternative │ │ │ │ │ +000118f0: 730a 2020 2020 2020 2020 2020 2020 3c54 s. OBJECT_2. │ │ │ │ │ +00011910: 2020 2020 2020 2020 2020 202e 2e2e 0a20 .... │ │ │ │ │ +00011920: 2020 2020 2020 2020 2020 203c 3e20 4445 <> DE │ │ │ │ │ +00011930: 4641 554c 545f 4f42 4a45 4354 0a20 2020 FAULT_OBJECT. │ │ │ │ │ +00011940: 2020 6465 6620 4944 203c 3e20 2025 2074 def ID <> % t │ │ │ │ │ +00011950: 6167 2064 6566 0a54 6865 2073 696d 706c ag def.The simpl │ │ │ │ │ +00011960: 6520 6465 6669 6e69 7469 6f6e 206d 6572 e definition mer │ │ │ │ │ +00011970: 656c 7920 6173 736f 6369 6174 6573 204f ely associates O │ │ │ │ │ +00011980: 424a 4543 5420 7769 7468 2074 6865 2069 BJECT with the i │ │ │ │ │ +00011990: 6465 6e74 6966 6965 7220 4944 2e0a 0a20 dentifier ID... │ │ │ │ │ +000119a0: 2020 5468 6520 6465 6669 6e69 7469 6f6e The definition │ │ │ │ │ +000119b0: 2077 6974 6820 616c 7465 726e 6174 6976 with alternativ │ │ │ │ │ +000119c0: 6573 2061 7373 6f63 6961 7465 7320 4f42 es associates OB │ │ │ │ │ +000119d0: 4a45 4354 5f49 2077 6974 6820 4944 2c20 JECT_I with ID, │ │ │ │ │ +000119e0: 7768 6572 650a 5441 475f 4920 6973 2074 where.TAG_I is t │ │ │ │ │ +000119f0: 6865 2066 6972 7374 2064 6566 696e 6564 he first defined │ │ │ │ │ +00011a00: 2074 6167 2069 6e20 7468 6520 6c69 7374 tag in the list │ │ │ │ │ +00011a10: 206f 6620 616c 7465 726e 6174 6976 6520 of alternative │ │ │ │ │ +00011a20: 7461 670a 7265 6665 7265 6e63 6573 2e20 tag.references. │ │ │ │ │ +00011a30: 2049 6620 6e6f 2074 6167 2069 6e20 7468 If no tag in th │ │ │ │ │ +00011a40: 6520 6c69 7374 2069 7320 6465 6669 6e65 e list is define │ │ │ │ │ +00011a50: 642c 2074 6865 6e20 4445 4641 554c 545f d, then DEFAULT_ │ │ │ │ │ +00011a60: 4f42 4a45 4354 2069 730a 6173 736f 6369 OBJECT is.associ │ │ │ │ │ +00011a70: 6174 6564 2077 6974 6820 6964 656e 7469 ated with identi │ │ │ │ │ +00011a80: 6669 6572 2049 442e 0a0a 2020 2054 6865 fier ID... The │ │ │ │ │ +00011a90: 2066 696e 616c 2066 6f72 6d20 6465 6669 final form defi │ │ │ │ │ +00011aa0: 6e65 7320 4944 2061 7320 6120 7461 672e nes ID as a tag. │ │ │ │ │ +00011ab0: 2020 416e 6f74 6865 7220 7761 7920 746f Another way to │ │ │ │ │ +00011ac0: 2064 6566 696e 6520 6120 7461 6720 6973 define a tag is │ │ │ │ │ +00011ad0: 0a77 6974 6820 7468 6520 e280 982d 44e2 .with the ...-D. │ │ │ │ │ +00011ae0: 8099 2063 6f6d 6d61 6e64 206c 696e 6520 .. command line │ │ │ │ │ +00011af0: 6f70 7469 6f6e 2e20 202a 4e6f 7465 2043 option. *Note C │ │ │ │ │ +00011b00: 6f6d 6d61 6e64 206c 696e 653a 3a2e 0a0a ommand line::... │ │ │ │ │ +00011b10: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00011b20: 6e66 6f2c 2020 4e6f 6465 3a20 466f 726d nfo, Node: Form │ │ │ │ │ +00011b30: 7320 6f66 2072 6566 6572 656e 6365 732c s of references, │ │ │ │ │ +00011b40: 2020 5072 6576 3a20 466f 726d 7320 6f66 Prev: Forms of │ │ │ │ │ +00011b50: 2064 6566 696e 6974 696f 6e73 2c20 2055 definitions, U │ │ │ │ │ +00011b60: 703a 2044 6566 696e 6974 696f 6e73 0a0a p: Definitions.. │ │ │ │ │ +00011b70: 332e 332e 3220 466f 726d 7320 6f66 2072 3.3.2 Forms of r │ │ │ │ │ +00011b80: 6566 6572 656e 6365 730a 2d2d 2d2d 2d2d eferences.------ │ │ │ │ │ 00011b90: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00011ba0: 2d0a 0a52 6566 6572 656e 6365 7320 746f -..References to │ │ │ │ │ -00011bb0: 2064 6566 696e 6564 206e 616d 6573 2061 defined names a │ │ │ │ │ -00011bc0: 7265 2065 6e63 6c6f 7365 6420 696e 2062 re enclosed in b │ │ │ │ │ -00011bd0: 7261 636b 6574 696e 6720 6465 6c69 6d69 racketing delimi │ │ │ │ │ -00011be0: 7465 7273 2e20 2054 6865 0a64 656c 696d ters. The.delim │ │ │ │ │ -00011bf0: 6974 6572 2063 6861 7261 6374 6572 7320 iter characters │ │ │ │ │ -00011c00: 696d 706c 7920 7468 6520 7479 7065 206f imply the type o │ │ │ │ │ -00011c10: 6620 7468 6520 6173 736f 6369 6174 6564 f the associated │ │ │ │ │ -00011c20: 2076 616c 7565 2061 7320 7368 6f77 6e20 value as shown │ │ │ │ │ -00011c30: 696e 0a74 6865 2074 6162 6c65 2062 656c in.the table bel │ │ │ │ │ -00011c40: 6f77 2e20 2041 2074 7970 6520 6572 726f ow. A type erro │ │ │ │ │ -00011c50: 7220 6973 2072 6169 7365 6420 6966 2074 r is raised if t │ │ │ │ │ -00011c60: 6865 2074 7970 6520 6f66 2061 2072 6566 he type of a ref │ │ │ │ │ -00011c70: 6572 656e 6365 2064 6f65 730a 6e6f 7420 erence does.not │ │ │ │ │ -00011c80: 6d61 7463 6820 7468 6520 7479 7065 206f match the type o │ │ │ │ │ -00011c90: 6620 7468 6520 6465 6669 6e65 6420 7661 f the defined va │ │ │ │ │ -00011ca0: 6c75 652e 2020 5468 6520 696e 7465 6e74 lue. The intent │ │ │ │ │ -00011cb0: 206f 6620 7468 6973 206d 6563 6861 6e69 of this mechani │ │ │ │ │ -00011cc0: 736d 0a69 732c 2061 6761 696e 2c20 746f sm.is, again, to │ │ │ │ │ -00011cd0: 206d 616b 6520 e280 9873 6b65 7463 68e2 make ...sketch. │ │ │ │ │ -00011ce0: 8099 2069 6e70 7574 2066 696c 6573 206d .. input files m │ │ │ │ │ -00011cf0: 6f72 6520 7265 6164 6162 6c65 2e0a 5479 ore readable..Ty │ │ │ │ │ -00011d00: 7065 2020 2020 2020 2020 5265 6665 7265 pe Refere │ │ │ │ │ -00011d10: 6e63 650a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d nce.------------ │ │ │ │ │ +00011ba0: 2d2d 2d0a 0a52 6566 6572 656e 6365 7320 ---..References │ │ │ │ │ +00011bb0: 746f 2064 6566 696e 6564 206e 616d 6573 to defined names │ │ │ │ │ +00011bc0: 2061 7265 2065 6e63 6c6f 7365 6420 696e are enclosed in │ │ │ │ │ +00011bd0: 2062 7261 636b 6574 696e 6720 6465 6c69 bracketing deli │ │ │ │ │ +00011be0: 6d69 7465 7273 2e20 2054 6865 0a64 656c miters. The.del │ │ │ │ │ +00011bf0: 696d 6974 6572 2063 6861 7261 6374 6572 imiter character │ │ │ │ │ +00011c00: 7320 696d 706c 7920 7468 6520 7479 7065 s imply the type │ │ │ │ │ +00011c10: 206f 6620 7468 6520 6173 736f 6369 6174 of the associat │ │ │ │ │ +00011c20: 6564 2076 616c 7565 2061 7320 7368 6f77 ed value as show │ │ │ │ │ +00011c30: 6e20 696e 0a74 6865 2074 6162 6c65 2062 n in.the table b │ │ │ │ │ +00011c40: 656c 6f77 2e20 2041 2074 7970 6520 6572 elow. A type er │ │ │ │ │ +00011c50: 726f 7220 6973 2072 6169 7365 6420 6966 ror is raised if │ │ │ │ │ +00011c60: 2074 6865 2074 7970 6520 6f66 2061 2072 the type of a r │ │ │ │ │ +00011c70: 6566 6572 656e 6365 2064 6f65 730a 6e6f eference does.no │ │ │ │ │ +00011c80: 7420 6d61 7463 6820 7468 6520 7479 7065 t match the type │ │ │ │ │ +00011c90: 206f 6620 7468 6520 6465 6669 6e65 6420 of the defined │ │ │ │ │ +00011ca0: 7661 6c75 652e 2020 5468 6520 696e 7465 value. The inte │ │ │ │ │ +00011cb0: 6e74 206f 6620 7468 6973 206d 6563 6861 nt of this mecha │ │ │ │ │ +00011cc0: 6e69 736d 0a69 732c 2061 6761 696e 2c20 nism.is, again, │ │ │ │ │ +00011cd0: 746f 206d 616b 6520 e280 9873 6b65 7463 to make ...sketc │ │ │ │ │ +00011ce0: 68e2 8099 2069 6e70 7574 2066 696c 6573 h... input files │ │ │ │ │ +00011cf0: 206d 6f72 6520 7265 6164 6162 6c65 2e0a more readable.. │ │ │ │ │ +00011d00: 5479 7065 2020 2020 2020 2020 5265 6665 Type Refe │ │ │ │ │ +00011d10: 7265 6e63 650a 2d2d 2d2d 2d2d 2d2d 2d2d rence.---------- │ │ │ │ │ 00011d20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00011d30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a73 --------------.s │ │ │ │ │ -00011d40: 6361 6c61 7220 2020 2020 20e2 8098 4944 calar ...ID │ │ │ │ │ -00011d50: e280 990a 706f 696e 7420 2020 2020 2020 ....point │ │ │ │ │ -00011d60: e280 9828 4944 29e2 8099 0a76 6563 746f ...(ID)....vecto │ │ │ │ │ -00011d70: 7220 2020 2020 20e2 8098 5b49 445d e280 r ...[ID].. │ │ │ │ │ -00011d80: 990a 7472 616e 7366 6f72 6d20 2020 e280 ..transform .. │ │ │ │ │ -00011d90: 985b 5b49 445d 5de2 8099 0a64 7261 7761 .[[ID]]....drawa │ │ │ │ │ -00011da0: 626c 6520 2020 20e2 8098 7b49 447d e280 ble ...{ID}.. │ │ │ │ │ -00011db0: 990a 6f70 7469 6f6e 7320 2020 2020 e280 ..options .. │ │ │ │ │ -00011dc0: 985b 4944 5de2 8099 206f 7220 e280 985b .[ID]... or ...[ │ │ │ │ │ -00011dd0: 4944 312c 2e2e 2e2c 4944 4e5d e280 990a ID1,...,IDN].... │ │ │ │ │ -00011de0: 7461 6720 2020 2020 2020 2020 e280 983c tag ...< │ │ │ │ │ -00011df0: 4944 3ee2 8099 0a0a 4e6f 7465 2074 6861 ID>.....Note tha │ │ │ │ │ -00011e00: 7420 7371 7561 7265 2062 7261 636b 6574 t square bracket │ │ │ │ │ -00011e10: 7320 e280 985b 205d e280 9920 6172 6520 s ...[ ]... are │ │ │ │ │ -00011e20: 7573 6564 2062 6f74 6820 666f 7220 7665 used both for ve │ │ │ │ │ -00011e30: 6374 6f72 2061 6e64 2066 6f72 206f 7074 ctor and for opt │ │ │ │ │ -00011e40: 696f 6e73 0a72 6566 6572 656e 6365 732e ions.references. │ │ │ │ │ -00011e50: 2020 4465 7461 696c 7320 6f66 20e2 8098 Details of ... │ │ │ │ │ -00011e60: 736b 6574 6368 e280 9920 7379 6e74 6178 sketch... syntax │ │ │ │ │ -00011e70: 206d 616b 6520 6974 2069 6d70 6f73 7369 make it impossi │ │ │ │ │ -00011e80: 626c 6520 666f 7220 7468 6573 6520 7477 ble for these tw │ │ │ │ │ -00011e90: 6f0a 7265 6665 7265 6e63 6520 7479 7065 o.reference type │ │ │ │ │ -00011ea0: 7320 746f 2062 6520 636f 6e66 7573 6564 s to be confused │ │ │ │ │ -00011eb0: 2e20 2054 6865 2073 7065 6369 616c 206d . The special m │ │ │ │ │ -00011ec0: 756c 7469 706c 6520 7265 6665 7265 6e63 ultiple referenc │ │ │ │ │ -00011ed0: 650a e280 985b 4944 312c 4944 322c 2e2e e....[ID1,ID2,.. │ │ │ │ │ -00011ee0: 2e2c 4944 4e5d e280 9920 6163 7473 2061 .,IDN]... acts a │ │ │ │ │ -00011ef0: 7320 6966 2074 6865 2072 6573 7065 6374 s if the respect │ │ │ │ │ -00011f00: 6976 6520 6c69 7374 7320 6f66 206f 7074 ive lists of opt │ │ │ │ │ -00011f10: 696f 6e73 2077 6572 650a 636f 6e63 6174 ions were.concat │ │ │ │ │ -00011f20: 656e 6174 6564 2e0a 0a1f 0a46 696c 653a enated.....File: │ │ │ │ │ -00011f30: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ -00011f40: 6f64 653a 2047 6c6f 6261 6c20 656e 7669 ode: Global envi │ │ │ │ │ -00011f50: 726f 6e6d 656e 742c 2020 5072 6576 3a20 ronment, Prev: │ │ │ │ │ -00011f60: 4465 6669 6e69 7469 6f6e 732c 2020 5570 Definitions, Up │ │ │ │ │ -00011f70: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language │ │ │ │ │ -00011f80: 0a0a 332e 3420 476c 6f62 616c 2065 6e76 ..3.4 Global env │ │ │ │ │ -00011f90: 6972 6f6e 6d65 6e74 0a3d 3d3d 3d3d 3d3d ironment.======= │ │ │ │ │ -00011fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============. │ │ │ │ │ -00011fb0: 0a41 6e20 6f70 7469 6f6e 616c 2067 6c6f .An optional glo │ │ │ │ │ -00011fc0: 6261 6c20 656e 7669 726f 6e6d 656e 7420 bal environment │ │ │ │ │ -00011fd0: 626c 6f63 6b20 7072 6f76 6964 6573 2061 block provides a │ │ │ │ │ -00011fe0: 2066 6577 2077 6179 7320 746f 2061 6666 few ways to aff │ │ │ │ │ -00011ff0: 6563 7420 7468 650a 656e 7469 7265 2073 ect the.entire s │ │ │ │ │ -00012000: 6365 6e65 2e20 2054 6865 2062 6c6f 636b cene. The block │ │ │ │ │ -00012010: 206d 7573 7420 6170 7065 6172 2061 7320 must appear as │ │ │ │ │ -00012020: 7468 6520 6c61 7374 2074 6578 7420 696e the last text in │ │ │ │ │ -00012030: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch.. │ │ │ │ │ -00012040: 990a 696e 7075 7420 6669 6c65 2e20 2049 ..input file. I │ │ │ │ │ -00012050: 7420 6d61 7920 696e 636c 7564 6520 6465 t may include de │ │ │ │ │ -00012060: 6669 6e69 7469 6f6e 732c 2062 7574 206e finitions, but n │ │ │ │ │ -00012070: 6f74 6520 7468 6174 2070 7265 7669 6f75 ote that previou │ │ │ │ │ -00012080: 730a 6465 6669 6e69 7469 6f6e 7320 6174 s.definitions at │ │ │ │ │ -00012090: 2074 6865 2074 6f70 206c 6576 656c 2028 the top level ( │ │ │ │ │ -000120a0: 6e6f 7420 6e65 7374 6564 2069 6e73 6964 not nested insid │ │ │ │ │ -000120b0: 6520 626c 6f63 6b73 2920 6172 6520 616c e blocks) are al │ │ │ │ │ -000120c0: 736f 0a61 7661 696c 6162 6c65 2e0a 0a2a so.available...* │ │ │ │ │ -000120d0: 5379 6e74 6178 3a2a 0a20 2020 2020 676c Syntax:*. gl │ │ │ │ │ -000120e0: 6f62 616c 207b 2045 4e56 4952 4f4e 4d45 obal { ENVIRONME │ │ │ │ │ -000120f0: 4e54 5f53 4554 5449 4e47 5320 7d0a 5468 NT_SETTINGS }.Th │ │ │ │ │ -00012100: 6520 636f 6e74 656e 7473 206f 6620 454e e contents of EN │ │ │ │ │ -00012110: 5649 524f 4e4d 454e 545f 5345 5454 494e VIRONMENT_SETTIN │ │ │ │ │ -00012120: 4753 2061 7265 2064 6973 6375 7373 6564 GS are discussed │ │ │ │ │ -00012130: 2069 6e20 7468 6520 7365 6374 696f 6e73 in the sections │ │ │ │ │ -00012140: 2074 6861 740a 666f 6c6c 6f77 2e0a 0a2a that.follow...* │ │ │ │ │ -00012150: 204d 656e 753a 0a0a 2a20 476c 6f62 616c Menu:..* Global │ │ │ │ │ -00012160: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: │ │ │ │ │ -00012170: 2020 2020 2020 2020 4174 7472 6962 7574 Attribut │ │ │ │ │ -00012180: 6573 206f 6620 7468 6520 656e 7469 7265 es of the entire │ │ │ │ │ -00012190: 2064 7261 7769 6e67 2e0a 2a20 4361 6d65 drawing..* Came │ │ │ │ │ -000121a0: 7261 3a3a 2020 2020 2020 2020 2020 2020 ra:: │ │ │ │ │ -000121b0: 2020 2020 2020 2020 2020 4120 6669 6e61 A fina │ │ │ │ │ -000121c0: 6c20 6361 6d65 7261 2074 7261 6e73 666f l camera transfo │ │ │ │ │ -000121d0: 726d 6174 696f 6e20 6f66 2074 6865 2073 rmation of the s │ │ │ │ │ -000121e0: 6365 6e65 2e0a 2a20 5069 6374 7572 6520 cene..* Picture │ │ │ │ │ -000121f0: 626f 783a 3a20 2020 2020 2020 2020 2020 box:: │ │ │ │ │ -00012200: 2020 2020 2020 5365 7474 696e 6720 7468 Setting th │ │ │ │ │ -00012210: 6520 626f 756e 6469 6e67 2062 6f78 2061 e bounding box a │ │ │ │ │ -00012220: 6e64 2032 6420 636c 6970 7069 6e67 2e0a nd 2d clipping.. │ │ │ │ │ -00012230: 2a20 4672 616d 653a 3a20 2020 2020 2020 * Frame:: │ │ │ │ │ +00011d30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00011d40: 0a73 6361 6c61 7220 2020 2020 20e2 8098 .scalar ... │ │ │ │ │ +00011d50: 4944 e280 990a 706f 696e 7420 2020 2020 ID....point │ │ │ │ │ +00011d60: 2020 e280 9828 4944 29e2 8099 0a76 6563 ...(ID)....vec │ │ │ │ │ +00011d70: 746f 7220 2020 2020 20e2 8098 5b49 445d tor ...[ID] │ │ │ │ │ +00011d80: e280 990a 7472 616e 7366 6f72 6d20 2020 ....transform │ │ │ │ │ +00011d90: e280 985b 5b49 445d 5de2 8099 0a64 7261 ...[[ID]]....dra │ │ │ │ │ +00011da0: 7761 626c 6520 2020 20e2 8098 7b49 447d wable ...{ID} │ │ │ │ │ +00011db0: e280 990a 6f70 7469 6f6e 7320 2020 2020 ....options │ │ │ │ │ +00011dc0: e280 985b 4944 5de2 8099 206f 7220 e280 ...[ID]... or .. │ │ │ │ │ +00011dd0: 985b 4944 312c 2e2e 2e2c 4944 4e5d e280 .[ID1,...,IDN].. │ │ │ │ │ +00011de0: 990a 7461 6720 2020 2020 2020 2020 e280 ..tag .. │ │ │ │ │ +00011df0: 983c 4944 3ee2 8099 0a0a 4e6f 7465 2074 ......Note t │ │ │ │ │ +00011e00: 6861 7420 7371 7561 7265 2062 7261 636b hat square brack │ │ │ │ │ +00011e10: 6574 7320 e280 985b 205d e280 9920 6172 ets ...[ ]... ar │ │ │ │ │ +00011e20: 6520 7573 6564 2062 6f74 6820 666f 7220 e used both for │ │ │ │ │ +00011e30: 7665 6374 6f72 2061 6e64 2066 6f72 206f vector and for o │ │ │ │ │ +00011e40: 7074 696f 6e73 0a72 6566 6572 656e 6365 ptions.reference │ │ │ │ │ +00011e50: 732e 2020 4465 7461 696c 7320 6f66 20e2 s. Details of . │ │ │ │ │ +00011e60: 8098 736b 6574 6368 e280 9920 7379 6e74 ..sketch... synt │ │ │ │ │ +00011e70: 6178 206d 616b 6520 6974 2069 6d70 6f73 ax make it impos │ │ │ │ │ +00011e80: 7369 626c 6520 666f 7220 7468 6573 6520 sible for these │ │ │ │ │ +00011e90: 7477 6f0a 7265 6665 7265 6e63 6520 7479 two.reference ty │ │ │ │ │ +00011ea0: 7065 7320 746f 2062 6520 636f 6e66 7573 pes to be confus │ │ │ │ │ +00011eb0: 6564 2e20 2054 6865 2073 7065 6369 616c ed. The special │ │ │ │ │ +00011ec0: 206d 756c 7469 706c 6520 7265 6665 7265 multiple refere │ │ │ │ │ +00011ed0: 6e63 650a e280 985b 4944 312c 4944 322c nce....[ID1,ID2, │ │ │ │ │ +00011ee0: 2e2e 2e2c 4944 4e5d e280 9920 6163 7473 ...,IDN]... acts │ │ │ │ │ +00011ef0: 2061 7320 6966 2074 6865 2072 6573 7065 as if the respe │ │ │ │ │ +00011f00: 6374 6976 6520 6c69 7374 7320 6f66 206f ctive lists of o │ │ │ │ │ +00011f10: 7074 696f 6e73 2077 6572 650a 636f 6e63 ptions were.conc │ │ │ │ │ +00011f20: 6174 656e 6174 6564 2e0a 0a1f 0a46 696c atenated.....Fil │ │ │ │ │ +00011f30: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ +00011f40: 204e 6f64 653a 2047 6c6f 6261 6c20 656e Node: Global en │ │ │ │ │ +00011f50: 7669 726f 6e6d 656e 742c 2020 5072 6576 vironment, Prev │ │ │ │ │ +00011f60: 3a20 4465 6669 6e69 7469 6f6e 732c 2020 : Definitions, │ │ │ │ │ +00011f70: 5570 3a20 496e 7075 7420 6c61 6e67 7561 Up: Input langua │ │ │ │ │ +00011f80: 6765 0a0a 332e 3420 476c 6f62 616c 2065 ge..3.4 Global e │ │ │ │ │ +00011f90: 6e76 6972 6f6e 6d65 6e74 0a3d 3d3d 3d3d nvironment.===== │ │ │ │ │ +00011fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ +00011fb0: 3d0a 0a41 6e20 6f70 7469 6f6e 616c 2067 =..An optional g │ │ │ │ │ +00011fc0: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen │ │ │ │ │ +00011fd0: 7420 626c 6f63 6b20 7072 6f76 6964 6573 t block provides │ │ │ │ │ +00011fe0: 2061 2066 6577 2077 6179 7320 746f 2061 a few ways to a │ │ │ │ │ +00011ff0: 6666 6563 7420 7468 650a 656e 7469 7265 ffect the.entire │ │ │ │ │ +00012000: 2073 6365 6e65 2e20 2054 6865 2062 6c6f scene. The blo │ │ │ │ │ +00012010: 636b 206d 7573 7420 6170 7065 6172 2061 ck must appear a │ │ │ │ │ +00012020: 7320 7468 6520 6c61 7374 2074 6578 7420 s the last text │ │ │ │ │ +00012030: 696e 2074 6865 20e2 8098 736b 6574 6368 in the ...sketch │ │ │ │ │ +00012040: e280 990a 696e 7075 7420 6669 6c65 2e20 ....input file. │ │ │ │ │ +00012050: 2049 7420 6d61 7920 696e 636c 7564 6520 It may include │ │ │ │ │ +00012060: 6465 6669 6e69 7469 6f6e 732c 2062 7574 definitions, but │ │ │ │ │ +00012070: 206e 6f74 6520 7468 6174 2070 7265 7669 note that previ │ │ │ │ │ +00012080: 6f75 730a 6465 6669 6e69 7469 6f6e 7320 ous.definitions │ │ │ │ │ +00012090: 6174 2074 6865 2074 6f70 206c 6576 656c at the top level │ │ │ │ │ +000120a0: 2028 6e6f 7420 6e65 7374 6564 2069 6e73 (not nested ins │ │ │ │ │ +000120b0: 6964 6520 626c 6f63 6b73 2920 6172 6520 ide blocks) are │ │ │ │ │ +000120c0: 616c 736f 0a61 7661 696c 6162 6c65 2e0a also.available.. │ │ │ │ │ +000120d0: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ +000120e0: 676c 6f62 616c 207b 2045 4e56 4952 4f4e global { ENVIRON │ │ │ │ │ +000120f0: 4d45 4e54 5f53 4554 5449 4e47 5320 7d0a MENT_SETTINGS }. │ │ │ │ │ +00012100: 5468 6520 636f 6e74 656e 7473 206f 6620 The contents of │ │ │ │ │ +00012110: 454e 5649 524f 4e4d 454e 545f 5345 5454 ENVIRONMENT_SETT │ │ │ │ │ +00012120: 494e 4753 2061 7265 2064 6973 6375 7373 INGS are discuss │ │ │ │ │ +00012130: 6564 2069 6e20 7468 6520 7365 6374 696f ed in the sectio │ │ │ │ │ +00012140: 6e73 2074 6861 740a 666f 6c6c 6f77 2e0a ns that.follow.. │ │ │ │ │ +00012150: 0a2a 204d 656e 753a 0a0a 2a20 476c 6f62 .* Menu:..* Glob │ │ │ │ │ +00012160: 616c 206f 7074 696f 6e73 3a3a 2020 2020 al options:: │ │ │ │ │ +00012170: 2020 2020 2020 2020 2020 4174 7472 6962 Attrib │ │ │ │ │ +00012180: 7574 6573 206f 6620 7468 6520 656e 7469 utes of the enti │ │ │ │ │ +00012190: 7265 2064 7261 7769 6e67 2e0a 2a20 4361 re drawing..* Ca │ │ │ │ │ +000121a0: 6d65 7261 3a3a 2020 2020 2020 2020 2020 mera:: │ │ │ │ │ +000121b0: 2020 2020 2020 2020 2020 2020 4120 6669 A fi │ │ │ │ │ +000121c0: 6e61 6c20 6361 6d65 7261 2074 7261 6e73 nal camera trans │ │ │ │ │ +000121d0: 666f 726d 6174 696f 6e20 6f66 2074 6865 formation of the │ │ │ │ │ +000121e0: 2073 6365 6e65 2e0a 2a20 5069 6374 7572 scene..* Pictur │ │ │ │ │ +000121f0: 6520 626f 783a 3a20 2020 2020 2020 2020 e box:: │ │ │ │ │ +00012200: 2020 2020 2020 2020 5365 7474 696e 6720 Setting │ │ │ │ │ +00012210: 7468 6520 626f 756e 6469 6e67 2062 6f78 the bounding box │ │ │ │ │ +00012220: 2061 6e64 2032 6420 636c 6970 7069 6e67 and 2d clipping │ │ │ │ │ +00012230: 2e0a 2a20 4672 616d 653a 3a20 2020 2020 ..* Frame:: │ │ │ │ │ 00012240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012250: 4164 6469 6e67 2061 2062 6f78 2061 726f Adding a box aro │ │ │ │ │ -00012260: 756e 6420 7468 6520 6472 6177 696e 672e und the drawing. │ │ │ │ │ -00012270: 0a2a 204c 616e 6775 6167 653a 3a20 2020 .* Language:: │ │ │ │ │ +00012250: 2020 4164 6469 6e67 2061 2062 6f78 2061 Adding a box a │ │ │ │ │ +00012260: 726f 756e 6420 7468 6520 6472 6177 696e round the drawin │ │ │ │ │ +00012270: 672e 0a2a 204c 616e 6775 6167 653a 3a20 g..* Language:: │ │ │ │ │ 00012280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012290: 2053 6574 7469 6e67 2074 6865 206f 7574 Setting the out │ │ │ │ │ -000122a0: 7075 7420 6c61 6e67 7561 6765 2e0a 0a1f put language.... │ │ │ │ │ -000122b0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -000122c0: 666f 2c20 204e 6f64 653a 2047 6c6f 6261 fo, Node: Globa │ │ │ │ │ -000122d0: 6c20 6f70 7469 6f6e 732c 2020 4e65 7874 l options, Next │ │ │ │ │ -000122e0: 3a20 4361 6d65 7261 2c20 2050 7265 763a : Camera, Prev: │ │ │ │ │ -000122f0: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm │ │ │ │ │ -00012300: 656e 742c 2020 5570 3a20 476c 6f62 616c ent, Up: Global │ │ │ │ │ -00012310: 2065 6e76 6972 6f6e 6d65 6e74 0a0a 332e environment..3. │ │ │ │ │ -00012320: 342e 3120 476c 6f62 616c 206f 7074 696f 4.1 Global optio │ │ │ │ │ -00012330: 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ns.------------- │ │ │ │ │ -00012340: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax │ │ │ │ │ -00012350: 3a2a 0a20 2020 2020 7365 7420 5b20 4f50 :*. set [ OP │ │ │ │ │ -00012360: 5449 4f4e 5320 5d0a 5468 6520 636f 6e74 TIONS ].The cont │ │ │ │ │ -00012370: 656e 7473 206f 6620 4f50 5449 4f4e 532c ents of OPTIONS, │ │ │ │ │ -00012380: 2065 7863 6570 7420 666f 7220 e280 9873 except for ...s │ │ │ │ │ -00012390: 6b65 7463 68e2 8099 2069 6e74 6572 6e61 ketch... interna │ │ │ │ │ -000123a0: 6c20 6f70 7469 6f6e 732c 2061 7265 0a63 l options, are.c │ │ │ │ │ -000123b0: 6f70 6965 6420 6173 2d69 7320 746f 2061 opied as-is to a │ │ │ │ │ -000123c0: 205c 7073 7365 7420 7468 6174 2061 7070 \psset that app │ │ │ │ │ -000123d0: 6561 7273 2062 6566 6f72 6520 616e 7974 ears before anyt │ │ │ │ │ -000123e0: 6869 6e67 2065 6c73 6520 696e 2074 6865 hing else in the │ │ │ │ │ -000123f0: 206f 7574 7075 740a 6669 6c65 2e20 2054 output.file. T │ │ │ │ │ -00012400: 6869 7320 6973 2061 2067 6f6f 6420 706c his is a good pl │ │ │ │ │ -00012410: 6163 6520 746f 2073 6574 20e2 8098 756e ace to set ...un │ │ │ │ │ -00012420: 6974 e280 992c 2061 2064 6566 6175 6c74 it..., a default │ │ │ │ │ -00012430: 20e2 8098 6c69 6e65 7769 6474 68e2 8099 ...linewidth... │ │ │ │ │ -00012440: 2c20 6574 632e 0a0a 2020 2049 6e74 6572 , etc... Inter │ │ │ │ │ -00012450: 6e61 6c20 6f70 7469 6f6e 7320 776f 726b nal options work │ │ │ │ │ -00012460: 206f 6e20 616c 6c20 6f62 6a65 6374 7320 on all objects │ │ │ │ │ -00012470: 7768 6572 6520 7468 6579 206d 616b 6520 where they make │ │ │ │ │ -00012480: 7365 6e73 652e 2020 5468 6973 0a69 6e63 sense. This.inc │ │ │ │ │ -00012490: 6c75 6465 7320 e280 9863 756c 6ce2 8099 ludes ...cull... │ │ │ │ │ -000124a0: 2061 6e64 20e2 8098 7370 6c69 74e2 8099 and ...split... │ │ │ │ │ -000124b0: 2028 6275 7420 6e6f 7420 e280 986c 6179 (but not ...lay │ │ │ │ │ -000124c0: e280 9929 2e20 202a 4e6f 7465 2049 6e74 ...). *Note Int │ │ │ │ │ -000124d0: 6572 6e61 6c20 6f70 7469 6f6e 733a 3a2e ernal options::. │ │ │ │ │ -000124e0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -000124f0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4361 .info, Node: Ca │ │ │ │ │ -00012500: 6d65 7261 2c20 204e 6578 743a 2050 6963 mera, Next: Pic │ │ │ │ │ -00012510: 7475 7265 2062 6f78 2c20 2050 7265 763a ture box, Prev: │ │ │ │ │ -00012520: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732c Global options, │ │ │ │ │ -00012530: 2020 5570 3a20 476c 6f62 616c 2065 6e76 Up: Global env │ │ │ │ │ -00012540: 6972 6f6e 6d65 6e74 0a0a 332e 342e 3220 ironment..3.4.2 │ │ │ │ │ -00012550: 4361 6d65 7261 0a2d 2d2d 2d2d 2d2d 2d2d Camera.--------- │ │ │ │ │ -00012560: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. │ │ │ │ │ -00012570: 2020 2020 6361 6d65 7261 2054 5241 4e53 camera TRANS │ │ │ │ │ -00012580: 464f 524d 5f45 5850 5245 5353 494f 4e0a FORM_EXPRESSION. │ │ │ │ │ -00012590: 2020 2054 6865 2054 5241 4e53 464f 524d The TRANSFORM │ │ │ │ │ -000125a0: 5f45 5850 5245 5353 494f 4e20 6973 2061 _EXPRESSION is a │ │ │ │ │ -000125b0: 7070 6c69 6564 2061 6674 6572 2061 6c6c pplied after all │ │ │ │ │ -000125c0: 206f 7468 6572 2074 7261 6e73 666f 726d other transform │ │ │ │ │ -000125d0: 6174 696f 6e73 0a6f 6620 7468 6520 7363 ations.of the sc │ │ │ │ │ -000125e0: 656e 652e 2020 5468 6973 2069 7320 6375 ene. This is cu │ │ │ │ │ -000125f0: 7272 656e 746c 7920 6f6e 6c79 2075 7365 rrently only use │ │ │ │ │ -00012600: 6675 6c20 666f 7220 7472 616e 7366 6f72 ful for transfor │ │ │ │ │ -00012610: 6d69 6e67 2074 6865 0a62 6f75 6e64 696e ming the.boundin │ │ │ │ │ -00012620: 6720 626f 782e 2020 2a4e 6f74 6520 5069 g box. *Note Pi │ │ │ │ │ -00012630: 6374 7572 6520 626f 783a 3a2e 2020 4974 cture box::. It │ │ │ │ │ -00012640: 2077 696c 6c20 706c 6179 2061 2072 6f6c will play a rol │ │ │ │ │ -00012650: 6520 696e 2061 6e79 2066 7574 7572 650a e in any future. │ │ │ │ │ -00012660: 696d 706c 656d 656e 7461 7469 6f6e 206f implementation o │ │ │ │ │ -00012670: 6620 636c 6970 7069 6e67 2e0a 0a1f 0a46 f clipping.....F │ │ │ │ │ -00012680: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -00012690: 2c20 204e 6f64 653a 2050 6963 7475 7265 , Node: Picture │ │ │ │ │ -000126a0: 2062 6f78 2c20 204e 6578 743a 2046 7261 box, Next: Fra │ │ │ │ │ -000126b0: 6d65 2c20 2050 7265 763a 2043 616d 6572 me, Prev: Camer │ │ │ │ │ -000126c0: 612c 2020 5570 3a20 476c 6f62 616c 2065 a, Up: Global e │ │ │ │ │ -000126d0: 6e76 6972 6f6e 6d65 6e74 0a0a 332e 342e nvironment..3.4. │ │ │ │ │ -000126e0: 3320 5069 6374 7572 6520 626f 780a 2d2d 3 Picture box.-- │ │ │ │ │ -000126f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ -00012700: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. │ │ │ │ │ -00012710: 7069 6374 7572 6562 6f78 5b42 4153 454c picturebox[BASEL │ │ │ │ │ -00012720: 494e 455d 0a20 2020 2020 7069 6374 7572 INE]. pictur │ │ │ │ │ -00012730: 6562 6f78 5b42 4153 454c 494e 455d 2028 ebox[BASELINE] ( │ │ │ │ │ -00012740: 5031 2928 5032 290a 5468 6520 6669 7273 P1)(P2).The firs │ │ │ │ │ -00012750: 7420 666f 726d 206f 6620 e280 9870 6963 t form of ...pic │ │ │ │ │ -00012760: 7475 7265 626f 78e2 8099 2063 6175 7365 turebox... cause │ │ │ │ │ -00012770: 7320 6120 7363 616c 6172 2042 4153 454c s a scalar BASEL │ │ │ │ │ -00012780: 494e 4520 6672 6163 7469 6f6e 2074 6f20 INE fraction to │ │ │ │ │ -00012790: 6265 0a65 6d69 7474 6564 2069 6e20 7468 be.emitted in th │ │ │ │ │ -000127a0: 6520 e280 9870 7370 6963 7475 7265 e280 e ...pspicture.. │ │ │ │ │ -000127b0: 9920 656e 7669 726f 6e6d 656e 7420 6f66 . environment of │ │ │ │ │ -000127c0: 2074 6865 206f 7574 7075 742e 2020 5365 the output. Se │ │ │ │ │ -000127d0: 6520 e280 9850 5354 7269 636b 73e2 8099 e ...PSTricks... │ │ │ │ │ -000127e0: 0a64 6f63 756d 656e 7461 7469 6f6e 2066 .documentation f │ │ │ │ │ -000127f0: 6f72 20e2 8098 7073 7069 6374 7572 65e2 or ...pspicture. │ │ │ │ │ -00012800: 8099 2e0a 0a20 2020 496e 2074 6865 2073 ..... In the s │ │ │ │ │ -00012810: 6563 6f6e 6420 666f 726d 2c20 7468 6520 econd form, the │ │ │ │ │ -00012820: 4241 5345 4c49 4e45 2066 7261 6374 696f BASELINE fractio │ │ │ │ │ -00012830: 6e20 6973 206f 7074 696f 6e61 6c2c 2061 n is optional, a │ │ │ │ │ -00012840: 6e64 2074 6865 2074 776f 0a70 6f69 6e74 nd the two.point │ │ │ │ │ -00012850: 7320 7468 6174 2066 6f6c 6c6f 7720 6465 s that follow de │ │ │ │ │ -00012860: 6669 6e65 2074 6865 2064 6961 676f 6e61 fine the diagona │ │ │ │ │ -00012870: 6c20 6f66 2061 2074 6872 6565 2d64 696d l of a three-dim │ │ │ │ │ -00012880: 656e 7369 6f6e 616c 2062 6f75 6e64 696e ensional boundin │ │ │ │ │ -00012890: 670a 626f 7820 666f 7220 7468 6520 636f g.box for the co │ │ │ │ │ -000128a0: 6d70 6c65 7465 6420 7363 656e 652e 2020 mpleted scene. │ │ │ │ │ -000128b0: 5468 6520 7061 7261 6c6c 656c 2070 726f The parallel pro │ │ │ │ │ -000128c0: 6a65 6374 696f 6e20 6f66 2074 6865 2062 jection of the b │ │ │ │ │ -000128d0: 6f75 6e64 696e 670a 626f 7820 6465 7465 ounding.box dete │ │ │ │ │ -000128e0: 726d 696e 6573 2074 6865 2063 6f72 6e65 rmines the corne │ │ │ │ │ -000128f0: 7273 206f 6620 7468 6520 6472 6177 696e rs of the drawin │ │ │ │ │ -00012900: 6727 7320 e280 9870 7370 6963 7475 7265 g's ...pspicture │ │ │ │ │ -00012910: 2ae2 8099 2065 6e76 6972 6f6e 6d65 6e74 *... environment │ │ │ │ │ -00012920: 2c0a 7768 6963 6820 6973 2075 7365 6420 ,.which is used │ │ │ │ │ -00012930: 696e 2070 6c61 6365 206f 6620 e280 9870 in place of ...p │ │ │ │ │ -00012940: 7370 6963 7475 7265 e280 992e 2020 5468 spicture.... Th │ │ │ │ │ -00012950: 6973 2063 6175 7365 7320 506f 7374 5363 is causes PostSc │ │ │ │ │ -00012960: 7269 7074 2074 6f20 636c 6970 0a74 6865 ript to clip.the │ │ │ │ │ -00012970: 2066 696e 616c 2064 7261 7769 6e67 2074 final drawing t │ │ │ │ │ -00012980: 6f20 7468 6520 626f 756e 6469 6e67 2062 o the bounding b │ │ │ │ │ -00012990: 6f78 2069 6e20 3264 2e20 2049 6620 7468 ox in 2d. If th │ │ │ │ │ -000129a0: 6572 6520 6973 2061 20e2 8098 6361 6d65 ere is a ...came │ │ │ │ │ -000129b0: 7261 e280 990a 7370 6563 6966 6965 642c ra....specified, │ │ │ │ │ -000129c0: 2074 6865 2063 616d 6572 6120 7472 616e the camera tran │ │ │ │ │ -000129d0: 666f 726d 6174 696f 6e20 6973 2061 7070 formation is app │ │ │ │ │ -000129e0: 6c69 6564 2074 6f20 7468 6520 626f 756e lied to the boun │ │ │ │ │ -000129f0: 6469 6e67 2062 6f78 2c20 616e 640a 7468 ding box, and.th │ │ │ │ │ -00012a00: 6520 e280 9870 7370 6963 7475 7265 e280 e ...pspicture.. │ │ │ │ │ -00012a10: 9920 6973 2073 6574 206a 7573 7420 6c61 . is set just la │ │ │ │ │ -00012a20: 7267 6520 656e 6f75 6768 2074 6f20 696e rge enough to in │ │ │ │ │ -00012a30: 636c 7564 6520 7468 6520 7472 616e 7366 clude the transf │ │ │ │ │ -00012a40: 6f72 6d65 6420 626f 782e 0a0a 2020 2057 ormed box... W │ │ │ │ │ -00012a50: 6865 6e20 6e6f 2062 6f75 6e64 696e 6720 hen no bounding │ │ │ │ │ -00012a60: 626f 7820 6973 2067 6976 656e 2c20 e280 box is given, .. │ │ │ │ │ -00012a70: 9873 6b65 7463 68e2 8099 2063 6f6d 7075 .sketch... compu │ │ │ │ │ -00012a80: 7465 7320 6f6e 6520 6175 746f 6d61 7469 tes one automati │ │ │ │ │ -00012a90: 6361 6c6c 792e 0a0a 1f0a 4669 6c65 3a20 cally.....File: │ │ │ │ │ -00012aa0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00012ab0: 6465 3a20 4672 616d 652c 2020 4e65 7874 de: Frame, Next │ │ │ │ │ -00012ac0: 3a20 4c61 6e67 7561 6765 2c20 2050 7265 : Language, Pre │ │ │ │ │ -00012ad0: 763a 2050 6963 7475 7265 2062 6f78 2c20 v: Picture box, │ │ │ │ │ -00012ae0: 2055 703a 2047 6c6f 6261 6c20 656e 7669 Up: Global envi │ │ │ │ │ -00012af0: 726f 6e6d 656e 740a 0a33 2e34 2e34 2046 ronment..3.4.4 F │ │ │ │ │ -00012b00: 7261 6d65 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d rame.----------- │ │ │ │ │ -00012b10: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. │ │ │ │ │ -00012b20: 2066 7261 6d65 205b 4f50 5449 4f4e 535d frame [OPTIONS] │ │ │ │ │ -00012b30: 0a43 6175 7365 7320 6120 5c70 7366 7261 .Causes a \psfra │ │ │ │ │ -00012b40: 6d65 626f 7820 746f 2073 7572 726f 756e mebox to surroun │ │ │ │ │ -00012b50: 6420 7468 6520 e280 9870 7370 6963 7475 d the ...pspictu │ │ │ │ │ -00012b60: 7265 e280 9920 656e 7669 726f 6e6d 656e re... environmen │ │ │ │ │ -00012b70: 7420 696e 2074 6865 0a6f 7574 7075 742e t in the.output. │ │ │ │ │ -00012b80: 2020 4966 204f 5054 494f 4e53 2061 7265 If OPTIONS are │ │ │ │ │ -00012b90: 2070 7265 7365 6e74 2c20 7468 6579 2061 present, they a │ │ │ │ │ -00012ba0: 7265 2063 6f70 6965 6420 6173 2d69 732e re copied as-is. │ │ │ │ │ -00012bb0: 2020 4e6f 726d 616c 6c79 206f 6e65 0a77 Normally one.w │ │ │ │ │ -00012bc0: 6f75 6c64 2077 616e 7420 746f 2073 6574 ould want to set │ │ │ │ │ -00012bd0: 20e2 8098 6c69 6e65 7769 6474 68e2 8099 ...linewidth... │ │ │ │ │ -00012be0: 2c20 e280 986c 696e 6573 7479 6c65 e280 , ...linestyle.. │ │ │ │ │ -00012bf0: 992c 20e2 8098 6c69 6e65 636f 6c6f 72e2 ., ...linecolor. │ │ │ │ │ -00012c00: 8099 2c20 6574 632e 2020 4966 0a6f 6d69 .., etc. If.omi │ │ │ │ │ -00012c10: 7474 6564 2c20 7468 656e 20e2 8098 6672 tted, then ...fr │ │ │ │ │ -00012c20: 616d 6573 6570 3d30 7074 e280 9920 6973 amesep=0pt... is │ │ │ │ │ -00012c30: 2061 6464 6564 2073 6f20 7468 6174 2074 added so that t │ │ │ │ │ -00012c40: 6865 2066 7261 6d65 2074 6967 6874 6c79 he frame tightly │ │ │ │ │ -00012c50: 2068 7567 7320 7468 650a e280 9870 7370 hugs the....psp │ │ │ │ │ -00012c60: 6963 7475 7265 e280 992e 0a0a 1f0a 4669 icture........Fi │ │ │ │ │ -00012c70: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00012c80: 2020 4e6f 6465 3a20 4c61 6e67 7561 6765 Node: Language │ │ │ │ │ -00012c90: 2c20 2050 7265 763a 2046 7261 6d65 2c20 , Prev: Frame, │ │ │ │ │ -00012ca0: 2055 703a 2047 6c6f 6261 6c20 656e 7669 Up: Global envi │ │ │ │ │ -00012cb0: 726f 6e6d 656e 740a 0a33 2e34 2e35 204c ronment..3.4.5 L │ │ │ │ │ -00012cc0: 616e 6775 6167 650a 2d2d 2d2d 2d2d 2d2d anguage.-------- │ │ │ │ │ -00012cd0: 2d2d 2d2d 2d2d 0a0a 2020 2020 206c 616e ------.. lan │ │ │ │ │ -00012ce0: 6775 6167 6520 7469 6b7a 0a20 2020 2020 guage tikz. │ │ │ │ │ -00012cf0: 6c61 6e67 7561 6765 2074 696b 7a2c 2063 language tikz, c │ │ │ │ │ -00012d00: 6f6e 7465 7874 0a20 2020 2020 6c61 6e67 ontext. lang │ │ │ │ │ -00012d10: 7561 6765 2070 7374 7269 636b 730a 2020 uage pstricks. │ │ │ │ │ -00012d20: 2020 206c 616e 6775 6167 6520 7073 7472 language pstr │ │ │ │ │ -00012d30: 6963 6b73 2c20 6c61 7465 780a 5365 7473 icks, latex.Sets │ │ │ │ │ -00012d40: 2074 6865 206f 7574 7075 7420 6c61 6e67 the output lang │ │ │ │ │ -00012d50: 7561 6765 2067 656e 6572 6174 6564 2062 uage generated b │ │ │ │ │ -00012d60: 7920 e280 9873 6b65 7463 68e2 8099 2e20 y ...sketch.... │ │ │ │ │ -00012d70: 2054 6865 2073 6574 206f 6620 6f70 7469 The set of opti │ │ │ │ │ -00012d80: 6f6e 730a 756e 6465 7273 746f 6f64 2062 ons.understood b │ │ │ │ │ -00012d90: 7920 736b 6574 6368 2061 6c73 6f20 6368 y sketch also ch │ │ │ │ │ -00012da0: 616e 6765 732e 2020 466f 7220 6578 616d anges. For exam │ │ │ │ │ -00012db0: 706c 652c 2074 6865 20e2 8098 5053 5472 ple, the ...PSTr │ │ │ │ │ -00012dc0: 6963 6b73 e280 9920 6f70 7469 6f6e 0ae2 icks... option.. │ │ │ │ │ -00012dd0: 8098 6c69 6e65 7769 6474 68e2 8099 2077 ..linewidth... w │ │ │ │ │ -00012de0: 696c 6c20 6e6f 7420 6265 2070 726f 7065 ill not be prope │ │ │ │ │ -00012df0: 726c 7920 6861 6e64 6c65 6420 6966 20e2 rly handled if . │ │ │ │ │ -00012e00: 8098 6c61 6e67 7561 6765 e280 9920 6973 ..language... is │ │ │ │ │ -00012e10: 2073 6574 2074 6f20 e280 9874 696b 7ae2 set to ...tikz. │ │ │ │ │ -00012e20: 8099 2e0a 5369 6d69 6c61 726c 792c 2074 ....Similarly, t │ │ │ │ │ -00012e30: 6865 20e2 8098 5469 6b5a e280 9920 6f70 he ...TikZ... op │ │ │ │ │ -00012e40: 7469 6f6e 20e2 8098 6c69 6e65 2073 7479 tion ...line sty │ │ │ │ │ -00012e50: 6c65 e280 9920 286e 6f74 6520 7468 6520 le... (note the │ │ │ │ │ -00012e60: 7370 6163 6529 2077 696c 6c20 6e6f 7420 space) will not │ │ │ │ │ -00012e70: 6265 0a70 726f 7065 726c 7920 6861 6e64 be.properly hand │ │ │ │ │ -00012e80: 6c65 6420 6966 20e2 8098 6c61 6e67 7561 led if ...langua │ │ │ │ │ -00012e90: 6765 e280 9920 6973 2073 6574 2074 6f20 ge... is set to │ │ │ │ │ -00012ea0: e280 9870 7374 7269 636b 73e2 8099 2e20 ...pstricks.... │ │ │ │ │ -00012eb0: 2049 6620 6e6f 206c 616e 6775 6167 6520 If no language │ │ │ │ │ -00012ec0: 6973 0a73 7065 6369 6669 6564 2c20 7468 is.specified, th │ │ │ │ │ -00012ed0: 6520 6465 6661 756c 7420 e280 9870 7374 e default ...pst │ │ │ │ │ -00012ee0: 7269 636b 73e2 8099 2069 7320 7573 6564 ricks... is used │ │ │ │ │ -00012ef0: 2e0a 0a20 2020 416e 206f 7074 696f 6e61 ... An optiona │ │ │ │ │ -00012f00: 6c20 636f 6d6d 6120 666f 6c6c 6f77 6564 l comma followed │ │ │ │ │ -00012f10: 2062 7920 e280 986c 6174 6578 e280 9920 by ...latex... │ │ │ │ │ -00012f20: 6f72 20e2 8098 636f 6e74 6578 74e2 8099 or ...context... │ │ │ │ │ -00012f30: 2073 7065 6369 6669 6573 2074 6865 0a6d specifies the.m │ │ │ │ │ -00012f40: 6163 726f 2070 6163 6b61 6765 2074 6861 acro package tha │ │ │ │ │ -00012f50: 7420 7468 6520 6f75 7470 7574 2073 686f t the output sho │ │ │ │ │ -00012f60: 756c 6420 6173 7375 6d65 2e20 2054 6869 uld assume. Thi │ │ │ │ │ -00012f70: 7320 6166 6665 6374 7320 7468 6520 e280 s affects the .. │ │ │ │ │ -00012f80: 9870 6963 7475 7265 e280 990a 656e 7669 .picture....envi │ │ │ │ │ -00012f90: 726f 6e6d 656e 7420 636f 6d6d 616e 6473 ronment commands │ │ │ │ │ -00012fa0: 2065 6d69 7474 6564 2061 6e64 2074 6865 emitted and the │ │ │ │ │ -00012fb0: 2064 6f63 756d 656e 7420 7465 6d70 6c61 document templa │ │ │ │ │ -00012fc0: 7465 2075 7365 6420 7769 7468 2074 6865 te used with the │ │ │ │ │ -00012fd0: 0ae2 8098 2d54 e280 9920 6f70 7469 6f6e ....-T... option │ │ │ │ │ -00012fe0: 2e20 202a 4e6f 7465 2043 6f6d 6d61 6e64 . *Note Command │ │ │ │ │ -00012ff0: 206c 696e 653a 3a2e 2020 4e6f 7465 2074 line::. Note t │ │ │ │ │ -00013000: 6861 7420 6174 2074 6865 2074 696d 6520 hat at the time │ │ │ │ │ -00013010: 7468 6973 206d 616e 7561 6c0a 7761 7320 this manual.was │ │ │ │ │ -00013020: 6765 6e65 7261 7465 642c 20e2 8098 5053 generated, ...PS │ │ │ │ │ -00013030: 5472 6963 6b73 e280 9920 7761 7320 6e6f Tricks... was no │ │ │ │ │ -00013040: 7420 7375 7070 6f72 7465 6420 6279 204c t supported by L │ │ │ │ │ -00013050: 6154 6558 206f 7220 6279 20e2 8098 436f aTeX or by ...Co │ │ │ │ │ -00013060: 6e54 6558 74e2 8099 2e0a 0a1f 0a46 696c nTeXt........Fil │ │ │ │ │ -00013070: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, │ │ │ │ │ -00013080: 204e 6f64 653a 2042 7569 6c64 696e 6720 Node: Building │ │ │ │ │ -00013090: 6120 6472 6177 696e 672c 2020 4e65 7874 a drawing, Next │ │ │ │ │ -000130a0: 3a20 436f 6d6d 616e 6420 6c69 6e65 2c20 : Command line, │ │ │ │ │ -000130b0: 2050 7265 763a 2049 6e70 7574 206c 616e Prev: Input lan │ │ │ │ │ -000130c0: 6775 6167 652c 2020 5570 3a20 546f 700a guage, Up: Top. │ │ │ │ │ -000130d0: 0a34 2042 7569 6c64 696e 6720 6120 6472 .4 Building a dr │ │ │ │ │ -000130e0: 6177 696e 670a 2a2a 2a2a 2a2a 2a2a 2a2a awing.********** │ │ │ │ │ -000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5375 6363 **********..Succ │ │ │ │ │ -00013100: 6573 7366 756c 2064 7261 7769 6e67 7320 essful drawings │ │ │ │ │ -00013110: 7769 7468 20e2 8098 736b 6574 6368 e280 with ...sketch.. │ │ │ │ │ -00013120: 9920 616e 6420 7769 7468 2061 6e79 2073 . and with any s │ │ │ │ │ -00013130: 6365 6e65 2064 6573 6372 6970 7469 6f6e cene description │ │ │ │ │ -00013140: 0a6c 616e 6775 6167 6520 7265 7175 6972 .language requir │ │ │ │ │ -00013150: 6520 7468 6174 2074 6865 2075 7365 7220 e that the user │ │ │ │ │ -00013160: 6465 7665 6c6f 7020 616e 2061 6363 7572 develop an accur │ │ │ │ │ -00013170: 6174 6520 6d65 6e74 616c 2070 6963 7475 ate mental pictu │ │ │ │ │ -00013180: 7265 206f 6620 6865 720a 636f 6465 2061 re of her.code a │ │ │ │ │ -00013190: 6e64 2069 7473 206d 6561 6e69 6e67 2e20 nd its meaning. │ │ │ │ │ -000131a0: 2054 6869 7320 696d 6167 6520 6973 2062 This image is b │ │ │ │ │ -000131b0: 6573 7420 6275 696c 7420 696e 2073 6d61 est built in sma │ │ │ │ │ -000131c0: 6c6c 2070 6965 6365 732e 0a54 6865 7265 ll pieces..There │ │ │ │ │ -000131d0: 666f 7265 2c20 e280 9873 6b65 7463 68e2 fore, ...sketch. │ │ │ │ │ -000131e0: 8099 2069 6e70 7574 7320 6172 6520 6265 .. inputs are be │ │ │ │ │ -000131f0: 7374 2063 7265 6174 6564 2069 6e20 736d st created in sm │ │ │ │ │ -00013200: 616c 6c20 696e 6372 656d 656e 7473 2077 all increments w │ │ │ │ │ -00013210: 6974 680a 6672 6571 7565 6e74 2070 6175 ith.frequent pau │ │ │ │ │ -00013220: 7365 7320 746f 2063 6f6d 7069 6c65 2061 ses to compile a │ │ │ │ │ -00013230: 6e64 2076 6965 7720 7468 6520 7265 7375 nd view the resu │ │ │ │ │ -00013240: 6c74 732e 2020 4361 7265 6675 6c20 636f lts. Careful co │ │ │ │ │ -00013250: 6d6d 656e 7473 2069 6e0a 7468 6520 696e mments in.the in │ │ │ │ │ -00013260: 7075 7420 6f66 7465 6e20 6865 6c70 2061 put often help a │ │ │ │ │ -00013270: 7320 6120 7363 656e 6520 6772 6f77 7320 s a scene grows │ │ │ │ │ -00013280: 696e 2063 6f6d 706c 6578 6974 792e 0a0a in complexity... │ │ │ │ │ -00013290: 2a20 4d65 6e75 3a0a 0a2a 204f 7665 7276 * Menu:..* Overv │ │ │ │ │ -000132a0: 6965 773a 3a20 2020 2020 2020 2020 2020 iew:: │ │ │ │ │ -000132b0: 2020 2020 2020 2020 2042 7569 6c64 696e Buildin │ │ │ │ │ -000132c0: 6720 6120 7375 6273 7461 6e74 6961 6c20 g a substantial │ │ │ │ │ -000132d0: 6472 6177 696e 672e 0a2a 2041 2074 6563 drawing..* A tec │ │ │ │ │ -000132e0: 686e 6963 616c 2064 7261 7769 6e67 3a3a hnical drawing:: │ │ │ │ │ -000132f0: 2020 2020 2020 2020 2041 6e20 6578 616d An exam │ │ │ │ │ -00013300: 706c 6520 7769 7468 2066 696e 6520 706c ple with fine pl │ │ │ │ │ -00013310: 6163 656d 656e 742e 0a2a 2041 2068 6965 acement..* A hie │ │ │ │ │ -00013320: 7261 7263 6869 6361 6c20 6d6f 6465 6c3a rarchical model: │ │ │ │ │ -00013330: 3a20 2020 2020 2020 2041 6e20 6578 616d : An exam │ │ │ │ │ -00013340: 706c 6520 7769 7468 2073 7765 6570 7320 ple with sweeps │ │ │ │ │ -00013350: 616e 6420 7075 7473 2e0a 2a20 4361 7665 and puts..* Cave │ │ │ │ │ -00013360: 6174 733a 3a20 2020 2020 2020 2020 2020 ats:: │ │ │ │ │ -00013370: 2020 2020 2020 2020 2020 5768 6572 6520 Where │ │ │ │ │ -00013380: 7472 6f75 626c 6520 6361 6e20 6f63 6375 trouble can occu │ │ │ │ │ -00013390: 722e 0a0a 1f0a 4669 6c65 3a20 736b 6574 r.....File: sket │ │ │ │ │ -000133a0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -000133b0: 4f76 6572 7669 6577 2c20 204e 6578 743a Overview, Next: │ │ │ │ │ -000133c0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ -000133d0: 7769 6e67 2c20 2050 7265 763a 2042 7569 wing, Prev: Bui │ │ │ │ │ -000133e0: 6c64 696e 6720 6120 6472 6177 696e 672c lding a drawing, │ │ │ │ │ -000133f0: 2020 5570 3a20 4275 696c 6469 6e67 2061 Up: Building a │ │ │ │ │ -00013400: 2064 7261 7769 6e67 0a0a 342e 3120 4f76 drawing..4.1 Ov │ │ │ │ │ -00013410: 6572 7669 6577 0a3d 3d3d 3d3d 3d3d 3d3d erview.========= │ │ │ │ │ -00013420: 3d3d 3d0a 0a41 7320 616e 206f 7665 7276 ===..As an overv │ │ │ │ │ -00013430: 6965 772c 206c 6574 2773 2064 6576 656c iew, let's devel │ │ │ │ │ -00013440: 6f70 2061 2064 6961 6772 616d 2074 6861 op a diagram tha │ │ │ │ │ -00013450: 7420 7368 6f77 7320 686f 7720 6120 7065 t shows how a pe │ │ │ │ │ -00013460: 7273 7065 6374 6976 650a 7072 6f6a 6563 rspective.projec │ │ │ │ │ -00013470: 7469 6f6e 2074 7261 6e73 666f 726d 2077 tion transform w │ │ │ │ │ -00013480: 6f72 6b73 2e20 2057 6527 6c6c 2073 7461 orks. We'll sta │ │ │ │ │ -00013490: 7274 2077 6974 6820 7468 6520 7472 6164 rt with the trad │ │ │ │ │ -000134a0: 6974 696f 6e61 6c20 7265 6665 7265 6e63 itional referenc │ │ │ │ │ -000134b0: 650a 6f62 6a65 6374 2075 7365 6420 696e e.object used in │ │ │ │ │ -000134c0: 2063 6f6d 7075 7465 7220 6772 6170 6869 computer graphi │ │ │ │ │ -000134d0: 6373 2074 6578 7462 6f6f 6b73 2c20 6120 cs textbooks, a │ │ │ │ │ -000134e0: 686f 7573 652d 7368 6170 6564 2070 7269 house-shaped pri │ │ │ │ │ -000134f0: 736d 2e20 2042 6567 696e 0a62 7920 6465 sm. Begin.by de │ │ │ │ │ -00013500: 6669 6e69 6e67 2074 6865 2070 6f69 6e74 fining the point │ │ │ │ │ -00013510: 7320 6f66 2074 6865 2068 6f75 7365 2e20 s of the house. │ │ │ │ │ -00013520: 2052 6174 6865 7220 7468 616e 2064 6566 Rather than def │ │ │ │ │ -00013530: 696e 696e 6720 7468 6520 6661 6365 7320 ining the faces │ │ │ │ │ -00013540: 6f66 0a74 6865 2068 6f75 7365 2061 7320 of.the house as │ │ │ │ │ -00013550: 706f 6c79 676f 6e73 2061 6e64 2074 7261 polygons and tra │ │ │ │ │ -00013560: 6e73 666f 726d 696e 6720 7468 6f73 652c nsforming those, │ │ │ │ │ -00013570: 2077 6520 6172 6520 676f 696e 6720 746f we are going to │ │ │ │ │ -00013580: 2074 7261 6e73 666f 726d 0a74 6865 2070 transform.the p │ │ │ │ │ -00013590: 6f69 6e74 7320 7468 656d 7365 6c76 6573 oints themselves │ │ │ │ │ -000135a0: 2077 6974 6820 e280 9873 6b65 7463 68e2 with ...sketch. │ │ │ │ │ -000135b0: 8099 2061 7269 7468 6d65 7469 6320 736f .. arithmetic so │ │ │ │ │ -000135c0: 2074 6861 7420 7765 2068 6176 6520 6e61 that we have na │ │ │ │ │ -000135d0: 6d65 7320 666f 720a 7468 6520 7472 616e mes for.the tran │ │ │ │ │ -000135e0: 7366 6f72 6d65 6420 706f 696e 7473 206c sformed points l │ │ │ │ │ -000135f0: 6174 6572 2e0a 2020 2520 7269 6768 7420 ater.. % right │ │ │ │ │ -00013600: 7369 6465 2028 6f75 7473 6964 6520 746f side (outside to │ │ │ │ │ -00013610: 2072 6967 6874 290a 2020 6465 6620 5231 right). def R1 │ │ │ │ │ -00013620: 2028 312c 312c 3129 2064 6566 2052 3220 (1,1,1) def R2 │ │ │ │ │ -00013630: 2831 2c2d 312c 3129 2064 6566 2052 3320 (1,-1,1) def R3 │ │ │ │ │ -00013640: 2831 2c2d 312c 2d31 2920 6465 6620 5234 (1,-1,-1) def R4 │ │ │ │ │ -00013650: 2028 312c 312c 2d31 290a 2020 6465 6620 (1,1,-1). def │ │ │ │ │ -00013660: 5235 2028 312c 312e 352c 3029 0a0a 2020 R5 (1,1.5,0).. │ │ │ │ │ -00013670: 2520 6c65 6674 2073 6964 6520 286f 7574 % left side (out │ │ │ │ │ -00013680: 7369 6465 2074 6f20 7269 6768 742d 2d62 side to right--b │ │ │ │ │ -00013690: 6163 6b77 6172 6429 0a20 2064 6566 2057 ackward). def W │ │ │ │ │ -000136a0: 2020 5b32 2c30 2c30 5d0a 2020 6465 6620 [2,0,0]. def │ │ │ │ │ -000136b0: 4c31 2028 5231 292d 5b57 5d20 6465 6620 L1 (R1)-[W] def │ │ │ │ │ -000136c0: 4c32 2028 5232 292d 5b57 5d20 6465 6620 L2 (R2)-[W] def │ │ │ │ │ -000136d0: 4c33 2028 5233 292d 5b57 5d20 6465 6620 L3 (R3)-[W] def │ │ │ │ │ -000136e0: 4c34 2028 5234 292d 5b57 5d0a 2020 6465 L4 (R4)-[W]. de │ │ │ │ │ -000136f0: 6620 4c35 2028 5235 292d 5b57 5d0a 546f f L5 (R5)-[W].To │ │ │ │ │ -00013700: 2061 6464 2061 2064 6f6f 7220 746f 2074 add a door to t │ │ │ │ │ -00013710: 6865 2068 6f75 7365 2c20 7765 2075 7365 he house, we use │ │ │ │ │ -00013720: 2061 2070 6f6c 7967 6f6e 2073 6c69 6768 a polygon sligh │ │ │ │ │ -00013730: 746c 7920 696e 2066 726f 6e74 206f 6620 tly in front of │ │ │ │ │ -00013740: 7468 650a 666f 7265 6d6f 7374 2066 6163 the.foremost fac │ │ │ │ │ -00013750: 6520 6f66 2074 6865 2068 6f75 7365 2e0a e of the house.. │ │ │ │ │ -00013760: 2020 2520 646f 6f72 0a20 2064 6566 2065 % door. def e │ │ │ │ │ -00013770: 202e 3031 0a20 2064 6566 2044 3120 2830 .01. def D1 (0 │ │ │ │ │ -00013780: 2c2d 312c 312b 6529 2064 6566 2044 3220 ,-1,1+e) def D2 │ │ │ │ │ -00013790: 282e 352c 2d31 2c31 2b65 2920 6465 6620 (.5,-1,1+e) def │ │ │ │ │ -000137a0: 4433 2028 2e35 2c30 2c31 2b65 2920 6465 D3 (.5,0,1+e) de │ │ │ │ │ -000137b0: 6620 4434 2028 302c 302c 312b 6529 0a4e f D4 (0,0,1+e).N │ │ │ │ │ -000137c0: 6f77 206c 6574 2773 2063 7265 6174 6520 ow let's create │ │ │ │ │ -000137d0: 6120 6e65 7720 7365 7420 6f66 2070 6f69 a new set of poi │ │ │ │ │ -000137e0: 6e74 7320 7468 6174 2061 7265 2061 2074 nts that are a t │ │ │ │ │ -000137f0: 6f2d 6265 2d64 6574 6572 6d69 6e65 640a o-be-determined. │ │ │ │ │ -00013800: 7472 616e 7366 6f72 6d20 6f66 2074 6865 transform of the │ │ │ │ │ -00013810: 206f 7269 6769 6e61 6c73 2e0a 2020 6465 originals.. de │ │ │ │ │ -00013820: 6620 6870 2073 6361 6c65 2831 2920 2520 f hp scale(1) % │ │ │ │ │ -00013830: 686f 7573 6520 706f 7369 7469 6f6e 6572 house positioner │ │ │ │ │ -00013840: 0a20 2064 6566 2070 5231 205b 5b68 705d . def pR1 [[hp] │ │ │ │ │ -00013850: 5d2a 2852 3129 2064 6566 2070 5232 205b ]*(R1) def pR2 [ │ │ │ │ │ -00013860: 5b68 705d 5d2a 2852 3229 2064 6566 2070 [hp]]*(R2) def p │ │ │ │ │ -00013870: 5233 205b 5b68 705d 5d2a 2852 3329 0a20 R3 [[hp]]*(R3). │ │ │ │ │ -00013880: 2064 6566 2070 5234 205b 5b68 705d 5d2a def pR4 [[hp]]* │ │ │ │ │ -00013890: 2852 3429 2064 6566 2070 5235 205b 5b68 (R4) def pR5 [[h │ │ │ │ │ -000138a0: 705d 5d2a 2852 3529 0a20 2064 6566 2070 p]]*(R5). def p │ │ │ │ │ -000138b0: 4c31 205b 5b68 705d 5d2a 284c 3129 2064 L1 [[hp]]*(L1) d │ │ │ │ │ -000138c0: 6566 2070 4c32 205b 5b68 705d 5d2a 284c ef pL2 [[hp]]*(L │ │ │ │ │ -000138d0: 3229 2064 6566 2070 4c33 205b 5b68 705d 2) def pL3 [[hp] │ │ │ │ │ -000138e0: 5d2a 284c 3329 0a20 2064 6566 2070 4c34 ]*(L3). def pL4 │ │ │ │ │ -000138f0: 205b 5b68 705d 5d2a 284c 3429 2064 6566 [[hp]]*(L4) def │ │ │ │ │ -00013900: 2070 4c35 205b 5b68 705d 5d2a 284c 3529 pL5 [[hp]]*(L5) │ │ │ │ │ -00013910: 0a20 2064 6566 2070 4431 205b 5b68 705d . def pD1 [[hp] │ │ │ │ │ -00013920: 5d2a 2844 3129 2064 6566 2070 4432 205b ]*(D1) def pD2 [ │ │ │ │ │ -00013930: 5b68 705d 5d2a 2844 3229 2064 6566 2070 [hp]]*(D2) def p │ │ │ │ │ -00013940: 4433 205b 5b68 705d 5d2a 2844 3329 0a20 D3 [[hp]]*(D3). │ │ │ │ │ -00013950: 2064 6566 2070 4434 205b 5b68 705d 5d2a def pD4 [[hp]]* │ │ │ │ │ -00013960: 2844 3429 200a 4e6f 7465 2074 6865 2075 (D4) .Note the u │ │ │ │ │ -00013970: 7365 206f 6620 6120 e280 9c74 7261 6e73 se of a ...trans │ │ │ │ │ -00013980: 666f 726d 2064 6566 696e 6974 696f 6ee2 form definition. │ │ │ │ │ -00013990: 809d 2061 6e64 20e2 809c 7472 616e 7366 .. and ...transf │ │ │ │ │ -000139a0: 6f72 6d20 7265 6665 7265 6e63 6573 e280 orm references.. │ │ │ │ │ -000139b0: 9d2e 0a4e 6f77 2064 6566 696e 6520 7468 ...Now define th │ │ │ │ │ -000139c0: 6520 7365 7665 6e20 706f 6c79 676f 6e61 e seven polygona │ │ │ │ │ -000139d0: 6c20 6661 6365 7320 6f66 2074 6865 2068 l faces of the h │ │ │ │ │ -000139e0: 6f75 7365 2061 6e64 2074 6865 2064 6f6f ouse and the doo │ │ │ │ │ -000139f0: 7220 7573 696e 6720 7468 650a 7472 616e r using the.tran │ │ │ │ │ -00013a00: 7366 6f72 6d65 6420 706f 696e 7473 2061 sformed points a │ │ │ │ │ -00013a10: 7320 7665 7274 6963 6573 2e20 2042 6520 s vertices. Be │ │ │ │ │ -00013a20: 6361 7265 6675 6c20 7769 7468 2076 6572 careful with ver │ │ │ │ │ -00013a30: 7465 7820 6f72 6465 7221 0a20 2064 6566 tex order!. def │ │ │ │ │ -00013a40: 2072 6774 2070 6f6c 7967 6f6e 2028 7052 rgt polygon (pR │ │ │ │ │ -00013a50: 3129 2870 5232 2928 7052 3329 2870 5234 1)(pR2)(pR3)(pR4 │ │ │ │ │ -00013a60: 2928 7052 3529 0a20 2064 6566 206c 6674 )(pR5). def lft │ │ │ │ │ -00013a70: 2070 6f6c 7967 6f6e 2028 704c 3529 2870 polygon (pL5)(p │ │ │ │ │ -00013a80: 4c34 2928 704c 3329 2870 4c32 2928 704c L4)(pL3)(pL2)(pL │ │ │ │ │ -00013a90: 3129 0a20 2064 6566 2066 7274 2070 6f6c 1). def frt pol │ │ │ │ │ -00013aa0: 7967 6f6e 2028 7052 3229 2870 5231 2928 ygon (pR2)(pR1)( │ │ │ │ │ -00013ab0: 704c 3129 2870 4c32 290a 2020 6465 6620 pL1)(pL2). def │ │ │ │ │ -00013ac0: 6263 6b20 706f 6c79 676f 6e20 2870 5234 bck polygon (pR4 │ │ │ │ │ -00013ad0: 2928 7052 3329 2870 4c33 2928 704c 3429 )(pR3)(pL3)(pL4) │ │ │ │ │ -00013ae0: 0a20 2064 6566 2074 6672 2070 6f6c 7967 . def tfr polyg │ │ │ │ │ -00013af0: 6f6e 2028 7052 3129 2870 5235 2928 704c on (pR1)(pR5)(pL │ │ │ │ │ -00013b00: 3529 2870 4c31 290a 2020 6465 6620 7462 5)(pL1). def tb │ │ │ │ │ -00013b10: 6b20 706f 6c79 676f 6e20 2870 5235 2928 k polygon (pR5)( │ │ │ │ │ -00013b20: 7052 3429 2870 4c34 2928 704c 3529 0a20 pR4)(pL4)(pL5). │ │ │ │ │ -00013b30: 2064 6566 2062 6f74 2070 6f6c 7967 6f6e def bot polygon │ │ │ │ │ -00013b40: 2028 7052 3229 2870 4c32 2928 704c 3329 (pR2)(pL2)(pL3) │ │ │ │ │ -00013b50: 2870 5233 290a 2020 6465 6620 646f 6f72 (pR3). def door │ │ │ │ │ -00013b60: 2070 6f6c 7967 6f6e 5b66 696c 6c63 6f6c polygon[fillcol │ │ │ │ │ -00013b70: 6f72 3d62 726f 776e 5d20 2870 4431 2928 or=brown] (pD1)( │ │ │ │ │ -00013b80: 7044 3229 2870 4433 2928 7044 3429 0a20 pD2)(pD3)(pD4). │ │ │ │ │ -00013b90: 2064 6566 2068 6f75 7365 207b 207b 7267 def house { {rg │ │ │ │ │ -00013ba0: 747d 7b6c 6674 7d7b 6672 747d 7b62 636b t}{lft}{frt}{bck │ │ │ │ │ -00013bb0: 7d7b 7466 727d 7b74 626b 7d7b 626f 747d }{tfr}{tbk}{bot} │ │ │ │ │ -00013bc0: 7b64 6f6f 727d 207d 0a20 2020 5469 6d65 {door} }. Time │ │ │ │ │ -00013bd0: 2066 6f72 2061 2073 616e 6974 7920 6368 for a sanity ch │ │ │ │ │ -00013be0: 6563 6b2e 2020 4164 6420 7468 6520 6c69 eck. Add the li │ │ │ │ │ -00013bf0: 6e65 0a20 207b 686f 7573 657d 0a61 6e64 ne. {house}.and │ │ │ │ │ -00013c00: 2074 6869 7320 6973 2077 6861 7420 7765 this is what we │ │ │ │ │ -00013c10: 2067 6574 2e0a 0a00 085b 696d 6167 6520 get.....[image │ │ │ │ │ -00013c20: 7372 633d 2265 7831 3330 2e70 6e67 2220 src="ex130.png" │ │ │ │ │ -00013c30: 7465 7874 3d22 496d 6167 6520 6578 3133 text="Image ex13 │ │ │ │ │ -00013c40: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex │ │ │ │ │ -00013c50: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi │ │ │ │ │ -00013c60: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document."..]. │ │ │ │ │ -00013c70: 0a54 6869 7320 6973 2063 6f72 7265 6374 .This is correct │ │ │ │ │ -00013c80: 2c20 6275 7420 646f 6573 206e 6f74 2072 , but does not r │ │ │ │ │ -00013c90: 6576 6561 6c20 7665 7279 206d 7563 682e eveal very much. │ │ │ │ │ -00013ca0: 2020 436f 6d6d 6f6e 2065 7272 6f72 7320 Common errors │ │ │ │ │ -00013cb0: 6172 650a 6d69 7370 6c61 6365 6420 7665 are.misplaced ve │ │ │ │ │ -00013cc0: 7274 6963 6573 2061 6e64 2070 6f6c 7967 rtices and polyg │ │ │ │ │ -00013cd0: 6f6e 7320 6d69 7373 696e 6720 656e 7469 ons missing enti │ │ │ │ │ -00013ce0: 7265 6c79 2064 7565 2074 6f20 696e 636f rely due to inco │ │ │ │ │ -00013cf0: 7272 6563 7420 7665 7274 6578 0a6f 7264 rrect vertex.ord │ │ │ │ │ -00013d00: 6572 2e20 2054 6f20 7275 6c65 2074 6865 er. To rule the │ │ │ │ │ -00013d10: 7365 206f 7574 2c20 6c65 7427 7320 696e se out, let's in │ │ │ │ │ -00013d20: 7370 6563 7420 616c 6c20 7369 6465 7320 spect all sides │ │ │ │ │ -00013d30: 6f66 2074 6865 2068 6f75 7365 2e20 2054 of the house. T │ │ │ │ │ -00013d40: 6869 730a 6973 206e 6f74 2068 6172 642e his.is not hard. │ │ │ │ │ -00013d50: 2020 4d65 7265 6c79 2072 6570 6c61 6365 Merely replace │ │ │ │ │ -00013d60: 2074 6865 2072 6566 6572 656e 6365 207b the reference { │ │ │ │ │ -00013d70: 686f 7573 657d 2077 6974 6820 6120 e280 house} with a .. │ │ │ │ │ -00013d80: 9872 6570 6561 74e2 8099 2e0a 2a4e 6f74 .repeat.....*Not │ │ │ │ │ -00013d90: 6520 5265 7065 6174 733a 3a2e 0a20 2072 e Repeats::.. r │ │ │ │ │ -00013da0: 6570 6561 7420 7b20 3133 2c20 726f 7461 epeat { 13, rota │ │ │ │ │ -00013db0: 7465 2833 302c 205b 312c 322c 335d 292c te(30, [1,2,3]), │ │ │ │ │ -00013dc0: 2074 7261 6e73 6c61 7465 285b 332c 302c translate([3,0, │ │ │ │ │ -00013dd0: 305d 2920 7d20 7b68 6f75 7365 7d0a 0008 0]) } {house}... │ │ │ │ │ -00013de0: 5b69 6d61 6765 2073 7263 3d22 6578 3134 [image src="ex14 │ │ │ │ │ -00013df0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00013e00: 6765 2065 7831 3430 206f 6d69 7474 6564 ge ex140 omitted │ │ │ │ │ -00013e10: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00013e20: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00013e30: 742e 2200 085d 0a0a 4167 6169 6e20 7468 t."..]..Again th │ │ │ │ │ -00013e40: 696e 6773 206c 6f6f 6b20 636f 7272 6563 ings look correc │ │ │ │ │ -00013e50: 742e 2020 4e6f 7465 2074 6861 7420 7468 t. Note that th │ │ │ │ │ -00013e60: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface │ │ │ │ │ -00013e70: 2061 6c67 6f72 6974 686d 0a68 616e 646c algorithm.handl │ │ │ │ │ -00013e80: 6573 2069 6e74 6572 7365 6374 696e 6720 es intersecting │ │ │ │ │ -00013e90: 706f 6c79 676f 6e73 2063 6f72 7265 6374 polygons correct │ │ │ │ │ -00013ea0: 6c79 2077 6865 7265 2073 6f6d 6520 636f ly where some co │ │ │ │ │ -00013eb0: 7069 6573 206f 6620 7468 6520 686f 7573 pies of the hous │ │ │ │ │ -00013ec0: 650a 6f76 6572 6c61 702e 0a0a 2020 204c e.overlap... L │ │ │ │ │ -00013ed0: 6574 2773 206c 6179 206f 7574 2074 6865 et's lay out the │ │ │ │ │ -00013ee0: 2067 656f 6d65 7472 7920 6f66 2070 6572 geometry of per │ │ │ │ │ -00013ef0: 7370 6563 7469 7665 2070 726f 6a65 6374 spective project │ │ │ │ │ -00013f00: 696f 6e20 6f66 2074 6865 2068 6f75 7365 ion of the house │ │ │ │ │ -00013f10: 0a6f 6e74 6f20 6120 706c 616e 6520 7769 .onto a plane wi │ │ │ │ │ -00013f20: 7468 2072 6179 7320 7061 7373 696e 6720 th rays passing │ │ │ │ │ -00013f30: 7468 726f 7567 6820 7468 6520 6f72 6967 through the orig │ │ │ │ │ -00013f40: 696e 2e20 2042 6567 696e 2062 7920 706f in. Begin by po │ │ │ │ │ -00013f50: 7369 7469 6f6e 696e 670a 7468 6520 686f sitioning.the ho │ │ │ │ │ -00013f60: 7573 6520 7477 656c 7665 2075 6e69 7473 use twelve units │ │ │ │ │ -00013f70: 2062 6163 6b20 6f6e 2074 6865 206e 6567 back on the neg │ │ │ │ │ -00013f80: 6174 6976 6520 7a2d 6178 6973 2061 6e64 ative z-axis and │ │ │ │ │ -00013f90: 2061 6464 696e 6720 6120 7365 7420 6f66 adding a set of │ │ │ │ │ -00013fa0: 0a63 6f6f 7264 696e 6174 6520 6178 6573 .coordinate axes │ │ │ │ │ -00013fb0: 2e20 2054 6f20 6d6f 7665 2074 6865 2068 . To move the h │ │ │ │ │ -00013fc0: 6f75 7365 2077 6520 6e65 6564 206f 6e6c ouse we need onl │ │ │ │ │ -00013fd0: 7920 6368 616e 6765 2074 6865 2022 686f y change the "ho │ │ │ │ │ -00013fe0: 7573 650a 706f 7369 7469 6f6e 696e 6722 use.positioning" │ │ │ │ │ -00013ff0: 2074 7261 6e73 666f 726d 2064 6566 696e transform defin │ │ │ │ │ -00014000: 6564 2065 6172 6c69 6572 2e0a 2020 6465 ed earlier.. de │ │ │ │ │ -00014010: 6620 6870 2072 6f74 6174 6528 2d34 302c f hp rotate(-40, │ │ │ │ │ -00014020: 205b 302c 312c 305d 2920 7468 656e 2074 [0,1,0]) then t │ │ │ │ │ -00014030: 7261 6e73 6c61 7465 285b 302c 302c 2d31 ranslate([0,0,-1 │ │ │ │ │ -00014040: 325d 290a 2020 6465 6620 6178 6573 207b 2]). def axes { │ │ │ │ │ -00014050: 0a20 2020 2064 6566 2073 7a20 310a 2020 . def sz 1. │ │ │ │ │ -00014060: 2020 6c69 6e65 205b 6172 726f 7773 3d3c line [arrows=< │ │ │ │ │ -00014070: 2d3e 5d20 2873 7a2c 302c 3029 284f 2928 ->] (sz,0,0)(O)( │ │ │ │ │ -00014080: 302c 737a 2c30 290a 2020 2020 6c69 6e65 0,sz,0). line │ │ │ │ │ -00014090: 205b 6172 726f 7773 3d2d 3e5d 2020 284f [arrows=->] (O │ │ │ │ │ -000140a0: 2928 302c 302c 737a 290a 2020 2020 6c69 )(0,0,sz). li │ │ │ │ │ -000140b0: 6e65 205b 6c69 6e65 7769 6474 683d 2e32 ne [linewidth=.2 │ │ │ │ │ -000140c0: 7074 2c6c 696e 6563 6f6c 6f72 3d62 6c75 pt,linecolor=blu │ │ │ │ │ -000140d0: 652c 6c69 6e65 7374 796c 653d 6461 7368 e,linestyle=dash │ │ │ │ │ -000140e0: 6564 5d20 284f 2928 302c 302c 2d31 3029 ed] (O)(0,0,-10) │ │ │ │ │ -000140f0: 0a20 2020 2073 7065 6369 616c 207c 5c75 . special |\u │ │ │ │ │ -00014100: 7075 745b 725d 2331 7b24 7824 7d5c 7570 put[r]#1{$x$}\up │ │ │ │ │ -00014110: 7574 5b75 5d23 327b 2479 247d 5c75 7075 ut[u]#2{$y$}\upu │ │ │ │ │ -00014120: 745b 6c5d 2333 7b24 7a24 7d7c 0a20 2020 t[l]#3{$z$}|. │ │ │ │ │ -00014130: 2020 2028 737a 2c30 2c30 2928 302c 737a (sz,0,0)(0,sz │ │ │ │ │ -00014140: 2c30 2928 302c 302c 737a 290a 2020 7d0a ,0)(0,0,sz). }. │ │ │ │ │ -00014150: 0a20 2020 5469 6d65 2066 6f72 2061 6e6f . Time for ano │ │ │ │ │ -00014160: 7468 6572 2074 6573 742e 2020 4c65 7427 ther test. Let' │ │ │ │ │ -00014170: 7320 6275 696c 6420 6120 7265 616c 2076 s build a real v │ │ │ │ │ -00014180: 6965 7720 7472 616e 7366 6f72 6d2c 2063 iew transform, c │ │ │ │ │ -00014190: 7265 6174 696e 6720 610a e280 9c76 6972 reating a....vir │ │ │ │ │ -000141a0: 7475 616c 2063 616d 6572 61e2 809d 2074 tual camera... t │ │ │ │ │ -000141b0: 6f20 6c6f 6f6b 2061 7420 7468 6520 7363 o look at the sc │ │ │ │ │ -000141c0: 656e 6520 7765 2061 7265 2063 6f6e 7374 ene we are const │ │ │ │ │ -000141d0: 7275 6374 696e 672e 2020 5265 706c 6163 ructing. Replac │ │ │ │ │ -000141e0: 6520 7468 650a e280 9872 6570 6561 74e2 e the....repeat. │ │ │ │ │ -000141f0: 8099 2077 6974 680a 2020 6465 6620 6579 .. with. def ey │ │ │ │ │ -00014200: 6520 2831 302c 342c 3130 290a 2020 6465 e (10,4,10). de │ │ │ │ │ -00014210: 6620 6c6f 6f6b 5f61 7420 2830 2c30 2c2d f look_at (0,0,- │ │ │ │ │ -00014220: 3529 0a20 2070 7574 207b 2076 6965 7728 5). put { view( │ │ │ │ │ -00014230: 2865 7965 292c 2028 6c6f 6f6b 5f61 7429 (eye), (look_at) │ │ │ │ │ -00014240: 2920 7d20 7b20 7b68 6f75 7365 7d7b 6178 ) } { {house}{ax │ │ │ │ │ -00014250: 6573 7d20 7d0a 2020 2054 6865 20e2 809c es} }. The ... │ │ │ │ │ -00014260: 7669 6577 2074 7261 6e73 666f 726d e280 view transform.. │ │ │ │ │ -00014270: 9d20 7265 706f 7369 7469 6f6e 7320 7468 . repositions th │ │ │ │ │ -00014280: 6520 7363 656e 6520 736f 2074 6861 7420 e scene so that │ │ │ │ │ -00014290: 7468 6520 706f 696e 7420 e280 9865 7965 the point ...eye │ │ │ │ │ -000142a0: e280 9920 6973 0a61 7420 7468 6520 6f72 ... is.at the or │ │ │ │ │ -000142b0: 6967 696e 2061 6e64 2074 6865 2064 6972 igin and the dir │ │ │ │ │ -000142c0: 6563 7469 6f6e 2066 726f 6d20 e280 9865 ection from ...e │ │ │ │ │ -000142d0: 7965 e280 9920 746f 20e2 8098 6c6f 6f6b ye... to ...look │ │ │ │ │ -000142e0: 5f61 74e2 8099 2069 7320 7468 6520 6e65 _at... is the ne │ │ │ │ │ -000142f0: 6761 7469 7665 0a7a 2d61 7869 732e 2020 gative.z-axis. │ │ │ │ │ -00014300: 5468 6973 2072 6571 7569 7265 7320 6120 This requires a │ │ │ │ │ -00014310: 726f 7461 7469 6f6e 2061 6e64 2061 2074 rotation and a t │ │ │ │ │ -00014320: 7261 6e73 6c61 7469 6f6e 2074 6861 7420 ranslation that │ │ │ │ │ -00014330: 6172 6520 616c 6c20 7061 636b 6564 0a69 are all packed.i │ │ │ │ │ -00014340: 6e74 6f20 7468 6520 636f 6e73 7472 7563 nto the construc │ │ │ │ │ -00014350: 746f 7220 e280 9876 6965 77e2 8099 2e0a tor ...view..... │ │ │ │ │ -00014360: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src="e │ │ │ │ │ -00014370: 7831 3530 2e70 6e67 2220 7465 7874 3d22 x150.png" text=" │ │ │ │ │ -00014380: 496d 6167 6520 6578 3135 3020 6f6d 6974 Image ex150 omit │ │ │ │ │ -00014390: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers │ │ │ │ │ -000143a0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu │ │ │ │ │ -000143b0: 6d65 6e74 2e22 0008 5d0a 0a54 6869 7320 ment."..]..This │ │ │ │ │ -000143c0: 6973 2073 7461 7274 696e 6720 746f 206c is starting to l │ │ │ │ │ -000143d0: 6f6f 6b20 676f 6f64 2120 2041 6464 2074 ook good! Add t │ │ │ │ │ -000143e0: 6865 2070 726f 6a65 6374 696f 6e20 706c he projection pl │ │ │ │ │ -000143f0: 616e 6520 6861 6c66 2077 6179 0a62 6574 ane half way.bet │ │ │ │ │ -00014400: 7765 656e 2074 6865 206f 7269 6769 6e20 ween the origin │ │ │ │ │ -00014410: 616e 6420 7468 6520 686f 7573 6520 6174 and the house at │ │ │ │ │ -00014420: 207a 3d2d 352e 2020 5765 276c 6c20 7472 z=-5. We'll tr │ │ │ │ │ -00014430: 7920 7468 6520 616e 676c 6520 6172 6775 y the angle argu │ │ │ │ │ -00014440: 6d65 6e74 0a66 6561 7475 7265 206f 6620 ment.feature of │ │ │ │ │ -00014450: e280 9873 7065 6369 616c e280 9920 746f ...special... to │ │ │ │ │ -00014460: 2070 6f73 6974 696f 6e20 6120 6c61 6265 position a labe │ │ │ │ │ -00014470: 6c2e 0a20 2064 6566 2070 2035 2025 2070 l.. def p 5 % p │ │ │ │ │ -00014480: 726f 6a65 6374 696f 6e20 6469 7374 616e rojection distan │ │ │ │ │ -00014490: 6365 2028 706c 616e 6520 6174 207a 3d2d ce (plane at z=- │ │ │ │ │ -000144a0: 7029 0a20 2064 6566 2070 726f 6a65 6374 p). def project │ │ │ │ │ -000144b0: 696f 6e5f 706c 616e 6520 7b0a 2020 2020 ion_plane {. │ │ │ │ │ -000144c0: 6465 6620 737a 2031 2e35 0a20 2020 2070 def sz 1.5. p │ │ │ │ │ -000144d0: 6f6c 7967 6f6e 2028 2d73 7a2c 2d73 7a2c olygon (-sz,-sz, │ │ │ │ │ -000144e0: 2d70 2928 737a 2c2d 737a 2c2d 7029 2873 -p)(sz,-sz,-p)(s │ │ │ │ │ -000144f0: 7a2c 737a 2c2d 7029 282d 737a 2c73 7a2c z,sz,-p)(-sz,sz, │ │ │ │ │ -00014500: 2d70 290a 2020 2020 7370 6563 6961 6c20 -p). special │ │ │ │ │ -00014510: 7c5c 7270 7574 5b62 5d23 312d 3223 337b |\rput[b]#1-2#3{ │ │ │ │ │ -00014520: 5c66 6f6f 746e 6f74 6573 697a 655c 7366 \footnotesize\sf │ │ │ │ │ -00014530: 2070 726f 6a65 6374 696f 6e20 706c 616e projection plan │ │ │ │ │ -00014540: 657d 7c20 0a20 2020 2020 2028 2d73 7a2c e}| . (-sz, │ │ │ │ │ -00014550: 2d73 7a2c 2d70 2928 737a 2c2d 737a 2c2d -sz,-p)(sz,-sz,- │ │ │ │ │ -00014560: 7029 2830 2c2d 737a 2b2e 312c 2d70 290a p)(0,-sz+.1,-p). │ │ │ │ │ -00014570: 2020 7d0a 4164 6420 7b70 726f 6a65 6374 }.Add {project │ │ │ │ │ -00014580: 696f 6e5f 706c 616e 657d 2074 6f20 7468 ion_plane} to th │ │ │ │ │ -00014590: 6520 6c69 7374 206f 6620 6f62 6a65 6374 e list of object │ │ │ │ │ -000145a0: 7320 696e 2074 6865 20e2 8098 7075 74e2 s in the ...put. │ │ │ │ │ -000145b0: 8099 2061 626f 7665 2e0a 0a00 085b 696d .. above.....[im │ │ │ │ │ -000145c0: 6167 6520 7372 633d 2265 7831 3630 2e70 age src="ex160.p │ │ │ │ │ -000145d0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng" text="Image │ │ │ │ │ -000145e0: 6578 3136 3020 6f6d 6974 7465 6420 696e ex160 omitted in │ │ │ │ │ -000145f0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of │ │ │ │ │ -00014600: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document." │ │ │ │ │ -00014610: 0008 5d0a 0a20 2020 5468 6520 7761 7920 ..].. The way │ │ │ │ │ -00014620: 7765 2063 6f6e 7374 7275 6374 6564 2074 we constructed t │ │ │ │ │ -00014630: 6865 2070 6f69 6e74 7320 6f66 2074 6865 he points of the │ │ │ │ │ -00014640: 2068 6f75 7365 206e 6f77 206d 616b 6573 house now makes │ │ │ │ │ -00014650: 2069 7420 6561 7379 2074 6f0a 6472 6177 it easy to.draw │ │ │ │ │ -00014660: 2072 6179 7320 6f66 2070 726f 6a65 6374 rays of project │ │ │ │ │ -00014670: 696f 6e2e 2020 5765 276c 6c20 6361 7374 ion. We'll cast │ │ │ │ │ -00014680: 206f 6e65 2072 6179 2066 726f 6d20 6576 one ray from ev │ │ │ │ │ -00014690: 6572 7920 7669 7369 626c 6520 7665 7274 ery visible vert │ │ │ │ │ -000146a0: 6578 0a6f 6620 7468 6520 686f 7573 6520 ex.of the house │ │ │ │ │ -000146b0: 616e 6420 6465 6669 6e65 206f 7074 696f and define optio │ │ │ │ │ -000146c0: 6e73 2073 6f20 7468 6520 6170 7065 6172 ns so the appear │ │ │ │ │ -000146d0: 616e 6365 206f 6620 616c 6c20 7261 7973 ance of all rays │ │ │ │ │ -000146e0: 2063 616e 2062 650a 6368 616e 6765 6420 can be.changed │ │ │ │ │ -000146f0: 6174 2074 6865 2073 616d 6520 7469 6d65 at the same time │ │ │ │ │ -00014700: 2e0a 2020 6465 6620 7072 6f6a 6563 7469 .. def projecti │ │ │ │ │ -00014710: 6f6e 5f72 6179 7320 7b0a 2020 2020 6465 on_rays {. de │ │ │ │ │ -00014720: 6620 7261 796f 7074 205b 6c69 6e65 7769 f rayopt [linewi │ │ │ │ │ -00014730: 6474 683d 2e33 7074 2c6c 696e 6563 6f6c dth=.3pt,linecol │ │ │ │ │ -00014740: 6f72 3d6c 6967 6874 6772 6179 5d0a 2020 or=lightgray]. │ │ │ │ │ -00014750: 2020 6c69 6e65 205b 7261 796f 7074 5d28 line [rayopt]( │ │ │ │ │ -00014760: 4f29 2870 5231 2920 6c69 6e65 205b 7261 O)(pR1) line [ra │ │ │ │ │ -00014770: 796f 7074 5d28 4f29 2870 5232 2920 6c69 yopt](O)(pR2) li │ │ │ │ │ -00014780: 6e65 5b72 6179 6f70 745d 284f 2928 7052 ne[rayopt](O)(pR │ │ │ │ │ -00014790: 3329 0a20 2020 206c 696e 6520 5b72 6179 3). line [ray │ │ │ │ │ -000147a0: 6f70 745d 284f 2928 7052 3429 206c 696e opt](O)(pR4) lin │ │ │ │ │ -000147b0: 6520 5b72 6179 6f70 745d 284f 2928 7052 e [rayopt](O)(pR │ │ │ │ │ -000147c0: 3529 0a20 2020 206c 696e 6520 5b72 6179 5). line [ray │ │ │ │ │ -000147d0: 6f70 745d 284f 2928 704c 3129 206c 696e opt](O)(pL1) lin │ │ │ │ │ -000147e0: 6520 5b72 6179 6f70 745d 284f 2928 704c e [rayopt](O)(pL │ │ │ │ │ -000147f0: 3229 206c 696e 655b 7261 796f 7074 5d28 2) line[rayopt]( │ │ │ │ │ -00014800: 4f29 2870 4c35 290a 2020 2020 6c69 6e65 O)(pL5). line │ │ │ │ │ -00014810: 205b 7261 796f 7074 5d28 4f29 2870 4431 [rayopt](O)(pD1 │ │ │ │ │ -00014820: 2920 6c69 6e65 205b 7261 796f 7074 5d28 ) line [rayopt]( │ │ │ │ │ -00014830: 4f29 2870 4432 2920 0a20 2020 206c 696e O)(pD2) . lin │ │ │ │ │ -00014840: 6520 5b72 6179 6f70 745d 284f 2928 7044 e [rayopt](O)(pD │ │ │ │ │ -00014850: 3329 206c 696e 6520 5b72 6179 6f70 745d 3) line [rayopt] │ │ │ │ │ -00014860: 284f 2928 7044 3429 200a 2020 7d0a 5468 (O)(pD4) . }.Th │ │ │ │ │ -00014870: 6520 7265 7375 6c74 2069 7320 7368 6f77 e result is show │ │ │ │ │ -00014880: 6e20 6865 7265 2e0a 0a00 085b 696d 6167 n here.....[imag │ │ │ │ │ -00014890: 6520 7372 633d 2265 7831 3730 2e70 6e67 e src="ex170.png │ │ │ │ │ -000148a0: 2220 7465 7874 3d22 496d 6167 6520 6578 " text="Image ex │ │ │ │ │ -000148b0: 3137 3020 6f6d 6974 7465 6420 696e 2074 170 omitted in t │ │ │ │ │ -000148c0: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t │ │ │ │ │ -000148d0: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.".. │ │ │ │ │ -000148e0: 5d0a 0a54 6865 2072 6179 7320 7069 6572 ]..The rays pier │ │ │ │ │ -000148f0: 6365 2074 6865 2070 726f 6a65 6374 696f ce the projectio │ │ │ │ │ -00014900: 6e20 706c 616e 6520 6174 2074 6865 2063 n plane at the c │ │ │ │ │ -00014910: 6f72 7265 7370 6f6e 6469 6e67 2070 6f69 orresponding poi │ │ │ │ │ -00014920: 6e74 7320 6f6e 2074 6865 0a70 6572 7370 nts on the.persp │ │ │ │ │ -00014930: 6563 7469 7665 2069 6d61 6765 2077 6520 ective image we │ │ │ │ │ -00014940: 6172 6520 7472 7969 6e67 2074 6f20 6472 are trying to dr │ │ │ │ │ -00014950: 6177 2e20 2041 6c62 7265 6368 7420 44c3 aw. Albrecht D. │ │ │ │ │ -00014960: bc72 6572 2061 6e64 2068 6973 0a52 656e .rer and his.Ren │ │ │ │ │ -00014970: 6169 7373 616e 6365 2063 6f6e 7465 6d70 aissance contemp │ │ │ │ │ -00014980: 6f72 6172 6965 7320 6861 6420 7468 6520 oraries had the │ │ │ │ │ -00014990: 7361 6d65 2069 6465 6120 696e 2074 6865 same idea in the │ │ │ │ │ -000149a0: 2065 6172 6c79 2031 3530 3027 732e 0a0a early 1500's... │ │ │ │ │ -000149b0: 0008 5b69 6d61 6765 2073 7263 3d22 6475 ..[image src="du │ │ │ │ │ -000149c0: 6572 6572 2e70 6e67 2220 7465 7874 3d22 erer.png" text=" │ │ │ │ │ -000149d0: 496d 6167 6520 6f66 2044 7565 7265 7227 Image of Duerer' │ │ │ │ │ -000149e0: 7320 7065 7273 7065 6374 6976 6520 636f s perspective co │ │ │ │ │ -000149f0: 6d70 7574 6572 206f 6d69 7474 6564 2069 mputer omitted i │ │ │ │ │ -00014a00: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o │ │ │ │ │ -00014a10: 6620 7468 6973 2064 6f63 756d 656e 742e f this document. │ │ │ │ │ -00014a20: 2200 085d 0a0a 2020 2041 6c6c 2074 6861 "..].. All tha │ │ │ │ │ -00014a30: 7427 7320 6c65 6674 2069 7320 746f 2066 t's left is to f │ │ │ │ │ -00014a40: 696e 6420 6120 7761 7920 746f 2063 6f6e ind a way to con │ │ │ │ │ -00014a50: 6e65 6374 2074 6865 2070 6f69 6e74 7320 nect the points │ │ │ │ │ -00014a60: 6f66 2074 6865 2068 6f75 7365 0a6f 6e20 of the house.on │ │ │ │ │ -00014a70: 7468 6520 7072 6f6a 6563 7469 6f6e 2070 the projection p │ │ │ │ │ -00014a80: 6c61 6e65 2e20 2057 6520 636f 756c 6420 lane. We could │ │ │ │ │ -00014a90: 7075 6c6c 206f 7574 2061 2067 6f6f 6420 pull out a good │ │ │ │ │ -00014aa0: 636f 6d70 7574 6572 2067 7261 7068 6963 computer graphic │ │ │ │ │ -00014ab0: 730a 7465 7874 2c20 6669 6e64 2074 6865 s.text, find the │ │ │ │ │ -00014ac0: 206e 6563 6573 7361 7279 206d 6174 7269 necessary matri │ │ │ │ │ -00014ad0: 782c 2061 6e64 2065 6e74 6572 2069 7420 x, and enter it │ │ │ │ │ -00014ae0: 6f75 7273 656c 7665 7320 6173 2061 2074 ourselves as a t │ │ │ │ │ -00014af0: 7261 6e73 666f 726d 0a6c 6974 6572 616c ransform.literal │ │ │ │ │ -00014b00: 2e20 202a 4e6f 7465 2054 7261 6e73 666f . *Note Transfo │ │ │ │ │ -00014b10: 726d 206c 6974 6572 616c 733a 3a2e 2020 rm literals::. │ │ │ │ │ -00014b20: 5468 6174 2077 6f72 6b20 6973 2061 6c72 That work is alr │ │ │ │ │ -00014b30: 6561 6479 2064 6f6e 652c 0a68 6f77 6576 eady done,.howev │ │ │ │ │ -00014b40: 6572 2e20 2057 6520 6361 6e20 7573 6520 er. We can use │ │ │ │ │ -00014b50: 7468 6520 e280 9870 726f 6a65 6374 2870 the ...project(p │ │ │ │ │ -00014b60: 29e2 8099 2063 6f6e 7374 7275 6374 6f72 )... constructor │ │ │ │ │ -00014b70: 2e0a 0a20 2020 5468 6572 6520 6172 6520 ... There are │ │ │ │ │ -00014b80: 7374 696c 6c20 736f 6d65 2064 6574 6169 still some detai │ │ │ │ │ -00014b90: 6c73 2074 6861 7420 7265 7175 6972 6520 ls that require │ │ │ │ │ -00014ba0: 6361 7265 2e20 2050 726f 6a65 6374 696f care. Projectio │ │ │ │ │ -00014bb0: 6e20 7769 6c6c 0a66 6c61 7474 656e 2077 n will.flatten w │ │ │ │ │ -00014bc0: 6861 7465 7665 7220 6973 2074 7261 6e73 hatever is trans │ │ │ │ │ -00014bd0: 666f 726d 6564 206f 6e74 6f20 7468 6520 formed onto the │ │ │ │ │ -00014be0: 706c 616e 6520 7a3d 2d70 2e20 2054 6865 plane z=-p. The │ │ │ │ │ -00014bf0: 7265 666f 7265 2061 6e79 2070 6172 740a refore any part. │ │ │ │ │ -00014c00: 6f66 2074 6865 2068 6f75 7365 2063 6f75 of the house cou │ │ │ │ │ -00014c10: 6c64 2064 6973 6170 7065 6172 2062 6568 ld disappear beh │ │ │ │ │ -00014c20: 696e 6420 7468 6520 7072 6f6a 6563 7469 ind the projecti │ │ │ │ │ -00014c30: 6f6e 2070 6c61 6e65 2028 7468 6520 6869 on plane (the hi │ │ │ │ │ -00014c40: 6464 656e 0a73 7572 6661 6365 2061 6c67 dden.surface alg │ │ │ │ │ -00014c50: 6f72 6974 686d 206f 7264 6572 7320 6f62 orithm orders ob │ │ │ │ │ -00014c60: 6a65 6374 7320 6174 2074 6865 2073 616d jects at the sam │ │ │ │ │ -00014c70: 6520 6465 7074 6820 6172 6269 7472 6172 e depth arbitrar │ │ │ │ │ -00014c80: 696c 7929 2e20 2054 6865 0a64 6f6f 7220 ily). The.door │ │ │ │ │ -00014c90: 6d61 7920 616c 736f 2064 6973 6170 7065 may also disappe │ │ │ │ │ -00014ca0: 6172 2062 6568 696e 6420 7468 6520 6672 ar behind the fr │ │ │ │ │ -00014cb0: 6f6e 7420 6f66 2074 6865 2068 6f75 7365 ont of the house │ │ │ │ │ -00014cc0: 2e20 2054 6f20 6d61 6b65 2073 7572 650a . To make sure. │ │ │ │ │ -00014cd0: 6576 6572 7974 6869 6e67 2072 656d 6169 everything remai │ │ │ │ │ -00014ce0: 6e73 2076 6973 6962 6c65 2c20 7765 276c ns visible, we'l │ │ │ │ │ -00014cf0: 6c20 706c 6163 6520 7468 6520 686f 7573 l place the hous │ │ │ │ │ -00014d00: 6520 6120 7469 6e79 2062 6974 2069 6e20 e a tiny bit in │ │ │ │ │ -00014d10: 6672 6f6e 7420 6f66 0a74 6865 2070 726f front of.the pro │ │ │ │ │ -00014d20: 6a65 6374 696f 6e20 706c 616e 6520 616e jection plane an │ │ │ │ │ -00014d30: 6420 6120 7365 636f 6e64 2063 6f70 7920 d a second copy │ │ │ │ │ -00014d40: 6f66 2074 6865 2064 6f6f 7220 696e 2066 of the door in f │ │ │ │ │ -00014d50: 726f 6e74 206f 6620 7468 650a 686f 7573 ront of the.hous │ │ │ │ │ -00014d60: 652e 0a20 2064 6566 2070 726f 6a65 6374 e.. def project │ │ │ │ │ -00014d70: 696f 6e20 7b0a 2020 2020 2520 6520 6973 ion {. % e is │ │ │ │ │ -00014d80: 2061 2073 6d61 6c6c 206e 756d 6265 7220 a small number │ │ │ │ │ -00014d90: 6465 6669 6e65 6420 6162 6f76 650a 2020 defined above. │ │ │ │ │ -00014da0: 2020 7075 7420 7b20 7072 6f6a 6563 7428 put { project( │ │ │ │ │ -00014db0: 7029 2074 6865 6e20 7472 616e 736c 6174 p) then translat │ │ │ │ │ -00014dc0: 6528 5b30 2c30 2c31 2a65 5d29 207d 207b e([0,0,1*e]) } { │ │ │ │ │ -00014dd0: 686f 7573 657d 0a20 2020 2070 7574 207b house}. put { │ │ │ │ │ -00014de0: 2070 726f 6a65 6374 2870 2920 7468 656e project(p) then │ │ │ │ │ -00014df0: 2074 7261 6e73 6c61 7465 285b 302c 302c translate([0,0, │ │ │ │ │ -00014e00: 322a 655d 2920 7d20 7b64 6f6f 727d 0a20 2*e]) } {door}. │ │ │ │ │ -00014e10: 207d 0a0a 0008 5b69 6d61 6765 2073 7263 }....[image src │ │ │ │ │ -00014e20: 3d22 6578 3138 302e 706e 6722 2074 6578 ="ex180.png" tex │ │ │ │ │ -00014e30: 743d 2249 6d61 6765 2065 7831 3830 206f t="Image ex180 o │ │ │ │ │ -00014e40: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ -00014e50: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ -00014e60: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument."..].. │ │ │ │ │ -00014e70: 2049 6620 796f 7520 6861 7665 2073 7475 If you have stu │ │ │ │ │ -00014e80: 6469 6564 2061 6e64 2075 6e64 6572 7374 died and underst │ │ │ │ │ -00014e90: 616e 6420 616c 6c20 7468 6973 2c20 796f and all this, yo │ │ │ │ │ -00014ea0: 7520 6172 6520 7765 6c6c 206f 6e20 7468 u are well on th │ │ │ │ │ -00014eb0: 6520 7761 790a 746f 2073 7563 6365 7373 e way.to success │ │ │ │ │ -00014ec0: 2077 6974 6820 e280 9873 6b65 7463 68e2 with ...sketch. │ │ │ │ │ -00014ed0: 8099 2e20 204e 6f74 2073 686f 776e 2061 ... Not shown a │ │ │ │ │ -00014ee0: 7265 2074 6865 2032 3020 6f72 2073 6f20 re the 20 or so │ │ │ │ │ -00014ef0: 6974 6572 6174 696f 6e73 2074 6861 740a iterations that. │ │ │ │ │ -00014f00: 7765 7265 2072 6571 7569 7265 6420 746f were required to │ │ │ │ │ -00014f10: 2066 696e 6420 6120 7265 6173 6f6e 6162 find a reasonab │ │ │ │ │ -00014f20: 6c65 2076 6965 7769 6e67 2061 6e67 6c65 le viewing angle │ │ │ │ │ -00014f30: 2061 6e64 2068 6f75 7365 2070 6f73 6974 and house posit │ │ │ │ │ -00014f40: 696f 6e2c 0a65 7463 2e20 204e 6f6e 6574 ion,.etc. Nonet │ │ │ │ │ -00014f50: 6865 6c65 7373 2c20 7468 6973 2064 7261 heless, this dra │ │ │ │ │ -00014f60: 7769 6e67 2077 6173 2063 6f6d 706c 6574 wing was complet │ │ │ │ │ -00014f70: 6564 2069 6e20 6162 6f75 7420 616e 2068 ed in about an h │ │ │ │ │ -00014f80: 6f75 722e 2020 5768 696c 6520 610a 4755 our. While a.GU │ │ │ │ │ -00014f90: 4920 746f 6f6c 206d 6179 2068 6176 6520 I tool may have │ │ │ │ │ -00014fa0: 6265 656e 2061 206c 6974 746c 6520 6661 been a little fa │ │ │ │ │ -00014fb0: 7374 6572 2c20 6974 2069 7320 756e 6c69 ster, it is unli │ │ │ │ │ -00014fc0: 6b65 6c79 2074 6861 7420 6120 6e65 770a kely that a new. │ │ │ │ │ -00014fd0: 6472 6177 696e 672c 2069 7473 656c 6620 drawing, itself │ │ │ │ │ -00014fe0: 6120 7065 7273 7065 6374 6976 6520 7072 a perspective pr │ │ │ │ │ -00014ff0: 6f6a 6563 7469 6f6e 206f 6620 7468 6520 ojection of the │ │ │ │ │ -00015000: 7363 656e 652c 2063 6f75 6c64 2062 650a scene, could be. │ │ │ │ │ -00015010: 6765 6e65 7261 7465 6420 7769 7468 2074 generated with t │ │ │ │ │ -00015020: 776f 206d 6f72 6520 6d69 6e75 7465 7327 wo more minutes' │ │ │ │ │ -00015030: 2077 6f72 6b21 2020 4a75 7374 2063 6861 work! Just cha │ │ │ │ │ -00015040: 6e67 6520 7468 6520 7669 6577 2074 7261 nge the view tra │ │ │ │ │ -00015050: 6e73 666f 726d 0a74 6f0a 2020 7075 7420 nsform.to. put │ │ │ │ │ -00015060: 7b20 7669 6577 2828 6579 6529 2c20 286c { view((eye), (l │ │ │ │ │ -00015070: 6f6f 6b5f 6174 2929 2074 6865 6e20 7065 ook_at)) then pe │ │ │ │ │ -00015080: 7273 7065 6374 6976 6528 3929 207d 207b rspective(9) } { │ │ │ │ │ -00015090: 202e 2e2e 0a61 6e64 2070 726f 6475 6365 ....and produce │ │ │ │ │ -000150a0: 2074 6869 732e 0a0a 0008 5b69 6d61 6765 this.....[image │ │ │ │ │ -000150b0: 2073 7263 3d22 6578 3139 302e 706e 6722 src="ex190.png" │ │ │ │ │ -000150c0: 2074 6578 743d 2249 6d61 6765 2065 7831 text="Image ex1 │ │ │ │ │ -000150d0: 3930 206f 6d69 7474 6564 2069 6e20 7465 90 omitted in te │ │ │ │ │ -000150e0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ -000150f0: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ -00015100: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ -00015110: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4120 .info, Node: A │ │ │ │ │ -00015120: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -00015130: 672c 2020 4e65 7874 3a20 4120 6869 6572 g, Next: A hier │ │ │ │ │ -00015140: 6172 6368 6963 616c 206d 6f64 656c 2c20 archical model, │ │ │ │ │ -00015150: 2050 7265 763a 204f 7665 7276 6965 772c Prev: Overview, │ │ │ │ │ -00015160: 2020 5570 3a20 4275 696c 6469 6e67 2061 Up: Building a │ │ │ │ │ -00015170: 2064 7261 7769 6e67 0a0a 342e 3220 4120 drawing..4.2 A │ │ │ │ │ -00015180: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -00015190: 670a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d g.============== │ │ │ │ │ -000151a0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a4c 6574 2773 =========..Let's │ │ │ │ │ -000151b0: 206c 6f6f 6b20 6174 2061 2064 7261 7769 look at a drawi │ │ │ │ │ -000151c0: 6e67 2074 6861 7420 7265 7072 6573 656e ng that represen │ │ │ │ │ -000151d0: 7473 2074 6865 206b 696e 6420 6f66 2070 ts the kind of p │ │ │ │ │ -000151e0: 726f 626c 656d 20e2 8098 736b 6574 6368 roblem ...sketch │ │ │ │ │ -000151f0: e280 9920 7761 730a 6d65 616e 7420 746f ... was.meant to │ │ │ │ │ -00015200: 2073 6f6c 7665 2d2d 6120 7061 6972 206f solve--a pair o │ │ │ │ │ -00015210: 6620 7465 7874 626f 6f6b 2066 6967 7572 f textbook figur │ │ │ │ │ -00015220: 6573 2072 6567 6172 6469 6e67 2061 2070 es regarding a p │ │ │ │ │ -00015230: 6f6c 7967 6f6e 616c 0a61 7070 726f 7869 olygonal.approxi │ │ │ │ │ -00015240: 6d61 7469 6f6e 206f 6620 6120 7472 756e mation of a trun │ │ │ │ │ -00015250: 6361 7465 6420 636f 6e65 2e20 2048 6572 cated cone. Her │ │ │ │ │ -00015260: 6520 6172 6520 7468 6520 7069 6374 7572 e are the pictur │ │ │ │ │ -00015270: 6573 2077 6520 7769 6c6c 0a70 726f 6475 es we will.produ │ │ │ │ │ -00015280: 6365 2e0a 0a00 085b 696d 6167 6520 7372 ce.....[image sr │ │ │ │ │ -00015290: 633d 2265 7832 3530 2e70 6e67 2220 7465 c="ex250.png" te │ │ │ │ │ -000152a0: 7874 3d22 496d 6167 6520 6578 3235 3020 xt="Image ex250 │ │ │ │ │ -000152b0: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text │ │ │ │ │ -000152c0: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this │ │ │ │ │ -000152d0: 646f 6375 6d65 6e74 2e22 0008 5d20 2020 document."..] │ │ │ │ │ -000152e0: 2020 0008 5b69 6d61 6765 2073 7263 3d22 ..[image src=" │ │ │ │ │ -000152f0: 6578 3236 302e 706e 6722 2074 6578 743d ex260.png" text= │ │ │ │ │ -00015300: 2249 6d61 6765 2065 7832 3630 206f 6d69 "Image ex260 omi │ │ │ │ │ -00015310: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver │ │ │ │ │ -00015320: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc │ │ │ │ │ -00015330: 756d 656e 742e 2200 085d 0a0a 2020 2054 ument."..].. T │ │ │ │ │ -00015340: 6865 2063 6f6e 6520 7368 6170 6520 6973 he cone shape is │ │ │ │ │ -00015350: 206a 7573 7420 6120 7377 6570 7420 6c69 just a swept li │ │ │ │ │ -00015360: 6e65 2077 6974 6820 6e6f 2063 6c6f 7375 ne with no closu │ │ │ │ │ -00015370: 7265 2074 6167 2061 6e64 2063 756c 6c69 re tag and culli │ │ │ │ │ -00015380: 6e67 0a74 7572 6e65 6420 6f66 662e 2020 ng.turned off. │ │ │ │ │ -00015390: 4265 6769 6e20 6279 2073 6574 7469 6e67 Begin by setting │ │ │ │ │ -000153a0: 2075 7020 736f 6d65 2075 7365 6675 6c20 up some useful │ │ │ │ │ -000153b0: 636f 6e73 7461 6e74 732e 0a20 2064 6566 constants.. def │ │ │ │ │ -000153c0: 204f 2028 302c 302c 3029 2064 6566 2049 O (0,0,0) def I │ │ │ │ │ -000153d0: 205b 312c 302c 305d 2064 6566 204a 205b [1,0,0] def J [ │ │ │ │ │ -000153e0: 302c 312c 305d 2064 6566 204b 205b 302c 0,1,0] def K [0, │ │ │ │ │ -000153f0: 302c 315d 0a20 2064 6566 2070 3020 2831 0,1]. def p0 (1 │ │ │ │ │ -00015400: 2c32 2920 6465 6620 7031 2028 312e 352c ,2) def p1 (1.5, │ │ │ │ │ -00015410: 3029 2064 6566 204e 2038 0a20 2064 6566 0) def N 8. def │ │ │ │ │ -00015420: 2073 6567 5f72 6f74 2072 6f74 6174 6528 seg_rot rotate( │ │ │ │ │ -00015430: 3336 3020 2f20 4e2c 205b 4a5d 290a 5468 360 / N, [J]).Th │ │ │ │ │ -00015440: 6520 706f 696e 7473 20e2 8098 7030 e280 e points ...p0.. │ │ │ │ │ -00015450: 9920 616e 6420 e280 9870 31e2 8099 2061 . and ...p1... a │ │ │ │ │ -00015460: 7265 2074 6865 2065 6e64 2070 6f69 6e74 re the end point │ │ │ │ │ -00015470: 7320 6f66 2074 6865 206c 696e 6520 746f s of the line to │ │ │ │ │ -00015480: 2062 6520 7377 6570 742e 0a54 6865 2064 be swept..The d │ │ │ │ │ -00015490: 6566 696e 6974 696f 6e20 e280 9873 6567 efinition ...seg │ │ │ │ │ -000154a0: 5f72 6f74 e280 9920 6973 2074 6865 2073 _rot... is the s │ │ │ │ │ -000154b0: 7765 6570 2074 7261 6e73 666f 726d 6174 weep transformat │ │ │ │ │ -000154c0: 696f 6e2e 2020 5769 7468 2074 6865 7365 ion. With these │ │ │ │ │ -000154d0: 2c20 7468 650a 636f 6e65 2069 7473 656c , the.cone itsel │ │ │ │ │ -000154e0: 6620 6973 2073 696d 706c 652e 0a20 2073 f is simple.. s │ │ │ │ │ -000154f0: 7765 6570 5b63 756c 6c3d 6661 6c73 655d weep[cull=false] │ │ │ │ │ -00015500: 207b 204e 2c20 5b5b 7365 675f 726f 745d { N, [[seg_rot] │ │ │ │ │ -00015510: 5d20 7d20 6c69 6e65 2870 3029 2870 3129 ] } line(p0)(p1) │ │ │ │ │ -00015520: 0a0a 2020 2054 6865 2061 7865 7320 6172 .. The axes ar │ │ │ │ │ -00015530: 6520 6e65 7874 2061 6e64 2069 6e63 6c75 e next and inclu │ │ │ │ │ -00015540: 6465 2061 6e20 696e 7465 7265 7369 6e67 de an interesing │ │ │ │ │ -00015550: 2074 7269 636b 2074 6861 7420 7368 6f77 trick that show │ │ │ │ │ -00015560: 7320 7468 650a 6869 6464 656e 2070 6172 s the.hidden par │ │ │ │ │ -00015570: 7473 2061 7320 646f 7474 6564 206c 696e ts as dotted lin │ │ │ │ │ -00015580: 6573 2e20 2054 6865 2073 6563 7265 7420 es. The secret │ │ │ │ │ -00015590: 6973 2064 7261 7720 7468 6520 6178 6573 is draw the axes │ │ │ │ │ -000155a0: 2074 7769 6365 2d2d 736f 6c69 640a 6c69 twice--solid.li │ │ │ │ │ -000155b0: 6e65 7320 7769 7468 2074 6865 206e 6f72 nes with the nor │ │ │ │ │ -000155c0: 6d61 6c20 6869 6464 656e 2073 7572 6661 mal hidden surfa │ │ │ │ │ -000155d0: 6365 2061 6c67 6f72 6974 686d 2069 6e20 ce algorithm in │ │ │ │ │ -000155e0: 6566 6665 6374 2c20 616e 6420 7468 656e effect, and then │ │ │ │ │ -000155f0: 0a64 6f74 7465 6420 7769 7468 2074 6865 .dotted with the │ │ │ │ │ -00015600: 206f 7074 696f 6e20 e280 986c 6179 3d6f option ...lay=o │ │ │ │ │ -00015610: 7665 72e2 8099 2073 6f20 7468 6174 206e ver... so that n │ │ │ │ │ -00015620: 6f20 706f 6c79 676f 6e73 2063 616e 2068 o polygons can h │ │ │ │ │ -00015630: 6964 6520 7468 656d 2e0a 2020 6465 6620 ide them.. def │ │ │ │ │ -00015640: 6178 2028 6478 2c30 2c30 2920 2520 7469 ax (dx,0,0) % ti │ │ │ │ │ -00015650: 7073 206f 6620 7468 6520 6178 6573 0a20 ps of the axes. │ │ │ │ │ -00015660: 2064 6566 2061 7920 2830 2c64 792c 3029 def ay (0,dy,0) │ │ │ │ │ -00015670: 0a20 2064 6566 2061 7a20 2830 2c30 2c64 . def az (0,0,d │ │ │ │ │ -00015680: 7a29 0a20 206c 696e 655b 6172 726f 7773 z). line[arrows │ │ │ │ │ -00015690: 3d3c 2d3e 2c6c 696e 6577 6964 7468 3d2e =<->,linewidth=. │ │ │ │ │ -000156a0: 3470 745d 2861 7829 284f 2928 6179 290a 4pt](ax)(O)(ay). │ │ │ │ │ -000156b0: 2020 6c69 6e65 5b61 7272 6f77 733d 2d3e line[arrows=-> │ │ │ │ │ -000156c0: 2c6c 696e 6577 6964 7468 3d2e 3470 745d ,linewidth=.4pt] │ │ │ │ │ -000156d0: 284f 2928 617a 290a 2020 2520 7265 7065 (O)(az). % repe │ │ │ │ │ -000156e0: 6174 2064 6f74 7465 6420 6173 2061 6e20 at dotted as an │ │ │ │ │ -000156f0: 6f76 6572 6c61 7920 746f 2068 696e 7420 overlay to hint │ │ │ │ │ -00015700: 6174 2074 6865 2068 6964 6465 6e20 6c69 at the hidden li │ │ │ │ │ -00015710: 6e65 730a 2020 6c69 6e65 5b6c 6179 3d6f nes. line[lay=o │ │ │ │ │ -00015720: 7665 722c 6c69 6e65 7374 796c 653d 646f ver,linestyle=do │ │ │ │ │ -00015730: 7474 6564 2c6c 696e 6577 6964 7468 3d2e tted,linewidth=. │ │ │ │ │ -00015740: 3470 745d 2861 7829 284f 2928 6179 290a 4pt](ax)(O)(ay). │ │ │ │ │ -00015750: 2020 6c69 6e65 5b6c 6179 3d6f 7665 722c line[lay=over, │ │ │ │ │ -00015760: 6c69 6e65 7374 796c 653d 646f 7474 6564 linestyle=dotted │ │ │ │ │ -00015770: 2c6c 696e 6577 6964 7468 3d2e 3470 745d ,linewidth=.4pt] │ │ │ │ │ -00015780: 284f 2928 617a 290a 2020 7370 6563 6961 (O)(az). specia │ │ │ │ │ -00015790: 6c7c 5c66 6f6f 746e 6f74 6573 697a 650a l|\footnotesize. │ │ │ │ │ -000157a0: 2020 2020 2020 2020 2020 5c75 7075 745b \uput[ │ │ │ │ │ -000157b0: 645d 2331 7b24 7824 7d5c 7570 7574 5b75 d]#1{$x$}\uput[u │ │ │ │ │ -000157c0: 5d23 327b 2479 247d 5c75 7075 745b 6c5d ]#2{$y$}\uput[l] │ │ │ │ │ -000157d0: 2333 7b24 7a24 7d7c 0a20 2020 2028 6178 #3{$z$}|. (ax │ │ │ │ │ -000157e0: 2928 6179 2928 617a 290a 5468 6520 6c61 )(ay)(az).The la │ │ │ │ │ -000157f0: 6265 6c73 2061 7265 2061 7070 6c69 6564 bels are applied │ │ │ │ │ -00015800: 2077 6974 6820 e280 9850 5354 7269 636b with ...PSTrick │ │ │ │ │ -00015810: 73e2 8099 2073 7065 6369 616c 206f 626a s... special obj │ │ │ │ │ -00015820: 6563 7473 2061 7320 7573 7561 6c2e 0a0a ects as usual... │ │ │ │ │ -00015830: 2020 2046 6f72 2074 6865 2068 6569 6768 For the heigh │ │ │ │ │ -00015840: 7420 6469 6d65 6e73 696f 6e20 6d61 726b t dimension mark │ │ │ │ │ -00015850: 2c20 7468 6520 706f 7765 7220 6f66 2061 , the power of a │ │ │ │ │ -00015860: 6666 696e 6520 6172 6974 6865 7469 6320 ffine arithetic │ │ │ │ │ -00015870: 6973 2076 6572 790a 6865 6c70 6675 6c2e is very.helpful. │ │ │ │ │ -00015880: 0a20 2064 6566 2068 6469 6d5f 7265 6620 . def hdim_ref │ │ │ │ │ -00015890: 756e 6974 2828 7031 2920 2d20 284f 2929 unit((p1) - (O)) │ │ │ │ │ -000158a0: 2074 6865 6e20 5b5b 7365 675f 726f 745d then [[seg_rot] │ │ │ │ │ -000158b0: 5d5e 320a 2020 6465 6620 6330 2028 7030 ]^2. def c0 (p0 │ │ │ │ │ -000158c0: 2920 7468 656e 2073 6361 6c65 285b 4a5d ) then scale([J] │ │ │ │ │ -000158d0: 290a 2020 6465 6620 6830 3020 2863 3029 ). def h00 (c0) │ │ │ │ │ -000158e0: 202b 2031 2e31 202a 205b 6864 696d 5f72 + 1.1 * [hdim_r │ │ │ │ │ -000158f0: 6566 5d0a 2020 6465 6620 6830 3120 2863 ef]. def h01 (c │ │ │ │ │ -00015900: 3029 202b 2031 2e39 202a 205b 6864 696d 0) + 1.9 * [hdim │ │ │ │ │ -00015910: 5f72 6566 5d0a 2020 6465 6620 6830 3220 _ref]. def h02 │ │ │ │ │ -00015920: 2863 3029 202b 2031 2e38 202a 205b 6864 (c0) + 1.8 * [hd │ │ │ │ │ -00015930: 696d 5f72 6566 5d0a 2020 6c69 6e65 2868 im_ref]. line(h │ │ │ │ │ -00015940: 3030 2928 6830 3129 0a20 2064 6566 2068 00)(h01). def h │ │ │ │ │ -00015950: 3130 2028 4f29 202b 2031 2e36 202a 205b 10 (O) + 1.6 * [ │ │ │ │ │ -00015960: 6864 696d 5f72 6566 5d0a 2020 6465 6620 hdim_ref]. def │ │ │ │ │ -00015970: 6831 3120 284f 2920 2b20 312e 3920 2a20 h11 (O) + 1.9 * │ │ │ │ │ -00015980: 5b68 6469 6d5f 7265 665d 0a20 2064 6566 [hdim_ref]. def │ │ │ │ │ -00015990: 2068 3132 2028 4f29 202b 2031 2e38 202a h12 (O) + 1.8 * │ │ │ │ │ -000159a0: 205b 6864 696d 5f72 6566 5d0a 2020 6c69 [hdim_ref]. li │ │ │ │ │ -000159b0: 6e65 2868 3130 2928 6831 3129 0a20 206c ne(h10)(h11). l │ │ │ │ │ -000159c0: 696e 655b 6172 726f 7773 3d3c 2d3e 5d28 ine[arrows=<->]( │ │ │ │ │ -000159d0: 6830 3229 2868 3132 290a 2020 6465 6620 h02)(h12). def │ │ │ │ │ -000159e0: 686d 3220 2828 6830 3229 202d 2028 4f29 hm2 ((h02) - (O) │ │ │ │ │ -000159f0: 202b 2028 6831 3229 202d 2028 4f29 2920 + (h12) - (O)) │ │ │ │ │ -00015a00: 2f20 3220 2b20 284f 290a 2020 7370 6563 / 2 + (O). spec │ │ │ │ │ -00015a10: 6961 6c7c 5c66 6f6f 746e 6f74 6573 697a ial|\footnotesiz │ │ │ │ │ -00015a20: 655c 7270 7574 2a23 317b 2468 247d 7c28 e\rput*#1{$h$}|( │ │ │ │ │ -00015a30: 686d 3229 0a20 2020 5468 6520 6765 6e65 hm2). The gene │ │ │ │ │ -00015a40: 7261 6c20 6964 6561 2065 6d70 6c6f 7965 ral idea employe │ │ │ │ │ -00015a50: 6420 6865 7265 2069 7320 746f 2063 6f6d d here is to com │ │ │ │ │ -00015a60: 7075 7465 2061 2075 6e69 7420 2272 6566 pute a unit "ref │ │ │ │ │ -00015a70: 6572 656e 6365 0a76 6563 746f 7222 2070 erence.vector" p │ │ │ │ │ -00015a80: 6172 616c 6c65 6c20 746f 2074 6865 2078 arallel to the x │ │ │ │ │ -00015a90: 7a2d 706c 616e 6520 696e 2074 6865 2064 z-plane in the d │ │ │ │ │ -00015aa0: 6573 6972 6564 2064 6972 6563 7469 6f6e esired direction │ │ │ │ │ -00015ab0: 206f 6620 7468 650a 6469 6d65 6e73 696f of the.dimensio │ │ │ │ │ -00015ac0: 6e20 6672 6f6d 2074 6865 206f 7269 6769 n from the origi │ │ │ │ │ -00015ad0: 6e2e 2020 5468 6520 7472 616e 7366 6f72 n. The transfor │ │ │ │ │ -00015ae0: 6d61 7469 6f6e 20e2 8098 5b5b 7365 675f mation ...[[seg_ │ │ │ │ │ -00015af0: 726f 745d 5d5e 32e2 8099 2072 6f74 6174 rot]]^2... rotat │ │ │ │ │ -00015b00: 6573 0a74 776f 2073 6567 6d65 6e74 7320 es.two segments │ │ │ │ │ -00015b10: 6162 6f75 7420 7468 6520 792d 6178 6973 about the y-axis │ │ │ │ │ -00015b20: 2e20 2057 6865 6e20 6170 706c 6965 6420 . When applied │ │ │ │ │ -00015b30: 746f 20e2 8098 2870 3129 202d 2028 4f29 to ...(p1) - (O) │ │ │ │ │ -00015b40: e280 992c 2074 6865 0a72 6573 756c 7469 ..., the.resulti │ │ │ │ │ -00015b50: 6e67 2076 6563 746f 7220 706f 696e 7473 ng vector points │ │ │ │ │ -00015b60: 2074 6f20 7468 6520 7269 6768 7420 6173 to the right as │ │ │ │ │ -00015b70: 2073 686f 776e 2e20 2049 6e20 7468 6973 shown. In this │ │ │ │ │ -00015b80: 206d 616e 6e65 722c 2077 6520 6361 6e0a manner, we can. │ │ │ │ │ -00015b90: 7069 636b 2061 6e79 2076 6572 7465 7820 pick any vertex │ │ │ │ │ -00015ba0: 6173 2074 6865 206c 6f63 6174 696f 6e20 as the location │ │ │ │ │ -00015bb0: 6f66 2074 6865 2068 6569 6768 7420 6469 of the height di │ │ │ │ │ -00015bc0: 6d65 6e73 696f 6e20 6c69 6e65 7320 6279 mension lines by │ │ │ │ │ -00015bd0: 2076 6172 7969 6e67 0a74 6865 2065 7870 varying.the exp │ │ │ │ │ -00015be0: 6f6e 656e 7420 6f66 20e2 8098 5b5b 7365 onent of ...[[se │ │ │ │ │ -00015bf0: 675f 726f 745d 5de2 8099 2e20 2054 6869 g_rot]].... Thi │ │ │ │ │ -00015c00: 7320 6973 206f 6e6c 7920 6f6e 6520 6f66 s is only one of │ │ │ │ │ -00015c10: 206d 616e 7920 706f 7373 6962 6c65 0a73 many possible.s │ │ │ │ │ -00015c20: 7472 6174 6567 6965 732e 0a0a 2020 2054 trategies... T │ │ │ │ │ -00015c30: 6865 2063 6f6d 7075 7461 7469 6f6e 206f he computation o │ │ │ │ │ -00015c40: 6620 e280 9868 6d32 e280 9920 6973 2061 f ...hm2... is a │ │ │ │ │ -00015c50: 2075 7365 6675 6c20 6964 696f 6d20 666f useful idiom fo │ │ │ │ │ -00015c60: 7220 6669 6e64 696e 6720 7468 6520 6365 r finding the ce │ │ │ │ │ -00015c70: 6e74 726f 6964 0a6f 6620 6120 7365 7420 ntroid.of a set │ │ │ │ │ -00015c80: 6f66 2070 6f69 6e74 732e 0a0a 2020 2054 of points... T │ │ │ │ │ -00015c90: 6865 2074 776f 2072 6164 6975 7320 6d61 he two radius ma │ │ │ │ │ -00015ca0: 726b 7320 6172 6520 646f 6e65 2073 696d rks are done sim │ │ │ │ │ -00015cb0: 696c 6172 6c79 2c20 736f 2077 6520 7072 ilarly, so we pr │ │ │ │ │ -00015cc0: 6573 656e 7420 7468 6520 636f 6465 0a77 esent the code.w │ │ │ │ │ -00015cd0: 6974 686f 7574 2063 6f6d 6d65 6e74 2e0a ithout comment.. │ │ │ │ │ -00015ce0: 2020 2520 7261 6469 7573 206d 6561 7375 % radius measu │ │ │ │ │ -00015cf0: 7265 6d65 6e74 206d 6172 6b73 0a20 2064 rement marks. d │ │ │ │ │ -00015d00: 6566 2067 6170 205b 302c 2e32 2c30 5d20 ef gap [0,.2,0] │ │ │ │ │ -00015d10: 2025 2075 7365 6420 746f 2063 7265 6174 % used to creat │ │ │ │ │ -00015d20: 6520 736d 616c 6c20 7665 7274 6963 616c e small vertical │ │ │ │ │ -00015d30: 2067 6170 730a 0a20 2025 2066 6972 7374 gaps.. % first │ │ │ │ │ -00015d40: 2072 310a 2020 6465 6620 7570 3120 5b30 r1. def up1 [0 │ │ │ │ │ -00015d50: 2c33 2e31 2c30 5d20 2520 7469 636b 2072 ,3.1,0] % tick r │ │ │ │ │ -00015d60: 6973 6573 2061 626f 7665 2064 696d 656e ises above dimen │ │ │ │ │ -00015d70: 7369 6f6e 2061 206c 6974 746c 650a 2020 sion a little. │ │ │ │ │ -00015d80: 6465 6620 7231 2028 2870 3129 2074 6865 def r1 ((p1) the │ │ │ │ │ -00015d90: 6e20 5b5b 7365 675f 726f 745d 5d5e 2d32 n [[seg_rot]]^-2 │ │ │ │ │ -00015da0: 2920 2b20 5b75 7031 5d0a 2020 6465 6620 ) + [up1]. def │ │ │ │ │ -00015db0: 7231 6320 2872 3129 2074 6865 6e20 7363 r1c (r1) then sc │ │ │ │ │ -00015dc0: 616c 6528 5b4a 5d29 0a20 2064 6566 2072 ale([J]). def r │ │ │ │ │ -00015dd0: 3174 2028 7231 2920 2b20 5b67 6170 5d0a 1t (r1) + [gap]. │ │ │ │ │ -00015de0: 2020 6465 6620 7231 6220 2828 7231 7429 def r1b ((r1t) │ │ │ │ │ -00015df0: 2074 6865 6e20 7363 616c 6528 5b31 2c30 then scale([1,0 │ │ │ │ │ -00015e00: 2c31 5d29 2920 2b20 5b67 6170 5d0a 2020 ,1])) + [gap]. │ │ │ │ │ -00015e10: 6c69 6e65 5b61 7272 6f77 733d 3c2d 3e5d line[arrows=<->] │ │ │ │ │ -00015e20: 2872 3163 2928 7231 2920 2025 2064 696d (r1c)(r1) % dim │ │ │ │ │ -00015e30: 656e 7369 6f6e 206c 696e 650a 2020 6c69 ension line. li │ │ │ │ │ -00015e40: 6e65 2872 3162 2928 7231 7429 2020 2020 ne(r1b)(r1t) │ │ │ │ │ -00015e50: 2020 2020 2020 2020 2025 2074 6963 6b0a % tick. │ │ │ │ │ -00015e60: 2020 6465 6620 7231 6d20 2828 7231 2920 def r1m ((r1) │ │ │ │ │ -00015e70: 2d20 284f 2920 2b20 2872 3163 2920 2d20 - (O) + (r1c) - │ │ │ │ │ -00015e80: 284f 2929 202f 2032 202b 2028 4f29 2025 (O)) / 2 + (O) % │ │ │ │ │ -00015e90: 206c 6162 656c 2070 6f73 6974 696f 6e0a label position. │ │ │ │ │ -00015ea0: 2020 7370 6563 6961 6c20 7c5c 666f 6f74 special |\foot │ │ │ │ │ -00015eb0: 6e6f 7465 7369 7a65 5c72 7075 742a 2331 notesize\rput*#1 │ │ │ │ │ -00015ec0: 7b24 725f 3124 7d7c 2872 316d 2920 2025 {$r_1$}|(r1m) % │ │ │ │ │ -00015ed0: 206c 6162 656c 0a0a 2020 2520 7361 6d65 label.. % same │ │ │ │ │ -00015ee0: 2064 7269 6c6c 2066 6f72 2072 302c 2062 drill for r0, b │ │ │ │ │ -00015ef0: 7574 206d 7573 7420 7072 6f6a 6563 7420 ut must project │ │ │ │ │ -00015f00: 646f 776e 2066 6972 7374 0a20 2064 6566 down first. def │ │ │ │ │ -00015f10: 2075 7030 205b 302c 322e 372c 305d 0a20 up0 [0,2.7,0]. │ │ │ │ │ -00015f20: 2064 6566 2072 3020 2828 7030 2920 7468 def r0 ((p0) th │ │ │ │ │ -00015f30: 656e 2073 6361 6c65 285b 312c 302c 315d en scale([1,0,1] │ │ │ │ │ -00015f40: 2920 7468 656e 205b 5b73 6567 5f72 6f74 ) then [[seg_rot │ │ │ │ │ -00015f50: 5d5d 5e2d 3229 202b 205b 7570 305d 0a20 ]]^-2) + [up0]. │ │ │ │ │ -00015f60: 2064 6566 2072 3063 2028 7230 2920 7468 def r0c (r0) th │ │ │ │ │ -00015f70: 656e 2073 6361 6c65 285b 4a5d 290a 2020 en scale([J]). │ │ │ │ │ -00015f80: 6465 6620 7230 7420 2872 3029 202b 205b def r0t (r0) + [ │ │ │ │ │ -00015f90: 6761 705d 0a20 2064 6566 2072 3062 2028 gap]. def r0b ( │ │ │ │ │ -00015fa0: 2870 3029 2074 6865 6e20 5b5b 7365 675f (p0) then [[seg_ │ │ │ │ │ -00015fb0: 726f 745d 5d5e 2d32 2920 2b20 5b67 6170 rot]]^-2) + [gap │ │ │ │ │ -00015fc0: 5d0a 2020 6c69 6e65 5b61 7272 6f77 733d ]. line[arrows= │ │ │ │ │ -00015fd0: 3c2d 3e5d 2872 3063 2928 7230 290a 2020 <->](r0c)(r0). │ │ │ │ │ -00015fe0: 6c69 6e65 2872 3062 2928 7230 7429 0a20 line(r0b)(r0t). │ │ │ │ │ -00015ff0: 2064 6566 2072 306d 2028 2872 3029 202d def r0m ((r0) - │ │ │ │ │ -00016000: 2028 4f29 202b 2028 7230 6329 202d 2028 (O) + (r0c) - ( │ │ │ │ │ -00016010: 4f29 2920 2f20 3220 2b20 284f 290a 2020 O)) / 2 + (O). │ │ │ │ │ -00016020: 7370 6563 6961 6c20 7c5c 666f 6f74 6e6f special |\footno │ │ │ │ │ -00016030: 7465 7369 7a65 5c72 7075 742a 2331 7b24 tesize\rput*#1{$ │ │ │ │ │ -00016040: 725f 3024 7d7c 2872 306d 290a 0a20 2020 r_0$}|(r0m).. │ │ │ │ │ -00016050: 5468 6520 7365 636f 6e64 2064 7261 7769 The second drawi │ │ │ │ │ -00016060: 6e67 2075 7365 7320 7468 6520 7361 6d65 ng uses the same │ │ │ │ │ -00016070: 2074 6563 686e 6971 7565 732e 2020 4f6e techniques. On │ │ │ │ │ -00016080: 6c79 2074 6865 206d 6574 686f 6420 666f ly the method fo │ │ │ │ │ -00016090: 720a 6472 6177 696e 6720 7468 6520 656c r.drawing the el │ │ │ │ │ -000160a0: 6c69 7074 6963 616c 2061 7263 2069 7320 liptical arc is │ │ │ │ │ -000160b0: 6e65 772e 2020 4865 7265 2069 7320 7468 new. Here is th │ │ │ │ │ -000160c0: 6520 636f 6465 2e0a 2020 6465 6620 6d69 e code.. def mi │ │ │ │ │ -000160d0: 6420 2828 7030 3029 2d28 4f29 2b28 7031 d ((p00)-(O)+(p1 │ │ │ │ │ -000160e0: 3029 2d28 4f29 2b28 7031 3129 2d28 4f29 0)-(O)+(p11)-(O) │ │ │ │ │ -000160f0: 2b28 7030 3129 2d28 4f29 292f 342b 284f +(p01)-(O))/4+(O │ │ │ │ │ -00016100: 290a 2020 7370 6563 6961 6c7c 5c72 7075 ). special|\rpu │ │ │ │ │ -00016110: 7423 317b 5c70 7363 7573 746f 6d7b 0a20 t#1{\pscustom{. │ │ │ │ │ -00016120: 2020 205c 7363 616c 657b 3120 312e 337d \scale{1 1.3} │ │ │ │ │ -00016130: 0a20 2020 205c 7073 6172 635b 6172 726f . \psarc[arro │ │ │ │ │ -00016140: 776c 656e 6774 683d 2e35 5d7b 2d3e 7d7b wlength=.5]{->}{ │ │ │ │ │ -00016150: 2e32 357d 7b2d 3630 7d7b 3234 307d 7d7d .25}{-60}{240}}} │ │ │ │ │ -00016160: 7c0a 2020 2020 5b6c 6179 3d6f 7665 725d |. [lay=over] │ │ │ │ │ -00016170: 286d 6964 290a 5765 2063 6f75 6c64 2068 (mid).We could h │ │ │ │ │ -00016180: 6176 6520 7377 6570 7420 6120 706f 696e ave swept a poin │ │ │ │ │ -00016190: 7420 746f 206d 616b 6520 7468 6520 6172 t to make the ar │ │ │ │ │ -000161a0: 6320 7769 7468 20e2 8098 736b 6574 6368 c with ...sketch │ │ │ │ │ -000161b0: e280 992c 2062 7574 2075 7369 6e67 2061 ..., but using a │ │ │ │ │ -000161c0: 0ae2 8098 5053 5472 6963 6b73 e280 9920 ....PSTricks... │ │ │ │ │ -000161d0: 6375 7374 6f6d 2067 7261 7068 6963 2077 custom graphic w │ │ │ │ │ -000161e0: 6173 2073 696d 706c 6572 2e20 2041 6761 as simpler. Aga │ │ │ │ │ -000161f0: 696e 2077 6520 636f 6d70 7574 6564 2074 in we computed t │ │ │ │ │ -00016200: 6865 2063 656e 7472 6f69 640a 6f66 2074 he centroid.of t │ │ │ │ │ -00016210: 6865 2071 7561 6472 696c 6174 6572 616c he quadrilateral │ │ │ │ │ -00016220: 2062 7920 6176 6572 6167 696e 6720 706f by averaging po │ │ │ │ │ -00016230: 696e 7473 2e20 204e 6f74 6520 7468 6174 ints. Note that │ │ │ │ │ -00016240: 2073 6361 6c69 6e67 2069 6e0a 506f 7374 scaling in.Post │ │ │ │ │ -00016250: 7363 7269 7074 2064 6973 746f 7274 7320 script distorts │ │ │ │ │ -00016260: 7468 6520 6172 726f 7768 6561 642c 2062 the arrowhead, b │ │ │ │ │ -00016270: 7574 2069 6e20 7468 6973 2063 6173 6520 ut in this case │ │ │ │ │ -00016280: 7468 6520 6469 7374 6f72 7469 6f6e 0a61 the distortion.a │ │ │ │ │ -00016290: 6374 7561 6c6c 7920 6c6f 6f6b 7320 6265 ctually looks be │ │ │ │ │ -000162a0: 7474 6572 2069 6e20 7468 6520 7072 6f6a tter in the proj │ │ │ │ │ -000162b0: 6563 7469 6f6e 206f 6620 7468 6520 736c ection of the sl │ │ │ │ │ -000162c0: 616e 7465 6420 6661 6365 2e20 2041 20e2 anted face. A . │ │ │ │ │ -000162d0: 8098 736b 6574 6368 e280 990a 6172 726f ..sketch....arro │ │ │ │ │ -000162e0: 7768 6561 6420 776f 756c 6420 6e6f 7420 whead would not │ │ │ │ │ -000162f0: 6861 7665 2062 6565 6e20 6469 7374 6f72 have been distor │ │ │ │ │ -00016300: 7465 642e 0a0a 2020 2054 6865 2063 6f6d ted... The com │ │ │ │ │ -00016310: 706c 6574 6520 636f 6465 2066 6f72 2074 plete code for t │ │ │ │ │ -00016320: 6869 7320 6578 616d 706c 652c 2077 6869 his example, whi │ │ │ │ │ -00016330: 6368 2064 7261 7773 2065 6974 6865 7220 ch draws either │ │ │ │ │ -00016340: 6669 6775 7265 0a64 6570 656e 6469 6e67 figure.depending │ │ │ │ │ -00016350: 206f 6e20 7468 6520 6465 6669 6e69 7469 on the definiti │ │ │ │ │ -00016360: 6f6e 206f 6620 7468 6520 7461 6720 e280 on of the tag .. │ │ │ │ │ -00016370: 983c 6c61 6265 6c65 643e e280 992c 2069 ...., i │ │ │ │ │ -00016380: 7320 696e 636c 7564 6564 2069 6e20 7468 s included in th │ │ │ │ │ -00016390: 650a e280 9873 6b65 7463 68e2 8099 2064 e....sketch... d │ │ │ │ │ -000163a0: 6973 7472 6962 7574 696f 6e20 696e 2074 istribution in t │ │ │ │ │ -000163b0: 6865 2066 696c 6520 e280 9874 7275 6e63 he file ...trunc │ │ │ │ │ -000163c0: 6174 6564 636f 6e65 2e73 6be2 8099 2e0a atedcone.sk..... │ │ │ │ │ -000163d0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -000163e0: 696e 666f 2c20 204e 6f64 653a 2041 2068 info, Node: A h │ │ │ │ │ -000163f0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -00016400: 6c2c 2020 4e65 7874 3a20 4361 7665 6174 l, Next: Caveat │ │ │ │ │ -00016410: 732c 2020 5072 6576 3a20 4120 7465 6368 s, Prev: A tech │ │ │ │ │ -00016420: 6e69 6361 6c20 6472 6177 696e 672c 2020 nical drawing, │ │ │ │ │ -00016430: 5570 3a20 4275 696c 6469 6e67 2061 2064 Up: Building a d │ │ │ │ │ -00016440: 7261 7769 6e67 0a0a 342e 3320 4120 6869 rawing..4.3 A hi │ │ │ │ │ -00016450: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ -00016460: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .=============== │ │ │ │ │ -00016470: 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 6869 6c65 =========..While │ │ │ │ │ -00016480: 20e2 8098 736b 6574 6368 e280 9920 7761 ...sketch... wa │ │ │ │ │ -00016490: 7320 6e65 7665 7220 6d65 616e 7420 746f s never meant to │ │ │ │ │ -000164a0: 2062 6520 6120 6765 6f6d 6574 7269 6320 be a geometric │ │ │ │ │ -000164b0: 6d6f 6465 6c69 6e67 206c 616e 6775 6167 modeling languag │ │ │ │ │ -000164c0: 652c 2069 740a 636f 6d65 7320 6661 6972 e, it.comes fair │ │ │ │ │ -000164d0: 6c79 2063 6c6f 7365 2e20 2054 6865 2066 ly close. The f │ │ │ │ │ -000164e0: 6f6c 6c6f 7769 6e67 2065 7861 6d70 6c65 ollowing example │ │ │ │ │ -000164f0: 2070 7574 7320 616c 6c20 7765 2068 6176 puts all we hav │ │ │ │ │ -00016500: 6520 7365 656e 2074 6f20 776f 726b 0a69 e seen to work.i │ │ │ │ │ -00016510: 6e20 6120 7665 7279 2073 696d 706c 6520 n a very simple │ │ │ │ │ -00016520: 6d6f 6465 6c20 6f66 2074 6865 2068 756d model of the hum │ │ │ │ │ -00016530: 616e 2068 616e 642e 2020 5374 6172 7420 an hand. Start │ │ │ │ │ -00016540: 6279 2073 7765 6570 696e 6720 6120 6c69 by sweeping a li │ │ │ │ │ -00016550: 6e65 2074 6f0a 6d61 6b65 2061 2074 7275 ne to.make a tru │ │ │ │ │ -00016560: 6e63 6174 6564 2063 6f6e 652c 2077 6869 ncated cone, whi │ │ │ │ │ -00016570: 6368 2077 696c 6c20 6265 2063 6f70 6965 ch will be copie │ │ │ │ │ -00016580: 6420 6f76 6572 2061 6e64 206f 7665 7220 d over and over │ │ │ │ │ -00016590: 6167 6169 6e20 746f 206d 616b 650a 7468 again to make.th │ │ │ │ │ -000165a0: 6520 7365 676d 656e 7473 206f 6620 6669 e segments of fi │ │ │ │ │ -000165b0: 6e67 6572 732e 0a20 2064 6566 204f 2028 ngers.. def O ( │ │ │ │ │ -000165c0: 302c 302c 3029 2025 206f 7269 6769 6e0a 0,0,0) % origin. │ │ │ │ │ -000165d0: 2020 6465 6620 4920 5b31 2c30 2c30 5d20 def I [1,0,0] │ │ │ │ │ -000165e0: 6465 6620 4a20 5b30 2c31 2c30 5d20 6465 def J [0,1,0] de │ │ │ │ │ -000165f0: 6620 4b20 5b30 2c30 2c31 5d20 2520 6361 f K [0,0,1] % ca │ │ │ │ │ -00016600: 6e6f 6e69 6361 6c20 756e 6974 2076 6563 nonical unit vec │ │ │ │ │ -00016610: 746f 7273 0a20 2064 6566 2073 6567 6d65 tors. def segme │ │ │ │ │ -00016620: 6e74 207b 0a20 2020 2064 6566 206e 5f66 nt {. def n_f │ │ │ │ │ -00016630: 6163 6573 2038 0a20 2020 2073 7765 6570 aces 8. sweep │ │ │ │ │ -00016640: 207b 206e 5f66 6163 6573 3c3e 2c20 726f { n_faces<>, ro │ │ │ │ │ -00016650: 7461 7465 2833 3630 202f 206e 5f66 6163 tate(360 / n_fac │ │ │ │ │ -00016660: 6573 2c20 5b4a 5d29 207d 200a 2020 2020 es, [J]) } . │ │ │ │ │ -00016670: 2020 6c69 6e65 2870 726f 7869 6d61 6c5f line(proximal_ │ │ │ │ │ -00016680: 7261 642c 2030 2928 6469 7374 616c 5f72 rad, 0)(distal_r │ │ │ │ │ -00016690: 6164 2c20 6469 7374 616c 5f6c 656e 290a ad, distal_len). │ │ │ │ │ -000166a0: 2020 7d0a 496e 2068 616e 6420 616e 6174 }.In hand anat │ │ │ │ │ -000166b0: 6f6d 792c 205f 6469 7374 616c 5f20 6973 omy, _distal_ is │ │ │ │ │ -000166c0: 2022 6174 2074 6865 2074 6970 2220 616e "at the tip" an │ │ │ │ │ -000166d0: 6420 5f70 726f 7869 6d61 6c5f 2069 7320 d _proximal_ is │ │ │ │ │ -000166e0: 2269 6e20 7468 6520 6172 6561 0a6f 6620 "in the area.of │ │ │ │ │ -000166f0: 7468 6520 7061 6c6d 2e22 2020 5765 2068 the palm." We h │ │ │ │ │ -00016700: 6176 6520 6f6d 6974 7465 6420 616c 6c20 ave omitted all │ │ │ │ │ -00016710: 7468 6520 7363 616c 6172 2063 6f6e 7374 the scalar const │ │ │ │ │ -00016720: 616e 7473 2e20 2059 6f75 2063 616e 2066 ants. You can f │ │ │ │ │ -00016730: 696e 640a 7468 656d 2069 6e20 e280 9868 ind.them in ...h │ │ │ │ │ -00016740: 616e 642e 736b e280 992c 2077 6869 6368 and.sk..., which │ │ │ │ │ -00016750: 2069 7320 7072 6f76 6964 6564 2069 6e20 is provided in │ │ │ │ │ -00016760: 7468 6520 e280 9873 6b65 7463 68e2 8099 the ...sketch... │ │ │ │ │ -00016770: 2064 6973 7472 6962 7574 696f 6e2e 0a0a distribution... │ │ │ │ │ -00016780: 2020 2057 6520 616c 736f 206e 6565 6420 We also need │ │ │ │ │ -00016790: 6120 7072 6f74 6f74 7970 6963 616c 2073 a prototypical s │ │ │ │ │ -000167a0: 7068 6572 6520 746f 2075 7365 2066 6f72 phere to use for │ │ │ │ │ -000167b0: 2074 6865 206a 6f69 6e74 7320 7468 656d the joints them │ │ │ │ │ -000167c0: 7365 6c76 6573 2e0a 2020 6465 6620 6a6f selves.. def jo │ │ │ │ │ -000167d0: 696e 745f 7370 6865 7265 207b 0a20 2020 int_sphere {. │ │ │ │ │ -000167e0: 2064 6566 206e 5f6a 6f69 6e74 5f66 6163 def n_joint_fac │ │ │ │ │ -000167f0: 6573 2038 0a20 2020 2073 7765 6570 205b es 8. sweep [ │ │ │ │ │ -00016800: 6669 6c6c 636f 6c6f 723d 7265 645d 207b fillcolor=red] { │ │ │ │ │ -00016810: 206e 5f6a 6f69 6e74 5f66 6163 6573 2c20 n_joint_faces, │ │ │ │ │ -00016820: 726f 7461 7465 2833 3630 202f 206e 5f6a rotate(360 / n_j │ │ │ │ │ -00016830: 6f69 6e74 5f66 6163 6573 2c20 5b4a 5d29 oint_faces, [J]) │ │ │ │ │ -00016840: 207d 0a20 2020 2020 2073 7765 6570 207b }. sweep { │ │ │ │ │ -00016850: 206e 5f6a 6f69 6e74 5f66 6163 6573 2c20 n_joint_faces, │ │ │ │ │ -00016860: 726f 7461 7465 2831 3830 202f 206e 5f6a rotate(180 / n_j │ │ │ │ │ -00016870: 6f69 6e74 5f66 6163 6573 2920 7d20 0a20 oint_faces) } . │ │ │ │ │ -00016880: 2020 2020 2020 2028 302c 202d 6a6f 696e (0, -join │ │ │ │ │ -00016890: 745f 7261 6429 0a20 207d 0a0a 2020 2057 t_rad). }.. W │ │ │ │ │ -000168a0: 6527 6c6c 206e 6f77 2064 6573 6967 6e20 e'll now design │ │ │ │ │ -000168b0: 7468 6520 696e 6465 7820 6669 6e67 6572 the index finger │ │ │ │ │ -000168c0: 2028 6e75 6d62 6572 2031 2069 6e20 6f75 (number 1 in ou │ │ │ │ │ -000168d0: 7220 6e6f 7461 7469 6f6e 616c 0a63 6f6e r notational.con │ │ │ │ │ -000168e0: 7665 6e74 696f 6e3b 2066 696e 6765 7220 vention; finger │ │ │ │ │ -000168f0: 3020 6973 2074 6865 2074 6875 6d62 292e 0 is the thumb). │ │ │ │ │ -00016900: 2020 5468 6520 6469 7374 616c 2072 6f74 The distal rot │ │ │ │ │ -00016910: 6174 696f 6e20 666f 7220 7468 6520 6669 ation for the fi │ │ │ │ │ -00016920: 6e67 6572 0a61 7070 6c69 6573 206f 6e6c nger.applies onl │ │ │ │ │ -00016930: 7920 746f 2074 6865 2074 6970 2c20 736f y to the tip, so │ │ │ │ │ -00016940: 2077 6520 6465 6669 6e65 2074 6865 2066 we define the f │ │ │ │ │ -00016950: 6f6c 6c6f 7769 6e67 2e0a 2020 6465 6620 ollowing.. def │ │ │ │ │ -00016960: 6469 7374 616c 5f31 207b 0a20 2020 2070 distal_1 {. p │ │ │ │ │ -00016970: 7574 207b 2074 7261 6e73 6c61 7465 286a ut { translate(j │ │ │ │ │ -00016980: 6f69 6e74 5f67 6170 202a 206a 6f69 6e74 oint_gap * joint │ │ │ │ │ -00016990: 5f72 6164 202a 205b 4a5d 2920 0a20 2020 _rad * [J]) . │ │ │ │ │ -000169a0: 2020 2020 2020 2074 6865 6e20 726f 7461 then rota │ │ │ │ │ -000169b0: 7465 2864 6973 7461 6c5f 315f 726f 742c te(distal_1_rot, │ │ │ │ │ -000169c0: 205b 495d 2920 0a20 2020 2020 2020 2020 [I]) . │ │ │ │ │ -000169d0: 2074 6865 6e20 7472 616e 736c 6174 6528 then translate( │ │ │ │ │ -000169e0: 2864 6973 7461 6c5f 6c65 6e20 2b20 6a6f (distal_len + jo │ │ │ │ │ -000169f0: 696e 745f 6761 7020 2a20 6a6f 696e 745f int_gap * joint_ │ │ │ │ │ -00016a00: 7261 6429 202a 205b 4a5d 2920 7d0a 2020 rad) * [J]) }. │ │ │ │ │ -00016a10: 2020 2020 7b73 6567 6d65 6e74 7d0a 2020 {segment}. │ │ │ │ │ -00016a20: 2020 7075 7420 7b20 726f 7461 7465 2864 put { rotate(d │ │ │ │ │ -00016a30: 6973 7461 6c5f 315f 726f 7420 2f20 322c istal_1_rot / 2, │ │ │ │ │ -00016a40: 205b 495d 290a 2020 2020 2020 2020 2020 [I]). │ │ │ │ │ -00016a50: 7468 656e 2074 7261 6e73 6c61 7465 2828 then translate(( │ │ │ │ │ -00016a60: 6469 7374 616c 5f6c 656e 202b 206a 6f69 distal_len + joi │ │ │ │ │ -00016a70: 6e74 5f67 6170 202a 206a 6f69 6e74 5f72 nt_gap * joint_r │ │ │ │ │ -00016a80: 6164 2920 2a20 5b4a 5d29 207d 200a 2020 ad) * [J]) } . │ │ │ │ │ -00016a90: 2020 2020 7b6a 6f69 6e74 5f73 7068 6572 {joint_spher │ │ │ │ │ -00016aa0: 657d 0a20 2020 2070 7574 207b 2073 6361 e}. put { sca │ │ │ │ │ -00016ab0: 6c65 2820 5b4a 5d20 2b20 7072 6f78 696d le( [J] + proxim │ │ │ │ │ -00016ac0: 616c 5f64 6973 7461 6c5f 7261 7469 6f20 al_distal_ratio │ │ │ │ │ -00016ad0: 2a20 285b 495d 2b5b 4b5d 2920 2920 7d0a * ([I]+[K]) ) }. │ │ │ │ │ -00016ae0: 2020 2020 2020 7b73 6567 6d65 6e74 7d0a {segment}. │ │ │ │ │ -00016af0: 2020 7d20 200a 5468 6520 6964 656e 7469 } .The identi │ │ │ │ │ -00016b00: 6669 6572 7320 6865 7265 2061 7265 2066 fiers here are f │ │ │ │ │ -00016b10: 6f72 2073 697a 6520 616e 6420 6c6f 6361 or size and loca │ │ │ │ │ -00016b20: 7469 6f6e 2063 6f6e 7374 616e 7473 2e20 tion constants. │ │ │ │ │ -00016b30: 2054 6865 2065 7863 6570 7469 6f6e 0a69 The exception.i │ │ │ │ │ -00016b40: 7320 e280 9864 6973 7461 6c5f 726f 745f s ...distal_rot_ │ │ │ │ │ -00016b50: 31e2 8099 2e20 2054 6869 7320 726f 7461 1.... This rota │ │ │ │ │ -00016b60: 7469 6f6e 2070 6172 616d 6574 6572 206d tion parameter m │ │ │ │ │ -00016b70: 6f64 656c 7320 7468 6520 666c 6578 696e odels the flexin │ │ │ │ │ -00016b80: 6720 6f66 2074 6865 0a66 696e 6765 7220 g of the.finger │ │ │ │ │ -00016b90: 7469 702e 2020 5468 6520 6669 7273 7420 tip. The first │ │ │ │ │ -00016ba0: e280 9870 7574 e280 9920 6d61 6b65 7320 ...put... makes │ │ │ │ │ -00016bb0: 6120 636f 7079 206f 6620 7468 6520 6669 a copy of the fi │ │ │ │ │ -00016bc0: 6e67 6572 2073 6567 6d65 6e74 2074 6861 nger segment tha │ │ │ │ │ -00016bd0: 7420 6973 0a74 7261 6e73 6c61 7465 6420 t is.translated │ │ │ │ │ -00016be0: 7570 7761 7264 206a 7573 7420 6661 7220 upward just far │ │ │ │ │ -00016bf0: 656e 6f75 6768 2074 6f20 6d61 6b65 2072 enough to make r │ │ │ │ │ -00016c00: 6f6f 6d20 666f 7220 7468 6520 7370 6865 oom for the sphe │ │ │ │ │ -00016c10: 7269 6361 6c20 6a6f 696e 742e 0a54 6865 rical joint..The │ │ │ │ │ -00016c20: 6e20 6974 2061 7070 6c69 6573 2074 6865 n it applies the │ │ │ │ │ -00016c30: 2064 6973 7461 6c20 726f 7461 7469 6f6e distal rotation │ │ │ │ │ -00016c40: 2e20 2046 696e 616c 6c79 2069 7420 7472 . Finally it tr │ │ │ │ │ -00016c50: 616e 736c 6174 6573 2074 6865 2077 686f anslates the who │ │ │ │ │ -00016c60: 6c65 0a61 7373 656d 626c 7920 7570 7761 le.assembly upwa │ │ │ │ │ -00016c70: 7264 2061 6761 696e 2074 6f20 6d61 6b65 rd again to make │ │ │ │ │ -00016c80: 2072 6f6f 6d20 666f 7220 7468 6520 6d69 room for the mi │ │ │ │ │ -00016c90: 6464 6c65 2070 686c 616e 6765 7320 2874 ddle phlanges (t │ │ │ │ │ -00016ca0: 6865 206e 6578 740a 626f 6e65 2074 6f77 he next.bone tow │ │ │ │ │ -00016cb0: 6172 6420 7468 6520 7061 6c6d 292e 2020 ard the palm). │ │ │ │ │ -00016cc0: 5468 6520 7365 636f 6e64 20e2 8098 7075 The second ...pu │ │ │ │ │ -00016cd0: 74e2 8099 2070 6f73 6974 696f 6e73 2074 t... positions t │ │ │ │ │ -00016ce0: 6865 2073 7068 6572 652e 2020 5468 6572 he sphere. Ther │ │ │ │ │ -00016cf0: 6520 6973 0a61 2072 6f74 6174 696f 6e20 e is.a rotation │ │ │ │ │ -00016d00: 746f 2070 6c61 6365 2074 6865 2067 7269 to place the gri │ │ │ │ │ -00016d10: 6420 6f6e 2074 6865 2073 7068 6572 6520 d on the sphere │ │ │ │ │ -00016d20: 7375 7266 6163 6520 6174 2061 6e20 6e69 surface at an ni │ │ │ │ │ -00016d30: 6365 2061 6e67 6c65 2c0a 7468 656e 2061 ce angle,.then a │ │ │ │ │ -00016d40: 2074 7261 6e73 6c61 7469 6f6e 2074 6f20 translation to │ │ │ │ │ -00016d50: 7468 6520 6261 7365 206f 6620 7468 6520 the base of the │ │ │ │ │ -00016d60: 6469 7374 616c 2070 686c 616e 6765 732c distal phlanges, │ │ │ │ │ -00016d70: 2077 6869 6368 2069 7320 616c 736f 0a63 which is also.c │ │ │ │ │ -00016d80: 656e 7465 7220 6f66 2069 7473 2072 6f74 enter of its rot │ │ │ │ │ -00016d90: 6174 696f 6e2e 2020 4669 6e61 6c6c 792c ation. Finally, │ │ │ │ │ -00016da0: 2074 6865 206c 6173 7420 e280 9870 7574 the last ...put │ │ │ │ │ -00016db0: e280 9920 706f 7369 7469 6f6e 7320 7468 ... positions th │ │ │ │ │ -00016dc0: 6520 6d69 6464 6c65 0a73 6567 6d65 6e74 e middle.segment │ │ │ │ │ -00016dd0: 2069 7473 656c 662e 0a0a 2020 2054 6865 itself... The │ │ │ │ │ -00016de0: 206d 6964 646c 6520 6a6f 696e 7420 6973 middle joint is │ │ │ │ │ -00016df0: 2074 6865 206e 6578 7420 6f6e 6520 646f the next one do │ │ │ │ │ -00016e00: 776e 2c20 7769 7468 2072 6f74 6174 696f wn, with rotatio │ │ │ │ │ -00016e10: 6e20 616e 676c 650a e280 986d 6964 646c n angle....middl │ │ │ │ │ -00016e20: 655f 726f 745f 31e2 8099 2e20 2057 6865 e_rot_1.... Whe │ │ │ │ │ -00016e30: 6e20 7468 6973 2061 6e67 6c65 2063 6861 n this angle cha │ │ │ │ │ -00016e40: 6e67 6573 2c20 7765 206e 6565 6420 616c nges, we need al │ │ │ │ │ -00016e50: 6c20 7468 6520 6f62 6a65 6374 7320 696e l the objects in │ │ │ │ │ -00016e60: 0ae2 8098 6469 7374 616c 5f31 e280 9920 ....distal_1... │ │ │ │ │ -00016e70: 746f 2072 6f74 6174 6520 6173 2061 2075 to rotate as a u │ │ │ │ │ -00016e80: 6e69 742e 2020 5468 6973 2069 7320 7468 nit. This is th │ │ │ │ │ -00016e90: 6520 7265 6173 6f6e 696e 6720 6265 6869 e reasoning behi │ │ │ │ │ -00016ea0: 6e64 2074 6865 206e 6578 740a 6465 6669 nd the next.defi │ │ │ │ │ -00016eb0: 6e69 7469 6f6e 2e0a 2020 6465 6620 6669 nition.. def fi │ │ │ │ │ -00016ec0: 6e67 6572 5f31 207b 0a20 2020 2070 7574 nger_1 {. put │ │ │ │ │ -00016ed0: 207b 2074 7261 6e73 6c61 7465 286a 6f69 { translate(joi │ │ │ │ │ -00016ee0: 6e74 5f67 6170 202a 206a 6f69 6e74 5f72 nt_gap * joint_r │ │ │ │ │ -00016ef0: 6164 202a 205b 4a5d 290a 2020 2020 2020 ad * [J]). │ │ │ │ │ -00016f00: 2020 2020 7468 656e 2072 6f74 6174 6528 then rotate( │ │ │ │ │ -00016f10: 6d69 6464 6c65 5f31 5f72 6f74 2c20 5b49 middle_1_rot, [I │ │ │ │ │ -00016f20: 5d29 0a20 2020 2020 2020 2020 2074 6865 ]). the │ │ │ │ │ -00016f30: 6e20 7472 616e 736c 6174 6528 286d 6964 n translate((mid │ │ │ │ │ -00016f40: 646c 655f 7261 7469 6f20 2a20 6469 7374 dle_ratio * dist │ │ │ │ │ -00016f50: 616c 5f6c 656e 202b 200a 2020 2020 2020 al_len + . │ │ │ │ │ +00012290: 2020 2053 6574 7469 6e67 2074 6865 206f Setting the o │ │ │ │ │ +000122a0: 7574 7075 7420 6c61 6e67 7561 6765 2e0a utput language.. │ │ │ │ │ +000122b0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +000122c0: 696e 666f 2c20 204e 6f64 653a 2047 6c6f info, Node: Glo │ │ │ │ │ +000122d0: 6261 6c20 6f70 7469 6f6e 732c 2020 4e65 bal options, Ne │ │ │ │ │ +000122e0: 7874 3a20 4361 6d65 7261 2c20 2050 7265 xt: Camera, Pre │ │ │ │ │ +000122f0: 763a 2047 6c6f 6261 6c20 656e 7669 726f v: Global enviro │ │ │ │ │ +00012300: 6e6d 656e 742c 2020 5570 3a20 476c 6f62 nment, Up: Glob │ │ │ │ │ +00012310: 616c 2065 6e76 6972 6f6e 6d65 6e74 0a0a al environment.. │ │ │ │ │ +00012320: 332e 342e 3120 476c 6f62 616c 206f 7074 3.4.1 Global opt │ │ │ │ │ +00012330: 696f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ions.----------- │ │ │ │ │ +00012340: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt │ │ │ │ │ +00012350: 6178 3a2a 0a20 2020 2020 7365 7420 5b20 ax:*. set [ │ │ │ │ │ +00012360: 4f50 5449 4f4e 5320 5d0a 5468 6520 636f OPTIONS ].The co │ │ │ │ │ +00012370: 6e74 656e 7473 206f 6620 4f50 5449 4f4e ntents of OPTION │ │ │ │ │ +00012380: 532c 2065 7863 6570 7420 666f 7220 e280 S, except for .. │ │ │ │ │ +00012390: 9873 6b65 7463 68e2 8099 2069 6e74 6572 .sketch... inter │ │ │ │ │ +000123a0: 6e61 6c20 6f70 7469 6f6e 732c 2061 7265 nal options, are │ │ │ │ │ +000123b0: 0a63 6f70 6965 6420 6173 2d69 7320 746f .copied as-is to │ │ │ │ │ +000123c0: 2061 205c 7073 7365 7420 7468 6174 2061 a \psset that a │ │ │ │ │ +000123d0: 7070 6561 7273 2062 6566 6f72 6520 616e ppears before an │ │ │ │ │ +000123e0: 7974 6869 6e67 2065 6c73 6520 696e 2074 ything else in t │ │ │ │ │ +000123f0: 6865 206f 7574 7075 740a 6669 6c65 2e20 he output.file. │ │ │ │ │ +00012400: 2054 6869 7320 6973 2061 2067 6f6f 6420 This is a good │ │ │ │ │ +00012410: 706c 6163 6520 746f 2073 6574 20e2 8098 place to set ... │ │ │ │ │ +00012420: 756e 6974 e280 992c 2061 2064 6566 6175 unit..., a defau │ │ │ │ │ +00012430: 6c74 20e2 8098 6c69 6e65 7769 6474 68e2 lt ...linewidth. │ │ │ │ │ +00012440: 8099 2c20 6574 632e 0a0a 2020 2049 6e74 .., etc... Int │ │ │ │ │ +00012450: 6572 6e61 6c20 6f70 7469 6f6e 7320 776f ernal options wo │ │ │ │ │ +00012460: 726b 206f 6e20 616c 6c20 6f62 6a65 6374 rk on all object │ │ │ │ │ +00012470: 7320 7768 6572 6520 7468 6579 206d 616b s where they mak │ │ │ │ │ +00012480: 6520 7365 6e73 652e 2020 5468 6973 0a69 e sense. This.i │ │ │ │ │ +00012490: 6e63 6c75 6465 7320 e280 9863 756c 6ce2 ncludes ...cull. │ │ │ │ │ +000124a0: 8099 2061 6e64 20e2 8098 7370 6c69 74e2 .. and ...split. │ │ │ │ │ +000124b0: 8099 2028 6275 7420 6e6f 7420 e280 986c .. (but not ...l │ │ │ │ │ +000124c0: 6179 e280 9929 2e20 202a 4e6f 7465 2049 ay...). *Note I │ │ │ │ │ +000124d0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 733a nternal options: │ │ │ │ │ +000124e0: 3a2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 :.....File: sket │ │ │ │ │ +000124f0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00012500: 4361 6d65 7261 2c20 204e 6578 743a 2050 Camera, Next: P │ │ │ │ │ +00012510: 6963 7475 7265 2062 6f78 2c20 2050 7265 icture box, Pre │ │ │ │ │ +00012520: 763a 2047 6c6f 6261 6c20 6f70 7469 6f6e v: Global option │ │ │ │ │ +00012530: 732c 2020 5570 3a20 476c 6f62 616c 2065 s, Up: Global e │ │ │ │ │ +00012540: 6e76 6972 6f6e 6d65 6e74 0a0a 332e 342e nvironment..3.4. │ │ │ │ │ +00012550: 3220 4361 6d65 7261 0a2d 2d2d 2d2d 2d2d 2 Camera.------- │ │ │ │ │ +00012560: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:* │ │ │ │ │ +00012570: 0a20 2020 2020 6361 6d65 7261 2054 5241 . camera TRA │ │ │ │ │ +00012580: 4e53 464f 524d 5f45 5850 5245 5353 494f NSFORM_EXPRESSIO │ │ │ │ │ +00012590: 4e0a 2020 2054 6865 2054 5241 4e53 464f N. The TRANSFO │ │ │ │ │ +000125a0: 524d 5f45 5850 5245 5353 494f 4e20 6973 RM_EXPRESSION is │ │ │ │ │ +000125b0: 2061 7070 6c69 6564 2061 6674 6572 2061 applied after a │ │ │ │ │ +000125c0: 6c6c 206f 7468 6572 2074 7261 6e73 666f ll other transfo │ │ │ │ │ +000125d0: 726d 6174 696f 6e73 0a6f 6620 7468 6520 rmations.of the │ │ │ │ │ +000125e0: 7363 656e 652e 2020 5468 6973 2069 7320 scene. This is │ │ │ │ │ +000125f0: 6375 7272 656e 746c 7920 6f6e 6c79 2075 currently only u │ │ │ │ │ +00012600: 7365 6675 6c20 666f 7220 7472 616e 7366 seful for transf │ │ │ │ │ +00012610: 6f72 6d69 6e67 2074 6865 0a62 6f75 6e64 orming the.bound │ │ │ │ │ +00012620: 696e 6720 626f 782e 2020 2a4e 6f74 6520 ing box. *Note │ │ │ │ │ +00012630: 5069 6374 7572 6520 626f 783a 3a2e 2020 Picture box::. │ │ │ │ │ +00012640: 4974 2077 696c 6c20 706c 6179 2061 2072 It will play a r │ │ │ │ │ +00012650: 6f6c 6520 696e 2061 6e79 2066 7574 7572 ole in any futur │ │ │ │ │ +00012660: 650a 696d 706c 656d 656e 7461 7469 6f6e e.implementation │ │ │ │ │ +00012670: 206f 6620 636c 6970 7069 6e67 2e0a 0a1f of clipping.... │ │ │ │ │ +00012680: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +00012690: 666f 2c20 204e 6f64 653a 2050 6963 7475 fo, Node: Pictu │ │ │ │ │ +000126a0: 7265 2062 6f78 2c20 204e 6578 743a 2046 re box, Next: F │ │ │ │ │ +000126b0: 7261 6d65 2c20 2050 7265 763a 2043 616d rame, Prev: Cam │ │ │ │ │ +000126c0: 6572 612c 2020 5570 3a20 476c 6f62 616c era, Up: Global │ │ │ │ │ +000126d0: 2065 6e76 6972 6f6e 6d65 6e74 0a0a 332e environment..3. │ │ │ │ │ +000126e0: 342e 3320 5069 6374 7572 6520 626f 780a 4.3 Picture box. │ │ │ │ │ +000126f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +00012700: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. │ │ │ │ │ +00012710: 2020 7069 6374 7572 6562 6f78 5b42 4153 picturebox[BAS │ │ │ │ │ +00012720: 454c 494e 455d 0a20 2020 2020 7069 6374 ELINE]. pict │ │ │ │ │ +00012730: 7572 6562 6f78 5b42 4153 454c 494e 455d urebox[BASELINE] │ │ │ │ │ +00012740: 2028 5031 2928 5032 290a 5468 6520 6669 (P1)(P2).The fi │ │ │ │ │ +00012750: 7273 7420 666f 726d 206f 6620 e280 9870 rst form of ...p │ │ │ │ │ +00012760: 6963 7475 7265 626f 78e2 8099 2063 6175 icturebox... cau │ │ │ │ │ +00012770: 7365 7320 6120 7363 616c 6172 2042 4153 ses a scalar BAS │ │ │ │ │ +00012780: 454c 494e 4520 6672 6163 7469 6f6e 2074 ELINE fraction t │ │ │ │ │ +00012790: 6f20 6265 0a65 6d69 7474 6564 2069 6e20 o be.emitted in │ │ │ │ │ +000127a0: 7468 6520 e280 9870 7370 6963 7475 7265 the ...pspicture │ │ │ │ │ +000127b0: e280 9920 656e 7669 726f 6e6d 656e 7420 ... environment │ │ │ │ │ +000127c0: 6f66 2074 6865 206f 7574 7075 742e 2020 of the output. │ │ │ │ │ +000127d0: 5365 6520 e280 9850 5354 7269 636b 73e2 See ...PSTricks. │ │ │ │ │ +000127e0: 8099 0a64 6f63 756d 656e 7461 7469 6f6e ...documentation │ │ │ │ │ +000127f0: 2066 6f72 20e2 8098 7073 7069 6374 7572 for ...pspictur │ │ │ │ │ +00012800: 65e2 8099 2e0a 0a20 2020 496e 2074 6865 e...... In the │ │ │ │ │ +00012810: 2073 6563 6f6e 6420 666f 726d 2c20 7468 second form, th │ │ │ │ │ +00012820: 6520 4241 5345 4c49 4e45 2066 7261 6374 e BASELINE fract │ │ │ │ │ +00012830: 696f 6e20 6973 206f 7074 696f 6e61 6c2c ion is optional, │ │ │ │ │ +00012840: 2061 6e64 2074 6865 2074 776f 0a70 6f69 and the two.poi │ │ │ │ │ +00012850: 6e74 7320 7468 6174 2066 6f6c 6c6f 7720 nts that follow │ │ │ │ │ +00012860: 6465 6669 6e65 2074 6865 2064 6961 676f define the diago │ │ │ │ │ +00012870: 6e61 6c20 6f66 2061 2074 6872 6565 2d64 nal of a three-d │ │ │ │ │ +00012880: 696d 656e 7369 6f6e 616c 2062 6f75 6e64 imensional bound │ │ │ │ │ +00012890: 696e 670a 626f 7820 666f 7220 7468 6520 ing.box for the │ │ │ │ │ +000128a0: 636f 6d70 6c65 7465 6420 7363 656e 652e completed scene. │ │ │ │ │ +000128b0: 2020 5468 6520 7061 7261 6c6c 656c 2070 The parallel p │ │ │ │ │ +000128c0: 726f 6a65 6374 696f 6e20 6f66 2074 6865 rojection of the │ │ │ │ │ +000128d0: 2062 6f75 6e64 696e 670a 626f 7820 6465 bounding.box de │ │ │ │ │ +000128e0: 7465 726d 696e 6573 2074 6865 2063 6f72 termines the cor │ │ │ │ │ +000128f0: 6e65 7273 206f 6620 7468 6520 6472 6177 ners of the draw │ │ │ │ │ +00012900: 696e 6727 7320 e280 9870 7370 6963 7475 ing's ...pspictu │ │ │ │ │ +00012910: 7265 2ae2 8099 2065 6e76 6972 6f6e 6d65 re*... environme │ │ │ │ │ +00012920: 6e74 2c0a 7768 6963 6820 6973 2075 7365 nt,.which is use │ │ │ │ │ +00012930: 6420 696e 2070 6c61 6365 206f 6620 e280 d in place of .. │ │ │ │ │ +00012940: 9870 7370 6963 7475 7265 e280 992e 2020 .pspicture.... │ │ │ │ │ +00012950: 5468 6973 2063 6175 7365 7320 506f 7374 This causes Post │ │ │ │ │ +00012960: 5363 7269 7074 2074 6f20 636c 6970 0a74 Script to clip.t │ │ │ │ │ +00012970: 6865 2066 696e 616c 2064 7261 7769 6e67 he final drawing │ │ │ │ │ +00012980: 2074 6f20 7468 6520 626f 756e 6469 6e67 to the bounding │ │ │ │ │ +00012990: 2062 6f78 2069 6e20 3264 2e20 2049 6620 box in 2d. If │ │ │ │ │ +000129a0: 7468 6572 6520 6973 2061 20e2 8098 6361 there is a ...ca │ │ │ │ │ +000129b0: 6d65 7261 e280 990a 7370 6563 6966 6965 mera....specifie │ │ │ │ │ +000129c0: 642c 2074 6865 2063 616d 6572 6120 7472 d, the camera tr │ │ │ │ │ +000129d0: 616e 666f 726d 6174 696f 6e20 6973 2061 anformation is a │ │ │ │ │ +000129e0: 7070 6c69 6564 2074 6f20 7468 6520 626f pplied to the bo │ │ │ │ │ +000129f0: 756e 6469 6e67 2062 6f78 2c20 616e 640a unding box, and. │ │ │ │ │ +00012a00: 7468 6520 e280 9870 7370 6963 7475 7265 the ...pspicture │ │ │ │ │ +00012a10: e280 9920 6973 2073 6574 206a 7573 7420 ... is set just │ │ │ │ │ +00012a20: 6c61 7267 6520 656e 6f75 6768 2074 6f20 large enough to │ │ │ │ │ +00012a30: 696e 636c 7564 6520 7468 6520 7472 616e include the tran │ │ │ │ │ +00012a40: 7366 6f72 6d65 6420 626f 782e 0a0a 2020 sformed box... │ │ │ │ │ +00012a50: 2057 6865 6e20 6e6f 2062 6f75 6e64 696e When no boundin │ │ │ │ │ +00012a60: 6720 626f 7820 6973 2067 6976 656e 2c20 g box is given, │ │ │ │ │ +00012a70: e280 9873 6b65 7463 68e2 8099 2063 6f6d ...sketch... com │ │ │ │ │ +00012a80: 7075 7465 7320 6f6e 6520 6175 746f 6d61 putes one automa │ │ │ │ │ +00012a90: 7469 6361 6c6c 792e 0a0a 1f0a 4669 6c65 tically.....File │ │ │ │ │ +00012aa0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00012ab0: 4e6f 6465 3a20 4672 616d 652c 2020 4e65 Node: Frame, Ne │ │ │ │ │ +00012ac0: 7874 3a20 4c61 6e67 7561 6765 2c20 2050 xt: Language, P │ │ │ │ │ +00012ad0: 7265 763a 2050 6963 7475 7265 2062 6f78 rev: Picture box │ │ │ │ │ +00012ae0: 2c20 2055 703a 2047 6c6f 6261 6c20 656e , Up: Global en │ │ │ │ │ +00012af0: 7669 726f 6e6d 656e 740a 0a33 2e34 2e34 vironment..3.4.4 │ │ │ │ │ +00012b00: 2046 7261 6d65 0a2d 2d2d 2d2d 2d2d 2d2d Frame.--------- │ │ │ │ │ +00012b10: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. │ │ │ │ │ +00012b20: 2020 2066 7261 6d65 205b 4f50 5449 4f4e frame [OPTION │ │ │ │ │ +00012b30: 535d 0a43 6175 7365 7320 6120 5c70 7366 S].Causes a \psf │ │ │ │ │ +00012b40: 7261 6d65 626f 7820 746f 2073 7572 726f ramebox to surro │ │ │ │ │ +00012b50: 756e 6420 7468 6520 e280 9870 7370 6963 und the ...pspic │ │ │ │ │ +00012b60: 7475 7265 e280 9920 656e 7669 726f 6e6d ture... environm │ │ │ │ │ +00012b70: 656e 7420 696e 2074 6865 0a6f 7574 7075 ent in the.outpu │ │ │ │ │ +00012b80: 742e 2020 4966 204f 5054 494f 4e53 2061 t. If OPTIONS a │ │ │ │ │ +00012b90: 7265 2070 7265 7365 6e74 2c20 7468 6579 re present, they │ │ │ │ │ +00012ba0: 2061 7265 2063 6f70 6965 6420 6173 2d69 are copied as-i │ │ │ │ │ +00012bb0: 732e 2020 4e6f 726d 616c 6c79 206f 6e65 s. Normally one │ │ │ │ │ +00012bc0: 0a77 6f75 6c64 2077 616e 7420 746f 2073 .would want to s │ │ │ │ │ +00012bd0: 6574 20e2 8098 6c69 6e65 7769 6474 68e2 et ...linewidth. │ │ │ │ │ +00012be0: 8099 2c20 e280 986c 696e 6573 7479 6c65 .., ...linestyle │ │ │ │ │ +00012bf0: e280 992c 20e2 8098 6c69 6e65 636f 6c6f ..., ...linecolo │ │ │ │ │ +00012c00: 72e2 8099 2c20 6574 632e 2020 4966 0a6f r..., etc. If.o │ │ │ │ │ +00012c10: 6d69 7474 6564 2c20 7468 656e 20e2 8098 mitted, then ... │ │ │ │ │ +00012c20: 6672 616d 6573 6570 3d30 7074 e280 9920 framesep=0pt... │ │ │ │ │ +00012c30: 6973 2061 6464 6564 2073 6f20 7468 6174 is added so that │ │ │ │ │ +00012c40: 2074 6865 2066 7261 6d65 2074 6967 6874 the frame tight │ │ │ │ │ +00012c50: 6c79 2068 7567 7320 7468 650a e280 9870 ly hugs the....p │ │ │ │ │ +00012c60: 7370 6963 7475 7265 e280 992e 0a0a 1f0a spicture........ │ │ │ │ │ +00012c70: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00012c80: 6f2c 2020 4e6f 6465 3a20 4c61 6e67 7561 o, Node: Langua │ │ │ │ │ +00012c90: 6765 2c20 2050 7265 763a 2046 7261 6d65 ge, Prev: Frame │ │ │ │ │ +00012ca0: 2c20 2055 703a 2047 6c6f 6261 6c20 656e , Up: Global en │ │ │ │ │ +00012cb0: 7669 726f 6e6d 656e 740a 0a33 2e34 2e35 vironment..3.4.5 │ │ │ │ │ +00012cc0: 204c 616e 6775 6167 650a 2d2d 2d2d 2d2d Language.------ │ │ │ │ │ +00012cd0: 2d2d 2d2d 2d2d 2d2d 0a0a 2020 2020 206c --------.. l │ │ │ │ │ +00012ce0: 616e 6775 6167 6520 7469 6b7a 0a20 2020 anguage tikz. │ │ │ │ │ +00012cf0: 2020 6c61 6e67 7561 6765 2074 696b 7a2c language tikz, │ │ │ │ │ +00012d00: 2063 6f6e 7465 7874 0a20 2020 2020 6c61 context. la │ │ │ │ │ +00012d10: 6e67 7561 6765 2070 7374 7269 636b 730a nguage pstricks. │ │ │ │ │ +00012d20: 2020 2020 206c 616e 6775 6167 6520 7073 language ps │ │ │ │ │ +00012d30: 7472 6963 6b73 2c20 6c61 7465 780a 5365 tricks, latex.Se │ │ │ │ │ +00012d40: 7473 2074 6865 206f 7574 7075 7420 6c61 ts the output la │ │ │ │ │ +00012d50: 6e67 7561 6765 2067 656e 6572 6174 6564 nguage generated │ │ │ │ │ +00012d60: 2062 7920 e280 9873 6b65 7463 68e2 8099 by ...sketch... │ │ │ │ │ +00012d70: 2e20 2054 6865 2073 6574 206f 6620 6f70 . The set of op │ │ │ │ │ +00012d80: 7469 6f6e 730a 756e 6465 7273 746f 6f64 tions.understood │ │ │ │ │ +00012d90: 2062 7920 736b 6574 6368 2061 6c73 6f20 by sketch also │ │ │ │ │ +00012da0: 6368 616e 6765 732e 2020 466f 7220 6578 changes. For ex │ │ │ │ │ +00012db0: 616d 706c 652c 2074 6865 20e2 8098 5053 ample, the ...PS │ │ │ │ │ +00012dc0: 5472 6963 6b73 e280 9920 6f70 7469 6f6e Tricks... option │ │ │ │ │ +00012dd0: 0ae2 8098 6c69 6e65 7769 6474 68e2 8099 ....linewidth... │ │ │ │ │ +00012de0: 2077 696c 6c20 6e6f 7420 6265 2070 726f will not be pro │ │ │ │ │ +00012df0: 7065 726c 7920 6861 6e64 6c65 6420 6966 perly handled if │ │ │ │ │ +00012e00: 20e2 8098 6c61 6e67 7561 6765 e280 9920 ...language... │ │ │ │ │ +00012e10: 6973 2073 6574 2074 6f20 e280 9874 696b is set to ...tik │ │ │ │ │ +00012e20: 7ae2 8099 2e0a 5369 6d69 6c61 726c 792c z.....Similarly, │ │ │ │ │ +00012e30: 2074 6865 20e2 8098 5469 6b5a e280 9920 the ...TikZ... │ │ │ │ │ +00012e40: 6f70 7469 6f6e 20e2 8098 6c69 6e65 2073 option ...line s │ │ │ │ │ +00012e50: 7479 6c65 e280 9920 286e 6f74 6520 7468 tyle... (note th │ │ │ │ │ +00012e60: 6520 7370 6163 6529 2077 696c 6c20 6e6f e space) will no │ │ │ │ │ +00012e70: 7420 6265 0a70 726f 7065 726c 7920 6861 t be.properly ha │ │ │ │ │ +00012e80: 6e64 6c65 6420 6966 20e2 8098 6c61 6e67 ndled if ...lang │ │ │ │ │ +00012e90: 7561 6765 e280 9920 6973 2073 6574 2074 uage... is set t │ │ │ │ │ +00012ea0: 6f20 e280 9870 7374 7269 636b 73e2 8099 o ...pstricks... │ │ │ │ │ +00012eb0: 2e20 2049 6620 6e6f 206c 616e 6775 6167 . If no languag │ │ │ │ │ +00012ec0: 6520 6973 0a73 7065 6369 6669 6564 2c20 e is.specified, │ │ │ │ │ +00012ed0: 7468 6520 6465 6661 756c 7420 e280 9870 the default ...p │ │ │ │ │ +00012ee0: 7374 7269 636b 73e2 8099 2069 7320 7573 stricks... is us │ │ │ │ │ +00012ef0: 6564 2e0a 0a20 2020 416e 206f 7074 696f ed... An optio │ │ │ │ │ +00012f00: 6e61 6c20 636f 6d6d 6120 666f 6c6c 6f77 nal comma follow │ │ │ │ │ +00012f10: 6564 2062 7920 e280 986c 6174 6578 e280 ed by ...latex.. │ │ │ │ │ +00012f20: 9920 6f72 20e2 8098 636f 6e74 6578 74e2 . or ...context. │ │ │ │ │ +00012f30: 8099 2073 7065 6369 6669 6573 2074 6865 .. specifies the │ │ │ │ │ +00012f40: 0a6d 6163 726f 2070 6163 6b61 6765 2074 .macro package t │ │ │ │ │ +00012f50: 6861 7420 7468 6520 6f75 7470 7574 2073 hat the output s │ │ │ │ │ +00012f60: 686f 756c 6420 6173 7375 6d65 2e20 2054 hould assume. T │ │ │ │ │ +00012f70: 6869 7320 6166 6665 6374 7320 7468 6520 his affects the │ │ │ │ │ +00012f80: e280 9870 6963 7475 7265 e280 990a 656e ...picture....en │ │ │ │ │ +00012f90: 7669 726f 6e6d 656e 7420 636f 6d6d 616e vironment comman │ │ │ │ │ +00012fa0: 6473 2065 6d69 7474 6564 2061 6e64 2074 ds emitted and t │ │ │ │ │ +00012fb0: 6865 2064 6f63 756d 656e 7420 7465 6d70 he document temp │ │ │ │ │ +00012fc0: 6c61 7465 2075 7365 6420 7769 7468 2074 late used with t │ │ │ │ │ +00012fd0: 6865 0ae2 8098 2d54 e280 9920 6f70 7469 he....-T... opti │ │ │ │ │ +00012fe0: 6f6e 2e20 202a 4e6f 7465 2043 6f6d 6d61 on. *Note Comma │ │ │ │ │ +00012ff0: 6e64 206c 696e 653a 3a2e 2020 4e6f 7465 nd line::. Note │ │ │ │ │ +00013000: 2074 6861 7420 6174 2074 6865 2074 696d that at the tim │ │ │ │ │ +00013010: 6520 7468 6973 206d 616e 7561 6c0a 7761 e this manual.wa │ │ │ │ │ +00013020: 7320 6765 6e65 7261 7465 642c 20e2 8098 s generated, ... │ │ │ │ │ +00013030: 5053 5472 6963 6b73 e280 9920 7761 7320 PSTricks... was │ │ │ │ │ +00013040: 6e6f 7420 7375 7070 6f72 7465 6420 6279 not supported by │ │ │ │ │ +00013050: 204c 6154 6558 206f 7220 6279 20e2 8098 LaTeX or by ... │ │ │ │ │ +00013060: 436f 6e54 6558 74e2 8099 2e0a 0a1f 0a46 ConTeXt........F │ │ │ │ │ +00013070: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ +00013080: 2c20 204e 6f64 653a 2042 7569 6c64 696e , Node: Buildin │ │ │ │ │ +00013090: 6720 6120 6472 6177 696e 672c 2020 4e65 g a drawing, Ne │ │ │ │ │ +000130a0: 7874 3a20 436f 6d6d 616e 6420 6c69 6e65 xt: Command line │ │ │ │ │ +000130b0: 2c20 2050 7265 763a 2049 6e70 7574 206c , Prev: Input l │ │ │ │ │ +000130c0: 616e 6775 6167 652c 2020 5570 3a20 546f anguage, Up: To │ │ │ │ │ +000130d0: 700a 0a34 2042 7569 6c64 696e 6720 6120 p..4 Building a │ │ │ │ │ +000130e0: 6472 6177 696e 670a 2a2a 2a2a 2a2a 2a2a drawing.******** │ │ │ │ │ +000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5375 ************..Su │ │ │ │ │ +00013100: 6363 6573 7366 756c 2064 7261 7769 6e67 ccessful drawing │ │ │ │ │ +00013110: 7320 7769 7468 20e2 8098 736b 6574 6368 s with ...sketch │ │ │ │ │ +00013120: e280 9920 616e 6420 7769 7468 2061 6e79 ... and with any │ │ │ │ │ +00013130: 2073 6365 6e65 2064 6573 6372 6970 7469 scene descripti │ │ │ │ │ +00013140: 6f6e 0a6c 616e 6775 6167 6520 7265 7175 on.language requ │ │ │ │ │ +00013150: 6972 6520 7468 6174 2074 6865 2075 7365 ire that the use │ │ │ │ │ +00013160: 7220 6465 7665 6c6f 7020 616e 2061 6363 r develop an acc │ │ │ │ │ +00013170: 7572 6174 6520 6d65 6e74 616c 2070 6963 urate mental pic │ │ │ │ │ +00013180: 7475 7265 206f 6620 6865 720a 636f 6465 ture of her.code │ │ │ │ │ +00013190: 2061 6e64 2069 7473 206d 6561 6e69 6e67 and its meaning │ │ │ │ │ +000131a0: 2e20 2054 6869 7320 696d 6167 6520 6973 . This image is │ │ │ │ │ +000131b0: 2062 6573 7420 6275 696c 7420 696e 2073 best built in s │ │ │ │ │ +000131c0: 6d61 6c6c 2070 6965 6365 732e 0a54 6865 mall pieces..The │ │ │ │ │ +000131d0: 7265 666f 7265 2c20 e280 9873 6b65 7463 refore, ...sketc │ │ │ │ │ +000131e0: 68e2 8099 2069 6e70 7574 7320 6172 6520 h... inputs are │ │ │ │ │ +000131f0: 6265 7374 2063 7265 6174 6564 2069 6e20 best created in │ │ │ │ │ +00013200: 736d 616c 6c20 696e 6372 656d 656e 7473 small increments │ │ │ │ │ +00013210: 2077 6974 680a 6672 6571 7565 6e74 2070 with.frequent p │ │ │ │ │ +00013220: 6175 7365 7320 746f 2063 6f6d 7069 6c65 auses to compile │ │ │ │ │ +00013230: 2061 6e64 2076 6965 7720 7468 6520 7265 and view the re │ │ │ │ │ +00013240: 7375 6c74 732e 2020 4361 7265 6675 6c20 sults. Careful │ │ │ │ │ +00013250: 636f 6d6d 656e 7473 2069 6e0a 7468 6520 comments in.the │ │ │ │ │ +00013260: 696e 7075 7420 6f66 7465 6e20 6865 6c70 input often help │ │ │ │ │ +00013270: 2061 7320 6120 7363 656e 6520 6772 6f77 as a scene grow │ │ │ │ │ +00013280: 7320 696e 2063 6f6d 706c 6578 6974 792e s in complexity. │ │ │ │ │ +00013290: 0a0a 2a20 4d65 6e75 3a0a 0a2a 204f 7665 ..* Menu:..* Ove │ │ │ │ │ +000132a0: 7276 6965 773a 3a20 2020 2020 2020 2020 rview:: │ │ │ │ │ +000132b0: 2020 2020 2020 2020 2020 2042 7569 6c64 Build │ │ │ │ │ +000132c0: 696e 6720 6120 7375 6273 7461 6e74 6961 ing a substantia │ │ │ │ │ +000132d0: 6c20 6472 6177 696e 672e 0a2a 2041 2074 l drawing..* A t │ │ │ │ │ +000132e0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +000132f0: 3a3a 2020 2020 2020 2020 2041 6e20 6578 :: An ex │ │ │ │ │ +00013300: 616d 706c 6520 7769 7468 2066 696e 6520 ample with fine │ │ │ │ │ +00013310: 706c 6163 656d 656e 742e 0a2a 2041 2068 placement..* A h │ │ │ │ │ +00013320: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ +00013330: 6c3a 3a20 2020 2020 2020 2041 6e20 6578 l:: An ex │ │ │ │ │ +00013340: 616d 706c 6520 7769 7468 2073 7765 6570 ample with sweep │ │ │ │ │ +00013350: 7320 616e 6420 7075 7473 2e0a 2a20 4361 s and puts..* Ca │ │ │ │ │ +00013360: 7665 6174 733a 3a20 2020 2020 2020 2020 veats:: │ │ │ │ │ +00013370: 2020 2020 2020 2020 2020 2020 5768 6572 Wher │ │ │ │ │ +00013380: 6520 7472 6f75 626c 6520 6361 6e20 6f63 e trouble can oc │ │ │ │ │ +00013390: 6375 722e 0a0a 1f0a 4669 6c65 3a20 736b cur.....File: sk │ │ │ │ │ +000133a0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +000133b0: 3a20 4f76 6572 7669 6577 2c20 204e 6578 : Overview, Nex │ │ │ │ │ +000133c0: 743a 2041 2074 6563 686e 6963 616c 2064 t: A technical d │ │ │ │ │ +000133d0: 7261 7769 6e67 2c20 2050 7265 763a 2042 rawing, Prev: B │ │ │ │ │ +000133e0: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin │ │ │ │ │ +000133f0: 672c 2020 5570 3a20 4275 696c 6469 6e67 g, Up: Building │ │ │ │ │ +00013400: 2061 2064 7261 7769 6e67 0a0a 342e 3120 a drawing..4.1 │ │ │ │ │ +00013410: 4f76 6572 7669 6577 0a3d 3d3d 3d3d 3d3d Overview.======= │ │ │ │ │ +00013420: 3d3d 3d3d 3d0a 0a41 7320 616e 206f 7665 =====..As an ove │ │ │ │ │ +00013430: 7276 6965 772c 206c 6574 2773 2064 6576 rview, let's dev │ │ │ │ │ +00013440: 656c 6f70 2061 2064 6961 6772 616d 2074 elop a diagram t │ │ │ │ │ +00013450: 6861 7420 7368 6f77 7320 686f 7720 6120 hat shows how a │ │ │ │ │ +00013460: 7065 7273 7065 6374 6976 650a 7072 6f6a perspective.proj │ │ │ │ │ +00013470: 6563 7469 6f6e 2074 7261 6e73 666f 726d ection transform │ │ │ │ │ +00013480: 2077 6f72 6b73 2e20 2057 6527 6c6c 2073 works. We'll s │ │ │ │ │ +00013490: 7461 7274 2077 6974 6820 7468 6520 7472 tart with the tr │ │ │ │ │ +000134a0: 6164 6974 696f 6e61 6c20 7265 6665 7265 aditional refere │ │ │ │ │ +000134b0: 6e63 650a 6f62 6a65 6374 2075 7365 6420 nce.object used │ │ │ │ │ +000134c0: 696e 2063 6f6d 7075 7465 7220 6772 6170 in computer grap │ │ │ │ │ +000134d0: 6869 6373 2074 6578 7462 6f6f 6b73 2c20 hics textbooks, │ │ │ │ │ +000134e0: 6120 686f 7573 652d 7368 6170 6564 2070 a house-shaped p │ │ │ │ │ +000134f0: 7269 736d 2e20 2042 6567 696e 0a62 7920 rism. Begin.by │ │ │ │ │ +00013500: 6465 6669 6e69 6e67 2074 6865 2070 6f69 defining the poi │ │ │ │ │ +00013510: 6e74 7320 6f66 2074 6865 2068 6f75 7365 nts of the house │ │ │ │ │ +00013520: 2e20 2052 6174 6865 7220 7468 616e 2064 . Rather than d │ │ │ │ │ +00013530: 6566 696e 696e 6720 7468 6520 6661 6365 efining the face │ │ │ │ │ +00013540: 7320 6f66 0a74 6865 2068 6f75 7365 2061 s of.the house a │ │ │ │ │ +00013550: 7320 706f 6c79 676f 6e73 2061 6e64 2074 s polygons and t │ │ │ │ │ +00013560: 7261 6e73 666f 726d 696e 6720 7468 6f73 ransforming thos │ │ │ │ │ +00013570: 652c 2077 6520 6172 6520 676f 696e 6720 e, we are going │ │ │ │ │ +00013580: 746f 2074 7261 6e73 666f 726d 0a74 6865 to transform.the │ │ │ │ │ +00013590: 2070 6f69 6e74 7320 7468 656d 7365 6c76 points themselv │ │ │ │ │ +000135a0: 6573 2077 6974 6820 e280 9873 6b65 7463 es with ...sketc │ │ │ │ │ +000135b0: 68e2 8099 2061 7269 7468 6d65 7469 6320 h... arithmetic │ │ │ │ │ +000135c0: 736f 2074 6861 7420 7765 2068 6176 6520 so that we have │ │ │ │ │ +000135d0: 6e61 6d65 7320 666f 720a 7468 6520 7472 names for.the tr │ │ │ │ │ +000135e0: 616e 7366 6f72 6d65 6420 706f 696e 7473 ansformed points │ │ │ │ │ +000135f0: 206c 6174 6572 2e0a 2020 2520 7269 6768 later.. % righ │ │ │ │ │ +00013600: 7420 7369 6465 2028 6f75 7473 6964 6520 t side (outside │ │ │ │ │ +00013610: 746f 2072 6967 6874 290a 2020 6465 6620 to right). def │ │ │ │ │ +00013620: 5231 2028 312c 312c 3129 2064 6566 2052 R1 (1,1,1) def R │ │ │ │ │ +00013630: 3220 2831 2c2d 312c 3129 2064 6566 2052 2 (1,-1,1) def R │ │ │ │ │ +00013640: 3320 2831 2c2d 312c 2d31 2920 6465 6620 3 (1,-1,-1) def │ │ │ │ │ +00013650: 5234 2028 312c 312c 2d31 290a 2020 6465 R4 (1,1,-1). de │ │ │ │ │ +00013660: 6620 5235 2028 312c 312e 352c 3029 0a0a f R5 (1,1.5,0).. │ │ │ │ │ +00013670: 2020 2520 6c65 6674 2073 6964 6520 286f % left side (o │ │ │ │ │ +00013680: 7574 7369 6465 2074 6f20 7269 6768 742d utside to right- │ │ │ │ │ +00013690: 2d62 6163 6b77 6172 6429 0a20 2064 6566 -backward). def │ │ │ │ │ +000136a0: 2057 2020 5b32 2c30 2c30 5d0a 2020 6465 W [2,0,0]. de │ │ │ │ │ +000136b0: 6620 4c31 2028 5231 292d 5b57 5d20 6465 f L1 (R1)-[W] de │ │ │ │ │ +000136c0: 6620 4c32 2028 5232 292d 5b57 5d20 6465 f L2 (R2)-[W] de │ │ │ │ │ +000136d0: 6620 4c33 2028 5233 292d 5b57 5d20 6465 f L3 (R3)-[W] de │ │ │ │ │ +000136e0: 6620 4c34 2028 5234 292d 5b57 5d0a 2020 f L4 (R4)-[W]. │ │ │ │ │ +000136f0: 6465 6620 4c35 2028 5235 292d 5b57 5d0a def L5 (R5)-[W]. │ │ │ │ │ +00013700: 546f 2061 6464 2061 2064 6f6f 7220 746f To add a door to │ │ │ │ │ +00013710: 2074 6865 2068 6f75 7365 2c20 7765 2075 the house, we u │ │ │ │ │ +00013720: 7365 2061 2070 6f6c 7967 6f6e 2073 6c69 se a polygon sli │ │ │ │ │ +00013730: 6768 746c 7920 696e 2066 726f 6e74 206f ghtly in front o │ │ │ │ │ +00013740: 6620 7468 650a 666f 7265 6d6f 7374 2066 f the.foremost f │ │ │ │ │ +00013750: 6163 6520 6f66 2074 6865 2068 6f75 7365 ace of the house │ │ │ │ │ +00013760: 2e0a 2020 2520 646f 6f72 0a20 2064 6566 .. % door. def │ │ │ │ │ +00013770: 2065 202e 3031 0a20 2064 6566 2044 3120 e .01. def D1 │ │ │ │ │ +00013780: 2830 2c2d 312c 312b 6529 2064 6566 2044 (0,-1,1+e) def D │ │ │ │ │ +00013790: 3220 282e 352c 2d31 2c31 2b65 2920 6465 2 (.5,-1,1+e) de │ │ │ │ │ +000137a0: 6620 4433 2028 2e35 2c30 2c31 2b65 2920 f D3 (.5,0,1+e) │ │ │ │ │ +000137b0: 6465 6620 4434 2028 302c 302c 312b 6529 def D4 (0,0,1+e) │ │ │ │ │ +000137c0: 0a4e 6f77 206c 6574 2773 2063 7265 6174 .Now let's creat │ │ │ │ │ +000137d0: 6520 6120 6e65 7720 7365 7420 6f66 2070 e a new set of p │ │ │ │ │ +000137e0: 6f69 6e74 7320 7468 6174 2061 7265 2061 oints that are a │ │ │ │ │ +000137f0: 2074 6f2d 6265 2d64 6574 6572 6d69 6e65 to-be-determine │ │ │ │ │ +00013800: 640a 7472 616e 7366 6f72 6d20 6f66 2074 d.transform of t │ │ │ │ │ +00013810: 6865 206f 7269 6769 6e61 6c73 2e0a 2020 he originals.. │ │ │ │ │ +00013820: 6465 6620 6870 2073 6361 6c65 2831 2920 def hp scale(1) │ │ │ │ │ +00013830: 2520 686f 7573 6520 706f 7369 7469 6f6e % house position │ │ │ │ │ +00013840: 6572 0a20 2064 6566 2070 5231 205b 5b68 er. def pR1 [[h │ │ │ │ │ +00013850: 705d 5d2a 2852 3129 2064 6566 2070 5232 p]]*(R1) def pR2 │ │ │ │ │ +00013860: 205b 5b68 705d 5d2a 2852 3229 2064 6566 [[hp]]*(R2) def │ │ │ │ │ +00013870: 2070 5233 205b 5b68 705d 5d2a 2852 3329 pR3 [[hp]]*(R3) │ │ │ │ │ +00013880: 0a20 2064 6566 2070 5234 205b 5b68 705d . def pR4 [[hp] │ │ │ │ │ +00013890: 5d2a 2852 3429 2064 6566 2070 5235 205b ]*(R4) def pR5 [ │ │ │ │ │ +000138a0: 5b68 705d 5d2a 2852 3529 0a20 2064 6566 [hp]]*(R5). def │ │ │ │ │ +000138b0: 2070 4c31 205b 5b68 705d 5d2a 284c 3129 pL1 [[hp]]*(L1) │ │ │ │ │ +000138c0: 2064 6566 2070 4c32 205b 5b68 705d 5d2a def pL2 [[hp]]* │ │ │ │ │ +000138d0: 284c 3229 2064 6566 2070 4c33 205b 5b68 (L2) def pL3 [[h │ │ │ │ │ +000138e0: 705d 5d2a 284c 3329 0a20 2064 6566 2070 p]]*(L3). def p │ │ │ │ │ +000138f0: 4c34 205b 5b68 705d 5d2a 284c 3429 2064 L4 [[hp]]*(L4) d │ │ │ │ │ +00013900: 6566 2070 4c35 205b 5b68 705d 5d2a 284c ef pL5 [[hp]]*(L │ │ │ │ │ +00013910: 3529 0a20 2064 6566 2070 4431 205b 5b68 5). def pD1 [[h │ │ │ │ │ +00013920: 705d 5d2a 2844 3129 2064 6566 2070 4432 p]]*(D1) def pD2 │ │ │ │ │ +00013930: 205b 5b68 705d 5d2a 2844 3229 2064 6566 [[hp]]*(D2) def │ │ │ │ │ +00013940: 2070 4433 205b 5b68 705d 5d2a 2844 3329 pD3 [[hp]]*(D3) │ │ │ │ │ +00013950: 0a20 2064 6566 2070 4434 205b 5b68 705d . def pD4 [[hp] │ │ │ │ │ +00013960: 5d2a 2844 3429 200a 4e6f 7465 2074 6865 ]*(D4) .Note the │ │ │ │ │ +00013970: 2075 7365 206f 6620 6120 e280 9c74 7261 use of a ...tra │ │ │ │ │ +00013980: 6e73 666f 726d 2064 6566 696e 6974 696f nsform definitio │ │ │ │ │ +00013990: 6ee2 809d 2061 6e64 20e2 809c 7472 616e n... and ...tran │ │ │ │ │ +000139a0: 7366 6f72 6d20 7265 6665 7265 6e63 6573 sform references │ │ │ │ │ +000139b0: e280 9d2e 0a4e 6f77 2064 6566 696e 6520 .....Now define │ │ │ │ │ +000139c0: 7468 6520 7365 7665 6e20 706f 6c79 676f the seven polygo │ │ │ │ │ +000139d0: 6e61 6c20 6661 6365 7320 6f66 2074 6865 nal faces of the │ │ │ │ │ +000139e0: 2068 6f75 7365 2061 6e64 2074 6865 2064 house and the d │ │ │ │ │ +000139f0: 6f6f 7220 7573 696e 6720 7468 650a 7472 oor using the.tr │ │ │ │ │ +00013a00: 616e 7366 6f72 6d65 6420 706f 696e 7473 ansformed points │ │ │ │ │ +00013a10: 2061 7320 7665 7274 6963 6573 2e20 2042 as vertices. B │ │ │ │ │ +00013a20: 6520 6361 7265 6675 6c20 7769 7468 2076 e careful with v │ │ │ │ │ +00013a30: 6572 7465 7820 6f72 6465 7221 0a20 2064 ertex order!. d │ │ │ │ │ +00013a40: 6566 2072 6774 2070 6f6c 7967 6f6e 2028 ef rgt polygon ( │ │ │ │ │ +00013a50: 7052 3129 2870 5232 2928 7052 3329 2870 pR1)(pR2)(pR3)(p │ │ │ │ │ +00013a60: 5234 2928 7052 3529 0a20 2064 6566 206c R4)(pR5). def l │ │ │ │ │ +00013a70: 6674 2070 6f6c 7967 6f6e 2028 704c 3529 ft polygon (pL5) │ │ │ │ │ +00013a80: 2870 4c34 2928 704c 3329 2870 4c32 2928 (pL4)(pL3)(pL2)( │ │ │ │ │ +00013a90: 704c 3129 0a20 2064 6566 2066 7274 2070 pL1). def frt p │ │ │ │ │ +00013aa0: 6f6c 7967 6f6e 2028 7052 3229 2870 5231 olygon (pR2)(pR1 │ │ │ │ │ +00013ab0: 2928 704c 3129 2870 4c32 290a 2020 6465 )(pL1)(pL2). de │ │ │ │ │ +00013ac0: 6620 6263 6b20 706f 6c79 676f 6e20 2870 f bck polygon (p │ │ │ │ │ +00013ad0: 5234 2928 7052 3329 2870 4c33 2928 704c R4)(pR3)(pL3)(pL │ │ │ │ │ +00013ae0: 3429 0a20 2064 6566 2074 6672 2070 6f6c 4). def tfr pol │ │ │ │ │ +00013af0: 7967 6f6e 2028 7052 3129 2870 5235 2928 ygon (pR1)(pR5)( │ │ │ │ │ +00013b00: 704c 3529 2870 4c31 290a 2020 6465 6620 pL5)(pL1). def │ │ │ │ │ +00013b10: 7462 6b20 706f 6c79 676f 6e20 2870 5235 tbk polygon (pR5 │ │ │ │ │ +00013b20: 2928 7052 3429 2870 4c34 2928 704c 3529 )(pR4)(pL4)(pL5) │ │ │ │ │ +00013b30: 0a20 2064 6566 2062 6f74 2070 6f6c 7967 . def bot polyg │ │ │ │ │ +00013b40: 6f6e 2028 7052 3229 2870 4c32 2928 704c on (pR2)(pL2)(pL │ │ │ │ │ +00013b50: 3329 2870 5233 290a 2020 6465 6620 646f 3)(pR3). def do │ │ │ │ │ +00013b60: 6f72 2070 6f6c 7967 6f6e 5b66 696c 6c63 or polygon[fillc │ │ │ │ │ +00013b70: 6f6c 6f72 3d62 726f 776e 5d20 2870 4431 olor=brown] (pD1 │ │ │ │ │ +00013b80: 2928 7044 3229 2870 4433 2928 7044 3429 )(pD2)(pD3)(pD4) │ │ │ │ │ +00013b90: 0a20 2064 6566 2068 6f75 7365 207b 207b . def house { { │ │ │ │ │ +00013ba0: 7267 747d 7b6c 6674 7d7b 6672 747d 7b62 rgt}{lft}{frt}{b │ │ │ │ │ +00013bb0: 636b 7d7b 7466 727d 7b74 626b 7d7b 626f ck}{tfr}{tbk}{bo │ │ │ │ │ +00013bc0: 747d 7b64 6f6f 727d 207d 0a20 2020 5469 t}{door} }. Ti │ │ │ │ │ +00013bd0: 6d65 2066 6f72 2061 2073 616e 6974 7920 me for a sanity │ │ │ │ │ +00013be0: 6368 6563 6b2e 2020 4164 6420 7468 6520 check. Add the │ │ │ │ │ +00013bf0: 6c69 6e65 0a20 207b 686f 7573 657d 0a61 line. {house}.a │ │ │ │ │ +00013c00: 6e64 2074 6869 7320 6973 2077 6861 7420 nd this is what │ │ │ │ │ +00013c10: 7765 2067 6574 2e0a 0a00 085b 696d 6167 we get.....[imag │ │ │ │ │ +00013c20: 6520 7372 633d 2265 7831 3330 2e70 6e67 e src="ex130.png │ │ │ │ │ +00013c30: 2220 7465 7874 3d22 496d 6167 6520 6578 " text="Image ex │ │ │ │ │ +00013c40: 3133 3020 6f6d 6974 7465 6420 696e 2074 130 omitted in t │ │ │ │ │ +00013c50: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t │ │ │ │ │ +00013c60: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.".. │ │ │ │ │ +00013c70: 5d0a 0a54 6869 7320 6973 2063 6f72 7265 ]..This is corre │ │ │ │ │ +00013c80: 6374 2c20 6275 7420 646f 6573 206e 6f74 ct, but does not │ │ │ │ │ +00013c90: 2072 6576 6561 6c20 7665 7279 206d 7563 reveal very muc │ │ │ │ │ +00013ca0: 682e 2020 436f 6d6d 6f6e 2065 7272 6f72 h. Common error │ │ │ │ │ +00013cb0: 7320 6172 650a 6d69 7370 6c61 6365 6420 s are.misplaced │ │ │ │ │ +00013cc0: 7665 7274 6963 6573 2061 6e64 2070 6f6c vertices and pol │ │ │ │ │ +00013cd0: 7967 6f6e 7320 6d69 7373 696e 6720 656e ygons missing en │ │ │ │ │ +00013ce0: 7469 7265 6c79 2064 7565 2074 6f20 696e tirely due to in │ │ │ │ │ +00013cf0: 636f 7272 6563 7420 7665 7274 6578 0a6f correct vertex.o │ │ │ │ │ +00013d00: 7264 6572 2e20 2054 6f20 7275 6c65 2074 rder. To rule t │ │ │ │ │ +00013d10: 6865 7365 206f 7574 2c20 6c65 7427 7320 hese out, let's │ │ │ │ │ +00013d20: 696e 7370 6563 7420 616c 6c20 7369 6465 inspect all side │ │ │ │ │ +00013d30: 7320 6f66 2074 6865 2068 6f75 7365 2e20 s of the house. │ │ │ │ │ +00013d40: 2054 6869 730a 6973 206e 6f74 2068 6172 This.is not har │ │ │ │ │ +00013d50: 642e 2020 4d65 7265 6c79 2072 6570 6c61 d. Merely repla │ │ │ │ │ +00013d60: 6365 2074 6865 2072 6566 6572 656e 6365 ce the reference │ │ │ │ │ +00013d70: 207b 686f 7573 657d 2077 6974 6820 6120 {house} with a │ │ │ │ │ +00013d80: e280 9872 6570 6561 74e2 8099 2e0a 2a4e ...repeat.....*N │ │ │ │ │ +00013d90: 6f74 6520 5265 7065 6174 733a 3a2e 0a20 ote Repeats::.. │ │ │ │ │ +00013da0: 2072 6570 6561 7420 7b20 3133 2c20 726f repeat { 13, ro │ │ │ │ │ +00013db0: 7461 7465 2833 302c 205b 312c 322c 335d tate(30, [1,2,3] │ │ │ │ │ +00013dc0: 292c 2074 7261 6e73 6c61 7465 285b 332c ), translate([3, │ │ │ │ │ +00013dd0: 302c 305d 2920 7d20 7b68 6f75 7365 7d0a 0,0]) } {house}. │ │ │ │ │ +00013de0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00013df0: 3134 302e 706e 6722 2074 6578 743d 2249 140.png" text="I │ │ │ │ │ +00013e00: 6d61 6765 2065 7831 3430 206f 6d69 7474 mage ex140 omitt │ │ │ │ │ +00013e10: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00013e20: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00013e30: 656e 742e 2200 085d 0a0a 4167 6169 6e20 ent."..]..Again │ │ │ │ │ +00013e40: 7468 696e 6773 206c 6f6f 6b20 636f 7272 things look corr │ │ │ │ │ +00013e50: 6563 742e 2020 4e6f 7465 2074 6861 7420 ect. Note that │ │ │ │ │ +00013e60: 7468 6520 6869 6464 656e 2073 7572 6661 the hidden surfa │ │ │ │ │ +00013e70: 6365 2061 6c67 6f72 6974 686d 0a68 616e ce algorithm.han │ │ │ │ │ +00013e80: 646c 6573 2069 6e74 6572 7365 6374 696e dles intersectin │ │ │ │ │ +00013e90: 6720 706f 6c79 676f 6e73 2063 6f72 7265 g polygons corre │ │ │ │ │ +00013ea0: 6374 6c79 2077 6865 7265 2073 6f6d 6520 ctly where some │ │ │ │ │ +00013eb0: 636f 7069 6573 206f 6620 7468 6520 686f copies of the ho │ │ │ │ │ +00013ec0: 7573 650a 6f76 6572 6c61 702e 0a0a 2020 use.overlap... │ │ │ │ │ +00013ed0: 204c 6574 2773 206c 6179 206f 7574 2074 Let's lay out t │ │ │ │ │ +00013ee0: 6865 2067 656f 6d65 7472 7920 6f66 2070 he geometry of p │ │ │ │ │ +00013ef0: 6572 7370 6563 7469 7665 2070 726f 6a65 erspective proje │ │ │ │ │ +00013f00: 6374 696f 6e20 6f66 2074 6865 2068 6f75 ction of the hou │ │ │ │ │ +00013f10: 7365 0a6f 6e74 6f20 6120 706c 616e 6520 se.onto a plane │ │ │ │ │ +00013f20: 7769 7468 2072 6179 7320 7061 7373 696e with rays passin │ │ │ │ │ +00013f30: 6720 7468 726f 7567 6820 7468 6520 6f72 g through the or │ │ │ │ │ +00013f40: 6967 696e 2e20 2042 6567 696e 2062 7920 igin. Begin by │ │ │ │ │ +00013f50: 706f 7369 7469 6f6e 696e 670a 7468 6520 positioning.the │ │ │ │ │ +00013f60: 686f 7573 6520 7477 656c 7665 2075 6e69 house twelve uni │ │ │ │ │ +00013f70: 7473 2062 6163 6b20 6f6e 2074 6865 206e ts back on the n │ │ │ │ │ +00013f80: 6567 6174 6976 6520 7a2d 6178 6973 2061 egative z-axis a │ │ │ │ │ +00013f90: 6e64 2061 6464 696e 6720 6120 7365 7420 nd adding a set │ │ │ │ │ +00013fa0: 6f66 0a63 6f6f 7264 696e 6174 6520 6178 of.coordinate ax │ │ │ │ │ +00013fb0: 6573 2e20 2054 6f20 6d6f 7665 2074 6865 es. To move the │ │ │ │ │ +00013fc0: 2068 6f75 7365 2077 6520 6e65 6564 206f house we need o │ │ │ │ │ +00013fd0: 6e6c 7920 6368 616e 6765 2074 6865 2022 nly change the " │ │ │ │ │ +00013fe0: 686f 7573 650a 706f 7369 7469 6f6e 696e house.positionin │ │ │ │ │ +00013ff0: 6722 2074 7261 6e73 666f 726d 2064 6566 g" transform def │ │ │ │ │ +00014000: 696e 6564 2065 6172 6c69 6572 2e0a 2020 ined earlier.. │ │ │ │ │ +00014010: 6465 6620 6870 2072 6f74 6174 6528 2d34 def hp rotate(-4 │ │ │ │ │ +00014020: 302c 205b 302c 312c 305d 2920 7468 656e 0, [0,1,0]) then │ │ │ │ │ +00014030: 2074 7261 6e73 6c61 7465 285b 302c 302c translate([0,0, │ │ │ │ │ +00014040: 2d31 325d 290a 2020 6465 6620 6178 6573 -12]). def axes │ │ │ │ │ +00014050: 207b 0a20 2020 2064 6566 2073 7a20 310a {. def sz 1. │ │ │ │ │ +00014060: 2020 2020 6c69 6e65 205b 6172 726f 7773 line [arrows │ │ │ │ │ +00014070: 3d3c 2d3e 5d20 2873 7a2c 302c 3029 284f =<->] (sz,0,0)(O │ │ │ │ │ +00014080: 2928 302c 737a 2c30 290a 2020 2020 6c69 )(0,sz,0). li │ │ │ │ │ +00014090: 6e65 205b 6172 726f 7773 3d2d 3e5d 2020 ne [arrows=->] │ │ │ │ │ +000140a0: 284f 2928 302c 302c 737a 290a 2020 2020 (O)(0,0,sz). │ │ │ │ │ +000140b0: 6c69 6e65 205b 6c69 6e65 7769 6474 683d line [linewidth= │ │ │ │ │ +000140c0: 2e32 7074 2c6c 696e 6563 6f6c 6f72 3d62 .2pt,linecolor=b │ │ │ │ │ +000140d0: 6c75 652c 6c69 6e65 7374 796c 653d 6461 lue,linestyle=da │ │ │ │ │ +000140e0: 7368 6564 5d20 284f 2928 302c 302c 2d31 shed] (O)(0,0,-1 │ │ │ │ │ +000140f0: 3029 0a20 2020 2073 7065 6369 616c 207c 0). special | │ │ │ │ │ +00014100: 5c75 7075 745b 725d 2331 7b24 7824 7d5c \uput[r]#1{$x$}\ │ │ │ │ │ +00014110: 7570 7574 5b75 5d23 327b 2479 247d 5c75 uput[u]#2{$y$}\u │ │ │ │ │ +00014120: 7075 745b 6c5d 2333 7b24 7a24 7d7c 0a20 put[l]#3{$z$}|. │ │ │ │ │ +00014130: 2020 2020 2028 737a 2c30 2c30 2928 302c (sz,0,0)(0, │ │ │ │ │ +00014140: 737a 2c30 2928 302c 302c 737a 290a 2020 sz,0)(0,0,sz). │ │ │ │ │ +00014150: 7d0a 0a20 2020 5469 6d65 2066 6f72 2061 }.. Time for a │ │ │ │ │ +00014160: 6e6f 7468 6572 2074 6573 742e 2020 4c65 nother test. Le │ │ │ │ │ +00014170: 7427 7320 6275 696c 6420 6120 7265 616c t's build a real │ │ │ │ │ +00014180: 2076 6965 7720 7472 616e 7366 6f72 6d2c view transform, │ │ │ │ │ +00014190: 2063 7265 6174 696e 6720 610a e280 9c76 creating a....v │ │ │ │ │ +000141a0: 6972 7475 616c 2063 616d 6572 61e2 809d irtual camera... │ │ │ │ │ +000141b0: 2074 6f20 6c6f 6f6b 2061 7420 7468 6520 to look at the │ │ │ │ │ +000141c0: 7363 656e 6520 7765 2061 7265 2063 6f6e scene we are con │ │ │ │ │ +000141d0: 7374 7275 6374 696e 672e 2020 5265 706c structing. Repl │ │ │ │ │ +000141e0: 6163 6520 7468 650a e280 9872 6570 6561 ace the....repea │ │ │ │ │ +000141f0: 74e2 8099 2077 6974 680a 2020 6465 6620 t... with. def │ │ │ │ │ +00014200: 6579 6520 2831 302c 342c 3130 290a 2020 eye (10,4,10). │ │ │ │ │ +00014210: 6465 6620 6c6f 6f6b 5f61 7420 2830 2c30 def look_at (0,0 │ │ │ │ │ +00014220: 2c2d 3529 0a20 2070 7574 207b 2076 6965 ,-5). put { vie │ │ │ │ │ +00014230: 7728 2865 7965 292c 2028 6c6f 6f6b 5f61 w((eye), (look_a │ │ │ │ │ +00014240: 7429 2920 7d20 7b20 7b68 6f75 7365 7d7b t)) } { {house}{ │ │ │ │ │ +00014250: 6178 6573 7d20 7d0a 2020 2054 6865 20e2 axes} }. The . │ │ │ │ │ +00014260: 809c 7669 6577 2074 7261 6e73 666f 726d ..view transform │ │ │ │ │ +00014270: e280 9d20 7265 706f 7369 7469 6f6e 7320 ... repositions │ │ │ │ │ +00014280: 7468 6520 7363 656e 6520 736f 2074 6861 the scene so tha │ │ │ │ │ +00014290: 7420 7468 6520 706f 696e 7420 e280 9865 t the point ...e │ │ │ │ │ +000142a0: 7965 e280 9920 6973 0a61 7420 7468 6520 ye... is.at the │ │ │ │ │ +000142b0: 6f72 6967 696e 2061 6e64 2074 6865 2064 origin and the d │ │ │ │ │ +000142c0: 6972 6563 7469 6f6e 2066 726f 6d20 e280 irection from .. │ │ │ │ │ +000142d0: 9865 7965 e280 9920 746f 20e2 8098 6c6f .eye... to ...lo │ │ │ │ │ +000142e0: 6f6b 5f61 74e2 8099 2069 7320 7468 6520 ok_at... is the │ │ │ │ │ +000142f0: 6e65 6761 7469 7665 0a7a 2d61 7869 732e negative.z-axis. │ │ │ │ │ +00014300: 2020 5468 6973 2072 6571 7569 7265 7320 This requires │ │ │ │ │ +00014310: 6120 726f 7461 7469 6f6e 2061 6e64 2061 a rotation and a │ │ │ │ │ +00014320: 2074 7261 6e73 6c61 7469 6f6e 2074 6861 translation tha │ │ │ │ │ +00014330: 7420 6172 6520 616c 6c20 7061 636b 6564 t are all packed │ │ │ │ │ +00014340: 0a69 6e74 6f20 7468 6520 636f 6e73 7472 .into the constr │ │ │ │ │ +00014350: 7563 746f 7220 e280 9876 6965 77e2 8099 uctor ...view... │ │ │ │ │ +00014360: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src= │ │ │ │ │ +00014370: 2265 7831 3530 2e70 6e67 2220 7465 7874 "ex150.png" text │ │ │ │ │ +00014380: 3d22 496d 6167 6520 6578 3135 3020 6f6d ="Image ex150 om │ │ │ │ │ +00014390: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve │ │ │ │ │ +000143a0: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do │ │ │ │ │ +000143b0: 6375 6d65 6e74 2e22 0008 5d0a 0a54 6869 cument."..]..Thi │ │ │ │ │ +000143c0: 7320 6973 2073 7461 7274 696e 6720 746f s is starting to │ │ │ │ │ +000143d0: 206c 6f6f 6b20 676f 6f64 2120 2041 6464 look good! Add │ │ │ │ │ +000143e0: 2074 6865 2070 726f 6a65 6374 696f 6e20 the projection │ │ │ │ │ +000143f0: 706c 616e 6520 6861 6c66 2077 6179 0a62 plane half way.b │ │ │ │ │ +00014400: 6574 7765 656e 2074 6865 206f 7269 6769 etween the origi │ │ │ │ │ +00014410: 6e20 616e 6420 7468 6520 686f 7573 6520 n and the house │ │ │ │ │ +00014420: 6174 207a 3d2d 352e 2020 5765 276c 6c20 at z=-5. We'll │ │ │ │ │ +00014430: 7472 7920 7468 6520 616e 676c 6520 6172 try the angle ar │ │ │ │ │ +00014440: 6775 6d65 6e74 0a66 6561 7475 7265 206f gument.feature o │ │ │ │ │ +00014450: 6620 e280 9873 7065 6369 616c e280 9920 f ...special... │ │ │ │ │ +00014460: 746f 2070 6f73 6974 696f 6e20 6120 6c61 to position a la │ │ │ │ │ +00014470: 6265 6c2e 0a20 2064 6566 2070 2035 2025 bel.. def p 5 % │ │ │ │ │ +00014480: 2070 726f 6a65 6374 696f 6e20 6469 7374 projection dist │ │ │ │ │ +00014490: 616e 6365 2028 706c 616e 6520 6174 207a ance (plane at z │ │ │ │ │ +000144a0: 3d2d 7029 0a20 2064 6566 2070 726f 6a65 =-p). def proje │ │ │ │ │ +000144b0: 6374 696f 6e5f 706c 616e 6520 7b0a 2020 ction_plane {. │ │ │ │ │ +000144c0: 2020 6465 6620 737a 2031 2e35 0a20 2020 def sz 1.5. │ │ │ │ │ +000144d0: 2070 6f6c 7967 6f6e 2028 2d73 7a2c 2d73 polygon (-sz,-s │ │ │ │ │ +000144e0: 7a2c 2d70 2928 737a 2c2d 737a 2c2d 7029 z,-p)(sz,-sz,-p) │ │ │ │ │ +000144f0: 2873 7a2c 737a 2c2d 7029 282d 737a 2c73 (sz,sz,-p)(-sz,s │ │ │ │ │ +00014500: 7a2c 2d70 290a 2020 2020 7370 6563 6961 z,-p). specia │ │ │ │ │ +00014510: 6c20 7c5c 7270 7574 5b62 5d23 312d 3223 l |\rput[b]#1-2# │ │ │ │ │ +00014520: 337b 5c66 6f6f 746e 6f74 6573 697a 655c 3{\footnotesize\ │ │ │ │ │ +00014530: 7366 2070 726f 6a65 6374 696f 6e20 706c sf projection pl │ │ │ │ │ +00014540: 616e 657d 7c20 0a20 2020 2020 2028 2d73 ane}| . (-s │ │ │ │ │ +00014550: 7a2c 2d73 7a2c 2d70 2928 737a 2c2d 737a z,-sz,-p)(sz,-sz │ │ │ │ │ +00014560: 2c2d 7029 2830 2c2d 737a 2b2e 312c 2d70 ,-p)(0,-sz+.1,-p │ │ │ │ │ +00014570: 290a 2020 7d0a 4164 6420 7b70 726f 6a65 ). }.Add {proje │ │ │ │ │ +00014580: 6374 696f 6e5f 706c 616e 657d 2074 6f20 ction_plane} to │ │ │ │ │ +00014590: 7468 6520 6c69 7374 206f 6620 6f62 6a65 the list of obje │ │ │ │ │ +000145a0: 6374 7320 696e 2074 6865 20e2 8098 7075 cts in the ...pu │ │ │ │ │ +000145b0: 74e2 8099 2061 626f 7665 2e0a 0a00 085b t... above.....[ │ │ │ │ │ +000145c0: 696d 6167 6520 7372 633d 2265 7831 3630 image src="ex160 │ │ │ │ │ +000145d0: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png" text="Imag │ │ │ │ │ +000145e0: 6520 6578 3136 3020 6f6d 6974 7465 6420 e ex160 omitted │ │ │ │ │ +000145f0: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version │ │ │ │ │ +00014600: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document │ │ │ │ │ +00014610: 2e22 0008 5d0a 0a20 2020 5468 6520 7761 ."..].. The wa │ │ │ │ │ +00014620: 7920 7765 2063 6f6e 7374 7275 6374 6564 y we constructed │ │ │ │ │ +00014630: 2074 6865 2070 6f69 6e74 7320 6f66 2074 the points of t │ │ │ │ │ +00014640: 6865 2068 6f75 7365 206e 6f77 206d 616b he house now mak │ │ │ │ │ +00014650: 6573 2069 7420 6561 7379 2074 6f0a 6472 es it easy to.dr │ │ │ │ │ +00014660: 6177 2072 6179 7320 6f66 2070 726f 6a65 aw rays of proje │ │ │ │ │ +00014670: 6374 696f 6e2e 2020 5765 276c 6c20 6361 ction. We'll ca │ │ │ │ │ +00014680: 7374 206f 6e65 2072 6179 2066 726f 6d20 st one ray from │ │ │ │ │ +00014690: 6576 6572 7920 7669 7369 626c 6520 7665 every visible ve │ │ │ │ │ +000146a0: 7274 6578 0a6f 6620 7468 6520 686f 7573 rtex.of the hous │ │ │ │ │ +000146b0: 6520 616e 6420 6465 6669 6e65 206f 7074 e and define opt │ │ │ │ │ +000146c0: 696f 6e73 2073 6f20 7468 6520 6170 7065 ions so the appe │ │ │ │ │ +000146d0: 6172 616e 6365 206f 6620 616c 6c20 7261 arance of all ra │ │ │ │ │ +000146e0: 7973 2063 616e 2062 650a 6368 616e 6765 ys can be.change │ │ │ │ │ +000146f0: 6420 6174 2074 6865 2073 616d 6520 7469 d at the same ti │ │ │ │ │ +00014700: 6d65 2e0a 2020 6465 6620 7072 6f6a 6563 me.. def projec │ │ │ │ │ +00014710: 7469 6f6e 5f72 6179 7320 7b0a 2020 2020 tion_rays {. │ │ │ │ │ +00014720: 6465 6620 7261 796f 7074 205b 6c69 6e65 def rayopt [line │ │ │ │ │ +00014730: 7769 6474 683d 2e33 7074 2c6c 696e 6563 width=.3pt,linec │ │ │ │ │ +00014740: 6f6c 6f72 3d6c 6967 6874 6772 6179 5d0a olor=lightgray]. │ │ │ │ │ +00014750: 2020 2020 6c69 6e65 205b 7261 796f 7074 line [rayopt │ │ │ │ │ +00014760: 5d28 4f29 2870 5231 2920 6c69 6e65 205b ](O)(pR1) line [ │ │ │ │ │ +00014770: 7261 796f 7074 5d28 4f29 2870 5232 2920 rayopt](O)(pR2) │ │ │ │ │ +00014780: 6c69 6e65 5b72 6179 6f70 745d 284f 2928 line[rayopt](O)( │ │ │ │ │ +00014790: 7052 3329 0a20 2020 206c 696e 6520 5b72 pR3). line [r │ │ │ │ │ +000147a0: 6179 6f70 745d 284f 2928 7052 3429 206c ayopt](O)(pR4) l │ │ │ │ │ +000147b0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)( │ │ │ │ │ +000147c0: 7052 3529 0a20 2020 206c 696e 6520 5b72 pR5). line [r │ │ │ │ │ +000147d0: 6179 6f70 745d 284f 2928 704c 3129 206c ayopt](O)(pL1) l │ │ │ │ │ +000147e0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)( │ │ │ │ │ +000147f0: 704c 3229 206c 696e 655b 7261 796f 7074 pL2) line[rayopt │ │ │ │ │ +00014800: 5d28 4f29 2870 4c35 290a 2020 2020 6c69 ](O)(pL5). li │ │ │ │ │ +00014810: 6e65 205b 7261 796f 7074 5d28 4f29 2870 ne [rayopt](O)(p │ │ │ │ │ +00014820: 4431 2920 6c69 6e65 205b 7261 796f 7074 D1) line [rayopt │ │ │ │ │ +00014830: 5d28 4f29 2870 4432 2920 0a20 2020 206c ](O)(pD2) . l │ │ │ │ │ +00014840: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)( │ │ │ │ │ +00014850: 7044 3329 206c 696e 6520 5b72 6179 6f70 pD3) line [rayop │ │ │ │ │ +00014860: 745d 284f 2928 7044 3429 200a 2020 7d0a t](O)(pD4) . }. │ │ │ │ │ +00014870: 5468 6520 7265 7375 6c74 2069 7320 7368 The result is sh │ │ │ │ │ +00014880: 6f77 6e20 6865 7265 2e0a 0a00 085b 696d own here.....[im │ │ │ │ │ +00014890: 6167 6520 7372 633d 2265 7831 3730 2e70 age src="ex170.p │ │ │ │ │ +000148a0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng" text="Image │ │ │ │ │ +000148b0: 6578 3137 3020 6f6d 6974 7465 6420 696e ex170 omitted in │ │ │ │ │ +000148c0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of │ │ │ │ │ +000148d0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document." │ │ │ │ │ +000148e0: 0008 5d0a 0a54 6865 2072 6179 7320 7069 ..]..The rays pi │ │ │ │ │ +000148f0: 6572 6365 2074 6865 2070 726f 6a65 6374 erce the project │ │ │ │ │ +00014900: 696f 6e20 706c 616e 6520 6174 2074 6865 ion plane at the │ │ │ │ │ +00014910: 2063 6f72 7265 7370 6f6e 6469 6e67 2070 corresponding p │ │ │ │ │ +00014920: 6f69 6e74 7320 6f6e 2074 6865 0a70 6572 oints on the.per │ │ │ │ │ +00014930: 7370 6563 7469 7665 2069 6d61 6765 2077 spective image w │ │ │ │ │ +00014940: 6520 6172 6520 7472 7969 6e67 2074 6f20 e are trying to │ │ │ │ │ +00014950: 6472 6177 2e20 2041 6c62 7265 6368 7420 draw. Albrecht │ │ │ │ │ +00014960: 44c3 bc72 6572 2061 6e64 2068 6973 0a52 D..rer and his.R │ │ │ │ │ +00014970: 656e 6169 7373 616e 6365 2063 6f6e 7465 enaissance conte │ │ │ │ │ +00014980: 6d70 6f72 6172 6965 7320 6861 6420 7468 mporaries had th │ │ │ │ │ +00014990: 6520 7361 6d65 2069 6465 6120 696e 2074 e same idea in t │ │ │ │ │ +000149a0: 6865 2065 6172 6c79 2031 3530 3027 732e he early 1500's. │ │ │ │ │ +000149b0: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=" │ │ │ │ │ +000149c0: 6475 6572 6572 2e70 6e67 2220 7465 7874 duerer.png" text │ │ │ │ │ +000149d0: 3d22 496d 6167 6520 6f66 2044 7565 7265 ="Image of Duere │ │ │ │ │ +000149e0: 7227 7320 7065 7273 7065 6374 6976 6520 r's perspective │ │ │ │ │ +000149f0: 636f 6d70 7574 6572 206f 6d69 7474 6564 computer omitted │ │ │ │ │ +00014a00: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ +00014a10: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ +00014a20: 742e 2200 085d 0a0a 2020 2041 6c6c 2074 t."..].. All t │ │ │ │ │ +00014a30: 6861 7427 7320 6c65 6674 2069 7320 746f hat's left is to │ │ │ │ │ +00014a40: 2066 696e 6420 6120 7761 7920 746f 2063 find a way to c │ │ │ │ │ +00014a50: 6f6e 6e65 6374 2074 6865 2070 6f69 6e74 onnect the point │ │ │ │ │ +00014a60: 7320 6f66 2074 6865 2068 6f75 7365 0a6f s of the house.o │ │ │ │ │ +00014a70: 6e20 7468 6520 7072 6f6a 6563 7469 6f6e n the projection │ │ │ │ │ +00014a80: 2070 6c61 6e65 2e20 2057 6520 636f 756c plane. We coul │ │ │ │ │ +00014a90: 6420 7075 6c6c 206f 7574 2061 2067 6f6f d pull out a goo │ │ │ │ │ +00014aa0: 6420 636f 6d70 7574 6572 2067 7261 7068 d computer graph │ │ │ │ │ +00014ab0: 6963 730a 7465 7874 2c20 6669 6e64 2074 ics.text, find t │ │ │ │ │ +00014ac0: 6865 206e 6563 6573 7361 7279 206d 6174 he necessary mat │ │ │ │ │ +00014ad0: 7269 782c 2061 6e64 2065 6e74 6572 2069 rix, and enter i │ │ │ │ │ +00014ae0: 7420 6f75 7273 656c 7665 7320 6173 2061 t ourselves as a │ │ │ │ │ +00014af0: 2074 7261 6e73 666f 726d 0a6c 6974 6572 transform.liter │ │ │ │ │ +00014b00: 616c 2e20 202a 4e6f 7465 2054 7261 6e73 al. *Note Trans │ │ │ │ │ +00014b10: 666f 726d 206c 6974 6572 616c 733a 3a2e form literals::. │ │ │ │ │ +00014b20: 2020 5468 6174 2077 6f72 6b20 6973 2061 That work is a │ │ │ │ │ +00014b30: 6c72 6561 6479 2064 6f6e 652c 0a68 6f77 lready done,.how │ │ │ │ │ +00014b40: 6576 6572 2e20 2057 6520 6361 6e20 7573 ever. We can us │ │ │ │ │ +00014b50: 6520 7468 6520 e280 9870 726f 6a65 6374 e the ...project │ │ │ │ │ +00014b60: 2870 29e2 8099 2063 6f6e 7374 7275 6374 (p)... construct │ │ │ │ │ +00014b70: 6f72 2e0a 0a20 2020 5468 6572 6520 6172 or... There ar │ │ │ │ │ +00014b80: 6520 7374 696c 6c20 736f 6d65 2064 6574 e still some det │ │ │ │ │ +00014b90: 6169 6c73 2074 6861 7420 7265 7175 6972 ails that requir │ │ │ │ │ +00014ba0: 6520 6361 7265 2e20 2050 726f 6a65 6374 e care. Project │ │ │ │ │ +00014bb0: 696f 6e20 7769 6c6c 0a66 6c61 7474 656e ion will.flatten │ │ │ │ │ +00014bc0: 2077 6861 7465 7665 7220 6973 2074 7261 whatever is tra │ │ │ │ │ +00014bd0: 6e73 666f 726d 6564 206f 6e74 6f20 7468 nsformed onto th │ │ │ │ │ +00014be0: 6520 706c 616e 6520 7a3d 2d70 2e20 2054 e plane z=-p. T │ │ │ │ │ +00014bf0: 6865 7265 666f 7265 2061 6e79 2070 6172 herefore any par │ │ │ │ │ +00014c00: 740a 6f66 2074 6865 2068 6f75 7365 2063 t.of the house c │ │ │ │ │ +00014c10: 6f75 6c64 2064 6973 6170 7065 6172 2062 ould disappear b │ │ │ │ │ +00014c20: 6568 696e 6420 7468 6520 7072 6f6a 6563 ehind the projec │ │ │ │ │ +00014c30: 7469 6f6e 2070 6c61 6e65 2028 7468 6520 tion plane (the │ │ │ │ │ +00014c40: 6869 6464 656e 0a73 7572 6661 6365 2061 hidden.surface a │ │ │ │ │ +00014c50: 6c67 6f72 6974 686d 206f 7264 6572 7320 lgorithm orders │ │ │ │ │ +00014c60: 6f62 6a65 6374 7320 6174 2074 6865 2073 objects at the s │ │ │ │ │ +00014c70: 616d 6520 6465 7074 6820 6172 6269 7472 ame depth arbitr │ │ │ │ │ +00014c80: 6172 696c 7929 2e20 2054 6865 0a64 6f6f arily). The.doo │ │ │ │ │ +00014c90: 7220 6d61 7920 616c 736f 2064 6973 6170 r may also disap │ │ │ │ │ +00014ca0: 7065 6172 2062 6568 696e 6420 7468 6520 pear behind the │ │ │ │ │ +00014cb0: 6672 6f6e 7420 6f66 2074 6865 2068 6f75 front of the hou │ │ │ │ │ +00014cc0: 7365 2e20 2054 6f20 6d61 6b65 2073 7572 se. To make sur │ │ │ │ │ +00014cd0: 650a 6576 6572 7974 6869 6e67 2072 656d e.everything rem │ │ │ │ │ +00014ce0: 6169 6e73 2076 6973 6962 6c65 2c20 7765 ains visible, we │ │ │ │ │ +00014cf0: 276c 6c20 706c 6163 6520 7468 6520 686f 'll place the ho │ │ │ │ │ +00014d00: 7573 6520 6120 7469 6e79 2062 6974 2069 use a tiny bit i │ │ │ │ │ +00014d10: 6e20 6672 6f6e 7420 6f66 0a74 6865 2070 n front of.the p │ │ │ │ │ +00014d20: 726f 6a65 6374 696f 6e20 706c 616e 6520 rojection plane │ │ │ │ │ +00014d30: 616e 6420 6120 7365 636f 6e64 2063 6f70 and a second cop │ │ │ │ │ +00014d40: 7920 6f66 2074 6865 2064 6f6f 7220 696e y of the door in │ │ │ │ │ +00014d50: 2066 726f 6e74 206f 6620 7468 650a 686f front of the.ho │ │ │ │ │ +00014d60: 7573 652e 0a20 2064 6566 2070 726f 6a65 use.. def proje │ │ │ │ │ +00014d70: 6374 696f 6e20 7b0a 2020 2020 2520 6520 ction {. % e │ │ │ │ │ +00014d80: 6973 2061 2073 6d61 6c6c 206e 756d 6265 is a small numbe │ │ │ │ │ +00014d90: 7220 6465 6669 6e65 6420 6162 6f76 650a r defined above. │ │ │ │ │ +00014da0: 2020 2020 7075 7420 7b20 7072 6f6a 6563 put { projec │ │ │ │ │ +00014db0: 7428 7029 2074 6865 6e20 7472 616e 736c t(p) then transl │ │ │ │ │ +00014dc0: 6174 6528 5b30 2c30 2c31 2a65 5d29 207d ate([0,0,1*e]) } │ │ │ │ │ +00014dd0: 207b 686f 7573 657d 0a20 2020 2070 7574 {house}. put │ │ │ │ │ +00014de0: 207b 2070 726f 6a65 6374 2870 2920 7468 { project(p) th │ │ │ │ │ +00014df0: 656e 2074 7261 6e73 6c61 7465 285b 302c en translate([0, │ │ │ │ │ +00014e00: 302c 322a 655d 2920 7d20 7b64 6f6f 727d 0,2*e]) } {door} │ │ │ │ │ +00014e10: 0a20 207d 0a0a 0008 5b69 6d61 6765 2073 . }....[image s │ │ │ │ │ +00014e20: 7263 3d22 6578 3138 302e 706e 6722 2074 rc="ex180.png" t │ │ │ │ │ +00014e30: 6578 743d 2249 6d61 6765 2065 7831 3830 ext="Image ex180 │ │ │ │ │ +00014e40: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ +00014e50: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ +00014e60: 2064 6f63 756d 656e 742e 2200 085d 0a0a document."..].. │ │ │ │ │ +00014e70: 2020 2049 6620 796f 7520 6861 7665 2073 If you have s │ │ │ │ │ +00014e80: 7475 6469 6564 2061 6e64 2075 6e64 6572 tudied and under │ │ │ │ │ +00014e90: 7374 616e 6420 616c 6c20 7468 6973 2c20 stand all this, │ │ │ │ │ +00014ea0: 796f 7520 6172 6520 7765 6c6c 206f 6e20 you are well on │ │ │ │ │ +00014eb0: 7468 6520 7761 790a 746f 2073 7563 6365 the way.to succe │ │ │ │ │ +00014ec0: 7373 2077 6974 6820 e280 9873 6b65 7463 ss with ...sketc │ │ │ │ │ +00014ed0: 68e2 8099 2e20 204e 6f74 2073 686f 776e h.... Not shown │ │ │ │ │ +00014ee0: 2061 7265 2074 6865 2032 3020 6f72 2073 are the 20 or s │ │ │ │ │ +00014ef0: 6f20 6974 6572 6174 696f 6e73 2074 6861 o iterations tha │ │ │ │ │ +00014f00: 740a 7765 7265 2072 6571 7569 7265 6420 t.were required │ │ │ │ │ +00014f10: 746f 2066 696e 6420 6120 7265 6173 6f6e to find a reason │ │ │ │ │ +00014f20: 6162 6c65 2076 6965 7769 6e67 2061 6e67 able viewing ang │ │ │ │ │ +00014f30: 6c65 2061 6e64 2068 6f75 7365 2070 6f73 le and house pos │ │ │ │ │ +00014f40: 6974 696f 6e2c 0a65 7463 2e20 204e 6f6e ition,.etc. Non │ │ │ │ │ +00014f50: 6574 6865 6c65 7373 2c20 7468 6973 2064 etheless, this d │ │ │ │ │ +00014f60: 7261 7769 6e67 2077 6173 2063 6f6d 706c rawing was compl │ │ │ │ │ +00014f70: 6574 6564 2069 6e20 6162 6f75 7420 616e eted in about an │ │ │ │ │ +00014f80: 2068 6f75 722e 2020 5768 696c 6520 610a hour. While a. │ │ │ │ │ +00014f90: 4755 4920 746f 6f6c 206d 6179 2068 6176 GUI tool may hav │ │ │ │ │ +00014fa0: 6520 6265 656e 2061 206c 6974 746c 6520 e been a little │ │ │ │ │ +00014fb0: 6661 7374 6572 2c20 6974 2069 7320 756e faster, it is un │ │ │ │ │ +00014fc0: 6c69 6b65 6c79 2074 6861 7420 6120 6e65 likely that a ne │ │ │ │ │ +00014fd0: 770a 6472 6177 696e 672c 2069 7473 656c w.drawing, itsel │ │ │ │ │ +00014fe0: 6620 6120 7065 7273 7065 6374 6976 6520 f a perspective │ │ │ │ │ +00014ff0: 7072 6f6a 6563 7469 6f6e 206f 6620 7468 projection of th │ │ │ │ │ +00015000: 6520 7363 656e 652c 2063 6f75 6c64 2062 e scene, could b │ │ │ │ │ +00015010: 650a 6765 6e65 7261 7465 6420 7769 7468 e.generated with │ │ │ │ │ +00015020: 2074 776f 206d 6f72 6520 6d69 6e75 7465 two more minute │ │ │ │ │ +00015030: 7327 2077 6f72 6b21 2020 4a75 7374 2063 s' work! Just c │ │ │ │ │ +00015040: 6861 6e67 6520 7468 6520 7669 6577 2074 hange the view t │ │ │ │ │ +00015050: 7261 6e73 666f 726d 0a74 6f0a 2020 7075 ransform.to. pu │ │ │ │ │ +00015060: 7420 7b20 7669 6577 2828 6579 6529 2c20 t { view((eye), │ │ │ │ │ +00015070: 286c 6f6f 6b5f 6174 2929 2074 6865 6e20 (look_at)) then │ │ │ │ │ +00015080: 7065 7273 7065 6374 6976 6528 3929 207d perspective(9) } │ │ │ │ │ +00015090: 207b 202e 2e2e 0a61 6e64 2070 726f 6475 { ....and produ │ │ │ │ │ +000150a0: 6365 2074 6869 732e 0a0a 0008 5b69 6d61 ce this.....[ima │ │ │ │ │ +000150b0: 6765 2073 7263 3d22 6578 3139 302e 706e ge src="ex190.pn │ │ │ │ │ +000150c0: 6722 2074 6578 743d 2249 6d61 6765 2065 g" text="Image e │ │ │ │ │ +000150d0: 7831 3930 206f 6d69 7474 6564 2069 6e20 x190 omitted in │ │ │ │ │ +000150e0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of │ │ │ │ │ +000150f0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.". │ │ │ │ │ +00015100: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket │ │ │ │ │ +00015110: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ +00015120: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ +00015130: 696e 672c 2020 4e65 7874 3a20 4120 6869 ing, Next: A hi │ │ │ │ │ +00015140: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ +00015150: 2c20 2050 7265 763a 204f 7665 7276 6965 , Prev: Overvie │ │ │ │ │ +00015160: 772c 2020 5570 3a20 4275 696c 6469 6e67 w, Up: Building │ │ │ │ │ +00015170: 2061 2064 7261 7769 6e67 0a0a 342e 3220 a drawing..4.2 │ │ │ │ │ +00015180: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ +00015190: 696e 670a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ing.============ │ │ │ │ │ +000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4c 6574 ===========..Let │ │ │ │ │ +000151b0: 2773 206c 6f6f 6b20 6174 2061 2064 7261 's look at a dra │ │ │ │ │ +000151c0: 7769 6e67 2074 6861 7420 7265 7072 6573 wing that repres │ │ │ │ │ +000151d0: 656e 7473 2074 6865 206b 696e 6420 6f66 ents the kind of │ │ │ │ │ +000151e0: 2070 726f 626c 656d 20e2 8098 736b 6574 problem ...sket │ │ │ │ │ +000151f0: 6368 e280 9920 7761 730a 6d65 616e 7420 ch... was.meant │ │ │ │ │ +00015200: 746f 2073 6f6c 7665 2d2d 6120 7061 6972 to solve--a pair │ │ │ │ │ +00015210: 206f 6620 7465 7874 626f 6f6b 2066 6967 of textbook fig │ │ │ │ │ +00015220: 7572 6573 2072 6567 6172 6469 6e67 2061 ures regarding a │ │ │ │ │ +00015230: 2070 6f6c 7967 6f6e 616c 0a61 7070 726f polygonal.appro │ │ │ │ │ +00015240: 7869 6d61 7469 6f6e 206f 6620 6120 7472 ximation of a tr │ │ │ │ │ +00015250: 756e 6361 7465 6420 636f 6e65 2e20 2048 uncated cone. H │ │ │ │ │ +00015260: 6572 6520 6172 6520 7468 6520 7069 6374 ere are the pict │ │ │ │ │ +00015270: 7572 6573 2077 6520 7769 6c6c 0a70 726f ures we will.pro │ │ │ │ │ +00015280: 6475 6365 2e0a 0a00 085b 696d 6167 6520 duce.....[image │ │ │ │ │ +00015290: 7372 633d 2265 7832 3530 2e70 6e67 2220 src="ex250.png" │ │ │ │ │ +000152a0: 7465 7874 3d22 496d 6167 6520 6578 3235 text="Image ex25 │ │ │ │ │ +000152b0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex │ │ │ │ │ +000152c0: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi │ │ │ │ │ +000152d0: 7320 646f 6375 6d65 6e74 2e22 0008 5d20 s document."..] │ │ │ │ │ +000152e0: 2020 2020 0008 5b69 6d61 6765 2073 7263 ..[image src │ │ │ │ │ +000152f0: 3d22 6578 3236 302e 706e 6722 2074 6578 ="ex260.png" tex │ │ │ │ │ +00015300: 743d 2249 6d61 6765 2065 7832 3630 206f t="Image ex260 o │ │ │ │ │ +00015310: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v │ │ │ │ │ +00015320: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d │ │ │ │ │ +00015330: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument."..].. │ │ │ │ │ +00015340: 2054 6865 2063 6f6e 6520 7368 6170 6520 The cone shape │ │ │ │ │ +00015350: 6973 206a 7573 7420 6120 7377 6570 7420 is just a swept │ │ │ │ │ +00015360: 6c69 6e65 2077 6974 6820 6e6f 2063 6c6f line with no clo │ │ │ │ │ +00015370: 7375 7265 2074 6167 2061 6e64 2063 756c sure tag and cul │ │ │ │ │ +00015380: 6c69 6e67 0a74 7572 6e65 6420 6f66 662e ling.turned off. │ │ │ │ │ +00015390: 2020 4265 6769 6e20 6279 2073 6574 7469 Begin by setti │ │ │ │ │ +000153a0: 6e67 2075 7020 736f 6d65 2075 7365 6675 ng up some usefu │ │ │ │ │ +000153b0: 6c20 636f 6e73 7461 6e74 732e 0a20 2064 l constants.. d │ │ │ │ │ +000153c0: 6566 204f 2028 302c 302c 3029 2064 6566 ef O (0,0,0) def │ │ │ │ │ +000153d0: 2049 205b 312c 302c 305d 2064 6566 204a I [1,0,0] def J │ │ │ │ │ +000153e0: 205b 302c 312c 305d 2064 6566 204b 205b [0,1,0] def K [ │ │ │ │ │ +000153f0: 302c 302c 315d 0a20 2064 6566 2070 3020 0,0,1]. def p0 │ │ │ │ │ +00015400: 2831 2c32 2920 6465 6620 7031 2028 312e (1,2) def p1 (1. │ │ │ │ │ +00015410: 352c 3029 2064 6566 204e 2038 0a20 2064 5,0) def N 8. d │ │ │ │ │ +00015420: 6566 2073 6567 5f72 6f74 2072 6f74 6174 ef seg_rot rotat │ │ │ │ │ +00015430: 6528 3336 3020 2f20 4e2c 205b 4a5d 290a e(360 / N, [J]). │ │ │ │ │ +00015440: 5468 6520 706f 696e 7473 20e2 8098 7030 The points ...p0 │ │ │ │ │ +00015450: e280 9920 616e 6420 e280 9870 31e2 8099 ... and ...p1... │ │ │ │ │ +00015460: 2061 7265 2074 6865 2065 6e64 2070 6f69 are the end poi │ │ │ │ │ +00015470: 6e74 7320 6f66 2074 6865 206c 696e 6520 nts of the line │ │ │ │ │ +00015480: 746f 2062 6520 7377 6570 742e 0a54 6865 to be swept..The │ │ │ │ │ +00015490: 2064 6566 696e 6974 696f 6e20 e280 9873 definition ...s │ │ │ │ │ +000154a0: 6567 5f72 6f74 e280 9920 6973 2074 6865 eg_rot... is the │ │ │ │ │ +000154b0: 2073 7765 6570 2074 7261 6e73 666f 726d sweep transform │ │ │ │ │ +000154c0: 6174 696f 6e2e 2020 5769 7468 2074 6865 ation. With the │ │ │ │ │ +000154d0: 7365 2c20 7468 650a 636f 6e65 2069 7473 se, the.cone its │ │ │ │ │ +000154e0: 656c 6620 6973 2073 696d 706c 652e 0a20 elf is simple.. │ │ │ │ │ +000154f0: 2073 7765 6570 5b63 756c 6c3d 6661 6c73 sweep[cull=fals │ │ │ │ │ +00015500: 655d 207b 204e 2c20 5b5b 7365 675f 726f e] { N, [[seg_ro │ │ │ │ │ +00015510: 745d 5d20 7d20 6c69 6e65 2870 3029 2870 t]] } line(p0)(p │ │ │ │ │ +00015520: 3129 0a0a 2020 2054 6865 2061 7865 7320 1).. The axes │ │ │ │ │ +00015530: 6172 6520 6e65 7874 2061 6e64 2069 6e63 are next and inc │ │ │ │ │ +00015540: 6c75 6465 2061 6e20 696e 7465 7265 7369 lude an interesi │ │ │ │ │ +00015550: 6e67 2074 7269 636b 2074 6861 7420 7368 ng trick that sh │ │ │ │ │ +00015560: 6f77 7320 7468 650a 6869 6464 656e 2070 ows the.hidden p │ │ │ │ │ +00015570: 6172 7473 2061 7320 646f 7474 6564 206c arts as dotted l │ │ │ │ │ +00015580: 696e 6573 2e20 2054 6865 2073 6563 7265 ines. The secre │ │ │ │ │ +00015590: 7420 6973 2064 7261 7720 7468 6520 6178 t is draw the ax │ │ │ │ │ +000155a0: 6573 2074 7769 6365 2d2d 736f 6c69 640a es twice--solid. │ │ │ │ │ +000155b0: 6c69 6e65 7320 7769 7468 2074 6865 206e lines with the n │ │ │ │ │ +000155c0: 6f72 6d61 6c20 6869 6464 656e 2073 7572 ormal hidden sur │ │ │ │ │ +000155d0: 6661 6365 2061 6c67 6f72 6974 686d 2069 face algorithm i │ │ │ │ │ +000155e0: 6e20 6566 6665 6374 2c20 616e 6420 7468 n effect, and th │ │ │ │ │ +000155f0: 656e 0a64 6f74 7465 6420 7769 7468 2074 en.dotted with t │ │ │ │ │ +00015600: 6865 206f 7074 696f 6e20 e280 986c 6179 he option ...lay │ │ │ │ │ +00015610: 3d6f 7665 72e2 8099 2073 6f20 7468 6174 =over... so that │ │ │ │ │ +00015620: 206e 6f20 706f 6c79 676f 6e73 2063 616e no polygons can │ │ │ │ │ +00015630: 2068 6964 6520 7468 656d 2e0a 2020 6465 hide them.. de │ │ │ │ │ +00015640: 6620 6178 2028 6478 2c30 2c30 2920 2520 f ax (dx,0,0) % │ │ │ │ │ +00015650: 7469 7073 206f 6620 7468 6520 6178 6573 tips of the axes │ │ │ │ │ +00015660: 0a20 2064 6566 2061 7920 2830 2c64 792c . def ay (0,dy, │ │ │ │ │ +00015670: 3029 0a20 2064 6566 2061 7a20 2830 2c30 0). def az (0,0 │ │ │ │ │ +00015680: 2c64 7a29 0a20 206c 696e 655b 6172 726f ,dz). line[arro │ │ │ │ │ +00015690: 7773 3d3c 2d3e 2c6c 696e 6577 6964 7468 ws=<->,linewidth │ │ │ │ │ +000156a0: 3d2e 3470 745d 2861 7829 284f 2928 6179 =.4pt](ax)(O)(ay │ │ │ │ │ +000156b0: 290a 2020 6c69 6e65 5b61 7272 6f77 733d ). line[arrows= │ │ │ │ │ +000156c0: 2d3e 2c6c 696e 6577 6964 7468 3d2e 3470 ->,linewidth=.4p │ │ │ │ │ +000156d0: 745d 284f 2928 617a 290a 2020 2520 7265 t](O)(az). % re │ │ │ │ │ +000156e0: 7065 6174 2064 6f74 7465 6420 6173 2061 peat dotted as a │ │ │ │ │ +000156f0: 6e20 6f76 6572 6c61 7920 746f 2068 696e n overlay to hin │ │ │ │ │ +00015700: 7420 6174 2074 6865 2068 6964 6465 6e20 t at the hidden │ │ │ │ │ +00015710: 6c69 6e65 730a 2020 6c69 6e65 5b6c 6179 lines. line[lay │ │ │ │ │ +00015720: 3d6f 7665 722c 6c69 6e65 7374 796c 653d =over,linestyle= │ │ │ │ │ +00015730: 646f 7474 6564 2c6c 696e 6577 6964 7468 dotted,linewidth │ │ │ │ │ +00015740: 3d2e 3470 745d 2861 7829 284f 2928 6179 =.4pt](ax)(O)(ay │ │ │ │ │ +00015750: 290a 2020 6c69 6e65 5b6c 6179 3d6f 7665 ). line[lay=ove │ │ │ │ │ +00015760: 722c 6c69 6e65 7374 796c 653d 646f 7474 r,linestyle=dott │ │ │ │ │ +00015770: 6564 2c6c 696e 6577 6964 7468 3d2e 3470 ed,linewidth=.4p │ │ │ │ │ +00015780: 745d 284f 2928 617a 290a 2020 7370 6563 t](O)(az). spec │ │ │ │ │ +00015790: 6961 6c7c 5c66 6f6f 746e 6f74 6573 697a ial|\footnotesiz │ │ │ │ │ +000157a0: 650a 2020 2020 2020 2020 2020 5c75 7075 e. \upu │ │ │ │ │ +000157b0: 745b 645d 2331 7b24 7824 7d5c 7570 7574 t[d]#1{$x$}\uput │ │ │ │ │ +000157c0: 5b75 5d23 327b 2479 247d 5c75 7075 745b [u]#2{$y$}\uput[ │ │ │ │ │ +000157d0: 6c5d 2333 7b24 7a24 7d7c 0a20 2020 2028 l]#3{$z$}|. ( │ │ │ │ │ +000157e0: 6178 2928 6179 2928 617a 290a 5468 6520 ax)(ay)(az).The │ │ │ │ │ +000157f0: 6c61 6265 6c73 2061 7265 2061 7070 6c69 labels are appli │ │ │ │ │ +00015800: 6564 2077 6974 6820 e280 9850 5354 7269 ed with ...PSTri │ │ │ │ │ +00015810: 636b 73e2 8099 2073 7065 6369 616c 206f cks... special o │ │ │ │ │ +00015820: 626a 6563 7473 2061 7320 7573 7561 6c2e bjects as usual. │ │ │ │ │ +00015830: 0a0a 2020 2046 6f72 2074 6865 2068 6569 .. For the hei │ │ │ │ │ +00015840: 6768 7420 6469 6d65 6e73 696f 6e20 6d61 ght dimension ma │ │ │ │ │ +00015850: 726b 2c20 7468 6520 706f 7765 7220 6f66 rk, the power of │ │ │ │ │ +00015860: 2061 6666 696e 6520 6172 6974 6865 7469 affine aritheti │ │ │ │ │ +00015870: 6320 6973 2076 6572 790a 6865 6c70 6675 c is very.helpfu │ │ │ │ │ +00015880: 6c2e 0a20 2064 6566 2068 6469 6d5f 7265 l.. def hdim_re │ │ │ │ │ +00015890: 6620 756e 6974 2828 7031 2920 2d20 284f f unit((p1) - (O │ │ │ │ │ +000158a0: 2929 2074 6865 6e20 5b5b 7365 675f 726f )) then [[seg_ro │ │ │ │ │ +000158b0: 745d 5d5e 320a 2020 6465 6620 6330 2028 t]]^2. def c0 ( │ │ │ │ │ +000158c0: 7030 2920 7468 656e 2073 6361 6c65 285b p0) then scale([ │ │ │ │ │ +000158d0: 4a5d 290a 2020 6465 6620 6830 3020 2863 J]). def h00 (c │ │ │ │ │ +000158e0: 3029 202b 2031 2e31 202a 205b 6864 696d 0) + 1.1 * [hdim │ │ │ │ │ +000158f0: 5f72 6566 5d0a 2020 6465 6620 6830 3120 _ref]. def h01 │ │ │ │ │ +00015900: 2863 3029 202b 2031 2e39 202a 205b 6864 (c0) + 1.9 * [hd │ │ │ │ │ +00015910: 696d 5f72 6566 5d0a 2020 6465 6620 6830 im_ref]. def h0 │ │ │ │ │ +00015920: 3220 2863 3029 202b 2031 2e38 202a 205b 2 (c0) + 1.8 * [ │ │ │ │ │ +00015930: 6864 696d 5f72 6566 5d0a 2020 6c69 6e65 hdim_ref]. line │ │ │ │ │ +00015940: 2868 3030 2928 6830 3129 0a20 2064 6566 (h00)(h01). def │ │ │ │ │ +00015950: 2068 3130 2028 4f29 202b 2031 2e36 202a h10 (O) + 1.6 * │ │ │ │ │ +00015960: 205b 6864 696d 5f72 6566 5d0a 2020 6465 [hdim_ref]. de │ │ │ │ │ +00015970: 6620 6831 3120 284f 2920 2b20 312e 3920 f h11 (O) + 1.9 │ │ │ │ │ +00015980: 2a20 5b68 6469 6d5f 7265 665d 0a20 2064 * [hdim_ref]. d │ │ │ │ │ +00015990: 6566 2068 3132 2028 4f29 202b 2031 2e38 ef h12 (O) + 1.8 │ │ │ │ │ +000159a0: 202a 205b 6864 696d 5f72 6566 5d0a 2020 * [hdim_ref]. │ │ │ │ │ +000159b0: 6c69 6e65 2868 3130 2928 6831 3129 0a20 line(h10)(h11). │ │ │ │ │ +000159c0: 206c 696e 655b 6172 726f 7773 3d3c 2d3e line[arrows=<-> │ │ │ │ │ +000159d0: 5d28 6830 3229 2868 3132 290a 2020 6465 ](h02)(h12). de │ │ │ │ │ +000159e0: 6620 686d 3220 2828 6830 3229 202d 2028 f hm2 ((h02) - ( │ │ │ │ │ +000159f0: 4f29 202b 2028 6831 3229 202d 2028 4f29 O) + (h12) - (O) │ │ │ │ │ +00015a00: 2920 2f20 3220 2b20 284f 290a 2020 7370 ) / 2 + (O). sp │ │ │ │ │ +00015a10: 6563 6961 6c7c 5c66 6f6f 746e 6f74 6573 ecial|\footnotes │ │ │ │ │ +00015a20: 697a 655c 7270 7574 2a23 317b 2468 247d ize\rput*#1{$h$} │ │ │ │ │ +00015a30: 7c28 686d 3229 0a20 2020 5468 6520 6765 |(hm2). The ge │ │ │ │ │ +00015a40: 6e65 7261 6c20 6964 6561 2065 6d70 6c6f neral idea emplo │ │ │ │ │ +00015a50: 7965 6420 6865 7265 2069 7320 746f 2063 yed here is to c │ │ │ │ │ +00015a60: 6f6d 7075 7465 2061 2075 6e69 7420 2272 ompute a unit "r │ │ │ │ │ +00015a70: 6566 6572 656e 6365 0a76 6563 746f 7222 eference.vector" │ │ │ │ │ +00015a80: 2070 6172 616c 6c65 6c20 746f 2074 6865 parallel to the │ │ │ │ │ +00015a90: 2078 7a2d 706c 616e 6520 696e 2074 6865 xz-plane in the │ │ │ │ │ +00015aa0: 2064 6573 6972 6564 2064 6972 6563 7469 desired directi │ │ │ │ │ +00015ab0: 6f6e 206f 6620 7468 650a 6469 6d65 6e73 on of the.dimens │ │ │ │ │ +00015ac0: 696f 6e20 6672 6f6d 2074 6865 206f 7269 ion from the ori │ │ │ │ │ +00015ad0: 6769 6e2e 2020 5468 6520 7472 616e 7366 gin. The transf │ │ │ │ │ +00015ae0: 6f72 6d61 7469 6f6e 20e2 8098 5b5b 7365 ormation ...[[se │ │ │ │ │ +00015af0: 675f 726f 745d 5d5e 32e2 8099 2072 6f74 g_rot]]^2... rot │ │ │ │ │ +00015b00: 6174 6573 0a74 776f 2073 6567 6d65 6e74 ates.two segment │ │ │ │ │ +00015b10: 7320 6162 6f75 7420 7468 6520 792d 6178 s about the y-ax │ │ │ │ │ +00015b20: 6973 2e20 2057 6865 6e20 6170 706c 6965 is. When applie │ │ │ │ │ +00015b30: 6420 746f 20e2 8098 2870 3129 202d 2028 d to ...(p1) - ( │ │ │ │ │ +00015b40: 4f29 e280 992c 2074 6865 0a72 6573 756c O)..., the.resul │ │ │ │ │ +00015b50: 7469 6e67 2076 6563 746f 7220 706f 696e ting vector poin │ │ │ │ │ +00015b60: 7473 2074 6f20 7468 6520 7269 6768 7420 ts to the right │ │ │ │ │ +00015b70: 6173 2073 686f 776e 2e20 2049 6e20 7468 as shown. In th │ │ │ │ │ +00015b80: 6973 206d 616e 6e65 722c 2077 6520 6361 is manner, we ca │ │ │ │ │ +00015b90: 6e0a 7069 636b 2061 6e79 2076 6572 7465 n.pick any verte │ │ │ │ │ +00015ba0: 7820 6173 2074 6865 206c 6f63 6174 696f x as the locatio │ │ │ │ │ +00015bb0: 6e20 6f66 2074 6865 2068 6569 6768 7420 n of the height │ │ │ │ │ +00015bc0: 6469 6d65 6e73 696f 6e20 6c69 6e65 7320 dimension lines │ │ │ │ │ +00015bd0: 6279 2076 6172 7969 6e67 0a74 6865 2065 by varying.the e │ │ │ │ │ +00015be0: 7870 6f6e 656e 7420 6f66 20e2 8098 5b5b xponent of ...[[ │ │ │ │ │ +00015bf0: 7365 675f 726f 745d 5de2 8099 2e20 2054 seg_rot]].... T │ │ │ │ │ +00015c00: 6869 7320 6973 206f 6e6c 7920 6f6e 6520 his is only one │ │ │ │ │ +00015c10: 6f66 206d 616e 7920 706f 7373 6962 6c65 of many possible │ │ │ │ │ +00015c20: 0a73 7472 6174 6567 6965 732e 0a0a 2020 .strategies... │ │ │ │ │ +00015c30: 2054 6865 2063 6f6d 7075 7461 7469 6f6e The computation │ │ │ │ │ +00015c40: 206f 6620 e280 9868 6d32 e280 9920 6973 of ...hm2... is │ │ │ │ │ +00015c50: 2061 2075 7365 6675 6c20 6964 696f 6d20 a useful idiom │ │ │ │ │ +00015c60: 666f 7220 6669 6e64 696e 6720 7468 6520 for finding the │ │ │ │ │ +00015c70: 6365 6e74 726f 6964 0a6f 6620 6120 7365 centroid.of a se │ │ │ │ │ +00015c80: 7420 6f66 2070 6f69 6e74 732e 0a0a 2020 t of points... │ │ │ │ │ +00015c90: 2054 6865 2074 776f 2072 6164 6975 7320 The two radius │ │ │ │ │ +00015ca0: 6d61 726b 7320 6172 6520 646f 6e65 2073 marks are done s │ │ │ │ │ +00015cb0: 696d 696c 6172 6c79 2c20 736f 2077 6520 imilarly, so we │ │ │ │ │ +00015cc0: 7072 6573 656e 7420 7468 6520 636f 6465 present the code │ │ │ │ │ +00015cd0: 0a77 6974 686f 7574 2063 6f6d 6d65 6e74 .without comment │ │ │ │ │ +00015ce0: 2e0a 2020 2520 7261 6469 7573 206d 6561 .. % radius mea │ │ │ │ │ +00015cf0: 7375 7265 6d65 6e74 206d 6172 6b73 0a20 surement marks. │ │ │ │ │ +00015d00: 2064 6566 2067 6170 205b 302c 2e32 2c30 def gap [0,.2,0 │ │ │ │ │ +00015d10: 5d20 2025 2075 7365 6420 746f 2063 7265 ] % used to cre │ │ │ │ │ +00015d20: 6174 6520 736d 616c 6c20 7665 7274 6963 ate small vertic │ │ │ │ │ +00015d30: 616c 2067 6170 730a 0a20 2025 2066 6972 al gaps.. % fir │ │ │ │ │ +00015d40: 7374 2072 310a 2020 6465 6620 7570 3120 st r1. def up1 │ │ │ │ │ +00015d50: 5b30 2c33 2e31 2c30 5d20 2520 7469 636b [0,3.1,0] % tick │ │ │ │ │ +00015d60: 2072 6973 6573 2061 626f 7665 2064 696d rises above dim │ │ │ │ │ +00015d70: 656e 7369 6f6e 2061 206c 6974 746c 650a ension a little. │ │ │ │ │ +00015d80: 2020 6465 6620 7231 2028 2870 3129 2074 def r1 ((p1) t │ │ │ │ │ +00015d90: 6865 6e20 5b5b 7365 675f 726f 745d 5d5e hen [[seg_rot]]^ │ │ │ │ │ +00015da0: 2d32 2920 2b20 5b75 7031 5d0a 2020 6465 -2) + [up1]. de │ │ │ │ │ +00015db0: 6620 7231 6320 2872 3129 2074 6865 6e20 f r1c (r1) then │ │ │ │ │ +00015dc0: 7363 616c 6528 5b4a 5d29 0a20 2064 6566 scale([J]). def │ │ │ │ │ +00015dd0: 2072 3174 2028 7231 2920 2b20 5b67 6170 r1t (r1) + [gap │ │ │ │ │ +00015de0: 5d0a 2020 6465 6620 7231 6220 2828 7231 ]. def r1b ((r1 │ │ │ │ │ +00015df0: 7429 2074 6865 6e20 7363 616c 6528 5b31 t) then scale([1 │ │ │ │ │ +00015e00: 2c30 2c31 5d29 2920 2b20 5b67 6170 5d0a ,0,1])) + [gap]. │ │ │ │ │ +00015e10: 2020 6c69 6e65 5b61 7272 6f77 733d 3c2d line[arrows=<- │ │ │ │ │ +00015e20: 3e5d 2872 3163 2928 7231 2920 2025 2064 >](r1c)(r1) % d │ │ │ │ │ +00015e30: 696d 656e 7369 6f6e 206c 696e 650a 2020 imension line. │ │ │ │ │ +00015e40: 6c69 6e65 2872 3162 2928 7231 7429 2020 line(r1b)(r1t) │ │ │ │ │ +00015e50: 2020 2020 2020 2020 2020 2025 2074 6963 % tic │ │ │ │ │ +00015e60: 6b0a 2020 6465 6620 7231 6d20 2828 7231 k. def r1m ((r1 │ │ │ │ │ +00015e70: 2920 2d20 284f 2920 2b20 2872 3163 2920 ) - (O) + (r1c) │ │ │ │ │ +00015e80: 2d20 284f 2929 202f 2032 202b 2028 4f29 - (O)) / 2 + (O) │ │ │ │ │ +00015e90: 2025 206c 6162 656c 2070 6f73 6974 696f % label positio │ │ │ │ │ +00015ea0: 6e0a 2020 7370 6563 6961 6c20 7c5c 666f n. special |\fo │ │ │ │ │ +00015eb0: 6f74 6e6f 7465 7369 7a65 5c72 7075 742a otnotesize\rput* │ │ │ │ │ +00015ec0: 2331 7b24 725f 3124 7d7c 2872 316d 2920 #1{$r_1$}|(r1m) │ │ │ │ │ +00015ed0: 2025 206c 6162 656c 0a0a 2020 2520 7361 % label.. % sa │ │ │ │ │ +00015ee0: 6d65 2064 7269 6c6c 2066 6f72 2072 302c me drill for r0, │ │ │ │ │ +00015ef0: 2062 7574 206d 7573 7420 7072 6f6a 6563 but must projec │ │ │ │ │ +00015f00: 7420 646f 776e 2066 6972 7374 0a20 2064 t down first. d │ │ │ │ │ +00015f10: 6566 2075 7030 205b 302c 322e 372c 305d ef up0 [0,2.7,0] │ │ │ │ │ +00015f20: 0a20 2064 6566 2072 3020 2828 7030 2920 . def r0 ((p0) │ │ │ │ │ +00015f30: 7468 656e 2073 6361 6c65 285b 312c 302c then scale([1,0, │ │ │ │ │ +00015f40: 315d 2920 7468 656e 205b 5b73 6567 5f72 1]) then [[seg_r │ │ │ │ │ +00015f50: 6f74 5d5d 5e2d 3229 202b 205b 7570 305d ot]]^-2) + [up0] │ │ │ │ │ +00015f60: 0a20 2064 6566 2072 3063 2028 7230 2920 . def r0c (r0) │ │ │ │ │ +00015f70: 7468 656e 2073 6361 6c65 285b 4a5d 290a then scale([J]). │ │ │ │ │ +00015f80: 2020 6465 6620 7230 7420 2872 3029 202b def r0t (r0) + │ │ │ │ │ +00015f90: 205b 6761 705d 0a20 2064 6566 2072 3062 [gap]. def r0b │ │ │ │ │ +00015fa0: 2028 2870 3029 2074 6865 6e20 5b5b 7365 ((p0) then [[se │ │ │ │ │ +00015fb0: 675f 726f 745d 5d5e 2d32 2920 2b20 5b67 g_rot]]^-2) + [g │ │ │ │ │ +00015fc0: 6170 5d0a 2020 6c69 6e65 5b61 7272 6f77 ap]. line[arrow │ │ │ │ │ +00015fd0: 733d 3c2d 3e5d 2872 3063 2928 7230 290a s=<->](r0c)(r0). │ │ │ │ │ +00015fe0: 2020 6c69 6e65 2872 3062 2928 7230 7429 line(r0b)(r0t) │ │ │ │ │ +00015ff0: 0a20 2064 6566 2072 306d 2028 2872 3029 . def r0m ((r0) │ │ │ │ │ +00016000: 202d 2028 4f29 202b 2028 7230 6329 202d - (O) + (r0c) - │ │ │ │ │ +00016010: 2028 4f29 2920 2f20 3220 2b20 284f 290a (O)) / 2 + (O). │ │ │ │ │ +00016020: 2020 7370 6563 6961 6c20 7c5c 666f 6f74 special |\foot │ │ │ │ │ +00016030: 6e6f 7465 7369 7a65 5c72 7075 742a 2331 notesize\rput*#1 │ │ │ │ │ +00016040: 7b24 725f 3024 7d7c 2872 306d 290a 0a20 {$r_0$}|(r0m).. │ │ │ │ │ +00016050: 2020 5468 6520 7365 636f 6e64 2064 7261 The second dra │ │ │ │ │ +00016060: 7769 6e67 2075 7365 7320 7468 6520 7361 wing uses the sa │ │ │ │ │ +00016070: 6d65 2074 6563 686e 6971 7565 732e 2020 me techniques. │ │ │ │ │ +00016080: 4f6e 6c79 2074 6865 206d 6574 686f 6420 Only the method │ │ │ │ │ +00016090: 666f 720a 6472 6177 696e 6720 7468 6520 for.drawing the │ │ │ │ │ +000160a0: 656c 6c69 7074 6963 616c 2061 7263 2069 elliptical arc i │ │ │ │ │ +000160b0: 7320 6e65 772e 2020 4865 7265 2069 7320 s new. Here is │ │ │ │ │ +000160c0: 7468 6520 636f 6465 2e0a 2020 6465 6620 the code.. def │ │ │ │ │ +000160d0: 6d69 6420 2828 7030 3029 2d28 4f29 2b28 mid ((p00)-(O)+( │ │ │ │ │ +000160e0: 7031 3029 2d28 4f29 2b28 7031 3129 2d28 p10)-(O)+(p11)-( │ │ │ │ │ +000160f0: 4f29 2b28 7030 3129 2d28 4f29 292f 342b O)+(p01)-(O))/4+ │ │ │ │ │ +00016100: 284f 290a 2020 7370 6563 6961 6c7c 5c72 (O). special|\r │ │ │ │ │ +00016110: 7075 7423 317b 5c70 7363 7573 746f 6d7b put#1{\pscustom{ │ │ │ │ │ +00016120: 0a20 2020 205c 7363 616c 657b 3120 312e . \scale{1 1. │ │ │ │ │ +00016130: 337d 0a20 2020 205c 7073 6172 635b 6172 3}. \psarc[ar │ │ │ │ │ +00016140: 726f 776c 656e 6774 683d 2e35 5d7b 2d3e rowlength=.5]{-> │ │ │ │ │ +00016150: 7d7b 2e32 357d 7b2d 3630 7d7b 3234 307d }{.25}{-60}{240} │ │ │ │ │ +00016160: 7d7d 7c0a 2020 2020 5b6c 6179 3d6f 7665 }}|. [lay=ove │ │ │ │ │ +00016170: 725d 286d 6964 290a 5765 2063 6f75 6c64 r](mid).We could │ │ │ │ │ +00016180: 2068 6176 6520 7377 6570 7420 6120 706f have swept a po │ │ │ │ │ +00016190: 696e 7420 746f 206d 616b 6520 7468 6520 int to make the │ │ │ │ │ +000161a0: 6172 6320 7769 7468 20e2 8098 736b 6574 arc with ...sket │ │ │ │ │ +000161b0: 6368 e280 992c 2062 7574 2075 7369 6e67 ch..., but using │ │ │ │ │ +000161c0: 2061 0ae2 8098 5053 5472 6963 6b73 e280 a....PSTricks.. │ │ │ │ │ +000161d0: 9920 6375 7374 6f6d 2067 7261 7068 6963 . custom graphic │ │ │ │ │ +000161e0: 2077 6173 2073 696d 706c 6572 2e20 2041 was simpler. A │ │ │ │ │ +000161f0: 6761 696e 2077 6520 636f 6d70 7574 6564 gain we computed │ │ │ │ │ +00016200: 2074 6865 2063 656e 7472 6f69 640a 6f66 the centroid.of │ │ │ │ │ +00016210: 2074 6865 2071 7561 6472 696c 6174 6572 the quadrilater │ │ │ │ │ +00016220: 616c 2062 7920 6176 6572 6167 696e 6720 al by averaging │ │ │ │ │ +00016230: 706f 696e 7473 2e20 204e 6f74 6520 7468 points. Note th │ │ │ │ │ +00016240: 6174 2073 6361 6c69 6e67 2069 6e0a 506f at scaling in.Po │ │ │ │ │ +00016250: 7374 7363 7269 7074 2064 6973 746f 7274 stscript distort │ │ │ │ │ +00016260: 7320 7468 6520 6172 726f 7768 6561 642c s the arrowhead, │ │ │ │ │ +00016270: 2062 7574 2069 6e20 7468 6973 2063 6173 but in this cas │ │ │ │ │ +00016280: 6520 7468 6520 6469 7374 6f72 7469 6f6e e the distortion │ │ │ │ │ +00016290: 0a61 6374 7561 6c6c 7920 6c6f 6f6b 7320 .actually looks │ │ │ │ │ +000162a0: 6265 7474 6572 2069 6e20 7468 6520 7072 better in the pr │ │ │ │ │ +000162b0: 6f6a 6563 7469 6f6e 206f 6620 7468 6520 ojection of the │ │ │ │ │ +000162c0: 736c 616e 7465 6420 6661 6365 2e20 2041 slanted face. A │ │ │ │ │ +000162d0: 20e2 8098 736b 6574 6368 e280 990a 6172 ...sketch....ar │ │ │ │ │ +000162e0: 726f 7768 6561 6420 776f 756c 6420 6e6f rowhead would no │ │ │ │ │ +000162f0: 7420 6861 7665 2062 6565 6e20 6469 7374 t have been dist │ │ │ │ │ +00016300: 6f72 7465 642e 0a0a 2020 2054 6865 2063 orted... The c │ │ │ │ │ +00016310: 6f6d 706c 6574 6520 636f 6465 2066 6f72 omplete code for │ │ │ │ │ +00016320: 2074 6869 7320 6578 616d 706c 652c 2077 this example, w │ │ │ │ │ +00016330: 6869 6368 2064 7261 7773 2065 6974 6865 hich draws eithe │ │ │ │ │ +00016340: 7220 6669 6775 7265 0a64 6570 656e 6469 r figure.dependi │ │ │ │ │ +00016350: 6e67 206f 6e20 7468 6520 6465 6669 6e69 ng on the defini │ │ │ │ │ +00016360: 7469 6f6e 206f 6620 7468 6520 7461 6720 tion of the tag │ │ │ │ │ +00016370: e280 983c 6c61 6265 6c65 643e e280 992c ......, │ │ │ │ │ +00016380: 2069 7320 696e 636c 7564 6564 2069 6e20 is included in │ │ │ │ │ +00016390: 7468 650a e280 9873 6b65 7463 68e2 8099 the....sketch... │ │ │ │ │ +000163a0: 2064 6973 7472 6962 7574 696f 6e20 696e distribution in │ │ │ │ │ +000163b0: 2074 6865 2066 696c 6520 e280 9874 7275 the file ...tru │ │ │ │ │ +000163c0: 6e63 6174 6564 636f 6e65 2e73 6be2 8099 ncatedcone.sk... │ │ │ │ │ +000163d0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +000163e0: 682e 696e 666f 2c20 204e 6f64 653a 2041 h.info, Node: A │ │ │ │ │ +000163f0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +00016400: 6465 6c2c 2020 4e65 7874 3a20 4361 7665 del, Next: Cave │ │ │ │ │ +00016410: 6174 732c 2020 5072 6576 3a20 4120 7465 ats, Prev: A te │ │ │ │ │ +00016420: 6368 6e69 6361 6c20 6472 6177 696e 672c chnical drawing, │ │ │ │ │ +00016430: 2020 5570 3a20 4275 696c 6469 6e67 2061 Up: Building a │ │ │ │ │ +00016440: 2064 7261 7769 6e67 0a0a 342e 3320 4120 drawing..4.3 A │ │ │ │ │ +00016450: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod │ │ │ │ │ +00016460: 656c 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d el.============= │ │ │ │ │ +00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 6869 ===========..Whi │ │ │ │ │ +00016480: 6c65 20e2 8098 736b 6574 6368 e280 9920 le ...sketch... │ │ │ │ │ +00016490: 7761 7320 6e65 7665 7220 6d65 616e 7420 was never meant │ │ │ │ │ +000164a0: 746f 2062 6520 6120 6765 6f6d 6574 7269 to be a geometri │ │ │ │ │ +000164b0: 6320 6d6f 6465 6c69 6e67 206c 616e 6775 c modeling langu │ │ │ │ │ +000164c0: 6167 652c 2069 740a 636f 6d65 7320 6661 age, it.comes fa │ │ │ │ │ +000164d0: 6972 6c79 2063 6c6f 7365 2e20 2054 6865 irly close. The │ │ │ │ │ +000164e0: 2066 6f6c 6c6f 7769 6e67 2065 7861 6d70 following examp │ │ │ │ │ +000164f0: 6c65 2070 7574 7320 616c 6c20 7765 2068 le puts all we h │ │ │ │ │ +00016500: 6176 6520 7365 656e 2074 6f20 776f 726b ave seen to work │ │ │ │ │ +00016510: 0a69 6e20 6120 7665 7279 2073 696d 706c .in a very simpl │ │ │ │ │ +00016520: 6520 6d6f 6465 6c20 6f66 2074 6865 2068 e model of the h │ │ │ │ │ +00016530: 756d 616e 2068 616e 642e 2020 5374 6172 uman hand. Star │ │ │ │ │ +00016540: 7420 6279 2073 7765 6570 696e 6720 6120 t by sweeping a │ │ │ │ │ +00016550: 6c69 6e65 2074 6f0a 6d61 6b65 2061 2074 line to.make a t │ │ │ │ │ +00016560: 7275 6e63 6174 6564 2063 6f6e 652c 2077 runcated cone, w │ │ │ │ │ +00016570: 6869 6368 2077 696c 6c20 6265 2063 6f70 hich will be cop │ │ │ │ │ +00016580: 6965 6420 6f76 6572 2061 6e64 206f 7665 ied over and ove │ │ │ │ │ +00016590: 7220 6167 6169 6e20 746f 206d 616b 650a r again to make. │ │ │ │ │ +000165a0: 7468 6520 7365 676d 656e 7473 206f 6620 the segments of │ │ │ │ │ +000165b0: 6669 6e67 6572 732e 0a20 2064 6566 204f fingers.. def O │ │ │ │ │ +000165c0: 2028 302c 302c 3029 2025 206f 7269 6769 (0,0,0) % origi │ │ │ │ │ +000165d0: 6e0a 2020 6465 6620 4920 5b31 2c30 2c30 n. def I [1,0,0 │ │ │ │ │ +000165e0: 5d20 6465 6620 4a20 5b30 2c31 2c30 5d20 ] def J [0,1,0] │ │ │ │ │ +000165f0: 6465 6620 4b20 5b30 2c30 2c31 5d20 2520 def K [0,0,1] % │ │ │ │ │ +00016600: 6361 6e6f 6e69 6361 6c20 756e 6974 2076 canonical unit v │ │ │ │ │ +00016610: 6563 746f 7273 0a20 2064 6566 2073 6567 ectors. def seg │ │ │ │ │ +00016620: 6d65 6e74 207b 0a20 2020 2064 6566 206e ment {. def n │ │ │ │ │ +00016630: 5f66 6163 6573 2038 0a20 2020 2073 7765 _faces 8. swe │ │ │ │ │ +00016640: 6570 207b 206e 5f66 6163 6573 3c3e 2c20 ep { n_faces<>, │ │ │ │ │ +00016650: 726f 7461 7465 2833 3630 202f 206e 5f66 rotate(360 / n_f │ │ │ │ │ +00016660: 6163 6573 2c20 5b4a 5d29 207d 200a 2020 aces, [J]) } . │ │ │ │ │ +00016670: 2020 2020 6c69 6e65 2870 726f 7869 6d61 line(proxima │ │ │ │ │ +00016680: 6c5f 7261 642c 2030 2928 6469 7374 616c l_rad, 0)(distal │ │ │ │ │ +00016690: 5f72 6164 2c20 6469 7374 616c 5f6c 656e _rad, distal_len │ │ │ │ │ +000166a0: 290a 2020 7d0a 496e 2068 616e 6420 616e ). }.In hand an │ │ │ │ │ +000166b0: 6174 6f6d 792c 205f 6469 7374 616c 5f20 atomy, _distal_ │ │ │ │ │ +000166c0: 6973 2022 6174 2074 6865 2074 6970 2220 is "at the tip" │ │ │ │ │ +000166d0: 616e 6420 5f70 726f 7869 6d61 6c5f 2069 and _proximal_ i │ │ │ │ │ +000166e0: 7320 2269 6e20 7468 6520 6172 6561 0a6f s "in the area.o │ │ │ │ │ +000166f0: 6620 7468 6520 7061 6c6d 2e22 2020 5765 f the palm." We │ │ │ │ │ +00016700: 2068 6176 6520 6f6d 6974 7465 6420 616c have omitted al │ │ │ │ │ +00016710: 6c20 7468 6520 7363 616c 6172 2063 6f6e l the scalar con │ │ │ │ │ +00016720: 7374 616e 7473 2e20 2059 6f75 2063 616e stants. You can │ │ │ │ │ +00016730: 2066 696e 640a 7468 656d 2069 6e20 e280 find.them in .. │ │ │ │ │ +00016740: 9868 616e 642e 736b e280 992c 2077 6869 .hand.sk..., whi │ │ │ │ │ +00016750: 6368 2069 7320 7072 6f76 6964 6564 2069 ch is provided i │ │ │ │ │ +00016760: 6e20 7468 6520 e280 9873 6b65 7463 68e2 n the ...sketch. │ │ │ │ │ +00016770: 8099 2064 6973 7472 6962 7574 696f 6e2e .. distribution. │ │ │ │ │ +00016780: 0a0a 2020 2057 6520 616c 736f 206e 6565 .. We also nee │ │ │ │ │ +00016790: 6420 6120 7072 6f74 6f74 7970 6963 616c d a prototypical │ │ │ │ │ +000167a0: 2073 7068 6572 6520 746f 2075 7365 2066 sphere to use f │ │ │ │ │ +000167b0: 6f72 2074 6865 206a 6f69 6e74 7320 7468 or the joints th │ │ │ │ │ +000167c0: 656d 7365 6c76 6573 2e0a 2020 6465 6620 emselves.. def │ │ │ │ │ +000167d0: 6a6f 696e 745f 7370 6865 7265 207b 0a20 joint_sphere {. │ │ │ │ │ +000167e0: 2020 2064 6566 206e 5f6a 6f69 6e74 5f66 def n_joint_f │ │ │ │ │ +000167f0: 6163 6573 2038 0a20 2020 2073 7765 6570 aces 8. sweep │ │ │ │ │ +00016800: 205b 6669 6c6c 636f 6c6f 723d 7265 645d [fillcolor=red] │ │ │ │ │ +00016810: 207b 206e 5f6a 6f69 6e74 5f66 6163 6573 { n_joint_faces │ │ │ │ │ +00016820: 2c20 726f 7461 7465 2833 3630 202f 206e , rotate(360 / n │ │ │ │ │ +00016830: 5f6a 6f69 6e74 5f66 6163 6573 2c20 5b4a _joint_faces, [J │ │ │ │ │ +00016840: 5d29 207d 0a20 2020 2020 2073 7765 6570 ]) }. sweep │ │ │ │ │ +00016850: 207b 206e 5f6a 6f69 6e74 5f66 6163 6573 { n_joint_faces │ │ │ │ │ +00016860: 2c20 726f 7461 7465 2831 3830 202f 206e , rotate(180 / n │ │ │ │ │ +00016870: 5f6a 6f69 6e74 5f66 6163 6573 2920 7d20 _joint_faces) } │ │ │ │ │ +00016880: 0a20 2020 2020 2020 2028 302c 202d 6a6f . (0, -jo │ │ │ │ │ +00016890: 696e 745f 7261 6429 0a20 207d 0a0a 2020 int_rad). }.. │ │ │ │ │ +000168a0: 2057 6527 6c6c 206e 6f77 2064 6573 6967 We'll now desig │ │ │ │ │ +000168b0: 6e20 7468 6520 696e 6465 7820 6669 6e67 n the index fing │ │ │ │ │ +000168c0: 6572 2028 6e75 6d62 6572 2031 2069 6e20 er (number 1 in │ │ │ │ │ +000168d0: 6f75 7220 6e6f 7461 7469 6f6e 616c 0a63 our notational.c │ │ │ │ │ +000168e0: 6f6e 7665 6e74 696f 6e3b 2066 696e 6765 onvention; finge │ │ │ │ │ +000168f0: 7220 3020 6973 2074 6865 2074 6875 6d62 r 0 is the thumb │ │ │ │ │ +00016900: 292e 2020 5468 6520 6469 7374 616c 2072 ). The distal r │ │ │ │ │ +00016910: 6f74 6174 696f 6e20 666f 7220 7468 6520 otation for the │ │ │ │ │ +00016920: 6669 6e67 6572 0a61 7070 6c69 6573 206f finger.applies o │ │ │ │ │ +00016930: 6e6c 7920 746f 2074 6865 2074 6970 2c20 nly to the tip, │ │ │ │ │ +00016940: 736f 2077 6520 6465 6669 6e65 2074 6865 so we define the │ │ │ │ │ +00016950: 2066 6f6c 6c6f 7769 6e67 2e0a 2020 6465 following.. de │ │ │ │ │ +00016960: 6620 6469 7374 616c 5f31 207b 0a20 2020 f distal_1 {. │ │ │ │ │ +00016970: 2070 7574 207b 2074 7261 6e73 6c61 7465 put { translate │ │ │ │ │ +00016980: 286a 6f69 6e74 5f67 6170 202a 206a 6f69 (joint_gap * joi │ │ │ │ │ +00016990: 6e74 5f72 6164 202a 205b 4a5d 2920 0a20 nt_rad * [J]) . │ │ │ │ │ +000169a0: 2020 2020 2020 2020 2074 6865 6e20 726f then ro │ │ │ │ │ +000169b0: 7461 7465 2864 6973 7461 6c5f 315f 726f tate(distal_1_ro │ │ │ │ │ +000169c0: 742c 205b 495d 2920 0a20 2020 2020 2020 t, [I]) . │ │ │ │ │ +000169d0: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat │ │ │ │ │ +000169e0: 6528 2864 6973 7461 6c5f 6c65 6e20 2b20 e((distal_len + │ │ │ │ │ +000169f0: 6a6f 696e 745f 6761 7020 2a20 6a6f 696e joint_gap * join │ │ │ │ │ +00016a00: 745f 7261 6429 202a 205b 4a5d 2920 7d0a t_rad) * [J]) }. │ │ │ │ │ +00016a10: 2020 2020 2020 7b73 6567 6d65 6e74 7d0a {segment}. │ │ │ │ │ +00016a20: 2020 2020 7075 7420 7b20 726f 7461 7465 put { rotate │ │ │ │ │ +00016a30: 2864 6973 7461 6c5f 315f 726f 7420 2f20 (distal_1_rot / │ │ │ │ │ +00016a40: 322c 205b 495d 290a 2020 2020 2020 2020 2, [I]). │ │ │ │ │ +00016a50: 2020 7468 656e 2074 7261 6e73 6c61 7465 then translate │ │ │ │ │ +00016a60: 2828 6469 7374 616c 5f6c 656e 202b 206a ((distal_len + j │ │ │ │ │ +00016a70: 6f69 6e74 5f67 6170 202a 206a 6f69 6e74 oint_gap * joint │ │ │ │ │ +00016a80: 5f72 6164 2920 2a20 5b4a 5d29 207d 200a _rad) * [J]) } . │ │ │ │ │ +00016a90: 2020 2020 2020 7b6a 6f69 6e74 5f73 7068 {joint_sph │ │ │ │ │ +00016aa0: 6572 657d 0a20 2020 2070 7574 207b 2073 ere}. put { s │ │ │ │ │ +00016ab0: 6361 6c65 2820 5b4a 5d20 2b20 7072 6f78 cale( [J] + prox │ │ │ │ │ +00016ac0: 696d 616c 5f64 6973 7461 6c5f 7261 7469 imal_distal_rati │ │ │ │ │ +00016ad0: 6f20 2a20 285b 495d 2b5b 4b5d 2920 2920 o * ([I]+[K]) ) │ │ │ │ │ +00016ae0: 7d0a 2020 2020 2020 7b73 6567 6d65 6e74 }. {segment │ │ │ │ │ +00016af0: 7d0a 2020 7d20 200a 5468 6520 6964 656e }. } .The iden │ │ │ │ │ +00016b00: 7469 6669 6572 7320 6865 7265 2061 7265 tifiers here are │ │ │ │ │ +00016b10: 2066 6f72 2073 697a 6520 616e 6420 6c6f for size and lo │ │ │ │ │ +00016b20: 6361 7469 6f6e 2063 6f6e 7374 616e 7473 cation constants │ │ │ │ │ +00016b30: 2e20 2054 6865 2065 7863 6570 7469 6f6e . The exception │ │ │ │ │ +00016b40: 0a69 7320 e280 9864 6973 7461 6c5f 726f .is ...distal_ro │ │ │ │ │ +00016b50: 745f 31e2 8099 2e20 2054 6869 7320 726f t_1.... This ro │ │ │ │ │ +00016b60: 7461 7469 6f6e 2070 6172 616d 6574 6572 tation parameter │ │ │ │ │ +00016b70: 206d 6f64 656c 7320 7468 6520 666c 6578 models the flex │ │ │ │ │ +00016b80: 696e 6720 6f66 2074 6865 0a66 696e 6765 ing of the.finge │ │ │ │ │ +00016b90: 7220 7469 702e 2020 5468 6520 6669 7273 r tip. The firs │ │ │ │ │ +00016ba0: 7420 e280 9870 7574 e280 9920 6d61 6b65 t ...put... make │ │ │ │ │ +00016bb0: 7320 6120 636f 7079 206f 6620 7468 6520 s a copy of the │ │ │ │ │ +00016bc0: 6669 6e67 6572 2073 6567 6d65 6e74 2074 finger segment t │ │ │ │ │ +00016bd0: 6861 7420 6973 0a74 7261 6e73 6c61 7465 hat is.translate │ │ │ │ │ +00016be0: 6420 7570 7761 7264 206a 7573 7420 6661 d upward just fa │ │ │ │ │ +00016bf0: 7220 656e 6f75 6768 2074 6f20 6d61 6b65 r enough to make │ │ │ │ │ +00016c00: 2072 6f6f 6d20 666f 7220 7468 6520 7370 room for the sp │ │ │ │ │ +00016c10: 6865 7269 6361 6c20 6a6f 696e 742e 0a54 herical joint..T │ │ │ │ │ +00016c20: 6865 6e20 6974 2061 7070 6c69 6573 2074 hen it applies t │ │ │ │ │ +00016c30: 6865 2064 6973 7461 6c20 726f 7461 7469 he distal rotati │ │ │ │ │ +00016c40: 6f6e 2e20 2046 696e 616c 6c79 2069 7420 on. Finally it │ │ │ │ │ +00016c50: 7472 616e 736c 6174 6573 2074 6865 2077 translates the w │ │ │ │ │ +00016c60: 686f 6c65 0a61 7373 656d 626c 7920 7570 hole.assembly up │ │ │ │ │ +00016c70: 7761 7264 2061 6761 696e 2074 6f20 6d61 ward again to ma │ │ │ │ │ +00016c80: 6b65 2072 6f6f 6d20 666f 7220 7468 6520 ke room for the │ │ │ │ │ +00016c90: 6d69 6464 6c65 2070 686c 616e 6765 7320 middle phlanges │ │ │ │ │ +00016ca0: 2874 6865 206e 6578 740a 626f 6e65 2074 (the next.bone t │ │ │ │ │ +00016cb0: 6f77 6172 6420 7468 6520 7061 6c6d 292e oward the palm). │ │ │ │ │ +00016cc0: 2020 5468 6520 7365 636f 6e64 20e2 8098 The second ... │ │ │ │ │ +00016cd0: 7075 74e2 8099 2070 6f73 6974 696f 6e73 put... positions │ │ │ │ │ +00016ce0: 2074 6865 2073 7068 6572 652e 2020 5468 the sphere. Th │ │ │ │ │ +00016cf0: 6572 6520 6973 0a61 2072 6f74 6174 696f ere is.a rotatio │ │ │ │ │ +00016d00: 6e20 746f 2070 6c61 6365 2074 6865 2067 n to place the g │ │ │ │ │ +00016d10: 7269 6420 6f6e 2074 6865 2073 7068 6572 rid on the spher │ │ │ │ │ +00016d20: 6520 7375 7266 6163 6520 6174 2061 6e20 e surface at an │ │ │ │ │ +00016d30: 6e69 6365 2061 6e67 6c65 2c0a 7468 656e nice angle,.then │ │ │ │ │ +00016d40: 2061 2074 7261 6e73 6c61 7469 6f6e 2074 a translation t │ │ │ │ │ +00016d50: 6f20 7468 6520 6261 7365 206f 6620 7468 o the base of th │ │ │ │ │ +00016d60: 6520 6469 7374 616c 2070 686c 616e 6765 e distal phlange │ │ │ │ │ +00016d70: 732c 2077 6869 6368 2069 7320 616c 736f s, which is also │ │ │ │ │ +00016d80: 0a63 656e 7465 7220 6f66 2069 7473 2072 .center of its r │ │ │ │ │ +00016d90: 6f74 6174 696f 6e2e 2020 4669 6e61 6c6c otation. Finall │ │ │ │ │ +00016da0: 792c 2074 6865 206c 6173 7420 e280 9870 y, the last ...p │ │ │ │ │ +00016db0: 7574 e280 9920 706f 7369 7469 6f6e 7320 ut... positions │ │ │ │ │ +00016dc0: 7468 6520 6d69 6464 6c65 0a73 6567 6d65 the middle.segme │ │ │ │ │ +00016dd0: 6e74 2069 7473 656c 662e 0a0a 2020 2054 nt itself... T │ │ │ │ │ +00016de0: 6865 206d 6964 646c 6520 6a6f 696e 7420 he middle joint │ │ │ │ │ +00016df0: 6973 2074 6865 206e 6578 7420 6f6e 6520 is the next one │ │ │ │ │ +00016e00: 646f 776e 2c20 7769 7468 2072 6f74 6174 down, with rotat │ │ │ │ │ +00016e10: 696f 6e20 616e 676c 650a e280 986d 6964 ion angle....mid │ │ │ │ │ +00016e20: 646c 655f 726f 745f 31e2 8099 2e20 2057 dle_rot_1.... W │ │ │ │ │ +00016e30: 6865 6e20 7468 6973 2061 6e67 6c65 2063 hen this angle c │ │ │ │ │ +00016e40: 6861 6e67 6573 2c20 7765 206e 6565 6420 hanges, we need │ │ │ │ │ +00016e50: 616c 6c20 7468 6520 6f62 6a65 6374 7320 all the objects │ │ │ │ │ +00016e60: 696e 0ae2 8098 6469 7374 616c 5f31 e280 in....distal_1.. │ │ │ │ │ +00016e70: 9920 746f 2072 6f74 6174 6520 6173 2061 . to rotate as a │ │ │ │ │ +00016e80: 2075 6e69 742e 2020 5468 6973 2069 7320 unit. This is │ │ │ │ │ +00016e90: 7468 6520 7265 6173 6f6e 696e 6720 6265 the reasoning be │ │ │ │ │ +00016ea0: 6869 6e64 2074 6865 206e 6578 740a 6465 hind the next.de │ │ │ │ │ +00016eb0: 6669 6e69 7469 6f6e 2e0a 2020 6465 6620 finition.. def │ │ │ │ │ +00016ec0: 6669 6e67 6572 5f31 207b 0a20 2020 2070 finger_1 {. p │ │ │ │ │ +00016ed0: 7574 207b 2074 7261 6e73 6c61 7465 286a ut { translate(j │ │ │ │ │ +00016ee0: 6f69 6e74 5f67 6170 202a 206a 6f69 6e74 oint_gap * joint │ │ │ │ │ +00016ef0: 5f72 6164 202a 205b 4a5d 290a 2020 2020 _rad * [J]). │ │ │ │ │ +00016f00: 2020 2020 2020 7468 656e 2072 6f74 6174 then rotat │ │ │ │ │ +00016f10: 6528 6d69 6464 6c65 5f31 5f72 6f74 2c20 e(middle_1_rot, │ │ │ │ │ +00016f20: 5b49 5d29 0a20 2020 2020 2020 2020 2074 [I]). t │ │ │ │ │ +00016f30: 6865 6e20 7472 616e 736c 6174 6528 286d hen translate((m │ │ │ │ │ +00016f40: 6964 646c 655f 7261 7469 6f20 2a20 6469 iddle_ratio * di │ │ │ │ │ +00016f50: 7374 616c 5f6c 656e 202b 200a 2020 2020 stal_len + . │ │ │ │ │ 00016f60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00016f70: 2020 2020 6a6f 696e 745f 6761 7020 2a20 joint_gap * │ │ │ │ │ -00016f80: 6a6f 696e 745f 7261 6429 202a 205b 4a5d joint_rad) * [J] │ │ │ │ │ -00016f90: 2920 7d0a 2020 2020 2020 7b64 6973 7461 ) }. {dista │ │ │ │ │ -00016fa0: 6c5f 317d 0a20 2020 2070 7574 207b 2073 l_1}. put { s │ │ │ │ │ -00016fb0: 6361 6c65 2870 726f 7869 6d61 6c5f 6469 cale(proximal_di │ │ │ │ │ -00016fc0: 7374 616c 5f72 6174 696f 290a 2020 2020 stal_ratio). │ │ │ │ │ -00016fd0: 2020 2020 2020 7468 656e 2072 6f74 6174 then rotat │ │ │ │ │ -00016fe0: 6528 6d69 6464 6c65 5f31 5f72 6f74 202f e(middle_1_rot / │ │ │ │ │ -00016ff0: 2032 2c20 5b49 5d29 0a20 2020 2020 2020 2, [I]). │ │ │ │ │ -00017000: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat │ │ │ │ │ -00017010: 6528 286d 6964 646c 655f 7261 7469 6f20 e((middle_ratio │ │ │ │ │ -00017020: 2a20 6469 7374 616c 5f6c 656e 202b 200a * distal_len + . │ │ │ │ │ -00017030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00017040: 2020 2020 2020 2020 2020 6a6f 696e 745f joint_ │ │ │ │ │ -00017050: 6761 7020 2a20 6a6f 696e 745f 7261 6429 gap * joint_rad) │ │ │ │ │ -00017060: 202a 205b 4a5d 2920 7d20 0a20 2020 2020 * [J]) } . │ │ │ │ │ -00017070: 207b 6a6f 696e 745f 7370 6865 7265 7d0a {joint_sphere}. │ │ │ │ │ -00017080: 2020 2020 7075 7420 7b20 7363 616c 6528 put { scale( │ │ │ │ │ -00017090: 206d 6964 646c 655f 7261 7469 6f20 2a20 middle_ratio * │ │ │ │ │ -000170a0: 5b4a 5d20 2b20 0a20 2020 2020 2020 2020 [J] + . │ │ │ │ │ -000170b0: 2020 2020 2020 2020 7072 6f78 696d 616c proximal │ │ │ │ │ -000170c0: 5f64 6973 7461 6c5f 7261 7469 6f5e 3220 _distal_ratio^2 │ │ │ │ │ -000170d0: 2a20 285b 495d 2b5b 4b5d 2920 2920 7d0a * ([I]+[K]) ) }. │ │ │ │ │ -000170e0: 2020 2020 2020 7b73 6567 6d65 6e74 7d0a {segment}. │ │ │ │ │ -000170f0: 2020 7d0a 5468 6973 206c 6f6f 6b73 2076 }.This looks v │ │ │ │ │ -00017100: 6572 7920 7369 6d69 6c61 7220 746f 2074 ery similar to t │ │ │ │ │ -00017110: 6865 2070 7265 7669 6f75 7320 6465 6669 he previous defi │ │ │ │ │ -00017120: 6e69 7469 6f6e 2c20 616e 6420 6974 2069 nition, and it i │ │ │ │ │ -00017130: 732e 2020 5468 650a 696d 706f 7274 616e s. The.importan │ │ │ │ │ -00017140: 7420 6469 6666 6572 656e 6365 2069 7320 t difference is │ │ │ │ │ -00017150: 7468 6174 2072 6174 6865 7220 7468 616e that rather than │ │ │ │ │ -00017160: 2070 6f73 6974 696f 6e69 6e67 2061 6e64 positioning and │ │ │ │ │ -00017170: 2072 6f74 6174 696e 6720 610a 7369 6e67 rotating a.sing │ │ │ │ │ -00017180: 6c65 2073 6567 6d65 6e74 2c20 7765 2070 le segment, we p │ │ │ │ │ -00017190: 6f73 6974 696f 6e20 616e 6420 726f 7461 osition and rota │ │ │ │ │ -000171a0: 7465 2074 6865 2065 6e74 6972 6520 2261 te the entire "a │ │ │ │ │ -000171b0: 7373 656d 626c 7922 2064 6566 696e 6564 ssembly" defined │ │ │ │ │ -000171c0: 2061 730a e280 9864 6973 7461 6c5f 31e2 as....distal_1. │ │ │ │ │ -000171d0: 8099 2e20 2054 6865 2072 6573 7420 6973 ... The rest is │ │ │ │ │ -000171e0: 206a 7573 7420 6172 6974 686d 6574 6963 just arithmetic │ │ │ │ │ -000171f0: 2074 6f20 636f 6d70 7574 6520 7369 7a65 to compute size │ │ │ │ │ -00017200: 7320 616e 6420 706f 7369 7469 6f6e 730a s and positions. │ │ │ │ │ -00017210: 7468 6174 206c 6f6f 6b20 6e69 6365 2e20 that look nice. │ │ │ │ │ -00017220: 2054 6865 206c 6173 7420 e280 9870 7574 The last ...put │ │ │ │ │ -00017230: e280 9920 706c 6163 6573 2061 6e20 6170 ... places an ap │ │ │ │ │ -00017240: 7072 6f70 7269 6174 656c 7920 7368 6170 propriately shap │ │ │ │ │ -00017250: 6564 2073 6567 6d65 6e74 0a74 6861 7420 ed segment.that │ │ │ │ │ -00017260: 6973 2074 6865 205f 7072 6f78 696d 616c is the _proximal │ │ │ │ │ -00017270: 2070 686c 616e 6765 735f 2c20 7468 6520 phlanges_, the │ │ │ │ │ -00017280: 626f 6e65 2074 6861 7420 6a6f 696e 7320 bone that joins │ │ │ │ │ -00017290: 7468 6520 7061 6c6d 206f 6620 7468 650a the palm of the. │ │ │ │ │ -000172a0: 6861 6e64 2e20 2054 6869 7320 636f 6d70 hand. This comp │ │ │ │ │ -000172b0: 6c65 7465 7320 7468 6520 6669 6e67 6572 letes the finger │ │ │ │ │ -000172c0: 2069 7473 656c 662e 0a0a 2020 2041 6c6c itself... All │ │ │ │ │ -000172d0: 2074 6865 206f 7468 6572 2066 696e 6765 the other finge │ │ │ │ │ -000172e0: 7273 2061 7265 2064 6573 6372 6962 6564 rs are described │ │ │ │ │ -000172f0: 2069 6465 6e74 6963 616c 6c79 2074 6f20 identically to │ │ │ │ │ -00017300: 7468 6973 206f 6e65 2e20 2057 650a 6163 this one. We.ac │ │ │ │ │ -00017310: 636f 756e 7420 666f 7220 7468 6520 6661 count for the fa │ │ │ │ │ -00017320: 6374 2074 6861 7420 7265 616c 2066 696e ct that real fin │ │ │ │ │ -00017330: 6765 7273 2061 7265 2064 6966 6665 7265 gers are differe │ │ │ │ │ -00017340: 6e74 2073 697a 6573 2069 6e20 7468 6520 nt sizes in the │ │ │ │ │ -00017350: 6e65 7874 0a73 7465 702c 2077 6869 6368 next.step, which │ │ │ │ │ -00017360: 2069 7320 746f 2062 7569 6c64 2074 6865 is to build the │ │ │ │ │ -00017370: 2065 6e74 6972 6520 6861 6e64 2e0a 0a20 entire hand... │ │ │ │ │ -00017380: 2020 5468 6520 e280 9868 616e 64e2 8099 The ...hand... │ │ │ │ │ -00017390: 2064 6566 696e 6974 696f 6e20 7468 6174 definition that │ │ │ │ │ -000173a0: 2066 6f6c 6c6f 7773 2069 6e63 6c75 6465 follows include │ │ │ │ │ -000173b0: 7320 6120 7365 6374 696f 6e20 666f 7220 s a section for │ │ │ │ │ -000173c0: 6561 6368 0a66 696e 6765 722e 2020 5765 each.finger. We │ │ │ │ │ -000173d0: 276c 6c20 636f 6e74 696e 7565 2077 6974 'll continue wit │ │ │ │ │ -000173e0: 6820 6669 6e67 6572 2031 2061 6e64 206f h finger 1 and o │ │ │ │ │ -000173f0: 6d69 7420 616c 6c20 7468 6520 6f74 6865 mit all the othe │ │ │ │ │ -00017400: 7273 2e20 2028 4f66 206e 6f74 650a 6973 rs. (Of note.is │ │ │ │ │ -00017410: 2074 6861 7420 7468 6520 7468 756d 6220 that the thumb │ │ │ │ │ -00017420: 6e65 6564 7320 736c 6967 6874 6c79 2073 needs slightly s │ │ │ │ │ -00017430: 7065 6369 616c 2074 7265 6174 6d65 6e74 pecial treatment │ │ │ │ │ -00017440: 2d2d 616e 2065 7874 7261 2072 6f74 6174 --an extra rotat │ │ │ │ │ -00017450: 696f 6e20 746f 0a61 6363 6f75 6e74 2066 ion to.account f │ │ │ │ │ -00017460: 6f72 2069 7473 206f 7070 6f73 696e 6720 or its opposing │ │ │ │ │ -00017470: 616e 676c 652e 2020 5468 6973 2069 7320 angle. This is │ │ │ │ │ -00017480: 636c 6561 7220 696e 2074 6865 2066 756c clear in the ful │ │ │ │ │ -00017490: 6c20 736f 7572 6365 2063 6f64 652e 290a l source code.). │ │ │ │ │ -000174a0: 4e6f 7420 7375 7270 7269 7369 6e67 6c79 Not surprisingly │ │ │ │ │ -000174b0: 2c20 7468 6520 e280 9868 616e 64e2 8099 , the ...hand... │ │ │ │ │ -000174c0: 2064 6566 696e 6974 696f 6e20 6c6f 6f6b definition look │ │ │ │ │ -000174d0: 7320 7665 7279 206d 7563 6820 6c69 6b65 s very much like │ │ │ │ │ -000174e0: 2074 6865 0a70 7265 7669 6f75 7320 7477 the.previous tw │ │ │ │ │ -000174f0: 6f2e 2020 4974 2073 686f 756c 6420 6265 o. It should be │ │ │ │ │ -00017500: 206e 6f20 7375 7270 7269 7365 2074 6861 no surprise tha │ │ │ │ │ -00017510: 7420 7768 656e 2074 6865 2072 6f74 6174 t when the rotat │ │ │ │ │ -00017520: 696f 6e20 7061 7261 6d65 7465 720a e280 ion parameter... │ │ │ │ │ -00017530: 986d 6574 615f 315f 726f 74e2 8099 2063 .meta_1_rot... c │ │ │ │ │ -00017540: 6861 6e67 6573 2c20 7468 6520 656e 7469 hanges, the enti │ │ │ │ │ -00017550: 7265 2066 696e 6765 7220 726f 7461 7465 re finger rotate │ │ │ │ │ -00017560: 7321 2020 5468 6572 6520 6973 2061 6e20 s! There is an │ │ │ │ │ -00017570: 6164 6469 7469 6f6e 616c 0a72 6f74 6174 additional.rotat │ │ │ │ │ -00017580: 696f 6e20 7468 6174 2061 6c6c 6f77 7320 ion that allows │ │ │ │ │ -00017590: 7468 6520 6669 6e67 6572 7320 746f 2073 the fingers to s │ │ │ │ │ -000175a0: 7072 6561 6420 6c61 7465 7261 6c6c 792e pread laterally. │ │ │ │ │ -000175b0: 2020 5765 2073 6179 2074 6865 7365 0a6a We say these.j │ │ │ │ │ -000175c0: 6f69 6e74 7320 6f66 2074 6865 2070 726f oints of the pro │ │ │ │ │ -000175d0: 7869 6d61 6c20 7068 6c61 6e67 6573 2068 ximal phlanges h │ │ │ │ │ -000175e0: 6176 6520 7477 6f20 5f64 6567 7265 6573 ave two _degrees │ │ │ │ │ -000175f0: 206f 6620 6672 6565 646f 6d5f 2e20 2054 of freedom_. T │ │ │ │ │ -00017600: 6865 0a6a 6f69 6e74 7320 6869 6768 6572 he.joints higher │ │ │ │ │ -00017610: 206f 6e20 7468 6520 6669 6e67 6572 2068 on the finger h │ │ │ │ │ -00017620: 6176 6520 6f6e 6c79 206f 6e65 2e20 2046 ave only one. F │ │ │ │ │ -00017630: 696e 616c 6c79 2c20 6561 6368 2066 696e inally, each fin │ │ │ │ │ -00017640: 6765 7220 6973 0a73 6361 6c65 6420 6279 ger is.scaled by │ │ │ │ │ -00017650: 2061 2066 6163 746f 7220 746f 206c 656e a factor to len │ │ │ │ │ -00017660: 6420 6974 2070 726f 706f 7274 696f 6e2e d it proportion. │ │ │ │ │ -00017670: 0a20 2064 6566 2068 616e 6420 7b0a 2020 . def hand {. │ │ │ │ │ -00017680: 2020 2520 6669 6e67 6572 2031 205b 616c % finger 1 [al │ │ │ │ │ -00017690: 6c20 6f74 6865 7220 6669 6e67 6572 7320 l other fingers │ │ │ │ │ -000176a0: 6f6d 6974 7465 645d 0a20 2020 2064 6566 omitted]. def │ │ │ │ │ -000176b0: 2073 6361 6c65 5f31 202e 3835 0a20 2020 scale_1 .85. │ │ │ │ │ -000176c0: 2070 7574 207b 2073 6361 6c65 2873 6361 put { scale(sca │ │ │ │ │ -000176d0: 6c65 5f31 2920 0a20 2020 2020 2020 2020 le_1) . │ │ │ │ │ -000176e0: 2074 6865 6e20 7472 616e 736c 6174 6528 then translate( │ │ │ │ │ -000176f0: 286a 6f69 6e74 5f67 6170 202a 206a 6f69 (joint_gap * joi │ │ │ │ │ -00017700: 6e74 5f72 6164 2920 2a20 5b4a 5d29 0a09 nt_rad) * [J]).. │ │ │ │ │ -00017710: 2020 7468 656e 2072 6f74 6174 6528 6d65 then rotate(me │ │ │ │ │ -00017720: 7461 5f31 5f72 6f74 2c20 5b49 5d29 0a20 ta_1_rot, [I]). │ │ │ │ │ -00017730: 2020 2020 2020 2020 2074 6865 6e20 726f then ro │ │ │ │ │ -00017740: 7461 7465 282d 7370 7265 6164 5f72 6f74 tate(-spread_rot │ │ │ │ │ -00017750: 2c20 5b4b 5d29 0a20 2020 2020 2020 2020 , [K]). │ │ │ │ │ -00017760: 2074 6865 6e20 7472 616e 736c 6174 6528 then translate( │ │ │ │ │ -00017770: 2870 726f 7869 6d61 6c5f 315f 6c6f 6329 (proximal_1_loc) │ │ │ │ │ -00017780: 202d 2028 4f29 2920 7d20 0a20 2020 2020 - (O)) } . │ │ │ │ │ -00017790: 207b 6669 6e67 6572 5f31 7d0a 2020 2020 {finger_1}. │ │ │ │ │ -000177a0: 7075 7420 7b20 7363 616c 6528 7363 616c put { scale(scal │ │ │ │ │ -000177b0: 655f 3120 2a20 7072 6f78 696d 616c 5f64 e_1 * proximal_d │ │ │ │ │ -000177c0: 6973 7461 6c5f 7261 7469 6f5e 3229 0a20 istal_ratio^2). │ │ │ │ │ -000177d0: 2020 2020 2020 2020 2074 6865 6e20 726f then ro │ │ │ │ │ -000177e0: 7461 7465 286d 6574 615f 315f 726f 7420 tate(meta_1_rot │ │ │ │ │ -000177f0: 2f20 322c 205b 495d 290a 2020 2020 2020 / 2, [I]). │ │ │ │ │ -00017800: 2020 2020 7468 656e 2072 6f74 6174 6528 then rotate( │ │ │ │ │ -00017810: 2d73 7072 6561 645f 726f 742c 205b 4b5d -spread_rot, [K] │ │ │ │ │ -00017820: 290a 2020 2020 2020 2020 2020 7468 656e ). then │ │ │ │ │ -00017830: 2074 7261 6e73 6c61 7465 2828 7072 6f78 translate((prox │ │ │ │ │ -00017840: 696d 616c 5f31 5f6c 6f63 2920 2d20 284f imal_1_loc) - (O │ │ │ │ │ -00017850: 2929 207d 200a 2020 2020 2020 7b6a 6f69 )) } . {joi │ │ │ │ │ -00017860: 6e74 5f73 7068 6572 657d 0a0a 2020 2020 nt_sphere}.. │ │ │ │ │ -00017870: 2520 7061 6c6d 0a20 2020 2073 7765 6570 % palm. sweep │ │ │ │ │ -00017880: 207b 2031 2c20 726f 7461 7465 2836 2c20 { 1, rotate(6, │ │ │ │ │ -00017890: 2830 2c31 352c 3029 2c20 5b49 5d29 207d (0,15,0), [I]) } │ │ │ │ │ -000178a0: 0a20 2020 2020 2070 7574 207b 2072 6f74 . put { rot │ │ │ │ │ -000178b0: 6174 6528 2d33 2c20 2830 2c31 352c 3029 ate(-3, (0,15,0) │ │ │ │ │ -000178c0: 2c20 5b49 5d29 207d 207b 0a20 2020 2020 , [I]) } {. │ │ │ │ │ -000178d0: 2020 2070 6f6c 7967 6f6e 2870 726f 7869 polygon(proxi │ │ │ │ │ -000178e0: 6d61 6c5f 315f 6c6f 6329 2870 726f 7869 mal_1_loc)(proxi │ │ │ │ │ -000178f0: 6d61 6c5f 325f 6c6f 6329 0a20 2020 2020 mal_2_loc). │ │ │ │ │ -00017900: 2020 2020 2020 2020 2020 2870 726f 7869 (proxi │ │ │ │ │ -00017910: 6d61 6c5f 335f 6c6f 6329 2870 726f 7869 mal_3_loc)(proxi │ │ │ │ │ -00017920: 6d61 6c5f 345f 6c6f 6329 0a20 2020 2020 mal_4_loc). │ │ │ │ │ -00017930: 2020 2020 2020 2020 2020 2868 3529 2868 (h5)(h │ │ │ │ │ -00017940: 3629 2868 3661 2928 6839 2928 6831 3029 6)(h6a)(h9)(h10) │ │ │ │ │ -00017950: 0a20 2020 2020 2020 2070 6f6c 7967 6f6e . polygon │ │ │ │ │ -00017960: 2868 3661 2928 6837 2928 6838 2928 6839 (h6a)(h7)(h8)(h9 │ │ │ │ │ -00017970: 290a 2020 207d 2020 7d0a 5468 6520 6c61 ). } }.The la │ │ │ │ │ -00017980: 7374 2073 6563 7469 6f6e 206f 6620 7468 st section of th │ │ │ │ │ -00017990: 6520 6465 6669 6e69 7469 6f6e 2063 7265 e definition cre │ │ │ │ │ -000179a0: 6174 6573 2074 6865 2070 6f6c 7974 6f70 ates the polytop │ │ │ │ │ -000179b0: 6520 666f 7220 7468 6520 7061 6c6d 206f e for the palm o │ │ │ │ │ -000179c0: 660a 7468 6520 6861 6e64 2062 7920 e280 f.the hand by .. │ │ │ │ │ -000179d0: 9873 7765 6570 e280 9969 6e67 2061 2031 .sweep...ing a 1 │ │ │ │ │ -000179e0: 302d 7369 6465 6420 706f 6c79 676f 6e20 0-sided polygon │ │ │ │ │ -000179f0: 7468 726f 7567 6820 6120 7665 7279 2073 through a very s │ │ │ │ │ -00017a00: 686f 7274 2061 7263 0a28 3920 6465 6772 hort arc.(9 degr │ │ │ │ │ -00017a10: 6565 7329 2e20 2054 6869 7320 7072 6f76 ees). This prov │ │ │ │ │ -00017a20: 6964 6573 2061 2077 6564 6765 2d73 6861 ides a wedge-sha │ │ │ │ │ -00017a30: 7065 6420 7072 6f66 696c 6520 7768 656e ped profile when │ │ │ │ │ -00017a40: 2076 6965 7765 6420 6672 6f6d 2074 6865 viewed from the │ │ │ │ │ -00017a50: 0a73 6964 652e 2020 5468 6520 7468 6963 .side. The thic │ │ │ │ │ -00017a60: 6b20 656e 6420 6f66 2074 6865 2077 6564 k end of the wed │ │ │ │ │ -00017a70: 6765 2069 7320 7468 6520 7772 6973 742e ge is the wrist. │ │ │ │ │ -00017a80: 2020 4265 6361 7573 6520 7468 6520 706f Because the po │ │ │ │ │ -00017a90: 6c79 676f 6e20 6973 0a63 6f6e 6361 7665 lygon is.concave │ │ │ │ │ -00017aa0: 2c20 6974 2069 7320 7370 6c69 7420 696e , it is split in │ │ │ │ │ -00017ab0: 746f 2069 6e74 6f20 7477 6f20 636f 6e76 to into two conv │ │ │ │ │ -00017ac0: 6578 2073 6861 7065 7320 7769 7468 206e ex shapes with n │ │ │ │ │ -00017ad0: 696e 6520 616e 6420 666f 7572 0a76 6572 ine and four.ver │ │ │ │ │ -00017ae0: 7469 6365 732e 0a0a 2020 2057 6520 6361 tices... We ca │ │ │ │ │ -00017af0: 6e20 6e6f 7720 6861 7665 2066 756e 2070 n now have fun p │ │ │ │ │ -00017b00: 6f73 6974 696f 6e69 6e67 2074 6865 2068 ositioning the h │ │ │ │ │ -00017b10: 616e 6420 6279 2061 646a 7573 7469 6e67 and by adjusting │ │ │ │ │ -00017b20: 2074 6865 2076 6172 696f 7573 0a72 6f74 the various.rot │ │ │ │ │ -00017b30: 6174 696f 6e20 616e 676c 6573 2e20 2054 ation angles. T │ │ │ │ │ -00017b40: 6865 2063 6f6d 706c 6574 6520 736f 7572 he complete sour │ │ │ │ │ -00017b50: 6365 2069 6e63 6c75 6465 7320 6465 6669 ce includes defi │ │ │ │ │ -00017b60: 6e69 7469 6f6e 7320 7769 7468 0a61 6c74 nitions with.alt │ │ │ │ │ -00017b70: 6572 6e61 7469 7665 7320 7468 6174 2069 ernatives that i │ │ │ │ │ -00017b80: 6e63 6c75 6465 2074 6865 2066 6f6c 6c6f nclude the follo │ │ │ │ │ -00017b90: 7769 6e67 2076 6965 7773 2061 6e64 206d wing views and m │ │ │ │ │ -00017ba0: 6f72 652e 0a0a 0008 5b69 6d61 6765 2073 ore.....[image s │ │ │ │ │ -00017bb0: 7263 3d22 6578 3231 302e 706e 6722 2074 rc="ex210.png" t │ │ │ │ │ -00017bc0: 6578 743d 2249 6d61 6765 2065 7832 3130 ext="Image ex210 │ │ │ │ │ -00017bd0: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ -00017be0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ -00017bf0: 2064 6f63 756d 656e 742e 2200 085d 0008 document."..].. │ │ │ │ │ -00017c00: 5b69 6d61 6765 2073 7263 3d22 6578 3232 [image src="ex22 │ │ │ │ │ -00017c10: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00017c20: 6765 2065 7832 3230 206f 6d69 7474 6564 ge ex220 omitted │ │ │ │ │ -00017c30: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00017c40: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00017c50: 742e 2200 085d 0008 5b69 6d61 6765 2073 t."..]..[image s │ │ │ │ │ -00017c60: 7263 3d22 6578 3233 302e 706e 6722 2074 rc="ex230.png" t │ │ │ │ │ -00017c70: 6578 743d 2249 6d61 6765 2065 7832 3330 ext="Image ex230 │ │ │ │ │ -00017c80: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text │ │ │ │ │ -00017c90: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this │ │ │ │ │ -00017ca0: 2064 6f63 756d 656e 742e 2200 085d 0008 document."..].. │ │ │ │ │ -00017cb0: 5b69 6d61 6765 2073 7263 3d22 6578 3234 [image src="ex24 │ │ │ │ │ -00017cc0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png" text="Ima │ │ │ │ │ -00017cd0: 6765 2065 7832 3430 206f 6d69 7474 6564 ge ex240 omitted │ │ │ │ │ -00017ce0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version │ │ │ │ │ -00017cf0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen │ │ │ │ │ -00017d00: 742e 2200 085d 0a0a 1f0a 4669 6c65 3a20 t."..]....File: │ │ │ │ │ -00017d10: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No │ │ │ │ │ -00017d20: 6465 3a20 4361 7665 6174 732c 2020 5072 de: Caveats, Pr │ │ │ │ │ -00017d30: 6576 3a20 4120 6869 6572 6172 6368 6963 ev: A hierarchic │ │ │ │ │ -00017d40: 616c 206d 6f64 656c 2c20 2055 703a 2042 al model, Up: B │ │ │ │ │ -00017d50: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin │ │ │ │ │ -00017d60: 670a 0a34 2e34 2043 6176 6561 7473 0a3d g..4.4 Caveats.= │ │ │ │ │ -00017d70: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a e280 9853 ==========.....S │ │ │ │ │ -00017d80: 6b65 7463 68e2 8099 2069 7320 6120 6661 ketch... is a fa │ │ │ │ │ -00017d90: 6972 6c79 2070 6f77 6572 6675 6c20 746f irly powerful to │ │ │ │ │ -00017da0: 6f6c 2066 6f72 2064 7261 7769 6e67 2c20 ol for drawing, │ │ │ │ │ -00017db0: 6275 742c 206a 7573 7420 6173 2077 6974 but, just as wit │ │ │ │ │ -00017dc0: 6820 5465 582c 0a74 6865 2070 6f77 6572 h TeX,.the power │ │ │ │ │ -00017dd0: 2074 6f20 6372 6561 7465 2062 6561 7574 to create beaut │ │ │ │ │ -00017de0: 6966 756c 2072 6573 756c 7473 2063 6f6d iful results com │ │ │ │ │ -00017df0: 6573 2061 6c6f 6e67 2077 6974 6820 7468 es along with th │ │ │ │ │ -00017e00: 6520 706f 7765 7220 746f 206d 616b 650a e power to make. │ │ │ │ │ -00017e10: 6d69 7374 616b 6573 2e20 2054 6865 2066 mistakes. The f │ │ │ │ │ -00017e20: 6f6c 6c6f 7769 6e67 2061 7265 2073 6f6d ollowing are som │ │ │ │ │ -00017e30: 6520 706f 696e 7473 2077 6865 7265 2063 e points where c │ │ │ │ │ -00017e40: 6172 6520 6973 206e 6563 6573 7361 7279 are is necessary │ │ │ │ │ -00017e50: 2061 6e64 0a77 6865 7265 2074 6865 2063 and.where the c │ │ │ │ │ -00017e60: 7572 7265 6e74 2076 6572 7369 6f6e 206f urrent version o │ │ │ │ │ -00017e70: 6620 e280 9873 6b65 7463 68e2 8099 2069 f ...sketch... i │ │ │ │ │ -00017e80: 7320 6c69 6d69 7465 6420 6f72 2068 6173 s limited or has │ │ │ │ │ -00017e90: 206b 6e6f 776e 2062 7567 732e 0a0a 2a20 known bugs...* │ │ │ │ │ -00017ea0: 4d65 6e75 3a0a 0a2a 204c 696d 6974 7320 Menu:..* Limits │ │ │ │ │ -00017eb0: 6f6e 2065 7272 6f72 2064 6574 6563 7469 on error detecti │ │ │ │ │ -00017ec0: 6f6e 3a3a 2020 2057 6861 7420 736b 6574 on:: What sket │ │ │ │ │ -00017ed0: 6368 2064 6f65 736e 2774 2064 6f2e 0a2a ch doesn't do..* │ │ │ │ │ -00017ee0: 2043 6c69 7070 696e 673a 3a20 2020 2020 Clipping:: │ │ │ │ │ -00017ef0: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ -00017f00: 6f20 636c 6970 7069 6e67 2061 7420 7072 o clipping at pr │ │ │ │ │ -00017f10: 6573 656e 742e 0a2a 2048 6964 6465 6e20 esent..* Hidden │ │ │ │ │ -00017f20: 7375 7266 6163 6520 7265 6d6f 7661 6c3a surface removal: │ │ │ │ │ -00017f30: 3a20 2020 2020 2049 6d70 6572 6665 6374 : Imperfect │ │ │ │ │ -00017f40: 696f 6e73 2074 6f20 6669 782e 0a0a 1f0a ions to fix..... │ │ │ │ │ -00017f50: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ -00017f60: 6f2c 2020 4e6f 6465 3a20 4c69 6d69 7473 o, Node: Limits │ │ │ │ │ -00017f70: 206f 6e20 6572 726f 7220 6465 7465 6374 on error detect │ │ │ │ │ -00017f80: 696f 6e2c 2020 4e65 7874 3a20 436c 6970 ion, Next: Clip │ │ │ │ │ -00017f90: 7069 6e67 2c20 2050 7265 763a 2043 6176 ping, Prev: Cav │ │ │ │ │ -00017fa0: 6561 7473 2c20 2055 703a 2043 6176 6561 eats, Up: Cavea │ │ │ │ │ -00017fb0: 7473 0a0a 342e 342e 3120 4c69 6d69 7473 ts..4.4.1 Limits │ │ │ │ │ -00017fc0: 206f 6e20 e280 9873 6b65 7463 68e2 8099 on ...sketch... │ │ │ │ │ -00017fd0: 2065 7272 6f72 2064 6574 6563 7469 6f6e error detection │ │ │ │ │ -00017fe0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +00016f70: 2020 2020 2020 6a6f 696e 745f 6761 7020 joint_gap │ │ │ │ │ +00016f80: 2a20 6a6f 696e 745f 7261 6429 202a 205b * joint_rad) * [ │ │ │ │ │ +00016f90: 4a5d 2920 7d0a 2020 2020 2020 7b64 6973 J]) }. {dis │ │ │ │ │ +00016fa0: 7461 6c5f 317d 0a20 2020 2070 7574 207b tal_1}. put { │ │ │ │ │ +00016fb0: 2073 6361 6c65 2870 726f 7869 6d61 6c5f scale(proximal_ │ │ │ │ │ +00016fc0: 6469 7374 616c 5f72 6174 696f 290a 2020 distal_ratio). │ │ │ │ │ +00016fd0: 2020 2020 2020 2020 7468 656e 2072 6f74 then rot │ │ │ │ │ +00016fe0: 6174 6528 6d69 6464 6c65 5f31 5f72 6f74 ate(middle_1_rot │ │ │ │ │ +00016ff0: 202f 2032 2c20 5b49 5d29 0a20 2020 2020 / 2, [I]). │ │ │ │ │ +00017000: 2020 2020 2074 6865 6e20 7472 616e 736c then transl │ │ │ │ │ +00017010: 6174 6528 286d 6964 646c 655f 7261 7469 ate((middle_rati │ │ │ │ │ +00017020: 6f20 2a20 6469 7374 616c 5f6c 656e 202b o * distal_len + │ │ │ │ │ +00017030: 200a 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00017040: 2020 2020 2020 2020 2020 2020 6a6f 696e join │ │ │ │ │ +00017050: 745f 6761 7020 2a20 6a6f 696e 745f 7261 t_gap * joint_ra │ │ │ │ │ +00017060: 6429 202a 205b 4a5d 2920 7d20 0a20 2020 d) * [J]) } . │ │ │ │ │ +00017070: 2020 207b 6a6f 696e 745f 7370 6865 7265 {joint_sphere │ │ │ │ │ +00017080: 7d0a 2020 2020 7075 7420 7b20 7363 616c }. put { scal │ │ │ │ │ +00017090: 6528 206d 6964 646c 655f 7261 7469 6f20 e( middle_ratio │ │ │ │ │ +000170a0: 2a20 5b4a 5d20 2b20 0a20 2020 2020 2020 * [J] + . │ │ │ │ │ +000170b0: 2020 2020 2020 2020 2020 7072 6f78 696d proxim │ │ │ │ │ +000170c0: 616c 5f64 6973 7461 6c5f 7261 7469 6f5e al_distal_ratio^ │ │ │ │ │ +000170d0: 3220 2a20 285b 495d 2b5b 4b5d 2920 2920 2 * ([I]+[K]) ) │ │ │ │ │ +000170e0: 7d0a 2020 2020 2020 7b73 6567 6d65 6e74 }. {segment │ │ │ │ │ +000170f0: 7d0a 2020 7d0a 5468 6973 206c 6f6f 6b73 }. }.This looks │ │ │ │ │ +00017100: 2076 6572 7920 7369 6d69 6c61 7220 746f very similar to │ │ │ │ │ +00017110: 2074 6865 2070 7265 7669 6f75 7320 6465 the previous de │ │ │ │ │ +00017120: 6669 6e69 7469 6f6e 2c20 616e 6420 6974 finition, and it │ │ │ │ │ +00017130: 2069 732e 2020 5468 650a 696d 706f 7274 is. The.import │ │ │ │ │ +00017140: 616e 7420 6469 6666 6572 656e 6365 2069 ant difference i │ │ │ │ │ +00017150: 7320 7468 6174 2072 6174 6865 7220 7468 s that rather th │ │ │ │ │ +00017160: 616e 2070 6f73 6974 696f 6e69 6e67 2061 an positioning a │ │ │ │ │ +00017170: 6e64 2072 6f74 6174 696e 6720 610a 7369 nd rotating a.si │ │ │ │ │ +00017180: 6e67 6c65 2073 6567 6d65 6e74 2c20 7765 ngle segment, we │ │ │ │ │ +00017190: 2070 6f73 6974 696f 6e20 616e 6420 726f position and ro │ │ │ │ │ +000171a0: 7461 7465 2074 6865 2065 6e74 6972 6520 tate the entire │ │ │ │ │ +000171b0: 2261 7373 656d 626c 7922 2064 6566 696e "assembly" defin │ │ │ │ │ +000171c0: 6564 2061 730a e280 9864 6973 7461 6c5f ed as....distal_ │ │ │ │ │ +000171d0: 31e2 8099 2e20 2054 6865 2072 6573 7420 1.... The rest │ │ │ │ │ +000171e0: 6973 206a 7573 7420 6172 6974 686d 6574 is just arithmet │ │ │ │ │ +000171f0: 6963 2074 6f20 636f 6d70 7574 6520 7369 ic to compute si │ │ │ │ │ +00017200: 7a65 7320 616e 6420 706f 7369 7469 6f6e zes and position │ │ │ │ │ +00017210: 730a 7468 6174 206c 6f6f 6b20 6e69 6365 s.that look nice │ │ │ │ │ +00017220: 2e20 2054 6865 206c 6173 7420 e280 9870 . The last ...p │ │ │ │ │ +00017230: 7574 e280 9920 706c 6163 6573 2061 6e20 ut... places an │ │ │ │ │ +00017240: 6170 7072 6f70 7269 6174 656c 7920 7368 appropriately sh │ │ │ │ │ +00017250: 6170 6564 2073 6567 6d65 6e74 0a74 6861 aped segment.tha │ │ │ │ │ +00017260: 7420 6973 2074 6865 205f 7072 6f78 696d t is the _proxim │ │ │ │ │ +00017270: 616c 2070 686c 616e 6765 735f 2c20 7468 al phlanges_, th │ │ │ │ │ +00017280: 6520 626f 6e65 2074 6861 7420 6a6f 696e e bone that join │ │ │ │ │ +00017290: 7320 7468 6520 7061 6c6d 206f 6620 7468 s the palm of th │ │ │ │ │ +000172a0: 650a 6861 6e64 2e20 2054 6869 7320 636f e.hand. This co │ │ │ │ │ +000172b0: 6d70 6c65 7465 7320 7468 6520 6669 6e67 mpletes the fing │ │ │ │ │ +000172c0: 6572 2069 7473 656c 662e 0a0a 2020 2041 er itself... A │ │ │ │ │ +000172d0: 6c6c 2074 6865 206f 7468 6572 2066 696e ll the other fin │ │ │ │ │ +000172e0: 6765 7273 2061 7265 2064 6573 6372 6962 gers are describ │ │ │ │ │ +000172f0: 6564 2069 6465 6e74 6963 616c 6c79 2074 ed identically t │ │ │ │ │ +00017300: 6f20 7468 6973 206f 6e65 2e20 2057 650a o this one. We. │ │ │ │ │ +00017310: 6163 636f 756e 7420 666f 7220 7468 6520 account for the │ │ │ │ │ +00017320: 6661 6374 2074 6861 7420 7265 616c 2066 fact that real f │ │ │ │ │ +00017330: 696e 6765 7273 2061 7265 2064 6966 6665 ingers are diffe │ │ │ │ │ +00017340: 7265 6e74 2073 697a 6573 2069 6e20 7468 rent sizes in th │ │ │ │ │ +00017350: 6520 6e65 7874 0a73 7465 702c 2077 6869 e next.step, whi │ │ │ │ │ +00017360: 6368 2069 7320 746f 2062 7569 6c64 2074 ch is to build t │ │ │ │ │ +00017370: 6865 2065 6e74 6972 6520 6861 6e64 2e0a he entire hand.. │ │ │ │ │ +00017380: 0a20 2020 5468 6520 e280 9868 616e 64e2 . The ...hand. │ │ │ │ │ +00017390: 8099 2064 6566 696e 6974 696f 6e20 7468 .. definition th │ │ │ │ │ +000173a0: 6174 2066 6f6c 6c6f 7773 2069 6e63 6c75 at follows inclu │ │ │ │ │ +000173b0: 6465 7320 6120 7365 6374 696f 6e20 666f des a section fo │ │ │ │ │ +000173c0: 7220 6561 6368 0a66 696e 6765 722e 2020 r each.finger. │ │ │ │ │ +000173d0: 5765 276c 6c20 636f 6e74 696e 7565 2077 We'll continue w │ │ │ │ │ +000173e0: 6974 6820 6669 6e67 6572 2031 2061 6e64 ith finger 1 and │ │ │ │ │ +000173f0: 206f 6d69 7420 616c 6c20 7468 6520 6f74 omit all the ot │ │ │ │ │ +00017400: 6865 7273 2e20 2028 4f66 206e 6f74 650a hers. (Of note. │ │ │ │ │ +00017410: 6973 2074 6861 7420 7468 6520 7468 756d is that the thum │ │ │ │ │ +00017420: 6220 6e65 6564 7320 736c 6967 6874 6c79 b needs slightly │ │ │ │ │ +00017430: 2073 7065 6369 616c 2074 7265 6174 6d65 special treatme │ │ │ │ │ +00017440: 6e74 2d2d 616e 2065 7874 7261 2072 6f74 nt--an extra rot │ │ │ │ │ +00017450: 6174 696f 6e20 746f 0a61 6363 6f75 6e74 ation to.account │ │ │ │ │ +00017460: 2066 6f72 2069 7473 206f 7070 6f73 696e for its opposin │ │ │ │ │ +00017470: 6720 616e 676c 652e 2020 5468 6973 2069 g angle. This i │ │ │ │ │ +00017480: 7320 636c 6561 7220 696e 2074 6865 2066 s clear in the f │ │ │ │ │ +00017490: 756c 6c20 736f 7572 6365 2063 6f64 652e ull source code. │ │ │ │ │ +000174a0: 290a 4e6f 7420 7375 7270 7269 7369 6e67 ).Not surprising │ │ │ │ │ +000174b0: 6c79 2c20 7468 6520 e280 9868 616e 64e2 ly, the ...hand. │ │ │ │ │ +000174c0: 8099 2064 6566 696e 6974 696f 6e20 6c6f .. definition lo │ │ │ │ │ +000174d0: 6f6b 7320 7665 7279 206d 7563 6820 6c69 oks very much li │ │ │ │ │ +000174e0: 6b65 2074 6865 0a70 7265 7669 6f75 7320 ke the.previous │ │ │ │ │ +000174f0: 7477 6f2e 2020 4974 2073 686f 756c 6420 two. It should │ │ │ │ │ +00017500: 6265 206e 6f20 7375 7270 7269 7365 2074 be no surprise t │ │ │ │ │ +00017510: 6861 7420 7768 656e 2074 6865 2072 6f74 hat when the rot │ │ │ │ │ +00017520: 6174 696f 6e20 7061 7261 6d65 7465 720a ation parameter. │ │ │ │ │ +00017530: e280 986d 6574 615f 315f 726f 74e2 8099 ...meta_1_rot... │ │ │ │ │ +00017540: 2063 6861 6e67 6573 2c20 7468 6520 656e changes, the en │ │ │ │ │ +00017550: 7469 7265 2066 696e 6765 7220 726f 7461 tire finger rota │ │ │ │ │ +00017560: 7465 7321 2020 5468 6572 6520 6973 2061 tes! There is a │ │ │ │ │ +00017570: 6e20 6164 6469 7469 6f6e 616c 0a72 6f74 n additional.rot │ │ │ │ │ +00017580: 6174 696f 6e20 7468 6174 2061 6c6c 6f77 ation that allow │ │ │ │ │ +00017590: 7320 7468 6520 6669 6e67 6572 7320 746f s the fingers to │ │ │ │ │ +000175a0: 2073 7072 6561 6420 6c61 7465 7261 6c6c spread laterall │ │ │ │ │ +000175b0: 792e 2020 5765 2073 6179 2074 6865 7365 y. We say these │ │ │ │ │ +000175c0: 0a6a 6f69 6e74 7320 6f66 2074 6865 2070 .joints of the p │ │ │ │ │ +000175d0: 726f 7869 6d61 6c20 7068 6c61 6e67 6573 roximal phlanges │ │ │ │ │ +000175e0: 2068 6176 6520 7477 6f20 5f64 6567 7265 have two _degre │ │ │ │ │ +000175f0: 6573 206f 6620 6672 6565 646f 6d5f 2e20 es of freedom_. │ │ │ │ │ +00017600: 2054 6865 0a6a 6f69 6e74 7320 6869 6768 The.joints high │ │ │ │ │ +00017610: 6572 206f 6e20 7468 6520 6669 6e67 6572 er on the finger │ │ │ │ │ +00017620: 2068 6176 6520 6f6e 6c79 206f 6e65 2e20 have only one. │ │ │ │ │ +00017630: 2046 696e 616c 6c79 2c20 6561 6368 2066 Finally, each f │ │ │ │ │ +00017640: 696e 6765 7220 6973 0a73 6361 6c65 6420 inger is.scaled │ │ │ │ │ +00017650: 6279 2061 2066 6163 746f 7220 746f 206c by a factor to l │ │ │ │ │ +00017660: 656e 6420 6974 2070 726f 706f 7274 696f end it proportio │ │ │ │ │ +00017670: 6e2e 0a20 2064 6566 2068 616e 6420 7b0a n.. def hand {. │ │ │ │ │ +00017680: 2020 2020 2520 6669 6e67 6572 2031 205b % finger 1 [ │ │ │ │ │ +00017690: 616c 6c20 6f74 6865 7220 6669 6e67 6572 all other finger │ │ │ │ │ +000176a0: 7320 6f6d 6974 7465 645d 0a20 2020 2064 s omitted]. d │ │ │ │ │ +000176b0: 6566 2073 6361 6c65 5f31 202e 3835 0a20 ef scale_1 .85. │ │ │ │ │ +000176c0: 2020 2070 7574 207b 2073 6361 6c65 2873 put { scale(s │ │ │ │ │ +000176d0: 6361 6c65 5f31 2920 0a20 2020 2020 2020 cale_1) . │ │ │ │ │ +000176e0: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat │ │ │ │ │ +000176f0: 6528 286a 6f69 6e74 5f67 6170 202a 206a e((joint_gap * j │ │ │ │ │ +00017700: 6f69 6e74 5f72 6164 2920 2a20 5b4a 5d29 oint_rad) * [J]) │ │ │ │ │ +00017710: 0a09 2020 7468 656e 2072 6f74 6174 6528 .. then rotate( │ │ │ │ │ +00017720: 6d65 7461 5f31 5f72 6f74 2c20 5b49 5d29 meta_1_rot, [I]) │ │ │ │ │ +00017730: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then │ │ │ │ │ +00017740: 726f 7461 7465 282d 7370 7265 6164 5f72 rotate(-spread_r │ │ │ │ │ +00017750: 6f74 2c20 5b4b 5d29 0a20 2020 2020 2020 ot, [K]). │ │ │ │ │ +00017760: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat │ │ │ │ │ +00017770: 6528 2870 726f 7869 6d61 6c5f 315f 6c6f e((proximal_1_lo │ │ │ │ │ +00017780: 6329 202d 2028 4f29 2920 7d20 0a20 2020 c) - (O)) } . │ │ │ │ │ +00017790: 2020 207b 6669 6e67 6572 5f31 7d0a 2020 {finger_1}. │ │ │ │ │ +000177a0: 2020 7075 7420 7b20 7363 616c 6528 7363 put { scale(sc │ │ │ │ │ +000177b0: 616c 655f 3120 2a20 7072 6f78 696d 616c ale_1 * proximal │ │ │ │ │ +000177c0: 5f64 6973 7461 6c5f 7261 7469 6f5e 3229 _distal_ratio^2) │ │ │ │ │ +000177d0: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then │ │ │ │ │ +000177e0: 726f 7461 7465 286d 6574 615f 315f 726f rotate(meta_1_ro │ │ │ │ │ +000177f0: 7420 2f20 322c 205b 495d 290a 2020 2020 t / 2, [I]). │ │ │ │ │ +00017800: 2020 2020 2020 7468 656e 2072 6f74 6174 then rotat │ │ │ │ │ +00017810: 6528 2d73 7072 6561 645f 726f 742c 205b e(-spread_rot, [ │ │ │ │ │ +00017820: 4b5d 290a 2020 2020 2020 2020 2020 7468 K]). th │ │ │ │ │ +00017830: 656e 2074 7261 6e73 6c61 7465 2828 7072 en translate((pr │ │ │ │ │ +00017840: 6f78 696d 616c 5f31 5f6c 6f63 2920 2d20 oximal_1_loc) - │ │ │ │ │ +00017850: 284f 2929 207d 200a 2020 2020 2020 7b6a (O)) } . {j │ │ │ │ │ +00017860: 6f69 6e74 5f73 7068 6572 657d 0a0a 2020 oint_sphere}.. │ │ │ │ │ +00017870: 2020 2520 7061 6c6d 0a20 2020 2073 7765 % palm. swe │ │ │ │ │ +00017880: 6570 207b 2031 2c20 726f 7461 7465 2836 ep { 1, rotate(6 │ │ │ │ │ +00017890: 2c20 2830 2c31 352c 3029 2c20 5b49 5d29 , (0,15,0), [I]) │ │ │ │ │ +000178a0: 207d 0a20 2020 2020 2070 7574 207b 2072 }. put { r │ │ │ │ │ +000178b0: 6f74 6174 6528 2d33 2c20 2830 2c31 352c otate(-3, (0,15, │ │ │ │ │ +000178c0: 3029 2c20 5b49 5d29 207d 207b 0a20 2020 0), [I]) } {. │ │ │ │ │ +000178d0: 2020 2020 2070 6f6c 7967 6f6e 2870 726f polygon(pro │ │ │ │ │ +000178e0: 7869 6d61 6c5f 315f 6c6f 6329 2870 726f ximal_1_loc)(pro │ │ │ │ │ +000178f0: 7869 6d61 6c5f 325f 6c6f 6329 0a20 2020 ximal_2_loc). │ │ │ │ │ +00017900: 2020 2020 2020 2020 2020 2020 2870 726f (pro │ │ │ │ │ +00017910: 7869 6d61 6c5f 335f 6c6f 6329 2870 726f ximal_3_loc)(pro │ │ │ │ │ +00017920: 7869 6d61 6c5f 345f 6c6f 6329 0a20 2020 ximal_4_loc). │ │ │ │ │ +00017930: 2020 2020 2020 2020 2020 2020 2868 3529 (h5) │ │ │ │ │ +00017940: 2868 3629 2868 3661 2928 6839 2928 6831 (h6)(h6a)(h9)(h1 │ │ │ │ │ +00017950: 3029 0a20 2020 2020 2020 2070 6f6c 7967 0). polyg │ │ │ │ │ +00017960: 6f6e 2868 3661 2928 6837 2928 6838 2928 on(h6a)(h7)(h8)( │ │ │ │ │ +00017970: 6839 290a 2020 207d 2020 7d0a 5468 6520 h9). } }.The │ │ │ │ │ +00017980: 6c61 7374 2073 6563 7469 6f6e 206f 6620 last section of │ │ │ │ │ +00017990: 7468 6520 6465 6669 6e69 7469 6f6e 2063 the definition c │ │ │ │ │ +000179a0: 7265 6174 6573 2074 6865 2070 6f6c 7974 reates the polyt │ │ │ │ │ +000179b0: 6f70 6520 666f 7220 7468 6520 7061 6c6d ope for the palm │ │ │ │ │ +000179c0: 206f 660a 7468 6520 6861 6e64 2062 7920 of.the hand by │ │ │ │ │ +000179d0: e280 9873 7765 6570 e280 9969 6e67 2061 ...sweep...ing a │ │ │ │ │ +000179e0: 2031 302d 7369 6465 6420 706f 6c79 676f 10-sided polygo │ │ │ │ │ +000179f0: 6e20 7468 726f 7567 6820 6120 7665 7279 n through a very │ │ │ │ │ +00017a00: 2073 686f 7274 2061 7263 0a28 3920 6465 short arc.(9 de │ │ │ │ │ +00017a10: 6772 6565 7329 2e20 2054 6869 7320 7072 grees). This pr │ │ │ │ │ +00017a20: 6f76 6964 6573 2061 2077 6564 6765 2d73 ovides a wedge-s │ │ │ │ │ +00017a30: 6861 7065 6420 7072 6f66 696c 6520 7768 haped profile wh │ │ │ │ │ +00017a40: 656e 2076 6965 7765 6420 6672 6f6d 2074 en viewed from t │ │ │ │ │ +00017a50: 6865 0a73 6964 652e 2020 5468 6520 7468 he.side. The th │ │ │ │ │ +00017a60: 6963 6b20 656e 6420 6f66 2074 6865 2077 ick end of the w │ │ │ │ │ +00017a70: 6564 6765 2069 7320 7468 6520 7772 6973 edge is the wris │ │ │ │ │ +00017a80: 742e 2020 4265 6361 7573 6520 7468 6520 t. Because the │ │ │ │ │ +00017a90: 706f 6c79 676f 6e20 6973 0a63 6f6e 6361 polygon is.conca │ │ │ │ │ +00017aa0: 7665 2c20 6974 2069 7320 7370 6c69 7420 ve, it is split │ │ │ │ │ +00017ab0: 696e 746f 2069 6e74 6f20 7477 6f20 636f into into two co │ │ │ │ │ +00017ac0: 6e76 6578 2073 6861 7065 7320 7769 7468 nvex shapes with │ │ │ │ │ +00017ad0: 206e 696e 6520 616e 6420 666f 7572 0a76 nine and four.v │ │ │ │ │ +00017ae0: 6572 7469 6365 732e 0a0a 2020 2057 6520 ertices... We │ │ │ │ │ +00017af0: 6361 6e20 6e6f 7720 6861 7665 2066 756e can now have fun │ │ │ │ │ +00017b00: 2070 6f73 6974 696f 6e69 6e67 2074 6865 positioning the │ │ │ │ │ +00017b10: 2068 616e 6420 6279 2061 646a 7573 7469 hand by adjusti │ │ │ │ │ +00017b20: 6e67 2074 6865 2076 6172 696f 7573 0a72 ng the various.r │ │ │ │ │ +00017b30: 6f74 6174 696f 6e20 616e 676c 6573 2e20 otation angles. │ │ │ │ │ +00017b40: 2054 6865 2063 6f6d 706c 6574 6520 736f The complete so │ │ │ │ │ +00017b50: 7572 6365 2069 6e63 6c75 6465 7320 6465 urce includes de │ │ │ │ │ +00017b60: 6669 6e69 7469 6f6e 7320 7769 7468 0a61 finitions with.a │ │ │ │ │ +00017b70: 6c74 6572 6e61 7469 7665 7320 7468 6174 lternatives that │ │ │ │ │ +00017b80: 2069 6e63 6c75 6465 2074 6865 2066 6f6c include the fol │ │ │ │ │ +00017b90: 6c6f 7769 6e67 2076 6965 7773 2061 6e64 lowing views and │ │ │ │ │ +00017ba0: 206d 6f72 652e 0a0a 0008 5b69 6d61 6765 more.....[image │ │ │ │ │ +00017bb0: 2073 7263 3d22 6578 3231 302e 706e 6722 src="ex210.png" │ │ │ │ │ +00017bc0: 2074 6578 743d 2249 6d61 6765 2065 7832 text="Image ex2 │ │ │ │ │ +00017bd0: 3130 206f 6d69 7474 6564 2069 6e20 7465 10 omitted in te │ │ │ │ │ +00017be0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ +00017bf0: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ +00017c00: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00017c10: 3232 302e 706e 6722 2074 6578 743d 2249 220.png" text="I │ │ │ │ │ +00017c20: 6d61 6765 2065 7832 3230 206f 6d69 7474 mage ex220 omitt │ │ │ │ │ +00017c30: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00017c40: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00017c50: 656e 742e 2200 085d 0008 5b69 6d61 6765 ent."..]..[image │ │ │ │ │ +00017c60: 2073 7263 3d22 6578 3233 302e 706e 6722 src="ex230.png" │ │ │ │ │ +00017c70: 2074 6578 743d 2249 6d61 6765 2065 7832 text="Image ex2 │ │ │ │ │ +00017c80: 3330 206f 6d69 7474 6564 2069 6e20 7465 30 omitted in te │ │ │ │ │ +00017c90: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th │ │ │ │ │ +00017ca0: 6973 2064 6f63 756d 656e 742e 2200 085d is document."..] │ │ │ │ │ +00017cb0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src="ex │ │ │ │ │ +00017cc0: 3234 302e 706e 6722 2074 6578 743d 2249 240.png" text="I │ │ │ │ │ +00017cd0: 6d61 6765 2065 7832 3430 206f 6d69 7474 mage ex240 omitt │ │ │ │ │ +00017ce0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi │ │ │ │ │ +00017cf0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum │ │ │ │ │ +00017d00: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent."..]....File │ │ │ │ │ +00017d10: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ +00017d20: 4e6f 6465 3a20 4361 7665 6174 732c 2020 Node: Caveats, │ │ │ │ │ +00017d30: 5072 6576 3a20 4120 6869 6572 6172 6368 Prev: A hierarch │ │ │ │ │ +00017d40: 6963 616c 206d 6f64 656c 2c20 2055 703a ical model, Up: │ │ │ │ │ +00017d50: 2042 7569 6c64 696e 6720 6120 6472 6177 Building a draw │ │ │ │ │ +00017d60: 696e 670a 0a34 2e34 2043 6176 6561 7473 ing..4.4 Caveats │ │ │ │ │ +00017d70: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a e280 .===========.... │ │ │ │ │ +00017d80: 9853 6b65 7463 68e2 8099 2069 7320 6120 .Sketch... is a │ │ │ │ │ +00017d90: 6661 6972 6c79 2070 6f77 6572 6675 6c20 fairly powerful │ │ │ │ │ +00017da0: 746f 6f6c 2066 6f72 2064 7261 7769 6e67 tool for drawing │ │ │ │ │ +00017db0: 2c20 6275 742c 206a 7573 7420 6173 2077 , but, just as w │ │ │ │ │ +00017dc0: 6974 6820 5465 582c 0a74 6865 2070 6f77 ith TeX,.the pow │ │ │ │ │ +00017dd0: 6572 2074 6f20 6372 6561 7465 2062 6561 er to create bea │ │ │ │ │ +00017de0: 7574 6966 756c 2072 6573 756c 7473 2063 utiful results c │ │ │ │ │ +00017df0: 6f6d 6573 2061 6c6f 6e67 2077 6974 6820 omes along with │ │ │ │ │ +00017e00: 7468 6520 706f 7765 7220 746f 206d 616b the power to mak │ │ │ │ │ +00017e10: 650a 6d69 7374 616b 6573 2e20 2054 6865 e.mistakes. The │ │ │ │ │ +00017e20: 2066 6f6c 6c6f 7769 6e67 2061 7265 2073 following are s │ │ │ │ │ +00017e30: 6f6d 6520 706f 696e 7473 2077 6865 7265 ome points where │ │ │ │ │ +00017e40: 2063 6172 6520 6973 206e 6563 6573 7361 care is necessa │ │ │ │ │ +00017e50: 7279 2061 6e64 0a77 6865 7265 2074 6865 ry and.where the │ │ │ │ │ +00017e60: 2063 7572 7265 6e74 2076 6572 7369 6f6e current version │ │ │ │ │ +00017e70: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch... │ │ │ │ │ +00017e80: 2069 7320 6c69 6d69 7465 6420 6f72 2068 is limited or h │ │ │ │ │ +00017e90: 6173 206b 6e6f 776e 2062 7567 732e 0a0a as known bugs... │ │ │ │ │ +00017ea0: 2a20 4d65 6e75 3a0a 0a2a 204c 696d 6974 * Menu:..* Limit │ │ │ │ │ +00017eb0: 7320 6f6e 2065 7272 6f72 2064 6574 6563 s on error detec │ │ │ │ │ +00017ec0: 7469 6f6e 3a3a 2020 2057 6861 7420 736b tion:: What sk │ │ │ │ │ +00017ed0: 6574 6368 2064 6f65 736e 2774 2064 6f2e etch doesn't do. │ │ │ │ │ +00017ee0: 0a2a 2043 6c69 7070 696e 673a 3a20 2020 .* Clipping:: │ │ │ │ │ +00017ef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00017f00: 204e 6f20 636c 6970 7069 6e67 2061 7420 No clipping at │ │ │ │ │ +00017f10: 7072 6573 656e 742e 0a2a 2048 6964 6465 present..* Hidde │ │ │ │ │ +00017f20: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ +00017f30: 6c3a 3a20 2020 2020 2049 6d70 6572 6665 l:: Imperfe │ │ │ │ │ +00017f40: 6374 696f 6e73 2074 6f20 6669 782e 0a0a ctions to fix... │ │ │ │ │ +00017f50: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ +00017f60: 6e66 6f2c 2020 4e6f 6465 3a20 4c69 6d69 nfo, Node: Limi │ │ │ │ │ +00017f70: 7473 206f 6e20 6572 726f 7220 6465 7465 ts on error dete │ │ │ │ │ +00017f80: 6374 696f 6e2c 2020 4e65 7874 3a20 436c ction, Next: Cl │ │ │ │ │ +00017f90: 6970 7069 6e67 2c20 2050 7265 763a 2043 ipping, Prev: C │ │ │ │ │ +00017fa0: 6176 6561 7473 2c20 2055 703a 2043 6176 aveats, Up: Cav │ │ │ │ │ +00017fb0: 6561 7473 0a0a 342e 342e 3120 4c69 6d69 eats..4.4.1 Limi │ │ │ │ │ +00017fc0: 7473 206f 6e20 e280 9873 6b65 7463 68e2 ts on ...sketch. │ │ │ │ │ +00017fd0: 8099 2065 7272 6f72 2064 6574 6563 7469 .. error detecti │ │ │ │ │ +00017fe0: 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on.------------- │ │ │ │ │ 00017ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00018000: 2d2d 2d2d 2d2d 2d2d 2d0a 0ae2 8098 536b ---------.....Sk │ │ │ │ │ -00018010: 6574 6368 e280 9920 6361 7463 6865 7320 etch... catches │ │ │ │ │ -00018020: 6d61 6e79 206b 696e 6473 206f 6620 6572 many kinds of er │ │ │ │ │ -00018030: 726f 7273 2c20 6275 7420 6e6f 7420 616c rors, but not al │ │ │ │ │ -00018040: 6c2e 2020 466f 7220 6578 616d 706c 652c l. For example, │ │ │ │ │ -00018050: 0a6f 7074 696f 6e73 2074 6861 7420 736b .options that sk │ │ │ │ │ -00018060: 6574 6368 2064 6f65 7320 6e6f 7420 7265 etch does not re │ │ │ │ │ -00018070: 636f 676e 697a 652c 2065 7665 6e20 696e cognize, even in │ │ │ │ │ -00018080: 636f 7272 6563 7420 6f6e 6573 2c20 6172 correct ones, ar │ │ │ │ │ -00018090: 6520 7175 6965 746c 790a 636f 7069 6564 e quietly.copied │ │ │ │ │ -000180a0: 2074 6f20 e280 9850 5354 7269 636b 73e2 to ...PSTricks. │ │ │ │ │ -000180b0: 8099 2063 6f6d 6d61 6e64 7320 696e 2074 .. commands in t │ │ │ │ │ -000180c0: 6865 206f 7574 7075 742e 2020 4974 2069 he output. It i │ │ │ │ │ -000180d0: 7320 616c 736f 2075 6e66 6f72 7475 6e61 s also unfortuna │ │ │ │ │ -000180e0: 7465 6c79 0a65 6173 7920 746f 2070 726f tely.easy to pro │ │ │ │ │ -000180f0: 6475 6365 20e2 8098 736b 6574 6368 e280 duce ...sketch.. │ │ │ │ │ -00018100: 9920 696e 7075 7473 2074 6861 7420 6c65 . inputs that le │ │ │ │ │ -00018110: 6164 2074 6f20 6e6f 2070 6963 7475 7265 ad to no picture │ │ │ │ │ -00018120: 2061 7420 616c 6c20 2869 6d70 726f 7065 at all (imprope │ │ │ │ │ -00018130: 720a 7665 7274 6578 206f 7264 6572 696e r.vertex orderin │ │ │ │ │ -00018140: 6720 6361 7573 6573 2065 7665 7279 7468 g causes everyth │ │ │ │ │ -00018150: 696e 6720 746f 2062 6520 6375 6c6c 6564 ing to be culled │ │ │ │ │ -00018160: 292c 2074 6f20 7069 6374 7572 6573 2074 ), to pictures t │ │ │ │ │ -00018170: 6861 7420 6172 650a 746f 6f20 6269 6720 hat are.too big │ │ │ │ │ -00018180: 6f72 2074 6f6f 2073 6d61 6c6c 2066 6f72 or too small for │ │ │ │ │ -00018190: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ -000181a0: 746f 2064 7261 7720 2864 7565 2074 6f20 to draw (due to │ │ │ │ │ -000181b0: 6c69 6d69 7473 206f 6620 5465 5820 6d61 limits of TeX ma │ │ │ │ │ -000181c0: 7468 292c 0a61 6e64 2070 6963 7475 7265 th),.and picture │ │ │ │ │ -000181d0: 7320 7468 6174 206c 6f6f 6b20 6e6f 7468 s that look noth │ │ │ │ │ -000181e0: 696e 6720 6c69 6b65 2077 6861 7420 7761 ing like what wa │ │ │ │ │ -000181f0: 7320 696e 7465 6e64 6564 2e20 2041 2070 s intended. A p │ │ │ │ │ -00018200: 6963 7475 7265 2077 6974 680a 6f6e 6520 icture with.one │ │ │ │ │ -00018210: 6f66 2074 6865 7365 2070 726f 626c 656d of these problem │ │ │ │ │ -00018220: 7320 6361 6e20 6265 2064 6966 6669 6375 s can be difficu │ │ │ │ │ -00018230: 6c74 2074 6f20 2264 6562 7567 2e22 2020 lt to "debug." │ │ │ │ │ -00018240: 5765 206f 6666 6572 2074 6865 0a66 6f6c We offer the.fol │ │ │ │ │ -00018250: 6c6f 7769 6e67 2073 7567 6765 7374 696f lowing suggestio │ │ │ │ │ -00018260: 6e73 2e0a 2020 20e2 80a2 2046 6f6c 6c6f ns.. ... Follo │ │ │ │ │ -00018270: 7720 7468 6520 7375 6767 6573 7465 6420 w the suggested │ │ │ │ │ -00018280: 696e 6372 656d 656e 7461 6c20 6465 7665 incremental deve │ │ │ │ │ -00018290: 6c6f 706d 656e 7420 6d65 7468 6f64 2064 lopment method d │ │ │ │ │ -000182a0: 6573 6372 6962 6564 2069 6e0a 2020 2020 escribed in. │ │ │ │ │ -000182b0: 202a 6e6f 7465 204f 7665 7276 6965 773a *note Overview: │ │ │ │ │ -000182c0: 3a2e 0a20 2020 e280 a220 416c 7761 7973 :.. ... Always │ │ │ │ │ -000182d0: 206d 6169 6e74 6169 6e20 6f6e 6520 6f72 maintain one or │ │ │ │ │ -000182e0: 2074 776f 2062 6163 6b2d 7665 7273 696f two back-versio │ │ │ │ │ -000182f0: 6e73 206f 6620 6120 6472 6177 696e 6720 ns of a drawing │ │ │ │ │ -00018300: 736f 2074 6861 7420 6974 2069 730a 2020 so that it is. │ │ │ │ │ -00018310: 2020 2065 6173 7920 746f 2066 616c 6c20 easy to fall │ │ │ │ │ -00018320: 6261 636b 2074 6f20 6120 6b6e 6f77 6e2d back to a known- │ │ │ │ │ -00018330: 676f 6f64 2069 6e63 7265 6d65 6e74 2e0a good increment.. │ │ │ │ │ -00018340: 2020 20e2 80a2 2057 6865 6e20 7573 696e ... When usin │ │ │ │ │ -00018350: 6720 e280 9870 6572 7370 6563 7469 7665 g ...perspective │ │ │ │ │ -00018360: e280 992c 2065 6e73 7572 6520 616c 6c20 ..., ensure all │ │ │ │ │ -00018370: 6669 6e61 6c6c 7920 7472 616e 7366 6f72 finally transfor │ │ │ │ │ -00018380: 6d65 6420 6f62 6a65 6374 730a 2020 2020 med objects. │ │ │ │ │ -00018390: 2073 6174 6973 6679 207a 3c30 2061 6e64 satisfy z<0 and │ │ │ │ │ -000183a0: 2c20 696e 2066 6163 742c 2064 6f20 6e6f , in fact, do no │ │ │ │ │ -000183b0: 7420 636f 6d65 2076 6572 7920 636c 6f73 t come very clos │ │ │ │ │ -000183c0: 6520 746f 2074 6865 206f 7269 6769 6e20 e to the origin │ │ │ │ │ -000183d0: 6174 0a20 2020 2020 616c 6c2e 0a20 2020 at. all.. │ │ │ │ │ -000183e0: e280 a220 5465 6d70 6f72 6172 696c 7920 ... Temporarily │ │ │ │ │ -000183f0: 7573 6520 e280 9863 756c 6c3d 6661 6c73 use ...cull=fals │ │ │ │ │ -00018400: 65e2 8099 2074 6f20 7365 6520 7768 6572 e... to see wher │ │ │ │ │ -00018410: 6520 7665 7274 6578 206f 7264 6572 696e e vertex orderin │ │ │ │ │ -00018420: 6720 7072 6f62 6c65 6d73 0a20 2020 2020 g problems. │ │ │ │ │ -00018430: 6c69 652e 0a20 2020 e280 a220 5573 6520 lie.. ... Use │ │ │ │ │ -00018440: 7465 6d70 6f72 6172 7920 6368 616e 6765 temporary change │ │ │ │ │ -00018450: 7320 6f66 2063 6f6c 6f72 206f 6620 6f6e s of color of on │ │ │ │ │ -00018460: 6520 6f72 206d 6f72 6520 6f62 6a65 6374 e or more object │ │ │ │ │ -00018470: 7320 746f 2065 6e73 7572 650a 2020 2020 s to ensure. │ │ │ │ │ -00018480: 2074 6861 7420 796f 7572 2075 6e64 6572 that your under │ │ │ │ │ -00018490: 7374 616e 6469 6e67 206f 6620 7468 6520 standing of the │ │ │ │ │ -000184a0: 7363 656e 6520 6765 6f6d 6574 7279 2069 scene geometry i │ │ │ │ │ -000184b0: 7320 636f 7272 6563 742e 0a20 2020 e280 s correct.. .. │ │ │ │ │ -000184c0: a220 4966 20e2 8098 5053 5472 6963 6b73 . If ...PSTricks │ │ │ │ │ -000184d0: e280 9920 636f 6d70 6c61 696e 7320 6162 ... complains ab │ │ │ │ │ -000184e0: 6f75 7420 736f 6d65 7468 696e 672c 2069 out something, i │ │ │ │ │ -000184f0: 6e73 7065 6374 2074 6865 206f 7574 7075 nspect the outpu │ │ │ │ │ -00018500: 740a 2020 2020 2064 6972 6563 746c 7920 t. directly │ │ │ │ │ -00018510: 666f 7220 636c 7565 732e 0a0a 1f0a 4669 for clues.....Fi │ │ │ │ │ -00018520: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ -00018530: 2020 4e6f 6465 3a20 436c 6970 7069 6e67 Node: Clipping │ │ │ │ │ -00018540: 2c20 204e 6578 743a 2048 6964 6465 6e20 , Next: Hidden │ │ │ │ │ -00018550: 7375 7266 6163 6520 7265 6d6f 7661 6c2c surface removal, │ │ │ │ │ -00018560: 2020 5072 6576 3a20 4c69 6d69 7473 206f Prev: Limits o │ │ │ │ │ -00018570: 6e20 6572 726f 7220 6465 7465 6374 696f n error detectio │ │ │ │ │ -00018580: 6e2c 2020 5570 3a20 4361 7665 6174 730a n, Up: Caveats. │ │ │ │ │ -00018590: 0a34 2e34 2e32 2043 6c69 7070 696e 670a .4.4.2 Clipping. │ │ │ │ │ -000185a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------.. │ │ │ │ │ -000185b0: 5468 6520 6375 7272 656e 7420 7665 7273 The current vers │ │ │ │ │ -000185c0: 696f 6e20 6f66 20e2 8098 736b 6574 6368 ion of ...sketch │ │ │ │ │ -000185d0: e280 9920 6861 7320 6e6f 2063 6c69 7070 ... has no clipp │ │ │ │ │ -000185e0: 696e 6720 6f70 6572 6174 696f 6e73 2e20 ing operations. │ │ │ │ │ -000185f0: 2054 6865 2065 6e74 6972 650a 7363 656e The entire.scen │ │ │ │ │ -00018600: 6520 6973 2061 6c77 6179 7320 6472 6177 e is always draw │ │ │ │ │ -00018610: 6e2e 2020 5468 6973 206d 6561 6e73 2074 n. This means t │ │ │ │ │ -00018620: 6861 7420 7768 656e 2061 2070 6572 7370 hat when a persp │ │ │ │ │ -00018630: 6563 7469 7665 2074 7261 6e73 666f 726d ective transform │ │ │ │ │ -00018640: 2069 730a 656d 706c 6f79 6564 2c20 6974 is.employed, it │ │ │ │ │ -00018650: 2069 7320 7468 6520 7573 6572 2773 2072 is the user's r │ │ │ │ │ -00018660: 6573 706f 6e73 6962 696c 6974 7920 746f esponsibility to │ │ │ │ │ -00018670: 206d 616b 6520 7375 7265 2074 6865 2065 make sure the e │ │ │ │ │ -00018680: 6e74 6972 6520 7363 656e 650a 7265 6d61 ntire scene.rema │ │ │ │ │ -00018690: 696e 7320 696e 2066 726f 6e74 206f 6620 ins in front of │ │ │ │ │ -000186a0: 7468 6520 7669 6577 6572 2c20 7468 6520 the viewer, the │ │ │ │ │ -000186b0: 7265 6769 6f6e 207a 3c30 2e0a 0a1f 0a46 region z<0.....F │ │ │ │ │ -000186c0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info │ │ │ │ │ -000186d0: 2c20 204e 6f64 653a 2048 6964 6465 6e20 , Node: Hidden │ │ │ │ │ -000186e0: 7375 7266 6163 6520 7265 6d6f 7661 6c2c surface removal, │ │ │ │ │ -000186f0: 2020 5072 6576 3a20 436c 6970 7069 6e67 Prev: Clipping │ │ │ │ │ -00018700: 2c20 2055 703a 2043 6176 6561 7473 0a0a , Up: Caveats.. │ │ │ │ │ -00018710: 342e 342e 3320 4869 6464 656e 2073 7572 4.4.3 Hidden sur │ │ │ │ │ -00018720: 6661 6365 2072 656d 6f76 616c 2061 6e64 face removal and │ │ │ │ │ -00018730: 2070 6f6c 7967 6f6e 2073 706c 6974 7469 polygon splitti │ │ │ │ │ -00018740: 6e67 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ng.------------- │ │ │ │ │ +00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0ae2 8098 -----------..... │ │ │ │ │ +00018010: 536b 6574 6368 e280 9920 6361 7463 6865 Sketch... catche │ │ │ │ │ +00018020: 7320 6d61 6e79 206b 696e 6473 206f 6620 s many kinds of │ │ │ │ │ +00018030: 6572 726f 7273 2c20 6275 7420 6e6f 7420 errors, but not │ │ │ │ │ +00018040: 616c 6c2e 2020 466f 7220 6578 616d 706c all. For exampl │ │ │ │ │ +00018050: 652c 0a6f 7074 696f 6e73 2074 6861 7420 e,.options that │ │ │ │ │ +00018060: 736b 6574 6368 2064 6f65 7320 6e6f 7420 sketch does not │ │ │ │ │ +00018070: 7265 636f 676e 697a 652c 2065 7665 6e20 recognize, even │ │ │ │ │ +00018080: 696e 636f 7272 6563 7420 6f6e 6573 2c20 incorrect ones, │ │ │ │ │ +00018090: 6172 6520 7175 6965 746c 790a 636f 7069 are quietly.copi │ │ │ │ │ +000180a0: 6564 2074 6f20 e280 9850 5354 7269 636b ed to ...PSTrick │ │ │ │ │ +000180b0: 73e2 8099 2063 6f6d 6d61 6e64 7320 696e s... commands in │ │ │ │ │ +000180c0: 2074 6865 206f 7574 7075 742e 2020 4974 the output. It │ │ │ │ │ +000180d0: 2069 7320 616c 736f 2075 6e66 6f72 7475 is also unfortu │ │ │ │ │ +000180e0: 6e61 7465 6c79 0a65 6173 7920 746f 2070 nately.easy to p │ │ │ │ │ +000180f0: 726f 6475 6365 20e2 8098 736b 6574 6368 roduce ...sketch │ │ │ │ │ +00018100: e280 9920 696e 7075 7473 2074 6861 7420 ... inputs that │ │ │ │ │ +00018110: 6c65 6164 2074 6f20 6e6f 2070 6963 7475 lead to no pictu │ │ │ │ │ +00018120: 7265 2061 7420 616c 6c20 2869 6d70 726f re at all (impro │ │ │ │ │ +00018130: 7065 720a 7665 7274 6578 206f 7264 6572 per.vertex order │ │ │ │ │ +00018140: 696e 6720 6361 7573 6573 2065 7665 7279 ing causes every │ │ │ │ │ +00018150: 7468 696e 6720 746f 2062 6520 6375 6c6c thing to be cull │ │ │ │ │ +00018160: 6564 292c 2074 6f20 7069 6374 7572 6573 ed), to pictures │ │ │ │ │ +00018170: 2074 6861 7420 6172 650a 746f 6f20 6269 that are.too bi │ │ │ │ │ +00018180: 6720 6f72 2074 6f6f 2073 6d61 6c6c 2066 g or too small f │ │ │ │ │ +00018190: 6f72 20e2 8098 5053 5472 6963 6b73 e280 or ...PSTricks.. │ │ │ │ │ +000181a0: 9920 746f 2064 7261 7720 2864 7565 2074 . to draw (due t │ │ │ │ │ +000181b0: 6f20 6c69 6d69 7473 206f 6620 5465 5820 o limits of TeX │ │ │ │ │ +000181c0: 6d61 7468 292c 0a61 6e64 2070 6963 7475 math),.and pictu │ │ │ │ │ +000181d0: 7265 7320 7468 6174 206c 6f6f 6b20 6e6f res that look no │ │ │ │ │ +000181e0: 7468 696e 6720 6c69 6b65 2077 6861 7420 thing like what │ │ │ │ │ +000181f0: 7761 7320 696e 7465 6e64 6564 2e20 2041 was intended. A │ │ │ │ │ +00018200: 2070 6963 7475 7265 2077 6974 680a 6f6e picture with.on │ │ │ │ │ +00018210: 6520 6f66 2074 6865 7365 2070 726f 626c e of these probl │ │ │ │ │ +00018220: 656d 7320 6361 6e20 6265 2064 6966 6669 ems can be diffi │ │ │ │ │ +00018230: 6375 6c74 2074 6f20 2264 6562 7567 2e22 cult to "debug." │ │ │ │ │ +00018240: 2020 5765 206f 6666 6572 2074 6865 0a66 We offer the.f │ │ │ │ │ +00018250: 6f6c 6c6f 7769 6e67 2073 7567 6765 7374 ollowing suggest │ │ │ │ │ +00018260: 696f 6e73 2e0a 2020 20e2 80a2 2046 6f6c ions.. ... Fol │ │ │ │ │ +00018270: 6c6f 7720 7468 6520 7375 6767 6573 7465 low the suggeste │ │ │ │ │ +00018280: 6420 696e 6372 656d 656e 7461 6c20 6465 d incremental de │ │ │ │ │ +00018290: 7665 6c6f 706d 656e 7420 6d65 7468 6f64 velopment method │ │ │ │ │ +000182a0: 2064 6573 6372 6962 6564 2069 6e0a 2020 described in. │ │ │ │ │ +000182b0: 2020 202a 6e6f 7465 204f 7665 7276 6965 *note Overvie │ │ │ │ │ +000182c0: 773a 3a2e 0a20 2020 e280 a220 416c 7761 w::.. ... Alwa │ │ │ │ │ +000182d0: 7973 206d 6169 6e74 6169 6e20 6f6e 6520 ys maintain one │ │ │ │ │ +000182e0: 6f72 2074 776f 2062 6163 6b2d 7665 7273 or two back-vers │ │ │ │ │ +000182f0: 696f 6e73 206f 6620 6120 6472 6177 696e ions of a drawin │ │ │ │ │ +00018300: 6720 736f 2074 6861 7420 6974 2069 730a g so that it is. │ │ │ │ │ +00018310: 2020 2020 2065 6173 7920 746f 2066 616c easy to fal │ │ │ │ │ +00018320: 6c20 6261 636b 2074 6f20 6120 6b6e 6f77 l back to a know │ │ │ │ │ +00018330: 6e2d 676f 6f64 2069 6e63 7265 6d65 6e74 n-good increment │ │ │ │ │ +00018340: 2e0a 2020 20e2 80a2 2057 6865 6e20 7573 .. ... When us │ │ │ │ │ +00018350: 696e 6720 e280 9870 6572 7370 6563 7469 ing ...perspecti │ │ │ │ │ +00018360: 7665 e280 992c 2065 6e73 7572 6520 616c ve..., ensure al │ │ │ │ │ +00018370: 6c20 6669 6e61 6c6c 7920 7472 616e 7366 l finally transf │ │ │ │ │ +00018380: 6f72 6d65 6420 6f62 6a65 6374 730a 2020 ormed objects. │ │ │ │ │ +00018390: 2020 2073 6174 6973 6679 207a 3c30 2061 satisfy z<0 a │ │ │ │ │ +000183a0: 6e64 2c20 696e 2066 6163 742c 2064 6f20 nd, in fact, do │ │ │ │ │ +000183b0: 6e6f 7420 636f 6d65 2076 6572 7920 636c not come very cl │ │ │ │ │ +000183c0: 6f73 6520 746f 2074 6865 206f 7269 6769 ose to the origi │ │ │ │ │ +000183d0: 6e20 6174 0a20 2020 2020 616c 6c2e 0a20 n at. all.. │ │ │ │ │ +000183e0: 2020 e280 a220 5465 6d70 6f72 6172 696c ... Temporaril │ │ │ │ │ +000183f0: 7920 7573 6520 e280 9863 756c 6c3d 6661 y use ...cull=fa │ │ │ │ │ +00018400: 6c73 65e2 8099 2074 6f20 7365 6520 7768 lse... to see wh │ │ │ │ │ +00018410: 6572 6520 7665 7274 6578 206f 7264 6572 ere vertex order │ │ │ │ │ +00018420: 696e 6720 7072 6f62 6c65 6d73 0a20 2020 ing problems. │ │ │ │ │ +00018430: 2020 6c69 652e 0a20 2020 e280 a220 5573 lie.. ... Us │ │ │ │ │ +00018440: 6520 7465 6d70 6f72 6172 7920 6368 616e e temporary chan │ │ │ │ │ +00018450: 6765 7320 6f66 2063 6f6c 6f72 206f 6620 ges of color of │ │ │ │ │ +00018460: 6f6e 6520 6f72 206d 6f72 6520 6f62 6a65 one or more obje │ │ │ │ │ +00018470: 6374 7320 746f 2065 6e73 7572 650a 2020 cts to ensure. │ │ │ │ │ +00018480: 2020 2074 6861 7420 796f 7572 2075 6e64 that your und │ │ │ │ │ +00018490: 6572 7374 616e 6469 6e67 206f 6620 7468 erstanding of th │ │ │ │ │ +000184a0: 6520 7363 656e 6520 6765 6f6d 6574 7279 e scene geometry │ │ │ │ │ +000184b0: 2069 7320 636f 7272 6563 742e 0a20 2020 is correct.. │ │ │ │ │ +000184c0: e280 a220 4966 20e2 8098 5053 5472 6963 ... If ...PSTric │ │ │ │ │ +000184d0: 6b73 e280 9920 636f 6d70 6c61 696e 7320 ks... complains │ │ │ │ │ +000184e0: 6162 6f75 7420 736f 6d65 7468 696e 672c about something, │ │ │ │ │ +000184f0: 2069 6e73 7065 6374 2074 6865 206f 7574 inspect the out │ │ │ │ │ +00018500: 7075 740a 2020 2020 2064 6972 6563 746c put. directl │ │ │ │ │ +00018510: 7920 666f 7220 636c 7565 732e 0a0a 1f0a y for clues..... │ │ │ │ │ +00018520: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf │ │ │ │ │ +00018530: 6f2c 2020 4e6f 6465 3a20 436c 6970 7069 o, Node: Clippi │ │ │ │ │ +00018540: 6e67 2c20 204e 6578 743a 2048 6964 6465 ng, Next: Hidde │ │ │ │ │ +00018550: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ +00018560: 6c2c 2020 5072 6576 3a20 4c69 6d69 7473 l, Prev: Limits │ │ │ │ │ +00018570: 206f 6e20 6572 726f 7220 6465 7465 6374 on error detect │ │ │ │ │ +00018580: 696f 6e2c 2020 5570 3a20 4361 7665 6174 ion, Up: Caveat │ │ │ │ │ +00018590: 730a 0a34 2e34 2e32 2043 6c69 7070 696e s..4.4.2 Clippin │ │ │ │ │ +000185a0: 670a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d g.-------------- │ │ │ │ │ +000185b0: 0a0a 5468 6520 6375 7272 656e 7420 7665 ..The current ve │ │ │ │ │ +000185c0: 7273 696f 6e20 6f66 20e2 8098 736b 6574 rsion of ...sket │ │ │ │ │ +000185d0: 6368 e280 9920 6861 7320 6e6f 2063 6c69 ch... has no cli │ │ │ │ │ +000185e0: 7070 696e 6720 6f70 6572 6174 696f 6e73 pping operations │ │ │ │ │ +000185f0: 2e20 2054 6865 2065 6e74 6972 650a 7363 . The entire.sc │ │ │ │ │ +00018600: 656e 6520 6973 2061 6c77 6179 7320 6472 ene is always dr │ │ │ │ │ +00018610: 6177 6e2e 2020 5468 6973 206d 6561 6e73 awn. This means │ │ │ │ │ +00018620: 2074 6861 7420 7768 656e 2061 2070 6572 that when a per │ │ │ │ │ +00018630: 7370 6563 7469 7665 2074 7261 6e73 666f spective transfo │ │ │ │ │ +00018640: 726d 2069 730a 656d 706c 6f79 6564 2c20 rm is.employed, │ │ │ │ │ +00018650: 6974 2069 7320 7468 6520 7573 6572 2773 it is the user's │ │ │ │ │ +00018660: 2072 6573 706f 6e73 6962 696c 6974 7920 responsibility │ │ │ │ │ +00018670: 746f 206d 616b 6520 7375 7265 2074 6865 to make sure the │ │ │ │ │ +00018680: 2065 6e74 6972 6520 7363 656e 650a 7265 entire scene.re │ │ │ │ │ +00018690: 6d61 696e 7320 696e 2066 726f 6e74 206f mains in front o │ │ │ │ │ +000186a0: 6620 7468 6520 7669 6577 6572 2c20 7468 f the viewer, th │ │ │ │ │ +000186b0: 6520 7265 6769 6f6e 207a 3c30 2e0a 0a1f e region z<0.... │ │ │ │ │ +000186c0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ +000186d0: 666f 2c20 204e 6f64 653a 2048 6964 6465 fo, Node: Hidde │ │ │ │ │ +000186e0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ +000186f0: 6c2c 2020 5072 6576 3a20 436c 6970 7069 l, Prev: Clippi │ │ │ │ │ +00018700: 6e67 2c20 2055 703a 2043 6176 6561 7473 ng, Up: Caveats │ │ │ │ │ +00018710: 0a0a 342e 342e 3320 4869 6464 656e 2073 ..4.4.3 Hidden s │ │ │ │ │ +00018720: 7572 6661 6365 2072 656d 6f76 616c 2061 urface removal a │ │ │ │ │ +00018730: 6e64 2070 6f6c 7967 6f6e 2073 706c 6974 nd polygon split │ │ │ │ │ +00018740: 7469 6e67 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ting.----------- │ │ │ │ │ 00018750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ 00018760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -00018770: 2d2d 2d2d 2d0a 0ae2 8098 536b 6574 6368 -----.....Sketch │ │ │ │ │ -00018780: e280 9920 7573 6573 2074 6865 20e2 809c ... uses the ... │ │ │ │ │ -00018790: 6465 7074 6820 736f 7274 2061 6c67 6f72 depth sort algor │ │ │ │ │ -000187a0: 6974 686d e280 9d20 666f 7220 6869 6464 ithm... for hidd │ │ │ │ │ -000187b0: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov │ │ │ │ │ -000187c0: 616c 2e0a 5468 6973 2069 7320 6120 7665 al..This is a ve │ │ │ │ │ -000187d0: 7279 206f 6c64 2074 6563 686e 6971 7565 ry old technique │ │ │ │ │ -000187e0: 2064 7565 2074 6f20 4e65 7765 6c6c 2e28 due to Newell.( │ │ │ │ │ -000187f0: 3129 2020 4974 2069 7320 6765 6e65 7261 1) It is genera │ │ │ │ │ -00018800: 6c6c 7920 7265 6761 7264 6564 0a61 7320 lly regarded.as │ │ │ │ │ -00018810: 746f 6f20 736c 6f77 2066 6f72 2072 6561 too slow for rea │ │ │ │ │ -00018820: 6c20 7469 6d65 2067 7261 7068 6963 732c l time graphics, │ │ │ │ │ -00018830: 2062 7574 2069 7420 6973 2069 6465 616c but it is ideal │ │ │ │ │ -00018840: 2066 6f72 206f 7572 2070 7572 706f 7365 for our purpose │ │ │ │ │ -00018850: 0a77 6865 7265 2073 7065 6564 2069 7320 .where speed is │ │ │ │ │ -00018860: 6e6f 7420 7665 7279 2069 6d70 6f72 7461 not very importa │ │ │ │ │ -00018870: 6e74 2e28 3229 0a0a 2020 2054 6865 2064 nt.(2).. The d │ │ │ │ │ -00018880: 6570 7468 2073 6f72 7420 616c 676f 7269 epth sort algori │ │ │ │ │ -00018890: 7468 6d20 6d65 7265 6c79 2073 6f72 7473 thm merely sorts │ │ │ │ │ -000188a0: 206f 626a 6563 7473 206f 6e20 6120 6b65 objects on a ke │ │ │ │ │ -000188b0: 7920 6f66 2069 6e63 7265 6173 696e 670a y of increasing. │ │ │ │ │ -000188c0: 7a2d 636f 6f72 6469 6e61 7465 2c20 6571 z-coordinate, eq │ │ │ │ │ -000188d0: 7569 7661 6c65 6e74 2074 6f20 6465 6372 uivalent to decr │ │ │ │ │ -000188e0: 6561 7369 6e67 2064 6570 7468 2e20 204f easing depth. O │ │ │ │ │ -000188f0: 626a 6563 7473 2061 7265 2074 6865 6e20 bjects are then │ │ │ │ │ -00018900: 6472 6177 6e20 696e 0a74 6865 2073 6f72 drawn in.the sor │ │ │ │ │ -00018910: 7465 6420 7365 7175 656e 6365 2073 6f20 ted sequence so │ │ │ │ │ -00018920: 7468 6174 2074 686f 7365 2061 7420 7468 that those at th │ │ │ │ │ -00018930: 6520 7265 6172 206f 6620 7468 6520 7363 e rear of the sc │ │ │ │ │ -00018940: 656e 6520 6172 650a 6f76 6572 7772 6974 ene are.overwrit │ │ │ │ │ -00018950: 7465 6e20 6279 2074 686f 7365 2063 6c6f ten by those clo │ │ │ │ │ -00018960: 7365 7220 746f 2074 6865 2076 6965 7765 ser to the viewe │ │ │ │ │ -00018970: 722e 2020 5369 6e63 6520 7468 6973 2069 r. Since this i │ │ │ │ │ -00018980: 7320 616c 736f 2068 6f77 206f 696c 0a70 s also how oil.p │ │ │ │ │ -00018990: 6169 6e74 6572 7320 7072 6163 7469 6365 ainters practice │ │ │ │ │ -000189a0: 2074 6865 6972 2061 7274 2c20 6465 7074 their art, dept │ │ │ │ │ -000189b0: 6820 736f 7274 2069 7320 736f 6d65 7469 h sort is someti │ │ │ │ │ -000189c0: 6d65 7320 6361 6c6c 6564 2022 7468 650a mes called "the. │ │ │ │ │ -000189d0: 7061 696e 7465 7227 7320 616c 676f 7269 painter's algori │ │ │ │ │ -000189e0: 7468 6d2e 220a 0a20 2020 496e 2073 6f6d thm.".. In som │ │ │ │ │ -000189f0: 6520 6361 7365 7320 6974 2069 7320 696d e cases it is im │ │ │ │ │ -00018a00: 706f 7373 6962 6c65 2074 6f20 7374 7269 possible to stri │ │ │ │ │ -00018a10: 6374 6c79 206f 7264 6572 2070 6f6c 7967 ctly order polyg │ │ │ │ │ -00018a20: 6f6e 7320 6163 636f 7264 696e 670a 746f ons according.to │ │ │ │ │ -00018a30: 2064 6570 7468 2e20 204d 6f72 656f 7665 depth. Moreove │ │ │ │ │ -00018a40: 722c 2065 7665 6e20 6966 2061 2063 6f72 r, even if a cor │ │ │ │ │ -00018a50: 7265 6374 2064 6570 7468 206f 7264 6572 rect depth order │ │ │ │ │ -00018a60: 696e 6720 6578 6973 7473 2c20 7468 650a ing exists, the. │ │ │ │ │ -00018a70: 636f 6d70 7574 6174 696f 6e20 6e65 6564 computation need │ │ │ │ │ -00018a80: 6564 2074 6f20 6669 6e64 2069 7420 6d61 ed to find it ma │ │ │ │ │ -00018a90: 7920 6265 2074 6f6f 2063 6f6d 706c 6578 y be too complex │ │ │ │ │ -00018aa0: 2061 6e64 2073 6c6f 772e 2020 496e 2074 and slow. In t │ │ │ │ │ -00018ab0: 6865 7365 0a63 6173 6573 2c20 e280 9873 hese.cases, ...s │ │ │ │ │ -00018ac0: 6b65 7463 68e2 8099 2073 706c 6974 7320 ketch... splits │ │ │ │ │ -00018ad0: 6f6e 6520 6f72 206d 6f72 6520 706f 6c79 one or more poly │ │ │ │ │ -00018ae0: 676f 6e73 2069 6e74 6f20 7069 6563 6573 gons into pieces │ │ │ │ │ -00018af0: 2e20 2054 6865 0a65 7870 6563 7461 7469 . The.expectati │ │ │ │ │ -00018b00: 6f6e 2069 7320 7468 6174 2074 6865 206e on is that the n │ │ │ │ │ -00018b10: 6577 2c20 736d 616c 6c65 7220 706f 6c79 ew, smaller poly │ │ │ │ │ -00018b20: 676f 6e73 2077 696c 6c20 6265 2073 696d gons will be sim │ │ │ │ │ -00018b30: 706c 6572 2074 6f20 6f72 6465 722e 0ae2 pler to order... │ │ │ │ │ -00018b40: 8098 536b 6574 6368 e280 9920 7573 6573 ..Sketch... uses │ │ │ │ │ -00018b50: 2061 2042 5350 2028 6269 6e61 7279 2073 a BSP (binary s │ │ │ │ │ -00018b60: 7061 6365 2070 6172 7469 7469 6f6e 2920 pace partition) │ │ │ │ │ -00018b70: 746f 2068 616e 646c 6520 7468 6520 7370 to handle the sp │ │ │ │ │ -00018b80: 6c69 7474 696e 670a 6f70 6572 6174 696f litting.operatio │ │ │ │ │ -00018b90: 6e2e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2053 n...* Menu:..* S │ │ │ │ │ -00018ba0: 7461 7469 7374 6963 733a 3a20 2020 2020 tatistics:: │ │ │ │ │ -00018bb0: 2020 2020 2020 2020 2020 2020 2050 6572 Per │ │ │ │ │ -00018bc0: 666f 726d 616e 6365 206e 756d 6265 7273 formance numbers │ │ │ │ │ -00018bd0: 206f 6e20 6465 7074 6820 736f 7274 2e0a on depth sort.. │ │ │ │ │ -00018be0: 2a20 4275 6773 2061 6e64 2061 6e6f 6d61 * Bugs and anoma │ │ │ │ │ -00018bf0: 6c69 6573 3a3a 2020 2020 2020 2020 2020 lies:: │ │ │ │ │ -00018c00: 496d 7065 7266 6563 7469 6f6e 7320 696e Imperfections in │ │ │ │ │ -00018c10: 2074 6869 7320 696d 706c 656d 656e 7461 this implementa │ │ │ │ │ -00018c20: 7469 6f6e 2e0a 0a20 2020 2d2d 2d2d 2d2d tion... ------ │ │ │ │ │ -00018c30: 2d2d 2d2d 2046 6f6f 746e 6f74 6573 202d ---- Footnotes - │ │ │ │ │ -00018c40: 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 2831 ---------.. (1 │ │ │ │ │ -00018c50: 2920 4e65 7765 6c6c 2c20 4d2e 452e 2c20 ) Newell, M.E., │ │ │ │ │ -00018c60: 522e 472e 204e 6577 656c 6c2c 2061 6e64 R.G. Newell, and │ │ │ │ │ -00018c70: 2054 2e4c 2e20 5361 6e63 6861 2c20 4120 T.L. Sancha, A │ │ │ │ │ -00018c80: 736f 6c75 7469 6f6e 2074 6f20 7468 650a solution to the. │ │ │ │ │ -00018c90: 6869 6464 656e 2073 7572 6661 6365 2070 hidden surface p │ │ │ │ │ -00018ca0: 726f 626c 656d 2e20 2050 726f 6365 6564 roblem. Proceed │ │ │ │ │ -00018cb0: 696e 6773 206f 6620 7468 6520 4143 4d20 ings of the ACM │ │ │ │ │ -00018cc0: 616e 6e75 616c 2063 6f6e 6665 7265 6e63 annual conferenc │ │ │ │ │ -00018cd0: 6520 2d0a 566f 6c75 6d65 2031 2c20 7061 e -.Volume 1, pa │ │ │ │ │ -00018ce0: 6765 2034 3433 2d34 3530 2c20 4143 4d20 ge 443-450, ACM │ │ │ │ │ -00018cf0: 5072 6573 732c 2031 3937 322e 0a0a 2020 Press, 1972... │ │ │ │ │ -00018d00: 2028 3229 2057 6520 6861 7665 2072 756e (2) We have run │ │ │ │ │ -00018d10: 20e2 8098 736b 6574 6368 e280 9920 6f6e ...sketch... on │ │ │ │ │ -00018d20: 2074 6865 2066 616d 6f75 7320 5374 616e the famous Stan │ │ │ │ │ -00018d30: 666f 7264 2042 756e 6e79 2c20 7768 6963 ford Bunny, whic │ │ │ │ │ -00018d40: 6820 636f 6e73 6973 7473 0a6f 6620 6e65 h consists.of ne │ │ │ │ │ -00018d50: 6172 6c79 2037 302c 3030 3020 7472 6961 arly 70,000 tria │ │ │ │ │ -00018d60: 6e67 6c65 732e 2020 5275 6e20 7469 6d65 ngles. Run time │ │ │ │ │ -00018d70: 2077 6173 2061 626f 7574 2036 2073 6563 was about 6 sec │ │ │ │ │ -00018d80: 6f6e 6473 2e20 204d 6f73 7420 6f66 2074 onds. Most of t │ │ │ │ │ -00018d90: 6869 730a 7761 7320 7370 656e 7420 7772 his.was spent wr │ │ │ │ │ -00018da0: 6974 696e 6720 7468 6520 6f75 7470 7574 iting the output │ │ │ │ │ -00018db0: 2066 696c 6520 7261 7468 6572 2074 6861 file rather tha │ │ │ │ │ -00018dc0: 6e20 696e 2074 6865 2068 6964 6465 6e20 n in the hidden │ │ │ │ │ -00018dd0: 7375 7266 6163 650a 616c 676f 7269 7468 surface.algorith │ │ │ │ │ -00018de0: 6d2e 2020 4c61 5465 5820 746f 6f6b 206d m. LaTeX took m │ │ │ │ │ -00018df0: 7563 6820 6c6f 6e67 6572 2074 6f20 7072 uch longer to pr │ │ │ │ │ -00018e00: 6f63 6573 7320 7468 6520 7265 7375 6c74 ocess the result │ │ │ │ │ -00018e10: 696e 6720 e280 9850 5354 7269 636b 73e2 ing ...PSTricks. │ │ │ │ │ -00018e20: 8099 0a63 6f64 652e 2020 5468 6520 6f62 ...code. The ob │ │ │ │ │ -00018e30: 7669 6f75 7320 636f 6e63 6c75 7369 6f6e vious conclusion │ │ │ │ │ -00018e40: 2069 7320 7468 6174 2074 6865 2073 7065 is that the spe │ │ │ │ │ -00018e50: 6564 206f 6620 7468 6520 6465 7074 6820 ed of the depth │ │ │ │ │ -00018e60: 736f 7274 0a61 6c67 6f72 6974 686d 2069 sort.algorithm i │ │ │ │ │ -00018e70: 7320 6e6f 7420 6120 776f 7272 792e 0a0a s not a worry... │ │ │ │ │ -00018e80: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i │ │ │ │ │ -00018e90: 6e66 6f2c 2020 4e6f 6465 3a20 5374 6174 nfo, Node: Stat │ │ │ │ │ -00018ea0: 6973 7469 6373 2c20 204e 6578 743a 2042 istics, Next: B │ │ │ │ │ -00018eb0: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie │ │ │ │ │ -00018ec0: 732c 2020 5072 6576 3a20 4869 6464 656e s, Prev: Hidden │ │ │ │ │ -00018ed0: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal │ │ │ │ │ -00018ee0: 2c20 2055 703a 2048 6964 6465 6e20 7375 , Up: Hidden su │ │ │ │ │ -00018ef0: 7266 6163 6520 7265 6d6f 7661 6c0a 0a34 rface removal..4 │ │ │ │ │ -00018f00: 2e34 2e33 2e31 2053 7461 7469 7374 6963 .4.3.1 Statistic │ │ │ │ │ -00018f10: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s............... │ │ │ │ │ -00018f20: 2e2e 2e2e 0a0a 466f 7220 7468 6520 6375 ......For the cu │ │ │ │ │ -00018f30: 7269 6f75 732c 20e2 8098 736b 6574 6368 rious, ...sketch │ │ │ │ │ -00018f40: e280 9920 7772 6974 6573 206f 6e65 206c ... writes one l │ │ │ │ │ -00018f50: 696e 6520 6f66 2064 6570 7468 2073 6f72 ine of depth sor │ │ │ │ │ -00018f60: 7420 7374 6174 6973 7469 6373 2e0a 4865 t statistics..He │ │ │ │ │ -00018f70: 7265 2069 7320 616e 2065 7861 6d70 6c65 re is an example │ │ │ │ │ -00018f80: 2066 6f72 2061 206c 6172 6765 2063 6f6c for a large col │ │ │ │ │ -00018f90: 6c65 6374 696f 6e20 6f66 2074 7269 616e lection of trian │ │ │ │ │ -00018fa0: 676c 6573 2e0a 2020 7265 6d61 726b 2c20 gles.. remark, │ │ │ │ │ -00018fb0: 6e6f 6465 3d33 3438 3234 2070 726f 6265 node=34824 probe │ │ │ │ │ -00018fc0: 3d35 3831 2e39 2073 7761 703d 3520 7370 =581.9 swap=5 sp │ │ │ │ │ -00018fd0: 6c69 743d 3220 2869 6e3d 3420 6f75 743d lit=2 (in=4 out= │ │ │ │ │ -00018fe0: 3629 206f 6c73 3d32 3438 3531 2f30 0a49 6) ols=24851/0.I │ │ │ │ │ -00018ff0: 7420 6d65 616e 7320 7468 6174 2033 342c t means that 34, │ │ │ │ │ -00019000: 3832 3420 6f62 6a65 6374 7320 7765 7265 824 objects were │ │ │ │ │ -00019010: 2064 6570 7468 2073 6f72 7465 6420 6166 depth sorted af │ │ │ │ │ -00019020: 7465 7220 6375 6c6c 696e 672e 2020 466f ter culling. Fo │ │ │ │ │ -00019030: 7220 6561 6368 2c0a 616e 2061 7665 7261 r each,.an avera │ │ │ │ │ -00019040: 6765 206f 6620 3538 312e 3920 6f74 6865 ge of 581.9 othe │ │ │ │ │ -00019050: 7273 2068 6164 2074 6f20 6265 2063 6865 rs had to be che │ │ │ │ │ -00019060: 636b 6564 2074 6f20 656e 7375 7265 2074 cked to ensure t │ │ │ │ │ -00019070: 6861 7420 7468 6520 696e 6974 6961 6c2c hat the initial, │ │ │ │ │ -00019080: 0a61 7070 726f 7869 6d61 7465 206f 7264 .approximate ord │ │ │ │ │ -00019090: 6572 696e 6720 7761 7320 636f 7272 6563 ering was correc │ │ │ │ │ -000190a0: 742e 2020 416d 6f6e 6720 616c 6c20 7468 t. Among all th │ │ │ │ │ -000190b0: 6573 6520 6368 6563 6b73 2c20 6f6e 6c79 ese checks, only │ │ │ │ │ -000190c0: 2035 0a72 6573 756c 7465 6420 696e 2073 5.resulted in s │ │ │ │ │ -000190d0: 7761 7073 2074 6f20 7265 6f72 6465 7220 waps to reorder │ │ │ │ │ -000190e0: 7468 6520 696e 6974 6961 6c20 736f 7274 the initial sort │ │ │ │ │ -000190f0: 2e20 2049 6e20 7477 6f20 6361 7365 732c . In two cases, │ │ │ │ │ -00019100: 2061 2063 6f72 7265 6374 0a6f 7264 6572 a correct.order │ │ │ │ │ -00019110: 696e 6720 636f 756c 6420 6e6f 7420 6265 ing could not be │ │ │ │ │ -00019120: 2064 6574 6572 6d69 6e65 642c 2073 6f20 determined, so │ │ │ │ │ -00019130: 6269 6e61 7279 2073 7061 6365 2070 6172 binary space par │ │ │ │ │ -00019140: 7469 7469 6f6e 7320 7765 7265 0a63 6f6e titions were.con │ │ │ │ │ -00019150: 7374 7275 6374 6564 2066 6f72 2073 706c structed for spl │ │ │ │ │ -00019160: 6974 7469 6e67 2e20 2041 2074 6f74 616c itting. A total │ │ │ │ │ -00019170: 206f 6620 3420 6f62 6a65 6374 7320 2874 of 4 objects (t │ │ │ │ │ -00019180: 7269 616e 676c 6573 2069 6e20 7468 6973 riangles in this │ │ │ │ │ -00019190: 0a63 6173 6529 2077 6572 6520 696e 7365 .case) were inse │ │ │ │ │ -000191a0: 7274 6564 2069 6e20 7468 6520 7061 7274 rted in the part │ │ │ │ │ -000191b0: 6974 696f 6e73 2c20 616e 6420 3620 706f itions, and 6 po │ │ │ │ │ -000191c0: 6c79 676f 6e73 2077 6572 6520 7072 6f64 lygons were prod │ │ │ │ │ -000191d0: 7563 6564 2e0a 4669 6e61 6c6c 792c 2032 uced..Finally, 2 │ │ │ │ │ -000191e0: 342c 3835 3120 226c 6173 7420 7265 736f 4,851 "last reso │ │ │ │ │ -000191f0: 7274 2220 706f 6c79 676f 6e20 6f76 6572 rt" polygon over │ │ │ │ │ -00019200: 6c61 7020 6368 6563 6b73 2077 6572 6520 lap checks were │ │ │ │ │ -00019210: 7065 7266 6f72 6d65 640a 6166 7465 7220 performed.after │ │ │ │ │ -00019220: 7369 6d70 6c65 722c 2066 6173 7465 7220 simpler, faster │ │ │ │ │ -00019230: 6368 6563 6b73 2066 6169 6c65 6420 746f checks failed to │ │ │ │ │ -00019240: 2079 6965 6c64 2063 6f6e 636c 7573 6976 yield conclusiv │ │ │ │ │ -00019250: 6520 7265 7375 6c74 732e 2020 5468 650a e results. The. │ │ │ │ │ -00019260: 6669 6e61 6c20 2f30 2069 7320 666f 7220 final /0 is for │ │ │ │ │ -00019270: 6c69 6e65 2d70 6f6c 7967 6f6e 206f 7665 line-polygon ove │ │ │ │ │ -00019280: 726c 6170 2063 6865 636b 732e 2020 466f rlap checks. Fo │ │ │ │ │ -00019290: 7220 636f 6d70 6172 6973 6f6e 2c20 7468 r comparison, th │ │ │ │ │ -000192a0: 650a 7374 6174 6973 7469 6373 2066 6f72 e.statistics for │ │ │ │ │ -000192b0: 2074 6865 206c 6173 7420 6669 6775 7265 the last figure │ │ │ │ │ -000192c0: 2069 6e20 2a6e 6f74 6520 4f76 6572 7669 in *note Overvi │ │ │ │ │ -000192d0: 6577 3a3a 2066 6f6c 6c6f 772e 0a20 2072 ew:: follow.. r │ │ │ │ │ -000192e0: 656d 6172 6b2c 206e 6f64 653d 3237 2070 emark, node=27 p │ │ │ │ │ -000192f0: 726f 6265 3d31 342e 3620 7377 6170 3d33 robe=14.6 swap=3 │ │ │ │ │ -00019300: 3620 7370 6c69 743d 3135 2028 696e 3d33 6 split=15 (in=3 │ │ │ │ │ -00019310: 3020 6f75 743d 3435 2920 6f6c 733d 302f 0 out=45) ols=0/ │ │ │ │ │ -00019320: 3639 0a4e 6f74 6520 7468 6174 2074 6865 69.Note that the │ │ │ │ │ -00019330: 7265 2077 6173 2070 726f 706f 7274 696f re was proportio │ │ │ │ │ -00019340: 6e61 6c6c 7920 6d75 6368 206d 6f72 6520 nally much more │ │ │ │ │ -00019350: 7377 6170 7069 6e67 2061 6e64 2073 706c swapping and spl │ │ │ │ │ -00019360: 6974 7469 6e67 0a61 6374 6976 6974 7920 itting.activity │ │ │ │ │ -00019370: 696e 2074 6869 7320 6869 6768 6c79 2063 in this highly c │ │ │ │ │ -00019380: 6f6e 6e65 6374 6564 2073 6365 6e65 2e0a onnected scene.. │ │ │ │ │ -00019390: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ -000193a0: 696e 666f 2c20 204e 6f64 653a 2042 7567 info, Node: Bug │ │ │ │ │ -000193b0: 7320 616e 6420 616e 6f6d 616c 6965 732c s and anomalies, │ │ │ │ │ -000193c0: 2020 5072 6576 3a20 5374 6174 6973 7469 Prev: Statisti │ │ │ │ │ -000193d0: 6373 2c20 2055 703a 2048 6964 6465 6e20 cs, Up: Hidden │ │ │ │ │ -000193e0: 7375 7266 6163 6520 7265 6d6f 7661 6c0a surface removal. │ │ │ │ │ -000193f0: 0a34 2e34 2e33 2e32 2042 7567 7320 616e .4.4.3.2 Bugs an │ │ │ │ │ -00019400: 6420 616e 6f6d 616c 6965 730a 2e2e 2e2e d anomalies..... │ │ │ │ │ +00018770: 2d2d 2d2d 2d2d 2d0a 0ae2 8098 536b 6574 -------.....Sket │ │ │ │ │ +00018780: 6368 e280 9920 7573 6573 2074 6865 20e2 ch... uses the . │ │ │ │ │ +00018790: 809c 6465 7074 6820 736f 7274 2061 6c67 ..depth sort alg │ │ │ │ │ +000187a0: 6f72 6974 686d e280 9d20 666f 7220 6869 orithm... for hi │ │ │ │ │ +000187b0: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem │ │ │ │ │ +000187c0: 6f76 616c 2e0a 5468 6973 2069 7320 6120 oval..This is a │ │ │ │ │ +000187d0: 7665 7279 206f 6c64 2074 6563 686e 6971 very old techniq │ │ │ │ │ +000187e0: 7565 2064 7565 2074 6f20 4e65 7765 6c6c ue due to Newell │ │ │ │ │ +000187f0: 2e28 3129 2020 4974 2069 7320 6765 6e65 .(1) It is gene │ │ │ │ │ +00018800: 7261 6c6c 7920 7265 6761 7264 6564 0a61 rally regarded.a │ │ │ │ │ +00018810: 7320 746f 6f20 736c 6f77 2066 6f72 2072 s too slow for r │ │ │ │ │ +00018820: 6561 6c20 7469 6d65 2067 7261 7068 6963 eal time graphic │ │ │ │ │ +00018830: 732c 2062 7574 2069 7420 6973 2069 6465 s, but it is ide │ │ │ │ │ +00018840: 616c 2066 6f72 206f 7572 2070 7572 706f al for our purpo │ │ │ │ │ +00018850: 7365 0a77 6865 7265 2073 7065 6564 2069 se.where speed i │ │ │ │ │ +00018860: 7320 6e6f 7420 7665 7279 2069 6d70 6f72 s not very impor │ │ │ │ │ +00018870: 7461 6e74 2e28 3229 0a0a 2020 2054 6865 tant.(2).. The │ │ │ │ │ +00018880: 2064 6570 7468 2073 6f72 7420 616c 676f depth sort algo │ │ │ │ │ +00018890: 7269 7468 6d20 6d65 7265 6c79 2073 6f72 rithm merely sor │ │ │ │ │ +000188a0: 7473 206f 626a 6563 7473 206f 6e20 6120 ts objects on a │ │ │ │ │ +000188b0: 6b65 7920 6f66 2069 6e63 7265 6173 696e key of increasin │ │ │ │ │ +000188c0: 670a 7a2d 636f 6f72 6469 6e61 7465 2c20 g.z-coordinate, │ │ │ │ │ +000188d0: 6571 7569 7661 6c65 6e74 2074 6f20 6465 equivalent to de │ │ │ │ │ +000188e0: 6372 6561 7369 6e67 2064 6570 7468 2e20 creasing depth. │ │ │ │ │ +000188f0: 204f 626a 6563 7473 2061 7265 2074 6865 Objects are the │ │ │ │ │ +00018900: 6e20 6472 6177 6e20 696e 0a74 6865 2073 n drawn in.the s │ │ │ │ │ +00018910: 6f72 7465 6420 7365 7175 656e 6365 2073 orted sequence s │ │ │ │ │ +00018920: 6f20 7468 6174 2074 686f 7365 2061 7420 o that those at │ │ │ │ │ +00018930: 7468 6520 7265 6172 206f 6620 7468 6520 the rear of the │ │ │ │ │ +00018940: 7363 656e 6520 6172 650a 6f76 6572 7772 scene are.overwr │ │ │ │ │ +00018950: 6974 7465 6e20 6279 2074 686f 7365 2063 itten by those c │ │ │ │ │ +00018960: 6c6f 7365 7220 746f 2074 6865 2076 6965 loser to the vie │ │ │ │ │ +00018970: 7765 722e 2020 5369 6e63 6520 7468 6973 wer. Since this │ │ │ │ │ +00018980: 2069 7320 616c 736f 2068 6f77 206f 696c is also how oil │ │ │ │ │ +00018990: 0a70 6169 6e74 6572 7320 7072 6163 7469 .painters practi │ │ │ │ │ +000189a0: 6365 2074 6865 6972 2061 7274 2c20 6465 ce their art, de │ │ │ │ │ +000189b0: 7074 6820 736f 7274 2069 7320 736f 6d65 pth sort is some │ │ │ │ │ +000189c0: 7469 6d65 7320 6361 6c6c 6564 2022 7468 times called "th │ │ │ │ │ +000189d0: 650a 7061 696e 7465 7227 7320 616c 676f e.painter's algo │ │ │ │ │ +000189e0: 7269 7468 6d2e 220a 0a20 2020 496e 2073 rithm.".. In s │ │ │ │ │ +000189f0: 6f6d 6520 6361 7365 7320 6974 2069 7320 ome cases it is │ │ │ │ │ +00018a00: 696d 706f 7373 6962 6c65 2074 6f20 7374 impossible to st │ │ │ │ │ +00018a10: 7269 6374 6c79 206f 7264 6572 2070 6f6c rictly order pol │ │ │ │ │ +00018a20: 7967 6f6e 7320 6163 636f 7264 696e 670a ygons according. │ │ │ │ │ +00018a30: 746f 2064 6570 7468 2e20 204d 6f72 656f to depth. Moreo │ │ │ │ │ +00018a40: 7665 722c 2065 7665 6e20 6966 2061 2063 ver, even if a c │ │ │ │ │ +00018a50: 6f72 7265 6374 2064 6570 7468 206f 7264 orrect depth ord │ │ │ │ │ +00018a60: 6572 696e 6720 6578 6973 7473 2c20 7468 ering exists, th │ │ │ │ │ +00018a70: 650a 636f 6d70 7574 6174 696f 6e20 6e65 e.computation ne │ │ │ │ │ +00018a80: 6564 6564 2074 6f20 6669 6e64 2069 7420 eded to find it │ │ │ │ │ +00018a90: 6d61 7920 6265 2074 6f6f 2063 6f6d 706c may be too compl │ │ │ │ │ +00018aa0: 6578 2061 6e64 2073 6c6f 772e 2020 496e ex and slow. In │ │ │ │ │ +00018ab0: 2074 6865 7365 0a63 6173 6573 2c20 e280 these.cases, .. │ │ │ │ │ +00018ac0: 9873 6b65 7463 68e2 8099 2073 706c 6974 .sketch... split │ │ │ │ │ +00018ad0: 7320 6f6e 6520 6f72 206d 6f72 6520 706f s one or more po │ │ │ │ │ +00018ae0: 6c79 676f 6e73 2069 6e74 6f20 7069 6563 lygons into piec │ │ │ │ │ +00018af0: 6573 2e20 2054 6865 0a65 7870 6563 7461 es. The.expecta │ │ │ │ │ +00018b00: 7469 6f6e 2069 7320 7468 6174 2074 6865 tion is that the │ │ │ │ │ +00018b10: 206e 6577 2c20 736d 616c 6c65 7220 706f new, smaller po │ │ │ │ │ +00018b20: 6c79 676f 6e73 2077 696c 6c20 6265 2073 lygons will be s │ │ │ │ │ +00018b30: 696d 706c 6572 2074 6f20 6f72 6465 722e impler to order. │ │ │ │ │ +00018b40: 0ae2 8098 536b 6574 6368 e280 9920 7573 ....Sketch... us │ │ │ │ │ +00018b50: 6573 2061 2042 5350 2028 6269 6e61 7279 es a BSP (binary │ │ │ │ │ +00018b60: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition │ │ │ │ │ +00018b70: 2920 746f 2068 616e 646c 6520 7468 6520 ) to handle the │ │ │ │ │ +00018b80: 7370 6c69 7474 696e 670a 6f70 6572 6174 splitting.operat │ │ │ │ │ +00018b90: 696f 6e2e 0a0a 2a20 4d65 6e75 3a0a 0a2a ion...* Menu:..* │ │ │ │ │ +00018ba0: 2053 7461 7469 7374 6963 733a 3a20 2020 Statistics:: │ │ │ │ │ +00018bb0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ +00018bc0: 6572 666f 726d 616e 6365 206e 756d 6265 erformance numbe │ │ │ │ │ +00018bd0: 7273 206f 6e20 6465 7074 6820 736f 7274 rs on depth sort │ │ │ │ │ +00018be0: 2e0a 2a20 4275 6773 2061 6e64 2061 6e6f ..* Bugs and ano │ │ │ │ │ +00018bf0: 6d61 6c69 6573 3a3a 2020 2020 2020 2020 malies:: │ │ │ │ │ +00018c00: 2020 496d 7065 7266 6563 7469 6f6e 7320 Imperfections │ │ │ │ │ +00018c10: 696e 2074 6869 7320 696d 706c 656d 656e in this implemen │ │ │ │ │ +00018c20: 7461 7469 6f6e 2e0a 0a20 2020 2d2d 2d2d tation... ---- │ │ │ │ │ +00018c30: 2d2d 2d2d 2d2d 2046 6f6f 746e 6f74 6573 ------ Footnotes │ │ │ │ │ +00018c40: 202d 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 ----------.. │ │ │ │ │ +00018c50: 2831 2920 4e65 7765 6c6c 2c20 4d2e 452e (1) Newell, M.E. │ │ │ │ │ +00018c60: 2c20 522e 472e 204e 6577 656c 6c2c 2061 , R.G. Newell, a │ │ │ │ │ +00018c70: 6e64 2054 2e4c 2e20 5361 6e63 6861 2c20 nd T.L. Sancha, │ │ │ │ │ +00018c80: 4120 736f 6c75 7469 6f6e 2074 6f20 7468 A solution to th │ │ │ │ │ +00018c90: 650a 6869 6464 656e 2073 7572 6661 6365 e.hidden surface │ │ │ │ │ +00018ca0: 2070 726f 626c 656d 2e20 2050 726f 6365 problem. Proce │ │ │ │ │ +00018cb0: 6564 696e 6773 206f 6620 7468 6520 4143 edings of the AC │ │ │ │ │ +00018cc0: 4d20 616e 6e75 616c 2063 6f6e 6665 7265 M annual confere │ │ │ │ │ +00018cd0: 6e63 6520 2d0a 566f 6c75 6d65 2031 2c20 nce -.Volume 1, │ │ │ │ │ +00018ce0: 7061 6765 2034 3433 2d34 3530 2c20 4143 page 443-450, AC │ │ │ │ │ +00018cf0: 4d20 5072 6573 732c 2031 3937 322e 0a0a M Press, 1972... │ │ │ │ │ +00018d00: 2020 2028 3229 2057 6520 6861 7665 2072 (2) We have r │ │ │ │ │ +00018d10: 756e 20e2 8098 736b 6574 6368 e280 9920 un ...sketch... │ │ │ │ │ +00018d20: 6f6e 2074 6865 2066 616d 6f75 7320 5374 on the famous St │ │ │ │ │ +00018d30: 616e 666f 7264 2042 756e 6e79 2c20 7768 anford Bunny, wh │ │ │ │ │ +00018d40: 6963 6820 636f 6e73 6973 7473 0a6f 6620 ich consists.of │ │ │ │ │ +00018d50: 6e65 6172 6c79 2037 302c 3030 3020 7472 nearly 70,000 tr │ │ │ │ │ +00018d60: 6961 6e67 6c65 732e 2020 5275 6e20 7469 iangles. Run ti │ │ │ │ │ +00018d70: 6d65 2077 6173 2061 626f 7574 2036 2073 me was about 6 s │ │ │ │ │ +00018d80: 6563 6f6e 6473 2e20 204d 6f73 7420 6f66 econds. Most of │ │ │ │ │ +00018d90: 2074 6869 730a 7761 7320 7370 656e 7420 this.was spent │ │ │ │ │ +00018da0: 7772 6974 696e 6720 7468 6520 6f75 7470 writing the outp │ │ │ │ │ +00018db0: 7574 2066 696c 6520 7261 7468 6572 2074 ut file rather t │ │ │ │ │ +00018dc0: 6861 6e20 696e 2074 6865 2068 6964 6465 han in the hidde │ │ │ │ │ +00018dd0: 6e20 7375 7266 6163 650a 616c 676f 7269 n surface.algori │ │ │ │ │ +00018de0: 7468 6d2e 2020 4c61 5465 5820 746f 6f6b thm. LaTeX took │ │ │ │ │ +00018df0: 206d 7563 6820 6c6f 6e67 6572 2074 6f20 much longer to │ │ │ │ │ +00018e00: 7072 6f63 6573 7320 7468 6520 7265 7375 process the resu │ │ │ │ │ +00018e10: 6c74 696e 6720 e280 9850 5354 7269 636b lting ...PSTrick │ │ │ │ │ +00018e20: 73e2 8099 0a63 6f64 652e 2020 5468 6520 s....code. The │ │ │ │ │ +00018e30: 6f62 7669 6f75 7320 636f 6e63 6c75 7369 obvious conclusi │ │ │ │ │ +00018e40: 6f6e 2069 7320 7468 6174 2074 6865 2073 on is that the s │ │ │ │ │ +00018e50: 7065 6564 206f 6620 7468 6520 6465 7074 peed of the dept │ │ │ │ │ +00018e60: 6820 736f 7274 0a61 6c67 6f72 6974 686d h sort.algorithm │ │ │ │ │ +00018e70: 2069 7320 6e6f 7420 6120 776f 7272 792e is not a worry. │ │ │ │ │ +00018e80: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch │ │ │ │ │ +00018e90: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5374 .info, Node: St │ │ │ │ │ +00018ea0: 6174 6973 7469 6373 2c20 204e 6578 743a atistics, Next: │ │ │ │ │ +00018eb0: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal │ │ │ │ │ +00018ec0: 6965 732c 2020 5072 6576 3a20 4869 6464 ies, Prev: Hidd │ │ │ │ │ +00018ed0: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov │ │ │ │ │ +00018ee0: 616c 2c20 2055 703a 2048 6964 6465 6e20 al, Up: Hidden │ │ │ │ │ +00018ef0: 7375 7266 6163 6520 7265 6d6f 7661 6c0a surface removal. │ │ │ │ │ +00018f00: 0a34 2e34 2e33 2e31 2053 7461 7469 7374 .4.4.3.1 Statist │ │ │ │ │ +00018f10: 6963 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ics............. │ │ │ │ │ +00018f20: 2e2e 2e2e 2e2e 0a0a 466f 7220 7468 6520 ........For the │ │ │ │ │ +00018f30: 6375 7269 6f75 732c 20e2 8098 736b 6574 curious, ...sket │ │ │ │ │ +00018f40: 6368 e280 9920 7772 6974 6573 206f 6e65 ch... writes one │ │ │ │ │ +00018f50: 206c 696e 6520 6f66 2064 6570 7468 2073 line of depth s │ │ │ │ │ +00018f60: 6f72 7420 7374 6174 6973 7469 6373 2e0a ort statistics.. │ │ │ │ │ +00018f70: 4865 7265 2069 7320 616e 2065 7861 6d70 Here is an examp │ │ │ │ │ +00018f80: 6c65 2066 6f72 2061 206c 6172 6765 2063 le for a large c │ │ │ │ │ +00018f90: 6f6c 6c65 6374 696f 6e20 6f66 2074 7269 ollection of tri │ │ │ │ │ +00018fa0: 616e 676c 6573 2e0a 2020 7265 6d61 726b angles.. remark │ │ │ │ │ +00018fb0: 2c20 6e6f 6465 3d33 3438 3234 2070 726f , node=34824 pro │ │ │ │ │ +00018fc0: 6265 3d35 3831 2e39 2073 7761 703d 3520 be=581.9 swap=5 │ │ │ │ │ +00018fd0: 7370 6c69 743d 3220 2869 6e3d 3420 6f75 split=2 (in=4 ou │ │ │ │ │ +00018fe0: 743d 3629 206f 6c73 3d32 3438 3531 2f30 t=6) ols=24851/0 │ │ │ │ │ +00018ff0: 0a49 7420 6d65 616e 7320 7468 6174 2033 .It means that 3 │ │ │ │ │ +00019000: 342c 3832 3420 6f62 6a65 6374 7320 7765 4,824 objects we │ │ │ │ │ +00019010: 7265 2064 6570 7468 2073 6f72 7465 6420 re depth sorted │ │ │ │ │ +00019020: 6166 7465 7220 6375 6c6c 696e 672e 2020 after culling. │ │ │ │ │ +00019030: 466f 7220 6561 6368 2c0a 616e 2061 7665 For each,.an ave │ │ │ │ │ +00019040: 7261 6765 206f 6620 3538 312e 3920 6f74 rage of 581.9 ot │ │ │ │ │ +00019050: 6865 7273 2068 6164 2074 6f20 6265 2063 hers had to be c │ │ │ │ │ +00019060: 6865 636b 6564 2074 6f20 656e 7375 7265 hecked to ensure │ │ │ │ │ +00019070: 2074 6861 7420 7468 6520 696e 6974 6961 that the initia │ │ │ │ │ +00019080: 6c2c 0a61 7070 726f 7869 6d61 7465 206f l,.approximate o │ │ │ │ │ +00019090: 7264 6572 696e 6720 7761 7320 636f 7272 rdering was corr │ │ │ │ │ +000190a0: 6563 742e 2020 416d 6f6e 6720 616c 6c20 ect. Among all │ │ │ │ │ +000190b0: 7468 6573 6520 6368 6563 6b73 2c20 6f6e these checks, on │ │ │ │ │ +000190c0: 6c79 2035 0a72 6573 756c 7465 6420 696e ly 5.resulted in │ │ │ │ │ +000190d0: 2073 7761 7073 2074 6f20 7265 6f72 6465 swaps to reorde │ │ │ │ │ +000190e0: 7220 7468 6520 696e 6974 6961 6c20 736f r the initial so │ │ │ │ │ +000190f0: 7274 2e20 2049 6e20 7477 6f20 6361 7365 rt. In two case │ │ │ │ │ +00019100: 732c 2061 2063 6f72 7265 6374 0a6f 7264 s, a correct.ord │ │ │ │ │ +00019110: 6572 696e 6720 636f 756c 6420 6e6f 7420 ering could not │ │ │ │ │ +00019120: 6265 2064 6574 6572 6d69 6e65 642c 2073 be determined, s │ │ │ │ │ +00019130: 6f20 6269 6e61 7279 2073 7061 6365 2070 o binary space p │ │ │ │ │ +00019140: 6172 7469 7469 6f6e 7320 7765 7265 0a63 artitions were.c │ │ │ │ │ +00019150: 6f6e 7374 7275 6374 6564 2066 6f72 2073 onstructed for s │ │ │ │ │ +00019160: 706c 6974 7469 6e67 2e20 2041 2074 6f74 plitting. A tot │ │ │ │ │ +00019170: 616c 206f 6620 3420 6f62 6a65 6374 7320 al of 4 objects │ │ │ │ │ +00019180: 2874 7269 616e 676c 6573 2069 6e20 7468 (triangles in th │ │ │ │ │ +00019190: 6973 0a63 6173 6529 2077 6572 6520 696e is.case) were in │ │ │ │ │ +000191a0: 7365 7274 6564 2069 6e20 7468 6520 7061 serted in the pa │ │ │ │ │ +000191b0: 7274 6974 696f 6e73 2c20 616e 6420 3620 rtitions, and 6 │ │ │ │ │ +000191c0: 706f 6c79 676f 6e73 2077 6572 6520 7072 polygons were pr │ │ │ │ │ +000191d0: 6f64 7563 6564 2e0a 4669 6e61 6c6c 792c oduced..Finally, │ │ │ │ │ +000191e0: 2032 342c 3835 3120 226c 6173 7420 7265 24,851 "last re │ │ │ │ │ +000191f0: 736f 7274 2220 706f 6c79 676f 6e20 6f76 sort" polygon ov │ │ │ │ │ +00019200: 6572 6c61 7020 6368 6563 6b73 2077 6572 erlap checks wer │ │ │ │ │ +00019210: 6520 7065 7266 6f72 6d65 640a 6166 7465 e performed.afte │ │ │ │ │ +00019220: 7220 7369 6d70 6c65 722c 2066 6173 7465 r simpler, faste │ │ │ │ │ +00019230: 7220 6368 6563 6b73 2066 6169 6c65 6420 r checks failed │ │ │ │ │ +00019240: 746f 2079 6965 6c64 2063 6f6e 636c 7573 to yield conclus │ │ │ │ │ +00019250: 6976 6520 7265 7375 6c74 732e 2020 5468 ive results. Th │ │ │ │ │ +00019260: 650a 6669 6e61 6c20 2f30 2069 7320 666f e.final /0 is fo │ │ │ │ │ +00019270: 7220 6c69 6e65 2d70 6f6c 7967 6f6e 206f r line-polygon o │ │ │ │ │ +00019280: 7665 726c 6170 2063 6865 636b 732e 2020 verlap checks. │ │ │ │ │ +00019290: 466f 7220 636f 6d70 6172 6973 6f6e 2c20 For comparison, │ │ │ │ │ +000192a0: 7468 650a 7374 6174 6973 7469 6373 2066 the.statistics f │ │ │ │ │ +000192b0: 6f72 2074 6865 206c 6173 7420 6669 6775 or the last figu │ │ │ │ │ +000192c0: 7265 2069 6e20 2a6e 6f74 6520 4f76 6572 re in *note Over │ │ │ │ │ +000192d0: 7669 6577 3a3a 2066 6f6c 6c6f 772e 0a20 view:: follow.. │ │ │ │ │ +000192e0: 2072 656d 6172 6b2c 206e 6f64 653d 3237 remark, node=27 │ │ │ │ │ +000192f0: 2070 726f 6265 3d31 342e 3620 7377 6170 probe=14.6 swap │ │ │ │ │ +00019300: 3d33 3620 7370 6c69 743d 3135 2028 696e =36 split=15 (in │ │ │ │ │ +00019310: 3d33 3020 6f75 743d 3435 2920 6f6c 733d =30 out=45) ols= │ │ │ │ │ +00019320: 302f 3639 0a4e 6f74 6520 7468 6174 2074 0/69.Note that t │ │ │ │ │ +00019330: 6865 7265 2077 6173 2070 726f 706f 7274 here was proport │ │ │ │ │ +00019340: 696f 6e61 6c6c 7920 6d75 6368 206d 6f72 ionally much mor │ │ │ │ │ +00019350: 6520 7377 6170 7069 6e67 2061 6e64 2073 e swapping and s │ │ │ │ │ +00019360: 706c 6974 7469 6e67 0a61 6374 6976 6974 plitting.activit │ │ │ │ │ +00019370: 7920 696e 2074 6869 7320 6869 6768 6c79 y in this highly │ │ │ │ │ +00019380: 2063 6f6e 6e65 6374 6564 2073 6365 6e65 connected scene │ │ │ │ │ +00019390: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc │ │ │ │ │ +000193a0: 682e 696e 666f 2c20 204e 6f64 653a 2042 h.info, Node: B │ │ │ │ │ +000193b0: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie │ │ │ │ │ +000193c0: 732c 2020 5072 6576 3a20 5374 6174 6973 s, Prev: Statis │ │ │ │ │ +000193d0: 7469 6373 2c20 2055 703a 2048 6964 6465 tics, Up: Hidde │ │ │ │ │ +000193e0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ +000193f0: 6c0a 0a34 2e34 2e33 2e32 2042 7567 7320 l..4.4.3.2 Bugs │ │ │ │ │ +00019400: 616e 6420 616e 6f6d 616c 6965 730a 2e2e and anomalies... │ │ │ │ │ 00019410: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................ │ │ │ │ │ -00019420: 2e2e 2e2e 2e2e 0a0a 506f 6c79 676f 6e20 ........Polygon │ │ │ │ │ -00019430: 616e 6420 6c69 6e65 2073 706c 6974 7469 and line splitti │ │ │ │ │ -00019440: 6e67 2063 616e 2062 6f74 6820 6361 7573 ng can both caus │ │ │ │ │ -00019450: 6520 616e 6f6d 616c 6965 7320 696e 2074 e anomalies in t │ │ │ │ │ -00019460: 6865 206f 7574 7075 742e 0ae2 8098 5053 he output.....PS │ │ │ │ │ -00019470: 5472 6963 6b73 e280 9920 6461 7368 2070 Tricks... dash p │ │ │ │ │ -00019480: 6174 7465 726e 732c 2073 7065 6369 6669 atterns, specifi │ │ │ │ │ -00019490: 6564 2077 6974 6820 e280 986c 696e 6573 ed with ...lines │ │ │ │ │ -000194a0: 7479 6c65 3d64 6173 6865 64e2 8099 2c20 tyle=dashed..., │ │ │ │ │ -000194b0: 6361 6e20 6265 0a64 6973 7275 7074 6564 can be.disrupted │ │ │ │ │ -000194c0: 2062 7920 7370 6c69 7474 696e 672e 2020 by splitting. │ │ │ │ │ -000194d0: 5468 6973 206f 6363 7572 7320 7768 656e This occurs when │ │ │ │ │ -000194e0: 2074 6865 2064 6570 7468 2073 6f72 7420 the depth sort │ │ │ │ │ -000194f0: 6769 7665 7320 7570 2074 6f6f 0a65 6172 gives up too.ear │ │ │ │ │ -00019500: 6c79 2061 6e64 2073 706c 6974 7320 6120 ly and splits a │ │ │ │ │ -00019510: 6c69 6e65 2077 6865 7265 2069 7420 6973 line where it is │ │ │ │ │ -00019520: 206e 6f74 2072 6561 6c6c 7920 6e65 6365 not really nece │ │ │ │ │ -00019530: 7373 6172 792e 2020 4120 776f 726b 6172 ssary. A workar │ │ │ │ │ -00019540: 6f75 6e64 0a69 7320 746f 2075 7365 2067 ound.is to use g │ │ │ │ │ -00019550: 7261 7920 6f72 2066 696e 656c 7920 646f ray or finely do │ │ │ │ │ -00019560: 7474 6564 206c 696e 6573 2069 6e73 7465 tted lines inste │ │ │ │ │ -00019570: 6164 2e20 2049 6620 796f 7572 2064 7261 ad. If your dra │ │ │ │ │ -00019580: 7769 6e67 2069 730a 736d 616c 6c2c 2079 wing is.small, y │ │ │ │ │ -00019590: 6f75 2063 616e 2061 6c73 6f20 6564 6974 ou can also edit │ │ │ │ │ -000195a0: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch.. │ │ │ │ │ -000195b0: 9920 6f75 7470 7574 2062 7920 6861 6e64 . output by hand │ │ │ │ │ -000195c0: 2074 6f20 6d65 7267 6520 7468 6520 7069 to merge the pi │ │ │ │ │ -000195d0: 6563 6573 0a6f 6620 7468 6520 6f66 6665 eces.of the offe │ │ │ │ │ -000195e0: 6e64 696e 6720 6c69 6e65 2e0a 0a20 2020 nding line... │ │ │ │ │ -000195f0: 416e 6f74 6865 7220 616e 6f6d 616c 7920 Another anomaly │ │ │ │ │ -00019600: 6973 2074 696e 7920 286f 7220 696e 2064 is tiny (or in d │ │ │ │ │ -00019610: 6567 656e 6572 6174 6520 6361 7365 7320 egenerate cases │ │ │ │ │ -00019620: 6e6f 742d 736f 2d74 696e 7929 206e 6f74 not-so-tiny) not │ │ │ │ │ -00019630: 6368 6573 0a69 6e20 7468 6520 6c69 6e65 ches.in the line │ │ │ │ │ -00019640: 7320 7468 6174 2062 6f72 6465 7220 7370 s that border sp │ │ │ │ │ -00019650: 6c69 7420 706f 6c79 676f 6e73 2e20 2054 lit polygons. T │ │ │ │ │ -00019660: 6865 7365 2064 6572 6976 6520 6672 6f6d hese derive from │ │ │ │ │ -00019670: 2074 6865 2077 6179 2065 6163 680a 706f the way each.po │ │ │ │ │ -00019680: 6c79 676f 6e20 6973 2070 6169 6e74 6564 lygon is painted │ │ │ │ │ -00019690: 3a20 6669 7273 742c 2061 6c6c 2070 6978 : first, all pix │ │ │ │ │ -000196a0: 656c 7320 7769 7468 696e 2074 6865 2062 els within the b │ │ │ │ │ -000196b0: 6f75 6e64 6172 7920 6172 6520 e280 9c66 oundary are ...f │ │ │ │ │ -000196c0: 696c 6c65 64e2 809d 0a77 6974 6820 636f illed....with co │ │ │ │ │ -000196d0: 6c6f 7220 2870 6572 6861 7073 2077 6869 lor (perhaps whi │ │ │ │ │ -000196e0: 7465 292c 2074 6865 6e20 7468 6520 7361 te), then the sa │ │ │ │ │ -000196f0: 6d65 2062 6f75 6e64 6172 7920 6973 20e2 me boundary is . │ │ │ │ │ -00019700: 809c 7374 726f 6b65 64e2 809d 2028 610a ..stroked... (a. │ │ │ │ │ -00019710: 506f 7374 7363 7269 7074 2074 6572 6d29 Postscript term) │ │ │ │ │ -00019720: 2077 6974 6820 6120 6c69 6e65 2e20 2054 with a line. T │ │ │ │ │ -00019730: 6865 2072 6573 756c 7420 6973 2074 6861 he result is tha │ │ │ │ │ -00019740: 7420 6861 6c66 2074 6865 206c 696e 6520 t half the line │ │ │ │ │ -00019750: 6c69 6573 0a69 6e73 6964 6520 7468 6520 lies.inside the │ │ │ │ │ -00019760: 626f 756e 6461 7279 2061 6e64 2068 616c boundary and hal │ │ │ │ │ -00019770: 6620 6f75 7473 6964 652c 2077 6869 6c65 f outside, while │ │ │ │ │ -00019780: 2074 6865 2050 6169 6e74 6572 2773 2061 the Painter's a │ │ │ │ │ -00019790: 6c67 6f72 6974 686d 0a61 7373 756d 6573 lgorithm.assumes │ │ │ │ │ -000197a0: 2074 6865 2070 6f6c 7967 6f6e 206c 6965 the polygon lie │ │ │ │ │ -000197b0: 7320 656e 7469 7265 6c79 2077 6974 6869 s entirely withi │ │ │ │ │ -000197c0: 6e20 6974 7320 626f 756e 6461 7279 2e20 n its boundary. │ │ │ │ │ -000197d0: 2054 6865 206e 6f74 6368 6573 2061 7265 The notches are │ │ │ │ │ -000197e0: 0a64 7565 2074 6f20 6f6e 6520 706f 6c79 .due to one poly │ │ │ │ │ -000197f0: 676f 6e20 6669 6c6c 206f 7065 7261 7469 gon fill operati │ │ │ │ │ -00019800: 6f6e 206f 7665 7277 7269 7469 6e67 2074 on overwriting t │ │ │ │ │ -00019810: 6865 2061 6c72 6561 6479 2d64 7261 776e he already-drawn │ │ │ │ │ -00019820: 2069 6e73 6964 650a 6f66 2074 6865 2062 inside.of the b │ │ │ │ │ -00019830: 6f72 6465 7220 6f66 2061 6e6f 7468 6572 order of another │ │ │ │ │ -00019840: 2070 6f6c 7967 6f6e 2e28 3129 2020 4f6e polygon.(1) On │ │ │ │ │ -00019850: 6520 776f 726b 6172 6f75 6e64 2069 7320 e workaround is │ │ │ │ │ -00019860: 746f 206d 616b 6520 626f 7264 6572 0a6c to make border.l │ │ │ │ │ -00019870: 696e 6573 2076 6572 7920 7468 696e 2e20 ines very thin. │ │ │ │ │ -00019880: 2049 6e20 6661 6374 20e2 8098 6c69 6e65 In fact ...line │ │ │ │ │ -00019890: 7769 6474 683d 3070 74e2 8099 2069 7320 width=0pt... is │ │ │ │ │ -000198a0: 6775 6172 616e 7465 6564 2074 6f20 656c guaranteed to el │ │ │ │ │ -000198b0: 696d 696e 6174 650a 7468 6973 2070 726f iminate.this pro │ │ │ │ │ -000198c0: 626c 656d 2c20 7468 6f75 6768 2074 6869 blem, though thi │ │ │ │ │ -000198d0: 7320 7265 7375 6c74 7320 696e 2074 6865 s results in the │ │ │ │ │ -000198e0: 2074 6869 6e6e 6573 7420 6c69 6e65 2079 thinnest line y │ │ │ │ │ -000198f0: 6f75 7220 6f75 7470 7574 0a64 6576 6963 our output.devic │ │ │ │ │ -00019900: 6520 6361 6e20 6472 6177 2c20 7768 6963 e can draw, whic │ │ │ │ │ -00019910: 6820 6973 2075 7375 616c 6c79 2074 6f6f h is usually too │ │ │ │ │ -00019920: 2074 6869 6e2e 2020 596f 7520 6d69 6768 thin. You migh │ │ │ │ │ -00019930: 7420 6765 7420 6c75 636b 7920 6279 0a6d t get lucky by.m │ │ │ │ │ -00019940: 6572 656c 7920 7265 6f72 6465 7269 6e67 erely reordering │ │ │ │ │ -00019950: 2074 6869 6e67 7320 696e 2074 6865 2069 things in the i │ │ │ │ │ -00019960: 6e70 7574 2066 696c 652c 2077 6869 6368 nput file, which │ │ │ │ │ -00019970: 2069 7320 6c69 6b65 6c79 2074 6f20 6d6f is likely to mo │ │ │ │ │ -00019980: 7665 2074 6865 0a73 706c 6974 7320 746f ve the.splits to │ │ │ │ │ -00019990: 2064 6966 6665 7265 6e74 2070 6c61 6365 different place │ │ │ │ │ -000199a0: 732e 2020 5468 6520 6f6e 6c79 2073 7572 s. The only sur │ │ │ │ │ -000199b0: 652d 6669 7265 2073 6f6c 7574 696f 6e20 e-fire solution │ │ │ │ │ -000199c0: 6973 2070 7265 7474 790a 7465 7272 6962 is pretty.terrib │ │ │ │ │ -000199d0: 6c65 3a20 6375 7374 6f6d 2066 6974 20e2 le: custom fit . │ │ │ │ │ -000199e0: 8098 7370 6563 6961 6ce2 8099 206f 7665 ..special... ove │ │ │ │ │ -000199f0: 726c 6179 206c 696e 6573 2028 7769 7468 rlay lines (with │ │ │ │ │ -00019a00: 20e2 8098 5c70 736c 696e 65e2 8099 2920 ...\psline...) │ │ │ │ │ -00019a10: 746f 2063 6f76 6572 0a74 6865 206e 6f74 to cover.the not │ │ │ │ │ -00019a20: 6368 6573 2e0a 0a20 2020 506f 6c79 676f ches... Polygo │ │ │ │ │ -00019a30: 6e20 7370 6c69 7474 696e 6720 616c 736f n splitting also │ │ │ │ │ -00019a40: 2062 7265 616b 7320 e280 9850 5354 7269 breaks ...PSTri │ │ │ │ │ -00019a50: 636b 73e2 8099 2068 6174 6368 2070 6174 cks... hatch pat │ │ │ │ │ -00019a60: 7465 726e 732e 2020 5468 6520 6f6e 6c79 terns. The only │ │ │ │ │ -00019a70: 0a6b 6e6f 776e 2077 6f72 6b61 726f 756e .known workaroun │ │ │ │ │ -00019a80: 6420 6973 2074 6f20 7375 6273 7469 7475 d is to substitu │ │ │ │ │ -00019a90: 7465 2061 2073 6f6c 6964 2066 696c 6c20 te a solid fill │ │ │ │ │ -00019aa0: 666f 7220 7468 6520 6861 7463 682e 0a0a for the hatch... │ │ │ │ │ -00019ab0: 2020 202d 2d2d 2d2d 2d2d 2d2d 2d20 466f ---------- Fo │ │ │ │ │ -00019ac0: 6f74 6e6f 7465 7320 2d2d 2d2d 2d2d 2d2d otnotes -------- │ │ │ │ │ -00019ad0: 2d2d 0a0a 2020 2028 3129 2049 206b 6e6f --.. (1) I kno │ │ │ │ │ -00019ae0: 7720 686f 7720 746f 2066 6978 2074 6869 w how to fix thi │ │ │ │ │ -00019af0: 7320 7072 6f62 6c65 6d2c 2062 7574 2049 s problem, but I │ │ │ │ │ -00019b00: 2064 6f6e 2774 206c 696b 6520 6d79 2073 don't like my s │ │ │ │ │ -00019b10: 6f6c 7574 696f 6e2c 2061 6e64 0a49 276d olution, and.I'm │ │ │ │ │ -00019b20: 2069 6e74 6572 6573 7465 6420 696e 2079 interested in y │ │ │ │ │ -00019b30: 6f75 7273 2e0a 0a1f 0a46 696c 653a 2073 ours.....File: s │ │ │ │ │ -00019b40: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod │ │ │ │ │ -00019b50: 653a 2043 6f6d 6d61 6e64 206c 696e 652c e: Command line, │ │ │ │ │ -00019b60: 2020 4e65 7874 3a20 496e 7374 616c 6c69 Next: Installi │ │ │ │ │ -00019b70: 6e67 2073 6b65 7463 682c 2020 5072 6576 ng sketch, Prev │ │ │ │ │ -00019b80: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra │ │ │ │ │ -00019b90: 7769 6e67 2c20 2055 703a 2054 6f70 0a0a wing, Up: Top.. │ │ │ │ │ -00019ba0: 3520 436f 6d6d 616e 6420 6c69 6e65 0a2a 5 Command line.* │ │ │ │ │ -00019bb0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a2a *************..* │ │ │ │ │ -00019bc0: 5379 6e6f 7073 6973 3a2a 0a20 2020 2020 Synopsis:*. │ │ │ │ │ -00019bd0: 736b 6574 6368 205b 2d68 5d5b 2d56 2078 sketch [-h][-V x │ │ │ │ │ -00019be0: 2e79 5d5b 2d76 5d5b 2d62 5d5b 2d64 5d5b .y][-v][-b][-d][ │ │ │ │ │ -00019bf0: 7420 646f 6374 6d70 5d5b 2d54 5b75 7c65 t doctmp][-T[u|e │ │ │ │ │ -00019c00: 5d5b 705b 507c 545d 5b4c 7c43 5d5d 5d5b ][p[P|T][L|C]]][ │ │ │ │ │ -00019c10: 2d6f 206f 7574 7075 742e 7465 785d 0a20 -o output.tex]. │ │ │ │ │ -00019c20: 2020 2020 2020 5b2d 4420 5441 4720 2e2e [-D TAG .. │ │ │ │ │ -00019c30: 2e5d 2069 6e70 7574 312e 736b 205b 2d55 .] input1.sk [-U │ │ │ │ │ -00019c40: 2054 4147 202e 2e2e 5d20 696e 7075 7432 TAG ...] input2 │ │ │ │ │ -00019c50: 2e73 6b20 2e2e 2e0a 0a2a 4465 7363 7269 .sk .....*Descri │ │ │ │ │ -00019c60: 7074 696f 6e2a 2050 726f 6365 7373 6573 ption* Processes │ │ │ │ │ -00019c70: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch.. │ │ │ │ │ -00019c80: 9920 696e 7075 7420 6669 6c65 7320 696e . input files in │ │ │ │ │ -00019c90: 206f 7264 6572 2074 6f20 7072 6f64 7563 order to produc │ │ │ │ │ -00019ca0: 650a e280 9850 5354 7269 636b 73e2 8099 e....PSTricks... │ │ │ │ │ -00019cb0: 206f 7574 7075 7420 636f 6465 2073 7569 output code sui │ │ │ │ │ -00019cc0: 7461 626c 6520 666f 7220 696e 636c 7573 table for inclus │ │ │ │ │ -00019cd0: 696f 6e20 696e 2061 2054 6558 206f 7220 ion in a TeX or │ │ │ │ │ -00019ce0: 4c61 5465 580a 646f 6375 6d65 6e74 2e0a LaTeX.document.. │ │ │ │ │ -00019cf0: 0a2a 4f70 7469 6f6e 733a 2a0a e280 982d .*Options:*....- │ │ │ │ │ -00019d00: 68e2 8099 0a20 2020 2020 5072 696e 7420 h.... Print │ │ │ │ │ -00019d10: 6120 7368 6f72 7420 6361 7461 6c6f 6720 a short catalog │ │ │ │ │ -00019d20: 6f66 206f 7074 696f 6e73 2e0a e280 982d of options.....- │ │ │ │ │ -00019d30: 56e2 8099 0a20 2020 2020 5365 7420 7468 V.... Set th │ │ │ │ │ -00019d40: 6520 e280 9850 5354 7269 636b 73e2 8099 e ...PSTricks... │ │ │ │ │ -00019d50: 2076 6572 7369 6f6e 2061 7373 756d 6564 version assumed │ │ │ │ │ -00019d60: 2066 6f72 206f 7574 7075 7420 7075 7270 for output purp │ │ │ │ │ -00019d70: 6f73 6573 2074 6f20 e280 9878 2e79 e280 oses to ...x.y.. │ │ │ │ │ -00019d80: 992c 0a20 2020 2020 666f 7220 6578 616d .,. for exam │ │ │ │ │ -00019d90: 706c 6520 312e 3139 2e20 2055 7375 616c ple 1.19. Usual │ │ │ │ │ -00019da0: 6c79 206e 6565 6465 6420 6f6e 6c79 2069 ly needed only i │ │ │ │ │ -00019db0: 6620 796f 7572 20e2 8098 5053 5472 6963 f your ...PSTric │ │ │ │ │ -00019dc0: 6b73 e280 9920 6973 206f 6c64 0a20 2020 ks... is old. │ │ │ │ │ -00019dd0: 2020 636f 6d70 6172 6564 2074 6f20 796f compared to yo │ │ │ │ │ -00019de0: 7572 20e2 8098 736b 6574 6368 e280 992e ur ...sketch.... │ │ │ │ │ -00019df0: 2020 5573 6520 e280 982d 76e2 8099 2074 Use ...-v... t │ │ │ │ │ -00019e00: 6f20 7365 6520 7768 6174 20e2 8098 736b o see what ...sk │ │ │ │ │ -00019e10: 6574 6368 e280 9920 6173 7375 6d65 730a etch... assumes. │ │ │ │ │ -00019e20: 2020 2020 2062 7920 6465 6661 756c 742e by default. │ │ │ │ │ -00019e30: 0ae2 8098 2d76 e280 990a 2020 2020 2050 ....-v.... P │ │ │ │ │ -00019e40: 7269 6e74 2076 6572 7369 6f6e 2069 6e66 rint version inf │ │ │ │ │ -00019e50: 6f72 6d61 7469 6f6e 2074 6f20 7374 616e ormation to stan │ │ │ │ │ -00019e60: 6461 7264 206f 7574 7075 742c 2069 6e63 dard output, inc │ │ │ │ │ -00019e70: 6c75 6469 6e67 2074 6865 2076 6572 7369 luding the versi │ │ │ │ │ -00019e80: 6f6e 0a20 2020 2020 6f66 20e2 8098 5053 on. of ...PS │ │ │ │ │ -00019e90: 5472 6963 6b73 e280 9920 6173 7375 6d65 Tricks... assume │ │ │ │ │ -00019ea0: 6420 666f 7220 6f75 7470 7574 2028 6361 d for output (ca │ │ │ │ │ -00019eb0: 6e20 6265 2063 6861 6e67 6564 2077 6974 n be changed wit │ │ │ │ │ -00019ec0: 6820 e280 982d 56e2 8099 2061 626f 7665 h ...-V... above │ │ │ │ │ -00019ed0: 292e 0ae2 8098 2d62 e280 990a 2020 2020 ).....-b.... │ │ │ │ │ -00019ee0: 2055 7365 2061 2042 5350 2028 2a4e 6f74 Use a BSP (*Not │ │ │ │ │ -00019ef0: 6520 4869 6464 656e 2073 7572 6661 6365 e Hidden surface │ │ │ │ │ -00019f00: 2072 656d 6f76 616c 3a3a 2e29 2020 666f removal::.) fo │ │ │ │ │ -00019f10: 7220 5f61 6c6c 5f20 6869 6464 656e 0a20 r _all_ hidden. │ │ │ │ │ -00019f20: 2020 2020 7375 7266 6163 6520 7265 6d6f surface remo │ │ │ │ │ -00019f30: 7661 6c20 7261 7468 6572 2074 6861 6e20 val rather than │ │ │ │ │ -00019f40: 7468 6520 6465 6661 756c 742c 2077 6869 the default, whi │ │ │ │ │ -00019f50: 6368 2069 7320 7468 6520 6465 7074 6820 ch is the depth │ │ │ │ │ -00019f60: 736f 7274 0a20 2020 2020 616c 676f 7269 sort. algori │ │ │ │ │ -00019f70: 7468 6d20 7769 7468 2042 5350 7320 7573 thm with BSPs us │ │ │ │ │ -00019f80: 6564 206f 6e6c 7920 666f 7220 6379 636c ed only for cycl │ │ │ │ │ -00019f90: 6520 7265 736f 6c75 7469 6f6e 2e20 2054 e resolution. T │ │ │ │ │ -00019fa0: 6869 7320 6d61 790a 2020 2020 2070 726f his may. pro │ │ │ │ │ -00019fb0: 6475 6365 2063 6f72 7265 6374 206f 7574 duce correct out │ │ │ │ │ -00019fc0: 7075 7420 696e 2063 6572 7461 696e 2064 put in certain d │ │ │ │ │ -00019fd0: 6567 656e 6572 6174 6520 6361 7365 7320 egenerate cases │ │ │ │ │ -00019fe0: 7768 6572 6520 7468 6520 6465 7074 680a where the depth. │ │ │ │ │ -00019ff0: 2020 2020 2073 6f72 7420 6361 6e6e 6f74 sort cannot │ │ │ │ │ -0001a000: 2c20 6275 7420 6974 2061 6c73 6f20 6c65 , but it also le │ │ │ │ │ -0001a010: 6164 7320 746f 206d 616e 7920 6772 6174 ads to many grat │ │ │ │ │ -0001a020: 7569 746f 7573 2073 706c 6974 732c 2068 uitous splits, h │ │ │ │ │ -0001a030: 656e 6365 0a20 2020 2020 6d6f 7265 2061 ence. more a │ │ │ │ │ -0001a040: 6e6f 6d61 6c69 6573 202a 6e6f 7465 2042 nomalies *note B │ │ │ │ │ -0001a050: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie │ │ │ │ │ -0001a060: 733a 3a20 616e 6420 6269 6720 6f75 7470 s:: and big outp │ │ │ │ │ -0001a070: 7574 2066 696c 6573 2e0a e280 982d 64e2 ut files.....-d. │ │ │ │ │ -0001a080: 8099 0a20 2020 2020 5275 6e20 e280 9873 ... Run ...s │ │ │ │ │ -0001a090: 6b65 7463 68e2 8099 2773 2070 6172 7365 ketch...'s parse │ │ │ │ │ -0001a0a0: 7220 696e 2064 6562 7567 6769 6e67 206d r in debugging m │ │ │ │ │ -0001a0b0: 6f64 652e 2020 5468 6973 2069 7320 7072 ode. This is pr │ │ │ │ │ -0001a0c0: 696d 6172 696c 7920 666f 720a 2020 2020 imarily for. │ │ │ │ │ -0001a0d0: 2064 6576 656c 6f70 6d65 6e74 2e0a e280 development.... │ │ │ │ │ -0001a0e0: 982d 74e2 8099 0a20 2020 2020 5573 6520 .-t.... Use │ │ │ │ │ -0001a0f0: 636f 6e74 656e 7473 206f 6620 6669 6c65 contents of file │ │ │ │ │ -0001a100: 20e2 8098 646f 6374 6d70 e280 9920 6173 ...doctmp... as │ │ │ │ │ -0001a110: 2061 2064 6f63 756d 656e 7420 7465 6d70 a document temp │ │ │ │ │ -0001a120: 6c61 7465 2069 6e20 7768 6963 6820 746f late in which to │ │ │ │ │ -0001a130: 0a20 2020 2020 656e 636c 6f73 6520 e280 . enclose .. │ │ │ │ │ -0001a140: 9850 5354 7269 636b 73e2 8099 206f 7574 .PSTricks... out │ │ │ │ │ -0001a150: 7075 7420 636f 6465 2e20 2054 6865 2063 put code. The c │ │ │ │ │ -0001a160: 6f64 6520 6973 2069 6e73 6572 7465 6420 ode is inserted │ │ │ │ │ -0001a170: 696e 2070 6c61 6365 206f 660a 2020 2020 in place of. │ │ │ │ │ -0001a180: 2074 6865 2066 6972 7374 2069 6e73 7461 the first insta │ │ │ │ │ -0001a190: 6e63 6520 6f66 2074 6865 2065 7363 6170 nce of the escap │ │ │ │ │ -0001a1a0: 6520 7374 7269 6e67 2025 2553 4b45 5443 e string %%SKETC │ │ │ │ │ -0001a1b0: 485f 4f55 5450 5554 2525 2e0a e280 982d H_OUTPUT%%.....- │ │ │ │ │ -0001a1c0: 54e2 8099 0a20 2020 2020 4361 7573 6573 T.... Causes │ │ │ │ │ -0001a1d0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... │ │ │ │ │ -0001a1e0: 6f75 7470 7574 2074 6f20 6265 2065 6e63 output to be enc │ │ │ │ │ -0001a1f0: 6c6f 7365 6420 696e 2064 6566 6175 6c74 losed in default │ │ │ │ │ -0001a200: 2055 5320 646f 6375 6d65 6e74 0a20 2020 US document. │ │ │ │ │ -0001a210: 2020 7465 6d70 6c61 7465 2074 6578 742e template text. │ │ │ │ │ -0001a220: 2020 4f70 7469 6f6e 20e2 8098 2d54 75e2 Option ...-Tu. │ │ │ │ │ -0001a230: 8099 2069 7320 6120 7379 6e6f 6e79 6d2e .. is a synonym. │ │ │ │ │ -0001a240: 2020 4f70 7469 6f6e 20e2 8098 2d54 65e2 Option ...-Te. │ │ │ │ │ -0001a250: 8099 2063 6175 7365 7320 7468 650a 2020 .. causes the. │ │ │ │ │ -0001a260: 2020 2045 7572 6f20 7374 616e 6461 7264 Euro standard │ │ │ │ │ -0001a270: 2064 6f63 756d 656e 7420 7465 6d70 6c61 document templa │ │ │ │ │ -0001a280: 7465 2074 6f20 6265 2075 7365 642e 2020 te to be used. │ │ │ │ │ -0001a290: 4120 e280 9870 e280 9920 6170 7065 6e64 A ...p... append │ │ │ │ │ -0001a2a0: 6564 2074 6f20 616e 790a 2020 2020 206f ed to any. o │ │ │ │ │ -0001a2b0: 6620 7468 6573 6520 6f70 7469 6f6e 7320 f these options │ │ │ │ │ -0001a2c0: 6361 7573 6573 2074 6865 2072 6573 7065 causes the respe │ │ │ │ │ -0001a2d0: 6374 6976 6520 6465 6661 756c 7420 e280 ctive default .. │ │ │ │ │ -0001a2e0: 9850 5354 7269 636b 73e2 8099 2064 6f63 .PSTricks... doc │ │ │ │ │ -0001a2f0: 756d 656e 740a 2020 2020 2074 656d 706c ument. templ │ │ │ │ │ -0001a300: 6174 6520 746f 2062 6520 7072 696e 7465 ate to be printe │ │ │ │ │ -0001a310: 6420 746f 2073 7461 6e64 6172 6420 6f75 d to standard ou │ │ │ │ │ -0001a320: 7470 7574 2e20 2041 6e20 6170 7065 6e64 tput. An append │ │ │ │ │ -0001a330: 6564 20e2 8098 50e2 8099 2069 7320 610a ed ...P... is a. │ │ │ │ │ -0001a340: 2020 2020 2073 796e 6f6e 796d 2e20 2041 synonym. A │ │ │ │ │ -0001a350: 6e20 6170 7065 6e64 6564 20e2 8098 54e2 n appended ...T. │ │ │ │ │ -0001a360: 8099 2063 6175 7365 7320 7468 6520 7468 .. causes the th │ │ │ │ │ -0001a370: 6520 e280 9854 696b 5a2f 5047 46e2 8099 e ...TikZ/PGF... │ │ │ │ │ -0001a380: 2074 656d 706c 6174 6520 746f 2062 650a template to be. │ │ │ │ │ -0001a390: 2020 2020 2070 7269 6e74 6564 2e20 2041 printed. A │ │ │ │ │ -0001a3a0: 6e20 6170 7065 6e64 6564 20e2 8098 4ce2 n appended ...L. │ │ │ │ │ -0001a3b0: 8099 2070 7269 6e74 7320 7468 6520 4c61 .. prints the La │ │ │ │ │ -0001a3c0: 5465 5820 7665 7273 696f 6e20 6f66 2074 TeX version of t │ │ │ │ │ -0001a3d0: 6865 2064 6f63 756d 656e 740a 2020 2020 he document. │ │ │ │ │ -0001a3e0: 2074 656d 706c 6174 652c 2061 2073 796e template, a syn │ │ │ │ │ -0001a3f0: 6f6e 796d 2066 6f72 2074 6865 2064 6566 onym for the def │ │ │ │ │ -0001a400: 6175 6c74 2e20 2041 20e2 8098 43e2 8099 ault. A ...C... │ │ │ │ │ -0001a410: 2070 7269 6e74 7320 7468 6520 e280 9843 prints the ...C │ │ │ │ │ -0001a420: 6f6e 5465 5874 e280 990a 2020 2020 2074 onTeXt.... t │ │ │ │ │ -0001a430: 656d 706c 6174 652e 0ae2 8098 2d6f e280 emplate.....-o.. │ │ │ │ │ -0001a440: 990a 2020 2020 2055 7365 20e2 8098 6f75 .. Use ...ou │ │ │ │ │ -0001a450: 7470 7574 2e74 6578 e280 9920 6173 2074 tput.tex... as t │ │ │ │ │ -0001a460: 6865 206f 7574 7075 7420 6669 6c65 2e20 he output file. │ │ │ │ │ -0001a470: 2054 6865 2064 6566 6175 6c74 2069 7320 The default is │ │ │ │ │ -0001a480: 7374 616e 6461 7264 0a20 2020 2020 6f75 standard. ou │ │ │ │ │ -0001a490: 7470 7574 2e0a e280 982d 44e2 8099 0a20 tput.....-D.... │ │ │ │ │ -0001a4a0: 2020 2020 4465 6669 6e65 2061 2074 6167 Define a tag │ │ │ │ │ -0001a4b0: 2066 6f72 2070 7572 706f 7365 7320 6f66 for purposes of │ │ │ │ │ -0001a4c0: 2073 656c 6563 7469 6e67 2064 6566 696e selecting defin │ │ │ │ │ -0001a4d0: 6974 696f 6e20 616c 7465 726e 6174 6976 ition alternativ │ │ │ │ │ -0001a4e0: 6573 2e0a 2020 2020 202a 4e6f 7465 2044 es.. *Note D │ │ │ │ │ -0001a4f0: 6566 696e 6974 696f 6e73 3a3a 2e20 2054 efinitions::. T │ │ │ │ │ -0001a500: 6865 2064 6566 696e 6974 696f 6e20 6170 he definition ap │ │ │ │ │ -0001a510: 706c 6965 7320 666f 7220 616c 6c20 696e plies for all in │ │ │ │ │ -0001a520: 7075 7420 6669 6c65 730a 2020 2020 2074 put files. t │ │ │ │ │ -0001a530: 6861 7420 666f 6c6c 6f77 2075 6e6c 6573 hat follow unles │ │ │ │ │ -0001a540: 7320 7468 6520 7461 6720 6973 2075 6e64 s the tag is und │ │ │ │ │ -0001a550: 6566 696e 6564 2077 6974 6820 e280 982d efined with ...- │ │ │ │ │ -0001a560: 55e2 8099 2e0a e280 9869 6e70 7574 692e U........inputi. │ │ │ │ │ -0001a570: 736b e280 990a 2020 2020 2049 6e70 7574 sk.... Input │ │ │ │ │ -0001a580: 2066 696c 6573 2c20 7265 6164 2069 6e20 files, read in │ │ │ │ │ -0001a590: 7468 6520 7365 7175 656e 6365 2074 6865 the sequence the │ │ │ │ │ -0001a5a0: 7920 6172 6520 6769 7665 6e2e 0ae2 8098 y are given..... │ │ │ │ │ -0001a5b0: 2d55 e280 990a 2020 2020 2055 6e2d 6465 -U.... Un-de │ │ │ │ │ -0001a5c0: 6669 6e65 2061 2074 6167 2066 6f72 2070 fine a tag for p │ │ │ │ │ -0001a5d0: 7572 706f 7365 7320 6f66 2073 656c 6563 urposes of selec │ │ │ │ │ -0001a5e0: 7469 6e67 2064 6566 696e 6974 696f 6e20 ting definition │ │ │ │ │ -0001a5f0: 616c 7465 726e 6174 6976 6573 2e0a 0a1f alternatives.... │ │ │ │ │ -0001a600: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in │ │ │ │ │ -0001a610: 666f 2c20 204e 6f64 653a 2049 6e73 7461 fo, Node: Insta │ │ │ │ │ -0001a620: 6c6c 696e 6720 736b 6574 6368 2c20 204e lling sketch, N │ │ │ │ │ -0001a630: 6578 743a 2049 6e64 6578 206f 6620 7379 ext: Index of sy │ │ │ │ │ -0001a640: 6e74 6178 2c20 2050 7265 763a 2043 6f6d ntax, Prev: Com │ │ │ │ │ -0001a650: 6d61 6e64 206c 696e 652c 2020 5570 3a20 mand line, Up: │ │ │ │ │ -0001a660: 546f 700a 0a36 2042 7569 6c64 696e 6720 Top..6 Building │ │ │ │ │ -0001a670: 616e 6420 696e 7374 616c 6c69 6e67 20e2 and installing . │ │ │ │ │ -0001a680: 8098 736b 6574 6368 e280 990a 2a2a 2a2a ..sketch....**** │ │ │ │ │ +00019420: 2e2e 2e2e 2e2e 2e2e 0a0a 506f 6c79 676f ..........Polygo │ │ │ │ │ +00019430: 6e20 616e 6420 6c69 6e65 2073 706c 6974 n and line split │ │ │ │ │ +00019440: 7469 6e67 2063 616e 2062 6f74 6820 6361 ting can both ca │ │ │ │ │ +00019450: 7573 6520 616e 6f6d 616c 6965 7320 696e use anomalies in │ │ │ │ │ +00019460: 2074 6865 206f 7574 7075 742e 0ae2 8098 the output..... │ │ │ │ │ +00019470: 5053 5472 6963 6b73 e280 9920 6461 7368 PSTricks... dash │ │ │ │ │ +00019480: 2070 6174 7465 726e 732c 2073 7065 6369 patterns, speci │ │ │ │ │ +00019490: 6669 6564 2077 6974 6820 e280 986c 696e fied with ...lin │ │ │ │ │ +000194a0: 6573 7479 6c65 3d64 6173 6865 64e2 8099 estyle=dashed... │ │ │ │ │ +000194b0: 2c20 6361 6e20 6265 0a64 6973 7275 7074 , can be.disrupt │ │ │ │ │ +000194c0: 6564 2062 7920 7370 6c69 7474 696e 672e ed by splitting. │ │ │ │ │ +000194d0: 2020 5468 6973 206f 6363 7572 7320 7768 This occurs wh │ │ │ │ │ +000194e0: 656e 2074 6865 2064 6570 7468 2073 6f72 en the depth sor │ │ │ │ │ +000194f0: 7420 6769 7665 7320 7570 2074 6f6f 0a65 t gives up too.e │ │ │ │ │ +00019500: 6172 6c79 2061 6e64 2073 706c 6974 7320 arly and splits │ │ │ │ │ +00019510: 6120 6c69 6e65 2077 6865 7265 2069 7420 a line where it │ │ │ │ │ +00019520: 6973 206e 6f74 2072 6561 6c6c 7920 6e65 is not really ne │ │ │ │ │ +00019530: 6365 7373 6172 792e 2020 4120 776f 726b cessary. A work │ │ │ │ │ +00019540: 6172 6f75 6e64 0a69 7320 746f 2075 7365 around.is to use │ │ │ │ │ +00019550: 2067 7261 7920 6f72 2066 696e 656c 7920 gray or finely │ │ │ │ │ +00019560: 646f 7474 6564 206c 696e 6573 2069 6e73 dotted lines ins │ │ │ │ │ +00019570: 7465 6164 2e20 2049 6620 796f 7572 2064 tead. If your d │ │ │ │ │ +00019580: 7261 7769 6e67 2069 730a 736d 616c 6c2c rawing is.small, │ │ │ │ │ +00019590: 2079 6f75 2063 616e 2061 6c73 6f20 6564 you can also ed │ │ │ │ │ +000195a0: 6974 2074 6865 20e2 8098 736b 6574 6368 it the ...sketch │ │ │ │ │ +000195b0: e280 9920 6f75 7470 7574 2062 7920 6861 ... output by ha │ │ │ │ │ +000195c0: 6e64 2074 6f20 6d65 7267 6520 7468 6520 nd to merge the │ │ │ │ │ +000195d0: 7069 6563 6573 0a6f 6620 7468 6520 6f66 pieces.of the of │ │ │ │ │ +000195e0: 6665 6e64 696e 6720 6c69 6e65 2e0a 0a20 fending line... │ │ │ │ │ +000195f0: 2020 416e 6f74 6865 7220 616e 6f6d 616c Another anomal │ │ │ │ │ +00019600: 7920 6973 2074 696e 7920 286f 7220 696e y is tiny (or in │ │ │ │ │ +00019610: 2064 6567 656e 6572 6174 6520 6361 7365 degenerate case │ │ │ │ │ +00019620: 7320 6e6f 742d 736f 2d74 696e 7929 206e s not-so-tiny) n │ │ │ │ │ +00019630: 6f74 6368 6573 0a69 6e20 7468 6520 6c69 otches.in the li │ │ │ │ │ +00019640: 6e65 7320 7468 6174 2062 6f72 6465 7220 nes that border │ │ │ │ │ +00019650: 7370 6c69 7420 706f 6c79 676f 6e73 2e20 split polygons. │ │ │ │ │ +00019660: 2054 6865 7365 2064 6572 6976 6520 6672 These derive fr │ │ │ │ │ +00019670: 6f6d 2074 6865 2077 6179 2065 6163 680a om the way each. │ │ │ │ │ +00019680: 706f 6c79 676f 6e20 6973 2070 6169 6e74 polygon is paint │ │ │ │ │ +00019690: 6564 3a20 6669 7273 742c 2061 6c6c 2070 ed: first, all p │ │ │ │ │ +000196a0: 6978 656c 7320 7769 7468 696e 2074 6865 ixels within the │ │ │ │ │ +000196b0: 2062 6f75 6e64 6172 7920 6172 6520 e280 boundary are .. │ │ │ │ │ +000196c0: 9c66 696c 6c65 64e2 809d 0a77 6974 6820 .filled....with │ │ │ │ │ +000196d0: 636f 6c6f 7220 2870 6572 6861 7073 2077 color (perhaps w │ │ │ │ │ +000196e0: 6869 7465 292c 2074 6865 6e20 7468 6520 hite), then the │ │ │ │ │ +000196f0: 7361 6d65 2062 6f75 6e64 6172 7920 6973 same boundary is │ │ │ │ │ +00019700: 20e2 809c 7374 726f 6b65 64e2 809d 2028 ...stroked... ( │ │ │ │ │ +00019710: 610a 506f 7374 7363 7269 7074 2074 6572 a.Postscript ter │ │ │ │ │ +00019720: 6d29 2077 6974 6820 6120 6c69 6e65 2e20 m) with a line. │ │ │ │ │ +00019730: 2054 6865 2072 6573 756c 7420 6973 2074 The result is t │ │ │ │ │ +00019740: 6861 7420 6861 6c66 2074 6865 206c 696e hat half the lin │ │ │ │ │ +00019750: 6520 6c69 6573 0a69 6e73 6964 6520 7468 e lies.inside th │ │ │ │ │ +00019760: 6520 626f 756e 6461 7279 2061 6e64 2068 e boundary and h │ │ │ │ │ +00019770: 616c 6620 6f75 7473 6964 652c 2077 6869 alf outside, whi │ │ │ │ │ +00019780: 6c65 2074 6865 2050 6169 6e74 6572 2773 le the Painter's │ │ │ │ │ +00019790: 2061 6c67 6f72 6974 686d 0a61 7373 756d algorithm.assum │ │ │ │ │ +000197a0: 6573 2074 6865 2070 6f6c 7967 6f6e 206c es the polygon l │ │ │ │ │ +000197b0: 6965 7320 656e 7469 7265 6c79 2077 6974 ies entirely wit │ │ │ │ │ +000197c0: 6869 6e20 6974 7320 626f 756e 6461 7279 hin its boundary │ │ │ │ │ +000197d0: 2e20 2054 6865 206e 6f74 6368 6573 2061 . The notches a │ │ │ │ │ +000197e0: 7265 0a64 7565 2074 6f20 6f6e 6520 706f re.due to one po │ │ │ │ │ +000197f0: 6c79 676f 6e20 6669 6c6c 206f 7065 7261 lygon fill opera │ │ │ │ │ +00019800: 7469 6f6e 206f 7665 7277 7269 7469 6e67 tion overwriting │ │ │ │ │ +00019810: 2074 6865 2061 6c72 6561 6479 2d64 7261 the already-dra │ │ │ │ │ +00019820: 776e 2069 6e73 6964 650a 6f66 2074 6865 wn inside.of the │ │ │ │ │ +00019830: 2062 6f72 6465 7220 6f66 2061 6e6f 7468 border of anoth │ │ │ │ │ +00019840: 6572 2070 6f6c 7967 6f6e 2e28 3129 2020 er polygon.(1) │ │ │ │ │ +00019850: 4f6e 6520 776f 726b 6172 6f75 6e64 2069 One workaround i │ │ │ │ │ +00019860: 7320 746f 206d 616b 6520 626f 7264 6572 s to make border │ │ │ │ │ +00019870: 0a6c 696e 6573 2076 6572 7920 7468 696e .lines very thin │ │ │ │ │ +00019880: 2e20 2049 6e20 6661 6374 20e2 8098 6c69 . In fact ...li │ │ │ │ │ +00019890: 6e65 7769 6474 683d 3070 74e2 8099 2069 newidth=0pt... i │ │ │ │ │ +000198a0: 7320 6775 6172 616e 7465 6564 2074 6f20 s guaranteed to │ │ │ │ │ +000198b0: 656c 696d 696e 6174 650a 7468 6973 2070 eliminate.this p │ │ │ │ │ +000198c0: 726f 626c 656d 2c20 7468 6f75 6768 2074 roblem, though t │ │ │ │ │ +000198d0: 6869 7320 7265 7375 6c74 7320 696e 2074 his results in t │ │ │ │ │ +000198e0: 6865 2074 6869 6e6e 6573 7420 6c69 6e65 he thinnest line │ │ │ │ │ +000198f0: 2079 6f75 7220 6f75 7470 7574 0a64 6576 your output.dev │ │ │ │ │ +00019900: 6963 6520 6361 6e20 6472 6177 2c20 7768 ice can draw, wh │ │ │ │ │ +00019910: 6963 6820 6973 2075 7375 616c 6c79 2074 ich is usually t │ │ │ │ │ +00019920: 6f6f 2074 6869 6e2e 2020 596f 7520 6d69 oo thin. You mi │ │ │ │ │ +00019930: 6768 7420 6765 7420 6c75 636b 7920 6279 ght get lucky by │ │ │ │ │ +00019940: 0a6d 6572 656c 7920 7265 6f72 6465 7269 .merely reorderi │ │ │ │ │ +00019950: 6e67 2074 6869 6e67 7320 696e 2074 6865 ng things in the │ │ │ │ │ +00019960: 2069 6e70 7574 2066 696c 652c 2077 6869 input file, whi │ │ │ │ │ +00019970: 6368 2069 7320 6c69 6b65 6c79 2074 6f20 ch is likely to │ │ │ │ │ +00019980: 6d6f 7665 2074 6865 0a73 706c 6974 7320 move the.splits │ │ │ │ │ +00019990: 746f 2064 6966 6665 7265 6e74 2070 6c61 to different pla │ │ │ │ │ +000199a0: 6365 732e 2020 5468 6520 6f6e 6c79 2073 ces. The only s │ │ │ │ │ +000199b0: 7572 652d 6669 7265 2073 6f6c 7574 696f ure-fire solutio │ │ │ │ │ +000199c0: 6e20 6973 2070 7265 7474 790a 7465 7272 n is pretty.terr │ │ │ │ │ +000199d0: 6962 6c65 3a20 6375 7374 6f6d 2066 6974 ible: custom fit │ │ │ │ │ +000199e0: 20e2 8098 7370 6563 6961 6ce2 8099 206f ...special... o │ │ │ │ │ +000199f0: 7665 726c 6179 206c 696e 6573 2028 7769 verlay lines (wi │ │ │ │ │ +00019a00: 7468 20e2 8098 5c70 736c 696e 65e2 8099 th ...\psline... │ │ │ │ │ +00019a10: 2920 746f 2063 6f76 6572 0a74 6865 206e ) to cover.the n │ │ │ │ │ +00019a20: 6f74 6368 6573 2e0a 0a20 2020 506f 6c79 otches... Poly │ │ │ │ │ +00019a30: 676f 6e20 7370 6c69 7474 696e 6720 616c gon splitting al │ │ │ │ │ +00019a40: 736f 2062 7265 616b 7320 e280 9850 5354 so breaks ...PST │ │ │ │ │ +00019a50: 7269 636b 73e2 8099 2068 6174 6368 2070 ricks... hatch p │ │ │ │ │ +00019a60: 6174 7465 726e 732e 2020 5468 6520 6f6e atterns. The on │ │ │ │ │ +00019a70: 6c79 0a6b 6e6f 776e 2077 6f72 6b61 726f ly.known workaro │ │ │ │ │ +00019a80: 756e 6420 6973 2074 6f20 7375 6273 7469 und is to substi │ │ │ │ │ +00019a90: 7475 7465 2061 2073 6f6c 6964 2066 696c tute a solid fil │ │ │ │ │ +00019aa0: 6c20 666f 7220 7468 6520 6861 7463 682e l for the hatch. │ │ │ │ │ +00019ab0: 0a0a 2020 202d 2d2d 2d2d 2d2d 2d2d 2d20 .. ---------- │ │ │ │ │ +00019ac0: 466f 6f74 6e6f 7465 7320 2d2d 2d2d 2d2d Footnotes ------ │ │ │ │ │ +00019ad0: 2d2d 2d2d 0a0a 2020 2028 3129 2049 206b ----.. (1) I k │ │ │ │ │ +00019ae0: 6e6f 7720 686f 7720 746f 2066 6978 2074 now how to fix t │ │ │ │ │ +00019af0: 6869 7320 7072 6f62 6c65 6d2c 2062 7574 his problem, but │ │ │ │ │ +00019b00: 2049 2064 6f6e 2774 206c 696b 6520 6d79 I don't like my │ │ │ │ │ +00019b10: 2073 6f6c 7574 696f 6e2c 2061 6e64 0a49 solution, and.I │ │ │ │ │ +00019b20: 276d 2069 6e74 6572 6573 7465 6420 696e 'm interested in │ │ │ │ │ +00019b30: 2079 6f75 7273 2e0a 0a1f 0a46 696c 653a yours.....File: │ │ │ │ │ +00019b40: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N │ │ │ │ │ +00019b50: 6f64 653a 2043 6f6d 6d61 6e64 206c 696e ode: Command lin │ │ │ │ │ +00019b60: 652c 2020 4e65 7874 3a20 496e 7374 616c e, Next: Instal │ │ │ │ │ +00019b70: 6c69 6e67 2073 6b65 7463 682c 2020 5072 ling sketch, Pr │ │ │ │ │ +00019b80: 6576 3a20 4275 696c 6469 6e67 2061 2064 ev: Building a d │ │ │ │ │ +00019b90: 7261 7769 6e67 2c20 2055 703a 2054 6f70 rawing, Up: Top │ │ │ │ │ +00019ba0: 0a0a 3520 436f 6d6d 616e 6420 6c69 6e65 ..5 Command line │ │ │ │ │ +00019bb0: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a .**************. │ │ │ │ │ +00019bc0: 0a2a 5379 6e6f 7073 6973 3a2a 0a20 2020 .*Synopsis:*. │ │ │ │ │ +00019bd0: 2020 736b 6574 6368 205b 2d68 5d5b 2d56 sketch [-h][-V │ │ │ │ │ +00019be0: 2078 2e79 5d5b 2d76 5d5b 2d62 5d5b 2d64 x.y][-v][-b][-d │ │ │ │ │ +00019bf0: 5d5b 7420 646f 6374 6d70 5d5b 2d54 5b75 ][t doctmp][-T[u │ │ │ │ │ +00019c00: 7c65 5d5b 705b 507c 545d 5b4c 7c43 5d5d |e][p[P|T][L|C]] │ │ │ │ │ +00019c10: 5d5b 2d6f 206f 7574 7075 742e 7465 785d ][-o output.tex] │ │ │ │ │ +00019c20: 0a20 2020 2020 2020 5b2d 4420 5441 4720 . [-D TAG │ │ │ │ │ +00019c30: 2e2e 2e5d 2069 6e70 7574 312e 736b 205b ...] input1.sk [ │ │ │ │ │ +00019c40: 2d55 2054 4147 202e 2e2e 5d20 696e 7075 -U TAG ...] inpu │ │ │ │ │ +00019c50: 7432 2e73 6b20 2e2e 2e0a 0a2a 4465 7363 t2.sk .....*Desc │ │ │ │ │ +00019c60: 7269 7074 696f 6e2a 2050 726f 6365 7373 ription* Process │ │ │ │ │ +00019c70: 6573 2074 6865 20e2 8098 736b 6574 6368 es the ...sketch │ │ │ │ │ +00019c80: e280 9920 696e 7075 7420 6669 6c65 7320 ... input files │ │ │ │ │ +00019c90: 696e 206f 7264 6572 2074 6f20 7072 6f64 in order to prod │ │ │ │ │ +00019ca0: 7563 650a e280 9850 5354 7269 636b 73e2 uce....PSTricks. │ │ │ │ │ +00019cb0: 8099 206f 7574 7075 7420 636f 6465 2073 .. output code s │ │ │ │ │ +00019cc0: 7569 7461 626c 6520 666f 7220 696e 636c uitable for incl │ │ │ │ │ +00019cd0: 7573 696f 6e20 696e 2061 2054 6558 206f usion in a TeX o │ │ │ │ │ +00019ce0: 7220 4c61 5465 580a 646f 6375 6d65 6e74 r LaTeX.document │ │ │ │ │ +00019cf0: 2e0a 0a2a 4f70 7469 6f6e 733a 2a0a e280 ...*Options:*... │ │ │ │ │ +00019d00: 982d 68e2 8099 0a20 2020 2020 5072 696e .-h.... Prin │ │ │ │ │ +00019d10: 7420 6120 7368 6f72 7420 6361 7461 6c6f t a short catalo │ │ │ │ │ +00019d20: 6720 6f66 206f 7074 696f 6e73 2e0a e280 g of options.... │ │ │ │ │ +00019d30: 982d 56e2 8099 0a20 2020 2020 5365 7420 .-V.... Set │ │ │ │ │ +00019d40: 7468 6520 e280 9850 5354 7269 636b 73e2 the ...PSTricks. │ │ │ │ │ +00019d50: 8099 2076 6572 7369 6f6e 2061 7373 756d .. version assum │ │ │ │ │ +00019d60: 6564 2066 6f72 206f 7574 7075 7420 7075 ed for output pu │ │ │ │ │ +00019d70: 7270 6f73 6573 2074 6f20 e280 9878 2e79 rposes to ...x.y │ │ │ │ │ +00019d80: e280 992c 0a20 2020 2020 666f 7220 6578 ...,. for ex │ │ │ │ │ +00019d90: 616d 706c 6520 312e 3139 2e20 2055 7375 ample 1.19. Usu │ │ │ │ │ +00019da0: 616c 6c79 206e 6565 6465 6420 6f6e 6c79 ally needed only │ │ │ │ │ +00019db0: 2069 6620 796f 7572 20e2 8098 5053 5472 if your ...PSTr │ │ │ │ │ +00019dc0: 6963 6b73 e280 9920 6973 206f 6c64 0a20 icks... is old. │ │ │ │ │ +00019dd0: 2020 2020 636f 6d70 6172 6564 2074 6f20 compared to │ │ │ │ │ +00019de0: 796f 7572 20e2 8098 736b 6574 6368 e280 your ...sketch.. │ │ │ │ │ +00019df0: 992e 2020 5573 6520 e280 982d 76e2 8099 .. Use ...-v... │ │ │ │ │ +00019e00: 2074 6f20 7365 6520 7768 6174 20e2 8098 to see what ... │ │ │ │ │ +00019e10: 736b 6574 6368 e280 9920 6173 7375 6d65 sketch... assume │ │ │ │ │ +00019e20: 730a 2020 2020 2062 7920 6465 6661 756c s. by defaul │ │ │ │ │ +00019e30: 742e 0ae2 8098 2d76 e280 990a 2020 2020 t.....-v.... │ │ │ │ │ +00019e40: 2050 7269 6e74 2076 6572 7369 6f6e 2069 Print version i │ │ │ │ │ +00019e50: 6e66 6f72 6d61 7469 6f6e 2074 6f20 7374 nformation to st │ │ │ │ │ +00019e60: 616e 6461 7264 206f 7574 7075 742c 2069 andard output, i │ │ │ │ │ +00019e70: 6e63 6c75 6469 6e67 2074 6865 2076 6572 ncluding the ver │ │ │ │ │ +00019e80: 7369 6f6e 0a20 2020 2020 6f66 20e2 8098 sion. of ... │ │ │ │ │ +00019e90: 5053 5472 6963 6b73 e280 9920 6173 7375 PSTricks... assu │ │ │ │ │ +00019ea0: 6d65 6420 666f 7220 6f75 7470 7574 2028 med for output ( │ │ │ │ │ +00019eb0: 6361 6e20 6265 2063 6861 6e67 6564 2077 can be changed w │ │ │ │ │ +00019ec0: 6974 6820 e280 982d 56e2 8099 2061 626f ith ...-V... abo │ │ │ │ │ +00019ed0: 7665 292e 0ae2 8098 2d62 e280 990a 2020 ve).....-b.... │ │ │ │ │ +00019ee0: 2020 2055 7365 2061 2042 5350 2028 2a4e Use a BSP (*N │ │ │ │ │ +00019ef0: 6f74 6520 4869 6464 656e 2073 7572 6661 ote Hidden surfa │ │ │ │ │ +00019f00: 6365 2072 656d 6f76 616c 3a3a 2e29 2020 ce removal::.) │ │ │ │ │ +00019f10: 666f 7220 5f61 6c6c 5f20 6869 6464 656e for _all_ hidden │ │ │ │ │ +00019f20: 0a20 2020 2020 7375 7266 6163 6520 7265 . surface re │ │ │ │ │ +00019f30: 6d6f 7661 6c20 7261 7468 6572 2074 6861 moval rather tha │ │ │ │ │ +00019f40: 6e20 7468 6520 6465 6661 756c 742c 2077 n the default, w │ │ │ │ │ +00019f50: 6869 6368 2069 7320 7468 6520 6465 7074 hich is the dept │ │ │ │ │ +00019f60: 6820 736f 7274 0a20 2020 2020 616c 676f h sort. algo │ │ │ │ │ +00019f70: 7269 7468 6d20 7769 7468 2042 5350 7320 rithm with BSPs │ │ │ │ │ +00019f80: 7573 6564 206f 6e6c 7920 666f 7220 6379 used only for cy │ │ │ │ │ +00019f90: 636c 6520 7265 736f 6c75 7469 6f6e 2e20 cle resolution. │ │ │ │ │ +00019fa0: 2054 6869 7320 6d61 790a 2020 2020 2070 This may. p │ │ │ │ │ +00019fb0: 726f 6475 6365 2063 6f72 7265 6374 206f roduce correct o │ │ │ │ │ +00019fc0: 7574 7075 7420 696e 2063 6572 7461 696e utput in certain │ │ │ │ │ +00019fd0: 2064 6567 656e 6572 6174 6520 6361 7365 degenerate case │ │ │ │ │ +00019fe0: 7320 7768 6572 6520 7468 6520 6465 7074 s where the dept │ │ │ │ │ +00019ff0: 680a 2020 2020 2073 6f72 7420 6361 6e6e h. sort cann │ │ │ │ │ +0001a000: 6f74 2c20 6275 7420 6974 2061 6c73 6f20 ot, but it also │ │ │ │ │ +0001a010: 6c65 6164 7320 746f 206d 616e 7920 6772 leads to many gr │ │ │ │ │ +0001a020: 6174 7569 746f 7573 2073 706c 6974 732c atuitous splits, │ │ │ │ │ +0001a030: 2068 656e 6365 0a20 2020 2020 6d6f 7265 hence. more │ │ │ │ │ +0001a040: 2061 6e6f 6d61 6c69 6573 202a 6e6f 7465 anomalies *note │ │ │ │ │ +0001a050: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal │ │ │ │ │ +0001a060: 6965 733a 3a20 616e 6420 6269 6720 6f75 ies:: and big ou │ │ │ │ │ +0001a070: 7470 7574 2066 696c 6573 2e0a e280 982d tput files.....- │ │ │ │ │ +0001a080: 64e2 8099 0a20 2020 2020 5275 6e20 e280 d.... Run .. │ │ │ │ │ +0001a090: 9873 6b65 7463 68e2 8099 2773 2070 6172 .sketch...'s par │ │ │ │ │ +0001a0a0: 7365 7220 696e 2064 6562 7567 6769 6e67 ser in debugging │ │ │ │ │ +0001a0b0: 206d 6f64 652e 2020 5468 6973 2069 7320 mode. This is │ │ │ │ │ +0001a0c0: 7072 696d 6172 696c 7920 666f 720a 2020 primarily for. │ │ │ │ │ +0001a0d0: 2020 2064 6576 656c 6f70 6d65 6e74 2e0a development.. │ │ │ │ │ +0001a0e0: e280 982d 74e2 8099 0a20 2020 2020 5573 ...-t.... Us │ │ │ │ │ +0001a0f0: 6520 636f 6e74 656e 7473 206f 6620 6669 e contents of fi │ │ │ │ │ +0001a100: 6c65 20e2 8098 646f 6374 6d70 e280 9920 le ...doctmp... │ │ │ │ │ +0001a110: 6173 2061 2064 6f63 756d 656e 7420 7465 as a document te │ │ │ │ │ +0001a120: 6d70 6c61 7465 2069 6e20 7768 6963 6820 mplate in which │ │ │ │ │ +0001a130: 746f 0a20 2020 2020 656e 636c 6f73 6520 to. enclose │ │ │ │ │ +0001a140: e280 9850 5354 7269 636b 73e2 8099 206f ...PSTricks... o │ │ │ │ │ +0001a150: 7574 7075 7420 636f 6465 2e20 2054 6865 utput code. The │ │ │ │ │ +0001a160: 2063 6f64 6520 6973 2069 6e73 6572 7465 code is inserte │ │ │ │ │ +0001a170: 6420 696e 2070 6c61 6365 206f 660a 2020 d in place of. │ │ │ │ │ +0001a180: 2020 2074 6865 2066 6972 7374 2069 6e73 the first ins │ │ │ │ │ +0001a190: 7461 6e63 6520 6f66 2074 6865 2065 7363 tance of the esc │ │ │ │ │ +0001a1a0: 6170 6520 7374 7269 6e67 2025 2553 4b45 ape string %%SKE │ │ │ │ │ +0001a1b0: 5443 485f 4f55 5450 5554 2525 2e0a e280 TCH_OUTPUT%%.... │ │ │ │ │ +0001a1c0: 982d 54e2 8099 0a20 2020 2020 4361 7573 .-T.... Caus │ │ │ │ │ +0001a1d0: 6573 20e2 8098 5053 5472 6963 6b73 e280 es ...PSTricks.. │ │ │ │ │ +0001a1e0: 9920 6f75 7470 7574 2074 6f20 6265 2065 . output to be e │ │ │ │ │ +0001a1f0: 6e63 6c6f 7365 6420 696e 2064 6566 6175 nclosed in defau │ │ │ │ │ +0001a200: 6c74 2055 5320 646f 6375 6d65 6e74 0a20 lt US document. │ │ │ │ │ +0001a210: 2020 2020 7465 6d70 6c61 7465 2074 6578 template tex │ │ │ │ │ +0001a220: 742e 2020 4f70 7469 6f6e 20e2 8098 2d54 t. Option ...-T │ │ │ │ │ +0001a230: 75e2 8099 2069 7320 6120 7379 6e6f 6e79 u... is a synony │ │ │ │ │ +0001a240: 6d2e 2020 4f70 7469 6f6e 20e2 8098 2d54 m. Option ...-T │ │ │ │ │ +0001a250: 65e2 8099 2063 6175 7365 7320 7468 650a e... causes the. │ │ │ │ │ +0001a260: 2020 2020 2045 7572 6f20 7374 616e 6461 Euro standa │ │ │ │ │ +0001a270: 7264 2064 6f63 756d 656e 7420 7465 6d70 rd document temp │ │ │ │ │ +0001a280: 6c61 7465 2074 6f20 6265 2075 7365 642e late to be used. │ │ │ │ │ +0001a290: 2020 4120 e280 9870 e280 9920 6170 7065 A ...p... appe │ │ │ │ │ +0001a2a0: 6e64 6564 2074 6f20 616e 790a 2020 2020 nded to any. │ │ │ │ │ +0001a2b0: 206f 6620 7468 6573 6520 6f70 7469 6f6e of these option │ │ │ │ │ +0001a2c0: 7320 6361 7573 6573 2074 6865 2072 6573 s causes the res │ │ │ │ │ +0001a2d0: 7065 6374 6976 6520 6465 6661 756c 7420 pective default │ │ │ │ │ +0001a2e0: e280 9850 5354 7269 636b 73e2 8099 2064 ...PSTricks... d │ │ │ │ │ +0001a2f0: 6f63 756d 656e 740a 2020 2020 2074 656d ocument. tem │ │ │ │ │ +0001a300: 706c 6174 6520 746f 2062 6520 7072 696e plate to be prin │ │ │ │ │ +0001a310: 7465 6420 746f 2073 7461 6e64 6172 6420 ted to standard │ │ │ │ │ +0001a320: 6f75 7470 7574 2e20 2041 6e20 6170 7065 output. An appe │ │ │ │ │ +0001a330: 6e64 6564 20e2 8098 50e2 8099 2069 7320 nded ...P... is │ │ │ │ │ +0001a340: 610a 2020 2020 2073 796e 6f6e 796d 2e20 a. synonym. │ │ │ │ │ +0001a350: 2041 6e20 6170 7065 6e64 6564 20e2 8098 An appended ... │ │ │ │ │ +0001a360: 54e2 8099 2063 6175 7365 7320 7468 6520 T... causes the │ │ │ │ │ +0001a370: 7468 6520 e280 9854 696b 5a2f 5047 46e2 the ...TikZ/PGF. │ │ │ │ │ +0001a380: 8099 2074 656d 706c 6174 6520 746f 2062 .. template to b │ │ │ │ │ +0001a390: 650a 2020 2020 2070 7269 6e74 6564 2e20 e. printed. │ │ │ │ │ +0001a3a0: 2041 6e20 6170 7065 6e64 6564 20e2 8098 An appended ... │ │ │ │ │ +0001a3b0: 4ce2 8099 2070 7269 6e74 7320 7468 6520 L... prints the │ │ │ │ │ +0001a3c0: 4c61 5465 5820 7665 7273 696f 6e20 6f66 LaTeX version of │ │ │ │ │ +0001a3d0: 2074 6865 2064 6f63 756d 656e 740a 2020 the document. │ │ │ │ │ +0001a3e0: 2020 2074 656d 706c 6174 652c 2061 2073 template, a s │ │ │ │ │ +0001a3f0: 796e 6f6e 796d 2066 6f72 2074 6865 2064 ynonym for the d │ │ │ │ │ +0001a400: 6566 6175 6c74 2e20 2041 20e2 8098 43e2 efault. A ...C. │ │ │ │ │ +0001a410: 8099 2070 7269 6e74 7320 7468 6520 e280 .. prints the .. │ │ │ │ │ +0001a420: 9843 6f6e 5465 5874 e280 990a 2020 2020 .ConTeXt.... │ │ │ │ │ +0001a430: 2074 656d 706c 6174 652e 0ae2 8098 2d6f template.....-o │ │ │ │ │ +0001a440: e280 990a 2020 2020 2055 7365 20e2 8098 .... Use ... │ │ │ │ │ +0001a450: 6f75 7470 7574 2e74 6578 e280 9920 6173 output.tex... as │ │ │ │ │ +0001a460: 2074 6865 206f 7574 7075 7420 6669 6c65 the output file │ │ │ │ │ +0001a470: 2e20 2054 6865 2064 6566 6175 6c74 2069 . The default i │ │ │ │ │ +0001a480: 7320 7374 616e 6461 7264 0a20 2020 2020 s standard. │ │ │ │ │ +0001a490: 6f75 7470 7574 2e0a e280 982d 44e2 8099 output.....-D... │ │ │ │ │ +0001a4a0: 0a20 2020 2020 4465 6669 6e65 2061 2074 . Define a t │ │ │ │ │ +0001a4b0: 6167 2066 6f72 2070 7572 706f 7365 7320 ag for purposes │ │ │ │ │ +0001a4c0: 6f66 2073 656c 6563 7469 6e67 2064 6566 of selecting def │ │ │ │ │ +0001a4d0: 696e 6974 696f 6e20 616c 7465 726e 6174 inition alternat │ │ │ │ │ +0001a4e0: 6976 6573 2e0a 2020 2020 202a 4e6f 7465 ives.. *Note │ │ │ │ │ +0001a4f0: 2044 6566 696e 6974 696f 6e73 3a3a 2e20 Definitions::. │ │ │ │ │ +0001a500: 2054 6865 2064 6566 696e 6974 696f 6e20 The definition │ │ │ │ │ +0001a510: 6170 706c 6965 7320 666f 7220 616c 6c20 applies for all │ │ │ │ │ +0001a520: 696e 7075 7420 6669 6c65 730a 2020 2020 input files. │ │ │ │ │ +0001a530: 2074 6861 7420 666f 6c6c 6f77 2075 6e6c that follow unl │ │ │ │ │ +0001a540: 6573 7320 7468 6520 7461 6720 6973 2075 ess the tag is u │ │ │ │ │ +0001a550: 6e64 6566 696e 6564 2077 6974 6820 e280 ndefined with .. │ │ │ │ │ +0001a560: 982d 55e2 8099 2e0a e280 9869 6e70 7574 .-U........input │ │ │ │ │ +0001a570: 692e 736b e280 990a 2020 2020 2049 6e70 i.sk.... Inp │ │ │ │ │ +0001a580: 7574 2066 696c 6573 2c20 7265 6164 2069 ut files, read i │ │ │ │ │ +0001a590: 6e20 7468 6520 7365 7175 656e 6365 2074 n the sequence t │ │ │ │ │ +0001a5a0: 6865 7920 6172 6520 6769 7665 6e2e 0ae2 hey are given... │ │ │ │ │ +0001a5b0: 8098 2d55 e280 990a 2020 2020 2055 6e2d ..-U.... Un- │ │ │ │ │ +0001a5c0: 6465 6669 6e65 2061 2074 6167 2066 6f72 define a tag for │ │ │ │ │ +0001a5d0: 2070 7572 706f 7365 7320 6f66 2073 656c purposes of sel │ │ │ │ │ +0001a5e0: 6563 7469 6e67 2064 6566 696e 6974 696f ecting definitio │ │ │ │ │ +0001a5f0: 6e20 616c 7465 726e 6174 6976 6573 2e0a n alternatives.. │ │ │ │ │ +0001a600: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch. │ │ │ │ │ +0001a610: 696e 666f 2c20 204e 6f64 653a 2049 6e73 info, Node: Ins │ │ │ │ │ +0001a620: 7461 6c6c 696e 6720 736b 6574 6368 2c20 talling sketch, │ │ │ │ │ +0001a630: 204e 6578 743a 2049 6e64 6578 206f 6620 Next: Index of │ │ │ │ │ +0001a640: 7379 6e74 6178 2c20 2050 7265 763a 2043 syntax, Prev: C │ │ │ │ │ +0001a650: 6f6d 6d61 6e64 206c 696e 652c 2020 5570 ommand line, Up │ │ │ │ │ +0001a660: 3a20 546f 700a 0a36 2042 7569 6c64 696e : Top..6 Buildin │ │ │ │ │ +0001a670: 6720 616e 6420 696e 7374 616c 6c69 6e67 g and installing │ │ │ │ │ +0001a680: 20e2 8098 736b 6574 6368 e280 990a 2a2a ...sketch....** │ │ │ │ │ 0001a690: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -0001a6a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************.. │ │ │ │ │ -0001a6b0: e280 9853 6b65 7463 68e2 8099 2069 7320 ...Sketch... is │ │ │ │ │ -0001a6c0: 736f 2073 6d61 6c6c 2074 6861 7420 636f so small that co │ │ │ │ │ -0001a6d0: 6d70 696c 696e 6720 6279 2062 7275 7465 mpiling by brute │ │ │ │ │ -0001a6e0: 2066 6f72 6365 2069 7320 7072 6f62 6162 force is probab │ │ │ │ │ -0001a6f0: 6c79 2062 6573 742e 0a54 6865 2066 6f6c ly best..The fol │ │ │ │ │ -0001a700: 6c6f 7769 6e67 2063 6f6d 6d61 6e64 206f lowing command o │ │ │ │ │ -0001a710: 7567 6874 2074 6f20 646f 2074 6865 2074 ught to do the t │ │ │ │ │ -0001a720: 7269 636b 206f 6e20 616e 7920 7379 7374 rick on any syst │ │ │ │ │ -0001a730: 656d 7320 7768 6572 6520 e280 9867 6363 ems where ...gcc │ │ │ │ │ -0001a740: e280 990a 6973 2069 6e73 7461 6c6c 6564 ....is installed │ │ │ │ │ -0001a750: 2e20 204d 616b 6520 7375 7265 2074 6f20 . Make sure to │ │ │ │ │ -0001a760: 6669 7273 7420 6368 616e 6765 2063 7572 first change cur │ │ │ │ │ -0001a770: 7265 6e74 2064 6972 6563 746f 7269 6573 rent directories │ │ │ │ │ -0001a780: 2074 6f20 7468 650a 706c 6163 6520 7768 to the.place wh │ │ │ │ │ -0001a790: 6572 6520 796f 7520 6861 7665 2075 6e70 ere you have unp │ │ │ │ │ -0001a7a0: 6163 6b65 6420 7468 6520 736f 7572 6365 acked the source │ │ │ │ │ -0001a7b0: 732e 0a20 2020 2020 6763 6320 2a2e 6320 s.. gcc *.c │ │ │ │ │ -0001a7c0: 2d6f 2073 6b65 7463 682e 6578 6520 2d6c -o sketch.exe -l │ │ │ │ │ -0001a7d0: 6d0a 5468 6520 e280 982e 6578 65e2 8099 m.The ....exe... │ │ │ │ │ -0001a7e0: 2061 7420 7468 6520 656e 6420 6973 206e at the end is n │ │ │ │ │ -0001a7f0: 6563 6573 7361 7279 2066 6f72 2057 696e ecessary for Win │ │ │ │ │ -0001a800: 646f 7773 2073 7973 7465 6d73 2e20 2044 dows systems. D │ │ │ │ │ -0001a810: 726f 7020 6974 2069 6620 796f 7572 0a73 rop it if your.s │ │ │ │ │ -0001a820: 7973 7465 6d20 6973 2073 6f6d 6520 7665 ystem is some ve │ │ │ │ │ -0001a830: 7273 696f 6e20 6f66 2055 6e69 782e 2020 rsion of Unix. │ │ │ │ │ -0001a840: 4f74 6865 7220 4320 636f 6d70 696c 6572 Other C compiler │ │ │ │ │ -0001a850: 7320 6f75 6768 7420 746f 2077 6f72 6b20 s ought to work │ │ │ │ │ -0001a860: 6173 206a 7573 740a 6173 2077 656c 6c2e as just.as well. │ │ │ │ │ -0001a870: 2020 466f 7220 6578 616d 706c 652c 0a20 For example,. │ │ │ │ │ -0001a880: 2020 2020 636c 202a 2e63 202d 6f20 736b cl *.c -o sk │ │ │ │ │ -0001a890: 6574 6368 2e65 7865 0a69 7320 7468 6520 etch.exe.is the │ │ │ │ │ -0001a8a0: 636f 7272 6563 7420 636f 6d6d 616e 6420 correct command │ │ │ │ │ -0001a8b0: 666f 7220 6d61 6e79 2076 6572 7369 6f6e for many version │ │ │ │ │ -0001a8c0: 7320 6f66 204d 5320 5669 7375 616c 2043 s of MS Visual C │ │ │ │ │ -0001a8d0: 2e20 496e 2074 6865 206c 6174 6573 740a . In the latest. │ │ │ │ │ -0001a8e0: 7665 7273 696f 6e73 2c20 4d69 6372 6f73 versions, Micros │ │ │ │ │ -0001a8f0: 6f66 7420 6861 7320 6465 7072 6563 6174 oft has deprecat │ │ │ │ │ -0001a900: 6564 2074 6865 20e2 8098 2d6f e280 9920 ed the ...-o... │ │ │ │ │ -0001a910: 6f70 7469 6f6e 2061 6e64 2c20 6279 2064 option and, by d │ │ │ │ │ -0001a920: 6566 6175 6c74 2c20 646f 6573 0a6e 6f74 efault, does.not │ │ │ │ │ -0001a930: 2064 6566 696e 6520 7468 6520 e280 985f define the ..._ │ │ │ │ │ -0001a940: 5f53 5444 435f 5fe2 8099 206d 6163 726f _STDC__... macro │ │ │ │ │ -0001a950: 2e20 2054 6869 7320 6361 7573 6573 2070 . This causes p │ │ │ │ │ -0001a960: 726f 626c 656d 7320 7769 7468 2073 6f6d roblems with som │ │ │ │ │ -0001a970: 650a 7665 7273 696f 6e73 206f 6620 e280 e.versions of .. │ │ │ │ │ -0001a980: 9866 6c65 78e2 8099 2c20 e280 9862 6973 .flex..., ...bis │ │ │ │ │ -0001a990: 6f6e e280 992c 20e2 8098 6c65 78e2 8099 on..., ...lex... │ │ │ │ │ -0001a9a0: 2c20 616e 6420 e280 9879 6163 63e2 8099 , and ...yacc... │ │ │ │ │ -0001a9b0: 2c20 7768 6963 6820 6172 6520 7573 6564 , which are used │ │ │ │ │ -0001a9c0: 2074 6f20 6372 6561 7465 0a74 6865 20e2 to create.the . │ │ │ │ │ -0001a9d0: 8098 736b 6574 6368 e280 9920 7363 616e ..sketch... scan │ │ │ │ │ -0001a9e0: 6e65 7220 616e 6420 7061 7273 6572 2e20 ner and parser. │ │ │ │ │ -0001a9f0: 2049 7427 7320 6e65 6172 6c79 2061 6c77 It's nearly alw │ │ │ │ │ -0001aa00: 6179 7320 706f 7373 6962 6c65 2074 6f20 ays possible to │ │ │ │ │ -0001aa10: 6669 6e64 2061 0a73 6574 206f 6620 6f70 find a.set of op │ │ │ │ │ -0001aa20: 7469 6f6e 7320 7468 6174 2063 6f6d 7069 tions that compi │ │ │ │ │ -0001aa30: 6c65 7320 7769 7468 206e 6f20 6572 726f les with no erro │ │ │ │ │ -0001aa40: 7273 206f 7220 7761 726e 696e 6773 2c20 rs or warnings, │ │ │ │ │ -0001aa50: 616e 6420 7468 6973 206d 6561 6e73 0ae2 and this means.. │ │ │ │ │ -0001aa60: 8098 736b 6574 6368 e280 9920 6973 205f ..sketch... is _ │ │ │ │ │ -0001aa70: 7665 7279 5f20 6c69 6b65 6c79 2074 6f20 very_ likely to │ │ │ │ │ -0001aa80: 776f 726b 2063 6f72 7265 6374 6c79 2e20 work correctly. │ │ │ │ │ -0001aa90: 2046 6f72 2065 7861 6d70 6c65 2c20 7468 For example, th │ │ │ │ │ -0001aaa0: 6520 5669 7375 616c 0a43 2b2b 2032 3030 e Visual.C++ 200 │ │ │ │ │ -0001aab0: 3520 4578 7072 6573 7320 4564 6974 696f 5 Express Editio │ │ │ │ │ -0001aac0: 6e20 636f 6d70 696c 6572 2028 6176 6169 n compiler (avai │ │ │ │ │ -0001aad0: 6c61 626c 6520 6672 6565 206f 6620 6368 lable free of ch │ │ │ │ │ -0001aae0: 6172 6765 2066 726f 6d20 7468 650a 4d69 arge from the.Mi │ │ │ │ │ -0001aaf0: 6372 6f73 6f66 7420 7765 6220 7369 7465 crosoft web site │ │ │ │ │ -0001ab00: 292c 20e2 8098 666c 6578 e280 9920 7665 ), ...flex... ve │ │ │ │ │ -0001ab10: 7273 696f 6e20 322e 352e 342c 2061 6e64 rsion 2.5.4, and │ │ │ │ │ -0001ab20: 20e2 8098 6269 736f 6ee2 8099 2076 6572 ...bison... ver │ │ │ │ │ -0001ab30: 7369 6f6e 2032 2e31 2062 7569 6c64 0a65 sion 2.1 build.e │ │ │ │ │ -0001ab40: 7272 6f72 2d66 7265 6520 7769 7468 0a20 rror-free with. │ │ │ │ │ -0001ab50: 2020 2020 636c 202d 4459 595f 4e45 5645 cl -DYY_NEVE │ │ │ │ │ -0001ab60: 525f 494e 5445 5241 4354 4956 453d 3120 R_INTERACTIVE=1 │ │ │ │ │ -0001ab70: 2d5a 6120 2d4f 7820 2d46 6573 6b65 7463 -Za -Ox -Fesketc │ │ │ │ │ -0001ab80: 682e 6578 6520 2a2e 630a 0a20 2020 466f h.exe *.c.. Fo │ │ │ │ │ -0001ab90: 7220 7075 7269 7374 732c 2074 6865 7265 r purists, there │ │ │ │ │ -0001aba0: 2069 7320 616c 736f 2061 20e2 8098 6d61 is also a ...ma │ │ │ │ │ -0001abb0: 6b65 6669 6c65 e280 9920 636f 6d70 6174 kefile... compat │ │ │ │ │ -0001abc0: 6962 6c65 2077 6974 6820 474e 5520 e280 ible with GNU .. │ │ │ │ │ -0001abd0: 986d 616b 65e2 8099 0a61 6e64 20e2 8098 .make....and ... │ │ │ │ │ -0001abe0: 6763 63e2 8099 2e20 2054 6865 2063 6f6d gcc.... The com │ │ │ │ │ -0001abf0: 6d61 6e64 0a20 2020 2020 6d61 6b65 0a77 mand. make.w │ │ │ │ │ -0001ac00: 696c 6c20 6275 696c 6420 7468 6520 6578 ill build the ex │ │ │ │ │ -0001ac10: 6563 7574 6162 6c65 2c20 696e 636c 7564 ecutable, includ │ │ │ │ │ -0001ac20: 696e 6720 7468 6520 7265 6275 696c 6469 ing the rebuildi │ │ │ │ │ -0001ac30: 6e67 206f 6620 7468 6520 7363 616e 6e65 ng of the scanne │ │ │ │ │ -0001ac40: 7220 616e 640a 7061 7273 6572 2077 6974 r and.parser wit │ │ │ │ │ -0001ac50: 6820 e280 9866 6c65 78e2 8099 2061 6e64 h ...flex... and │ │ │ │ │ -0001ac60: 20e2 8098 6269 736f 6ee2 8099 2069 6620 ...bison... if │ │ │ │ │ -0001ac70: 796f 7520 6861 7665 2063 6861 6e67 6564 you have changed │ │ │ │ │ -0001ac80: 20e2 8098 736b 6574 6368 2e6c e280 9920 ...sketch.l... │ │ │ │ │ -0001ac90: 6f72 0ae2 8098 736b 6574 6368 2e79 e280 or....sketch.y.. │ │ │ │ │ -0001aca0: 9920 7265 7370 6563 7469 7665 6c79 2e0a . respectively.. │ │ │ │ │ -0001acb0: 0a20 2020 5768 696c 6520 6e6f 7420 6573 . While not es │ │ │ │ │ -0001acc0: 7365 6e74 6961 6c2c 2062 7569 6c64 696e sential, buildin │ │ │ │ │ -0001acd0: 6720 7468 6520 6d61 6e75 616c 2069 7320 g the manual is │ │ │ │ │ -0001ace0: 616e 2065 7863 656c 6c65 6e74 2074 6573 an excellent tes │ │ │ │ │ -0001acf0: 7420 6f66 2079 6f75 720a e280 9873 6b65 t of your....ske │ │ │ │ │ -0001ad00: 7463 68e2 8099 2069 6e73 7461 6c6c 6174 tch... installat │ │ │ │ │ -0001ad10: 696f 6e2e 2020 546f 2062 7569 6c64 2074 ion. To build t │ │ │ │ │ -0001ad20: 6869 7320 646f 6375 6d65 6e74 2069 6e20 his document in │ │ │ │ │ -0001ad30: 616c 6c20 6974 7320 6d79 7269 6164 2066 all its myriad f │ │ │ │ │ -0001ad40: 6f72 6d73 0a28 6173 7375 6d69 6e67 2079 orms.(assuming y │ │ │ │ │ -0001ad50: 6f75 2068 6176 6520 7468 6520 6e65 6365 ou have the nece │ │ │ │ │ -0001ad60: 7373 6172 7920 636f 6e76 6572 7369 6f6e ssary conversion │ │ │ │ │ -0001ad70: 2070 726f 6772 616d 7320 6f6e 2079 6f75 programs on you │ │ │ │ │ -0001ad80: 7220 7379 7374 656d 292c 0a75 7365 0a20 r system),.use. │ │ │ │ │ -0001ad90: 2020 2020 6d61 6b65 2064 6f63 730a 5468 make docs.Th │ │ │ │ │ -0001ada0: 6520 706f 7373 6962 696c 6974 6965 7320 e possibilities │ │ │ │ │ -0001adb0: 6172 6520 6c69 7374 6564 2069 6e20 7468 are listed in th │ │ │ │ │ -0001adc0: 6973 2066 6f6c 6c6f 7769 6e67 2074 6162 is following tab │ │ │ │ │ -0001add0: 6c65 2e0a 466f 726d 6174 2020 2020 2020 le..Format │ │ │ │ │ -0001ade0: 2020 2020 2020 2020 2020 436f 6e76 6572 Conver │ │ │ │ │ -0001adf0: 7465 7220 2020 2020 2020 2050 6963 7475 ter Pictu │ │ │ │ │ -0001ae00: 7265 7320 2020 4465 7363 7269 7074 696f res Descriptio │ │ │ │ │ -0001ae10: 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n.-------------- │ │ │ │ │ +0001a6a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ +0001a6b0: 0a0a e280 9853 6b65 7463 68e2 8099 2069 .....Sketch... i │ │ │ │ │ +0001a6c0: 7320 736f 2073 6d61 6c6c 2074 6861 7420 s so small that │ │ │ │ │ +0001a6d0: 636f 6d70 696c 696e 6720 6279 2062 7275 compiling by bru │ │ │ │ │ +0001a6e0: 7465 2066 6f72 6365 2069 7320 7072 6f62 te force is prob │ │ │ │ │ +0001a6f0: 6162 6c79 2062 6573 742e 0a54 6865 2066 ably best..The f │ │ │ │ │ +0001a700: 6f6c 6c6f 7769 6e67 2063 6f6d 6d61 6e64 ollowing command │ │ │ │ │ +0001a710: 206f 7567 6874 2074 6f20 646f 2074 6865 ought to do the │ │ │ │ │ +0001a720: 2074 7269 636b 206f 6e20 616e 7920 7379 trick on any sy │ │ │ │ │ +0001a730: 7374 656d 7320 7768 6572 6520 e280 9867 stems where ...g │ │ │ │ │ +0001a740: 6363 e280 990a 6973 2069 6e73 7461 6c6c cc....is install │ │ │ │ │ +0001a750: 6564 2e20 204d 616b 6520 7375 7265 2074 ed. Make sure t │ │ │ │ │ +0001a760: 6f20 6669 7273 7420 6368 616e 6765 2063 o first change c │ │ │ │ │ +0001a770: 7572 7265 6e74 2064 6972 6563 746f 7269 urrent directori │ │ │ │ │ +0001a780: 6573 2074 6f20 7468 650a 706c 6163 6520 es to the.place │ │ │ │ │ +0001a790: 7768 6572 6520 796f 7520 6861 7665 2075 where you have u │ │ │ │ │ +0001a7a0: 6e70 6163 6b65 6420 7468 6520 736f 7572 npacked the sour │ │ │ │ │ +0001a7b0: 6365 732e 0a20 2020 2020 6763 6320 2a2e ces.. gcc *. │ │ │ │ │ +0001a7c0: 6320 2d6f 2073 6b65 7463 682e 6578 6520 c -o sketch.exe │ │ │ │ │ +0001a7d0: 2d6c 6d0a 5468 6520 e280 982e 6578 65e2 -lm.The ....exe. │ │ │ │ │ +0001a7e0: 8099 2061 7420 7468 6520 656e 6420 6973 .. at the end is │ │ │ │ │ +0001a7f0: 206e 6563 6573 7361 7279 2066 6f72 2057 necessary for W │ │ │ │ │ +0001a800: 696e 646f 7773 2073 7973 7465 6d73 2e20 indows systems. │ │ │ │ │ +0001a810: 2044 726f 7020 6974 2069 6620 796f 7572 Drop it if your │ │ │ │ │ +0001a820: 0a73 7973 7465 6d20 6973 2073 6f6d 6520 .system is some │ │ │ │ │ +0001a830: 7665 7273 696f 6e20 6f66 2055 6e69 782e version of Unix. │ │ │ │ │ +0001a840: 2020 4f74 6865 7220 4320 636f 6d70 696c Other C compil │ │ │ │ │ +0001a850: 6572 7320 6f75 6768 7420 746f 2077 6f72 ers ought to wor │ │ │ │ │ +0001a860: 6b20 6173 206a 7573 740a 6173 2077 656c k as just.as wel │ │ │ │ │ +0001a870: 6c2e 2020 466f 7220 6578 616d 706c 652c l. For example, │ │ │ │ │ +0001a880: 0a20 2020 2020 636c 202a 2e63 202d 6f20 . cl *.c -o │ │ │ │ │ +0001a890: 736b 6574 6368 2e65 7865 0a69 7320 7468 sketch.exe.is th │ │ │ │ │ +0001a8a0: 6520 636f 7272 6563 7420 636f 6d6d 616e e correct comman │ │ │ │ │ +0001a8b0: 6420 666f 7220 6d61 6e79 2076 6572 7369 d for many versi │ │ │ │ │ +0001a8c0: 6f6e 7320 6f66 204d 5320 5669 7375 616c ons of MS Visual │ │ │ │ │ +0001a8d0: 2043 2e20 496e 2074 6865 206c 6174 6573 C. In the lates │ │ │ │ │ +0001a8e0: 740a 7665 7273 696f 6e73 2c20 4d69 6372 t.versions, Micr │ │ │ │ │ +0001a8f0: 6f73 6f66 7420 6861 7320 6465 7072 6563 osoft has deprec │ │ │ │ │ +0001a900: 6174 6564 2074 6865 20e2 8098 2d6f e280 ated the ...-o.. │ │ │ │ │ +0001a910: 9920 6f70 7469 6f6e 2061 6e64 2c20 6279 . option and, by │ │ │ │ │ +0001a920: 2064 6566 6175 6c74 2c20 646f 6573 0a6e default, does.n │ │ │ │ │ +0001a930: 6f74 2064 6566 696e 6520 7468 6520 e280 ot define the .. │ │ │ │ │ +0001a940: 985f 5f53 5444 435f 5fe2 8099 206d 6163 .__STDC__... mac │ │ │ │ │ +0001a950: 726f 2e20 2054 6869 7320 6361 7573 6573 ro. This causes │ │ │ │ │ +0001a960: 2070 726f 626c 656d 7320 7769 7468 2073 problems with s │ │ │ │ │ +0001a970: 6f6d 650a 7665 7273 696f 6e73 206f 6620 ome.versions of │ │ │ │ │ +0001a980: e280 9866 6c65 78e2 8099 2c20 e280 9862 ...flex..., ...b │ │ │ │ │ +0001a990: 6973 6f6e e280 992c 20e2 8098 6c65 78e2 ison..., ...lex. │ │ │ │ │ +0001a9a0: 8099 2c20 616e 6420 e280 9879 6163 63e2 .., and ...yacc. │ │ │ │ │ +0001a9b0: 8099 2c20 7768 6963 6820 6172 6520 7573 .., which are us │ │ │ │ │ +0001a9c0: 6564 2074 6f20 6372 6561 7465 0a74 6865 ed to create.the │ │ │ │ │ +0001a9d0: 20e2 8098 736b 6574 6368 e280 9920 7363 ...sketch... sc │ │ │ │ │ +0001a9e0: 616e 6e65 7220 616e 6420 7061 7273 6572 anner and parser │ │ │ │ │ +0001a9f0: 2e20 2049 7427 7320 6e65 6172 6c79 2061 . It's nearly a │ │ │ │ │ +0001aa00: 6c77 6179 7320 706f 7373 6962 6c65 2074 lways possible t │ │ │ │ │ +0001aa10: 6f20 6669 6e64 2061 0a73 6574 206f 6620 o find a.set of │ │ │ │ │ +0001aa20: 6f70 7469 6f6e 7320 7468 6174 2063 6f6d options that com │ │ │ │ │ +0001aa30: 7069 6c65 7320 7769 7468 206e 6f20 6572 piles with no er │ │ │ │ │ +0001aa40: 726f 7273 206f 7220 7761 726e 696e 6773 rors or warnings │ │ │ │ │ +0001aa50: 2c20 616e 6420 7468 6973 206d 6561 6e73 , and this means │ │ │ │ │ +0001aa60: 0ae2 8098 736b 6574 6368 e280 9920 6973 ....sketch... is │ │ │ │ │ +0001aa70: 205f 7665 7279 5f20 6c69 6b65 6c79 2074 _very_ likely t │ │ │ │ │ +0001aa80: 6f20 776f 726b 2063 6f72 7265 6374 6c79 o work correctly │ │ │ │ │ +0001aa90: 2e20 2046 6f72 2065 7861 6d70 6c65 2c20 . For example, │ │ │ │ │ +0001aaa0: 7468 6520 5669 7375 616c 0a43 2b2b 2032 the Visual.C++ 2 │ │ │ │ │ +0001aab0: 3030 3520 4578 7072 6573 7320 4564 6974 005 Express Edit │ │ │ │ │ +0001aac0: 696f 6e20 636f 6d70 696c 6572 2028 6176 ion compiler (av │ │ │ │ │ +0001aad0: 6169 6c61 626c 6520 6672 6565 206f 6620 ailable free of │ │ │ │ │ +0001aae0: 6368 6172 6765 2066 726f 6d20 7468 650a charge from the. │ │ │ │ │ +0001aaf0: 4d69 6372 6f73 6f66 7420 7765 6220 7369 Microsoft web si │ │ │ │ │ +0001ab00: 7465 292c 20e2 8098 666c 6578 e280 9920 te), ...flex... │ │ │ │ │ +0001ab10: 7665 7273 696f 6e20 322e 352e 342c 2061 version 2.5.4, a │ │ │ │ │ +0001ab20: 6e64 20e2 8098 6269 736f 6ee2 8099 2076 nd ...bison... v │ │ │ │ │ +0001ab30: 6572 7369 6f6e 2032 2e31 2062 7569 6c64 ersion 2.1 build │ │ │ │ │ +0001ab40: 0a65 7272 6f72 2d66 7265 6520 7769 7468 .error-free with │ │ │ │ │ +0001ab50: 0a20 2020 2020 636c 202d 4459 595f 4e45 . cl -DYY_NE │ │ │ │ │ +0001ab60: 5645 525f 494e 5445 5241 4354 4956 453d VER_INTERACTIVE= │ │ │ │ │ +0001ab70: 3120 2d5a 6120 2d4f 7820 2d46 6573 6b65 1 -Za -Ox -Feske │ │ │ │ │ +0001ab80: 7463 682e 6578 6520 2a2e 630a 0a20 2020 tch.exe *.c.. │ │ │ │ │ +0001ab90: 466f 7220 7075 7269 7374 732c 2074 6865 For purists, the │ │ │ │ │ +0001aba0: 7265 2069 7320 616c 736f 2061 20e2 8098 re is also a ... │ │ │ │ │ +0001abb0: 6d61 6b65 6669 6c65 e280 9920 636f 6d70 makefile... comp │ │ │ │ │ +0001abc0: 6174 6962 6c65 2077 6974 6820 474e 5520 atible with GNU │ │ │ │ │ +0001abd0: e280 986d 616b 65e2 8099 0a61 6e64 20e2 ...make....and . │ │ │ │ │ +0001abe0: 8098 6763 63e2 8099 2e20 2054 6865 2063 ..gcc.... The c │ │ │ │ │ +0001abf0: 6f6d 6d61 6e64 0a20 2020 2020 6d61 6b65 ommand. make │ │ │ │ │ +0001ac00: 0a77 696c 6c20 6275 696c 6420 7468 6520 .will build the │ │ │ │ │ +0001ac10: 6578 6563 7574 6162 6c65 2c20 696e 636c executable, incl │ │ │ │ │ +0001ac20: 7564 696e 6720 7468 6520 7265 6275 696c uding the rebuil │ │ │ │ │ +0001ac30: 6469 6e67 206f 6620 7468 6520 7363 616e ding of the scan │ │ │ │ │ +0001ac40: 6e65 7220 616e 640a 7061 7273 6572 2077 ner and.parser w │ │ │ │ │ +0001ac50: 6974 6820 e280 9866 6c65 78e2 8099 2061 ith ...flex... a │ │ │ │ │ +0001ac60: 6e64 20e2 8098 6269 736f 6ee2 8099 2069 nd ...bison... i │ │ │ │ │ +0001ac70: 6620 796f 7520 6861 7665 2063 6861 6e67 f you have chang │ │ │ │ │ +0001ac80: 6564 20e2 8098 736b 6574 6368 2e6c e280 ed ...sketch.l.. │ │ │ │ │ +0001ac90: 9920 6f72 0ae2 8098 736b 6574 6368 2e79 . or....sketch.y │ │ │ │ │ +0001aca0: e280 9920 7265 7370 6563 7469 7665 6c79 ... respectively │ │ │ │ │ +0001acb0: 2e0a 0a20 2020 5768 696c 6520 6e6f 7420 ... While not │ │ │ │ │ +0001acc0: 6573 7365 6e74 6961 6c2c 2062 7569 6c64 essential, build │ │ │ │ │ +0001acd0: 696e 6720 7468 6520 6d61 6e75 616c 2069 ing the manual i │ │ │ │ │ +0001ace0: 7320 616e 2065 7863 656c 6c65 6e74 2074 s an excellent t │ │ │ │ │ +0001acf0: 6573 7420 6f66 2079 6f75 720a e280 9873 est of your....s │ │ │ │ │ +0001ad00: 6b65 7463 68e2 8099 2069 6e73 7461 6c6c ketch... install │ │ │ │ │ +0001ad10: 6174 696f 6e2e 2020 546f 2062 7569 6c64 ation. To build │ │ │ │ │ +0001ad20: 2074 6869 7320 646f 6375 6d65 6e74 2069 this document i │ │ │ │ │ +0001ad30: 6e20 616c 6c20 6974 7320 6d79 7269 6164 n all its myriad │ │ │ │ │ +0001ad40: 2066 6f72 6d73 0a28 6173 7375 6d69 6e67 forms.(assuming │ │ │ │ │ +0001ad50: 2079 6f75 2068 6176 6520 7468 6520 6e65 you have the ne │ │ │ │ │ +0001ad60: 6365 7373 6172 7920 636f 6e76 6572 7369 cessary conversi │ │ │ │ │ +0001ad70: 6f6e 2070 726f 6772 616d 7320 6f6e 2079 on programs on y │ │ │ │ │ +0001ad80: 6f75 7220 7379 7374 656d 292c 0a75 7365 our system),.use │ │ │ │ │ +0001ad90: 0a20 2020 2020 6d61 6b65 2064 6f63 730a . make docs. │ │ │ │ │ +0001ada0: 5468 6520 706f 7373 6962 696c 6974 6965 The possibilitie │ │ │ │ │ +0001adb0: 7320 6172 6520 6c69 7374 6564 2069 6e20 s are listed in │ │ │ │ │ +0001adc0: 7468 6973 2066 6f6c 6c6f 7769 6e67 2074 this following t │ │ │ │ │ +0001add0: 6162 6c65 2e0a 466f 726d 6174 2020 2020 able..Format │ │ │ │ │ +0001ade0: 2020 2020 2020 2020 2020 2020 436f 6e76 Conv │ │ │ │ │ +0001adf0: 6572 7465 7220 2020 2020 2020 2050 6963 erter Pic │ │ │ │ │ +0001ae00: 7475 7265 7320 2020 4465 7363 7269 7074 tures Descript │ │ │ │ │ +0001ae10: 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ion.------------ │ │ │ │ │ 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 2d0a 6d61 -------------.ma │ │ │ │ │ -0001ae80: 6e75 616c 2e69 6e66 6f20 2020 2020 2020 nual.info │ │ │ │ │ -0001ae90: 2020 2020 6d61 6b65 696e 666f 2020 2020 makeinfo │ │ │ │ │ -0001aea0: 2020 2020 20e2 8098 2e74 7874 e280 9920 ....txt... │ │ │ │ │ -0001aeb0: 2020 2020 474e 5520 496e 666f 2e0a 6d61 GNU Info..ma │ │ │ │ │ -0001aec0: 6e75 616c 2e64 7669 2020 2020 2020 2020 nual.dvi │ │ │ │ │ -0001aed0: 2020 2020 7465 7869 3264 7669 2020 2020 texi2dvi │ │ │ │ │ -0001aee0: 2020 2020 20e2 8098 2e65 7073 e280 9920 ....eps... │ │ │ │ │ -0001aef0: 2020 2020 5465 5820 7479 7065 7365 7420 TeX typeset │ │ │ │ │ -0001af00: 6f75 7470 7574 2e0a 6d61 6e75 616c 2e70 output..manual.p │ │ │ │ │ -0001af10: 7320 2020 2020 2020 2020 2020 2020 7465 s te │ │ │ │ │ -0001af20: 7869 3264 7669 2c64 7669 7073 2020 20e2 xi2dvi,dvips . │ │ │ │ │ -0001af30: 8098 2e65 7073 e280 9920 2020 2020 506f ...eps... Po │ │ │ │ │ -0001af40: 7374 7363 7269 7074 2e0a 6d61 6e75 616c stscript..manual │ │ │ │ │ -0001af50: 2e70 6466 2020 2020 2020 2020 2020 2020 .pdf │ │ │ │ │ -0001af60: 7465 7869 3264 7669 2020 2020 2020 2020 texi2dvi │ │ │ │ │ -0001af70: 20e2 8098 2e70 6466 e280 9920 2020 2020 ....pdf... │ │ │ │ │ -0001af80: 4164 6f62 6520 5044 462e 0a6d 616e 7561 Adobe PDF..manua │ │ │ │ │ -0001af90: 6c2e 6874 6d6c 2020 2020 2020 2020 2020 l.html │ │ │ │ │ -0001afa0: 206d 616b 6569 6e66 6f20 2020 2020 2020 makeinfo │ │ │ │ │ -0001afb0: 2020 e280 982e 706e 67e2 8099 2020 2020 ....png... │ │ │ │ │ -0001afc0: 2041 2073 696e 676c 6520 7765 6220 7061 A single web pa │ │ │ │ │ -0001afd0: 6765 2e0a 6d61 6e75 616c 2f69 6e64 6578 ge..manual/index │ │ │ │ │ -0001afe0: 2e68 746d 6c20 2020 2020 6d61 6b65 696e .html makein │ │ │ │ │ -0001aff0: 666f 2020 2020 2020 2020 20e2 8098 2e70 fo ....p │ │ │ │ │ -0001b000: 6e67 e280 9920 2020 2020 4c69 6e6b 6564 ng... Linked │ │ │ │ │ -0001b010: 2077 6562 2070 6167 6573 2c20 6f6e 6520 web pages, one │ │ │ │ │ -0001b020: 7065 7220 6e6f 6465 2e0a 2020 2041 6c6c per node.. All │ │ │ │ │ -0001b030: 2074 6865 2072 6571 7569 7265 6420 746f the required to │ │ │ │ │ -0001b040: 6f6c 7320 6172 6520 696e 636c 7564 6564 ols are included │ │ │ │ │ -0001b050: 2069 6e20 7468 6520 7374 616e 6461 7264 in the standard │ │ │ │ │ -0001b060: 20e2 8098 5465 5820 4c69 7665 e280 990a ...TeX Live.... │ │ │ │ │ -0001b070: 6469 7374 7269 6275 7469 6f6e 2065 7863 distribution exc │ │ │ │ │ -0001b080: 6570 7420 7468 6174 2061 6e20 6164 6469 ept that an addi │ │ │ │ │ -0001b090: 7469 6f6e 616c 206f 7065 6e20 736f 7572 tional open sour │ │ │ │ │ -0001b0a0: 6365 2070 726f 6772 616d 20e2 8098 6570 ce program ...ep │ │ │ │ │ -0001b0b0: 7374 6f6f 6ce2 8099 2069 730a 6e65 6564 stool... is.need │ │ │ │ │ -0001b0c0: 6564 2074 6f20 7265 6669 6e65 2074 6865 ed to refine the │ │ │ │ │ -0001b0d0: 2045 6e63 6170 7375 6c61 7465 6420 506f Encapsulated Po │ │ │ │ │ -0001b0e0: 7374 7363 7269 7074 2062 6f75 6e64 696e stscript boundin │ │ │ │ │ -0001b0f0: 6720 626f 7865 7320 6f66 0ae2 8098 736b g boxes of....sk │ │ │ │ │ -0001b100: 6574 6368 e280 992d 6765 6e65 7261 7465 etch...-generate │ │ │ │ │ -0001b110: 6420 6669 6775 7265 7320 696e 2074 6865 d figures in the │ │ │ │ │ -0001b120: 206d 616e 7561 6c2e 2020 5468 6973 2074 manual. This t │ │ │ │ │ -0001b130: 6f6f 6c20 6973 2061 7661 696c 6162 6c65 ool is available │ │ │ │ │ -0001b140: 2069 6e0a 6269 6e61 7279 2066 6f72 6d20 in.binary form │ │ │ │ │ -0001b150: 666f 7220 5769 6e64 6f77 732c 2061 6e64 for Windows, and │ │ │ │ │ -0001b160: 2069 7420 6275 696c 6473 2065 6173 696c it builds easil │ │ │ │ │ -0001b170: 7920 7769 7468 2061 2073 696d 706c 6520 y with a simple │ │ │ │ │ -0001b180: e280 986d 616b 65e2 8099 2075 6e64 6572 ...make... under │ │ │ │ │ -0001b190: 0a6c 696e 7578 206f 7220 4379 6777 696e .linux or Cygwin │ │ │ │ │ -0001b1a0: 2069 6e73 7461 6c6c 6174 696f 6e73 2074 installations t │ │ │ │ │ -0001b1b0: 6861 7420 6861 7665 2064 6576 656c 6f70 hat have develop │ │ │ │ │ -0001b1c0: 6d65 6e74 2074 6f6f 6c73 2069 6e73 7461 ment tools insta │ │ │ │ │ -0001b1d0: 6c6c 6564 206f 720a 756e 6465 7220 e280 lled or.under .. │ │ │ │ │ -0001b1e0: 984d 6163 204f 5320 58e2 8099 2077 6974 .Mac OS X... wit │ │ │ │ │ -0001b1f0: 6820 e280 9858 436f 6465 e280 9920 696e h ...XCode... in │ │ │ │ │ -0001b200: 7374 616c 6c65 642e 0a0a 1f0a 4669 6c65 stalled.....File │ │ │ │ │ -0001b210: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, │ │ │ │ │ -0001b220: 4e6f 6465 3a20 496e 6465 7820 6f66 2073 Node: Index of s │ │ │ │ │ -0001b230: 796e 7461 782c 2020 4e65 7874 3a20 496e yntax, Next: In │ │ │ │ │ -0001b240: 6465 782c 2020 5072 6576 3a20 496e 7374 dex, Prev: Inst │ │ │ │ │ -0001b250: 616c 6c69 6e67 2073 6b65 7463 682c 2020 alling sketch, │ │ │ │ │ -0001b260: 5570 3a20 546f 700a 0a49 6e64 6578 206f Up: Top..Index o │ │ │ │ │ -0001b270: 6620 7379 6e74 6178 0a2a 2a2a 2a2a 2a2a f syntax.******* │ │ │ │ │ -0001b280: 2a2a 2a2a 2a2a 2a2a 0a0a 0008 5b69 6e64 ********....[ind │ │ │ │ │ -0001b290: 6578 0008 5d0a 2a20 4d65 6e75 3a0a 0a2a ex..].* Menu:..* │ │ │ │ │ -0001b2a0: 202d 2c20 6d69 6e75 7320 6f70 6572 6174 -, minus operat │ │ │ │ │ -0001b2b0: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: │ │ │ │ │ -0001b2c0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ -0001b2d0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ -0001b2e0: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ +0001ae70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +0001ae80: 6d61 6e75 616c 2e69 6e66 6f20 2020 2020 manual.info │ │ │ │ │ +0001ae90: 2020 2020 2020 6d61 6b65 696e 666f 2020 makeinfo │ │ │ │ │ +0001aea0: 2020 2020 2020 20e2 8098 2e74 7874 e280 ....txt.. │ │ │ │ │ +0001aeb0: 9920 2020 2020 474e 5520 496e 666f 2e0a . GNU Info.. │ │ │ │ │ +0001aec0: 6d61 6e75 616c 2e64 7669 2020 2020 2020 manual.dvi │ │ │ │ │ +0001aed0: 2020 2020 2020 7465 7869 3264 7669 2020 texi2dvi │ │ │ │ │ +0001aee0: 2020 2020 2020 20e2 8098 2e65 7073 e280 ....eps.. │ │ │ │ │ +0001aef0: 9920 2020 2020 5465 5820 7479 7065 7365 . TeX typese │ │ │ │ │ +0001af00: 7420 6f75 7470 7574 2e0a 6d61 6e75 616c t output..manual │ │ │ │ │ +0001af10: 2e70 7320 2020 2020 2020 2020 2020 2020 .ps │ │ │ │ │ +0001af20: 7465 7869 3264 7669 2c64 7669 7073 2020 texi2dvi,dvips │ │ │ │ │ +0001af30: 20e2 8098 2e65 7073 e280 9920 2020 2020 ....eps... │ │ │ │ │ +0001af40: 506f 7374 7363 7269 7074 2e0a 6d61 6e75 Postscript..manu │ │ │ │ │ +0001af50: 616c 2e70 6466 2020 2020 2020 2020 2020 al.pdf │ │ │ │ │ +0001af60: 2020 7465 7869 3264 7669 2020 2020 2020 texi2dvi │ │ │ │ │ +0001af70: 2020 20e2 8098 2e70 6466 e280 9920 2020 ....pdf... │ │ │ │ │ +0001af80: 2020 4164 6f62 6520 5044 462e 0a6d 616e Adobe PDF..man │ │ │ │ │ +0001af90: 7561 6c2e 6874 6d6c 2020 2020 2020 2020 ual.html │ │ │ │ │ +0001afa0: 2020 206d 616b 6569 6e66 6f20 2020 2020 makeinfo │ │ │ │ │ +0001afb0: 2020 2020 e280 982e 706e 67e2 8099 2020 ....png... │ │ │ │ │ +0001afc0: 2020 2041 2073 696e 676c 6520 7765 6220 A single web │ │ │ │ │ +0001afd0: 7061 6765 2e0a 6d61 6e75 616c 2f69 6e64 page..manual/ind │ │ │ │ │ +0001afe0: 6578 2e68 746d 6c20 2020 2020 6d61 6b65 ex.html make │ │ │ │ │ +0001aff0: 696e 666f 2020 2020 2020 2020 20e2 8098 info ... │ │ │ │ │ +0001b000: 2e70 6e67 e280 9920 2020 2020 4c69 6e6b .png... Link │ │ │ │ │ +0001b010: 6564 2077 6562 2070 6167 6573 2c20 6f6e ed web pages, on │ │ │ │ │ +0001b020: 6520 7065 7220 6e6f 6465 2e0a 2020 2041 e per node.. A │ │ │ │ │ +0001b030: 6c6c 2074 6865 2072 6571 7569 7265 6420 ll the required │ │ │ │ │ +0001b040: 746f 6f6c 7320 6172 6520 696e 636c 7564 tools are includ │ │ │ │ │ +0001b050: 6564 2069 6e20 7468 6520 7374 616e 6461 ed in the standa │ │ │ │ │ +0001b060: 7264 20e2 8098 5465 5820 4c69 7665 e280 rd ...TeX Live.. │ │ │ │ │ +0001b070: 990a 6469 7374 7269 6275 7469 6f6e 2065 ..distribution e │ │ │ │ │ +0001b080: 7863 6570 7420 7468 6174 2061 6e20 6164 xcept that an ad │ │ │ │ │ +0001b090: 6469 7469 6f6e 616c 206f 7065 6e20 736f ditional open so │ │ │ │ │ +0001b0a0: 7572 6365 2070 726f 6772 616d 20e2 8098 urce program ... │ │ │ │ │ +0001b0b0: 6570 7374 6f6f 6ce2 8099 2069 730a 6e65 epstool... is.ne │ │ │ │ │ +0001b0c0: 6564 6564 2074 6f20 7265 6669 6e65 2074 eded to refine t │ │ │ │ │ +0001b0d0: 6865 2045 6e63 6170 7375 6c61 7465 6420 he Encapsulated │ │ │ │ │ +0001b0e0: 506f 7374 7363 7269 7074 2062 6f75 6e64 Postscript bound │ │ │ │ │ +0001b0f0: 696e 6720 626f 7865 7320 6f66 0ae2 8098 ing boxes of.... │ │ │ │ │ +0001b100: 736b 6574 6368 e280 992d 6765 6e65 7261 sketch...-genera │ │ │ │ │ +0001b110: 7465 6420 6669 6775 7265 7320 696e 2074 ted figures in t │ │ │ │ │ +0001b120: 6865 206d 616e 7561 6c2e 2020 5468 6973 he manual. This │ │ │ │ │ +0001b130: 2074 6f6f 6c20 6973 2061 7661 696c 6162 tool is availab │ │ │ │ │ +0001b140: 6c65 2069 6e0a 6269 6e61 7279 2066 6f72 le in.binary for │ │ │ │ │ +0001b150: 6d20 666f 7220 5769 6e64 6f77 732c 2061 m for Windows, a │ │ │ │ │ +0001b160: 6e64 2069 7420 6275 696c 6473 2065 6173 nd it builds eas │ │ │ │ │ +0001b170: 696c 7920 7769 7468 2061 2073 696d 706c ily with a simpl │ │ │ │ │ +0001b180: 6520 e280 986d 616b 65e2 8099 2075 6e64 e ...make... und │ │ │ │ │ +0001b190: 6572 0a6c 696e 7578 206f 7220 4379 6777 er.linux or Cygw │ │ │ │ │ +0001b1a0: 696e 2069 6e73 7461 6c6c 6174 696f 6e73 in installations │ │ │ │ │ +0001b1b0: 2074 6861 7420 6861 7665 2064 6576 656c that have devel │ │ │ │ │ +0001b1c0: 6f70 6d65 6e74 2074 6f6f 6c73 2069 6e73 opment tools ins │ │ │ │ │ +0001b1d0: 7461 6c6c 6564 206f 720a 756e 6465 7220 talled or.under │ │ │ │ │ +0001b1e0: e280 984d 6163 204f 5320 58e2 8099 2077 ...Mac OS X... w │ │ │ │ │ +0001b1f0: 6974 6820 e280 9858 436f 6465 e280 9920 ith ...XCode... │ │ │ │ │ +0001b200: 696e 7374 616c 6c65 642e 0a0a 1f0a 4669 installed.....Fi │ │ │ │ │ +0001b210: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info, │ │ │ │ │ +0001b220: 2020 4e6f 6465 3a20 496e 6465 7820 6f66 Node: Index of │ │ │ │ │ +0001b230: 2073 796e 7461 782c 2020 4e65 7874 3a20 syntax, Next: │ │ │ │ │ +0001b240: 496e 6465 782c 2020 5072 6576 3a20 496e Index, Prev: In │ │ │ │ │ +0001b250: 7374 616c 6c69 6e67 2073 6b65 7463 682c stalling sketch, │ │ │ │ │ +0001b260: 2020 5570 3a20 546f 700a 0a49 6e64 6578 Up: Top..Index │ │ │ │ │ +0001b270: 206f 6620 7379 6e74 6178 0a2a 2a2a 2a2a of syntax.***** │ │ │ │ │ +0001b280: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 0008 5b69 **********....[i │ │ │ │ │ +0001b290: 6e64 6578 0008 5d0a 2a20 4d65 6e75 3a0a ndex..].* Menu:. │ │ │ │ │ +0001b2a0: 0a2a 202d 2c20 6d69 6e75 7320 6f70 6572 .* -, minus oper │ │ │ │ │ +0001b2b0: 6174 6f72 3a20 2020 2020 2020 2020 2020 ator: │ │ │ │ │ +0001b2c0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ +0001b2d0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ +0001b2e0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ 0001b2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b320: 2020 2028 6c69 6e65 2031 3529 0a2a 202d (line 15).* - │ │ │ │ │ -0001b330: 2c20 756e 6172 7920 6d69 6e75 7320 6f70 , unary minus op │ │ │ │ │ -0001b340: 6572 6174 6f72 3a20 2020 2020 2020 2020 erator: │ │ │ │ │ -0001b350: 2020 2020 2020 556e 6172 7920 666f 726d Unary form │ │ │ │ │ -0001b360: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin │ │ │ │ │ -0001b370: 6520 3130 290a 2a20 2e2c 2064 6f74 206f e 10).* ., dot o │ │ │ │ │ -0001b380: 7065 7261 746f 723a 2020 2020 2020 2020 perator: │ │ │ │ │ -0001b390: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0001b3a0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ -0001b3b0: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. │ │ │ │ │ +0001b320: 2020 2020 2028 6c69 6e65 2031 3529 0a2a (line 15).* │ │ │ │ │ +0001b330: 202d 2c20 756e 6172 7920 6d69 6e75 7320 -, unary minus │ │ │ │ │ +0001b340: 6f70 6572 6174 6f72 3a20 2020 2020 2020 operator: │ │ │ │ │ +0001b350: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo │ │ │ │ │ +0001b360: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l │ │ │ │ │ +0001b370: 696e 6520 3130 290a 2a20 2e2c 2064 6f74 ine 10).* ., dot │ │ │ │ │ +0001b380: 206f 7065 7261 746f 723a 2020 2020 2020 operator: │ │ │ │ │ +0001b390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001b3a0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ +0001b3b0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. │ │ │ │ │ 0001b3c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b3e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b3f0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001b400: 3139 290a 2a20 2e2c 2064 6f74 206f 7065 19).* ., dot ope │ │ │ │ │ -0001b410: 7261 746f 7220 3c31 3e3a 2020 2020 2020 rator <1>: │ │ │ │ │ -0001b420: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ -0001b430: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ -0001b440: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ +0001b3f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001b400: 6520 3139 290a 2a20 2e2c 2064 6f74 206f e 19).* ., dot o │ │ │ │ │ +0001b410: 7065 7261 746f 7220 3c31 3e3a 2020 2020 perator <1>: │ │ │ │ │ +0001b420: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ +0001b430: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ +0001b440: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. │ │ │ │ │ 0001b450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b480: 2020 2020 2020 2020 286c 696e 6520 3631 (line 61 │ │ │ │ │ -0001b490: 290a 2a20 2778 2c20 2779 2c20 616e 6420 ).* 'x, 'y, and │ │ │ │ │ -0001b4a0: 277a 3a20 2020 2020 2020 2020 2020 2020 'z: │ │ │ │ │ -0001b4b0: 2020 2020 2020 2020 2020 2041 6666 696e Affin │ │ │ │ │ -0001b4c0: 6520 6172 6974 686d 6574 6963 2e20 2020 e arithmetic. │ │ │ │ │ -0001b4d0: 2028 6c69 6e65 2033 3729 0a2a 2027 782c (line 37).* 'x, │ │ │ │ │ -0001b4e0: 2027 792c 2061 6e64 2027 7a20 3c31 3e3a 'y, and 'z <1>: │ │ │ │ │ -0001b4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b500: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ -0001b510: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ -0001b520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001b480: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001b490: 3631 290a 2a20 2778 2c20 2779 2c20 616e 61).* 'x, 'y, an │ │ │ │ │ +0001b4a0: 6420 277a 3a20 2020 2020 2020 2020 2020 d 'z: │ │ │ │ │ +0001b4b0: 2020 2020 2020 2020 2020 2020 2041 6666 Aff │ │ │ │ │ +0001b4c0: 696e 6520 6172 6974 686d 6574 6963 2e20 ine arithmetic. │ │ │ │ │ +0001b4d0: 2020 2028 6c69 6e65 2033 3729 0a2a 2027 (line 37).* ' │ │ │ │ │ +0001b4e0: 782c 2027 792c 2061 6e64 2027 7a20 3c31 x, 'y, and 'z <1 │ │ │ │ │ +0001b4f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001b500: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ +0001b510: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ +0001b520: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -0001b560: 6c69 6e65 2034 3129 0a2a 2028 2029 2c20 line 41).* ( ), │ │ │ │ │ -0001b570: 6772 6f75 7069 6e67 3a20 2020 2020 2020 grouping: │ │ │ │ │ +0001b550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001b560: 2028 6c69 6e65 2034 3129 0a2a 2028 2029 (line 41).* ( ) │ │ │ │ │ +0001b570: 2c20 6772 6f75 7069 6e67 3a20 2020 2020 , grouping: │ │ │ │ │ 0001b580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b590: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ -0001b5a0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ +0001b590: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ +0001b5a0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ 0001b5b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -0001b5f0: 6e65 2035 3829 0a2a 2028 666f 6f29 2c20 ne 58).* (foo), │ │ │ │ │ -0001b600: 706f 696e 7420 7265 6665 7265 6e63 653a point reference: │ │ │ │ │ -0001b610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b620: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ -0001b630: 2020 2020 2020 286c 696e 6520 3234 290a (line 24). │ │ │ │ │ -0001b640: 2a20 2866 6f6f 292c 2070 6f69 6e74 2072 * (foo), point r │ │ │ │ │ -0001b650: 6566 6572 656e 6365 203c 313e 3a20 2020 eference <1>: │ │ │ │ │ -0001b660: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ -0001b670: 6620 7265 6665 7265 6e63 6573 2e20 2028 f references. ( │ │ │ │ │ -0001b680: 6c69 6e65 2031 3429 0a2a 205b 5b20 5d5b line 14).* [[ ][ │ │ │ │ │ -0001b690: 205d 5b20 5d5b 205d 5d2c 2074 7261 6e73 ][ ][ ]], trans │ │ │ │ │ -0001b6a0: 666f 726d 206c 6974 6572 616c 3a20 2020 form literal: │ │ │ │ │ -0001b6b0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ -0001b6c0: 7261 6c73 2e20 2020 286c 696e 6520 3437 rals. (line 47 │ │ │ │ │ -0001b6d0: 290a 2a20 5b5b 205d 5b20 5d5b 205d 5b20 ).* [[ ][ ][ ][ │ │ │ │ │ -0001b6e0: 5d5d 2c20 7472 616e 7366 6f72 6d20 6c69 ]], transform li │ │ │ │ │ -0001b6f0: 7465 7261 6c20 3c31 3e3a 2054 7261 6e73 teral <1>: Trans │ │ │ │ │ -0001b700: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ -0001b710: 2028 6c69 6e65 2035 3329 0a2a 205b 5b66 (line 53).* [[f │ │ │ │ │ -0001b720: 6f6f 5d5d 2c20 7472 616e 7366 6f72 6d20 oo]], transform │ │ │ │ │ -0001b730: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: │ │ │ │ │ -0001b740: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ -0001b750: 6572 656e 6365 732e 2020 286c 696e 6520 erences. (line │ │ │ │ │ -0001b760: 3136 290a 2a20 5b5b 666f 6f5d 5d2c 2074 16).* [[foo]], t │ │ │ │ │ -0001b770: 7261 6e73 666f 726d 2072 6566 6572 656e ransform referen │ │ │ │ │ -0001b780: 6365 203c 313e 3a20 2020 2020 204f 7665 ce <1>: Ove │ │ │ │ │ -0001b790: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -0001b7a0: 2020 2028 6c69 6e65 2033 3529 0a2a 205b (line 35).* [ │ │ │ │ │ -0001b7b0: 5b66 6f6f 5d5d 2c20 7472 616e 7366 6f72 [foo]], transfor │ │ │ │ │ -0001b7c0: 6d20 7265 6665 7265 6e63 6520 3c32 3e3a m reference <2>: │ │ │ │ │ -0001b7d0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ -0001b7e0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0001b7f0: 6520 3335 290a 2a20 5b66 6f6f 2c2e 2e2e e 35).* [foo,... │ │ │ │ │ -0001b800: 2c62 6172 5d2c 206d 756c 7469 706c 6520 ,bar], multiple │ │ │ │ │ -0001b810: 6f70 7469 6f6e 7320 7265 6665 7265 6e63 options referenc │ │ │ │ │ -0001b820: 653a 2046 6f72 6d73 206f 6620 7265 6665 e: Forms of refe │ │ │ │ │ -0001b830: 7265 6e63 6573 2e0a 2020 2020 2020 2020 rences.. │ │ │ │ │ +0001b5e0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001b5f0: 6c69 6e65 2035 3829 0a2a 2028 666f 6f29 line 58).* (foo) │ │ │ │ │ +0001b600: 2c20 706f 696e 7420 7265 6665 7265 6e63 , point referenc │ │ │ │ │ +0001b610: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +0001b620: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli │ │ │ │ │ +0001b630: 642e 2020 2020 2020 286c 696e 6520 3234 d. (line 24 │ │ │ │ │ +0001b640: 290a 2a20 2866 6f6f 292c 2070 6f69 6e74 ).* (foo), point │ │ │ │ │ +0001b650: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: │ │ │ │ │ +0001b660: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ +0001b670: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ +0001b680: 2028 6c69 6e65 2031 3429 0a2a 205b 5b20 (line 14).* [[ │ │ │ │ │ +0001b690: 5d5b 205d 5b20 5d5b 205d 5d2c 2074 7261 ][ ][ ][ ]], tra │ │ │ │ │ +0001b6a0: 6e73 666f 726d 206c 6974 6572 616c 3a20 nsform literal: │ │ │ │ │ +0001b6b0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ +0001b6c0: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line │ │ │ │ │ +0001b6d0: 3437 290a 2a20 5b5b 205d 5b20 5d5b 205d 47).* [[ ][ ][ ] │ │ │ │ │ +0001b6e0: 5b20 5d5d 2c20 7472 616e 7366 6f72 6d20 [ ]], transform │ │ │ │ │ +0001b6f0: 6c69 7465 7261 6c20 3c31 3e3a 2054 7261 literal <1>: Tra │ │ │ │ │ +0001b700: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ +0001b710: 2020 2028 6c69 6e65 2035 3329 0a2a 205b (line 53).* [ │ │ │ │ │ +0001b720: 5b66 6f6f 5d5d 2c20 7472 616e 7366 6f72 [foo]], transfor │ │ │ │ │ +0001b730: 6d20 7265 6665 7265 6e63 653a 2020 2020 m reference: │ │ │ │ │ +0001b740: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ +0001b750: 6566 6572 656e 6365 732e 2020 286c 696e eferences. (lin │ │ │ │ │ +0001b760: 6520 3136 290a 2a20 5b5b 666f 6f5d 5d2c e 16).* [[foo]], │ │ │ │ │ +0001b770: 2074 7261 6e73 666f 726d 2072 6566 6572 transform refer │ │ │ │ │ +0001b780: 656e 6365 203c 313e 3a20 2020 2020 204f ence <1>: O │ │ │ │ │ +0001b790: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +0001b7a0: 2020 2020 2028 6c69 6e65 2033 3529 0a2a (line 35).* │ │ │ │ │ +0001b7b0: 205b 5b66 6f6f 5d5d 2c20 7472 616e 7366 [[foo]], transf │ │ │ │ │ +0001b7c0: 6f72 6d20 7265 6665 7265 6e63 6520 3c32 orm reference <2 │ │ │ │ │ +0001b7d0: 3e3a 2020 2020 2020 4f76 6572 7669 6577 >: Overview │ │ │ │ │ +0001b7e0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ +0001b7f0: 696e 6520 3335 290a 2a20 5b66 6f6f 2c2e ine 35).* [foo,. │ │ │ │ │ +0001b800: 2e2e 2c62 6172 5d2c 206d 756c 7469 706c ..,bar], multipl │ │ │ │ │ +0001b810: 6520 6f70 7469 6f6e 7320 7265 6665 7265 e options refere │ │ │ │ │ +0001b820: 6e63 653a 2046 6f72 6d73 206f 6620 7265 nce: Forms of re │ │ │ │ │ +0001b830: 6665 7265 6e63 6573 2e0a 2020 2020 2020 ferences.. │ │ │ │ │ 0001b840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b870: 2020 2020 2020 2028 6c69 6e65 2031 3829 (line 18) │ │ │ │ │ -0001b880: 0a2a 205b 666f 6f5d 2c20 6f70 7469 6f6e .* [foo], option │ │ │ │ │ -0001b890: 7320 7265 6665 7265 6e63 653a 2020 2020 s reference: │ │ │ │ │ -0001b8a0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -0001b8b0: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c │ │ │ │ │ -0001b8c0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. │ │ │ │ │ +0001b870: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001b880: 3829 0a2a 205b 666f 6f5d 2c20 6f70 7469 8).* [foo], opti │ │ │ │ │ +0001b890: 6f6e 7320 7265 6665 7265 6e63 653a 2020 ons reference: │ │ │ │ │ +0001b8a0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +0001b8b0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with │ │ │ │ │ +0001b8c0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. │ │ │ │ │ 0001b8d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b8e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001b8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001b900: 2020 2020 2020 2028 6c69 6e65 2032 3429 (line 24) │ │ │ │ │ -0001b910: 0a2a 205b 666f 6f5d 2c20 6f70 7469 6f6e .* [foo], option │ │ │ │ │ -0001b920: 7320 7265 6665 7265 6e63 6520 3c31 3e3a s reference <1>: │ │ │ │ │ -0001b930: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ -0001b940: 6f66 2072 6566 6572 656e 6365 732e 2020 of references. │ │ │ │ │ -0001b950: 286c 696e 6520 3138 290a 2a20 5b66 6f6f (line 18).* [foo │ │ │ │ │ -0001b960: 5d2c 2076 6563 746f 7220 7265 6665 7265 ], vector refere │ │ │ │ │ -0001b970: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: │ │ │ │ │ -0001b980: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ -0001b990: 7073 2e20 2020 2020 2028 6c69 6e65 2032 ps. (line 2 │ │ │ │ │ -0001b9a0: 3029 0a2a 205b 666f 6f5d 2c20 7665 6374 0).* [foo], vect │ │ │ │ │ -0001b9b0: 6f72 2072 6566 6572 656e 6365 203c 313e or reference <1> │ │ │ │ │ -0001b9c0: 3a20 2020 2020 2020 2020 2020 466f 726d : Form │ │ │ │ │ -0001b9d0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ -0001b9e0: 2020 286c 696e 6520 3135 290a 2a20 7b20 (line 15).* { │ │ │ │ │ -0001b9f0: 7d2c 2062 6c6f 636b 2064 7261 7761 626c }, block drawabl │ │ │ │ │ -0001ba00: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -0001ba10: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -0001ba20: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line │ │ │ │ │ -0001ba30: 2032 3429 0a2a 207b 207d 2c20 626c 6f63 24).* { }, bloc │ │ │ │ │ -0001ba40: 6b20 6472 6177 6162 6c65 203c 313e 3a20 k drawable <1>: │ │ │ │ │ -0001ba50: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne │ │ │ │ │ -0001ba60: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. │ │ │ │ │ -0001ba70: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* │ │ │ │ │ -0001ba80: 7b20 7d2c 2062 6c6f 636b 2064 7261 7761 { }, block drawa │ │ │ │ │ -0001ba90: 626c 6520 3c32 3e3a 2020 2020 2020 2020 ble <2>: │ │ │ │ │ -0001baa0: 2020 2020 2020 2053 7765 7074 2062 6c6f Swept blo │ │ │ │ │ -0001bab0: 636b 732e 2020 2020 2020 2020 2028 6c69 cks. (li │ │ │ │ │ -0001bac0: 6e65 2020 3729 0a2a 207b 207d 2c20 626c ne 7).* { }, bl │ │ │ │ │ -0001bad0: 6f63 6b20 6472 6177 6162 6c65 203c 333e ock drawable <3> │ │ │ │ │ -0001bae0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001baf0: 426c 6f63 6b73 2e20 2020 2020 2020 2020 Blocks. │ │ │ │ │ -0001bb00: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ -0001bb10: 2a20 7b20 7d2c 2062 6c6f 636b 2064 7261 * { }, block dra │ │ │ │ │ -0001bb20: 7761 626c 6520 3c34 3e3a 2020 2020 2020 wable <4>: │ │ │ │ │ -0001bb30: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -0001bb40: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ -0001bb50: 6c69 6e65 2033 3729 0a2a 207b 666f 6f7d line 37).* {foo} │ │ │ │ │ -0001bb60: 2c20 6472 6177 6162 6c65 2072 6566 6572 , drawable refer │ │ │ │ │ -0001bb70: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: │ │ │ │ │ -0001bb80: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ -0001bb90: 726d 732e 2020 2020 286c 696e 6520 3333 rms. (line 33 │ │ │ │ │ -0001bba0: 290a 2a20 7b66 6f6f 7d2c 2064 7261 7761 ).* {foo}, drawa │ │ │ │ │ -0001bbb0: 626c 6520 7265 6665 7265 6e63 6520 3c31 ble reference <1 │ │ │ │ │ -0001bbc0: 3e3a 2020 2020 2020 2020 2046 6f72 6d73 >: Forms │ │ │ │ │ -0001bbd0: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ -0001bbe0: 2028 6c69 6e65 2031 3729 0a2a 207b 666f (line 17).* {fo │ │ │ │ │ -0001bbf0: 6f7d 2c20 6472 6177 6162 6c65 2072 6566 o}, drawable ref │ │ │ │ │ -0001bc00: 6572 656e 6365 203c 323e 3a20 2020 2020 erence <2>: │ │ │ │ │ -0001bc10: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ -0001bc20: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001bc30: 3437 290a 2a20 7b66 6f6f 7d2c 2064 7261 47).* {foo}, dra │ │ │ │ │ -0001bc40: 7761 626c 6520 7265 6665 7265 6e63 6520 wable reference │ │ │ │ │ -0001bc50: 3c33 3e3a 2020 2020 2020 2020 204f 7665 <3>: Ove │ │ │ │ │ -0001bc60: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -0001bc70: 2020 2028 6c69 6e65 2035 3729 0a2a 202a (line 57).* * │ │ │ │ │ -0001bc80: 2c20 6d75 6c74 6970 6c69 6361 7469 6f6e , multiplication │ │ │ │ │ -0001bc90: 206f 7065 7261 746f 723a 2020 2020 2020 operator: │ │ │ │ │ -0001bca0: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ -0001bcb0: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ -0001bcc0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0001b900: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ +0001b910: 3429 0a2a 205b 666f 6f5d 2c20 6f70 7469 4).* [foo], opti │ │ │ │ │ +0001b920: 6f6e 7320 7265 6665 7265 6e63 6520 3c31 ons reference <1 │ │ │ │ │ +0001b930: 3e3a 2020 2020 2020 2020 2020 466f 726d >: Form │ │ │ │ │ +0001b940: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ +0001b950: 2020 286c 696e 6520 3138 290a 2a20 5b66 (line 18).* [f │ │ │ │ │ +0001b960: 6f6f 5d2c 2076 6563 746f 7220 7265 6665 oo], vector refe │ │ │ │ │ +0001b970: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: │ │ │ │ │ +0001b980: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ +0001b990: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line │ │ │ │ │ +0001b9a0: 2032 3029 0a2a 205b 666f 6f5d 2c20 7665 20).* [foo], ve │ │ │ │ │ +0001b9b0: 6374 6f72 2072 6566 6572 656e 6365 203c ctor reference < │ │ │ │ │ +0001b9c0: 313e 3a20 2020 2020 2020 2020 2020 466f 1>: Fo │ │ │ │ │ +0001b9d0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ +0001b9e0: 732e 2020 286c 696e 6520 3135 290a 2a20 s. (line 15).* │ │ │ │ │ +0001b9f0: 7b20 7d2c 2062 6c6f 636b 2064 7261 7761 { }, block drawa │ │ │ │ │ +0001ba00: 626c 653a 2020 2020 2020 2020 2020 2020 ble: │ │ │ │ │ +0001ba10: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +0001ba20: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li │ │ │ │ │ +0001ba30: 6e65 2032 3429 0a2a 207b 207d 2c20 626c ne 24).* { }, bl │ │ │ │ │ +0001ba40: 6f63 6b20 6472 6177 6162 6c65 203c 313e ock drawable <1> │ │ │ │ │ +0001ba50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ba60: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. │ │ │ │ │ +0001ba70: 2020 2020 2020 286c 696e 6520 3235 290a (line 25). │ │ │ │ │ +0001ba80: 2a20 7b20 7d2c 2062 6c6f 636b 2064 7261 * { }, block dra │ │ │ │ │ +0001ba90: 7761 626c 6520 3c32 3e3a 2020 2020 2020 wable <2>: │ │ │ │ │ +0001baa0: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b │ │ │ │ │ +0001bab0: 6c6f 636b 732e 2020 2020 2020 2020 2028 locks. ( │ │ │ │ │ +0001bac0: 6c69 6e65 2020 3729 0a2a 207b 207d 2c20 line 7).* { }, │ │ │ │ │ +0001bad0: 626c 6f63 6b20 6472 6177 6162 6c65 203c block drawable < │ │ │ │ │ +0001bae0: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ +0001baf0: 2020 426c 6f63 6b73 2e20 2020 2020 2020 Blocks. │ │ │ │ │ +0001bb00: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +0001bb10: 290a 2a20 7b20 7d2c 2062 6c6f 636b 2064 ).* { }, block d │ │ │ │ │ +0001bb20: 7261 7761 626c 6520 3c34 3e3a 2020 2020 rawable <4>: │ │ │ │ │ +0001bb30: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +0001bb40: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001bb50: 2028 6c69 6e65 2033 3729 0a2a 207b 666f (line 37).* {fo │ │ │ │ │ +0001bb60: 6f7d 2c20 6472 6177 6162 6c65 2072 6566 o}, drawable ref │ │ │ │ │ +0001bb70: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: │ │ │ │ │ +0001bb80: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans │ │ │ │ │ +0001bb90: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line │ │ │ │ │ +0001bba0: 3333 290a 2a20 7b66 6f6f 7d2c 2064 7261 33).* {foo}, dra │ │ │ │ │ +0001bbb0: 7761 626c 6520 7265 6665 7265 6e63 6520 wable reference │ │ │ │ │ +0001bbc0: 3c31 3e3a 2020 2020 2020 2020 2046 6f72 <1>: For │ │ │ │ │ +0001bbd0: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ +0001bbe0: 2e20 2028 6c69 6e65 2031 3729 0a2a 207b . (line 17).* { │ │ │ │ │ +0001bbf0: 666f 6f7d 2c20 6472 6177 6162 6c65 2072 foo}, drawable r │ │ │ │ │ +0001bc00: 6566 6572 656e 6365 203c 323e 3a20 2020 eference <2>: │ │ │ │ │ +0001bc10: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ +0001bc20: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001bc30: 6520 3437 290a 2a20 7b66 6f6f 7d2c 2064 e 47).* {foo}, d │ │ │ │ │ +0001bc40: 7261 7761 626c 6520 7265 6665 7265 6e63 rawable referenc │ │ │ │ │ +0001bc50: 6520 3c33 3e3a 2020 2020 2020 2020 204f e <3>: O │ │ │ │ │ +0001bc60: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +0001bc70: 2020 2020 2028 6c69 6e65 2035 3729 0a2a (line 57).* │ │ │ │ │ +0001bc80: 202a 2c20 6d75 6c74 6970 6c69 6361 7469 *, multiplicati │ │ │ │ │ +0001bc90: 6f6e 206f 7065 7261 746f 723a 2020 2020 on operator: │ │ │ │ │ +0001bca0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ +0001bcb0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ +0001bcc0: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ 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: 2028 6c69 6e65 2031 3929 0a2a 202a 2c20 (line 19).* *, │ │ │ │ │ -0001bd10: 6d75 6c74 6970 6c69 6361 7469 6f6e 206f multiplication o │ │ │ │ │ -0001bd20: 7065 7261 746f 7220 3c31 3e3a 2020 2020 perator <1>: │ │ │ │ │ -0001bd30: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ -0001bd40: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ -0001bd50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bd00: 2020 2028 6c69 6e65 2031 3929 0a2a 202a (line 19).* * │ │ │ │ │ +0001bd10: 2c20 6d75 6c74 6970 6c69 6361 7469 6f6e , multiplication │ │ │ │ │ +0001bd20: 206f 7065 7261 746f 7220 3c31 3e3a 2020 operator <1>: │ │ │ │ │ +0001bd30: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan │ │ │ │ │ +0001bd40: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms │ │ │ │ │ +0001bd50: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -0001bd90: 6c69 6e65 2036 3829 0a2a 202f 2c20 6469 line 68).* /, di │ │ │ │ │ -0001bda0: 7669 7369 6f6e 206f 7065 7261 746f 723a vision operator: │ │ │ │ │ -0001bdb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bdc0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ -0001bdd0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ +0001bd80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bd90: 2028 6c69 6e65 2036 3829 0a2a 202f 2c20 (line 68).* /, │ │ │ │ │ +0001bda0: 6469 7669 7369 6f6e 206f 7065 7261 746f division operato │ │ │ │ │ +0001bdb0: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ +0001bdc0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ +0001bdd0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ 0001bde0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -0001be20: 6e65 2033 3829 0a2a 205e 2c20 6578 706f ne 38).* ^, expo │ │ │ │ │ -0001be30: 6e65 6e74 6961 7469 6f6e 206f 7065 7261 nentiation opera │ │ │ │ │ -0001be40: 746f 723a 2020 2020 2020 2020 2020 2020 tor: │ │ │ │ │ -0001be50: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ -0001be60: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ +0001be10: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001be20: 6c69 6e65 2033 3829 0a2a 205e 2c20 6578 line 38).* ^, ex │ │ │ │ │ +0001be30: 706f 6e65 6e74 6961 7469 6f6e 206f 7065 ponentiation ope │ │ │ │ │ +0001be40: 7261 746f 723a 2020 2020 2020 2020 2020 rator: │ │ │ │ │ +0001be50: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ +0001be60: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ 0001be70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001be80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001be90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bea0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001beb0: 2032 3729 0a2a 202b 2c20 706c 7573 206f 27).* +, plus o │ │ │ │ │ -0001bec0: 7065 7261 746f 723a 2020 2020 2020 2020 perator: │ │ │ │ │ -0001bed0: 2020 2020 2020 2020 2020 2020 2020 5477 Tw │ │ │ │ │ -0001bee0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar │ │ │ │ │ -0001bef0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. │ │ │ │ │ +0001bea0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001beb0: 6e65 2032 3729 0a2a 202b 2c20 706c 7573 ne 27).* +, plus │ │ │ │ │ +0001bec0: 206f 7065 7261 746f 723a 2020 2020 2020 operator: │ │ │ │ │ +0001bed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001bee0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ +0001bef0: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ 0001bf00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bf10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bf20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001bf30: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001bf40: 3129 0a2a 203c 3e2c 2063 6c6f 7375 7265 1).* <>, closure │ │ │ │ │ -0001bf50: 2074 6167 3a20 2020 2020 2020 2020 2020 tag: │ │ │ │ │ -0001bf60: 2020 2020 2020 2020 2020 2020 506f 696e Poin │ │ │ │ │ -0001bf70: 7420 7377 6565 7073 2e20 2020 2020 2020 t sweeps. │ │ │ │ │ -0001bf80: 2020 286c 696e 6520 3138 290a 2a20 3c3e (line 18).* <> │ │ │ │ │ -0001bf90: 2c20 636c 6f73 7572 6520 7461 6720 3c31 , closure tag <1 │ │ │ │ │ -0001bfa0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001bfb0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ -0001bfc0: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur │ │ │ │ │ -0001bfd0: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. │ │ │ │ │ +0001bf30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001bf40: 2031 3129 0a2a 203c 3e2c 2063 6c6f 7375 11).* <>, closu │ │ │ │ │ +0001bf50: 7265 2074 6167 3a20 2020 2020 2020 2020 re tag: │ │ │ │ │ +0001bf60: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +0001bf70: 696e 7420 7377 6565 7073 2e20 2020 2020 int sweeps. │ │ │ │ │ +0001bf80: 2020 2020 286c 696e 6520 3138 290a 2a20 (line 18).* │ │ │ │ │ +0001bf90: 3c3e 2c20 636c 6f73 7572 6520 7461 6720 <>, closure tag │ │ │ │ │ +0001bfa0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001bfb0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline │ │ │ │ │ +0001bfc0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ +0001bfd0: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. │ │ │ │ │ 0001bfe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001bff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c010: 2020 286c 696e 6520 2036 290a 2a20 3c3e (line 6).* <> │ │ │ │ │ -0001c020: 2c20 636c 6f73 7572 6520 7461 6720 3c32 , closure tag <2 │ │ │ │ │ -0001c030: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001c040: 2020 2020 2053 7765 6570 732e 2020 2020 Sweeps. │ │ │ │ │ -0001c050: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001c060: 2031 3929 0a2a 203c 3e2c 2063 6c6f 7375 19).* <>, closu │ │ │ │ │ -0001c070: 7265 2074 6167 203c 333e 3a20 2020 2020 re tag <3>: │ │ │ │ │ -0001c080: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -0001c090: 6570 7420 706f 696e 7473 2e20 2020 2020 ept points. │ │ │ │ │ -0001c0a0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -0001c0b0: 3c3e 2c20 636c 6f73 7572 6520 7461 6720 <>, closure tag │ │ │ │ │ -0001c0c0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -0001c0d0: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi │ │ │ │ │ -0001c0e0: 6e74 732e 2020 2020 2020 2020 2028 6c69 nts. (li │ │ │ │ │ -0001c0f0: 6e65 2031 3329 0a2a 203c 3e2c 2063 6c6f ne 13).* <>, clo │ │ │ │ │ -0001c100: 7375 7265 2074 6167 203c 353e 3a20 2020 sure tag <5>: │ │ │ │ │ +0001c010: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ +0001c020: 3c3e 2c20 636c 6f73 7572 6520 7461 6720 <>, closure tag │ │ │ │ │ +0001c030: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001c040: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. │ │ │ │ │ +0001c050: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001c060: 6e65 2031 3929 0a2a 203c 3e2c 2063 6c6f ne 19).* <>, clo │ │ │ │ │ +0001c070: 7375 7265 2074 6167 203c 333e 3a20 2020 sure tag <3>: │ │ │ │ │ +0001c080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c090: 5377 6570 7420 706f 696e 7473 2e20 2020 Swept points. │ │ │ │ │ +0001c0a0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ +0001c0b0: 2a20 3c3e 2c20 636c 6f73 7572 6520 7461 * <>, closure ta │ │ │ │ │ +0001c0c0: 6720 3c34 3e3a 2020 2020 2020 2020 2020 g <4>: │ │ │ │ │ +0001c0d0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ +0001c0e0: 6f69 6e74 732e 2020 2020 2020 2020 2028 oints. ( │ │ │ │ │ +0001c0f0: 6c69 6e65 2031 3329 0a2a 203c 3e2c 2063 line 13).* <>, c │ │ │ │ │ +0001c100: 6c6f 7375 7265 2074 6167 203c 353e 3a20 losure tag <5>: │ │ │ │ │ 0001c110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c120: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ -0001c130: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ -0001c140: 2a20 3c3e 2c20 636c 6f73 7572 6520 7461 * <>, closure ta │ │ │ │ │ -0001c150: 6720 3c36 3e3a 2020 2020 2020 2020 2020 g <6>: │ │ │ │ │ -0001c160: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ -0001c170: 696e 6573 2e20 2020 2020 2020 2020 2028 ines. ( │ │ │ │ │ -0001c180: 6c69 6e65 2032 3829 0a2a 203c 3e2c 2063 line 28).* <>, c │ │ │ │ │ -0001c190: 6c6f 7375 7265 2074 6167 203c 373e 3a20 losure tag <7>: │ │ │ │ │ -0001c1a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c1b0: 2020 5377 6565 7020 6661 6365 2073 706c Sweep face spl │ │ │ │ │ -0001c1c0: 6974 7469 6e67 2e20 286c 696e 6520 3131 itting. (line 11 │ │ │ │ │ -0001c1d0: 290a 2a20 3c66 6f6f 3e2c 2074 6167 2072 ).* , tag r │ │ │ │ │ -0001c1e0: 6566 6572 656e 6365 3a20 2020 2020 2020 eference: │ │ │ │ │ -0001c1f0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ -0001c200: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions. │ │ │ │ │ -0001c210: 2028 6c69 6e65 2032 3029 0a2a 203c 666f (line 20).* , tag referenc │ │ │ │ │ -0001c230: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ -0001c240: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ -0001c250: 6572 656e 6365 732e 2020 286c 696e 6520 erences. (line │ │ │ │ │ -0001c260: 3139 290a 2a20 7c58 7c2c 206d 6167 6e69 19).* |X|, magni │ │ │ │ │ -0001c270: 7475 6465 206f 7065 7261 746f 723a 2020 tude operator: │ │ │ │ │ -0001c280: 2020 2020 2020 2020 2020 2020 2055 6e61 Una │ │ │ │ │ -0001c290: 7279 2066 6f72 6d73 2e20 2020 2020 2020 ry forms. │ │ │ │ │ -0001c2a0: 2020 2028 6c69 6e65 2031 3229 0a2a 2061 (line 12).* a │ │ │ │ │ -0001c2b0: 636f 733a 2020 2020 2020 2020 2020 2020 cos: │ │ │ │ │ +0001c120: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ +0001c130: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +0001c140: 290a 2a20 3c3e 2c20 636c 6f73 7572 6520 ).* <>, closure │ │ │ │ │ +0001c150: 7461 6720 3c36 3e3a 2020 2020 2020 2020 tag <6>: │ │ │ │ │ +0001c160: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +0001c170: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ +0001c180: 2028 6c69 6e65 2032 3829 0a2a 203c 3e2c (line 28).* <>, │ │ │ │ │ +0001c190: 2063 6c6f 7375 7265 2074 6167 203c 373e closure tag <7> │ │ │ │ │ +0001c1a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001c1b0: 2020 2020 5377 6565 7020 6661 6365 2073 Sweep face s │ │ │ │ │ +0001c1c0: 706c 6974 7469 6e67 2e20 286c 696e 6520 plitting. (line │ │ │ │ │ +0001c1d0: 3131 290a 2a20 3c66 6f6f 3e2c 2074 6167 11).* , tag │ │ │ │ │ +0001c1e0: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: │ │ │ │ │ +0001c1f0: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ +0001c200: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition │ │ │ │ │ +0001c210: 732e 2028 6c69 6e65 2032 3029 0a2a 203c s. (line 20).* < │ │ │ │ │ +0001c220: 666f 6f3e 2c20 7461 6720 7265 6665 7265 foo>, tag refere │ │ │ │ │ +0001c230: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: │ │ │ │ │ +0001c240: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ +0001c250: 6566 6572 656e 6365 732e 2020 286c 696e eferences. (lin │ │ │ │ │ +0001c260: 6520 3139 290a 2a20 7c58 7c2c 206d 6167 e 19).* |X|, mag │ │ │ │ │ +0001c270: 6e69 7475 6465 206f 7065 7261 746f 723a nitude operator: │ │ │ │ │ +0001c280: 2020 2020 2020 2020 2020 2020 2020 2055 U │ │ │ │ │ +0001c290: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. │ │ │ │ │ +0001c2a0: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).* │ │ │ │ │ +0001c2b0: 2061 636f 733a 2020 2020 2020 2020 2020 acos: │ │ │ │ │ 0001c2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c2d0: 2020 2020 2020 556e 6172 7920 666f 726d Unary form │ │ │ │ │ -0001c2e0: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin │ │ │ │ │ -0001c2f0: 6520 3138 290a 2a20 6172 726f 7773 3a20 e 18).* arrows: │ │ │ │ │ -0001c300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c310: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -0001c320: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic │ │ │ │ │ -0001c330: 2e20 2020 2028 6c69 6e65 2031 3129 0a2a . (line 11).* │ │ │ │ │ -0001c340: 2061 7272 6f77 7320 3c31 3e3a 2020 2020 arrows <1>: │ │ │ │ │ +0001c2d0: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo │ │ │ │ │ +0001c2e0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l │ │ │ │ │ +0001c2f0: 696e 6520 3138 290a 2a20 6172 726f 7773 ine 18).* arrows │ │ │ │ │ +0001c300: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001c310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c320: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet │ │ │ │ │ +0001c330: 6963 2e20 2020 2028 6c69 6e65 2031 3129 ic. (line 11) │ │ │ │ │ +0001c340: 0a2a 2061 7272 6f77 7320 3c31 3e3a 2020 .* arrows <1>: │ │ │ │ │ 0001c350: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c360: 2020 2020 2020 2020 4166 6669 6e65 2061 Affine a │ │ │ │ │ -0001c370: 7269 7468 6d65 7469 632e 2020 2020 286c rithmetic. (l │ │ │ │ │ -0001c380: 696e 6520 3238 290a 2a20 6172 726f 7773 ine 28).* arrows │ │ │ │ │ -0001c390: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001c360: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine │ │ │ │ │ +0001c370: 2061 7269 7468 6d65 7469 632e 2020 2020 arithmetic. │ │ │ │ │ +0001c380: 286c 696e 6520 3238 290a 2a20 6172 726f (line 28).* arro │ │ │ │ │ +0001c390: 7773 203c 323e 3a20 2020 2020 2020 2020 ws <2>: │ │ │ │ │ 0001c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c3b0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ -0001c3c0: 2020 2020 2020 2028 6c69 6e65 2036 3929 (line 69) │ │ │ │ │ -0001c3d0: 0a2a 2061 7272 6f77 7320 3c33 3e3a 2020 .* arrows <3>: │ │ │ │ │ +0001c3b0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +0001c3c0: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6 │ │ │ │ │ +0001c3d0: 3929 0a2a 2061 7272 6f77 7320 3c33 3e3a 9).* arrows <3>: │ │ │ │ │ 0001c3e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c3f0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ -0001c400: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ -0001c410: 286c 696e 6520 3236 290a 2a20 6172 726f (line 26).* arro │ │ │ │ │ -0001c420: 7773 203c 343e 3a20 2020 2020 2020 2020 ws <4>: │ │ │ │ │ +0001c3f0: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001c400: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001c410: 2020 286c 696e 6520 3236 290a 2a20 6172 (line 26).* ar │ │ │ │ │ +0001c420: 726f 7773 203c 343e 3a20 2020 2020 2020 rows <4>: │ │ │ │ │ 0001c430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c440: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ -0001c450: 7261 7769 6e67 2e20 2028 6c69 6e65 2036 rawing. (line 6 │ │ │ │ │ -0001c460: 3829 0a2a 2061 7369 6e3a 2020 2020 2020 8).* asin: │ │ │ │ │ +0001c440: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ +0001c450: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line │ │ │ │ │ +0001c460: 2036 3829 0a2a 2061 7369 6e3a 2020 2020 68).* asin: │ │ │ │ │ 0001c470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c480: 2020 2020 2020 2020 2020 2020 556e 6172 Unar │ │ │ │ │ -0001c490: 7920 666f 726d 732e 2020 2020 2020 2020 y forms. │ │ │ │ │ -0001c4a0: 2020 286c 696e 6520 3137 290a 2a20 6174 (line 17).* at │ │ │ │ │ -0001c4b0: 616e 323a 2020 2020 2020 2020 2020 2020 an2: │ │ │ │ │ +0001c480: 2020 2020 2020 2020 2020 2020 2020 556e Un │ │ │ │ │ +0001c490: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. │ │ │ │ │ +0001c4a0: 2020 2020 286c 696e 6520 3137 290a 2a20 (line 17).* │ │ │ │ │ +0001c4b0: 6174 616e 323a 2020 2020 2020 2020 2020 atan2: │ │ │ │ │ 0001c4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c4d0: 2020 2020 2055 6e61 7279 2066 6f72 6d73 Unary forms │ │ │ │ │ -0001c4e0: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line │ │ │ │ │ -0001c4f0: 2031 3929 0a2a 2063 616d 6572 613a 2020 19).* camera: │ │ │ │ │ +0001c4d0: 2020 2020 2020 2055 6e61 7279 2066 6f72 Unary for │ │ │ │ │ +0001c4e0: 6d73 2e20 2020 2020 2020 2020 2028 6c69 ms. (li │ │ │ │ │ +0001c4f0: 6e65 2031 3929 0a2a 2063 616d 6572 613a ne 19).* camera: │ │ │ │ │ 0001c500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c510: 2020 2020 2020 2020 2020 2020 2020 4361 Ca │ │ │ │ │ -0001c520: 6d65 7261 2e20 2020 2020 2020 2020 2020 mera. │ │ │ │ │ -0001c530: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -0001c540: 636f 6e74 6578 743a 2020 2020 2020 2020 context: │ │ │ │ │ +0001c510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c520: 4361 6d65 7261 2e20 2020 2020 2020 2020 Camera. │ │ │ │ │ +0001c530: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ +0001c540: 2a20 636f 6e74 6578 743a 2020 2020 2020 * context: │ │ │ │ │ 0001c550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c560: 2020 2020 2020 204c 616e 6775 6167 652e Language. │ │ │ │ │ -0001c570: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001c580: 6e65 2031 3729 0a2a 2063 6f73 3a20 2020 ne 17).* cos: │ │ │ │ │ +0001c560: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ +0001c570: 652e 2020 2020 2020 2020 2020 2020 2028 e. ( │ │ │ │ │ +0001c580: 6c69 6e65 2031 3729 0a2a 2063 6f73 3a20 line 17).* cos: │ │ │ │ │ 0001c590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c5b0: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. │ │ │ │ │ -0001c5c0: 2020 2020 2020 286c 696e 6520 3136 290a (line 16). │ │ │ │ │ -0001c5d0: 2a20 6375 6c6c 3a20 2020 2020 2020 2020 * cull: │ │ │ │ │ +0001c5b0: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. │ │ │ │ │ +0001c5c0: 2020 2020 2020 2020 286c 696e 6520 3136 (line 16 │ │ │ │ │ +0001c5d0: 290a 2a20 6375 6c6c 3a20 2020 2020 2020 ).* cull: │ │ │ │ │ 0001c5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c5f0: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ -0001c600: 2061 2073 6f6c 6964 2e20 2020 2020 2028 a solid. ( │ │ │ │ │ -0001c610: 6c69 6e65 2034 3529 0a2a 2063 756c 6c20 line 45).* cull │ │ │ │ │ -0001c620: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001c5f0: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi │ │ │ │ │ +0001c600: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. │ │ │ │ │ +0001c610: 2028 6c69 6e65 2034 3529 0a2a 2063 756c (line 45).* cul │ │ │ │ │ +0001c620: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: │ │ │ │ │ 0001c630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c640: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -0001c650: 732e 2020 2020 2020 286c 696e 6520 2039 s. (line 9 │ │ │ │ │ -0001c660: 290a 2a20 6375 6c6c 203c 323e 3a20 2020 ).* cull <2>: │ │ │ │ │ +0001c640: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +0001c650: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line │ │ │ │ │ +0001c660: 2039 290a 2a20 6375 6c6c 203c 323e 3a20 9).* cull <2>: │ │ │ │ │ 0001c670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c680: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -0001c690: 7061 7265 6e63 792e 2020 2020 2020 2020 parency. │ │ │ │ │ -0001c6a0: 2028 6c69 6e65 2031 3529 0a2a 2063 756c (line 15).* cul │ │ │ │ │ -0001c6b0: 6c20 3c33 3e3a 2020 2020 2020 2020 2020 l <3>: │ │ │ │ │ +0001c680: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +0001c690: 6e73 7061 7265 6e63 792e 2020 2020 2020 nsparency. │ │ │ │ │ +0001c6a0: 2020 2028 6c69 6e65 2031 3529 0a2a 2063 (line 15).* c │ │ │ │ │ +0001c6b0: 756c 6c20 3c33 3e3a 2020 2020 2020 2020 ull <3>: │ │ │ │ │ 0001c6c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c6d0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001c6e0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ -0001c6f0: 3230 290a 2a20 6375 6c6c 203c 343e 3a20 20).* cull <4>: │ │ │ │ │ -0001c700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c710: 2020 2020 2020 2020 2020 2020 2049 6e74 Int │ │ │ │ │ -0001c720: 6572 6e61 6c20 6f70 7469 6f6e 732e 2020 ernal options. │ │ │ │ │ -0001c730: 2020 2028 6c69 6e65 2020 3729 0a2a 2063 (line 7).* c │ │ │ │ │ -0001c740: 756c 6c20 3c35 3e3a 2020 2020 2020 2020 ull <5>: │ │ │ │ │ +0001c6d0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ +0001c6e0: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ +0001c6f0: 6520 3230 290a 2a20 6375 6c6c 203c 343e e 20).* cull <4> │ │ │ │ │ +0001c700: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001c710: 2020 2020 2020 2020 2020 2020 2020 2049 I │ │ │ │ │ +0001c720: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options. │ │ │ │ │ +0001c730: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).* │ │ │ │ │ +0001c740: 2063 756c 6c20 3c35 3e3a 2020 2020 2020 cull <5>: │ │ │ │ │ 0001c750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c760: 2020 2020 2020 476c 6f62 616c 206f 7074 Global opt │ │ │ │ │ -0001c770: 696f 6e73 2e20 2020 2020 2020 286c 696e ions. (lin │ │ │ │ │ -0001c780: 6520 3133 290a 2a20 6375 7276 653a 2020 e 13).* curve: │ │ │ │ │ +0001c760: 2020 2020 2020 2020 476c 6f62 616c 206f Global o │ │ │ │ │ +0001c770: 7074 696f 6e73 2e20 2020 2020 2020 286c ptions. (l │ │ │ │ │ +0001c780: 696e 6520 3133 290a 2a20 6375 7276 653a ine 13).* curve: │ │ │ │ │ 0001c790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c7a0: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ -0001c7b0: 7572 7665 732e 2020 2020 2020 2020 2020 urves. │ │ │ │ │ -0001c7c0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ -0001c7d0: 2064 6566 3a20 2020 2020 2020 2020 2020 def: │ │ │ │ │ +0001c7a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c7b0: 2043 7572 7665 732e 2020 2020 2020 2020 Curves. │ │ │ │ │ +0001c7c0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ +0001c7d0: 0a2a 2064 6566 3a20 2020 2020 2020 2020 .* def: │ │ │ │ │ 0001c7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c7f0: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ -0001c800: 6120 736f 6c69 642e 2020 2020 2020 286c a solid. (l │ │ │ │ │ -0001c810: 696e 6520 2039 290a 2a20 6465 6620 3c31 ine 9).* def <1 │ │ │ │ │ -0001c820: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001c7f0: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ +0001c800: 6720 6120 736f 6c69 642e 2020 2020 2020 g a solid. │ │ │ │ │ +0001c810: 286c 696e 6520 2039 290a 2a20 6465 6620 (line 9).* def │ │ │ │ │ +0001c820: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ 0001c830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c840: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ -0001c850: 2e20 2020 2020 2028 6c69 6e65 2032 3229 . (line 22) │ │ │ │ │ -0001c860: 0a2a 2064 6566 203c 323e 3a20 2020 2020 .* def <2>: │ │ │ │ │ +0001c840: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol │ │ │ │ │ +0001c850: 6964 2e20 2020 2020 2028 6c69 6e65 2032 id. (line 2 │ │ │ │ │ +0001c860: 3229 0a2a 2064 6566 203c 323e 3a20 2020 2).* def <2>: │ │ │ │ │ 0001c870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c880: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ -0001c890: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. │ │ │ │ │ -0001c8a0: 286c 696e 6520 3130 290a 2a20 6465 6620 (line 10).* def │ │ │ │ │ -0001c8b0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +0001c880: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje │ │ │ │ │ +0001c890: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. │ │ │ │ │ +0001c8a0: 2020 286c 696e 6520 3130 290a 2a20 6465 (line 10).* de │ │ │ │ │ +0001c8b0: 6620 3c33 3e3a 2020 2020 2020 2020 2020 f <3>: │ │ │ │ │ 0001c8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c8d0: 2020 2050 6f69 6e74 2073 7765 6570 732e Point sweeps. │ │ │ │ │ -0001c8e0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001c8f0: 3929 0a2a 2064 6566 203c 343e 3a20 2020 9).* def <4>: │ │ │ │ │ +0001c8d0: 2020 2020 2050 6f69 6e74 2073 7765 6570 Point sweep │ │ │ │ │ +0001c8e0: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +0001c8f0: 2031 3929 0a2a 2064 6566 203c 343e 3a20 19).* def <4>: │ │ │ │ │ 0001c900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c910: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ -0001c920: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ -0001c930: 2020 286c 696e 6520 2039 290a 2a20 6465 (line 9).* de │ │ │ │ │ -0001c940: 6620 3c35 3e3a 2020 2020 2020 2020 2020 f <5>: │ │ │ │ │ +0001c910: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ +0001c920: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ +0001c930: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ +0001c940: 6465 6620 3c35 3e3a 2020 2020 2020 2020 def <5>: │ │ │ │ │ 0001c950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c960: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee │ │ │ │ │ -0001c970: 7073 2e20 2020 2020 2020 2028 6c69 6e65 ps. (line │ │ │ │ │ -0001c980: 2020 3829 0a2a 2064 6566 203c 363e 3a20 8).* def <6>: │ │ │ │ │ -0001c990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001c9a0: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -0001c9b0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ -0001c9c0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ +0001c960: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw │ │ │ │ │ +0001c970: 6565 7073 2e20 2020 2020 2020 2028 6c69 eeps. (li │ │ │ │ │ +0001c980: 6e65 2020 3829 0a2a 2064 6566 203c 363e ne 8).* def <6> │ │ │ │ │ +0001c990: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001c9a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001c9b0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ +0001c9c0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ 0001c9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001c9f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca00: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001ca10: 2031 3029 0a2a 2064 6566 203c 373e 3a20 10).* def <7>: │ │ │ │ │ -0001ca20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca30: 2020 2020 2020 2020 2020 2020 2020 4166 Af │ │ │ │ │ -0001ca40: 6669 6e65 2061 7269 7468 6d65 7469 632e fine arithmetic. │ │ │ │ │ -0001ca50: 2020 2020 286c 696e 6520 3131 290a 2a20 (line 11).* │ │ │ │ │ -0001ca60: 6465 6620 3c38 3e3a 2020 2020 2020 2020 def <8>: │ │ │ │ │ +0001ca00: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001ca10: 6e65 2031 3029 0a2a 2064 6566 203c 373e ne 10).* def <7> │ │ │ │ │ +0001ca20: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ca30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ca40: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ +0001ca50: 632e 2020 2020 286c 696e 6520 3131 290a c. (line 11). │ │ │ │ │ +0001ca60: 2a20 6465 6620 3c38 3e3a 2020 2020 2020 * def <8>: │ │ │ │ │ 0001ca70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ca80: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ -0001ca90: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001caa0: 6e65 2031 3229 0a2a 2064 6566 203c 393e ne 12).* def <9> │ │ │ │ │ -0001cab0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ca80: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ +0001ca90: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ +0001caa0: 6c69 6e65 2031 3229 0a2a 2064 6566 203c line 12).* def < │ │ │ │ │ +0001cab0: 393e 3a20 2020 2020 2020 2020 2020 2020 9>: │ │ │ │ │ 0001cac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cad0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -0001cae0: 2020 2020 2020 286c 696e 6520 3337 290a (line 37). │ │ │ │ │ -0001caf0: 2a20 6465 6620 3c31 303e 3a20 2020 2020 * def <10>: │ │ │ │ │ +0001cad0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +0001cae0: 2020 2020 2020 2020 286c 696e 6520 3337 (line 37 │ │ │ │ │ +0001caf0: 290a 2a20 6465 6620 3c31 303e 3a20 2020 ).* def <10>: │ │ │ │ │ 0001cb00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cb10: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -0001cb20: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ -0001cb30: 6c69 6e65 2036 3929 0a2a 2064 6566 203c line 69).* def < │ │ │ │ │ -0001cb40: 3131 3e3a 2020 2020 2020 2020 2020 2020 11>: │ │ │ │ │ +0001cb10: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +0001cb20: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001cb30: 2028 6c69 6e65 2036 3929 0a2a 2064 6566 (line 69).* def │ │ │ │ │ +0001cb40: 203c 3131 3e3a 2020 2020 2020 2020 2020 <11>: │ │ │ │ │ 0001cb50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cb60: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ -0001cb70: 6177 696e 672e 2020 286c 696e 6520 3134 awing. (line 14 │ │ │ │ │ -0001cb80: 290a 2a20 6465 6620 3c31 323e 3a20 2020 ).* def <12>: │ │ │ │ │ +0001cb60: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ +0001cb70: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ +0001cb80: 3134 290a 2a20 6465 6620 3c31 323e 3a20 14).* def <12>: │ │ │ │ │ 0001cb90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cba0: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001cbb0: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001cbc0: 2028 6c69 6e65 2032 3629 0a2a 2064 6566 (line 26).* def │ │ │ │ │ -0001cbd0: 203c 3133 3e3a 2020 2020 2020 2020 2020 <13>: │ │ │ │ │ +0001cba0: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ +0001cbb0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +0001cbc0: 2e20 2028 6c69 6e65 2032 3629 0a2a 2064 . (line 26).* d │ │ │ │ │ +0001cbd0: 6566 203c 3133 3e3a 2020 2020 2020 2020 ef <13>: │ │ │ │ │ 0001cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cbf0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001cc00: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ -0001cc10: 3431 290a 2a20 6465 6620 3c31 343e 3a20 41).* def <14>: │ │ │ │ │ -0001cc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cc30: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ -0001cc40: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -0001cc50: 2e20 2028 6c69 6e65 2036 3829 0a2a 2064 . (line 68).* d │ │ │ │ │ -0001cc60: 6566 203c 3135 3e3a 2020 2020 2020 2020 ef <15>: │ │ │ │ │ +0001cbf0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ +0001cc00: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ +0001cc10: 6520 3431 290a 2a20 6465 6620 3c31 343e e 41).* def <14> │ │ │ │ │ +0001cc20: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001cc30: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001cc40: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +0001cc50: 6e67 2e20 2028 6c69 6e65 2036 3829 0a2a ng. (line 68).* │ │ │ │ │ +0001cc60: 2064 6566 203c 3135 3e3a 2020 2020 2020 def <15>: │ │ │ │ │ 0001cc70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cc80: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ -0001cc90: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ -0001cca0: 6520 3935 290a 2a20 6465 6620 3c31 363e e 95).* def <16> │ │ │ │ │ -0001ccb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001ccc0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -0001ccd0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ -0001cce0: 6465 6c2e 2028 6c69 6e65 2031 3029 0a2a del. (line 10).* │ │ │ │ │ -0001ccf0: 2064 6566 203c 3137 3e3a 2020 2020 2020 def <17>: │ │ │ │ │ +0001cc80: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ +0001cc90: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l │ │ │ │ │ +0001cca0: 696e 6520 3935 290a 2a20 6465 6620 3c31 ine 95).* def <1 │ │ │ │ │ +0001ccb0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: │ │ │ │ │ +0001ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ccd0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ +0001cce0: 6d6f 6465 6c2e 2028 6c69 6e65 2031 3029 model. (line 10) │ │ │ │ │ +0001ccf0: 0a2a 2064 6566 203c 3137 3e3a 2020 2020 .* def <17>: │ │ │ │ │ 0001cd00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cd10: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar │ │ │ │ │ -0001cd20: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l │ │ │ │ │ -0001cd30: 696e 6520 3233 290a 2a20 6465 6620 3c31 ine 23).* def <1 │ │ │ │ │ -0001cd40: 383e 3a20 2020 2020 2020 2020 2020 2020 8>: │ │ │ │ │ +0001cd10: 2020 2020 2020 2020 2020 4120 6869 6572 A hier │ │ │ │ │ +0001cd20: 6172 6368 6963 616c 206d 6f64 656c 2e20 archical model. │ │ │ │ │ +0001cd30: 286c 696e 6520 3233 290a 2a20 6465 6620 (line 23).* def │ │ │ │ │ +0001cd40: 3c31 383e 3a20 2020 2020 2020 2020 2020 <18>: │ │ │ │ │ 0001cd50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cd60: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -0001cd70: 6d6f 6465 6c2e 2028 6c69 6e65 2033 3229 model. (line 32) │ │ │ │ │ -0001cd80: 0a2a 2064 6f74 733a 2020 2020 2020 2020 .* dots: │ │ │ │ │ +0001cd60: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ +0001cd70: 6c20 6d6f 6465 6c2e 2028 6c69 6e65 2033 l model. (line 3 │ │ │ │ │ +0001cd80: 3229 0a2a 2064 6f74 733a 2020 2020 2020 2).* dots: │ │ │ │ │ 0001cd90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cda0: 2020 2020 2020 2020 2020 446f 7473 2e20 Dots. │ │ │ │ │ -0001cdb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cdc0: 286c 696e 6520 2036 290a 2a20 6669 6c6c (line 6).* fill │ │ │ │ │ -0001cdd0: 206f 7061 6369 7479 3a20 2020 2020 2020 opacity: │ │ │ │ │ +0001cda0: 2020 2020 2020 2020 2020 2020 446f 7473 Dots │ │ │ │ │ +0001cdb0: 2e20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +0001cdc0: 2020 286c 696e 6520 2036 290a 2a20 6669 (line 6).* fi │ │ │ │ │ +0001cdd0: 6c6c 206f 7061 6369 7479 3a20 2020 2020 ll opacity: │ │ │ │ │ 0001cde0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cdf0: 2020 2054 7261 6e73 7061 7265 6e63 792e Transparency. │ │ │ │ │ -0001ce00: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -0001ce10: 3029 0a2a 2066 696c 6c20 7374 796c 653a 0).* fill style: │ │ │ │ │ -0001ce20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ce30: 2020 2020 2020 2020 2020 2020 5469 6b5a TikZ │ │ │ │ │ -0001ce40: 2f50 4746 2075 7365 722d 6465 6669 6e65 /PGF user-define │ │ │ │ │ -0001ce50: 6420 7374 796c 6573 2e0a 2020 2020 2020 d styles.. │ │ │ │ │ +0001cdf0: 2020 2020 2054 7261 6e73 7061 7265 6e63 Transparenc │ │ │ │ │ +0001ce00: 792e 2020 2020 2020 2020 2028 6c69 6e65 y. (line │ │ │ │ │ +0001ce10: 2031 3029 0a2a 2066 696c 6c20 7374 796c 10).* fill styl │ │ │ │ │ +0001ce20: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +0001ce30: 2020 2020 2020 2020 2020 2020 2020 5469 Ti │ │ │ │ │ +0001ce40: 6b5a 2f50 4746 2075 7365 722d 6465 6669 kZ/PGF user-defi │ │ │ │ │ +0001ce50: 6e65 6420 7374 796c 6573 2e0a 2020 2020 ned styles.. │ │ │ │ │ 0001ce60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ce70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ce80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ce90: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ -0001cea0: 3529 0a2a 2066 696c 6c63 6f6c 6f72 3a20 5).* fillcolor: │ │ │ │ │ -0001ceb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cec0: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje │ │ │ │ │ -0001ced0: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. │ │ │ │ │ -0001cee0: 2020 286c 696e 6520 3130 290a 2a20 6669 (line 10).* fi │ │ │ │ │ -0001cef0: 6c6c 636f 6c6f 7220 3c31 3e3a 2020 2020 llcolor <1>: │ │ │ │ │ +0001ce90: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001cea0: 2032 3529 0a2a 2066 696c 6c63 6f6c 6f72 25).* fillcolor │ │ │ │ │ +0001ceb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001cec0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob │ │ │ │ │ +0001ced0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ +0001cee0: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ +0001cef0: 6669 6c6c 636f 6c6f 7220 3c31 3e3a 2020 fillcolor <1>: │ │ │ │ │ 0001cf00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cf10: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ -0001cf20: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur │ │ │ │ │ -0001cf30: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. │ │ │ │ │ +0001cf10: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline │ │ │ │ │ +0001cf20: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ +0001cf30: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. │ │ │ │ │ 0001cf40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001cf50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001cf60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cf70: 2020 286c 696e 6520 3130 290a 2a20 6669 (line 10).* fi │ │ │ │ │ -0001cf80: 6c6c 636f 6c6f 7220 3c32 3e3a 2020 2020 llcolor <2>: │ │ │ │ │ +0001cf70: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ +0001cf80: 6669 6c6c 636f 6c6f 7220 3c32 3e3a 2020 fillcolor <2>: │ │ │ │ │ 0001cf90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cfa0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -0001cfb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001cfc0: 2033 3729 0a2a 2066 7261 6d65 3a20 2020 37).* frame: │ │ │ │ │ +0001cfa0: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +0001cfb0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001cfc0: 6e65 2033 3729 0a2a 2066 7261 6d65 3a20 ne 37).* frame: │ │ │ │ │ 0001cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001cfe0: 2020 2020 2020 2020 2020 2020 2020 4672 Fr │ │ │ │ │ -0001cff0: 616d 652e 2020 2020 2020 2020 2020 2020 ame. │ │ │ │ │ -0001d000: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -0001d010: 6672 616d 6573 6570 3a20 2020 2020 2020 framesep: │ │ │ │ │ +0001cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001cff0: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. │ │ │ │ │ +0001d000: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ +0001d010: 2a20 6672 616d 6573 6570 3a20 2020 2020 * framesep: │ │ │ │ │ 0001d020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d030: 2020 2020 2020 2046 7261 6d65 2e20 2020 Frame. │ │ │ │ │ -0001d040: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001d050: 6e65 2031 3129 0a2a 2067 6c6f 6261 6c3a ne 11).* global: │ │ │ │ │ -0001d060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d030: 2020 2020 2020 2020 2046 7261 6d65 2e20 Frame. │ │ │ │ │ +0001d040: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001d050: 6c69 6e65 2031 3129 0a2a 2067 6c6f 6261 line 11).* globa │ │ │ │ │ +0001d060: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: │ │ │ │ │ 0001d070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d080: 476c 6f62 616c 2065 6e76 6972 6f6e 6d65 Global environme │ │ │ │ │ -0001d090: 6e74 2e20 2020 286c 696e 6520 3132 290a nt. (line 12). │ │ │ │ │ -0001d0a0: 2a20 696e 7075 743a 2020 2020 2020 2020 * input: │ │ │ │ │ +0001d080: 2020 476c 6f62 616c 2065 6e76 6972 6f6e Global environ │ │ │ │ │ +0001d090: 6d65 6e74 2e20 2020 286c 696e 6520 3132 ment. (line 12 │ │ │ │ │ +0001d0a0: 290a 2a20 696e 7075 743a 2020 2020 2020 ).* input: │ │ │ │ │ 0001d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d0c0: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ -0001d0d0: 6520 6261 7369 6373 2e20 2020 2020 2028 e basics. ( │ │ │ │ │ -0001d0e0: 6c69 6e65 2031 3929 0a2a 2069 6e76 6572 line 19).* inver │ │ │ │ │ -0001d0f0: 7365 3a20 2020 2020 2020 2020 2020 2020 se: │ │ │ │ │ +0001d0c0: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ +0001d0d0: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. │ │ │ │ │ +0001d0e0: 2028 6c69 6e65 2031 3929 0a2a 2069 6e76 (line 19).* inv │ │ │ │ │ +0001d0f0: 6572 7365 3a20 2020 2020 2020 2020 2020 erse: │ │ │ │ │ 0001d100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d110: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. │ │ │ │ │ -0001d120: 2020 2020 2020 2020 286c 696e 6520 3231 (line 21 │ │ │ │ │ -0001d130: 290a 2a20 6c61 6e67 7561 6765 3a20 2020 ).* language: │ │ │ │ │ +0001d110: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms. │ │ │ │ │ +0001d120: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001d130: 3231 290a 2a20 6c61 6e67 7561 6765 3a20 21).* language: │ │ │ │ │ 0001d140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d150: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ -0001d160: 6167 652e 2020 2020 2020 2020 2020 2020 age. │ │ │ │ │ -0001d170: 2028 6c69 6e65 2020 3629 0a2a 206c 6174 (line 6).* lat │ │ │ │ │ -0001d180: 6578 3a20 2020 2020 2020 2020 2020 2020 ex: │ │ │ │ │ +0001d150: 2020 2020 2020 2020 2020 2020 204c 616e Lan │ │ │ │ │ +0001d160: 6775 6167 652e 2020 2020 2020 2020 2020 guage. │ │ │ │ │ +0001d170: 2020 2028 6c69 6e65 2020 3629 0a2a 206c (line 6).* l │ │ │ │ │ +0001d180: 6174 6578 3a20 2020 2020 2020 2020 2020 atex: │ │ │ │ │ 0001d190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d1a0: 2020 2020 4c61 6e67 7561 6765 2e20 2020 Language. │ │ │ │ │ -0001d1b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001d1c0: 3137 290a 2a20 6c61 793a 2020 2020 2020 17).* lay: │ │ │ │ │ +0001d1a0: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. │ │ │ │ │ +0001d1b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001d1c0: 6520 3137 290a 2a20 6c61 793a 2020 2020 e 17).* lay: │ │ │ │ │ 0001d1d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d1e0: 2020 2020 2020 2020 2020 2020 2053 7065 Spe │ │ │ │ │ -0001d1f0: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. │ │ │ │ │ -0001d200: 2020 2028 6c69 6e65 2034 3829 0a2a 206c (line 48).* l │ │ │ │ │ -0001d210: 6179 203c 313e 3a20 2020 2020 2020 2020 ay <1>: │ │ │ │ │ +0001d1e0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +0001d1f0: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. │ │ │ │ │ +0001d200: 2020 2020 2028 6c69 6e65 2034 3829 0a2a (line 48).* │ │ │ │ │ +0001d210: 206c 6179 203c 313e 3a20 2020 2020 2020 lay <1>: │ │ │ │ │ 0001d220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d230: 2020 2020 2020 5469 6b5a 2f50 4746 2075 TikZ/PGF u │ │ │ │ │ -0001d240: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl │ │ │ │ │ -0001d250: 6573 2e0a 2020 2020 2020 2020 2020 2020 es.. │ │ │ │ │ +0001d230: 2020 2020 2020 2020 5469 6b5a 2f50 4746 TikZ/PGF │ │ │ │ │ +0001d240: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st │ │ │ │ │ +0001d250: 796c 6573 2e0a 2020 2020 2020 2020 2020 yles.. │ │ │ │ │ 0001d260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d290: 2020 2028 6c69 6e65 2033 3629 0a2a 206c (line 36).* l │ │ │ │ │ -0001d2a0: 6179 203c 323e 3a20 2020 2020 2020 2020 ay <2>: │ │ │ │ │ +0001d290: 2020 2020 2028 6c69 6e65 2033 3629 0a2a (line 36).* │ │ │ │ │ +0001d2a0: 206c 6179 203c 323e 3a20 2020 2020 2020 lay <2>: │ │ │ │ │ 0001d2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d2c0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ -0001d2d0: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ -0001d2e0: 6520 3236 290a 2a20 6c61 7920 3c33 3e3a e 26).* lay <3>: │ │ │ │ │ -0001d2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d300: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -0001d310: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ -0001d320: 6e67 2e20 2028 6c69 6e65 2032 3629 0a2a ng. (line 26).* │ │ │ │ │ -0001d330: 206c 6179 203c 343e 3a20 2020 2020 2020 lay <4>: │ │ │ │ │ +0001d2c0: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ +0001d2d0: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l │ │ │ │ │ +0001d2e0: 696e 6520 3236 290a 2a20 6c61 7920 3c33 ine 26).* lay <3 │ │ │ │ │ +0001d2f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d310: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ +0001d320: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26) │ │ │ │ │ +0001d330: 0a2a 206c 6179 203c 343e 3a20 2020 2020 .* lay <4>: │ │ │ │ │ 0001d340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d350: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni │ │ │ │ │ -0001d360: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l │ │ │ │ │ -0001d370: 696e 6520 3935 290a 2a20 6c61 7920 3c35 ine 95).* lay <5 │ │ │ │ │ -0001d380: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d350: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ +0001d360: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ +0001d370: 286c 696e 6520 3935 290a 2a20 6c61 7920 (line 95).* lay │ │ │ │ │ +0001d380: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ 0001d390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d3a0: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option │ │ │ │ │ -0001d3b0: 732e 2020 2020 2028 6c69 6e65 2020 3729 s. (line 7) │ │ │ │ │ -0001d3c0: 0a2a 206c 6179 203c 363e 3a20 2020 2020 .* lay <6>: │ │ │ │ │ +0001d3a0: 2020 2049 6e74 6572 6e61 6c20 6f70 7469 Internal opti │ │ │ │ │ +0001d3b0: 6f6e 732e 2020 2020 2028 6c69 6e65 2020 ons. (line │ │ │ │ │ +0001d3c0: 3729 0a2a 206c 6179 203c 363e 3a20 2020 7).* lay <6>: │ │ │ │ │ 0001d3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d3e0: 2020 2020 2020 2020 2020 5370 6563 6961 Specia │ │ │ │ │ -0001d3f0: 6c73 2e20 2020 2020 2020 2020 2020 2020 ls. │ │ │ │ │ -0001d400: 286c 696e 6520 3432 290a 2a20 6c61 7920 (line 42).* lay │ │ │ │ │ -0001d410: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: │ │ │ │ │ +0001d3e0: 2020 2020 2020 2020 2020 2020 5370 6563 Spec │ │ │ │ │ +0001d3f0: 6961 6c73 2e20 2020 2020 2020 2020 2020 ials. │ │ │ │ │ +0001d400: 2020 286c 696e 6520 3432 290a 2a20 6c61 (line 42).* la │ │ │ │ │ +0001d410: 7920 3c37 3e3a 2020 2020 2020 2020 2020 y <7>: │ │ │ │ │ 0001d420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d430: 2020 2047 6c6f 6261 6c20 6f70 7469 6f6e Global option │ │ │ │ │ -0001d440: 732e 2020 2020 2020 2028 6c69 6e65 2031 s. (line 1 │ │ │ │ │ -0001d450: 3329 0a2a 206c 696e 653a 2020 2020 2020 3).* line: │ │ │ │ │ +0001d430: 2020 2020 2047 6c6f 6261 6c20 6f70 7469 Global opti │ │ │ │ │ +0001d440: 6f6e 732e 2020 2020 2020 2028 6c69 6e65 ons. (line │ │ │ │ │ +0001d450: 2031 3329 0a2a 206c 696e 653a 2020 2020 13).* line: │ │ │ │ │ 0001d460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d470: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ -0001d480: 696e 6720 6f70 7469 6f6e 732e 2020 2020 ing options. │ │ │ │ │ -0001d490: 2020 286c 696e 6520 2037 290a 2a20 6c69 (line 7).* li │ │ │ │ │ -0001d4a0: 6e65 203c 313e 3a20 2020 2020 2020 2020 ne <1>: │ │ │ │ │ +0001d470: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ +0001d480: 6177 696e 6720 6f70 7469 6f6e 732e 2020 awing options. │ │ │ │ │ +0001d490: 2020 2020 286c 696e 6520 2037 290a 2a20 (line 7).* │ │ │ │ │ +0001d4a0: 6c69 6e65 203c 313e 3a20 2020 2020 2020 line <1>: │ │ │ │ │ 0001d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d4c0: 2020 2020 204f 626a 6563 7420 7472 616e Object tran │ │ │ │ │ -0001d4d0: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line │ │ │ │ │ -0001d4e0: 2031 3029 0a2a 206c 696e 6520 3c32 3e3a 10).* line <2>: │ │ │ │ │ -0001d4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d500: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -0001d510: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ -0001d520: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ +0001d4c0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ +0001d4d0: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li │ │ │ │ │ +0001d4e0: 6e65 2031 3029 0a2a 206c 696e 6520 3c32 ne 10).* line <2 │ │ │ │ │ +0001d4f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d510: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ +0001d520: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ 0001d530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001d550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d560: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001d570: 2031 3029 0a2a 206c 696e 6520 3c33 3e3a 10).* line <3>: │ │ │ │ │ -0001d580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d590: 2020 2020 2020 2020 2020 2020 2020 4166 Af │ │ │ │ │ -0001d5a0: 6669 6e65 2061 7269 7468 6d65 7469 632e fine arithmetic. │ │ │ │ │ -0001d5b0: 2020 2020 286c 696e 6520 3131 290a 2a20 (line 11).* │ │ │ │ │ -0001d5c0: 6c69 6e65 203c 343e 3a20 2020 2020 2020 line <4>: │ │ │ │ │ +0001d560: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001d570: 6e65 2031 3029 0a2a 206c 696e 6520 3c33 ne 10).* line <3 │ │ │ │ │ +0001d580: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d5a0: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ +0001d5b0: 632e 2020 2020 286c 696e 6520 3131 290a c. (line 11). │ │ │ │ │ +0001d5c0: 2a20 6c69 6e65 203c 343e 3a20 2020 2020 * line <4>: │ │ │ │ │ 0001d5d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d5e0: 2020 2020 2020 204c 696e 6573 2e20 2020 Lines. │ │ │ │ │ -0001d5f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001d600: 6e65 2020 3629 0a2a 206c 696e 6520 3c35 ne 6).* line <5 │ │ │ │ │ -0001d610: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d5e0: 2020 2020 2020 2020 204c 696e 6573 2e20 Lines. │ │ │ │ │ +0001d5f0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001d600: 6c69 6e65 2020 3629 0a2a 206c 696e 6520 line 6).* line │ │ │ │ │ +0001d610: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ 0001d620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d630: 5377 6570 7420 626c 6f63 6b73 2e20 2020 Swept blocks. │ │ │ │ │ -0001d640: 2020 2020 2020 286c 696e 6520 2037 290a (line 7). │ │ │ │ │ -0001d650: 2a20 6c69 6e65 203c 363e 3a20 2020 2020 * line <6>: │ │ │ │ │ +0001d630: 2020 5377 6570 7420 626c 6f63 6b73 2e20 Swept blocks. │ │ │ │ │ +0001d640: 2020 2020 2020 2020 286c 696e 6520 2037 (line 7 │ │ │ │ │ +0001d650: 290a 2a20 6c69 6e65 203c 363e 3a20 2020 ).* line <6>: │ │ │ │ │ 0001d660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d670: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -0001d680: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ -0001d690: 6c69 6e65 2036 3929 0a2a 206c 696e 6520 line 69).* line │ │ │ │ │ -0001d6a0: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: │ │ │ │ │ +0001d670: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +0001d680: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001d690: 2028 6c69 6e65 2036 3929 0a2a 206c 696e (line 69).* lin │ │ │ │ │ +0001d6a0: 6520 3c37 3e3a 2020 2020 2020 2020 2020 e <7>: │ │ │ │ │ 0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d6c0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ -0001d6d0: 6177 696e 672e 2020 286c 696e 6520 3230 awing. (line 20 │ │ │ │ │ -0001d6e0: 290a 2a20 6c69 6e65 203c 383e 3a20 2020 ).* line <8>: │ │ │ │ │ +0001d6c0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ +0001d6d0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ +0001d6e0: 3230 290a 2a20 6c69 6e65 203c 383e 3a20 20).* line <8>: │ │ │ │ │ 0001d6f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d700: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001d710: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001d720: 2028 6c69 6e65 2032 3629 0a2a 206c 696e (line 26).* lin │ │ │ │ │ -0001d730: 6520 3c39 3e3a 2020 2020 2020 2020 2020 e <9>: │ │ │ │ │ +0001d700: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ +0001d710: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +0001d720: 2e20 2028 6c69 6e65 2032 3629 0a2a 206c . (line 26).* l │ │ │ │ │ +0001d730: 696e 6520 3c39 3e3a 2020 2020 2020 2020 ine <9>: │ │ │ │ │ 0001d740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d750: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001d760: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ -0001d770: 3431 290a 2a20 6c69 6e65 203c 3130 3e3a 41).* line <10>: │ │ │ │ │ -0001d780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d790: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ -0001d7a0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ -0001d7b0: 2e20 2028 6c69 6e65 2036 3829 0a2a 206c . (line 68).* l │ │ │ │ │ -0001d7c0: 696e 6520 3c31 313e 3a20 2020 2020 2020 ine <11>: │ │ │ │ │ +0001d750: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ +0001d760: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ +0001d770: 6520 3431 290a 2a20 6c69 6e65 203c 3130 e 41).* line <10 │ │ │ │ │ +0001d780: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001d790: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001d7a0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi │ │ │ │ │ +0001d7b0: 6e67 2e20 2028 6c69 6e65 2036 3829 0a2a ng. (line 68).* │ │ │ │ │ +0001d7c0: 206c 696e 6520 3c31 313e 3a20 2020 2020 line <11>: │ │ │ │ │ 0001d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d7e0: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ -0001d7f0: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin │ │ │ │ │ -0001d800: 6520 3130 290a 2a20 6c69 6e65 2073 7479 e 10).* line sty │ │ │ │ │ -0001d810: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: │ │ │ │ │ -0001d820: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0001d830: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ -0001d840: 696e 6564 2073 7479 6c65 732e 0a20 2020 ined styles.. │ │ │ │ │ +0001d7e0: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar │ │ │ │ │ +0001d7f0: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l │ │ │ │ │ +0001d800: 696e 6520 3130 290a 2a20 6c69 6e65 2073 ine 10).* line s │ │ │ │ │ +0001d810: 7479 6c65 3a20 2020 2020 2020 2020 2020 tyle: │ │ │ │ │ +0001d820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d830: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d │ │ │ │ │ +0001d840: 6566 696e 6564 2073 7479 6c65 732e 0a20 efined styles.. │ │ │ │ │ 0001d850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 286c 696e (lin │ │ │ │ │ -0001d890: 6520 3235 290a 2a20 6c69 6e65 636f 6c6f e 25).* linecolo │ │ │ │ │ -0001d8a0: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ -0001d8b0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -0001d8c0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ -0001d8d0: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).* │ │ │ │ │ -0001d8e0: 206c 696e 6563 6f6c 6f72 203c 313e 3a20 linecolor <1>: │ │ │ │ │ -0001d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d900: 2020 2020 2020 2020 4672 616d 652e 2020 Frame. │ │ │ │ │ -0001d910: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0001d920: 696e 6520 3130 290a 2a20 6c69 6e65 636f ine 10).* lineco │ │ │ │ │ -0001d930: 6c6f 7220 3c32 3e3a 2020 2020 2020 2020 lor <2>: │ │ │ │ │ +0001d880: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0001d890: 696e 6520 3235 290a 2a20 6c69 6e65 636f ine 25).* lineco │ │ │ │ │ +0001d8a0: 6c6f 723a 2020 2020 2020 2020 2020 2020 lor: │ │ │ │ │ +0001d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d8c0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +0001d8d0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10) │ │ │ │ │ +0001d8e0: 0a2a 206c 696e 6563 6f6c 6f72 203c 313e .* linecolor <1> │ │ │ │ │ +0001d8f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001d900: 2020 2020 2020 2020 2020 4672 616d 652e Frame. │ │ │ │ │ +0001d910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001d920: 286c 696e 6520 3130 290a 2a20 6c69 6e65 (line 10).* line │ │ │ │ │ +0001d930: 636f 6c6f 7220 3c32 3e3a 2020 2020 2020 color <2>: │ │ │ │ │ 0001d940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d950: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ -0001d960: 2020 2020 2020 2028 6c69 6e65 2036 3929 (line 69) │ │ │ │ │ -0001d970: 0a2a 206c 696e 6573 7479 6c65 3a20 2020 .* linestyle: │ │ │ │ │ +0001d950: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +0001d960: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6 │ │ │ │ │ +0001d970: 3929 0a2a 206c 696e 6573 7479 6c65 3a20 9).* linestyle: │ │ │ │ │ 0001d980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d990: 2020 2020 2020 2020 2020 4672 616d 652e Frame. │ │ │ │ │ -0001d9a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d9b0: 286c 696e 6520 3130 290a 2a20 6c69 6e65 (line 10).* line │ │ │ │ │ -0001d9c0: 7374 796c 6520 3c31 3e3a 2020 2020 2020 style <1>: │ │ │ │ │ +0001d990: 2020 2020 2020 2020 2020 2020 4672 616d Fram │ │ │ │ │ +0001d9a0: 652e 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ │ │ +0001d9b0: 2020 286c 696e 6520 3130 290a 2a20 6c69 (line 10).* li │ │ │ │ │ +0001d9c0: 6e65 7374 796c 6520 3c31 3e3a 2020 2020 nestyle <1>: │ │ │ │ │ 0001d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001d9e0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ -0001d9f0: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6 │ │ │ │ │ -0001da00: 3929 0a2a 206c 696e 6573 7479 6c65 203c 9).* linestyle < │ │ │ │ │ -0001da10: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -0001da20: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ -0001da30: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ -0001da40: 2020 286c 696e 6520 3236 290a 2a20 6c69 (line 26).* li │ │ │ │ │ -0001da50: 6e65 7374 796c 6520 3c33 3e3a 2020 2020 nestyle <3>: │ │ │ │ │ +0001d9e0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ +0001d9f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001da00: 2036 3929 0a2a 206c 696e 6573 7479 6c65 69).* linestyle │ │ │ │ │ +0001da10: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001da20: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ +0001da30: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ +0001da40: 672e 2020 286c 696e 6520 3236 290a 2a20 g. (line 26).* │ │ │ │ │ +0001da50: 6c69 6e65 7374 796c 6520 3c33 3e3a 2020 linestyle <3>: │ │ │ │ │ 0001da60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001da70: 2020 2020 2042 7567 7320 616e 6420 616e Bugs and an │ │ │ │ │ -0001da80: 6f6d 616c 6965 732e 2020 2028 6c69 6e65 omalies. (line │ │ │ │ │ -0001da90: 2020 3729 0a2a 206c 696e 6577 6964 7468 7).* linewidth │ │ │ │ │ -0001daa0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001dab0: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -0001dac0: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ -0001dad0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ -0001dae0: 6c69 6e65 7769 6474 6820 3c31 3e3a 2020 linewidth <1>: │ │ │ │ │ +0001da70: 2020 2020 2020 2042 7567 7320 616e 6420 Bugs and │ │ │ │ │ +0001da80: 616e 6f6d 616c 6965 732e 2020 2028 6c69 anomalies. (li │ │ │ │ │ +0001da90: 6e65 2020 3729 0a2a 206c 696e 6577 6964 ne 7).* linewid │ │ │ │ │ +0001daa0: 7468 3a20 2020 2020 2020 2020 2020 2020 th: │ │ │ │ │ +0001dab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dac0: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ +0001dad0: 2020 2020 2020 286c 696e 6520 2039 290a (line 9). │ │ │ │ │ +0001dae0: 2a20 6c69 6e65 7769 6474 6820 3c31 3e3a * linewidth <1>: │ │ │ │ │ 0001daf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001db00: 2020 2020 2020 2046 7261 6d65 2e20 2020 Frame. │ │ │ │ │ -0001db10: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001db20: 6e65 2031 3029 0a2a 206c 696e 6577 6964 ne 10).* linewid │ │ │ │ │ -0001db30: 7468 203c 323e 3a20 2020 2020 2020 2020 th <2>: │ │ │ │ │ +0001db00: 2020 2020 2020 2020 2046 7261 6d65 2e20 Frame. │ │ │ │ │ +0001db10: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001db20: 6c69 6e65 2031 3029 0a2a 206c 696e 6577 line 10).* linew │ │ │ │ │ +0001db30: 6964 7468 203c 323e 3a20 2020 2020 2020 idth <2>: │ │ │ │ │ 0001db40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001db50: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -0001db60: 2020 2020 2020 286c 696e 6520 3639 290a (line 69). │ │ │ │ │ -0001db70: 2a20 6c69 6e65 7769 6474 6820 3c33 3e3a * linewidth <3>: │ │ │ │ │ -0001db80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001db90: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ -0001dba0: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ -0001dbb0: 6c69 6e65 2032 3629 0a2a 206f 7061 6369 line 26).* opaci │ │ │ │ │ -0001dbc0: 7479 3a20 2020 2020 2020 2020 2020 2020 ty: │ │ │ │ │ +0001db50: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +0001db60: 2020 2020 2020 2020 286c 696e 6520 3639 (line 69 │ │ │ │ │ +0001db70: 290a 2a20 6c69 6e65 7769 6474 6820 3c33 ).* linewidth <3 │ │ │ │ │ +0001db80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001db90: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ +0001dba0: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ +0001dbb0: 2028 6c69 6e65 2032 3629 0a2a 206f 7061 (line 26).* opa │ │ │ │ │ +0001dbc0: 6369 7479 3a20 2020 2020 2020 2020 2020 city: │ │ │ │ │ 0001dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dbe0: 2020 5472 616e 7370 6172 656e 6379 2e20 Transparency. │ │ │ │ │ -0001dbf0: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10 │ │ │ │ │ -0001dc00: 290a 2a20 7065 7273 7065 6374 6976 653a ).* perspective: │ │ │ │ │ -0001dc10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dc20: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -0001dc30: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ -0001dc40: 2028 6c69 6e65 2032 3129 0a2a 2070 6963 (line 21).* pic │ │ │ │ │ -0001dc50: 7475 7265 626f 783a 2020 2020 2020 2020 turebox: │ │ │ │ │ +0001dbe0: 2020 2020 5472 616e 7370 6172 656e 6379 Transparency │ │ │ │ │ +0001dbf0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +0001dc00: 3130 290a 2a20 7065 7273 7065 6374 6976 10).* perspectiv │ │ │ │ │ +0001dc10: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +0001dc20: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +0001dc30: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ +0001dc40: 2020 2028 6c69 6e65 2032 3129 0a2a 2070 (line 21).* p │ │ │ │ │ +0001dc50: 6963 7475 7265 626f 783a 2020 2020 2020 icturebox: │ │ │ │ │ 0001dc60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dc70: 2020 2020 5069 6374 7572 6520 626f 782e Picture box. │ │ │ │ │ -0001dc80: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001dc90: 2036 290a 2a20 706f 696e 7420 6c69 7374 6).* point list │ │ │ │ │ -0001dca0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001dcb0: 2020 2020 2020 2020 2020 2020 2049 6e74 Int │ │ │ │ │ -0001dcc0: 6572 6e61 6c20 6f70 7469 6f6e 732e 2020 ernal options. │ │ │ │ │ -0001dcd0: 2020 2028 6c69 6e65 2032 3429 0a2a 2070 (line 24).* p │ │ │ │ │ -0001dce0: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: │ │ │ │ │ +0001dc70: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo │ │ │ │ │ +0001dc80: 782e 2020 2020 2020 2020 2020 286c 696e x. (lin │ │ │ │ │ +0001dc90: 6520 2036 290a 2a20 706f 696e 7420 6c69 e 6).* point li │ │ │ │ │ +0001dca0: 7374 3a20 2020 2020 2020 2020 2020 2020 st: │ │ │ │ │ +0001dcb0: 2020 2020 2020 2020 2020 2020 2020 2049 I │ │ │ │ │ +0001dcc0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options. │ │ │ │ │ +0001dcd0: 2020 2020 2028 6c69 6e65 2032 3429 0a2a (line 24).* │ │ │ │ │ +0001dce0: 2070 6f6c 7967 6f6e 3a20 2020 2020 2020 polygon: │ │ │ │ │ 0001dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dd00: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ -0001dd10: 642e 2020 2020 2020 2020 2020 286c 696e d. (lin │ │ │ │ │ -0001dd20: 6520 3338 290a 2a20 706f 6c79 676f 6e20 e 38).* polygon │ │ │ │ │ -0001dd30: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -0001dd40: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -0001dd50: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ -0001dd60: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).* │ │ │ │ │ -0001dd70: 2070 6f6c 7967 6f6e 203c 323e 3a20 2020 polygon <2>: │ │ │ │ │ +0001dd00: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ +0001dd10: 726c 642e 2020 2020 2020 2020 2020 286c rld. (l │ │ │ │ │ +0001dd20: 696e 6520 3338 290a 2a20 706f 6c79 676f ine 38).* polygo │ │ │ │ │ +0001dd30: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ +0001dd40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001dd50: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ +0001dd60: 2e20 2020 2020 2028 6c69 6e65 2020 3929 . (line 9) │ │ │ │ │ +0001dd70: 0a2a 2070 6f6c 7967 6f6e 203c 323e 3a20 .* polygon <2>: │ │ │ │ │ 0001dd80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dd90: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ -0001dda0: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l │ │ │ │ │ -0001ddb0: 696e 6520 3130 290a 2a20 706f 6c79 676f ine 10).* polygo │ │ │ │ │ -0001ddc0: 6e20 3c33 3e3a 2020 2020 2020 2020 2020 n <3>: │ │ │ │ │ +0001dd90: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ +0001dda0: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. │ │ │ │ │ +0001ddb0: 286c 696e 6520 3130 290a 2a20 706f 6c79 (line 10).* poly │ │ │ │ │ +0001ddc0: 676f 6e20 3c33 3e3a 2020 2020 2020 2020 gon <3>: │ │ │ │ │ 0001ddd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dde0: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet │ │ │ │ │ -0001ddf0: 6963 2e20 2020 2028 6c69 6e65 2031 3129 ic. (line 11) │ │ │ │ │ -0001de00: 0a2a 2070 6f6c 7967 6f6e 203c 343e 3a20 .* polygon <4>: │ │ │ │ │ -0001de10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001de20: 2020 2020 2020 2020 2020 506f 6c79 676f Polygo │ │ │ │ │ -0001de30: 6e73 2e20 2020 2020 2020 2020 2020 2020 ns. │ │ │ │ │ -0001de40: 286c 696e 6520 2036 290a 2a20 706f 6c79 (line 6).* poly │ │ │ │ │ -0001de50: 676f 6e20 3c35 3e3a 2020 2020 2020 2020 gon <5>: │ │ │ │ │ +0001dde0: 2020 2041 6666 696e 6520 6172 6974 686d Affine arithm │ │ │ │ │ +0001ddf0: 6574 6963 2e20 2020 2028 6c69 6e65 2031 etic. (line 1 │ │ │ │ │ +0001de00: 3129 0a2a 2070 6f6c 7967 6f6e 203c 343e 1).* polygon <4> │ │ │ │ │ +0001de10: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001de20: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +0001de30: 676f 6e73 2e20 2020 2020 2020 2020 2020 gons. │ │ │ │ │ +0001de40: 2020 286c 696e 6520 2036 290a 2a20 706f (line 6).* po │ │ │ │ │ +0001de50: 6c79 676f 6e20 3c35 3e3a 2020 2020 2020 lygon <5>: │ │ │ │ │ 0001de60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001de70: 2020 2053 7765 7074 2062 6c6f 636b 732e Swept blocks. │ │ │ │ │ -0001de80: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001de90: 3729 0a2a 2070 6f6c 7967 6f6e 203c 363e 7).* polygon <6> │ │ │ │ │ -0001dea0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001deb0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ -0001dec0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ -0001ded0: 2020 286c 696e 6520 3337 290a 2a20 7072 (line 37).* pr │ │ │ │ │ -0001dee0: 6f6a 6563 743a 2020 2020 2020 2020 2020 oject: │ │ │ │ │ +0001de70: 2020 2020 2053 7765 7074 2062 6c6f 636b Swept block │ │ │ │ │ +0001de80: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +0001de90: 2020 3729 0a2a 2070 6f6c 7967 6f6e 203c 7).* polygon < │ │ │ │ │ +0001dea0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: │ │ │ │ │ +0001deb0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov │ │ │ │ │ +0001dec0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ +0001ded0: 2020 2020 286c 696e 6520 3337 290a 2a20 (line 37).* │ │ │ │ │ +0001dee0: 7072 6f6a 6563 743a 2020 2020 2020 2020 project: │ │ │ │ │ 0001def0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001df00: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -0001df10: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line │ │ │ │ │ -0001df20: 2031 3829 0a2a 2070 726f 6a65 6374 203c 18).* project < │ │ │ │ │ -0001df30: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -0001df40: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ -0001df50: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -0001df60: 2e20 2020 286c 696e 6520 3139 290a 2a20 . (line 19).* │ │ │ │ │ -0001df70: 7072 6f6a 6563 7420 3c32 3e3a 2020 2020 project <2>: │ │ │ │ │ +0001df00: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +0001df10: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li │ │ │ │ │ +0001df20: 6e65 2031 3829 0a2a 2070 726f 6a65 6374 ne 18).* project │ │ │ │ │ +0001df30: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001df40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001df50: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +0001df60: 6c73 2e20 2020 286c 696e 6520 3139 290a ls. (line 19). │ │ │ │ │ +0001df70: 2a20 7072 6f6a 6563 7420 3c32 3e3a 2020 * project <2>: │ │ │ │ │ 0001df80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001df90: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ -0001dfa0: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li │ │ │ │ │ -0001dfb0: 6e65 2034 3729 0a2a 2070 7374 7269 636b ne 47).* pstrick │ │ │ │ │ -0001dfc0: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +0001df90: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ +0001dfa0: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. ( │ │ │ │ │ +0001dfb0: 6c69 6e65 2034 3729 0a2a 2070 7374 7269 line 47).* pstri │ │ │ │ │ +0001dfc0: 636b 733a 2020 2020 2020 2020 2020 2020 cks: │ │ │ │ │ 0001dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001dfe0: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. │ │ │ │ │ -0001dff0: 2020 2020 2020 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ -0001e000: 2a20 7075 743a 2020 2020 2020 2020 2020 * put: │ │ │ │ │ +0001dfe0: 2020 4c61 6e67 7561 6765 2e20 2020 2020 Language. │ │ │ │ │ +0001dff0: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10 │ │ │ │ │ +0001e000: 290a 2a20 7075 743a 2020 2020 2020 2020 ).* put: │ │ │ │ │ 0001e010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e020: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ -0001e030: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. ( │ │ │ │ │ -0001e040: 6c69 6e65 2031 3029 0a2a 2070 7574 203c line 10).* put < │ │ │ │ │ -0001e050: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +0001e020: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ +0001e030: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ +0001e040: 2028 6c69 6e65 2031 3029 0a2a 2070 7574 (line 10).* put │ │ │ │ │ +0001e050: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ 0001e060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e070: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps. │ │ │ │ │ -0001e080: 2020 2020 2020 2020 286c 696e 6520 3235 (line 25 │ │ │ │ │ -0001e090: 290a 2a20 7075 7420 3c32 3e3a 2020 2020 ).* put <2>: │ │ │ │ │ +0001e070: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep │ │ │ │ │ +0001e080: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ +0001e090: 3235 290a 2a20 7075 7420 3c32 3e3a 2020 25).* put <2>: │ │ │ │ │ 0001e0a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e0b0: 2020 2020 2020 2020 2020 2050 7574 732e Puts. │ │ │ │ │ -0001e0c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e0d0: 2028 6c69 6e65 2020 3629 0a2a 2070 7574 (line 6).* put │ │ │ │ │ -0001e0e0: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +0001e0b0: 2020 2020 2020 2020 2020 2020 2050 7574 Put │ │ │ │ │ +0001e0c0: 732e 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ │ │ +0001e0d0: 2020 2028 6c69 6e65 2020 3629 0a2a 2070 (line 6).* p │ │ │ │ │ +0001e0e0: 7574 203c 333e 3a20 2020 2020 2020 2020 ut <3>: │ │ │ │ │ 0001e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e100: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ -0001e110: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line │ │ │ │ │ -0001e120: 3332 290a 2a20 7265 7065 6174 3a20 2020 32).* repeat: │ │ │ │ │ +0001e100: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ +0001e110: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin │ │ │ │ │ +0001e120: 6520 3332 290a 2a20 7265 7065 6174 3a20 e 32).* repeat: │ │ │ │ │ 0001e130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e140: 2020 2020 2020 2020 2020 2020 2052 6570 Rep │ │ │ │ │ -0001e150: 6561 7465 6420 6f62 6a65 6374 732e 2020 eated objects. │ │ │ │ │ -0001e160: 2020 2028 6c69 6e65 2020 3829 0a2a 2072 (line 8).* r │ │ │ │ │ -0001e170: 6570 6561 7420 3c31 3e3a 2020 2020 2020 epeat <1>: │ │ │ │ │ +0001e140: 2020 2020 2020 2020 2020 2020 2020 2052 R │ │ │ │ │ +0001e150: 6570 6561 7465 6420 6f62 6a65 6374 732e epeated objects. │ │ │ │ │ +0001e160: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).* │ │ │ │ │ +0001e170: 2072 6570 6561 7420 3c31 3e3a 2020 2020 repeat <1>: │ │ │ │ │ 0001e180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e190: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe │ │ │ │ │ -0001e1a0: 6570 732e 2020 2020 2020 2020 286c 696e eps. (lin │ │ │ │ │ -0001e1b0: 6520 3235 290a 2a20 7265 7065 6174 203c e 25).* repeat < │ │ │ │ │ -0001e1c0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -0001e1d0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0001e1e0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w │ │ │ │ │ -0001e1f0: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith closure.. │ │ │ │ │ +0001e190: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s │ │ │ │ │ +0001e1a0: 7765 6570 732e 2020 2020 2020 2020 286c weeps. (l │ │ │ │ │ +0001e1b0: 696e 6520 3235 290a 2a20 7265 7065 6174 ine 25).* repeat │ │ │ │ │ +0001e1c0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e1e0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ +0001e1f0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. │ │ │ │ │ 0001e200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 286c 696e (lin │ │ │ │ │ -0001e240: 6520 3130 290a 2a20 7265 7065 6174 203c e 10).* repeat < │ │ │ │ │ -0001e250: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ -0001e260: 2020 2020 2020 2020 2020 2020 2020 2052 R │ │ │ │ │ -0001e270: 6570 6561 7473 2e20 2020 2020 2020 2020 epeats. │ │ │ │ │ -0001e280: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ -0001e290: 2072 6570 6561 7420 3c34 3e3a 2020 2020 repeat <4>: │ │ │ │ │ +0001e230: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0001e240: 696e 6520 3130 290a 2a20 7265 7065 6174 ine 10).* repeat │ │ │ │ │ +0001e250: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +0001e260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e270: 2052 6570 6561 7473 2e20 2020 2020 2020 Repeats. │ │ │ │ │ +0001e280: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ +0001e290: 0a2a 2072 6570 6561 7420 3c34 3e3a 2020 .* repeat <4>: │ │ │ │ │ 0001e2a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e2b0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ -0001e2c0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l │ │ │ │ │ -0001e2d0: 696e 6520 3537 290a 2a20 726f 7461 7465 ine 57).* rotate │ │ │ │ │ -0001e2e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001e2b0: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ +0001e2c0: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. │ │ │ │ │ +0001e2d0: 286c 696e 6520 3537 290a 2a20 726f 7461 (line 57).* rota │ │ │ │ │ +0001e2e0: 7465 3a20 2020 2020 2020 2020 2020 2020 te: │ │ │ │ │ 0001e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e300: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -0001e310: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10) │ │ │ │ │ -0001e320: 0a2a 2072 6f74 6174 6520 3c31 3e3a 2020 .* rotate <1>: │ │ │ │ │ +0001e300: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +0001e310: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1 │ │ │ │ │ +0001e320: 3029 0a2a 2072 6f74 6174 6520 3c31 3e3a 0).* rotate <1>: │ │ │ │ │ 0001e330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e340: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ -0001e350: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. │ │ │ │ │ -0001e360: 286c 696e 6520 3339 290a 2a20 726f 7461 (line 39).* rota │ │ │ │ │ -0001e370: 7465 203c 323e 3a20 2020 2020 2020 2020 te <2>: │ │ │ │ │ +0001e340: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje │ │ │ │ │ +0001e350: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. │ │ │ │ │ +0001e360: 2020 286c 696e 6520 3339 290a 2a20 726f (line 39).* ro │ │ │ │ │ +0001e370: 7461 7465 203c 323e 3a20 2020 2020 2020 tate <2>: │ │ │ │ │ 0001e380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e390: 2020 2052 6570 6561 7465 6420 6f62 6a65 Repeated obje │ │ │ │ │ -0001e3a0: 6374 732e 2020 2020 2028 6c69 6e65 2020 cts. (line │ │ │ │ │ -0001e3b0: 3829 0a2a 2072 6f74 6174 6520 3c33 3e3a 8).* rotate <3>: │ │ │ │ │ -0001e3c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e3d0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -0001e3e0: 7420 6f62 6a65 6374 732e 2020 2020 2020 t objects. │ │ │ │ │ -0001e3f0: 2020 286c 696e 6520 2038 290a 2a20 726f (line 8).* ro │ │ │ │ │ -0001e400: 7461 7465 203c 343e 3a20 2020 2020 2020 tate <4>: │ │ │ │ │ +0001e390: 2020 2020 2052 6570 6561 7465 6420 6f62 Repeated ob │ │ │ │ │ +0001e3a0: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line │ │ │ │ │ +0001e3b0: 2020 3829 0a2a 2072 6f74 6174 6520 3c33 8).* rotate <3 │ │ │ │ │ +0001e3c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001e3d0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +0001e3e0: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. │ │ │ │ │ +0001e3f0: 2020 2020 286c 696e 6520 2038 290a 2a20 (line 8).* │ │ │ │ │ +0001e400: 726f 7461 7465 203c 343e 3a20 2020 2020 rotate <4>: │ │ │ │ │ 0001e410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e420: 2020 2020 2050 6f69 6e74 2073 7765 6570 Point sweep │ │ │ │ │ -0001e430: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ -0001e440: 2031 3929 0a2a 2072 6f74 6174 6520 3c35 19).* rotate <5 │ │ │ │ │ -0001e450: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001e460: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -0001e470: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ -0001e480: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ -0001e490: 726f 7461 7465 203c 363e 3a20 2020 2020 rotate <6>: │ │ │ │ │ +0001e420: 2020 2020 2020 2050 6f69 6e74 2073 7765 Point swe │ │ │ │ │ +0001e430: 6570 732e 2020 2020 2020 2020 2028 6c69 eps. (li │ │ │ │ │ +0001e440: 6e65 2031 3929 0a2a 2072 6f74 6174 6520 ne 19).* rotate │ │ │ │ │ +0001e450: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ +0001e460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e470: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ +0001e480: 2020 2020 2020 286c 696e 6520 2039 290a (line 9). │ │ │ │ │ +0001e490: 2a20 726f 7461 7465 203c 363e 3a20 2020 * rotate <6>: │ │ │ │ │ 0001e4a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e4b0: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw │ │ │ │ │ -0001e4c0: 6565 7073 2e20 2020 2020 2020 2028 6c69 eeps. (li │ │ │ │ │ -0001e4d0: 6e65 2020 3829 0a2a 2072 6f74 6174 6520 ne 8).* rotate │ │ │ │ │ -0001e4e0: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: │ │ │ │ │ +0001e4b0: 2020 2020 2020 2020 204e 6573 7465 6420 Nested │ │ │ │ │ +0001e4c0: 7377 6565 7073 2e20 2020 2020 2020 2028 sweeps. ( │ │ │ │ │ +0001e4d0: 6c69 6e65 2020 3829 0a2a 2072 6f74 6174 line 8).* rotat │ │ │ │ │ +0001e4e0: 6520 3c37 3e3a 2020 2020 2020 2020 2020 e <7>: │ │ │ │ │ 0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e500: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ -0001e510: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ +0001e500: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ +0001e510: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure.. │ │ │ │ │ 0001e520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -0001e560: 6e65 2031 3029 0a2a 2072 6f74 6174 6520 ne 10).* rotate │ │ │ │ │ -0001e570: 3c38 3e3a 2020 2020 2020 2020 2020 2020 <8>: │ │ │ │ │ +0001e550: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001e560: 6c69 6e65 2031 3029 0a2a 2072 6f74 6174 line 10).* rotat │ │ │ │ │ +0001e570: 6520 3c38 3e3a 2020 2020 2020 2020 2020 e <8>: │ │ │ │ │ 0001e580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e590: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ -0001e5a0: 6c73 2e20 2020 286c 696e 6520 3130 290a ls. (line 10). │ │ │ │ │ -0001e5b0: 2a20 726f 7461 7465 203c 393e 3a20 2020 * rotate <9>: │ │ │ │ │ +0001e590: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ +0001e5a0: 7261 6c73 2e20 2020 286c 696e 6520 3130 rals. (line 10 │ │ │ │ │ +0001e5b0: 290a 2a20 726f 7461 7465 203c 393e 3a20 ).* rotate <9>: │ │ │ │ │ 0001e5c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e5d0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie │ │ │ │ │ -0001e5e0: 772e 2020 2020 2020 2020 2020 2020 2028 w. ( │ │ │ │ │ -0001e5f0: 6c69 6e65 2035 3729 0a2a 2072 6f74 6174 line 57).* rotat │ │ │ │ │ -0001e600: 6520 3c31 303e 3a20 2020 2020 2020 2020 e <10>: │ │ │ │ │ +0001e5d0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ +0001e5e0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ +0001e5f0: 2028 6c69 6e65 2035 3729 0a2a 2072 6f74 (line 57).* rot │ │ │ │ │ +0001e600: 6174 6520 3c31 303e 3a20 2020 2020 2020 ate <10>: │ │ │ │ │ 0001e610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e620: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ -0001e630: 2020 2020 2020 2020 286c 696e 6520 3639 (line 69 │ │ │ │ │ -0001e640: 290a 2a20 726f 7461 7465 203c 3131 3e3a ).* rotate <11>: │ │ │ │ │ -0001e650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e660: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001e670: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001e680: 2028 6c69 6e65 2031 3429 0a2a 2072 6f74 (line 14).* rot │ │ │ │ │ -0001e690: 6174 6520 3c31 323e 3a20 2020 2020 2020 ate <12>: │ │ │ │ │ +0001e620: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ +0001e630: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001e640: 3639 290a 2a20 726f 7461 7465 203c 3131 69).* rotate <11 │ │ │ │ │ +0001e650: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001e660: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ +0001e670: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +0001e680: 2e20 2028 6c69 6e65 2031 3429 0a2a 2072 . (line 14).* r │ │ │ │ │ +0001e690: 6f74 6174 6520 3c31 323e 3a20 2020 2020 otate <12>: │ │ │ │ │ 0001e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e6b0: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic │ │ │ │ │ -0001e6c0: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line │ │ │ │ │ -0001e6d0: 3130 290a 2a20 726f 7461 7465 203c 3133 10).* rotate <13 │ │ │ │ │ -0001e6e0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001e6f0: 2020 2020 2020 2020 2020 2020 2041 2068 A h │ │ │ │ │ -0001e700: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -0001e710: 6c2e 2028 6c69 6e65 2032 3329 0a2a 2072 l. (line 23).* r │ │ │ │ │ -0001e720: 6f74 6174 6520 3c31 343e 3a20 2020 2020 otate <14>: │ │ │ │ │ +0001e6b0: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ +0001e6c0: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin │ │ │ │ │ +0001e6d0: 6520 3130 290a 2a20 726f 7461 7465 203c e 10).* rotate < │ │ │ │ │ +0001e6e0: 3133 3e3a 2020 2020 2020 2020 2020 2020 13>: │ │ │ │ │ +0001e6f0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0001e700: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +0001e710: 6465 6c2e 2028 6c69 6e65 2032 3329 0a2a del. (line 23).* │ │ │ │ │ +0001e720: 2072 6f74 6174 6520 3c31 343e 3a20 2020 rotate <14>: │ │ │ │ │ 0001e730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e740: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ -0001e750: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin │ │ │ │ │ -0001e760: 6520 3332 290a 2a20 7363 616c 653a 2020 e 32).* scale: │ │ │ │ │ +0001e740: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar │ │ │ │ │ +0001e750: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l │ │ │ │ │ +0001e760: 696e 6520 3332 290a 2a20 7363 616c 653a ine 32).* scale: │ │ │ │ │ 0001e770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e780: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0001e790: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -0001e7a0: 732e 2020 2028 6c69 6e65 2031 3629 0a2a s. (line 16).* │ │ │ │ │ -0001e7b0: 2073 6361 6c65 203c 313e 3a20 2020 2020 scale <1>: │ │ │ │ │ +0001e780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e790: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +0001e7a0: 616c 732e 2020 2028 6c69 6e65 2031 3629 als. (line 16) │ │ │ │ │ +0001e7b0: 0a2a 2073 6361 6c65 203c 313e 3a20 2020 .* scale <1>: │ │ │ │ │ 0001e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e7d0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ -0001e7e0: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l │ │ │ │ │ -0001e7f0: 696e 6520 3137 290a 2a20 7363 616c 6520 ine 17).* scale │ │ │ │ │ -0001e800: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001e7d0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ +0001e7e0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. │ │ │ │ │ +0001e7f0: 286c 696e 6520 3137 290a 2a20 7363 616c (line 17).* scal │ │ │ │ │ +0001e800: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: │ │ │ │ │ 0001e810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e820: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ -0001e830: 7769 6e67 2e20 2028 6c69 6e65 2034 3129 wing. (line 41) │ │ │ │ │ -0001e840: 0a2a 2073 6361 6c65 203c 333e 3a20 2020 .* scale <3>: │ │ │ │ │ +0001e820: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001e830: 7261 7769 6e67 2e20 2028 6c69 6e65 2034 rawing. (line 4 │ │ │ │ │ +0001e840: 3129 0a2a 2073 6361 6c65 203c 333e 3a20 1).* scale <3>: │ │ │ │ │ 0001e850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e860: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ -0001e870: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. │ │ │ │ │ -0001e880: 286c 696e 6520 3638 290a 2a20 7363 616c (line 68).* scal │ │ │ │ │ -0001e890: 6520 3c34 3e3a 2020 2020 2020 2020 2020 e <4>: │ │ │ │ │ +0001e860: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001e870: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001e880: 2020 286c 696e 6520 3638 290a 2a20 7363 (line 68).* sc │ │ │ │ │ +0001e890: 616c 6520 3c34 3e3a 2020 2020 2020 2020 ale <4>: │ │ │ │ │ 0001e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e8b0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ -0001e8c0: 6c20 6d6f 6465 6c2e 2028 6c69 6e65 2033 l model. (line 3 │ │ │ │ │ -0001e8d0: 3229 0a2a 2073 6574 3a20 2020 2020 2020 2).* set: │ │ │ │ │ +0001e8b0: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi │ │ │ │ │ +0001e8c0: 6361 6c20 6d6f 6465 6c2e 2028 6c69 6e65 cal model. (line │ │ │ │ │ +0001e8d0: 2033 3229 0a2a 2073 6574 3a20 2020 2020 32).* set: │ │ │ │ │ 0001e8e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e8f0: 2020 2020 2020 2020 2020 2020 476c 6f62 Glob │ │ │ │ │ -0001e900: 616c 206f 7074 696f 6e73 2e20 2020 2020 al options. │ │ │ │ │ -0001e910: 2020 286c 696e 6520 2036 290a 2a20 7369 (line 6).* si │ │ │ │ │ -0001e920: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ +0001e8f0: 2020 2020 2020 2020 2020 2020 2020 476c Gl │ │ │ │ │ +0001e900: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. │ │ │ │ │ +0001e910: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ +0001e920: 7369 6e3a 2020 2020 2020 2020 2020 2020 sin: │ │ │ │ │ 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e940: 2020 2020 2055 6e61 7279 2066 6f72 6d73 Unary forms │ │ │ │ │ -0001e950: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line │ │ │ │ │ -0001e960: 2031 3529 0a2a 2073 7065 6369 616c 3a20 15).* special: │ │ │ │ │ -0001e970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e980: 2020 2020 2020 2020 2020 2020 2020 5370 Sp │ │ │ │ │ -0001e990: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. │ │ │ │ │ -0001e9a0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -0001e9b0: 7370 6563 6961 6c20 3c31 3e3a 2020 2020 special <1>: │ │ │ │ │ +0001e940: 2020 2020 2020 2055 6e61 7279 2066 6f72 Unary for │ │ │ │ │ +0001e950: 6d73 2e20 2020 2020 2020 2020 2028 6c69 ms. (li │ │ │ │ │ +0001e960: 6e65 2031 3529 0a2a 2073 7065 6369 616c ne 15).* special │ │ │ │ │ +0001e970: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001e980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001e990: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects. │ │ │ │ │ +0001e9a0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ +0001e9b0: 2a20 7370 6563 6961 6c20 3c31 3e3a 2020 * special <1>: │ │ │ │ │ 0001e9c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001e9d0: 2020 2020 2020 2053 7065 6369 616c 732e Specials. │ │ │ │ │ -0001e9e0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0001e9f0: 6e65 2020 3629 0a2a 2073 7065 6369 616c ne 6).* special │ │ │ │ │ -0001ea00: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001e9d0: 2020 2020 2020 2020 2053 7065 6369 616c Special │ │ │ │ │ +0001e9e0: 732e 2020 2020 2020 2020 2020 2020 2028 s. ( │ │ │ │ │ +0001e9f0: 6c69 6e65 2020 3629 0a2a 2073 7065 6369 line 6).* speci │ │ │ │ │ +0001ea00: 616c 203c 323e 3a20 2020 2020 2020 2020 al <2>: │ │ │ │ │ 0001ea10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ea20: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. │ │ │ │ │ -0001ea30: 2020 2020 2020 286c 696e 6520 3639 290a (line 69). │ │ │ │ │ -0001ea40: 2a20 7370 6563 6961 6c20 3c33 3e3a 2020 * special <3>: │ │ │ │ │ +0001ea20: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. │ │ │ │ │ +0001ea30: 2020 2020 2020 2020 286c 696e 6520 3639 (line 69 │ │ │ │ │ +0001ea40: 290a 2a20 7370 6563 6961 6c20 3c33 3e3a ).* special <3>: │ │ │ │ │ 0001ea50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ea60: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ -0001ea70: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. ( │ │ │ │ │ -0001ea80: 6c69 6e65 2032 3629 0a2a 2073 7065 6369 line 26).* speci │ │ │ │ │ -0001ea90: 616c 203c 343e 3a20 2020 2020 2020 2020 al <4>: │ │ │ │ │ +0001ea60: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ +0001ea70: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ +0001ea80: 2028 6c69 6e65 2032 3629 0a2a 2073 7065 (line 26).* spe │ │ │ │ │ +0001ea90: 6369 616c 203c 343e 3a20 2020 2020 2020 cial <4>: │ │ │ │ │ 0001eaa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eab0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr │ │ │ │ │ -0001eac0: 6177 696e 672e 2020 286c 696e 6520 3431 awing. (line 41 │ │ │ │ │ -0001ead0: 290a 2a20 7370 6563 6961 6c20 3c35 3e3a ).* special <5>: │ │ │ │ │ -0001eae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eaf0: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -0001eb00: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -0001eb10: 2028 6c69 6e65 2036 3829 0a2a 2073 7065 (line 68).* spe │ │ │ │ │ -0001eb20: 6369 616c 203c 363e 3a20 2020 2020 2020 cial <6>: │ │ │ │ │ +0001eab0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ +0001eac0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ +0001ead0: 3431 290a 2a20 7370 6563 6961 6c20 3c35 41).* special <5 │ │ │ │ │ +0001eae0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001eaf0: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ +0001eb00: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +0001eb10: 2e20 2028 6c69 6e65 2036 3829 0a2a 2073 . (line 68).* s │ │ │ │ │ +0001eb20: 7065 6369 616c 203c 363e 3a20 2020 2020 pecial <6>: │ │ │ │ │ 0001eb30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eb40: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical │ │ │ │ │ -0001eb50: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line │ │ │ │ │ -0001eb60: 3935 290a 2a20 7370 6c69 743a 2020 2020 95).* split: │ │ │ │ │ +0001eb40: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica │ │ │ │ │ +0001eb50: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin │ │ │ │ │ +0001eb60: 6520 3935 290a 2a20 7370 6c69 743a 2020 e 95).* split: │ │ │ │ │ 0001eb70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eb80: 2020 2020 2020 2020 2020 2020 2049 6e74 Int │ │ │ │ │ -0001eb90: 6572 6e61 6c20 6f70 7469 6f6e 732e 2020 ernal options. │ │ │ │ │ -0001eba0: 2020 2028 6c69 6e65 2020 3729 0a2a 2073 (line 7).* s │ │ │ │ │ -0001ebb0: 706c 6974 203c 313e 3a20 2020 2020 2020 plit <1>: │ │ │ │ │ +0001eb80: 2020 2020 2020 2020 2020 2020 2020 2049 I │ │ │ │ │ +0001eb90: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options. │ │ │ │ │ +0001eba0: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).* │ │ │ │ │ +0001ebb0: 2073 706c 6974 203c 313e 3a20 2020 2020 split <1>: │ │ │ │ │ 0001ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ebd0: 2020 2020 2020 476c 6f62 616c 206f 7074 Global opt │ │ │ │ │ -0001ebe0: 696f 6e73 2e20 2020 2020 2020 286c 696e ions. (lin │ │ │ │ │ -0001ebf0: 6520 3133 290a 2a20 7371 7274 3a20 2020 e 13).* sqrt: │ │ │ │ │ +0001ebd0: 2020 2020 2020 2020 476c 6f62 616c 206f Global o │ │ │ │ │ +0001ebe0: 7074 696f 6e73 2e20 2020 2020 2020 286c ptions. (l │ │ │ │ │ +0001ebf0: 696e 6520 3133 290a 2a20 7371 7274 3a20 ine 13).* sqrt: │ │ │ │ │ 0001ec00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ec10: 2020 2020 2020 2020 2020 2020 2020 2055 U │ │ │ │ │ -0001ec20: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. │ │ │ │ │ -0001ec30: 2020 2020 2028 6c69 6e65 2031 3429 0a2a (line 14).* │ │ │ │ │ -0001ec40: 2073 7765 6570 3a20 2020 2020 2020 2020 sweep: │ │ │ │ │ +0001ec10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001ec20: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. │ │ │ │ │ +0001ec30: 2020 2020 2020 2028 6c69 6e65 2031 3429 (line 14) │ │ │ │ │ +0001ec40: 0a2a 2073 7765 6570 3a20 2020 2020 2020 .* sweep: │ │ │ │ │ 0001ec50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ec60: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob │ │ │ │ │ -0001ec70: 6a65 6374 732e 2020 2020 2020 2020 286c jects. (l │ │ │ │ │ -0001ec80: 696e 6520 2038 290a 2a20 7377 6565 7020 ine 8).* sweep │ │ │ │ │ -0001ec90: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001ec60: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +0001ec70: 6f62 6a65 6374 732e 2020 2020 2020 2020 objects. │ │ │ │ │ +0001ec80: 286c 696e 6520 2038 290a 2a20 7377 6565 (line 8).* swee │ │ │ │ │ +0001ec90: 7020 3c31 3e3a 2020 2020 2020 2020 2020 p <1>: │ │ │ │ │ 0001eca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ecb0: 2050 6f69 6e74 2073 7765 6570 732e 2020 Point sweeps. │ │ │ │ │ -0001ecc0: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19) │ │ │ │ │ -0001ecd0: 0a2a 2073 7765 6570 203c 323e 3a20 2020 .* sweep <2>: │ │ │ │ │ +0001ecb0: 2020 2050 6f69 6e74 2073 7765 6570 732e Point sweeps. │ │ │ │ │ +0001ecc0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0001ecd0: 3929 0a2a 2073 7765 6570 203c 323e 3a20 9).* sweep <2>: │ │ │ │ │ 0001ece0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ecf0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -0001ed00: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. │ │ │ │ │ -0001ed10: 286c 696e 6520 2039 290a 2a20 7377 6565 (line 9).* swee │ │ │ │ │ -0001ed20: 7020 3c33 3e3a 2020 2020 2020 2020 2020 p <3>: │ │ │ │ │ +0001ecf0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +0001ed00: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ +0001ed10: 2020 286c 696e 6520 2039 290a 2a20 7377 (line 9).* sw │ │ │ │ │ +0001ed20: 6565 7020 3c33 3e3a 2020 2020 2020 2020 eep <3>: │ │ │ │ │ 0001ed30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ed40: 2020 204e 6573 7465 6420 7377 6565 7073 Nested sweeps │ │ │ │ │ -0001ed50: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ -0001ed60: 3829 0a2a 2073 7765 6570 203c 343e 3a20 8).* sweep <4>: │ │ │ │ │ -0001ed70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ed80: 2020 2020 2020 2020 2020 2020 4e65 7374 Nest │ │ │ │ │ -0001ed90: 6564 2073 7765 6570 732e 2020 2020 2020 ed sweeps. │ │ │ │ │ -0001eda0: 2020 286c 696e 6520 3232 290a 2a20 7377 (line 22).* sw │ │ │ │ │ -0001edb0: 6565 7020 3c35 3e3a 2020 2020 2020 2020 eep <5>: │ │ │ │ │ +0001ed40: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee │ │ │ │ │ +0001ed50: 7073 2e20 2020 2020 2020 2028 6c69 6e65 ps. (line │ │ │ │ │ +0001ed60: 2020 3829 0a2a 2073 7765 6570 203c 343e 8).* sweep <4> │ │ │ │ │ +0001ed70: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001ed80: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne │ │ │ │ │ +0001ed90: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. │ │ │ │ │ +0001eda0: 2020 2020 286c 696e 6520 3232 290a 2a20 (line 22).* │ │ │ │ │ +0001edb0: 7377 6565 7020 3c35 3e3a 2020 2020 2020 sweep <5>: │ │ │ │ │ 0001edc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001edd0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ -0001ede0: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur │ │ │ │ │ -0001edf0: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. │ │ │ │ │ +0001edd0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline │ │ │ │ │ +0001ede0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ +0001edf0: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. │ │ │ │ │ 0001ee00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ee10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001ee20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ee30: 2020 286c 696e 6520 3130 290a 2a20 7377 (line 10).* sw │ │ │ │ │ -0001ee40: 6565 7020 3c36 3e3a 2020 2020 2020 2020 eep <6>: │ │ │ │ │ +0001ee30: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ +0001ee40: 7377 6565 7020 3c36 3e3a 2020 2020 2020 sweep <6>: │ │ │ │ │ 0001ee50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ee60: 2020 2020 2053 7765 6570 732e 2020 2020 Sweeps. │ │ │ │ │ -0001ee70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001ee80: 2020 3629 0a2a 2073 7765 6570 203c 373e 6).* sweep <7> │ │ │ │ │ -0001ee90: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001eea0: 2020 2020 2020 2020 2020 2020 2020 4120 A │ │ │ │ │ -0001eeb0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin │ │ │ │ │ -0001eec0: 672e 2020 286c 696e 6520 3230 290a 2a20 g. (line 20).* │ │ │ │ │ -0001eed0: 7377 6565 7020 3c38 3e3a 2020 2020 2020 sweep <8>: │ │ │ │ │ +0001ee60: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. │ │ │ │ │ +0001ee70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001ee80: 6e65 2020 3629 0a2a 2073 7765 6570 203c ne 6).* sweep < │ │ │ │ │ +0001ee90: 373e 3a20 2020 2020 2020 2020 2020 2020 7>: │ │ │ │ │ +0001eea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001eeb0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw │ │ │ │ │ +0001eec0: 696e 672e 2020 286c 696e 6520 3230 290a ing. (line 20). │ │ │ │ │ +0001eed0: 2a20 7377 6565 7020 3c38 3e3a 2020 2020 * sweep <8>: │ │ │ │ │ 0001eee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001eef0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc │ │ │ │ │ -0001ef00: 6869 6361 6c20 6d6f 6465 6c2e 2028 6c69 hical model. (li │ │ │ │ │ -0001ef10: 6e65 2031 3029 0a2a 2073 7765 6570 203c ne 10).* sweep < │ │ │ │ │ -0001ef20: 393e 3a20 2020 2020 2020 2020 2020 2020 9>: │ │ │ │ │ +0001eef0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ +0001ef00: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. ( │ │ │ │ │ +0001ef10: 6c69 6e65 2031 3029 0a2a 2073 7765 6570 line 10).* sweep │ │ │ │ │ +0001ef20: 203c 393e 3a20 2020 2020 2020 2020 2020 <9>: │ │ │ │ │ 0001ef30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef40: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m │ │ │ │ │ -0001ef50: 6f64 656c 2e20 286c 696e 6520 3233 290a odel. (line 23). │ │ │ │ │ -0001ef60: 2a20 7468 656e 3a20 2020 2020 2020 2020 * then: │ │ │ │ │ +0001ef40: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical │ │ │ │ │ +0001ef50: 206d 6f64 656c 2e20 286c 696e 6520 3233 model. (line 23 │ │ │ │ │ +0001ef60: 290a 2a20 7468 656e 3a20 2020 2020 2020 ).* then: │ │ │ │ │ 0001ef70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ef80: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ -0001ef90: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. ( │ │ │ │ │ -0001efa0: 6c69 6e65 2031 3029 0a2a 2074 6865 6e20 line 10).* then │ │ │ │ │ -0001efb0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001ef80: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ +0001ef90: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ +0001efa0: 2028 6c69 6e65 2031 3029 0a2a 2074 6865 (line 10).* the │ │ │ │ │ +0001efb0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ 0001efc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001efd0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -0001efe0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure.. │ │ │ │ │ -0001eff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001efd0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +0001efe0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure │ │ │ │ │ +0001eff0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -0001f030: 6c69 6e65 2031 3029 0a2a 2074 6865 6e20 line 10).* then │ │ │ │ │ -0001f040: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +0001f020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f030: 2028 6c69 6e65 2031 3029 0a2a 2074 6865 (line 10).* the │ │ │ │ │ +0001f040: 6e20 3c32 3e3a 2020 2020 2020 2020 2020 n <2>: │ │ │ │ │ 0001f050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f060: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ -0001f070: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ +0001f060: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand │ │ │ │ │ +0001f070: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms.. │ │ │ │ │ 0001f080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -0001f0c0: 6e65 2033 3629 0a2a 2074 6865 6e20 3c33 ne 36).* then <3 │ │ │ │ │ -0001f0d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001f0b0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0001f0c0: 6c69 6e65 2033 3629 0a2a 2074 6865 6e20 line 36).* then │ │ │ │ │ +0001f0d0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ 0001f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f0f0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin │ │ │ │ │ -0001f100: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. │ │ │ │ │ +0001f0f0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b │ │ │ │ │ +0001f100: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. │ │ │ │ │ 0001f110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f140: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001f150: 2036 3329 0a2a 2074 696b 7a3a 2020 2020 63).* tikz: │ │ │ │ │ +0001f140: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001f150: 6e65 2036 3329 0a2a 2074 696b 7a3a 2020 ne 63).* tikz: │ │ │ │ │ 0001f160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f170: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ -0001f180: 6e67 7561 6765 2e20 2020 2020 2020 2020 nguage. │ │ │ │ │ -0001f190: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* │ │ │ │ │ -0001f1a0: 7472 616e 736c 6174 653a 2020 2020 2020 translate: │ │ │ │ │ +0001f170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f180: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. │ │ │ │ │ +0001f190: 2020 2020 2020 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ +0001f1a0: 2a20 7472 616e 736c 6174 653a 2020 2020 * translate: │ │ │ │ │ 0001f1b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f1c0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ -0001f1d0: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li │ │ │ │ │ -0001f1e0: 6e65 2031 3029 0a2a 2074 7261 6e73 6c61 ne 10).* transla │ │ │ │ │ -0001f1f0: 7465 203c 313e 3a20 2020 2020 2020 2020 te <1>: │ │ │ │ │ +0001f1c0: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +0001f1d0: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. ( │ │ │ │ │ +0001f1e0: 6c69 6e65 2031 3029 0a2a 2074 7261 6e73 line 10).* trans │ │ │ │ │ +0001f1f0: 6c61 7465 203c 313e 3a20 2020 2020 2020 late <1>: │ │ │ │ │ 0001f200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f210: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ -0001f220: 732e 2020 2020 286c 696e 6520 3437 290a s. (line 47). │ │ │ │ │ -0001f230: 2a20 7472 616e 736c 6174 6520 3c32 3e3a * translate <2>: │ │ │ │ │ -0001f240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f250: 2020 2020 2020 2020 2052 6570 6561 7465 Repeate │ │ │ │ │ -0001f260: 6420 6f62 6a65 6374 732e 2020 2020 2028 d objects. ( │ │ │ │ │ -0001f270: 6c69 6e65 2020 3829 0a2a 2074 7261 6e73 line 8).* trans │ │ │ │ │ -0001f280: 6c61 7465 203c 333e 3a20 2020 2020 2020 late <3>: │ │ │ │ │ +0001f210: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo │ │ │ │ │ +0001f220: 726d 732e 2020 2020 286c 696e 6520 3437 rms. (line 47 │ │ │ │ │ +0001f230: 290a 2a20 7472 616e 736c 6174 6520 3c32 ).* translate <2 │ │ │ │ │ +0001f240: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001f250: 2020 2020 2020 2020 2020 2052 6570 6561 Repea │ │ │ │ │ +0001f260: 7465 6420 6f62 6a65 6374 732e 2020 2020 ted objects. │ │ │ │ │ +0001f270: 2028 6c69 6e65 2020 3829 0a2a 2074 7261 (line 8).* tra │ │ │ │ │ +0001f280: 6e73 6c61 7465 203c 333e 3a20 2020 2020 nslate <3>: │ │ │ │ │ 0001f290: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f2a0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ -0001f2b0: 732e 2020 2020 2020 286c 696e 6520 2039 s. (line 9 │ │ │ │ │ -0001f2c0: 290a 2a20 7472 616e 736c 6174 6520 3c34 ).* translate <4 │ │ │ │ │ -0001f2d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001f2e0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl │ │ │ │ │ -0001f2f0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with │ │ │ │ │ -0001f300: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. │ │ │ │ │ +0001f2a0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe │ │ │ │ │ +0001f2b0: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line │ │ │ │ │ +0001f2c0: 2039 290a 2a20 7472 616e 736c 6174 6520 9).* translate │ │ │ │ │ +0001f2d0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ +0001f2e0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ +0001f2f0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit │ │ │ │ │ +0001f300: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. │ │ │ │ │ 0001f310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f340: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10 │ │ │ │ │ -0001f350: 290a 2a20 7472 616e 736c 6174 6520 3c35 ).* translate <5 │ │ │ │ │ -0001f360: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001f370: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ -0001f380: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ -0001f390: 2028 6c69 6e65 2031 3529 0a2a 2074 7261 (line 15).* tra │ │ │ │ │ -0001f3a0: 6e73 6c61 7465 203c 363e 3a20 2020 2020 nslate <6>: │ │ │ │ │ +0001f340: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0001f350: 3130 290a 2a20 7472 616e 736c 6174 6520 10).* translate │ │ │ │ │ +0001f360: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ +0001f370: 2020 2020 2020 2020 2020 2020 2054 7261 Tra │ │ │ │ │ +0001f380: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals. │ │ │ │ │ +0001f390: 2020 2028 6c69 6e65 2031 3529 0a2a 2074 (line 15).* t │ │ │ │ │ +0001f3a0: 7261 6e73 6c61 7465 203c 363e 3a20 2020 ranslate <6>: │ │ │ │ │ 0001f3b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f3c0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ -0001f3d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -0001f3e0: 3537 290a 2a20 7472 616e 736c 6174 6520 57).* translate │ │ │ │ │ -0001f3f0: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: │ │ │ │ │ -0001f400: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ -0001f410: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -0001f420: 2020 2028 6c69 6e65 2036 3929 0a2a 2074 (line 69).* t │ │ │ │ │ -0001f430: 7261 6e73 6c61 7465 203c 383e 3a20 2020 ranslate <8>: │ │ │ │ │ +0001f3c0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ +0001f3d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0001f3e0: 6520 3537 290a 2a20 7472 616e 736c 6174 e 57).* translat │ │ │ │ │ +0001f3f0: 6520 3c37 3e3a 2020 2020 2020 2020 2020 e <7>: │ │ │ │ │ +0001f400: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +0001f410: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +0001f420: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).* │ │ │ │ │ +0001f430: 2074 7261 6e73 6c61 7465 203c 383e 3a20 translate <8>: │ │ │ │ │ 0001f440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f450: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch │ │ │ │ │ -0001f460: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin │ │ │ │ │ -0001f470: 6520 3332 290a 2a20 7472 616e 7370 616c e 32).* transpal │ │ │ │ │ -0001f480: 7068 613a 2020 2020 2020 2020 2020 2020 pha: │ │ │ │ │ -0001f490: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -0001f4a0: 7261 6e73 7061 7265 6e63 792e 2020 2020 ransparency. │ │ │ │ │ -0001f4b0: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).* │ │ │ │ │ -0001f4c0: 2075 6e69 743a 2020 2020 2020 2020 2020 unit: │ │ │ │ │ +0001f450: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar │ │ │ │ │ +0001f460: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l │ │ │ │ │ +0001f470: 696e 6520 3332 290a 2a20 7472 616e 7370 ine 32).* transp │ │ │ │ │ +0001f480: 616c 7068 613a 2020 2020 2020 2020 2020 alpha: │ │ │ │ │ +0001f490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f4a0: 2054 7261 6e73 7061 7265 6e63 792e 2020 Transparency. │ │ │ │ │ +0001f4b0: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10) │ │ │ │ │ +0001f4c0: 0a2a 2075 6e69 743a 2020 2020 2020 2020 .* unit: │ │ │ │ │ 0001f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f4e0: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo │ │ │ │ │ -0001f4f0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l │ │ │ │ │ -0001f500: 696e 6520 3133 290a 2a20 756e 6974 203c ine 13).* unit < │ │ │ │ │ -0001f510: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +0001f4e0: 2020 2020 2020 2020 2020 556e 6172 7920 Unary │ │ │ │ │ +0001f4f0: 666f 726d 732e 2020 2020 2020 2020 2020 forms. │ │ │ │ │ +0001f500: 286c 696e 6520 3133 290a 2a20 756e 6974 (line 13).* unit │ │ │ │ │ +0001f510: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ 0001f520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f530: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ -0001f540: 7769 6e67 2e20 2028 6c69 6e65 2034 3129 wing. (line 41) │ │ │ │ │ -0001f550: 0a2a 2076 6965 773a 2020 2020 2020 2020 .* view: │ │ │ │ │ +0001f530: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001f540: 7261 7769 6e67 2e20 2028 6c69 6e65 2034 rawing. (line 4 │ │ │ │ │ +0001f550: 3129 0a2a 2076 6965 773a 2020 2020 2020 1).* view: │ │ │ │ │ 0001f560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f570: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -0001f580: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. │ │ │ │ │ -0001f590: 286c 696e 6520 3235 290a 2a20 7669 6577 (line 25).* view │ │ │ │ │ -0001f5a0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001f570: 2020 2020 2020 2020 2020 2020 5472 616e Tran │ │ │ │ │ +0001f580: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ +0001f590: 2020 286c 696e 6520 3235 290a 2a20 7669 (line 25).* vi │ │ │ │ │ +0001f5a0: 6577 203c 313e 3a20 2020 2020 2020 2020 ew <1>: │ │ │ │ │ 0001f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f5c0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -0001f5d0: 6572 616c 732e 2020 2028 6c69 6e65 2033 erals. (line 3 │ │ │ │ │ -0001f5e0: 3529 0a0a 1f0a 4669 6c65 3a20 736b 6574 5)....File: sket │ │ │ │ │ -0001f5f0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: │ │ │ │ │ -0001f600: 496e 6465 782c 2020 5072 6576 3a20 496e Index, Prev: In │ │ │ │ │ -0001f610: 6465 7820 6f66 2073 796e 7461 782c 2020 dex of syntax, │ │ │ │ │ -0001f620: 5570 3a20 546f 700a 0a49 6e64 6578 206f Up: Top..Index o │ │ │ │ │ -0001f630: 6620 636f 6e63 6570 7473 0a2a 2a2a 2a2a f concepts.***** │ │ │ │ │ -0001f640: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 0008 ************.... │ │ │ │ │ -0001f650: 5b69 6e64 6578 0008 5d0a 2a20 4d65 6e75 [index..].* Menu │ │ │ │ │ -0001f660: 3a0a 0a2a 2061 6666 696e 6520 6172 6974 :..* affine arit │ │ │ │ │ -0001f670: 686d 6574 6963 3a20 2020 2020 2020 2020 hmetic: │ │ │ │ │ -0001f680: 2020 2020 2020 2020 2020 2020 4166 6669 Affi │ │ │ │ │ -0001f690: 6e65 2061 7269 7468 6d65 7469 632e 2020 ne arithmetic. │ │ │ │ │ -0001f6a0: 2028 6c69 6e65 2020 2038 290a 2a20 6166 (line 8).* af │ │ │ │ │ -0001f6b0: 6669 6e65 2061 7269 7468 6d65 7469 6320 fine arithmetic │ │ │ │ │ -0001f6c0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -0001f6d0: 2020 2020 2041 2074 6563 686e 6963 616c A technical │ │ │ │ │ -0001f6e0: 2064 7261 7769 6e67 2e20 286c 696e 6520 drawing. (line │ │ │ │ │ -0001f6f0: 2034 3029 0a2a 2061 6c74 6572 6e61 7469 40).* alternati │ │ │ │ │ -0001f700: 7665 732c 2064 6566 696e 6974 696f 6e3a ves, definition: │ │ │ │ │ -0001f710: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ -0001f720: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio │ │ │ │ │ -0001f730: 6e73 2e0a 2020 2020 2020 2020 2020 2020 ns.. │ │ │ │ │ +0001f5c0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ +0001f5d0: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line │ │ │ │ │ +0001f5e0: 2033 3529 0a0a 1f0a 4669 6c65 3a20 736b 35)....File: sk │ │ │ │ │ +0001f5f0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node │ │ │ │ │ +0001f600: 3a20 496e 6465 782c 2020 5072 6576 3a20 : Index, Prev: │ │ │ │ │ +0001f610: 496e 6465 7820 6f66 2073 796e 7461 782c Index of syntax, │ │ │ │ │ +0001f620: 2020 5570 3a20 546f 700a 0a49 6e64 6578 Up: Top..Index │ │ │ │ │ +0001f630: 206f 6620 636f 6e63 6570 7473 0a2a 2a2a of concepts.*** │ │ │ │ │ +0001f640: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************.. │ │ │ │ │ +0001f650: 0008 5b69 6e64 6578 0008 5d0a 2a20 4d65 ..[index..].* Me │ │ │ │ │ +0001f660: 6e75 3a0a 0a2a 2061 6666 696e 6520 6172 nu:..* affine ar │ │ │ │ │ +0001f670: 6974 686d 6574 6963 3a20 2020 2020 2020 ithmetic: │ │ │ │ │ +0001f680: 2020 2020 2020 2020 2020 2020 2020 4166 Af │ │ │ │ │ +0001f690: 6669 6e65 2061 7269 7468 6d65 7469 632e fine arithmetic. │ │ │ │ │ +0001f6a0: 2020 2028 6c69 6e65 2020 2038 290a 2a20 (line 8).* │ │ │ │ │ +0001f6b0: 6166 6669 6e65 2061 7269 7468 6d65 7469 affine arithmeti │ │ │ │ │ +0001f6c0: 6320 3c31 3e3a 2020 2020 2020 2020 2020 c <1>: │ │ │ │ │ +0001f6d0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ +0001f6e0: 616c 2064 7261 7769 6e67 2e20 286c 696e al drawing. (lin │ │ │ │ │ +0001f6f0: 6520 2034 3029 0a2a 2061 6c74 6572 6e61 e 40).* alterna │ │ │ │ │ +0001f700: 7469 7665 732c 2064 6566 696e 6974 696f tives, definitio │ │ │ │ │ +0001f710: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ +0001f720: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit │ │ │ │ │ +0001f730: 696f 6e73 2e0a 2020 2020 2020 2020 2020 ions.. │ │ │ │ │ 0001f740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f770: 2020 286c 696e 6520 2020 3629 0a2a 2061 (line 6).* a │ │ │ │ │ -0001f780: 7267 756d 656e 742c 2073 7065 6369 616c rgument, special │ │ │ │ │ -0001f790: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0001f7a0: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob │ │ │ │ │ -0001f7b0: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line │ │ │ │ │ -0001f7c0: 2020 3235 290a 2a20 6172 6775 6d65 6e74 25).* argument │ │ │ │ │ -0001f7d0: 2c20 7370 6563 6961 6c20 3c31 3e3a 2020 , special <1>: │ │ │ │ │ -0001f7e0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0001f7f0: 7065 6369 616c 732e 2020 2020 2020 2020 pecials. │ │ │ │ │ -0001f800: 2020 2020 286c 696e 6520 2031 3029 0a2a (line 10).* │ │ │ │ │ -0001f810: 2061 7373 6f63 6961 7469 7669 7479 2c20 associativity, │ │ │ │ │ -0001f820: 6f70 6572 6174 6f72 3a20 2020 2020 2020 operator: │ │ │ │ │ -0001f830: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ -0001f840: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ -0001f850: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ +0001f770: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +0001f780: 2061 7267 756d 656e 742c 2073 7065 6369 argument, speci │ │ │ │ │ +0001f790: 616c 3a20 2020 2020 2020 2020 2020 2020 al: │ │ │ │ │ +0001f7a0: 2020 2020 2020 2020 5370 6563 6961 6c20 Special │ │ │ │ │ +0001f7b0: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li │ │ │ │ │ +0001f7c0: 6e65 2020 3235 290a 2a20 6172 6775 6d65 ne 25).* argume │ │ │ │ │ +0001f7d0: 6e74 2c20 7370 6563 6961 6c20 3c31 3e3a nt, special <1>: │ │ │ │ │ +0001f7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f7f0: 2053 7065 6369 616c 732e 2020 2020 2020 Specials. │ │ │ │ │ +0001f800: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10) │ │ │ │ │ +0001f810: 0a2a 2061 7373 6f63 6961 7469 7669 7479 .* associativity │ │ │ │ │ +0001f820: 2c20 6f70 6572 6174 6f72 3a20 2020 2020 , operator: │ │ │ │ │ +0001f830: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ +0001f840: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ +0001f850: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ 0001f860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f890: 2020 286c 696e 6520 2035 3829 0a2a 2061 (line 58).* a │ │ │ │ │ -0001f8a0: 7869 732c 2072 6f74 6174 696f 6e3a 2020 xis, rotation: │ │ │ │ │ +0001f890: 2020 2020 286c 696e 6520 2035 3829 0a2a (line 58).* │ │ │ │ │ +0001f8a0: 2061 7869 732c 2072 6f74 6174 696f 6e3a axis, rotation: │ │ │ │ │ 0001f8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f8c0: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ -0001f8d0: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line │ │ │ │ │ -0001f8e0: 2020 3430 290a 2a20 6261 636b 2066 6163 40).* back fac │ │ │ │ │ -0001f8f0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -0001f900: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -0001f910: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ -0001f920: 2020 2020 286c 696e 6520 2033 3529 0a2a (line 35).* │ │ │ │ │ -0001f930: 2062 6173 656c 696e 6520 6672 6163 7469 baseline fracti │ │ │ │ │ -0001f940: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ -0001f950: 2020 2020 2020 2020 5069 6374 7572 6520 Picture │ │ │ │ │ -0001f960: 626f 782e 2020 2020 2020 2020 2028 6c69 box. (li │ │ │ │ │ -0001f970: 6e65 2020 3130 290a 2a20 6269 6e61 7279 ne 10).* binary │ │ │ │ │ -0001f980: 2066 6f72 6d3a 2020 2020 2020 2020 2020 form: │ │ │ │ │ +0001f8c0: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ +0001f8d0: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li │ │ │ │ │ +0001f8e0: 6e65 2020 3430 290a 2a20 6261 636b 2066 ne 40).* back f │ │ │ │ │ +0001f8f0: 6163 653a 2020 2020 2020 2020 2020 2020 ace: │ │ │ │ │ +0001f900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001f910: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ +0001f920: 2e20 2020 2020 286c 696e 6520 2033 3529 . (line 35) │ │ │ │ │ +0001f930: 0a2a 2062 6173 656c 696e 6520 6672 6163 .* baseline frac │ │ │ │ │ +0001f940: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ +0001f950: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur │ │ │ │ │ +0001f960: 6520 626f 782e 2020 2020 2020 2020 2028 e box. ( │ │ │ │ │ +0001f970: 6c69 6e65 2020 3130 290a 2a20 6269 6e61 line 10).* bina │ │ │ │ │ +0001f980: 7279 2066 6f72 6d3a 2020 2020 2020 2020 ry form: │ │ │ │ │ 0001f990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f9a0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ -0001f9b0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. │ │ │ │ │ +0001f9a0: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand ( │ │ │ │ │ +0001f9b0: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. │ │ │ │ │ 0001f9c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001f9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001f9f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001fa00: 2020 2036 290a 2a20 6269 6e61 7279 2073 6).* binary s │ │ │ │ │ -0001fa10: 7061 6365 2070 6172 7469 7469 6f6e 3a20 pace partition: │ │ │ │ │ -0001fa20: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ -0001fa30: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re │ │ │ │ │ -0001fa40: 6d6f 7661 6c2e 0a20 2020 2020 2020 2020 moval.. │ │ │ │ │ +0001f9f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001fa00: 6e65 2020 2036 290a 2a20 6269 6e61 7279 ne 6).* binary │ │ │ │ │ +0001fa10: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition │ │ │ │ │ +0001fa20: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0001fa30: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ +0001fa40: 7265 6d6f 7661 6c2e 0a20 2020 2020 2020 removal.. │ │ │ │ │ 0001fa50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fa60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fa70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fa80: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23). │ │ │ │ │ -0001fa90: 2a20 6269 6e61 7279 2073 7061 6365 2070 * binary space p │ │ │ │ │ -0001faa0: 6172 7469 7469 6f6e 203c 313e 3a20 2020 artition <1>: │ │ │ │ │ -0001fab0: 2020 2020 2020 2020 2053 7461 7469 7374 Statist │ │ │ │ │ -0001fac0: 6963 732e 2020 2020 2020 2020 2020 286c ics. (l │ │ │ │ │ -0001fad0: 696e 6520 2031 3329 0a2a 2062 696e 6172 ine 13).* binar │ │ │ │ │ -0001fae0: 7920 7370 6163 6520 7061 7274 6974 696f y space partitio │ │ │ │ │ -0001faf0: 6e20 3c32 3e3a 2020 2020 2020 2020 2020 n <2>: │ │ │ │ │ -0001fb00: 2020 436f 6d6d 616e 6420 6c69 6e65 2e20 Command line. │ │ │ │ │ -0001fb10: 2020 2020 2020 2028 6c69 6e65 2020 3236 (line 26 │ │ │ │ │ -0001fb20: 290a 2a20 626c 6f63 6b3a 2020 2020 2020 ).* block: │ │ │ │ │ +0001fa80: 2020 2020 2020 2028 6c69 6e65 2020 3233 (line 23 │ │ │ │ │ +0001fa90: 290a 2a20 6269 6e61 7279 2073 7061 6365 ).* binary space │ │ │ │ │ +0001faa0: 2070 6172 7469 7469 6f6e 203c 313e 3a20 partition <1>: │ │ │ │ │ +0001fab0: 2020 2020 2020 2020 2020 2053 7461 7469 Stati │ │ │ │ │ +0001fac0: 7374 6963 732e 2020 2020 2020 2020 2020 stics. │ │ │ │ │ +0001fad0: 286c 696e 6520 2031 3329 0a2a 2062 696e (line 13).* bin │ │ │ │ │ +0001fae0: 6172 7920 7370 6163 6520 7061 7274 6974 ary space partit │ │ │ │ │ +0001faf0: 696f 6e20 3c32 3e3a 2020 2020 2020 2020 ion <2>: │ │ │ │ │ +0001fb00: 2020 2020 436f 6d6d 616e 6420 6c69 6e65 Command line │ │ │ │ │ +0001fb10: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ +0001fb20: 3236 290a 2a20 626c 6f63 6b3a 2020 2020 26).* block: │ │ │ │ │ 0001fb30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fb40: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -0001fb50: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -0001fb60: 286c 696e 6520 2032 3429 0a2a 2062 6c6f (line 24).* blo │ │ │ │ │ -0001fb70: 636b 203c 313e 3a20 2020 2020 2020 2020 ck <1>: │ │ │ │ │ +0001fb40: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +0001fb50: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +0001fb60: 2020 286c 696e 6520 2032 3429 0a2a 2062 (line 24).* b │ │ │ │ │ +0001fb70: 6c6f 636b 203c 313e 3a20 2020 2020 2020 lock <1>: │ │ │ │ │ 0001fb80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fb90: 2020 2020 5377 6570 7420 626c 6f63 6b73 Swept blocks │ │ │ │ │ -0001fba0: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ -0001fbb0: 2037 290a 2a20 626c 6f63 6b20 3c32 3e3a 7).* block <2>: │ │ │ │ │ -0001fbc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fbd0: 2020 2020 2020 2020 2020 2020 2042 6c6f Blo │ │ │ │ │ -0001fbe0: 636b 732e 2020 2020 2020 2020 2020 2020 cks. │ │ │ │ │ -0001fbf0: 2020 286c 696e 6520 2020 3629 0a2a 2062 (line 6).* b │ │ │ │ │ -0001fc00: 6c6f 636b 2073 7765 6570 3a20 2020 2020 lock sweep: │ │ │ │ │ +0001fb90: 2020 2020 2020 5377 6570 7420 626c 6f63 Swept bloc │ │ │ │ │ +0001fba0: 6b73 2e20 2020 2020 2020 2028 6c69 6e65 ks. (line │ │ │ │ │ +0001fbb0: 2020 2037 290a 2a20 626c 6f63 6b20 3c32 7).* block <2 │ │ │ │ │ +0001fbc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001fbd0: 2020 2020 2020 2020 2020 2020 2020 2042 B │ │ │ │ │ +0001fbe0: 6c6f 636b 732e 2020 2020 2020 2020 2020 locks. │ │ │ │ │ +0001fbf0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +0001fc00: 2062 6c6f 636b 2073 7765 6570 3a20 2020 block sweep: │ │ │ │ │ 0001fc10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fc20: 2020 2020 2020 5377 6570 7420 626c 6f63 Swept bloc │ │ │ │ │ -0001fc30: 6b73 2e20 2020 2020 2020 2028 6c69 6e65 ks. (line │ │ │ │ │ -0001fc40: 2020 2036 290a 2a20 626f 6479 2070 6f6c 6).* body pol │ │ │ │ │ -0001fc50: 7967 6f6e 3a20 2020 2020 2020 2020 2020 ygon: │ │ │ │ │ -0001fc60: 2020 2020 2020 2020 2020 2020 2020 2049 I │ │ │ │ │ -0001fc70: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options. │ │ │ │ │ -0001fc80: 2020 2020 286c 696e 6520 2031 3629 0a2a (line 16).* │ │ │ │ │ -0001fc90: 2062 6f64 7920 706f 6c79 676f 6e20 3c31 body polygon <1 │ │ │ │ │ -0001fca0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0001fcb0: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li │ │ │ │ │ -0001fcc0: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li │ │ │ │ │ -0001fcd0: 6e65 2020 3130 290a 2a20 626f 6479 2070 ne 10).* body p │ │ │ │ │ -0001fce0: 6f6c 7967 6f6e 203c 323e 3a20 2020 2020 olygon <2>: │ │ │ │ │ +0001fc20: 2020 2020 2020 2020 5377 6570 7420 626c Swept bl │ │ │ │ │ +0001fc30: 6f63 6b73 2e20 2020 2020 2020 2028 6c69 ocks. (li │ │ │ │ │ +0001fc40: 6e65 2020 2036 290a 2a20 626f 6479 2070 ne 6).* body p │ │ │ │ │ +0001fc50: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: │ │ │ │ │ +0001fc60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001fc70: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option │ │ │ │ │ +0001fc80: 732e 2020 2020 286c 696e 6520 2031 3629 s. (line 16) │ │ │ │ │ +0001fc90: 0a2a 2062 6f64 7920 706f 6c79 676f 6e20 .* body polygon │ │ │ │ │ +0001fca0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0001fcb0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ +0001fcc0: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. ( │ │ │ │ │ +0001fcd0: 6c69 6e65 2020 3130 290a 2a20 626f 6479 line 10).* body │ │ │ │ │ +0001fce0: 2070 6f6c 7967 6f6e 203c 323e 3a20 2020 polygon <2>: │ │ │ │ │ 0001fcf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fd00: 2053 7765 7074 2070 6f6c 7967 6f6e 732e Swept polygons. │ │ │ │ │ -0001fd10: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9) │ │ │ │ │ -0001fd20: 0a2a 2062 6f75 6e64 696e 6720 626f 783a .* bounding box: │ │ │ │ │ -0001fd30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fd40: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur │ │ │ │ │ -0001fd50: 6520 626f 782e 2020 2020 2020 2020 2028 e box. ( │ │ │ │ │ -0001fd60: 6c69 6e65 2020 3135 290a 2a20 4253 502c line 15).* BSP, │ │ │ │ │ -0001fd70: 2062 696e 6172 7920 7370 6163 6520 7061 binary space pa │ │ │ │ │ -0001fd80: 7274 6974 696f 6e3a 2020 2020 2020 2020 rtition: │ │ │ │ │ -0001fd90: 2020 2048 6964 6465 6e20 7375 7266 6163 Hidden surfac │ │ │ │ │ -0001fda0: 6520 7265 6d6f 7661 6c2e 0a20 2020 2020 e removal.. │ │ │ │ │ +0001fd00: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon │ │ │ │ │ +0001fd10: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line │ │ │ │ │ +0001fd20: 3929 0a2a 2062 6f75 6e64 696e 6720 626f 9).* bounding bo │ │ │ │ │ +0001fd30: 783a 2020 2020 2020 2020 2020 2020 2020 x: │ │ │ │ │ +0001fd40: 2020 2020 2020 2020 2020 2020 5069 6374 Pict │ │ │ │ │ +0001fd50: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. │ │ │ │ │ +0001fd60: 2028 6c69 6e65 2020 3135 290a 2a20 4253 (line 15).* BS │ │ │ │ │ +0001fd70: 502c 2062 696e 6172 7920 7370 6163 6520 P, binary space │ │ │ │ │ +0001fd80: 7061 7274 6974 696f 6e3a 2020 2020 2020 partition: │ │ │ │ │ +0001fd90: 2020 2020 2048 6964 6465 6e20 7375 7266 Hidden surf │ │ │ │ │ +0001fda0: 6163 6520 7265 6d6f 7661 6c2e 0a20 2020 ace removal.. │ │ │ │ │ 0001fdb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fdc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0001fdd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fde0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0001fdf0: 3233 290a 2a20 4253 502c 2062 696e 6172 23).* BSP, binar │ │ │ │ │ -0001fe00: 7920 7370 6163 6520 7061 7274 6974 696f y space partitio │ │ │ │ │ -0001fe10: 6e20 3c31 3e3a 2020 2020 2020 2043 6f6d n <1>: Com │ │ │ │ │ -0001fe20: 6d61 6e64 206c 696e 652e 2020 2020 2020 mand line. │ │ │ │ │ -0001fe30: 2020 286c 696e 6520 2032 3629 0a2a 2063 (line 26).* c │ │ │ │ │ -0001fe40: 616d 6572 613a 2020 2020 2020 2020 2020 amera: │ │ │ │ │ +0001fde0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0001fdf0: 2020 3233 290a 2a20 4253 502c 2062 696e 23).* BSP, bin │ │ │ │ │ +0001fe00: 6172 7920 7370 6163 6520 7061 7274 6974 ary space partit │ │ │ │ │ +0001fe10: 696f 6e20 3c31 3e3a 2020 2020 2020 2043 ion <1>: C │ │ │ │ │ +0001fe20: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. │ │ │ │ │ +0001fe30: 2020 2020 286c 696e 6520 2032 3629 0a2a (line 26).* │ │ │ │ │ +0001fe40: 2063 616d 6572 613a 2020 2020 2020 2020 camera: │ │ │ │ │ 0001fe50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001fe60: 2020 2020 2020 4361 6d65 7261 2e20 2020 Camera. │ │ │ │ │ -0001fe70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0001fe80: 2020 2036 290a 2a20 6365 6e74 6572 206f 6).* center o │ │ │ │ │ -0001fe90: 6620 726f 7461 7469 6f6e 3a20 2020 2020 f rotation: │ │ │ │ │ -0001fea0: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -0001feb0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ -0001fec0: 2e20 2020 286c 696e 6520 2020 3829 0a2a . (line 8).* │ │ │ │ │ -0001fed0: 2063 656e 7465 7220 6f66 2072 6f74 6174 center of rotat │ │ │ │ │ -0001fee0: 696f 6e20 3c31 3e3a 2020 2020 2020 2020 ion <1>: │ │ │ │ │ -0001fef0: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s │ │ │ │ │ -0001ff00: 7765 6570 732e 2020 2020 2020 2028 6c69 weeps. (li │ │ │ │ │ -0001ff10: 6e65 2020 2036 290a 2a20 6365 6e74 726f ne 6).* centro │ │ │ │ │ -0001ff20: 6964 3a20 2020 2020 2020 2020 2020 2020 id: │ │ │ │ │ +0001fe60: 2020 2020 2020 2020 4361 6d65 7261 2e20 Camera. │ │ │ │ │ +0001fe70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0001fe80: 6e65 2020 2036 290a 2a20 6365 6e74 6572 ne 6).* center │ │ │ │ │ +0001fe90: 206f 6620 726f 7461 7469 6f6e 3a20 2020 of rotation: │ │ │ │ │ +0001fea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0001feb0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +0001fec0: 6d73 2e20 2020 286c 696e 6520 2020 3829 ms. (line 8) │ │ │ │ │ +0001fed0: 0a2a 2063 656e 7465 7220 6f66 2072 6f74 .* center of rot │ │ │ │ │ +0001fee0: 6174 696f 6e20 3c31 3e3a 2020 2020 2020 ation <1>: │ │ │ │ │ +0001fef0: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested │ │ │ │ │ +0001ff00: 2073 7765 6570 732e 2020 2020 2020 2028 sweeps. ( │ │ │ │ │ +0001ff10: 6c69 6e65 2020 2036 290a 2a20 6365 6e74 line 6).* cent │ │ │ │ │ +0001ff20: 726f 6964 3a20 2020 2020 2020 2020 2020 roid: │ │ │ │ │ 0001ff30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ff40: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ -0001ff50: 7769 6e67 2e20 286c 696e 6520 2036 3429 wing. (line 64) │ │ │ │ │ -0001ff60: 0a2a 2063 656e 7472 6f69 6420 3c31 3e3a .* centroid <1>: │ │ │ │ │ -0001ff70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ff80: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ -0001ff90: 6e69 6361 6c20 6472 6177 696e 672e 2028 nical drawing. ( │ │ │ │ │ -0001ffa0: 6c69 6e65 2031 3032 290a 2a20 636c 6970 line 102).* clip │ │ │ │ │ -0001ffb0: 7069 6e67 3a20 2020 2020 2020 2020 2020 ping: │ │ │ │ │ +0001ff40: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d │ │ │ │ │ +0001ff50: 7261 7769 6e67 2e20 286c 696e 6520 2036 rawing. (line 6 │ │ │ │ │ +0001ff60: 3429 0a2a 2063 656e 7472 6f69 6420 3c31 4).* centroid <1 │ │ │ │ │ +0001ff70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0001ff80: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +0001ff90: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +0001ffa0: 2028 6c69 6e65 2031 3032 290a 2a20 636c (line 102).* cl │ │ │ │ │ +0001ffb0: 6970 7069 6e67 3a20 2020 2020 2020 2020 ipping: │ │ │ │ │ 0001ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0001ffd0: 2020 2050 6963 7475 7265 2062 6f78 2e20 Picture box. │ │ │ │ │ -0001ffe0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ -0001fff0: 3729 0a2a 2063 6c69 7070 696e 6720 3c31 7).* clipping <1 │ │ │ │ │ -00020000: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00020010: 2020 2020 2020 2020 2020 2020 436c 6970 Clip │ │ │ │ │ -00020020: 7069 6e67 2e20 2020 2020 2020 2020 2020 ping. │ │ │ │ │ -00020030: 2028 6c69 6e65 2020 2036 290a 2a20 636c (line 6).* cl │ │ │ │ │ -00020040: 6f73 7572 6520 7461 672c 203c 3e3a 2020 osure tag, <>: │ │ │ │ │ +0001ffd0: 2020 2020 2050 6963 7475 7265 2062 6f78 Picture box │ │ │ │ │ +0001ffe0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +0001fff0: 2031 3729 0a2a 2063 6c69 7070 696e 6720 17).* clipping │ │ │ │ │ +00020000: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00020010: 2020 2020 2020 2020 2020 2020 2020 436c Cl │ │ │ │ │ +00020020: 6970 7069 6e67 2e20 2020 2020 2020 2020 ipping. │ │ │ │ │ +00020030: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +00020040: 636c 6f73 7572 6520 7461 672c 203c 3e3a closure tag, <>: │ │ │ │ │ 00020050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020060: 2020 2020 2050 6f69 6e74 2073 7765 6570 Point sweep │ │ │ │ │ -00020070: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line │ │ │ │ │ -00020080: 2031 3829 0a2a 2063 6c6f 7375 7265 2074 18).* closure t │ │ │ │ │ -00020090: 6167 2c20 3c3e 203c 313e 3a20 2020 2020 ag, <> <1>: │ │ │ │ │ -000200a0: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -000200b0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi │ │ │ │ │ -000200c0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. │ │ │ │ │ +00020060: 2020 2020 2020 2050 6f69 6e74 2073 7765 Point swe │ │ │ │ │ +00020070: 6570 732e 2020 2020 2020 2020 286c 696e eps. (lin │ │ │ │ │ +00020080: 6520 2031 3829 0a2a 2063 6c6f 7375 7265 e 18).* closure │ │ │ │ │ +00020090: 2074 6167 2c20 3c3e 203c 313e 3a20 2020 tag, <> <1>: │ │ │ │ │ +000200a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000200b0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps │ │ │ │ │ +000200c0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. │ │ │ │ │ 000200d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000200e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000200f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020100: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00020110: 2020 3629 0a2a 2063 6c6f 7375 7265 2074 6).* closure t │ │ │ │ │ -00020120: 6167 2c20 3c3e 203c 323e 3a20 2020 2020 ag, <> <2>: │ │ │ │ │ -00020130: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ -00020140: 6565 7073 2e20 2020 2020 2020 2020 2020 eeps. │ │ │ │ │ -00020150: 2020 2028 6c69 6e65 2020 3139 290a 2a20 (line 19).* │ │ │ │ │ -00020160: 636c 6f73 7572 6520 7461 672c 203c 3e20 closure tag, <> │ │ │ │ │ -00020170: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ -00020180: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi │ │ │ │ │ -00020190: 6e74 732e 2020 2020 2020 2020 286c 696e nts. (lin │ │ │ │ │ -000201a0: 6520 2020 3629 0a2a 2063 6c6f 7375 7265 e 6).* closure │ │ │ │ │ -000201b0: 2074 6167 2c20 3c3e 203c 343e 3a20 2020 tag, <> <4>: │ │ │ │ │ +00020100: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00020110: 6520 2020 3629 0a2a 2063 6c6f 7375 7265 e 6).* closure │ │ │ │ │ +00020120: 2074 6167 2c20 3c3e 203c 323e 3a20 2020 tag, <> <2>: │ │ │ │ │ +00020130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020140: 5377 6565 7073 2e20 2020 2020 2020 2020 Sweeps. │ │ │ │ │ +00020150: 2020 2020 2028 6c69 6e65 2020 3139 290a (line 19). │ │ │ │ │ +00020160: 2a20 636c 6f73 7572 6520 7461 672c 203c * closure tag, < │ │ │ │ │ +00020170: 3e20 3c33 3e3a 2020 2020 2020 2020 2020 > <3>: │ │ │ │ │ +00020180: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ +00020190: 6f69 6e74 732e 2020 2020 2020 2020 286c oints. (l │ │ │ │ │ +000201a0: 696e 6520 2020 3629 0a2a 2063 6c6f 7375 ine 6).* closu │ │ │ │ │ +000201b0: 7265 2074 6167 2c20 3c3e 203c 343e 3a20 re tag, <> <4>: │ │ │ │ │ 000201c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000201d0: 5377 6570 7420 706f 696e 7473 2e20 2020 Swept points. │ │ │ │ │ -000201e0: 2020 2020 2028 6c69 6e65 2020 3133 290a (line 13). │ │ │ │ │ -000201f0: 2a20 636c 6f73 7572 6520 7461 672c 203c * closure tag, < │ │ │ │ │ -00020200: 3e20 3c35 3e3a 2020 2020 2020 2020 2020 > <5>: │ │ │ │ │ -00020210: 2020 2020 2020 2020 2053 7765 7074 206c Swept l │ │ │ │ │ -00020220: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l │ │ │ │ │ -00020230: 696e 6520 2020 3629 0a2a 2063 6c6f 7375 ine 6).* closu │ │ │ │ │ -00020240: 7265 2074 6167 2c20 3c3e 203c 363e 3a20 re tag, <> <6>: │ │ │ │ │ -00020250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020260: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ -00020270: 2020 2020 2020 2028 6c69 6e65 2020 3238 (line 28 │ │ │ │ │ -00020280: 290a 2a20 636c 6f73 7572 6520 7461 672c ).* closure tag, │ │ │ │ │ -00020290: 203c 3e20 3c37 3e3a 2020 2020 2020 2020 <> <7>: │ │ │ │ │ -000202a0: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep │ │ │ │ │ -000202b0: 2066 6163 6520 7370 6c69 7474 696e 672e face splitting. │ │ │ │ │ -000202c0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +000201d0: 2020 5377 6570 7420 706f 696e 7473 2e20 Swept points. │ │ │ │ │ +000201e0: 2020 2020 2020 2028 6c69 6e65 2020 3133 (line 13 │ │ │ │ │ +000201f0: 290a 2a20 636c 6f73 7572 6520 7461 672c ).* closure tag, │ │ │ │ │ +00020200: 203c 3e20 3c35 3e3a 2020 2020 2020 2020 <> <5>: │ │ │ │ │ +00020210: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +00020220: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ +00020230: 286c 696e 6520 2020 3629 0a2a 2063 6c6f (line 6).* clo │ │ │ │ │ +00020240: 7375 7265 2074 6167 2c20 3c3e 203c 363e sure tag, <> <6> │ │ │ │ │ +00020250: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020260: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines. │ │ │ │ │ +00020270: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00020280: 3238 290a 2a20 636c 6f73 7572 6520 7461 28).* closure ta │ │ │ │ │ +00020290: 672c 203c 3e20 3c37 3e3a 2020 2020 2020 g, <> <7>: │ │ │ │ │ +000202a0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +000202b0: 6570 2066 6163 6520 7370 6c69 7474 696e ep face splittin │ │ │ │ │ +000202c0: 672e 0a20 2020 2020 2020 2020 2020 2020 g.. │ │ │ │ │ 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 2028 ( │ │ │ │ │ -00020300: 6c69 6e65 2020 3131 290a 2a20 636f 6d6d line 11).* comm │ │ │ │ │ -00020310: 616e 6420 6c69 6e65 206f 7074 696f 6e3a and line option: │ │ │ │ │ -00020320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020330: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. │ │ │ │ │ -00020340: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3 │ │ │ │ │ -00020350: 3029 0a2a 2063 6f6d 6d61 6e64 206c 696e 0).* command lin │ │ │ │ │ -00020360: 6520 6f70 7469 6f6e 733a 2020 2020 2020 e options: │ │ │ │ │ -00020370: 2020 2020 2020 2020 2020 2020 436f 6d6d Comm │ │ │ │ │ -00020380: 616e 6420 6c69 6e65 2e20 2020 2020 2020 and line. │ │ │ │ │ -00020390: 2028 6c69 6e65 2020 3134 290a 2a20 636f (line 14).* co │ │ │ │ │ -000203a0: 6d6d 616e 6420 6c69 6e65 2c20 736b 6574 mmand line, sket │ │ │ │ │ -000203b0: 6368 3a20 2020 2020 2020 2020 2020 2020 ch: │ │ │ │ │ -000203c0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world │ │ │ │ │ -000203d0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ -000203e0: 2020 3929 0a2a 2063 6f6d 6d61 6e64 206c 9).* command l │ │ │ │ │ -000203f0: 696e 652c 2073 6b65 7463 6820 3c31 3e3a ine, sketch <1>: │ │ │ │ │ -00020400: 2020 2020 2020 2020 2020 2020 2020 436f Co │ │ │ │ │ -00020410: 6d6d 616e 6420 6c69 6e65 2e20 2020 2020 mmand line. │ │ │ │ │ -00020420: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -00020430: 636f 6d6d 656e 7473 3a20 2020 2020 2020 comments: │ │ │ │ │ +000202f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020300: 2028 6c69 6e65 2020 3131 290a 2a20 636f (line 11).* co │ │ │ │ │ +00020310: 6d6d 616e 6420 6c69 6e65 206f 7074 696f mmand line optio │ │ │ │ │ +00020320: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ +00020330: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world │ │ │ │ │ +00020340: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +00020350: 2033 3029 0a2a 2063 6f6d 6d61 6e64 206c 30).* command l │ │ │ │ │ +00020360: 696e 6520 6f70 7469 6f6e 733a 2020 2020 ine options: │ │ │ │ │ +00020370: 2020 2020 2020 2020 2020 2020 2020 436f Co │ │ │ │ │ +00020380: 6d6d 616e 6420 6c69 6e65 2e20 2020 2020 mmand line. │ │ │ │ │ +00020390: 2020 2028 6c69 6e65 2020 3134 290a 2a20 (line 14).* │ │ │ │ │ +000203a0: 636f 6d6d 616e 6420 6c69 6e65 2c20 736b command line, sk │ │ │ │ │ +000203b0: 6574 6368 3a20 2020 2020 2020 2020 2020 etch: │ │ │ │ │ +000203c0: 2020 2020 2020 2048 656c 6c6f 2077 6f72 Hello wor │ │ │ │ │ +000203d0: 6c64 2e20 2020 2020 2020 2020 286c 696e ld. (lin │ │ │ │ │ +000203e0: 6520 2020 3929 0a2a 2063 6f6d 6d61 6e64 e 9).* command │ │ │ │ │ +000203f0: 206c 696e 652c 2073 6b65 7463 6820 3c31 line, sketch <1 │ │ │ │ │ +00020400: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00020410: 436f 6d6d 616e 6420 6c69 6e65 2e20 2020 Command line. │ │ │ │ │ +00020420: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +00020430: 2a20 636f 6d6d 656e 7473 3a20 2020 2020 * comments: │ │ │ │ │ 00020440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020450: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ -00020460: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin │ │ │ │ │ -00020470: 6520 2032 3829 0a2a 2063 6f6d 6d65 6e74 e 28).* comment │ │ │ │ │ -00020480: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: │ │ │ │ │ +00020450: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing │ │ │ │ │ +00020460: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l │ │ │ │ │ +00020470: 696e 6520 2032 3829 0a2a 2063 6f6d 6d65 ine 28).* comme │ │ │ │ │ +00020480: 6e74 7320 3c31 3e3a 2020 2020 2020 2020 nts <1>: │ │ │ │ │ 00020490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000204a0: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics. │ │ │ │ │ -000204b0: 2020 2020 2028 6c69 6e65 2020 3138 290a (line 18). │ │ │ │ │ -000204c0: 2a20 636f 6e73 7472 7563 746f 723a 2020 * constructor: │ │ │ │ │ +000204a0: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic │ │ │ │ │ +000204b0: 732e 2020 2020 2028 6c69 6e65 2020 3138 s. (line 18 │ │ │ │ │ +000204c0: 290a 2a20 636f 6e73 7472 7563 746f 723a ).* constructor: │ │ │ │ │ 000204d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000204e0: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -000204f0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ -00020500: 696e 6520 2020 3629 0a2a 2063 6f6f 7264 ine 6).* coord │ │ │ │ │ -00020510: 696e 6174 6520 7379 7374 656d 2c20 7269 inate system, ri │ │ │ │ │ -00020520: 6768 742d 6861 6e64 6564 3a20 2020 2020 ght-handed: │ │ │ │ │ -00020530: 2020 496e 7472 6f64 7563 7469 6f6e 2062 Introduction b │ │ │ │ │ -00020540: 7920 6578 616d 706c 652e 0a20 2020 2020 y example.. │ │ │ │ │ +000204e0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +000204f0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +00020500: 286c 696e 6520 2020 3629 0a2a 2063 6f6f (line 6).* coo │ │ │ │ │ +00020510: 7264 696e 6174 6520 7379 7374 656d 2c20 rdinate system, │ │ │ │ │ +00020520: 7269 6768 742d 6861 6e64 6564 3a20 2020 right-handed: │ │ │ │ │ +00020530: 2020 2020 496e 7472 6f64 7563 7469 6f6e Introduction │ │ │ │ │ +00020540: 2062 7920 6578 616d 706c 652e 0a20 2020 by example.. │ │ │ │ │ 00020550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020570: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020580: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00020590: 3131 290a 2a20 636f 756e 7465 722d 636c 11).* counter-cl │ │ │ │ │ -000205a0: 6f63 6b77 6973 6520 706f 6c79 676f 6e20 ockwise polygon │ │ │ │ │ -000205b0: 7665 7274 6578 206f 7264 6572 3a20 4865 vertex order: He │ │ │ │ │ -000205c0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ -000205d0: 2020 286c 696e 6520 2033 3929 0a2a 2063 (line 39).* c │ │ │ │ │ -000205e0: 756c 6c69 6e67 3a20 2020 2020 2020 2020 ulling: │ │ │ │ │ +00020580: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00020590: 2020 3131 290a 2a20 636f 756e 7465 722d 11).* counter- │ │ │ │ │ +000205a0: 636c 6f63 6b77 6973 6520 706f 6c79 676f clockwise polygo │ │ │ │ │ +000205b0: 6e20 7665 7274 6578 206f 7264 6572 3a20 n vertex order: │ │ │ │ │ +000205c0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ +000205d0: 2020 2020 286c 696e 6520 2033 3929 0a2a (line 39).* │ │ │ │ │ +000205e0: 2063 756c 6c69 6e67 3a20 2020 2020 2020 culling: │ │ │ │ │ 000205f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020600: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ -00020610: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line │ │ │ │ │ -00020620: 2020 3433 290a 2a20 6375 6c6c 696e 6720 43).* culling │ │ │ │ │ -00020630: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00020640: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -00020650: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ -00020660: 2020 2020 286c 696e 6520 2033 3529 0a2a (line 35).* │ │ │ │ │ -00020670: 2063 756c 6c69 6e67 203c 323e 3a20 2020 culling <2>: │ │ │ │ │ +00020600: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ +00020610: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li │ │ │ │ │ +00020620: 6e65 2020 3433 290a 2a20 6375 6c6c 696e ne 43).* cullin │ │ │ │ │ +00020630: 6720 3c31 3e3a 2020 2020 2020 2020 2020 g <1>: │ │ │ │ │ +00020640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020650: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ +00020660: 2e20 2020 2020 286c 696e 6520 2033 3529 . (line 35) │ │ │ │ │ +00020670: 0a2a 2063 756c 6c69 6e67 203c 323e 3a20 .* culling <2>: │ │ │ │ │ 00020680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020690: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ -000206a0: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li │ │ │ │ │ -000206b0: 6e65 2020 3431 290a 2a20 6375 6c6c 696e ne 41).* cullin │ │ │ │ │ -000206c0: 6720 3c33 3e3a 2020 2020 2020 2020 2020 g <3>: │ │ │ │ │ +00020690: 2020 2020 2020 2020 2020 4472 6177 696e Drawin │ │ │ │ │ +000206a0: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. ( │ │ │ │ │ +000206b0: 6c69 6e65 2020 3431 290a 2a20 6375 6c6c line 41).* cull │ │ │ │ │ +000206c0: 696e 6720 3c33 3e3a 2020 2020 2020 2020 ing <3>: │ │ │ │ │ 000206d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000206e0: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ -000206f0: 2020 2020 2020 286c 696e 6520 2031 3629 (line 16) │ │ │ │ │ -00020700: 0a2a 2064 6563 6c61 7261 7469 7665 206c .* declarative l │ │ │ │ │ -00020710: 616e 6775 6167 653a 2020 2020 2020 2020 anguage: │ │ │ │ │ -00020720: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua │ │ │ │ │ -00020730: 6765 2062 6173 6963 732e 2020 2020 2028 ge basics. ( │ │ │ │ │ -00020740: 6c69 6e65 2020 2038 290a 2a20 6465 6669 line 8).* defi │ │ │ │ │ -00020750: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: │ │ │ │ │ +000206e0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ +000206f0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ +00020700: 3629 0a2a 2064 6563 6c61 7261 7469 7665 6).* declarative │ │ │ │ │ +00020710: 206c 616e 6775 6167 653a 2020 2020 2020 language: │ │ │ │ │ +00020720: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang │ │ │ │ │ +00020730: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. │ │ │ │ │ +00020740: 2028 6c69 6e65 2020 2038 290a 2a20 6465 (line 8).* de │ │ │ │ │ +00020750: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: │ │ │ │ │ 00020760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020770: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol │ │ │ │ │ -00020780: 6964 2e20 2020 2020 286c 696e 6520 2032 id. (line 2 │ │ │ │ │ -00020790: 3229 0a2a 2064 6566 696e 6974 696f 6e20 2).* definition │ │ │ │ │ -000207a0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -000207b0: 2020 2020 2020 2020 2020 2020 4465 6669 Defi │ │ │ │ │ -000207c0: 6e69 7469 6f6e 732e 2020 2020 2020 2020 nitions. │ │ │ │ │ -000207d0: 2028 6c69 6e65 2020 2036 290a 2a20 6465 (line 6).* de │ │ │ │ │ -000207e0: 6669 6e69 7469 6f6e 2077 6974 6820 616c finition with al │ │ │ │ │ -000207f0: 7465 726e 6174 6976 6573 3a20 2020 2020 ternatives: │ │ │ │ │ -00020800: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de │ │ │ │ │ -00020810: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. │ │ │ │ │ +00020770: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s │ │ │ │ │ +00020780: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line │ │ │ │ │ +00020790: 2032 3229 0a2a 2064 6566 696e 6974 696f 22).* definitio │ │ │ │ │ +000207a0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ +000207b0: 2020 2020 2020 2020 2020 2020 2020 4465 De │ │ │ │ │ +000207c0: 6669 6e69 7469 6f6e 732e 2020 2020 2020 finitions. │ │ │ │ │ +000207d0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +000207e0: 6465 6669 6e69 7469 6f6e 2077 6974 6820 definition with │ │ │ │ │ +000207f0: 616c 7465 726e 6174 6976 6573 3a20 2020 alternatives: │ │ │ │ │ +00020800: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ +00020810: 6465 6669 6e69 7469 6f6e 732e 0a20 2020 definitions.. │ │ │ │ │ 00020820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020850: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00020860: 2036 290a 2a20 6465 6669 6e69 7469 6f6e 6).* definition │ │ │ │ │ -00020870: 2c20 6472 6177 6162 6c65 3a20 2020 2020 , drawable: │ │ │ │ │ -00020880: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ -00020890: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ -000208a0: 2020 286c 696e 6520 2032 3729 0a2a 2064 (line 27).* d │ │ │ │ │ -000208b0: 6566 696e 6974 696f 6e2c 206f 7074 696f efinition, optio │ │ │ │ │ -000208c0: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: │ │ │ │ │ -000208d0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -000208e0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ -000208f0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. │ │ │ │ │ +00020850: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00020860: 2020 2036 290a 2a20 6465 6669 6e69 7469 6).* definiti │ │ │ │ │ +00020870: 6f6e 2c20 6472 6177 6162 6c65 3a20 2020 on, drawable: │ │ │ │ │ +00020880: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ +00020890: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ +000208a0: 2e20 2020 286c 696e 6520 2032 3729 0a2a . (line 27).* │ │ │ │ │ +000208b0: 2064 6566 696e 6974 696f 6e2c 206f 7074 definition, opt │ │ │ │ │ +000208c0: 696f 6e73 3a20 2020 2020 2020 2020 2020 ions: │ │ │ │ │ +000208d0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +000208e0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ +000208f0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ 00020900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020930: 2020 286c 696e 6520 2032 3329 0a2a 2064 (line 23).* d │ │ │ │ │ -00020940: 6566 696e 6974 696f 6e2c 2070 6f69 6e74 efinition, point │ │ │ │ │ -00020950: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00020960: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a │ │ │ │ │ -00020970: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line │ │ │ │ │ -00020980: 2020 3233 290a 2a20 6465 6669 6e69 7469 23).* definiti │ │ │ │ │ -00020990: 6f6e 2c20 7363 616c 6172 3a20 2020 2020 on, scalar: │ │ │ │ │ -000209a0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -000209b0: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. │ │ │ │ │ -000209c0: 2020 2020 286c 696e 6520 2031 3329 0a2a (line 13).* │ │ │ │ │ -000209d0: 2064 6566 696e 6974 696f 6e2c 2073 696d definition, sim │ │ │ │ │ -000209e0: 706c 653a 2020 2020 2020 2020 2020 2020 ple: │ │ │ │ │ -000209f0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ -00020a00: 2064 6566 696e 6974 696f 6e73 2e0a 2020 definitions.. │ │ │ │ │ +00020930: 2020 2020 286c 696e 6520 2032 3329 0a2a (line 23).* │ │ │ │ │ +00020940: 2064 6566 696e 6974 696f 6e2c 2070 6f69 definition, poi │ │ │ │ │ +00020950: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: │ │ │ │ │ +00020960: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ +00020970: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li │ │ │ │ │ +00020980: 6e65 2020 3233 290a 2a20 6465 6669 6e69 ne 23).* defini │ │ │ │ │ +00020990: 7469 6f6e 2c20 7363 616c 6172 3a20 2020 tion, scalar: │ │ │ │ │ +000209a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000209b0: 2053 7765 7074 206f 626a 6563 7473 2e20 Swept objects. │ │ │ │ │ +000209c0: 2020 2020 2020 286c 696e 6520 2031 3329 (line 13) │ │ │ │ │ +000209d0: 0a2a 2064 6566 696e 6974 696f 6e2c 2073 .* definition, s │ │ │ │ │ +000209e0: 696d 706c 653a 2020 2020 2020 2020 2020 imple: │ │ │ │ │ +000209f0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ +00020a00: 6f66 2064 6566 696e 6974 696f 6e73 2e0a of definitions.. │ │ │ │ │ 00020a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 286c 696e (lin │ │ │ │ │ -00020a50: 6520 2020 3629 0a2a 2064 6566 696e 6974 e 6).* definit │ │ │ │ │ -00020a60: 696f 6e2c 2074 6167 3a20 2020 2020 2020 ion, tag: │ │ │ │ │ +00020a40: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +00020a50: 696e 6520 2020 3629 0a2a 2064 6566 696e ine 6).* defin │ │ │ │ │ +00020a60: 6974 696f 6e2c 2074 6167 3a20 2020 2020 ition, tag: │ │ │ │ │ 00020a70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020a80: 4465 6669 6e69 7469 6f6e 732e 2020 2020 Definitions. │ │ │ │ │ -00020a90: 2020 2020 2028 6c69 6e65 2020 3138 290a (line 18). │ │ │ │ │ -00020aa0: 2a20 6465 6669 6e69 7469 6f6e 2c20 7461 * definition, ta │ │ │ │ │ -00020ab0: 6720 3c31 3e3a 2020 2020 2020 2020 2020 g <1>: │ │ │ │ │ -00020ac0: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ -00020ad0: 6620 6465 6669 6e69 7469 6f6e 732e 0a20 f definitions.. │ │ │ │ │ -00020ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020a80: 2020 4465 6669 6e69 7469 6f6e 732e 2020 Definitions. │ │ │ │ │ +00020a90: 2020 2020 2020 2028 6c69 6e65 2020 3138 (line 18 │ │ │ │ │ +00020aa0: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, │ │ │ │ │ +00020ab0: 7461 6720 3c31 3e3a 2020 2020 2020 2020 tag <1>: │ │ │ │ │ +00020ac0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ +00020ad0: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions. │ │ │ │ │ +00020ae0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -00020b20: 6e65 2020 2037 290a 2a20 6465 6669 6e69 ne 7).* defini │ │ │ │ │ -00020b30: 7469 6f6e 2c20 7461 6720 3c32 3e3a 2020 tion, tag <2>: │ │ │ │ │ +00020b10: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00020b20: 6c69 6e65 2020 2037 290a 2a20 6465 6669 line 7).* defi │ │ │ │ │ +00020b30: 6e69 7469 6f6e 2c20 7461 6720 3c32 3e3a nition, tag <2>: │ │ │ │ │ 00020b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020b50: 2043 6f6d 6d61 6e64 206c 696e 652e 2020 Command line. │ │ │ │ │ -00020b60: 2020 2020 2020 286c 696e 6520 2035 3329 (line 53) │ │ │ │ │ -00020b70: 0a2a 2064 6566 696e 6974 696f 6e2c 2074 .* definition, t │ │ │ │ │ -00020b80: 7261 6e73 666f 726d 3a20 2020 2020 2020 ransform: │ │ │ │ │ -00020b90: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ -00020ba0: 6577 2e20 2020 2020 2020 2020 2020 2028 ew. ( │ │ │ │ │ -00020bb0: 6c69 6e65 2020 3335 290a 2a20 6465 6669 line 35).* defi │ │ │ │ │ -00020bc0: 6e69 7469 6f6e 2c20 7665 6374 6f72 3a20 nition, vector: │ │ │ │ │ -00020bd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020be0: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ -00020bf0: 7073 2e20 2020 2020 286c 696e 6520 2031 ps. (line 1 │ │ │ │ │ -00020c00: 3929 0a2a 2064 6570 7468 2073 6f72 743a 9).* depth sort: │ │ │ │ │ -00020c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020c20: 2020 2020 2020 2020 2020 2020 496e 7465 Inte │ │ │ │ │ -00020c30: 726e 616c 206f 7074 696f 6e73 2e20 2020 rnal options. │ │ │ │ │ -00020c40: 2028 6c69 6e65 2020 3133 290a 2a20 6465 (line 13).* de │ │ │ │ │ -00020c50: 7074 6820 736f 7274 203c 313e 3a20 2020 pth sort <1>: │ │ │ │ │ +00020b50: 2020 2043 6f6d 6d61 6e64 206c 696e 652e Command line. │ │ │ │ │ +00020b60: 2020 2020 2020 2020 286c 696e 6520 2035 (line 5 │ │ │ │ │ +00020b70: 3329 0a2a 2064 6566 696e 6974 696f 6e2c 3).* definition, │ │ │ │ │ +00020b80: 2074 7261 6e73 666f 726d 3a20 2020 2020 transform: │ │ │ │ │ +00020b90: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ +00020ba0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ +00020bb0: 2028 6c69 6e65 2020 3335 290a 2a20 6465 (line 35).* de │ │ │ │ │ +00020bc0: 6669 6e69 7469 6f6e 2c20 7665 6374 6f72 finition, vector │ │ │ │ │ +00020bd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020be0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw │ │ │ │ │ +00020bf0: 6565 7073 2e20 2020 2020 286c 696e 6520 eeps. (line │ │ │ │ │ +00020c00: 2031 3929 0a2a 2064 6570 7468 2073 6f72 19).* depth sor │ │ │ │ │ +00020c10: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +00020c20: 2020 2020 2020 2020 2020 2020 2020 496e In │ │ │ │ │ +00020c30: 7465 726e 616c 206f 7074 696f 6e73 2e20 ternal options. │ │ │ │ │ +00020c40: 2020 2028 6c69 6e65 2020 3133 290a 2a20 (line 13).* │ │ │ │ │ +00020c50: 6465 7074 6820 736f 7274 203c 313e 3a20 depth sort <1>: │ │ │ │ │ 00020c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020c70: 2020 2020 2048 6964 6465 6e20 7375 7266 Hidden surf │ │ │ │ │ -00020c80: 6163 6520 7265 6d6f 7661 6c2e 0a20 2020 ace removal.. │ │ │ │ │ +00020c70: 2020 2020 2020 2048 6964 6465 6e20 7375 Hidden su │ │ │ │ │ +00020c80: 7266 6163 6520 7265 6d6f 7661 6c2e 0a20 rface removal.. │ │ │ │ │ 00020c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00020cb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020cc0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00020cd0: 2020 2036 290a 2a20 6465 7074 6820 736f 6).* depth so │ │ │ │ │ -00020ce0: 7274 203c 323e 3a20 2020 2020 2020 2020 rt <2>: │ │ │ │ │ -00020cf0: 2020 2020 2020 2020 2020 2020 2020 2042 B │ │ │ │ │ -00020d00: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie │ │ │ │ │ -00020d10: 732e 2020 286c 696e 6520 2020 3829 0a2a s. (line 8).* │ │ │ │ │ -00020d20: 2064 6972 6563 7420 7472 616e 7366 6f72 direct transfor │ │ │ │ │ -00020d30: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ -00020d40: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ -00020d50: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ -00020d60: 6e65 2020 3437 290a 2a20 6469 7265 6374 ne 47).* direct │ │ │ │ │ -00020d70: 2074 7261 6e73 666f 726d 203c 313e 3a20 transform <1>: │ │ │ │ │ -00020d80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020d90: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -00020da0: 616c 732e 2020 286c 696e 6520 2035 3329 als. (line 53) │ │ │ │ │ -00020db0: 0a2a 2064 6f63 756d 656e 7420 7465 6d70 .* document temp │ │ │ │ │ -00020dc0: 6c61 7465 3a20 2020 2020 2020 2020 2020 late: │ │ │ │ │ -00020dd0: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello │ │ │ │ │ -00020de0: 776f 726c 642e 2020 2020 2020 2020 2028 world. ( │ │ │ │ │ -00020df0: 6c69 6e65 2020 3332 290a 2a20 646f 6375 line 32).* docu │ │ │ │ │ -00020e00: 6d65 6e74 2074 656d 706c 6174 6520 3c31 ment template <1 │ │ │ │ │ -00020e10: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00020e20: 2020 2043 6f6d 6d61 6e64 206c 696e 652e Command line. │ │ │ │ │ -00020e30: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3 │ │ │ │ │ -00020e40: 3629 0a2a 2064 7261 7761 626c 653a 2020 6).* drawable: │ │ │ │ │ +00020cc0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00020cd0: 6e65 2020 2036 290a 2a20 6465 7074 6820 ne 6).* depth │ │ │ │ │ +00020ce0: 736f 7274 203c 323e 3a20 2020 2020 2020 sort <2>: │ │ │ │ │ +00020cf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020d00: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal │ │ │ │ │ +00020d10: 6965 732e 2020 286c 696e 6520 2020 3829 ies. (line 8) │ │ │ │ │ +00020d20: 0a2a 2064 6972 6563 7420 7472 616e 7366 .* direct transf │ │ │ │ │ +00020d30: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ +00020d40: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ +00020d50: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ +00020d60: 6c69 6e65 2020 3437 290a 2a20 6469 7265 line 47).* dire │ │ │ │ │ +00020d70: 6374 2074 7261 6e73 666f 726d 203c 313e ct transform <1> │ │ │ │ │ +00020d80: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020d90: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ +00020da0: 6572 616c 732e 2020 286c 696e 6520 2035 erals. (line 5 │ │ │ │ │ +00020db0: 3329 0a2a 2064 6f63 756d 656e 7420 7465 3).* document te │ │ │ │ │ +00020dc0: 6d70 6c61 7465 3a20 2020 2020 2020 2020 mplate: │ │ │ │ │ +00020dd0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell │ │ │ │ │ +00020de0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. │ │ │ │ │ +00020df0: 2028 6c69 6e65 2020 3332 290a 2a20 646f (line 32).* do │ │ │ │ │ +00020e00: 6375 6d65 6e74 2074 656d 706c 6174 6520 cument template │ │ │ │ │ +00020e10: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00020e20: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin │ │ │ │ │ +00020e30: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line │ │ │ │ │ +00020e40: 2033 3629 0a2a 2064 7261 7761 626c 653a 36).* drawable: │ │ │ │ │ 00020e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020e60: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje │ │ │ │ │ -00020e70: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. │ │ │ │ │ -00020e80: 2028 6c69 6e65 2020 3237 290a 2a20 6472 (line 27).* dr │ │ │ │ │ -00020e90: 6177 6162 6c65 203c 313e 3a20 2020 2020 awable <1>: │ │ │ │ │ +00020e60: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob │ │ │ │ │ +00020e70: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ +00020e80: 2020 2028 6c69 6e65 2020 3237 290a 2a20 (line 27).* │ │ │ │ │ +00020e90: 6472 6177 6162 6c65 203c 313e 3a20 2020 drawable <1>: │ │ │ │ │ 00020ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020eb0: 2020 2020 2044 7261 7761 626c 6573 2e20 Drawables. │ │ │ │ │ -00020ec0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00020ed0: 2020 3629 0a2a 2064 7261 7761 626c 6520 6).* drawable │ │ │ │ │ -00020ee0: 6465 6669 6e69 7469 6f6e 3a20 2020 2020 definition: │ │ │ │ │ -00020ef0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob │ │ │ │ │ -00020f00: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms. │ │ │ │ │ -00020f10: 2020 2028 6c69 6e65 2020 3237 290a 2a20 (line 27).* │ │ │ │ │ -00020f20: 6472 6177 6162 6c65 2072 6566 6572 656e drawable referen │ │ │ │ │ -00020f30: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: │ │ │ │ │ -00020f40: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of │ │ │ │ │ -00020f50: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin │ │ │ │ │ -00020f60: 6520 2031 3729 0a2a 2065 6e64 2070 6f6c e 17).* end pol │ │ │ │ │ -00020f70: 7967 6f6e 3a20 2020 2020 2020 2020 2020 ygon: │ │ │ │ │ +00020eb0: 2020 2020 2020 2044 7261 7761 626c 6573 Drawables │ │ │ │ │ +00020ec0: 2e20 2020 2020 2020 2020 2020 286c 696e . (lin │ │ │ │ │ +00020ed0: 6520 2020 3629 0a2a 2064 7261 7761 626c e 6).* drawabl │ │ │ │ │ +00020ee0: 6520 6465 6669 6e69 7469 6f6e 3a20 2020 e definition: │ │ │ │ │ +00020ef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00020f00: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform │ │ │ │ │ +00020f10: 732e 2020 2028 6c69 6e65 2020 3237 290a s. (line 27). │ │ │ │ │ +00020f20: 2a20 6472 6177 6162 6c65 2072 6566 6572 * drawable refer │ │ │ │ │ +00020f30: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: │ │ │ │ │ +00020f40: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o │ │ │ │ │ +00020f50: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l │ │ │ │ │ +00020f60: 696e 6520 2031 3729 0a2a 2065 6e64 2070 ine 17).* end p │ │ │ │ │ +00020f70: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: │ │ │ │ │ 00020f80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00020f90: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. │ │ │ │ │ -00020fa0: 2020 2020 2028 6c69 6e65 2020 3338 290a (line 38). │ │ │ │ │ -00020fb0: 2a20 656e 6420 706f 6c79 676f 6e20 3c31 * end polygon <1 │ │ │ │ │ -00020fc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00020fd0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ -00020fe0: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l │ │ │ │ │ -00020ff0: 696e 6520 2031 3529 0a2a 2066 6163 6573 ine 15).* faces │ │ │ │ │ -00021000: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00020f90: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ +00020fa0: 2020 2020 2020 2028 6c69 6e65 2020 3338 (line 38 │ │ │ │ │ +00020fb0: 290a 2a20 656e 6420 706f 6c79 676f 6e20 ).* end polygon │ │ │ │ │ +00020fc0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00020fd0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ +00020fe0: 2070 6f6c 7967 6f6e 732e 2020 2020 2020 polygons. │ │ │ │ │ +00020ff0: 286c 696e 6520 2031 3529 0a2a 2066 6163 (line 15).* fac │ │ │ │ │ +00021000: 6573 3a20 2020 2020 2020 2020 2020 2020 es: │ │ │ │ │ 00021010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021020: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli │ │ │ │ │ -00021030: 642e 2020 2020 2028 6c69 6e65 2020 2037 d. (line 7 │ │ │ │ │ -00021040: 290a 2a20 6661 6365 7320 3c31 3e3a 2020 ).* faces <1>: │ │ │ │ │ +00021020: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so │ │ │ │ │ +00021030: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line │ │ │ │ │ +00021040: 2037 290a 2a20 6661 6365 7320 3c31 3e3a 7).* faces <1>: │ │ │ │ │ 00021050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021060: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl │ │ │ │ │ -00021070: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. │ │ │ │ │ -00021080: 286c 696e 6520 2020 3629 0a2a 2066 696c (line 6).* fil │ │ │ │ │ -00021090: 652c 2069 6e63 6c75 6465 3a20 2020 2020 e, include: │ │ │ │ │ +00021060: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ +00021070: 796c 696e 6520 7377 6565 7073 2e20 2020 yline sweeps. │ │ │ │ │ +00021080: 2020 286c 696e 6520 2020 3629 0a2a 2066 (line 6).* f │ │ │ │ │ +00021090: 696c 652c 2069 6e63 6c75 6465 3a20 2020 ile, include: │ │ │ │ │ 000210a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000210b0: 2020 2020 4c61 6e67 7561 6765 2062 6173 Language bas │ │ │ │ │ -000210c0: 6963 732e 2020 2020 2028 6c69 6e65 2020 ics. (line │ │ │ │ │ -000210d0: 3139 290a 2a20 6669 6c65 2c20 696e 7075 19).* file, inpu │ │ │ │ │ -000210e0: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ -000210f0: 2020 2020 2020 2020 2020 2020 204c 616e Lan │ │ │ │ │ -00021100: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. │ │ │ │ │ -00021110: 2020 286c 696e 6520 2020 3629 0a2a 2066 (line 6).* f │ │ │ │ │ -00021120: 7261 6d65 2062 6f78 3a20 2020 2020 2020 rame box: │ │ │ │ │ +000210b0: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b │ │ │ │ │ +000210c0: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line │ │ │ │ │ +000210d0: 2020 3139 290a 2a20 6669 6c65 2c20 696e 19).* file, in │ │ │ │ │ +000210e0: 7075 743a 2020 2020 2020 2020 2020 2020 put: │ │ │ │ │ +000210f0: 2020 2020 2020 2020 2020 2020 2020 204c L │ │ │ │ │ +00021100: 616e 6775 6167 6520 6261 7369 6373 2e20 anguage basics. │ │ │ │ │ +00021110: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +00021120: 2066 7261 6d65 2062 6f78 3a20 2020 2020 frame box: │ │ │ │ │ 00021130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021140: 2020 2020 2020 4672 616d 652e 2020 2020 Frame. │ │ │ │ │ -00021150: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00021160: 2020 2036 290a 2a20 676c 6f62 616c 206f 6).* global o │ │ │ │ │ -00021170: 7074 696f 6e73 3a20 2020 2020 2020 2020 ptions: │ │ │ │ │ -00021180: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -00021190: 7261 7769 6e67 206f 7074 696f 6e73 2e20 rawing options. │ │ │ │ │ -000211a0: 2020 2020 286c 696e 6520 2031 3829 0a2a (line 18).* │ │ │ │ │ -000211b0: 2067 6c6f 6261 6c20 6f70 7469 6f6e 7320 global options │ │ │ │ │ -000211c0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -000211d0: 2020 2020 2020 2020 476c 6f62 616c 206f Global o │ │ │ │ │ -000211e0: 7074 696f 6e73 2e20 2020 2020 2028 6c69 ptions. (li │ │ │ │ │ -000211f0: 6e65 2020 2036 290a 2a20 6865 6c69 783a ne 6).* helix: │ │ │ │ │ -00021200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021140: 2020 2020 2020 2020 4672 616d 652e 2020 Frame. │ │ │ │ │ +00021150: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00021160: 6e65 2020 2036 290a 2a20 676c 6f62 616c ne 6).* global │ │ │ │ │ +00021170: 206f 7074 696f 6e73 3a20 2020 2020 2020 options: │ │ │ │ │ +00021180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021190: 2044 7261 7769 6e67 206f 7074 696f 6e73 Drawing options │ │ │ │ │ +000211a0: 2e20 2020 2020 286c 696e 6520 2031 3829 . (line 18) │ │ │ │ │ +000211b0: 0a2a 2067 6c6f 6261 6c20 6f70 7469 6f6e .* global option │ │ │ │ │ +000211c0: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: │ │ │ │ │ +000211d0: 2020 2020 2020 2020 2020 476c 6f62 616c Global │ │ │ │ │ +000211e0: 206f 7074 696f 6e73 2e20 2020 2020 2028 options. ( │ │ │ │ │ +000211f0: 6c69 6e65 2020 2036 290a 2a20 6865 6c69 line 6).* heli │ │ │ │ │ +00021200: 783a 2020 2020 2020 2020 2020 2020 2020 x: │ │ │ │ │ 00021210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021220: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ -00021230: 2e20 2020 2020 286c 696e 6520 2034 3729 . (line 47) │ │ │ │ │ -00021240: 0a2a 2068 656c 6978 203c 313e 3a20 2020 .* helix <1>: │ │ │ │ │ +00021220: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol │ │ │ │ │ +00021230: 6964 2e20 2020 2020 286c 696e 6520 2034 id. (line 4 │ │ │ │ │ +00021240: 3729 0a2a 2068 656c 6978 203c 313e 3a20 7).* helix <1>: │ │ │ │ │ 00021250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021260: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -00021270: 6e65 2073 7765 6570 732e 2020 2020 2028 ne sweeps. ( │ │ │ │ │ -00021280: 6c69 6e65 2020 3135 290a 2a20 6865 6c6c line 15).* hell │ │ │ │ │ -00021290: 6f20 776f 726c 643a 2020 2020 2020 2020 o world: │ │ │ │ │ +00021260: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +00021270: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ +00021280: 2028 6c69 6e65 2020 3135 290a 2a20 6865 (line 15).* he │ │ │ │ │ +00021290: 6c6c 6f20 776f 726c 643a 2020 2020 2020 llo world: │ │ │ │ │ 000212a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000212b0: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. │ │ │ │ │ -000212c0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -000212d0: 3729 0a2a 2068 6964 6465 6e20 7375 7266 7).* hidden surf │ │ │ │ │ -000212e0: 6163 6520 616c 676f 7269 7468 6d3a 2020 ace algorithm: │ │ │ │ │ -000212f0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell │ │ │ │ │ -00021300: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. │ │ │ │ │ -00021310: 2028 6c69 6e65 2020 3139 290a 2a20 6869 (line 19).* hi │ │ │ │ │ -00021320: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg │ │ │ │ │ -00021330: 6f72 6974 686d 203c 313e 3a20 2020 2020 orithm <1>: │ │ │ │ │ -00021340: 2020 2020 2053 7065 6369 616c 206f 626a Special obj │ │ │ │ │ -00021350: 6563 7473 2e20 2020 2020 286c 696e 6520 ects. (line │ │ │ │ │ -00021360: 2034 3829 0a2a 2068 6964 6465 6e20 7375 48).* hidden su │ │ │ │ │ -00021370: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm │ │ │ │ │ -00021380: 3c32 3e3a 2020 2020 2020 2020 2020 5472 <2>: Tr │ │ │ │ │ -00021390: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -000213a0: 2e20 2028 6c69 6e65 2020 3234 290a 2a20 . (line 24).* │ │ │ │ │ -000213b0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ -000213c0: 6c67 6f72 6974 686d 203c 333e 3a20 2020 lgorithm <3>: │ │ │ │ │ -000213d0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic │ │ │ │ │ -000213e0: 616c 2064 7261 7769 6e67 2e20 286c 696e al drawing. (lin │ │ │ │ │ -000213f0: 6520 2032 3529 0a2a 2068 6964 6465 6e20 e 25).* hidden │ │ │ │ │ -00021400: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith │ │ │ │ │ -00021410: 6d20 3c34 3e3a 2020 2020 2020 2020 2020 m <4>: │ │ │ │ │ -00021420: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r │ │ │ │ │ -00021430: 656d 6f76 616c 2e0a 2020 2020 2020 2020 emoval.. │ │ │ │ │ +000212b0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world │ │ │ │ │ +000212c0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +000212d0: 2020 3729 0a2a 2068 6964 6465 6e20 7375 7).* hidden su │ │ │ │ │ +000212e0: 7266 6163 6520 616c 676f 7269 7468 6d3a rface algorithm: │ │ │ │ │ +000212f0: 2020 2020 2020 2020 2020 2020 2020 4865 He │ │ │ │ │ +00021300: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. │ │ │ │ │ +00021310: 2020 2028 6c69 6e65 2020 3139 290a 2a20 (line 19).* │ │ │ │ │ +00021320: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a │ │ │ │ │ +00021330: 6c67 6f72 6974 686d 203c 313e 3a20 2020 lgorithm <1>: │ │ │ │ │ +00021340: 2020 2020 2020 2053 7065 6369 616c 206f Special o │ │ │ │ │ +00021350: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin │ │ │ │ │ +00021360: 6520 2034 3829 0a2a 2068 6964 6465 6e20 e 48).* hidden │ │ │ │ │ +00021370: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith │ │ │ │ │ +00021380: 6d20 3c32 3e3a 2020 2020 2020 2020 2020 m <2>: │ │ │ │ │ +00021390: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +000213a0: 6c73 2e20 2028 6c69 6e65 2020 3234 290a ls. (line 24). │ │ │ │ │ +000213b0: 2a20 6869 6464 656e 2073 7572 6661 6365 * hidden surface │ │ │ │ │ +000213c0: 2061 6c67 6f72 6974 686d 203c 333e 3a20 algorithm <3>: │ │ │ │ │ +000213d0: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ +000213e0: 6963 616c 2064 7261 7769 6e67 2e20 286c ical drawing. (l │ │ │ │ │ +000213f0: 696e 6520 2032 3529 0a2a 2068 6964 6465 ine 25).* hidde │ │ │ │ │ +00021400: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori │ │ │ │ │ +00021410: 7468 6d20 3c34 3e3a 2020 2020 2020 2020 thm <4>: │ │ │ │ │ +00021420: 2020 4869 6464 656e 2073 7572 6661 6365 Hidden surface │ │ │ │ │ +00021430: 2072 656d 6f76 616c 2e0a 2020 2020 2020 removal.. │ │ │ │ │ 00021440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021470: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00021480: 0a2a 2068 6965 7261 7263 6869 6361 6c20 .* hierarchical │ │ │ │ │ -00021490: 6d6f 6465 6c3a 2020 2020 2020 2020 2020 model: │ │ │ │ │ -000214a0: 2020 2020 2020 2020 2020 4120 6869 6572 A hier │ │ │ │ │ -000214b0: 6172 6368 6963 616c 206d 6f64 656c 2e0a archical model.. │ │ │ │ │ -000214c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021470: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +00021480: 3629 0a2a 2068 6965 7261 7263 6869 6361 6).* hierarchica │ │ │ │ │ +00021490: 6c20 6d6f 6465 6c3a 2020 2020 2020 2020 l model: │ │ │ │ │ +000214a0: 2020 2020 2020 2020 2020 2020 4120 6869 A hi │ │ │ │ │ +000214b0: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ +000214c0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 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 286c (l │ │ │ │ │ -00021500: 696e 6520 2020 3629 0a2a 2069 6465 6e74 ine 6).* ident │ │ │ │ │ -00021510: 6966 6965 7273 3a20 2020 2020 2020 2020 ifiers: │ │ │ │ │ +000214f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021500: 286c 696e 6520 2020 3629 0a2a 2069 6465 (line 6).* ide │ │ │ │ │ +00021510: 6e74 6966 6965 7273 3a20 2020 2020 2020 ntifiers: │ │ │ │ │ 00021520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021530: 2020 4964 656e 7469 6669 6572 732e 2020 Identifiers. │ │ │ │ │ -00021540: 2020 2020 2020 2028 6c69 6e65 2020 2037 (line 7 │ │ │ │ │ -00021550: 290a 2a20 696e 636c 7564 6520 6669 6c65 ).* include file │ │ │ │ │ -00021560: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00021570: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ -00021580: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. │ │ │ │ │ -00021590: 286c 696e 6520 2031 3929 0a2a 2069 6e70 (line 19).* inp │ │ │ │ │ -000215a0: 7574 2066 696c 653a 2020 2020 2020 2020 ut file: │ │ │ │ │ +00021530: 2020 2020 4964 656e 7469 6669 6572 732e Identifiers. │ │ │ │ │ +00021540: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00021550: 2037 290a 2a20 696e 636c 7564 6520 6669 7).* include fi │ │ │ │ │ +00021560: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: │ │ │ │ │ +00021570: 2020 2020 2020 2020 2020 2020 204c 616e Lan │ │ │ │ │ +00021580: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. │ │ │ │ │ +00021590: 2020 286c 696e 6520 2031 3929 0a2a 2069 (line 19).* i │ │ │ │ │ +000215a0: 6e70 7574 2066 696c 653a 2020 2020 2020 nput file: │ │ │ │ │ 000215b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000215c0: 2020 2020 4c61 6e67 7561 6765 2062 6173 Language bas │ │ │ │ │ -000215d0: 6963 732e 2020 2020 2028 6c69 6e65 2020 ics. (line │ │ │ │ │ -000215e0: 2036 290a 2a20 696e 7465 726e 616c 206f 6).* internal o │ │ │ │ │ -000215f0: 7074 696f 6e3a 2020 2020 2020 2020 2020 ption: │ │ │ │ │ -00021600: 2020 2020 2020 2020 2020 2020 2053 7065 Spe │ │ │ │ │ -00021610: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. │ │ │ │ │ -00021620: 2020 286c 696e 6520 2034 3729 0a2a 2069 (line 47).* i │ │ │ │ │ -00021630: 6e74 6572 6e61 6c20 6f70 7469 6f6e 733a nternal options: │ │ │ │ │ -00021640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021650: 2020 2020 2020 496e 7465 726e 616c 206f Internal o │ │ │ │ │ -00021660: 7074 696f 6e73 2e20 2020 2028 6c69 6e65 ptions. (line │ │ │ │ │ -00021670: 2020 2036 290a 2a20 696e 7465 726e 616c 6).* internal │ │ │ │ │ -00021680: 206f 7074 696f 6e73 203c 313e 3a20 2020 options <1>: │ │ │ │ │ -00021690: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ -000216a0: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. │ │ │ │ │ -000216b0: 2020 2020 286c 696e 6520 2031 3229 0a2a (line 12).* │ │ │ │ │ -000216c0: 206b 6579 776f 7264 733a 2020 2020 2020 keywords: │ │ │ │ │ +000215c0: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b │ │ │ │ │ +000215d0: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line │ │ │ │ │ +000215e0: 2020 2036 290a 2a20 696e 7465 726e 616c 6).* internal │ │ │ │ │ +000215f0: 206f 7074 696f 6e3a 2020 2020 2020 2020 option: │ │ │ │ │ +00021600: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +00021610: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. │ │ │ │ │ +00021620: 2020 2020 286c 696e 6520 2034 3729 0a2a (line 47).* │ │ │ │ │ +00021630: 2069 6e74 6572 6e61 6c20 6f70 7469 6f6e internal option │ │ │ │ │ +00021640: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +00021650: 2020 2020 2020 2020 496e 7465 726e 616c Internal │ │ │ │ │ +00021660: 206f 7074 696f 6e73 2e20 2020 2028 6c69 options. (li │ │ │ │ │ +00021670: 6e65 2020 2036 290a 2a20 696e 7465 726e ne 6).* intern │ │ │ │ │ +00021680: 616c 206f 7074 696f 6e73 203c 313e 3a20 al options <1>: │ │ │ │ │ +00021690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000216a0: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732e Global options. │ │ │ │ │ +000216b0: 2020 2020 2020 286c 696e 6520 2031 3229 (line 12) │ │ │ │ │ +000216c0: 0a2a 206b 6579 776f 7264 733a 2020 2020 .* keywords: │ │ │ │ │ 000216d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000216e0: 2020 2020 2020 2020 4b65 7920 616e 6420 Key and │ │ │ │ │ -000216f0: 7265 7365 7276 6564 2077 6f72 6473 2e0a reserved words.. │ │ │ │ │ -00021700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000216e0: 2020 2020 2020 2020 2020 4b65 7920 616e Key an │ │ │ │ │ +000216f0: 6420 7265 7365 7276 6564 2077 6f72 6473 d reserved words │ │ │ │ │ +00021700: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 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 286c (l │ │ │ │ │ -00021740: 696e 6520 2020 3629 0a2a 206c 6162 656c ine 6).* label │ │ │ │ │ -00021750: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +00021730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021740: 286c 696e 6520 2020 3629 0a2a 206c 6162 (line 6).* lab │ │ │ │ │ +00021750: 656c 733a 2020 2020 2020 2020 2020 2020 els: │ │ │ │ │ 00021760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021770: 2020 5370 6563 6961 6c20 6f62 6a65 6374 Special object │ │ │ │ │ -00021780: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6 │ │ │ │ │ -00021790: 290a 2a20 6c61 6e67 7561 6765 2c20 6465 ).* language, de │ │ │ │ │ -000217a0: 636c 6172 6174 6976 653a 2020 2020 2020 clarative: │ │ │ │ │ -000217b0: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ -000217c0: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. │ │ │ │ │ -000217d0: 286c 696e 6520 2020 3829 0a2a 206c 616e (line 8).* lan │ │ │ │ │ -000217e0: 6775 6167 652c 206f 7574 7075 743a 2020 guage, output: │ │ │ │ │ +00021770: 2020 2020 5370 6563 6961 6c20 6f62 6a65 Special obje │ │ │ │ │ +00021780: 6374 732e 2020 2020 2028 6c69 6e65 2020 cts. (line │ │ │ │ │ +00021790: 2036 290a 2a20 6c61 6e67 7561 6765 2c20 6).* language, │ │ │ │ │ +000217a0: 6465 636c 6172 6174 6976 653a 2020 2020 declarative: │ │ │ │ │ +000217b0: 2020 2020 2020 2020 2020 2020 204c 616e Lan │ │ │ │ │ +000217c0: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. │ │ │ │ │ +000217d0: 2020 286c 696e 6520 2020 3829 0a2a 206c (line 8).* l │ │ │ │ │ +000217e0: 616e 6775 6167 652c 206f 7574 7075 743a anguage, output: │ │ │ │ │ 000217f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021800: 2020 2020 4c61 6e67 7561 6765 2e20 2020 Language. │ │ │ │ │ -00021810: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00021820: 2036 290a 2a20 6c61 6e67 7561 6765 2c20 6).* language, │ │ │ │ │ -00021830: 7363 656e 6520 6465 7363 7269 7074 696f scene descriptio │ │ │ │ │ -00021840: 6e3a 2020 2020 2020 2020 2020 204c 616e n: Lan │ │ │ │ │ -00021850: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. │ │ │ │ │ -00021860: 2020 286c 696e 6520 2020 3829 0a2a 206c (line 8).* l │ │ │ │ │ -00021870: 6578 6963 616c 2073 636f 7065 3a20 2020 exical scope: │ │ │ │ │ +00021800: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. │ │ │ │ │ +00021810: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00021820: 2020 2036 290a 2a20 6c61 6e67 7561 6765 6).* language │ │ │ │ │ +00021830: 2c20 7363 656e 6520 6465 7363 7269 7074 , scene descript │ │ │ │ │ +00021840: 696f 6e3a 2020 2020 2020 2020 2020 204c ion: L │ │ │ │ │ +00021850: 616e 6775 6167 6520 6261 7369 6373 2e20 anguage basics. │ │ │ │ │ +00021860: 2020 2020 286c 696e 6520 2020 3829 0a2a (line 8).* │ │ │ │ │ +00021870: 206c 6578 6963 616c 2073 636f 7065 3a20 lexical scope: │ │ │ │ │ 00021880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021890: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ -000218a0: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line │ │ │ │ │ -000218b0: 2020 3236 290a 2a20 6c65 7869 6361 6c20 26).* lexical │ │ │ │ │ -000218c0: 7363 6f70 6520 3c31 3e3a 2020 2020 2020 scope <1>: │ │ │ │ │ -000218d0: 2020 2020 2020 2020 2020 2020 2020 2042 B │ │ │ │ │ -000218e0: 6c6f 636b 732e 2020 2020 2020 2020 2020 locks. │ │ │ │ │ -000218f0: 2020 2020 286c 696e 6520 2031 3329 0a2a (line 13).* │ │ │ │ │ -00021900: 206c 696e 6520 7377 6565 703a 2020 2020 line sweep: │ │ │ │ │ +00021890: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ +000218a0: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li │ │ │ │ │ +000218b0: 6e65 2020 3236 290a 2a20 6c65 7869 6361 ne 26).* lexica │ │ │ │ │ +000218c0: 6c20 7363 6f70 6520 3c31 3e3a 2020 2020 l scope <1>: │ │ │ │ │ +000218d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000218e0: 2042 6c6f 636b 732e 2020 2020 2020 2020 Blocks. │ │ │ │ │ +000218f0: 2020 2020 2020 286c 696e 6520 2031 3329 (line 13) │ │ │ │ │ +00021900: 0a2a 206c 696e 6520 7377 6565 703a 2020 .* line sweep: │ │ │ │ │ 00021910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021920: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ -00021930: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ -00021940: 6e65 2020 2036 290a 2a20 6c69 6e65 2073 ne 6).* line s │ │ │ │ │ -00021950: 7765 6570 203c 313e 3a20 2020 2020 2020 weep <1>: │ │ │ │ │ +00021920: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ +00021930: 6e65 2073 7765 6570 732e 2020 2020 2028 ne sweeps. ( │ │ │ │ │ +00021940: 6c69 6e65 2020 2036 290a 2a20 6c69 6e65 line 6).* line │ │ │ │ │ +00021950: 2073 7765 6570 203c 313e 3a20 2020 2020 sweep <1>: │ │ │ │ │ 00021960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021970: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ -00021980: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00021990: 0a2a 206c 696e 6520 7377 6565 7020 3c32 .* line sweep <2 │ │ │ │ │ -000219a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000219b0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech │ │ │ │ │ -000219c0: 6e69 6361 6c20 6472 6177 696e 672e 2028 nical drawing. ( │ │ │ │ │ -000219d0: 6c69 6e65 2020 3230 290a 2a20 6c69 7465 line 20).* lite │ │ │ │ │ -000219e0: 7261 6c2c 2070 6f69 6e74 3a20 2020 2020 ral, point: │ │ │ │ │ +00021970: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ +00021980: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +00021990: 3629 0a2a 206c 696e 6520 7377 6565 7020 6).* line sweep │ │ │ │ │ +000219a0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +000219b0: 2020 2020 2020 2020 2020 2020 4120 7465 A te │ │ │ │ │ +000219c0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing. │ │ │ │ │ +000219d0: 2028 6c69 6e65 2020 3230 290a 2a20 6c69 (line 20).* li │ │ │ │ │ +000219e0: 7465 7261 6c2c 2070 6f69 6e74 3a20 2020 teral, point: │ │ │ │ │ 000219f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021a00: 2020 2050 6f69 6e74 2061 6e64 2076 6563 Point and vec │ │ │ │ │ -00021a10: 746f 7220 6c69 7465 7261 6c73 2e0a 2020 tor literals.. │ │ │ │ │ +00021a00: 2020 2020 2050 6f69 6e74 2061 6e64 2076 Point and v │ │ │ │ │ +00021a10: 6563 746f 7220 6c69 7465 7261 6c73 2e0a ector literals.. │ │ │ │ │ 00021a20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 286c 696e (lin │ │ │ │ │ -00021a60: 6520 2020 3629 0a2a 206c 6974 6572 616c e 6).* literal │ │ │ │ │ -00021a70: 2c20 7363 616c 6172 3a20 2020 2020 2020 , scalar: │ │ │ │ │ +00021a50: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +00021a60: 696e 6520 2020 3629 0a2a 206c 6974 6572 ine 6).* liter │ │ │ │ │ +00021a70: 616c 2c20 7363 616c 6172 3a20 2020 2020 al, scalar: │ │ │ │ │ 00021a80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021a90: 5363 616c 6172 206c 6974 6572 616c 732e Scalar literals. │ │ │ │ │ -00021aa0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00021ab0: 2a20 6c69 7465 7261 6c2c 2074 7261 6e73 * literal, trans │ │ │ │ │ -00021ac0: 666f 726d 3a20 2020 2020 2020 2020 2020 form: │ │ │ │ │ -00021ad0: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -00021ae0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ -00021af0: 696e 6520 2020 3629 0a2a 206c 6974 6572 ine 6).* liter │ │ │ │ │ -00021b00: 616c 2c20 7665 6374 6f72 3a20 2020 2020 al, vector: │ │ │ │ │ +00021a90: 2020 5363 616c 6172 206c 6974 6572 616c Scalar literal │ │ │ │ │ +00021aa0: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6 │ │ │ │ │ +00021ab0: 290a 2a20 6c69 7465 7261 6c2c 2074 7261 ).* literal, tra │ │ │ │ │ +00021ac0: 6e73 666f 726d 3a20 2020 2020 2020 2020 nsform: │ │ │ │ │ +00021ad0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +00021ae0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +00021af0: 286c 696e 6520 2020 3629 0a2a 206c 6974 (line 6).* lit │ │ │ │ │ +00021b00: 6572 616c 2c20 7665 6374 6f72 3a20 2020 eral, vector: │ │ │ │ │ 00021b10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021b20: 2020 506f 696e 7420 616e 6420 7665 6374 Point and vect │ │ │ │ │ -00021b30: 6f72 206c 6974 6572 616c 732e 0a20 2020 or literals.. │ │ │ │ │ +00021b20: 2020 2020 506f 696e 7420 616e 6420 7665 Point and ve │ │ │ │ │ +00021b30: 6374 6f72 206c 6974 6572 616c 732e 0a20 ctor literals.. │ │ │ │ │ 00021b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021b60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021b70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00021b80: 2020 2036 290a 2a20 6e65 7374 696e 672c 6).* nesting, │ │ │ │ │ -00021b90: 2073 7765 7074 206f 626a 6563 743a 2020 swept object: │ │ │ │ │ -00021ba0: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ -00021bb0: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. │ │ │ │ │ -00021bc0: 2020 2020 286c 696e 6520 2032 3229 0a2a (line 22).* │ │ │ │ │ -00021bd0: 206f 6e65 2d6f 7065 7261 6e64 2066 6f72 one-operand for │ │ │ │ │ -00021be0: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ -00021bf0: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo │ │ │ │ │ -00021c00: 726d 732e 2020 2020 2020 2020 2028 6c69 rms. (li │ │ │ │ │ -00021c10: 6e65 2020 2036 290a 2a20 6f70 6572 6174 ne 6).* operat │ │ │ │ │ -00021c20: 6f72 2061 7373 6f63 6961 7469 7669 7479 or associativity │ │ │ │ │ -00021c30: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00021c40: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ -00021c50: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. │ │ │ │ │ +00021b70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00021b80: 6e65 2020 2036 290a 2a20 6e65 7374 696e ne 6).* nestin │ │ │ │ │ +00021b90: 672c 2073 7765 7074 206f 626a 6563 743a g, swept object: │ │ │ │ │ +00021ba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021bb0: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. │ │ │ │ │ +00021bc0: 2020 2020 2020 286c 696e 6520 2032 3229 (line 22) │ │ │ │ │ +00021bd0: 0a2a 206f 6e65 2d6f 7065 7261 6e64 2066 .* one-operand f │ │ │ │ │ +00021be0: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ +00021bf0: 2020 2020 2020 2020 2020 556e 6172 7920 Unary │ │ │ │ │ +00021c00: 666f 726d 732e 2020 2020 2020 2020 2028 forms. ( │ │ │ │ │ +00021c10: 6c69 6e65 2020 2036 290a 2a20 6f70 6572 line 6).* oper │ │ │ │ │ +00021c20: 6174 6f72 2061 7373 6f63 6961 7469 7669 ator associativi │ │ │ │ │ +00021c30: 7479 3a20 2020 2020 2020 2020 2020 2020 ty: │ │ │ │ │ +00021c40: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand ( │ │ │ │ │ +00021c50: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. │ │ │ │ │ 00021c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021c90: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00021ca0: 2020 3538 290a 2a20 6f70 6572 6174 6f72 58).* operator │ │ │ │ │ -00021cb0: 2070 7265 6365 6465 6e63 653a 2020 2020 precedence: │ │ │ │ │ -00021cc0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -00021cd0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ -00021ce0: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. │ │ │ │ │ +00021c90: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00021ca0: 6e65 2020 3538 290a 2a20 6f70 6572 6174 ne 58).* operat │ │ │ │ │ +00021cb0: 6f72 2070 7265 6365 6465 6e63 653a 2020 or precedence: │ │ │ │ │ +00021cc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021cd0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ +00021ce0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. │ │ │ │ │ 00021cf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00021d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021d20: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00021d30: 3435 290a 2a20 6f70 7469 6f6e 3a20 2020 45).* option: │ │ │ │ │ +00021d20: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00021d30: 2020 3435 290a 2a20 6f70 7469 6f6e 3a20 45).* option: │ │ │ │ │ 00021d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021d50: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ -00021d60: 7769 6e67 206f 7074 696f 6e73 2e20 2020 wing options. │ │ │ │ │ -00021d70: 2020 286c 696e 6520 2020 3629 0a2a 206f (line 6).* o │ │ │ │ │ -00021d80: 7074 696f 6e2c 2063 6f6d 6d61 6e64 206c ption, command l │ │ │ │ │ -00021d90: 696e 653a 2020 2020 2020 2020 2020 2020 ine: │ │ │ │ │ -00021da0: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ -00021db0: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line │ │ │ │ │ -00021dc0: 2020 3330 290a 2a20 6f70 7469 6f6e 2c20 30).* option, │ │ │ │ │ -00021dd0: 696e 7465 726e 616c 3a20 2020 2020 2020 internal: │ │ │ │ │ -00021de0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00021df0: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. │ │ │ │ │ -00021e00: 2020 2020 286c 696e 6520 2034 3729 0a2a (line 47).* │ │ │ │ │ -00021e10: 206f 7074 696f 6e73 3a20 2020 2020 2020 options: │ │ │ │ │ +00021d50: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ +00021d60: 7261 7769 6e67 206f 7074 696f 6e73 2e20 rawing options. │ │ │ │ │ +00021d70: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ +00021d80: 206f 7074 696f 6e2c 2063 6f6d 6d61 6e64 option, command │ │ │ │ │ +00021d90: 206c 696e 653a 2020 2020 2020 2020 2020 line: │ │ │ │ │ +00021da0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ +00021db0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li │ │ │ │ │ +00021dc0: 6e65 2020 3330 290a 2a20 6f70 7469 6f6e ne 30).* option │ │ │ │ │ +00021dd0: 2c20 696e 7465 726e 616c 3a20 2020 2020 , internal: │ │ │ │ │ +00021de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021df0: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ +00021e00: 2e20 2020 2020 286c 696e 6520 2034 3729 . (line 47) │ │ │ │ │ +00021e10: 0a2a 206f 7074 696f 6e73 3a20 2020 2020 .* options: │ │ │ │ │ 00021e20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021e30: 2020 2020 2020 2020 4f70 7469 6f6e 732e Options. │ │ │ │ │ -00021e40: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00021e50: 6e65 2020 2036 290a 2a20 6f70 7469 6f6e ne 6).* option │ │ │ │ │ -00021e60: 7320 6465 6669 6e69 7469 6f6e 3a20 2020 s definition: │ │ │ │ │ +00021e30: 2020 2020 2020 2020 2020 4f70 7469 6f6e Option │ │ │ │ │ +00021e40: 732e 2020 2020 2020 2020 2020 2020 2028 s. ( │ │ │ │ │ +00021e50: 6c69 6e65 2020 2036 290a 2a20 6f70 7469 line 6).* opti │ │ │ │ │ +00021e60: 6f6e 7320 6465 6669 6e69 7469 6f6e 3a20 ons definition: │ │ │ │ │ 00021e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00021e80: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps │ │ │ │ │ -00021e90: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. │ │ │ │ │ -00021ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00021e80: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee │ │ │ │ │ +00021e90: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure. │ │ │ │ │ +00021ea0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -00021ee0: 6e65 2020 3233 290a 2a20 6f70 7469 6f6e ne 23).* option │ │ │ │ │ -00021ef0: 7320 6d75 6c74 6970 6c65 2072 6566 6572 s multiple refer │ │ │ │ │ -00021f00: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: │ │ │ │ │ -00021f10: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere │ │ │ │ │ -00021f20: 6e63 6573 2e20 286c 696e 6520 2031 3829 nces. (line 18) │ │ │ │ │ -00021f30: 0a2a 206f 7074 696f 6e73 2072 6566 6572 .* options refer │ │ │ │ │ -00021f40: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: │ │ │ │ │ -00021f50: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ -00021f60: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. ( │ │ │ │ │ -00021f70: 6c69 6e65 2020 3138 290a 2a20 6f70 7469 line 18).* opti │ │ │ │ │ -00021f80: 6f6e 732c 2063 6f6d 6d61 6e64 206c 696e ons, command lin │ │ │ │ │ -00021f90: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -00021fa0: 2020 2043 6f6d 6d61 6e64 206c 696e 652e Command line. │ │ │ │ │ -00021fb0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ -00021fc0: 3429 0a2a 206f 7074 696f 6e73 2c20 676c 4).* options, gl │ │ │ │ │ -00021fd0: 6f62 616c 3a20 2020 2020 2020 2020 2020 obal: │ │ │ │ │ -00021fe0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw │ │ │ │ │ -00021ff0: 696e 6720 6f70 7469 6f6e 732e 2020 2020 ing options. │ │ │ │ │ -00022000: 2028 6c69 6e65 2020 3138 290a 2a20 6f70 (line 18).* op │ │ │ │ │ -00022010: 7469 6f6e 732c 2067 6c6f 6261 6c20 3c31 tions, global <1 │ │ │ │ │ -00022020: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00022030: 2020 2020 2047 6c6f 6261 6c20 6f70 7469 Global opti │ │ │ │ │ -00022040: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line │ │ │ │ │ -00022050: 2020 3629 0a2a 206f 7074 696f 6e73 2c20 6).* options, │ │ │ │ │ -00022060: 696e 7465 726e 616c 3a20 2020 2020 2020 internal: │ │ │ │ │ -00022070: 2020 2020 2020 2020 2020 2020 2020 496e In │ │ │ │ │ -00022080: 7465 726e 616c 206f 7074 696f 6e73 2e20 ternal options. │ │ │ │ │ -00022090: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -000220a0: 6f70 7469 6f6e 732c 2069 6e74 6572 6e61 options, interna │ │ │ │ │ -000220b0: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: │ │ │ │ │ -000220c0: 2020 2020 2020 2047 6c6f 6261 6c20 6f70 Global op │ │ │ │ │ -000220d0: 7469 6f6e 732e 2020 2020 2020 286c 696e tions. (lin │ │ │ │ │ -000220e0: 6520 2031 3229 0a2a 206f 7074 696f 6e73 e 12).* options │ │ │ │ │ -000220f0: 2c20 7377 6565 703a 2020 2020 2020 2020 , sweep: │ │ │ │ │ +00021ed0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00021ee0: 6c69 6e65 2020 3233 290a 2a20 6f70 7469 line 23).* opti │ │ │ │ │ +00021ef0: 6f6e 7320 6d75 6c74 6970 6c65 2072 6566 ons multiple ref │ │ │ │ │ +00021f00: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: │ │ │ │ │ +00021f10: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe │ │ │ │ │ +00021f20: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1 │ │ │ │ │ +00021f30: 3829 0a2a 206f 7074 696f 6e73 2072 6566 8).* options ref │ │ │ │ │ +00021f40: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: │ │ │ │ │ +00021f50: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ +00021f60: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ +00021f70: 2028 6c69 6e65 2020 3138 290a 2a20 6f70 (line 18).* op │ │ │ │ │ +00021f80: 7469 6f6e 732c 2063 6f6d 6d61 6e64 206c tions, command l │ │ │ │ │ +00021f90: 696e 653a 2020 2020 2020 2020 2020 2020 ine: │ │ │ │ │ +00021fa0: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin │ │ │ │ │ +00021fb0: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line │ │ │ │ │ +00021fc0: 2031 3429 0a2a 206f 7074 696f 6e73 2c20 14).* options, │ │ │ │ │ +00021fd0: 676c 6f62 616c 3a20 2020 2020 2020 2020 global: │ │ │ │ │ +00021fe0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ +00021ff0: 6177 696e 6720 6f70 7469 6f6e 732e 2020 awing options. │ │ │ │ │ +00022000: 2020 2028 6c69 6e65 2020 3138 290a 2a20 (line 18).* │ │ │ │ │ +00022010: 6f70 7469 6f6e 732c 2067 6c6f 6261 6c20 options, global │ │ │ │ │ +00022020: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00022030: 2020 2020 2020 2047 6c6f 6261 6c20 6f70 Global op │ │ │ │ │ +00022040: 7469 6f6e 732e 2020 2020 2020 286c 696e tions. (lin │ │ │ │ │ +00022050: 6520 2020 3629 0a2a 206f 7074 696f 6e73 e 6).* options │ │ │ │ │ +00022060: 2c20 696e 7465 726e 616c 3a20 2020 2020 , internal: │ │ │ │ │ +00022070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022080: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options │ │ │ │ │ +00022090: 2e20 2020 2028 6c69 6e65 2020 2036 290a . (line 6). │ │ │ │ │ +000220a0: 2a20 6f70 7469 6f6e 732c 2069 6e74 6572 * options, inter │ │ │ │ │ +000220b0: 6e61 6c20 3c31 3e3a 2020 2020 2020 2020 nal <1>: │ │ │ │ │ +000220c0: 2020 2020 2020 2020 2047 6c6f 6261 6c20 Global │ │ │ │ │ +000220d0: 6f70 7469 6f6e 732e 2020 2020 2020 286c options. (l │ │ │ │ │ +000220e0: 696e 6520 2031 3229 0a2a 206f 7074 696f ine 12).* optio │ │ │ │ │ +000220f0: 6e73 2c20 7377 6565 703a 2020 2020 2020 ns, sweep: │ │ │ │ │ 00022100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022110: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ -00022120: 2020 2020 2028 6c69 6e65 2020 3136 290a (line 16). │ │ │ │ │ -00022130: 2a20 6f70 7469 6f6e 732c 2073 7765 6570 * options, sweep │ │ │ │ │ -00022140: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00022150: 2020 2020 2020 2020 2050 6f6c 7967 6f6e Polygon │ │ │ │ │ -00022160: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l │ │ │ │ │ -00022170: 696e 6520 2020 3929 0a2a 206f 7074 696f ine 9).* optio │ │ │ │ │ -00022180: 6e73 2c20 7377 6565 7020 3c32 3e3a 2020 ns, sweep <2>: │ │ │ │ │ +00022110: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep │ │ │ │ │ +00022120: 732e 2020 2020 2028 6c69 6e65 2020 3136 s. (line 16 │ │ │ │ │ +00022130: 290a 2a20 6f70 7469 6f6e 732c 2073 7765 ).* options, swe │ │ │ │ │ +00022140: 6570 203c 313e 3a20 2020 2020 2020 2020 ep <1>: │ │ │ │ │ +00022150: 2020 2020 2020 2020 2020 2050 6f6c 7967 Polyg │ │ │ │ │ +00022160: 6f6e 2073 7765 6570 732e 2020 2020 2020 on sweeps. │ │ │ │ │ +00022170: 286c 696e 6520 2020 3929 0a2a 206f 7074 (line 9).* opt │ │ │ │ │ +00022180: 696f 6e73 2c20 7377 6565 7020 3c32 3e3a ions, sweep <2>: │ │ │ │ │ 00022190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000221a0: 2020 5377 6570 7420 706f 696e 7473 2e20 Swept points. │ │ │ │ │ -000221b0: 2020 2020 2020 2028 6c69 6e65 2020 3231 (line 21 │ │ │ │ │ -000221c0: 290a 2a20 6f70 7469 6f6e 732c 2073 7765 ).* options, swe │ │ │ │ │ -000221d0: 6570 203c 333e 3a20 2020 2020 2020 2020 ep <3>: │ │ │ │ │ -000221e0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -000221f0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ -00022200: 286c 696e 6520 2032 3529 0a2a 206f 7074 (line 25).* opt │ │ │ │ │ -00022210: 696f 6e73 2c20 7377 6565 7020 3c34 3e3a ions, sweep <4>: │ │ │ │ │ -00022220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022230: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines. │ │ │ │ │ -00022240: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00022250: 3438 290a 2a20 6f70 7469 6f6e 732c 2073 48).* options, s │ │ │ │ │ -00022260: 7765 7074 206f 626a 6563 743a 2020 2020 wept object: │ │ │ │ │ -00022270: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ -00022280: 7967 6f6e 2073 7765 6570 732e 2020 2020 ygon sweeps. │ │ │ │ │ -00022290: 2020 286c 696e 6520 2020 3829 0a2a 206f (line 8).* o │ │ │ │ │ -000222a0: 7074 696f 6e73 2c20 7377 6570 7420 6f62 ptions, swept ob │ │ │ │ │ -000222b0: 6a65 6374 203c 313e 3a20 2020 2020 2020 ject <1>: │ │ │ │ │ -000222c0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -000222d0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ -000222e0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. │ │ │ │ │ +000221a0: 2020 2020 5377 6570 7420 706f 696e 7473 Swept points │ │ │ │ │ +000221b0: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line │ │ │ │ │ +000221c0: 3231 290a 2a20 6f70 7469 6f6e 732c 2073 21).* options, s │ │ │ │ │ +000221d0: 7765 6570 203c 333e 3a20 2020 2020 2020 weep <3>: │ │ │ │ │ +000221e0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +000221f0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ +00022200: 2020 286c 696e 6520 2032 3529 0a2a 206f (line 25).* o │ │ │ │ │ +00022210: 7074 696f 6e73 2c20 7377 6565 7020 3c34 ptions, sweep <4 │ │ │ │ │ +00022220: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00022230: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line │ │ │ │ │ +00022240: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +00022250: 2020 3438 290a 2a20 6f70 7469 6f6e 732c 48).* options, │ │ │ │ │ +00022260: 2073 7765 7074 206f 626a 6563 743a 2020 swept object: │ │ │ │ │ +00022270: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ +00022280: 6f6c 7967 6f6e 2073 7765 6570 732e 2020 olygon sweeps. │ │ │ │ │ +00022290: 2020 2020 286c 696e 6520 2020 3829 0a2a (line 8).* │ │ │ │ │ +000222a0: 206f 7074 696f 6e73 2c20 7377 6570 7420 options, swept │ │ │ │ │ +000222b0: 6f62 6a65 6374 203c 313e 3a20 2020 2020 object <1>: │ │ │ │ │ +000222c0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +000222d0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ +000222e0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ 000222f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022320: 2020 286c 696e 6520 2032 3229 0a2a 206f (line 22).* o │ │ │ │ │ -00022330: 7074 696f 6e73 2c20 7377 6570 7420 6f62 ptions, swept ob │ │ │ │ │ -00022340: 6a65 6374 203c 323e 3a20 2020 2020 2020 ject <2>: │ │ │ │ │ -00022350: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line │ │ │ │ │ -00022360: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ -00022370: 2020 3236 290a 2a20 6f70 7469 6f6e 732c 26).* options, │ │ │ │ │ -00022380: 2073 7765 7074 206f 626a 6563 7420 3c33 swept object <3 │ │ │ │ │ -00022390: 3e3a 2020 2020 2020 2020 2020 2020 2053 >: S │ │ │ │ │ -000223a0: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. │ │ │ │ │ -000223b0: 2020 2020 286c 696e 6520 2034 3829 0a2a (line 48).* │ │ │ │ │ -000223c0: 206f 7264 6572 2c20 706f 6c79 676f 6e20 order, polygon │ │ │ │ │ -000223d0: 7665 7274 6578 3a20 2020 2020 2020 2020 vertex: │ │ │ │ │ -000223e0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ -000223f0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li │ │ │ │ │ -00022400: 6e65 2020 3339 290a 2a20 6f72 6465 722c ne 39).* order, │ │ │ │ │ -00022410: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex │ │ │ │ │ -00022420: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00022430: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ -00022440: 2020 2020 2020 286c 696e 6520 2031 3429 (line 14) │ │ │ │ │ -00022450: 0a2a 206f 7264 6572 2c20 706f 6c79 676f .* order, polygo │ │ │ │ │ -00022460: 6e20 7665 7274 6578 203c 323e 3a20 2020 n vertex <2>: │ │ │ │ │ -00022470: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -00022480: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. ( │ │ │ │ │ -00022490: 6c69 6e65 2020 3430 290a 2a20 6f72 6465 line 40).* orde │ │ │ │ │ -000224a0: 722c 2070 6f6c 7967 6f6e 2076 6572 7465 r, polygon verte │ │ │ │ │ -000224b0: 7820 3c33 3e3a 2020 2020 2020 2020 2020 x <3>: │ │ │ │ │ -000224c0: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon │ │ │ │ │ -000224d0: 732e 2020 2020 2020 286c 696e 6520 2031 s. (line 1 │ │ │ │ │ -000224e0: 3929 0a2a 206f 7264 6572 2c20 706f 6c79 9).* order, poly │ │ │ │ │ -000224f0: 676f 6e20 7665 7274 6578 203c 343e 3a20 gon vertex <4>: │ │ │ │ │ -00022500: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ -00022510: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ -00022520: 2028 6c69 6e65 2020 3337 290a 2a20 6f72 (line 37).* or │ │ │ │ │ -00022530: 6465 722c 2070 6f6c 7967 6f6e 2076 6572 der, polygon ver │ │ │ │ │ -00022540: 7465 7820 3c35 3e3a 2020 2020 2020 2020 tex <5>: │ │ │ │ │ -00022550: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -00022560: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00022570: 2035 3529 0a2a 206f 7574 7075 7420 6c61 55).* output la │ │ │ │ │ -00022580: 6e67 7561 6765 3a20 2020 2020 2020 2020 nguage: │ │ │ │ │ -00022590: 2020 2020 2020 2020 2020 2020 2020 4c61 La │ │ │ │ │ -000225a0: 6e67 7561 6765 2e20 2020 2020 2020 2020 nguage. │ │ │ │ │ -000225b0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -000225c0: 6f75 7473 6964 6520 6f66 2061 2070 6f6c outside of a pol │ │ │ │ │ -000225d0: 7967 6f6e 3a20 2020 2020 2020 2020 2020 ygon: │ │ │ │ │ -000225e0: 2020 2020 2020 2048 656c 6c6f 2077 6f72 Hello wor │ │ │ │ │ -000225f0: 6c64 2e20 2020 2020 2020 2020 286c 696e ld. (lin │ │ │ │ │ -00022600: 6520 2033 3729 0a2a 2070 6172 616c 6c65 e 37).* paralle │ │ │ │ │ -00022610: 6c20 7072 6f6a 6563 7469 6f6e 3a20 2020 l projection: │ │ │ │ │ +00022320: 2020 2020 286c 696e 6520 2032 3229 0a2a (line 22).* │ │ │ │ │ +00022330: 206f 7074 696f 6e73 2c20 7377 6570 7420 options, swept │ │ │ │ │ +00022340: 6f62 6a65 6374 203c 323e 3a20 2020 2020 object <2>: │ │ │ │ │ +00022350: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li │ │ │ │ │ +00022360: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li │ │ │ │ │ +00022370: 6e65 2020 3236 290a 2a20 6f70 7469 6f6e ne 26).* option │ │ │ │ │ +00022380: 732c 2073 7765 7074 206f 626a 6563 7420 s, swept object │ │ │ │ │ +00022390: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ +000223a0: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ +000223b0: 2020 2020 2020 286c 696e 6520 2034 3829 (line 48) │ │ │ │ │ +000223c0: 0a2a 206f 7264 6572 2c20 706f 6c79 676f .* order, polygo │ │ │ │ │ +000223d0: 6e20 7665 7274 6578 3a20 2020 2020 2020 n vertex: │ │ │ │ │ +000223e0: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello │ │ │ │ │ +000223f0: 776f 726c 642e 2020 2020 2020 2020 2028 world. ( │ │ │ │ │ +00022400: 6c69 6e65 2020 3339 290a 2a20 6f72 6465 line 39).* orde │ │ │ │ │ +00022410: 722c 2070 6f6c 7967 6f6e 2076 6572 7465 r, polygon verte │ │ │ │ │ +00022420: 7820 3c31 3e3a 2020 2020 2020 2020 2020 x <1>: │ │ │ │ │ +00022430: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ +00022440: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ +00022450: 3429 0a2a 206f 7264 6572 2c20 706f 6c79 4).* order, poly │ │ │ │ │ +00022460: 676f 6e20 7665 7274 6578 203c 323e 3a20 gon vertex <2>: │ │ │ │ │ +00022470: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +00022480: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. │ │ │ │ │ +00022490: 2028 6c69 6e65 2020 3430 290a 2a20 6f72 (line 40).* or │ │ │ │ │ +000224a0: 6465 722c 2070 6f6c 7967 6f6e 2076 6572 der, polygon ver │ │ │ │ │ +000224b0: 7465 7820 3c33 3e3a 2020 2020 2020 2020 tex <3>: │ │ │ │ │ +000224c0: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg │ │ │ │ │ +000224d0: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line │ │ │ │ │ +000224e0: 2031 3929 0a2a 206f 7264 6572 2c20 706f 19).* order, po │ │ │ │ │ +000224f0: 6c79 676f 6e20 7665 7274 6578 203c 343e lygon vertex <4> │ │ │ │ │ +00022500: 3a20 2020 2020 2020 2020 2020 2020 4f76 : Ov │ │ │ │ │ +00022510: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. │ │ │ │ │ +00022520: 2020 2028 6c69 6e65 2020 3337 290a 2a20 (line 37).* │ │ │ │ │ +00022530: 6f72 6465 722c 2070 6f6c 7967 6f6e 2076 order, polygon v │ │ │ │ │ +00022540: 6572 7465 7820 3c35 3e3a 2020 2020 2020 ertex <5>: │ │ │ │ │ +00022550: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +00022560: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00022570: 6520 2035 3529 0a2a 206f 7574 7075 7420 e 55).* output │ │ │ │ │ +00022580: 6c61 6e67 7561 6765 3a20 2020 2020 2020 language: │ │ │ │ │ +00022590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000225a0: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. │ │ │ │ │ +000225b0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +000225c0: 2a20 6f75 7473 6964 6520 6f66 2061 2070 * outside of a p │ │ │ │ │ +000225d0: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: │ │ │ │ │ +000225e0: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w │ │ │ │ │ +000225f0: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l │ │ │ │ │ +00022600: 696e 6520 2033 3729 0a2a 2070 6172 616c ine 37).* paral │ │ │ │ │ +00022610: 6c65 6c20 7072 6f6a 6563 7469 6f6e 3a20 lel projection: │ │ │ │ │ 00022620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022630: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. │ │ │ │ │ -00022640: 2020 2020 2028 6c69 6e65 2020 3236 290a (line 26). │ │ │ │ │ -00022650: 2a20 7061 7261 6c6c 656c 2070 726f 6a65 * parallel proje │ │ │ │ │ -00022660: 6374 696f 6e20 3c31 3e3a 2020 2020 2020 ction <1>: │ │ │ │ │ -00022670: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -00022680: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ -00022690: 696e 6520 2031 3829 0a2a 2070 6172 616c ine 18).* paral │ │ │ │ │ -000226a0: 6c65 6c20 7072 6f6a 6563 7469 6f6e 203c lel projection < │ │ │ │ │ -000226b0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -000226c0: 2020 5069 6374 7572 6520 626f 782e 2020 Picture box. │ │ │ │ │ -000226d0: 2020 2020 2020 2028 6c69 6e65 2020 3135 (line 15 │ │ │ │ │ -000226e0: 290a 2a20 7061 7265 6e74 6865 7365 733a ).* parentheses: │ │ │ │ │ -000226f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022700: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o │ │ │ │ │ -00022710: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) │ │ │ │ │ -00022720: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. │ │ │ │ │ +00022630: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ +00022640: 2020 2020 2020 2028 6c69 6e65 2020 3236 (line 26 │ │ │ │ │ +00022650: 290a 2a20 7061 7261 6c6c 656c 2070 726f ).* parallel pro │ │ │ │ │ +00022660: 6a65 6374 696f 6e20 3c31 3e3a 2020 2020 jection <1>: │ │ │ │ │ +00022670: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +00022680: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +00022690: 286c 696e 6520 2031 3829 0a2a 2070 6172 (line 18).* par │ │ │ │ │ +000226a0: 616c 6c65 6c20 7072 6f6a 6563 7469 6f6e allel projection │ │ │ │ │ +000226b0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +000226c0: 2020 2020 5069 6374 7572 6520 626f 782e Picture box. │ │ │ │ │ +000226d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000226e0: 3135 290a 2a20 7061 7265 6e74 6865 7365 15).* parenthese │ │ │ │ │ +000226f0: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +00022700: 2020 2020 2020 2020 2020 2020 2054 776f Two │ │ │ │ │ +00022710: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary │ │ │ │ │ +00022720: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. │ │ │ │ │ 00022730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022760: 2020 2020 2028 6c69 6e65 2020 3538 290a (line 58). │ │ │ │ │ -00022770: 2a20 7065 7273 7065 6374 6976 6520 7072 * perspective pr │ │ │ │ │ -00022780: 6f6a 6563 7469 6f6e 3a20 2020 2020 2020 ojection: │ │ │ │ │ -00022790: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -000227a0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ -000227b0: 696e 6520 2031 3929 0a2a 2070 6572 7370 ine 19).* persp │ │ │ │ │ -000227c0: 6563 7469 7665 2070 726f 6a65 6374 696f ective projectio │ │ │ │ │ -000227d0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: │ │ │ │ │ -000227e0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ -000227f0: 7261 6c73 2e20 2028 6c69 6e65 2020 3231 rals. (line 21 │ │ │ │ │ -00022800: 290a 2a20 7065 7273 7065 6374 6976 6520 ).* perspective │ │ │ │ │ -00022810: 7072 6f6a 6563 7469 6f6e 203c 323e 3a20 projection <2>: │ │ │ │ │ -00022820: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ -00022830: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ -00022840: 286c 696e 6520 2020 3729 0a2a 2070 6963 (line 7).* pic │ │ │ │ │ -00022850: 7475 7265 2062 6f78 3a20 2020 2020 2020 ture box: │ │ │ │ │ +00022760: 2020 2020 2020 2028 6c69 6e65 2020 3538 (line 58 │ │ │ │ │ +00022770: 290a 2a20 7065 7273 7065 6374 6976 6520 ).* perspective │ │ │ │ │ +00022780: 7072 6f6a 6563 7469 6f6e 3a20 2020 2020 projection: │ │ │ │ │ +00022790: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +000227a0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +000227b0: 286c 696e 6520 2031 3929 0a2a 2070 6572 (line 19).* per │ │ │ │ │ +000227c0: 7370 6563 7469 7665 2070 726f 6a65 6374 spective project │ │ │ │ │ +000227d0: 696f 6e20 3c31 3e3a 2020 2020 2020 2020 ion <1>: │ │ │ │ │ +000227e0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ +000227f0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line │ │ │ │ │ +00022800: 3231 290a 2a20 7065 7273 7065 6374 6976 21).* perspectiv │ │ │ │ │ +00022810: 6520 7072 6f6a 6563 7469 6f6e 203c 323e e projection <2> │ │ │ │ │ +00022820: 3a20 2020 2020 2020 2020 2020 204f 7665 : Ove │ │ │ │ │ +00022830: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ +00022840: 2020 286c 696e 6520 2020 3729 0a2a 2070 (line 7).* p │ │ │ │ │ +00022850: 6963 7475 7265 2062 6f78 3a20 2020 2020 icture box: │ │ │ │ │ 00022860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022870: 2020 2020 5069 6374 7572 6520 626f 782e Picture box. │ │ │ │ │ -00022880: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00022890: 2036 290a 2a20 706c 616e 6172 6974 7920 6).* planarity │ │ │ │ │ -000228a0: 6f66 2070 6f6c 7967 6f6e 733a 2020 2020 of polygons: │ │ │ │ │ -000228b0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol │ │ │ │ │ -000228c0: 7967 6f6e 732e 2020 2020 2020 2020 2020 ygons. │ │ │ │ │ -000228d0: 2020 286c 696e 6520 2031 3029 0a2a 2070 (line 10).* p │ │ │ │ │ -000228e0: 6c61 6e61 7269 7479 206f 6620 706f 6c79 lanarity of poly │ │ │ │ │ -000228f0: 676f 6e73 203c 313e 3a20 2020 2020 2020 gons <1>: │ │ │ │ │ -00022900: 2020 2020 2020 5377 6565 7020 6661 6365 Sweep face │ │ │ │ │ -00022910: 2073 706c 6974 7469 6e67 2e0a 2020 2020 splitting.. │ │ │ │ │ +00022870: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo │ │ │ │ │ +00022880: 782e 2020 2020 2020 2020 2028 6c69 6e65 x. (line │ │ │ │ │ +00022890: 2020 2036 290a 2a20 706c 616e 6172 6974 6).* planarit │ │ │ │ │ +000228a0: 7920 6f66 2070 6f6c 7967 6f6e 733a 2020 y of polygons: │ │ │ │ │ +000228b0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ +000228c0: 6f6c 7967 6f6e 732e 2020 2020 2020 2020 olygons. │ │ │ │ │ +000228d0: 2020 2020 286c 696e 6520 2031 3029 0a2a (line 10).* │ │ │ │ │ +000228e0: 2070 6c61 6e61 7269 7479 206f 6620 706f planarity of po │ │ │ │ │ +000228f0: 6c79 676f 6e73 203c 313e 3a20 2020 2020 lygons <1>: │ │ │ │ │ +00022900: 2020 2020 2020 2020 5377 6565 7020 6661 Sweep fa │ │ │ │ │ +00022910: 6365 2073 706c 6974 7469 6e67 2e0a 2020 ce splitting.. │ │ │ │ │ 00022920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022950: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00022960: 2020 3729 0a2a 2070 6f69 6e74 2064 6566 7).* point def │ │ │ │ │ -00022970: 696e 6974 696f 6e3a 2020 2020 2020 2020 inition: │ │ │ │ │ -00022980: 2020 2020 2020 2020 2020 2020 2020 4472 Dr │ │ │ │ │ -00022990: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. │ │ │ │ │ -000229a0: 2020 2028 6c69 6e65 2020 3233 290a 2a20 (line 23).* │ │ │ │ │ -000229b0: 706f 696e 7420 6c69 7374 3a20 2020 2020 point list: │ │ │ │ │ +00022950: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00022960: 6520 2020 3729 0a2a 2070 6f69 6e74 2064 e 7).* point d │ │ │ │ │ +00022970: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: │ │ │ │ │ +00022980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022990: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid. │ │ │ │ │ +000229a0: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23). │ │ │ │ │ +000229b0: 2a20 706f 696e 7420 6c69 7374 3a20 2020 * point list: │ │ │ │ │ 000229c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000229d0: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi │ │ │ │ │ -000229e0: 6e74 732e 2020 2020 2020 2020 286c 696e nts. (lin │ │ │ │ │ -000229f0: 6520 2020 3929 0a2a 2070 6f69 6e74 206c e 9).* point l │ │ │ │ │ -00022a00: 6974 6572 616c 3a20 2020 2020 2020 2020 iteral: │ │ │ │ │ +000229d0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p │ │ │ │ │ +000229e0: 6f69 6e74 732e 2020 2020 2020 2020 286c oints. (l │ │ │ │ │ +000229f0: 696e 6520 2020 3929 0a2a 2070 6f69 6e74 ine 9).* point │ │ │ │ │ +00022a00: 206c 6974 6572 616c 3a20 2020 2020 2020 literal: │ │ │ │ │ 00022a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022a20: 506f 696e 7420 616e 6420 7665 6374 6f72 Point and vector │ │ │ │ │ -00022a30: 206c 6974 6572 616c 732e 0a20 2020 2020 literals.. │ │ │ │ │ +00022a20: 2020 506f 696e 7420 616e 6420 7665 6374 Point and vect │ │ │ │ │ +00022a30: 6f72 206c 6974 6572 616c 732e 0a20 2020 or literals.. │ │ │ │ │ 00022a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00022a60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022a70: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00022a80: 2036 290a 2a20 706f 696e 7420 7265 6665 6).* point refe │ │ │ │ │ -00022a90: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: │ │ │ │ │ -00022aa0: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ -00022ab0: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ -00022ac0: 2e20 286c 696e 6520 2031 3429 0a2a 2070 . (line 14).* p │ │ │ │ │ -00022ad0: 6f69 6e74 2073 7765 6570 3a20 2020 2020 oint sweep: │ │ │ │ │ +00022a70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00022a80: 2020 2036 290a 2a20 706f 696e 7420 7265 6).* point re │ │ │ │ │ +00022a90: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: │ │ │ │ │ +00022aa0: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ +00022ab0: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ +00022ac0: 6573 2e20 286c 696e 6520 2031 3429 0a2a es. (line 14).* │ │ │ │ │ +00022ad0: 2070 6f69 6e74 2073 7765 6570 3a20 2020 point sweep: │ │ │ │ │ 00022ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022af0: 2020 2020 2020 5377 6570 7420 6f62 6a65 Swept obje │ │ │ │ │ -00022b00: 6374 732e 2020 2020 2020 2028 6c69 6e65 cts. (line │ │ │ │ │ -00022b10: 2020 3131 290a 2a20 706f 696e 7420 7377 11).* point sw │ │ │ │ │ -00022b20: 6565 7020 3c31 3e3a 2020 2020 2020 2020 eep <1>: │ │ │ │ │ -00022b30: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00022b40: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. │ │ │ │ │ -00022b50: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00022b60: 2070 6f6c 7967 6f6e 2073 7765 6570 3a20 polygon sweep: │ │ │ │ │ -00022b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022b80: 2020 2020 2020 2020 506f 6c79 676f 6e20 Polygon │ │ │ │ │ -00022b90: 7377 6565 7073 2e20 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ -00022ba0: 6e65 2020 2036 290a 2a20 706f 6c79 676f ne 6).* polygo │ │ │ │ │ -00022bb0: 6e20 7377 6565 7020 3c31 3e3a 2020 2020 n sweep <1>: │ │ │ │ │ +00022af0: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob │ │ │ │ │ +00022b00: 6a65 6374 732e 2020 2020 2020 2028 6c69 jects. (li │ │ │ │ │ +00022b10: 6e65 2020 3131 290a 2a20 706f 696e 7420 ne 11).* point │ │ │ │ │ +00022b20: 7377 6565 7020 3c31 3e3a 2020 2020 2020 sweep <1>: │ │ │ │ │ +00022b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022b40: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. │ │ │ │ │ +00022b50: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ +00022b60: 0a2a 2070 6f6c 7967 6f6e 2073 7765 6570 .* polygon sweep │ │ │ │ │ +00022b70: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00022b80: 2020 2020 2020 2020 2020 506f 6c79 676f Polygo │ │ │ │ │ +00022b90: 6e20 7377 6565 7073 2e20 2020 2020 2028 n sweeps. ( │ │ │ │ │ +00022ba0: 6c69 6e65 2020 2036 290a 2a20 706f 6c79 line 6).* poly │ │ │ │ │ +00022bb0: 676f 6e20 7377 6565 7020 3c31 3e3a 2020 gon sweep <1>: │ │ │ │ │ 00022bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022bd0: 2053 7765 7074 2070 6f6c 7967 6f6e 732e Swept polygons. │ │ │ │ │ -00022be0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -00022bf0: 0a2a 2070 6f6c 7967 6f6e 2073 7765 6570 .* polygon sweep │ │ │ │ │ -00022c00: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -00022c10: 2020 2020 2020 2020 2020 4120 6869 6572 A hier │ │ │ │ │ -00022c20: 6172 6368 6963 616c 206d 6f64 656c 2e0a archical model.. │ │ │ │ │ -00022c30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022bd0: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon │ │ │ │ │ +00022be0: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line │ │ │ │ │ +00022bf0: 3629 0a2a 2070 6f6c 7967 6f6e 2073 7765 6).* polygon swe │ │ │ │ │ +00022c00: 6570 203c 323e 3a20 2020 2020 2020 2020 ep <2>: │ │ │ │ │ +00022c10: 2020 2020 2020 2020 2020 2020 4120 6869 A hi │ │ │ │ │ +00022c20: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model │ │ │ │ │ +00022c30: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 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 286c (l │ │ │ │ │ -00022c70: 696e 6520 3132 3229 0a2a 2070 6f6c 7967 ine 122).* polyg │ │ │ │ │ -00022c80: 6f6e 2076 6572 7465 7820 6f72 6465 723a on vertex order: │ │ │ │ │ -00022c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022ca0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ -00022cb0: 2020 2020 2020 2028 6c69 6e65 2020 3339 (line 39 │ │ │ │ │ -00022cc0: 290a 2a20 706f 6c79 676f 6e20 7665 7274 ).* polygon vert │ │ │ │ │ -00022cd0: 6578 206f 7264 6572 203c 313e 3a20 2020 ex order <1>: │ │ │ │ │ -00022ce0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept │ │ │ │ │ -00022cf0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. │ │ │ │ │ -00022d00: 286c 696e 6520 2031 3429 0a2a 2070 6f6c (line 14).* pol │ │ │ │ │ -00022d10: 7967 6f6e 2076 6572 7465 7820 6f72 6465 ygon vertex orde │ │ │ │ │ -00022d20: 7220 3c32 3e3a 2020 2020 2020 2020 2020 r <2>: │ │ │ │ │ -00022d30: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines. │ │ │ │ │ -00022d40: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00022d50: 3430 290a 2a20 706f 6c79 676f 6e20 7665 40).* polygon ve │ │ │ │ │ -00022d60: 7274 6578 206f 7264 6572 203c 333e 3a20 rtex order <3>: │ │ │ │ │ -00022d70: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -00022d80: 7074 2070 6f6c 7967 6f6e 732e 2020 2020 pt polygons. │ │ │ │ │ -00022d90: 2020 286c 696e 6520 2031 3929 0a2a 2070 (line 19).* p │ │ │ │ │ -00022da0: 6f6c 7967 6f6e 2076 6572 7465 7820 6f72 olygon vertex or │ │ │ │ │ -00022db0: 6465 7220 3c34 3e3a 2020 2020 2020 2020 der <4>: │ │ │ │ │ -00022dc0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ -00022dd0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00022de0: 2020 3337 290a 2a20 706f 6c79 676f 6e20 37).* polygon │ │ │ │ │ -00022df0: 7665 7274 6578 206f 7264 6572 203c 353e vertex order <5> │ │ │ │ │ -00022e00: 3a20 2020 2020 2020 2020 2020 2020 204f : O │ │ │ │ │ -00022e10: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ -00022e20: 2020 2020 286c 696e 6520 2035 3529 0a2a (line 55).* │ │ │ │ │ -00022e30: 2070 6f6c 7967 6f6e 2c20 626f 6479 3a20 polygon, body: │ │ │ │ │ -00022e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022e50: 2020 2020 2020 2020 496e 7465 726e 616c Internal │ │ │ │ │ -00022e60: 206f 7074 696f 6e73 2e20 2020 2028 6c69 options. (li │ │ │ │ │ -00022e70: 6e65 2020 3136 290a 2a20 706f 6c79 676f ne 16).* polygo │ │ │ │ │ -00022e80: 6e2c 2062 6f64 7920 3c31 3e3a 2020 2020 n, body <1>: │ │ │ │ │ +00022c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00022c70: 286c 696e 6520 3132 3229 0a2a 2070 6f6c (line 122).* pol │ │ │ │ │ +00022c80: 7967 6f6e 2076 6572 7465 7820 6f72 6465 ygon vertex orde │ │ │ │ │ +00022c90: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ +00022ca0: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ +00022cb0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00022cc0: 3339 290a 2a20 706f 6c79 676f 6e20 7665 39).* polygon ve │ │ │ │ │ +00022cd0: 7274 6578 206f 7264 6572 203c 313e 3a20 rtex order <1>: │ │ │ │ │ +00022ce0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ +00022cf0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. │ │ │ │ │ +00022d00: 2020 286c 696e 6520 2031 3429 0a2a 2070 (line 14).* p │ │ │ │ │ +00022d10: 6f6c 7967 6f6e 2076 6572 7465 7820 6f72 olygon vertex or │ │ │ │ │ +00022d20: 6465 7220 3c32 3e3a 2020 2020 2020 2020 der <2>: │ │ │ │ │ +00022d30: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line │ │ │ │ │ +00022d40: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line │ │ │ │ │ +00022d50: 2020 3430 290a 2a20 706f 6c79 676f 6e20 40).* polygon │ │ │ │ │ +00022d60: 7665 7274 6578 206f 7264 6572 203c 333e vertex order <3> │ │ │ │ │ +00022d70: 3a20 2020 2020 2020 2020 2020 2020 2053 : S │ │ │ │ │ +00022d80: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. │ │ │ │ │ +00022d90: 2020 2020 286c 696e 6520 2031 3929 0a2a (line 19).* │ │ │ │ │ +00022da0: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex │ │ │ │ │ +00022db0: 6f72 6465 7220 3c34 3e3a 2020 2020 2020 order <4>: │ │ │ │ │ +00022dc0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview │ │ │ │ │ +00022dd0: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li │ │ │ │ │ +00022de0: 6e65 2020 3337 290a 2a20 706f 6c79 676f ne 37).* polygo │ │ │ │ │ +00022df0: 6e20 7665 7274 6578 206f 7264 6572 203c n vertex order < │ │ │ │ │ +00022e00: 353e 3a20 2020 2020 2020 2020 2020 2020 5>: │ │ │ │ │ +00022e10: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ +00022e20: 2020 2020 2020 286c 696e 6520 2035 3529 (line 55) │ │ │ │ │ +00022e30: 0a2a 2070 6f6c 7967 6f6e 2c20 626f 6479 .* polygon, body │ │ │ │ │ +00022e40: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00022e50: 2020 2020 2020 2020 2020 496e 7465 726e Intern │ │ │ │ │ +00022e60: 616c 206f 7074 696f 6e73 2e20 2020 2028 al options. ( │ │ │ │ │ +00022e70: 6c69 6e65 2020 3136 290a 2a20 706f 6c79 line 16).* poly │ │ │ │ │ +00022e80: 676f 6e2c 2062 6f64 7920 3c31 3e3a 2020 gon, body <1>: │ │ │ │ │ 00022e90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022ea0: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. │ │ │ │ │ -00022eb0: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10) │ │ │ │ │ -00022ec0: 0a2a 2070 6f6c 7967 6f6e 2c20 626f 6479 .* polygon, body │ │ │ │ │ -00022ed0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ -00022ee0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept │ │ │ │ │ -00022ef0: 706f 6c79 676f 6e73 2e20 2020 2020 2028 polygons. ( │ │ │ │ │ -00022f00: 6c69 6e65 2020 2039 290a 2a20 706f 6c79 line 9).* poly │ │ │ │ │ -00022f10: 676f 6e2c 2065 6e64 3a20 2020 2020 2020 gon, end: │ │ │ │ │ +00022ea0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ +00022eb0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1 │ │ │ │ │ +00022ec0: 3029 0a2a 2070 6f6c 7967 6f6e 2c20 626f 0).* polygon, bo │ │ │ │ │ +00022ed0: 6479 203c 323e 3a20 2020 2020 2020 2020 dy <2>: │ │ │ │ │ +00022ee0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ +00022ef0: 7420 706f 6c79 676f 6e73 2e20 2020 2020 t polygons. │ │ │ │ │ +00022f00: 2028 6c69 6e65 2020 2039 290a 2a20 706f (line 9).* po │ │ │ │ │ +00022f10: 6c79 676f 6e2c 2065 6e64 3a20 2020 2020 lygon, end: │ │ │ │ │ 00022f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00022f30: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. │ │ │ │ │ -00022f40: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3 │ │ │ │ │ -00022f50: 3829 0a2a 2070 6f6c 7967 6f6e 2c20 656e 8).* polygon, en │ │ │ │ │ -00022f60: 6420 3c31 3e3a 2020 2020 2020 2020 2020 d <1>: │ │ │ │ │ -00022f70: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -00022f80: 7420 706f 6c79 676f 6e73 2e20 2020 2020 t polygons. │ │ │ │ │ -00022f90: 2028 6c69 6e65 2020 3135 290a 2a20 706f (line 15).* po │ │ │ │ │ -00022fa0: 6c79 676f 6e2c 206f 7574 7369 6465 206f lygon, outside o │ │ │ │ │ -00022fb0: 663a 2020 2020 2020 2020 2020 2020 2020 f: │ │ │ │ │ -00022fc0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world │ │ │ │ │ -00022fd0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ -00022fe0: 2033 3729 0a2a 2070 6f6c 7967 6f6e 2c20 37).* polygon, │ │ │ │ │ -00022ff0: 706c 616e 6172 3a20 2020 2020 2020 2020 planar: │ │ │ │ │ -00023000: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -00023010: 6c79 676f 6e73 2e20 2020 2020 2020 2020 lygons. │ │ │ │ │ -00023020: 2020 2028 6c69 6e65 2020 3130 290a 2a20 (line 10).* │ │ │ │ │ -00023030: 706f 6c79 676f 6e2c 2070 6c61 6e61 7220 polygon, planar │ │ │ │ │ -00023040: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -00023050: 2020 2020 2020 2053 7765 6570 2066 6163 Sweep fac │ │ │ │ │ -00023060: 6520 7370 6c69 7474 696e 672e 0a20 2020 e splitting.. │ │ │ │ │ +00022f30: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines │ │ │ │ │ +00022f40: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +00022f50: 2033 3829 0a2a 2070 6f6c 7967 6f6e 2c20 38).* polygon, │ │ │ │ │ +00022f60: 656e 6420 3c31 3e3a 2020 2020 2020 2020 end <1>: │ │ │ │ │ +00022f70: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +00022f80: 6570 7420 706f 6c79 676f 6e73 2e20 2020 ept polygons. │ │ │ │ │ +00022f90: 2020 2028 6c69 6e65 2020 3135 290a 2a20 (line 15).* │ │ │ │ │ +00022fa0: 706f 6c79 676f 6e2c 206f 7574 7369 6465 polygon, outside │ │ │ │ │ +00022fb0: 206f 663a 2020 2020 2020 2020 2020 2020 of: │ │ │ │ │ +00022fc0: 2020 2020 2020 2048 656c 6c6f 2077 6f72 Hello wor │ │ │ │ │ +00022fd0: 6c64 2e20 2020 2020 2020 2020 286c 696e ld. (lin │ │ │ │ │ +00022fe0: 6520 2033 3729 0a2a 2070 6f6c 7967 6f6e e 37).* polygon │ │ │ │ │ +00022ff0: 2c20 706c 616e 6172 3a20 2020 2020 2020 , planar: │ │ │ │ │ +00023000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023010: 506f 6c79 676f 6e73 2e20 2020 2020 2020 Polygons. │ │ │ │ │ +00023020: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10). │ │ │ │ │ +00023030: 2a20 706f 6c79 676f 6e2c 2070 6c61 6e61 * polygon, plana │ │ │ │ │ +00023040: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: │ │ │ │ │ +00023050: 2020 2020 2020 2020 2053 7765 6570 2066 Sweep f │ │ │ │ │ +00023060: 6163 6520 7370 6c69 7474 696e 672e 0a20 ace splitting.. │ │ │ │ │ 00023070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000230a0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -000230b0: 2020 2037 290a 2a20 7072 6563 6564 656e 7).* preceden │ │ │ │ │ -000230c0: 6365 2c20 6f70 6572 6174 6f72 3a20 2020 ce, operator: │ │ │ │ │ -000230d0: 2020 2020 2020 2020 2020 2020 2020 2054 T │ │ │ │ │ -000230e0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina │ │ │ │ │ -000230f0: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. │ │ │ │ │ +000230a0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +000230b0: 6e65 2020 2037 290a 2a20 7072 6563 6564 ne 7).* preced │ │ │ │ │ +000230c0: 656e 6365 2c20 6f70 6572 6174 6f72 3a20 ence, operator: │ │ │ │ │ +000230d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000230e0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ +000230f0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. │ │ │ │ │ 00023100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023130: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00023140: 3435 290a 2a20 7072 6f67 7261 6d2c 2068 45).* program, h │ │ │ │ │ -00023150: 656c 6c6f 2077 6f72 6c64 3a20 2020 2020 ello world: │ │ │ │ │ -00023160: 2020 2020 2020 2020 2020 2020 2048 656c Hel │ │ │ │ │ -00023170: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. │ │ │ │ │ -00023180: 2020 286c 696e 6520 2020 3729 0a2a 2070 (line 7).* p │ │ │ │ │ -00023190: 726f 6a65 6374 696f 6e2c 2070 6172 616c rojection, paral │ │ │ │ │ -000231a0: 6c65 6c3a 2020 2020 2020 2020 2020 2020 lel: │ │ │ │ │ -000231b0: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ -000231c0: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line │ │ │ │ │ -000231d0: 2020 3236 290a 2a20 7072 6f6a 6563 7469 26).* projecti │ │ │ │ │ -000231e0: 6f6e 2c20 7061 7261 6c6c 656c 203c 313e on, parallel <1> │ │ │ │ │ -000231f0: 3a20 2020 2020 2020 2020 2020 2020 2054 : T │ │ │ │ │ -00023200: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -00023210: 732e 2020 286c 696e 6520 2031 3829 0a2a s. (line 18).* │ │ │ │ │ -00023220: 2070 726f 6a65 6374 696f 6e2c 2070 6172 projection, par │ │ │ │ │ -00023230: 616c 6c65 6c20 3c32 3e3a 2020 2020 2020 allel <2>: │ │ │ │ │ -00023240: 2020 2020 2020 2020 5069 6374 7572 6520 Picture │ │ │ │ │ -00023250: 626f 782e 2020 2020 2020 2020 2028 6c69 box. (li │ │ │ │ │ -00023260: 6e65 2020 3135 290a 2a20 7072 6f6a 6563 ne 15).* projec │ │ │ │ │ -00023270: 7469 6f6e 2c20 7065 7273 7065 6374 6976 tion, perspectiv │ │ │ │ │ -00023280: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -00023290: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ -000232a0: 616c 732e 2020 286c 696e 6520 2031 3929 als. (line 19) │ │ │ │ │ -000232b0: 0a2a 2070 726f 6a65 6374 696f 6e2c 2070 .* projection, p │ │ │ │ │ -000232c0: 6572 7370 6563 7469 7665 203c 313e 3a20 erspective <1>: │ │ │ │ │ -000232d0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ -000232e0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ -000232f0: 6c69 6e65 2020 3231 290a 2a20 7072 6f6a line 21).* proj │ │ │ │ │ -00023300: 6563 7469 6f6e 2c20 7065 7273 7065 6374 ection, perspect │ │ │ │ │ -00023310: 6976 6520 3c32 3e3a 2020 2020 2020 2020 ive <2>: │ │ │ │ │ -00023320: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ -00023330: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -00023340: 3729 0a2a 2070 7365 7564 6f2d 6f70 7469 7).* pseudo-opti │ │ │ │ │ -00023350: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: │ │ │ │ │ -00023360: 2020 2020 2020 2020 2020 2020 5469 6b5a TikZ │ │ │ │ │ -00023370: 2f50 4746 2075 7365 722d 6465 6669 6e65 /PGF user-define │ │ │ │ │ -00023380: 6420 7374 796c 6573 2e0a 2020 2020 2020 d styles.. │ │ │ │ │ +00023130: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00023140: 2020 3435 290a 2a20 7072 6f67 7261 6d2c 45).* program, │ │ │ │ │ +00023150: 2068 656c 6c6f 2077 6f72 6c64 3a20 2020 hello world: │ │ │ │ │ +00023160: 2020 2020 2020 2020 2020 2020 2020 2048 H │ │ │ │ │ +00023170: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. │ │ │ │ │ +00023180: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).* │ │ │ │ │ +00023190: 2070 726f 6a65 6374 696f 6e2c 2070 6172 projection, par │ │ │ │ │ +000231a0: 616c 6c65 6c3a 2020 2020 2020 2020 2020 allel: │ │ │ │ │ +000231b0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo │ │ │ │ │ +000231c0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li │ │ │ │ │ +000231d0: 6e65 2020 3236 290a 2a20 7072 6f6a 6563 ne 26).* projec │ │ │ │ │ +000231e0: 7469 6f6e 2c20 7061 7261 6c6c 656c 203c tion, parallel < │ │ │ │ │ +000231f0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +00023200: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00023210: 616c 732e 2020 286c 696e 6520 2031 3829 als. (line 18) │ │ │ │ │ +00023220: 0a2a 2070 726f 6a65 6374 696f 6e2c 2070 .* projection, p │ │ │ │ │ +00023230: 6172 616c 6c65 6c20 3c32 3e3a 2020 2020 arallel <2>: │ │ │ │ │ +00023240: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur │ │ │ │ │ +00023250: 6520 626f 782e 2020 2020 2020 2020 2028 e box. ( │ │ │ │ │ +00023260: 6c69 6e65 2020 3135 290a 2a20 7072 6f6a line 15).* proj │ │ │ │ │ +00023270: 6563 7469 6f6e 2c20 7065 7273 7065 6374 ection, perspect │ │ │ │ │ +00023280: 6976 653a 2020 2020 2020 2020 2020 2020 ive: │ │ │ │ │ +00023290: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ +000232a0: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1 │ │ │ │ │ +000232b0: 3929 0a2a 2070 726f 6a65 6374 696f 6e2c 9).* projection, │ │ │ │ │ +000232c0: 2070 6572 7370 6563 7469 7665 203c 313e perspective <1> │ │ │ │ │ +000232d0: 3a20 2020 2020 2020 2020 2020 5472 616e : Tran │ │ │ │ │ +000232e0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. │ │ │ │ │ +000232f0: 2028 6c69 6e65 2020 3231 290a 2a20 7072 (line 21).* pr │ │ │ │ │ +00023300: 6f6a 6563 7469 6f6e 2c20 7065 7273 7065 ojection, perspe │ │ │ │ │ +00023310: 6374 6976 6520 3c32 3e3a 2020 2020 2020 ctive <2>: │ │ │ │ │ +00023320: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ +00023330: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00023340: 2020 3729 0a2a 2070 7365 7564 6f2d 6f70 7).* pseudo-op │ │ │ │ │ +00023350: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: │ │ │ │ │ +00023360: 2020 2020 2020 2020 2020 2020 2020 5469 Ti │ │ │ │ │ +00023370: 6b5a 2f50 4746 2075 7365 722d 6465 6669 kZ/PGF user-defi │ │ │ │ │ +00023380: 6e65 6420 7374 796c 6573 2e0a 2020 2020 ned styles.. │ │ │ │ │ 00023390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000233a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000233b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000233c0: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2 │ │ │ │ │ -000233d0: 3529 0a2a 2070 7366 7261 6d65 626f 783a 5).* psframebox: │ │ │ │ │ -000233e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000233f0: 2020 2020 2020 2020 2020 2020 4672 616d Fram │ │ │ │ │ -00023400: 652e 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ │ │ -00023410: 2028 6c69 6e65 2020 2038 290a 2a20 7073 (line 8).* ps │ │ │ │ │ -00023420: 7069 6374 7572 653a 2020 2020 2020 2020 picture: │ │ │ │ │ +000233c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +000233d0: 2032 3529 0a2a 2070 7366 7261 6d65 626f 25).* psframebo │ │ │ │ │ +000233e0: 783a 2020 2020 2020 2020 2020 2020 2020 x: │ │ │ │ │ +000233f0: 2020 2020 2020 2020 2020 2020 2020 4672 Fr │ │ │ │ │ +00023400: 616d 652e 2020 2020 2020 2020 2020 2020 ame. │ │ │ │ │ +00023410: 2020 2028 6c69 6e65 2020 2038 290a 2a20 (line 8).* │ │ │ │ │ +00023420: 7073 7069 6374 7572 653a 2020 2020 2020 pspicture: │ │ │ │ │ 00023430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023440: 2020 2020 2050 6963 7475 7265 2062 6f78 Picture box │ │ │ │ │ -00023450: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ -00023460: 2031 3029 0a2a 2050 5354 7269 636b 733a 10).* PSTricks: │ │ │ │ │ -00023470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023480: 2020 2020 2020 2020 2020 2020 2020 4162 Ab │ │ │ │ │ -00023490: 6f75 7420 736b 6574 6368 2e20 2020 2020 out sketch. │ │ │ │ │ -000234a0: 2020 2028 6c69 6e65 2020 3231 290a 2a20 (line 21).* │ │ │ │ │ -000234b0: 7175 6f74 696e 672c 2073 7065 6369 616c quoting, special │ │ │ │ │ -000234c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000234d0: 2020 2020 2020 2053 7065 6369 616c 206f Special o │ │ │ │ │ -000234e0: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin │ │ │ │ │ -000234f0: 6520 2032 3029 0a2a 2071 756f 7469 6e67 e 20).* quoting │ │ │ │ │ -00023500: 2c20 7370 6563 6961 6c20 3c31 3e3a 2020 , special <1>: │ │ │ │ │ +00023440: 2020 2020 2020 2050 6963 7475 7265 2062 Picture b │ │ │ │ │ +00023450: 6f78 2e20 2020 2020 2020 2020 286c 696e ox. (lin │ │ │ │ │ +00023460: 6520 2031 3029 0a2a 2050 5354 7269 636b e 10).* PSTrick │ │ │ │ │ +00023470: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ +00023480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023490: 4162 6f75 7420 736b 6574 6368 2e20 2020 About sketch. │ │ │ │ │ +000234a0: 2020 2020 2028 6c69 6e65 2020 3231 290a (line 21). │ │ │ │ │ +000234b0: 2a20 7175 6f74 696e 672c 2073 7065 6369 * quoting, speci │ │ │ │ │ +000234c0: 616c 3a20 2020 2020 2020 2020 2020 2020 al: │ │ │ │ │ +000234d0: 2020 2020 2020 2020 2053 7065 6369 616c Special │ │ │ │ │ +000234e0: 206f 626a 6563 7473 2e20 2020 2020 286c objects. (l │ │ │ │ │ +000234f0: 696e 6520 2032 3029 0a2a 2071 756f 7469 ine 20).* quoti │ │ │ │ │ +00023500: 6e67 2c20 7370 6563 6961 6c20 3c31 3e3a ng, special <1>: │ │ │ │ │ 00023510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023520: 5370 6563 6961 6c73 2e20 2020 2020 2020 Specials. │ │ │ │ │ -00023530: 2020 2020 2028 6c69 6e65 2020 2038 290a (line 8). │ │ │ │ │ -00023540: 2a20 7265 6665 7265 6e63 652c 2064 7261 * reference, dra │ │ │ │ │ -00023550: 7761 626c 653a 2020 2020 2020 2020 2020 wable: │ │ │ │ │ -00023560: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ -00023570: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ -00023580: 696e 6520 2033 3329 0a2a 2072 6566 6572 ine 33).* refer │ │ │ │ │ -00023590: 656e 6365 2c20 6472 6177 6162 6c65 203c ence, drawable < │ │ │ │ │ -000235a0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -000235b0: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ -000235c0: 656e 6365 732e 2028 6c69 6e65 2020 3137 ences. (line 17 │ │ │ │ │ -000235d0: 290a 2a20 7265 6665 7265 6e63 652c 2064 ).* reference, d │ │ │ │ │ -000235e0: 7261 7761 626c 6520 3c32 3e3a 2020 2020 rawable <2>: │ │ │ │ │ -000235f0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ -00023600: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ -00023610: 286c 696e 6520 2034 3729 0a2a 2072 6566 (line 47).* ref │ │ │ │ │ -00023620: 6572 656e 6365 2c20 6472 6177 6162 6c65 erence, drawable │ │ │ │ │ -00023630: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ -00023640: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. │ │ │ │ │ -00023650: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00023660: 3537 290a 2a20 7265 6665 7265 6e63 652c 57).* reference, │ │ │ │ │ -00023670: 206d 756c 7469 706c 6520 6f70 7469 6f6e multiple option │ │ │ │ │ -00023680: 733a 2020 2020 2020 2020 2020 2046 6f72 s: For │ │ │ │ │ -00023690: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ -000236a0: 2e20 286c 696e 6520 2031 3829 0a2a 2072 . (line 18).* r │ │ │ │ │ -000236b0: 6566 6572 656e 6365 2c20 6f70 7469 6f6e eference, option │ │ │ │ │ -000236c0: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ -000236d0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -000236e0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu │ │ │ │ │ -000236f0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. │ │ │ │ │ +00023520: 2020 5370 6563 6961 6c73 2e20 2020 2020 Specials. │ │ │ │ │ +00023530: 2020 2020 2020 2028 6c69 6e65 2020 2038 (line 8 │ │ │ │ │ +00023540: 290a 2a20 7265 6665 7265 6e63 652c 2064 ).* reference, d │ │ │ │ │ +00023550: 7261 7761 626c 653a 2020 2020 2020 2020 rawable: │ │ │ │ │ +00023560: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ +00023570: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ +00023580: 286c 696e 6520 2033 3329 0a2a 2072 6566 (line 33).* ref │ │ │ │ │ +00023590: 6572 656e 6365 2c20 6472 6177 6162 6c65 erence, drawable │ │ │ │ │ +000235a0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000235b0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ +000235c0: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line │ │ │ │ │ +000235d0: 3137 290a 2a20 7265 6665 7265 6e63 652c 17).* reference, │ │ │ │ │ +000235e0: 2064 7261 7761 626c 6520 3c32 3e3a 2020 drawable <2>: │ │ │ │ │ +000235f0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ +00023600: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ +00023610: 2020 286c 696e 6520 2034 3729 0a2a 2072 (line 47).* r │ │ │ │ │ +00023620: 6566 6572 656e 6365 2c20 6472 6177 6162 eference, drawab │ │ │ │ │ +00023630: 6c65 203c 333e 3a20 2020 2020 2020 2020 le <3>: │ │ │ │ │ +00023640: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. │ │ │ │ │ +00023650: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00023660: 2020 3537 290a 2a20 7265 6665 7265 6e63 57).* referenc │ │ │ │ │ +00023670: 652c 206d 756c 7469 706c 6520 6f70 7469 e, multiple opti │ │ │ │ │ +00023680: 6f6e 733a 2020 2020 2020 2020 2020 2046 ons: F │ │ │ │ │ +00023690: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ +000236a0: 6573 2e20 286c 696e 6520 2031 3829 0a2a es. (line 18).* │ │ │ │ │ +000236b0: 2072 6566 6572 656e 6365 2c20 6f70 7469 reference, opti │ │ │ │ │ +000236c0: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: │ │ │ │ │ +000236d0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +000236e0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo │ │ │ │ │ +000236f0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. │ │ │ │ │ 00023700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023730: 2020 286c 696e 6520 2032 3429 0a2a 2072 (line 24).* r │ │ │ │ │ -00023740: 6566 6572 656e 6365 2c20 6f70 7469 6f6e eference, option │ │ │ │ │ -00023750: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: │ │ │ │ │ -00023760: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ -00023770: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line │ │ │ │ │ -00023780: 2020 3138 290a 2a20 7265 6665 7265 6e63 18).* referenc │ │ │ │ │ -00023790: 652c 2070 6f69 6e74 3a20 2020 2020 2020 e, point: │ │ │ │ │ -000237a0: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ -000237b0: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ -000237c0: 2020 2020 286c 696e 6520 2032 3329 0a2a (line 23).* │ │ │ │ │ -000237d0: 2072 6566 6572 656e 6365 2c20 706f 696e reference, poin │ │ │ │ │ -000237e0: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: │ │ │ │ │ -000237f0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ -00023800: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li │ │ │ │ │ -00023810: 6e65 2020 3134 290a 2a20 7265 6665 7265 ne 14).* refere │ │ │ │ │ -00023820: 6e63 652c 2073 6361 6c61 723a 2020 2020 nce, scalar: │ │ │ │ │ +00023730: 2020 2020 286c 696e 6520 2032 3429 0a2a (line 24).* │ │ │ │ │ +00023740: 2072 6566 6572 656e 6365 2c20 6f70 7469 reference, opti │ │ │ │ │ +00023750: 6f6e 7320 3c31 3e3a 2020 2020 2020 2020 ons <1>: │ │ │ │ │ +00023760: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of │ │ │ │ │ +00023770: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li │ │ │ │ │ +00023780: 6e65 2020 3138 290a 2a20 7265 6665 7265 ne 18).* refere │ │ │ │ │ +00023790: 6e63 652c 2070 6f69 6e74 3a20 2020 2020 nce, point: │ │ │ │ │ +000237a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000237b0: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid │ │ │ │ │ +000237c0: 2e20 2020 2020 286c 696e 6520 2032 3329 . (line 23) │ │ │ │ │ +000237d0: 0a2a 2072 6566 6572 656e 6365 2c20 706f .* reference, po │ │ │ │ │ +000237e0: 696e 7420 3c31 3e3a 2020 2020 2020 2020 int <1>: │ │ │ │ │ +000237f0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ +00023800: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. ( │ │ │ │ │ +00023810: 6c69 6e65 2020 3134 290a 2a20 7265 6665 line 14).* refe │ │ │ │ │ +00023820: 7265 6e63 652c 2073 6361 6c61 723a 2020 rence, scalar: │ │ │ │ │ 00023830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023840: 2053 7765 7074 206f 626a 6563 7473 2e20 Swept objects. │ │ │ │ │ -00023850: 2020 2020 2020 286c 696e 6520 2031 3329 (line 13) │ │ │ │ │ -00023860: 0a2a 2072 6566 6572 656e 6365 2c20 7363 .* reference, sc │ │ │ │ │ -00023870: 616c 6172 203c 313e 3a20 2020 2020 2020 alar <1>: │ │ │ │ │ -00023880: 2020 2020 2020 2020 2020 466f 726d 7320 Forms │ │ │ │ │ -00023890: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. ( │ │ │ │ │ -000238a0: 6c69 6e65 2020 3133 290a 2a20 7265 6665 line 13).* refe │ │ │ │ │ -000238b0: 7265 6e63 652c 2074 6167 3a20 2020 2020 rence, tag: │ │ │ │ │ +00023840: 2020 2053 7765 7074 206f 626a 6563 7473 Swept objects │ │ │ │ │ +00023850: 2e20 2020 2020 2020 286c 696e 6520 2031 . (line 1 │ │ │ │ │ +00023860: 3329 0a2a 2072 6566 6572 656e 6365 2c20 3).* reference, │ │ │ │ │ +00023870: 7363 616c 6172 203c 313e 3a20 2020 2020 scalar <1>: │ │ │ │ │ +00023880: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ +00023890: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ +000238a0: 2028 6c69 6e65 2020 3133 290a 2a20 7265 (line 13).* re │ │ │ │ │ +000238b0: 6665 7265 6e63 652c 2074 6167 3a20 2020 ference, tag: │ │ │ │ │ 000238c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000238d0: 2020 2046 6f72 6d73 206f 6620 6465 6669 Forms of defi │ │ │ │ │ -000238e0: 6e69 7469 6f6e 732e 0a20 2020 2020 2020 nitions.. │ │ │ │ │ +000238d0: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de │ │ │ │ │ +000238e0: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. │ │ │ │ │ 000238f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023920: 2020 2020 2020 2028 6c69 6e65 2020 3230 (line 20 │ │ │ │ │ -00023930: 290a 2a20 7265 6665 7265 6e63 652c 2074 ).* reference, t │ │ │ │ │ -00023940: 6167 203c 313e 3a20 2020 2020 2020 2020 ag <1>: │ │ │ │ │ -00023950: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ -00023960: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ -00023970: 286c 696e 6520 2031 3929 0a2a 2072 6566 (line 19).* ref │ │ │ │ │ -00023980: 6572 656e 6365 2c20 7472 616e 7366 6f72 erence, transfor │ │ │ │ │ -00023990: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ -000239a0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref │ │ │ │ │ -000239b0: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line │ │ │ │ │ -000239c0: 3136 290a 2a20 7265 6665 7265 6e63 652c 16).* reference, │ │ │ │ │ -000239d0: 2074 7261 6e73 666f 726d 203c 313e 3a20 transform <1>: │ │ │ │ │ -000239e0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ -000239f0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ -00023a00: 2020 286c 696e 6520 2033 3529 0a2a 2072 (line 35).* r │ │ │ │ │ -00023a10: 6566 6572 656e 6365 2c20 7665 6374 6f72 eference, vector │ │ │ │ │ -00023a20: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023a30: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s │ │ │ │ │ -00023a40: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line │ │ │ │ │ -00023a50: 2020 3230 290a 2a20 7265 6665 7265 6e63 20).* referenc │ │ │ │ │ -00023a60: 652c 2076 6563 746f 7220 3c31 3e3a 2020 e, vector <1>: │ │ │ │ │ -00023a70: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ -00023a80: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc │ │ │ │ │ -00023a90: 6573 2e20 286c 696e 6520 2031 3529 0a2a es. (line 15).* │ │ │ │ │ -00023aa0: 2072 6570 6561 7465 6420 6f62 6a65 6374 repeated object │ │ │ │ │ -00023ab0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023ac0: 2020 2020 2020 2020 5265 7065 6174 732e Repeats. │ │ │ │ │ -00023ad0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00023ae0: 6e65 2020 2036 290a 2a20 7265 7365 7276 ne 6).* reserv │ │ │ │ │ -00023af0: 6564 2077 6f72 6473 3a20 2020 2020 2020 ed words: │ │ │ │ │ +00023920: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00023930: 3230 290a 2a20 7265 6665 7265 6e63 652c 20).* reference, │ │ │ │ │ +00023940: 2074 6167 203c 313e 3a20 2020 2020 2020 tag <1>: │ │ │ │ │ +00023950: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ +00023960: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ +00023970: 2e20 286c 696e 6520 2031 3929 0a2a 2072 . (line 19).* r │ │ │ │ │ +00023980: 6566 6572 656e 6365 2c20 7472 616e 7366 eference, transf │ │ │ │ │ +00023990: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ +000239a0: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r │ │ │ │ │ +000239b0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line │ │ │ │ │ +000239c0: 2020 3136 290a 2a20 7265 6665 7265 6e63 16).* referenc │ │ │ │ │ +000239d0: 652c 2074 7261 6e73 666f 726d 203c 313e e, transform <1> │ │ │ │ │ +000239e0: 3a20 2020 2020 2020 2020 2020 2020 204f : O │ │ │ │ │ +000239f0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. │ │ │ │ │ +00023a00: 2020 2020 286c 696e 6520 2033 3529 0a2a (line 35).* │ │ │ │ │ +00023a10: 2072 6566 6572 656e 6365 2c20 7665 6374 reference, vect │ │ │ │ │ +00023a20: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: │ │ │ │ │ +00023a30: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline │ │ │ │ │ +00023a40: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ +00023a50: 6e65 2020 3230 290a 2a20 7265 6665 7265 ne 20).* refere │ │ │ │ │ +00023a60: 6e63 652c 2076 6563 746f 7220 3c31 3e3a nce, vector <1>: │ │ │ │ │ +00023a70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023a80: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere │ │ │ │ │ +00023a90: 6e63 6573 2e20 286c 696e 6520 2031 3529 nces. (line 15) │ │ │ │ │ +00023aa0: 0a2a 2072 6570 6561 7465 6420 6f62 6a65 .* repeated obje │ │ │ │ │ +00023ab0: 6374 3a20 2020 2020 2020 2020 2020 2020 ct: │ │ │ │ │ +00023ac0: 2020 2020 2020 2020 2020 5265 7065 6174 Repeat │ │ │ │ │ +00023ad0: 732e 2020 2020 2020 2020 2020 2020 2028 s. ( │ │ │ │ │ +00023ae0: 6c69 6e65 2020 2036 290a 2a20 7265 7365 line 6).* rese │ │ │ │ │ +00023af0: 7276 6564 2077 6f72 6473 3a20 2020 2020 rved words: │ │ │ │ │ 00023b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023b10: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve │ │ │ │ │ -00023b20: 6420 776f 7264 732e 0a20 2020 2020 2020 d words.. │ │ │ │ │ +00023b10: 2020 204b 6579 2061 6e64 2072 6573 6572 Key and reser │ │ │ │ │ +00023b20: 7665 6420 776f 7264 732e 0a20 2020 2020 ved words.. │ │ │ │ │ 00023b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023b60: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11 │ │ │ │ │ -00023b70: 290a 2a20 7269 6768 7420 6861 6e64 2072 ).* right hand r │ │ │ │ │ -00023b80: 756c 653a 2020 2020 2020 2020 2020 2020 ule: │ │ │ │ │ -00023b90: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -00023ba0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -00023bb0: 286c 696e 6520 2034 3129 0a2a 2072 6967 (line 41).* rig │ │ │ │ │ -00023bc0: 6874 2d68 616e 6420 636f 6f72 6469 6e61 ht-hand coordina │ │ │ │ │ -00023bd0: 7465 2073 7973 7465 6d3a 2020 2020 2020 te system: │ │ │ │ │ -00023be0: 2020 2020 496e 7472 6f64 7563 7469 6f6e Introduction │ │ │ │ │ -00023bf0: 2062 7920 6578 616d 706c 652e 0a20 2020 by example.. │ │ │ │ │ +00023b60: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00023b70: 3131 290a 2a20 7269 6768 7420 6861 6e64 11).* right hand │ │ │ │ │ +00023b80: 2072 756c 653a 2020 2020 2020 2020 2020 rule: │ │ │ │ │ +00023b90: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +00023ba0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +00023bb0: 2020 286c 696e 6520 2034 3129 0a2a 2072 (line 41).* r │ │ │ │ │ +00023bc0: 6967 6874 2d68 616e 6420 636f 6f72 6469 ight-hand coordi │ │ │ │ │ +00023bd0: 6e61 7465 2073 7973 7465 6d3a 2020 2020 nate system: │ │ │ │ │ +00023be0: 2020 2020 2020 496e 7472 6f64 7563 7469 Introducti │ │ │ │ │ +00023bf0: 6f6e 2062 7920 6578 616d 706c 652e 0a20 on by example.. │ │ │ │ │ 00023c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023c20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023c30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00023c40: 2020 3131 290a 2a20 726f 7461 7469 6f6e 11).* rotation │ │ │ │ │ -00023c50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023c60: 2020 2020 2020 2020 2020 2020 2020 204f O │ │ │ │ │ -00023c70: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms │ │ │ │ │ -00023c80: 2e20 2020 286c 696e 6520 2033 3929 0a2a . (line 39).* │ │ │ │ │ -00023c90: 2072 6f74 6174 696f 6e20 7472 616e 7366 rotation transf │ │ │ │ │ -00023ca0: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ -00023cb0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor │ │ │ │ │ -00023cc0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li │ │ │ │ │ -00023cd0: 6e65 2020 3130 290a 2a20 726f 7461 7469 ne 10).* rotati │ │ │ │ │ -00023ce0: 6f6e 2074 7261 6e73 666f 726d 203c 313e on transform <1> │ │ │ │ │ -00023cf0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023d00: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -00023d10: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ +00023c30: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00023c40: 6e65 2020 3131 290a 2a20 726f 7461 7469 ne 11).* rotati │ │ │ │ │ +00023c50: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +00023c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023c70: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ +00023c80: 6d73 2e20 2020 286c 696e 6520 2033 3929 ms. (line 39) │ │ │ │ │ +00023c90: 0a2a 2072 6f74 6174 696f 6e20 7472 616e .* rotation tran │ │ │ │ │ +00023ca0: 7366 6f72 6d3a 2020 2020 2020 2020 2020 sform: │ │ │ │ │ +00023cb0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf │ │ │ │ │ +00023cc0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. ( │ │ │ │ │ +00023cd0: 6c69 6e65 2020 3130 290a 2a20 726f 7461 line 10).* rota │ │ │ │ │ +00023ce0: 7469 6f6e 2074 7261 6e73 666f 726d 203c tion transform < │ │ │ │ │ +00023cf0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +00023d00: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ +00023d10: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ 00023d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023d30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023d50: 2020 2020 2028 6c69 6e65 2020 3438 290a (line 48). │ │ │ │ │ -00023d60: 2a20 726f 7461 7469 6f6e 2074 7261 6e73 * rotation trans │ │ │ │ │ -00023d70: 666f 726d 203c 323e 3a20 2020 2020 2020 form <2>: │ │ │ │ │ -00023d80: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -00023d90: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ -00023da0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023d50: 2020 2020 2020 2028 6c69 6e65 2020 3438 (line 48 │ │ │ │ │ +00023d60: 290a 2a20 726f 7461 7469 6f6e 2074 7261 ).* rotation tra │ │ │ │ │ +00023d70: 6e73 666f 726d 203c 323e 3a20 2020 2020 nsform <2>: │ │ │ │ │ +00023d80: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +00023d90: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +00023da0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -00023de0: 6e65 2020 3538 290a 2a20 726f 7461 7469 ne 58).* rotati │ │ │ │ │ -00023df0: 6f6e 2074 7261 6e73 666f 726d 203c 333e on transform <3> │ │ │ │ │ -00023e00: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00023e10: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -00023e20: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ +00023dd0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00023de0: 6c69 6e65 2020 3538 290a 2a20 726f 7461 line 58).* rota │ │ │ │ │ +00023df0: 7469 6f6e 2074 7261 6e73 666f 726d 203c tion transform < │ │ │ │ │ +00023e00: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: │ │ │ │ │ +00023e10: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ +00023e20: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ 00023e30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00023e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023e60: 2020 2020 2028 6c69 6e65 2020 3738 290a (line 78). │ │ │ │ │ -00023e70: 2a20 726f 7461 7469 6f6e 2074 7261 6e73 * rotation trans │ │ │ │ │ -00023e80: 666f 726d 203c 343e 3a20 2020 2020 2020 form <4>: │ │ │ │ │ -00023e90: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -00023ea0: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ -00023eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00023e60: 2020 2020 2020 2028 6c69 6e65 2020 3738 (line 78 │ │ │ │ │ +00023e70: 290a 2a20 726f 7461 7469 6f6e 2074 7261 ).* rotation tra │ │ │ │ │ +00023e80: 6e73 666f 726d 203c 343e 3a20 2020 2020 nsform <4>: │ │ │ │ │ +00023e90: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +00023ea0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +00023eb0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -00023ef0: 6e65 2020 3933 290a 2a20 726f 7461 7469 ne 93).* rotati │ │ │ │ │ -00023f00: 6f6e 2c20 6365 6e74 6572 206f 663a 2020 on, center of: │ │ │ │ │ +00023ee0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00023ef0: 6c69 6e65 2020 3933 290a 2a20 726f 7461 line 93).* rota │ │ │ │ │ +00023f00: 7469 6f6e 2c20 6365 6e74 6572 206f 663a tion, center of: │ │ │ │ │ 00023f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023f20: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -00023f30: 6d73 2e20 2020 286c 696e 6520 2020 3829 ms. (line 8) │ │ │ │ │ -00023f40: 0a2a 2072 6f74 6174 696f 6e2c 2063 656e .* rotation, cen │ │ │ │ │ -00023f50: 7465 7220 6f66 203c 313e 3a20 2020 2020 ter of <1>: │ │ │ │ │ -00023f60: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested │ │ │ │ │ -00023f70: 2073 7765 6570 732e 2020 2020 2020 2028 sweeps. ( │ │ │ │ │ -00023f80: 6c69 6e65 2020 2036 290a 2a20 7275 6e6e line 6).* runn │ │ │ │ │ -00023f90: 696e 6720 736b 6574 6368 3a20 2020 2020 ing sketch: │ │ │ │ │ +00023f20: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +00023f30: 6f72 6d73 2e20 2020 286c 696e 6520 2020 orms. (line │ │ │ │ │ +00023f40: 3829 0a2a 2072 6f74 6174 696f 6e2c 2063 8).* rotation, c │ │ │ │ │ +00023f50: 656e 7465 7220 6f66 203c 313e 3a20 2020 enter of <1>: │ │ │ │ │ +00023f60: 2020 2020 2020 2020 2020 2020 4e65 7374 Nest │ │ │ │ │ +00023f70: 6564 2073 7765 6570 732e 2020 2020 2020 ed sweeps. │ │ │ │ │ +00023f80: 2028 6c69 6e65 2020 2036 290a 2a20 7275 (line 6).* ru │ │ │ │ │ +00023f90: 6e6e 696e 6720 736b 6574 6368 3a20 2020 nning sketch: │ │ │ │ │ 00023fa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00023fb0: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. │ │ │ │ │ -00023fc0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ -00023fd0: 3929 0a2a 2073 6361 6c61 7220 6465 6669 9).* scalar defi │ │ │ │ │ -00023fe0: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: │ │ │ │ │ -00023ff0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep │ │ │ │ │ -00024000: 7420 6f62 6a65 6374 732e 2020 2020 2020 t objects. │ │ │ │ │ -00024010: 2028 6c69 6e65 2020 3133 290a 2a20 7363 (line 13).* sc │ │ │ │ │ -00024020: 616c 6172 206c 6974 6572 616c 3a20 2020 alar literal: │ │ │ │ │ +00023fb0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world │ │ │ │ │ +00023fc0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line │ │ │ │ │ +00023fd0: 2020 3929 0a2a 2073 6361 6c61 7220 6465 9).* scalar de │ │ │ │ │ +00023fe0: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: │ │ │ │ │ +00023ff0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw │ │ │ │ │ +00024000: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. │ │ │ │ │ +00024010: 2020 2028 6c69 6e65 2020 3133 290a 2a20 (line 13).* │ │ │ │ │ +00024020: 7363 616c 6172 206c 6974 6572 616c 3a20 scalar literal: │ │ │ │ │ 00024030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024040: 2020 2020 2053 6361 6c61 7220 6c69 7465 Scalar lite │ │ │ │ │ -00024050: 7261 6c73 2e20 2020 2020 286c 696e 6520 rals. (line │ │ │ │ │ -00024060: 2020 3629 0a2a 2073 6361 6c61 7220 7265 6).* scalar re │ │ │ │ │ -00024070: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: │ │ │ │ │ -00024080: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ -00024090: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ -000240a0: 732e 2028 6c69 6e65 2020 3133 290a 2a20 s. (line 13).* │ │ │ │ │ -000240b0: 7363 616c 6520 7472 616e 7366 6f72 6d3a scale transform: │ │ │ │ │ -000240c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000240d0: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ -000240e0: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ -000240f0: 6520 2031 3629 0a2a 2073 6361 6c65 2074 e 16).* scale t │ │ │ │ │ -00024100: 7261 6e73 666f 726d 203c 313e 3a20 2020 ransform <1>: │ │ │ │ │ +00024040: 2020 2020 2020 2053 6361 6c61 7220 6c69 Scalar li │ │ │ │ │ +00024050: 7465 7261 6c73 2e20 2020 2020 286c 696e terals. (lin │ │ │ │ │ +00024060: 6520 2020 3629 0a2a 2073 6361 6c61 7220 e 6).* scalar │ │ │ │ │ +00024070: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: │ │ │ │ │ +00024080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024090: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ +000240a0: 6365 732e 2028 6c69 6e65 2020 3133 290a ces. (line 13). │ │ │ │ │ +000240b0: 2a20 7363 616c 6520 7472 616e 7366 6f72 * scale transfor │ │ │ │ │ +000240c0: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: │ │ │ │ │ +000240d0: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ +000240e0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ +000240f0: 696e 6520 2031 3629 0a2a 2073 6361 6c65 ine 16).* scale │ │ │ │ │ +00024100: 2074 7261 6e73 666f 726d 203c 313e 3a20 transform <1>: │ │ │ │ │ 00024110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024120: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ -00024130: 6c73 2e20 2028 6c69 6e65 2020 3137 290a ls. (line 17). │ │ │ │ │ -00024140: 2a20 7363 656e 6520 6465 7363 7269 7074 * scene descript │ │ │ │ │ -00024150: 696f 6e20 6c61 6e67 7561 6765 3a20 2020 ion language: │ │ │ │ │ -00024160: 2020 2020 2020 2020 204c 616e 6775 6167 Languag │ │ │ │ │ -00024170: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l │ │ │ │ │ -00024180: 696e 6520 2020 3829 0a2a 2073 6365 6e65 ine 8).* scene │ │ │ │ │ -00024190: 2064 6573 6372 6970 7469 6f6e 206c 616e description lan │ │ │ │ │ -000241a0: 6775 6167 6520 3c31 3e3a 2020 2020 2020 guage <1>: │ │ │ │ │ -000241b0: 2020 4275 696c 6469 6e67 2061 2064 7261 Building a dra │ │ │ │ │ -000241c0: 7769 6e67 2e20 2028 6c69 6e65 2020 2037 wing. (line 7 │ │ │ │ │ -000241d0: 290a 2a20 7363 6f70 652c 2069 6465 6e74 ).* scope, ident │ │ │ │ │ -000241e0: 6966 6965 723a 2020 2020 2020 2020 2020 ifier: │ │ │ │ │ -000241f0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -00024200: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -00024210: 286c 696e 6520 2032 3629 0a2a 2073 636f (line 26).* sco │ │ │ │ │ -00024220: 7065 2c20 6964 656e 7469 6669 6572 203c pe, identifier < │ │ │ │ │ -00024230: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00024240: 2020 2020 426c 6f63 6b73 2e20 2020 2020 Blocks. │ │ │ │ │ -00024250: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00024260: 3133 290a 2a20 7369 6d70 6c65 2064 6566 13).* simple def │ │ │ │ │ -00024270: 696e 6974 696f 6e3a 2020 2020 2020 2020 inition: │ │ │ │ │ -00024280: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ -00024290: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition │ │ │ │ │ -000242a0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ +00024120: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ +00024130: 7261 6c73 2e20 2028 6c69 6e65 2020 3137 rals. (line 17 │ │ │ │ │ +00024140: 290a 2a20 7363 656e 6520 6465 7363 7269 ).* scene descri │ │ │ │ │ +00024150: 7074 696f 6e20 6c61 6e67 7561 6765 3a20 ption language: │ │ │ │ │ +00024160: 2020 2020 2020 2020 2020 204c 616e 6775 Langu │ │ │ │ │ +00024170: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. │ │ │ │ │ +00024180: 286c 696e 6520 2020 3829 0a2a 2073 6365 (line 8).* sce │ │ │ │ │ +00024190: 6e65 2064 6573 6372 6970 7469 6f6e 206c ne description l │ │ │ │ │ +000241a0: 616e 6775 6167 6520 3c31 3e3a 2020 2020 anguage <1>: │ │ │ │ │ +000241b0: 2020 2020 4275 696c 6469 6e67 2061 2064 Building a d │ │ │ │ │ +000241c0: 7261 7769 6e67 2e20 2028 6c69 6e65 2020 rawing. (line │ │ │ │ │ +000241d0: 2037 290a 2a20 7363 6f70 652c 2069 6465 7).* scope, ide │ │ │ │ │ +000241e0: 6e74 6966 6965 723a 2020 2020 2020 2020 ntifier: │ │ │ │ │ +000241f0: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +00024200: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +00024210: 2020 286c 696e 6520 2032 3629 0a2a 2073 (line 26).* s │ │ │ │ │ +00024220: 636f 7065 2c20 6964 656e 7469 6669 6572 cope, identifier │ │ │ │ │ +00024230: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00024240: 2020 2020 2020 426c 6f63 6b73 2e20 2020 Blocks. │ │ │ │ │ +00024250: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00024260: 2020 3133 290a 2a20 7369 6d70 6c65 2064 13).* simple d │ │ │ │ │ +00024270: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: │ │ │ │ │ +00024280: 2020 2020 2020 2020 2020 2020 2020 2046 F │ │ │ │ │ +00024290: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti │ │ │ │ │ +000242a0: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. │ │ │ │ │ 000242b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000242c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000242d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000242e0: 2028 6c69 6e65 2020 2036 290a 2a20 736f (line 6).* so │ │ │ │ │ -000242f0: 6c69 643a 2020 2020 2020 2020 2020 2020 lid: │ │ │ │ │ +000242e0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ +000242f0: 736f 6c69 643a 2020 2020 2020 2020 2020 solid: │ │ │ │ │ 00024300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024310: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s │ │ │ │ │ -00024320: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line │ │ │ │ │ -00024330: 2020 3629 0a2a 2073 7065 6369 616c 2061 6).* special a │ │ │ │ │ -00024340: 7267 756d 656e 7420 7375 6273 7469 7475 rgument substitu │ │ │ │ │ -00024350: 7469 6f6e 3a20 2020 2020 2020 2020 5370 tion: Sp │ │ │ │ │ -00024360: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. │ │ │ │ │ -00024370: 2020 2028 6c69 6e65 2020 3238 290a 2a20 (line 28).* │ │ │ │ │ -00024380: 7370 6563 6961 6c20 6172 6775 6d65 6e74 special argument │ │ │ │ │ -00024390: 2073 7562 7374 6974 7574 696f 6e20 3c31 substitution <1 │ │ │ │ │ -000243a0: 3e3a 2020 2020 2053 7065 6369 616c 732e >: Specials. │ │ │ │ │ -000243b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -000243c0: 6520 2031 3029 0a2a 2073 7065 6369 616c e 10).* special │ │ │ │ │ -000243d0: 206f 626a 6563 743a 2020 2020 2020 2020 object: │ │ │ │ │ +00024310: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a │ │ │ │ │ +00024320: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin │ │ │ │ │ +00024330: 6520 2020 3629 0a2a 2073 7065 6369 616c e 6).* special │ │ │ │ │ +00024340: 2061 7267 756d 656e 7420 7375 6273 7469 argument substi │ │ │ │ │ +00024350: 7475 7469 6f6e 3a20 2020 2020 2020 2020 tution: │ │ │ │ │ +00024360: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects. │ │ │ │ │ +00024370: 2020 2020 2028 6c69 6e65 2020 3238 290a (line 28). │ │ │ │ │ +00024380: 2a20 7370 6563 6961 6c20 6172 6775 6d65 * special argume │ │ │ │ │ +00024390: 6e74 2073 7562 7374 6974 7574 696f 6e20 nt substitution │ │ │ │ │ +000243a0: 3c31 3e3a 2020 2020 2053 7065 6369 616c <1>: Special │ │ │ │ │ +000243b0: 732e 2020 2020 2020 2020 2020 2020 286c s. (l │ │ │ │ │ +000243c0: 696e 6520 2031 3029 0a2a 2073 7065 6369 ine 10).* speci │ │ │ │ │ +000243d0: 616c 206f 626a 6563 743a 2020 2020 2020 al object: │ │ │ │ │ 000243e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000243f0: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects. │ │ │ │ │ -00024400: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00024410: 2a20 7370 6563 6961 6c20 6f62 6a65 6374 * special object │ │ │ │ │ -00024420: 733a 2020 2020 2020 2020 2020 2020 2020 s: │ │ │ │ │ -00024430: 2020 2020 2020 2020 2041 2074 6563 686e A techn │ │ │ │ │ -00024440: 6963 616c 2064 7261 7769 6e67 2e20 286c ical drawing. (l │ │ │ │ │ -00024450: 696e 6520 2033 3829 0a2a 2073 706c 6974 ine 38).* split │ │ │ │ │ -00024460: 7469 6e67 2c20 6c69 6e65 2061 6e64 2073 ting, line and s │ │ │ │ │ -00024470: 7572 6661 6365 3a20 2020 2020 2020 2020 urface: │ │ │ │ │ -00024480: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. │ │ │ │ │ -00024490: 2020 2020 2020 2028 6c69 6e65 2020 3139 (line 19 │ │ │ │ │ -000244a0: 290a 2a20 7370 6c69 7474 696e 672c 206c ).* splitting, l │ │ │ │ │ -000244b0: 696e 6520 616e 6420 7375 7266 6163 6520 ine and surface │ │ │ │ │ -000244c0: 3c31 3e3a 2020 2020 2020 2048 6964 6465 <1>: Hidde │ │ │ │ │ -000244d0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova │ │ │ │ │ -000244e0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +000243f0: 2020 5370 6563 6961 6c20 6f62 6a65 6374 Special object │ │ │ │ │ +00024400: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6 │ │ │ │ │ +00024410: 290a 2a20 7370 6563 6961 6c20 6f62 6a65 ).* special obje │ │ │ │ │ +00024420: 6374 733a 2020 2020 2020 2020 2020 2020 cts: │ │ │ │ │ +00024430: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ +00024440: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ +00024450: 286c 696e 6520 2033 3829 0a2a 2073 706c (line 38).* spl │ │ │ │ │ +00024460: 6974 7469 6e67 2c20 6c69 6e65 2061 6e64 itting, line and │ │ │ │ │ +00024470: 2073 7572 6661 6365 3a20 2020 2020 2020 surface: │ │ │ │ │ +00024480: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ +00024490: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000244a0: 3139 290a 2a20 7370 6c69 7474 696e 672c 19).* splitting, │ │ │ │ │ +000244b0: 206c 696e 6520 616e 6420 7375 7266 6163 line and surfac │ │ │ │ │ +000244c0: 6520 3c31 3e3a 2020 2020 2020 2048 6964 e <1>: Hid │ │ │ │ │ +000244d0: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo │ │ │ │ │ +000244e0: 7661 6c2e 0a20 2020 2020 2020 2020 2020 val.. │ │ │ │ │ 000244f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024520: 2028 6c69 6e65 2020 3231 290a 2a20 7375 (line 21).* su │ │ │ │ │ -00024530: 6273 7469 7475 7469 6f6e 2c20 7370 6563 bstitution, spec │ │ │ │ │ -00024540: 6961 6c3a 2020 2020 2020 2020 2020 2020 ial: │ │ │ │ │ -00024550: 2020 2020 2053 7065 6369 616c 206f 626a Special obj │ │ │ │ │ -00024560: 6563 7473 2e20 2020 2020 286c 696e 6520 ects. (line │ │ │ │ │ -00024570: 2032 3829 0a2a 2073 7572 6661 6365 3a20 28).* surface: │ │ │ │ │ -00024580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024590: 2020 2020 2020 2020 2020 2020 2020 506f Po │ │ │ │ │ -000245a0: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. │ │ │ │ │ -000245b0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* │ │ │ │ │ -000245c0: 7377 6565 703a 2020 2020 2020 2020 2020 sweep: │ │ │ │ │ +00024520: 2020 2028 6c69 6e65 2020 3231 290a 2a20 (line 21).* │ │ │ │ │ +00024530: 7375 6273 7469 7475 7469 6f6e 2c20 7370 substitution, sp │ │ │ │ │ +00024540: 6563 6961 6c3a 2020 2020 2020 2020 2020 ecial: │ │ │ │ │ +00024550: 2020 2020 2020 2053 7065 6369 616c 206f Special o │ │ │ │ │ +00024560: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin │ │ │ │ │ +00024570: 6520 2032 3829 0a2a 2073 7572 6661 6365 e 28).* surface │ │ │ │ │ +00024580: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00024590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000245a0: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps. │ │ │ │ │ +000245b0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ +000245c0: 2a20 7377 6565 703a 2020 2020 2020 2020 * sweep: │ │ │ │ │ 000245d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000245e0: 2020 2020 2020 2053 7765 7074 206f 626a Swept obj │ │ │ │ │ -000245f0: 6563 7473 2e20 2020 2020 2020 286c 696e ects. (lin │ │ │ │ │ -00024600: 6520 2020 3629 0a2a 2073 7765 7074 2062 e 6).* swept b │ │ │ │ │ -00024610: 6f63 6b3a 2020 2020 2020 2020 2020 2020 ock: │ │ │ │ │ +000245e0: 2020 2020 2020 2020 2053 7765 7074 206f Swept o │ │ │ │ │ +000245f0: 626a 6563 7473 2e20 2020 2020 2020 286c bjects. (l │ │ │ │ │ +00024600: 696e 6520 2020 3629 0a2a 2073 7765 7074 ine 6).* swept │ │ │ │ │ +00024610: 2062 6f63 6b3a 2020 2020 2020 2020 2020 bock: │ │ │ │ │ 00024620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024630: 5377 6570 7420 626c 6f63 6b73 2e20 2020 Swept blocks. │ │ │ │ │ -00024640: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6). │ │ │ │ │ -00024650: 2a20 7377 6570 7420 6c69 6e65 3a20 2020 * swept line: │ │ │ │ │ +00024630: 2020 5377 6570 7420 626c 6f63 6b73 2e20 Swept blocks. │ │ │ │ │ +00024640: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ +00024650: 290a 2a20 7377 6570 7420 6c69 6e65 3a20 ).* swept line: │ │ │ │ │ 00024660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024670: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin │ │ │ │ │ -00024680: 6520 7377 6565 7073 2e20 2020 2020 286c e sweeps. (l │ │ │ │ │ -00024690: 696e 6520 2020 3629 0a2a 2073 7765 7074 ine 6).* swept │ │ │ │ │ -000246a0: 206c 696e 6520 3c31 3e3a 2020 2020 2020 line <1>: │ │ │ │ │ +00024670: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl │ │ │ │ │ +00024680: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. │ │ │ │ │ +00024690: 286c 696e 6520 2020 3629 0a2a 2073 7765 (line 6).* swe │ │ │ │ │ +000246a0: 7074 206c 696e 6520 3c31 3e3a 2020 2020 pt line <1>: │ │ │ │ │ 000246b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000246c0: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. │ │ │ │ │ -000246d0: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6 │ │ │ │ │ -000246e0: 290a 2a20 7377 6570 7420 6c69 6e65 203c ).* swept line < │ │ │ │ │ -000246f0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -00024700: 2020 2020 2020 2020 2020 2041 2074 6563 A tec │ │ │ │ │ -00024710: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. │ │ │ │ │ -00024720: 286c 696e 6520 2032 3029 0a2a 2073 7765 (line 20).* swe │ │ │ │ │ -00024730: 7074 206f 626a 6563 743a 2020 2020 2020 pt object: │ │ │ │ │ +000246c0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines. │ │ │ │ │ +000246d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000246e0: 2036 290a 2a20 7377 6570 7420 6c69 6e65 6).* swept line │ │ │ │ │ +000246f0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +00024700: 2020 2020 2020 2020 2020 2020 2041 2074 A t │ │ │ │ │ +00024710: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing │ │ │ │ │ +00024720: 2e20 286c 696e 6520 2032 3029 0a2a 2073 . (line 20).* s │ │ │ │ │ +00024730: 7765 7074 206f 626a 6563 743a 2020 2020 wept object: │ │ │ │ │ 00024740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024750: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object │ │ │ │ │ -00024760: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line │ │ │ │ │ -00024770: 2036 290a 2a20 7377 6570 7420 6f62 6a65 6).* swept obje │ │ │ │ │ -00024780: 6374 203c 313e 3a20 2020 2020 2020 2020 ct <1>: │ │ │ │ │ -00024790: 2020 2020 2020 2020 2020 2020 2053 7765 Swe │ │ │ │ │ -000247a0: 6570 732e 2020 2020 2020 2020 2020 2020 eps. │ │ │ │ │ -000247b0: 2020 286c 696e 6520 2020 3929 0a2a 2073 (line 9).* s │ │ │ │ │ -000247c0: 7765 7074 2070 6f69 6e74 3a20 2020 2020 wept point: │ │ │ │ │ +00024750: 2020 2020 2020 5377 6570 7420 6f62 6a65 Swept obje │ │ │ │ │ +00024760: 6374 732e 2020 2020 2020 2028 6c69 6e65 cts. (line │ │ │ │ │ +00024770: 2020 2036 290a 2a20 7377 6570 7420 6f62 6).* swept ob │ │ │ │ │ +00024780: 6a65 6374 203c 313e 3a20 2020 2020 2020 ject <1>: │ │ │ │ │ +00024790: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +000247a0: 7765 6570 732e 2020 2020 2020 2020 2020 weeps. │ │ │ │ │ +000247b0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).* │ │ │ │ │ +000247c0: 2073 7765 7074 2070 6f69 6e74 3a20 2020 swept point: │ │ │ │ │ 000247d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000247e0: 2020 2020 2020 5377 6570 7420 6f62 6a65 Swept obje │ │ │ │ │ -000247f0: 6374 732e 2020 2020 2020 2028 6c69 6e65 cts. (line │ │ │ │ │ -00024800: 2020 3131 290a 2a20 7377 6570 7420 706f 11).* swept po │ │ │ │ │ -00024810: 696e 7420 3c31 3e3a 2020 2020 2020 2020 int <1>: │ │ │ │ │ -00024820: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00024830: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. │ │ │ │ │ -00024840: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00024850: 2073 7765 7074 2070 6f6c 7967 6f6e 3a20 swept polygon: │ │ │ │ │ -00024860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024870: 2020 2020 2020 2020 506f 6c79 676f 6e20 Polygon │ │ │ │ │ -00024880: 7377 6565 7073 2e20 2020 2020 2028 6c69 sweeps. (li │ │ │ │ │ -00024890: 6e65 2020 2036 290a 2a20 7377 6570 7420 ne 6).* swept │ │ │ │ │ -000248a0: 706f 6c79 676f 6e20 3c31 3e3a 2020 2020 polygon <1>: │ │ │ │ │ +000247e0: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob │ │ │ │ │ +000247f0: 6a65 6374 732e 2020 2020 2020 2028 6c69 jects. (li │ │ │ │ │ +00024800: 6e65 2020 3131 290a 2a20 7377 6570 7420 ne 11).* swept │ │ │ │ │ +00024810: 706f 696e 7420 3c31 3e3a 2020 2020 2020 point <1>: │ │ │ │ │ +00024820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024830: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. │ │ │ │ │ +00024840: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ +00024850: 0a2a 2073 7765 7074 2070 6f6c 7967 6f6e .* swept polygon │ │ │ │ │ +00024860: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00024870: 2020 2020 2020 2020 2020 506f 6c79 676f Polygo │ │ │ │ │ +00024880: 6e20 7377 6565 7073 2e20 2020 2020 2028 n sweeps. ( │ │ │ │ │ +00024890: 6c69 6e65 2020 2036 290a 2a20 7377 6570 line 6).* swep │ │ │ │ │ +000248a0: 7420 706f 6c79 676f 6e20 3c31 3e3a 2020 t polygon <1>: │ │ │ │ │ 000248b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000248c0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -000248d0: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ +000248c0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ +000248d0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ 000248e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000248f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024910: 2020 2020 2028 6c69 6e65 2031 3232 290a (line 122). │ │ │ │ │ -00024920: 2a20 7461 6720 6465 6669 6e69 7469 6f6e * tag definition │ │ │ │ │ -00024930: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00024940: 2020 2020 2020 2020 2044 6566 696e 6974 Definit │ │ │ │ │ -00024950: 696f 6e73 2e20 2020 2020 2020 2020 286c ions. (l │ │ │ │ │ -00024960: 696e 6520 2031 3829 0a2a 2074 6167 2064 ine 18).* tag d │ │ │ │ │ -00024970: 6566 696e 6974 696f 6e20 3c31 3e3a 2020 efinition <1>: │ │ │ │ │ +00024910: 2020 2020 2020 2028 6c69 6e65 2031 3232 (line 122 │ │ │ │ │ +00024920: 290a 2a20 7461 6720 6465 6669 6e69 7469 ).* tag definiti │ │ │ │ │ +00024930: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: │ │ │ │ │ +00024940: 2020 2020 2020 2020 2020 2044 6566 696e Defin │ │ │ │ │ +00024950: 6974 696f 6e73 2e20 2020 2020 2020 2020 itions. │ │ │ │ │ +00024960: 286c 696e 6520 2031 3829 0a2a 2074 6167 (line 18).* tag │ │ │ │ │ +00024970: 2064 6566 696e 6974 696f 6e20 3c31 3e3a definition <1>: │ │ │ │ │ 00024980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024990: 2020 466f 726d 7320 6f66 2064 6566 696e Forms of defin │ │ │ │ │ -000249a0: 6974 696f 6e73 2e0a 2020 2020 2020 2020 itions.. │ │ │ │ │ +00024990: 2020 2020 466f 726d 7320 6f66 2064 6566 Forms of def │ │ │ │ │ +000249a0: 696e 6974 696f 6e73 2e0a 2020 2020 2020 initions.. │ │ │ │ │ 000249b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000249c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000249d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000249e0: 2020 2020 2020 286c 696e 6520 2020 3729 (line 7) │ │ │ │ │ -000249f0: 0a2a 2074 6167 2064 6566 696e 6974 696f .* tag definitio │ │ │ │ │ -00024a00: 6e20 3c32 3e3a 2020 2020 2020 2020 2020 n <2>: │ │ │ │ │ -00024a10: 2020 2020 2020 2020 2020 436f 6d6d 616e Comman │ │ │ │ │ -00024a20: 6420 6c69 6e65 2e20 2020 2020 2020 2028 d line. ( │ │ │ │ │ -00024a30: 6c69 6e65 2020 3533 290a 2a20 7461 6720 line 53).* tag │ │ │ │ │ -00024a40: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: │ │ │ │ │ +000249e0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +000249f0: 3729 0a2a 2074 6167 2064 6566 696e 6974 7).* tag definit │ │ │ │ │ +00024a00: 696f 6e20 3c32 3e3a 2020 2020 2020 2020 ion <2>: │ │ │ │ │ +00024a10: 2020 2020 2020 2020 2020 2020 436f 6d6d Comm │ │ │ │ │ +00024a20: 616e 6420 6c69 6e65 2e20 2020 2020 2020 and line. │ │ │ │ │ +00024a30: 2028 6c69 6e65 2020 3533 290a 2a20 7461 (line 53).* ta │ │ │ │ │ +00024a40: 6720 7265 6665 7265 6e63 653a 2020 2020 g reference: │ │ │ │ │ 00024a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024a60: 2020 2046 6f72 6d73 206f 6620 6465 6669 Forms of defi │ │ │ │ │ -00024a70: 6e69 7469 6f6e 732e 0a20 2020 2020 2020 nitions.. │ │ │ │ │ +00024a60: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de │ │ │ │ │ +00024a70: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. │ │ │ │ │ 00024a80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024a90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024ab0: 2020 2020 2020 2028 6c69 6e65 2020 3230 (line 20 │ │ │ │ │ -00024ac0: 290a 2a20 7461 6720 7265 6665 7265 6e63 ).* tag referenc │ │ │ │ │ -00024ad0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ -00024ae0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms │ │ │ │ │ -00024af0: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. │ │ │ │ │ -00024b00: 286c 696e 6520 2031 3929 0a2a 2074 656d (line 19).* tem │ │ │ │ │ -00024b10: 706c 6174 652c 2064 6f63 756d 656e 743a plate, document: │ │ │ │ │ -00024b20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024b30: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world. │ │ │ │ │ -00024b40: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00024b50: 3332 290a 2a20 7465 6d70 6c61 7465 2c20 32).* template, │ │ │ │ │ -00024b60: 646f 6375 6d65 6e74 203c 313e 3a20 2020 document <1>: │ │ │ │ │ -00024b70: 2020 2020 2020 2020 2020 2020 2043 6f6d Com │ │ │ │ │ -00024b80: 6d61 6e64 206c 696e 652e 2020 2020 2020 mand line. │ │ │ │ │ -00024b90: 2020 286c 696e 6520 2033 3629 0a2a 2074 (line 36).* t │ │ │ │ │ -00024ba0: 6574 7261 6865 6472 6f6e 3a20 2020 2020 etrahedron: │ │ │ │ │ +00024ab0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +00024ac0: 3230 290a 2a20 7461 6720 7265 6665 7265 20).* tag refere │ │ │ │ │ +00024ad0: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: │ │ │ │ │ +00024ae0: 2020 2020 2020 2020 2020 2020 2046 6f72 For │ │ │ │ │ +00024af0: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references │ │ │ │ │ +00024b00: 2e20 286c 696e 6520 2031 3929 0a2a 2074 . (line 19).* t │ │ │ │ │ +00024b10: 656d 706c 6174 652c 2064 6f63 756d 656e emplate, documen │ │ │ │ │ +00024b20: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +00024b30: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl │ │ │ │ │ +00024b40: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line │ │ │ │ │ +00024b50: 2020 3332 290a 2a20 7465 6d70 6c61 7465 32).* template │ │ │ │ │ +00024b60: 2c20 646f 6375 6d65 6e74 203c 313e 3a20 , document <1>: │ │ │ │ │ +00024b70: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ +00024b80: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. │ │ │ │ │ +00024b90: 2020 2020 286c 696e 6520 2033 3629 0a2a (line 36).* │ │ │ │ │ +00024ba0: 2074 6574 7261 6865 6472 6f6e 3a20 2020 tetrahedron: │ │ │ │ │ 00024bb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024bc0: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a │ │ │ │ │ -00024bd0: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line │ │ │ │ │ -00024be0: 2020 2039 290a 2a20 7469 636b 206f 7065 9).* tick ope │ │ │ │ │ -00024bf0: 7261 746f 7220 2827 293a 2020 2020 2020 rator ('): │ │ │ │ │ -00024c00: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ -00024c10: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic │ │ │ │ │ -00024c20: 2e20 2020 286c 696e 6520 2033 3729 0a2a . (line 37).* │ │ │ │ │ -00024c30: 2074 6963 6b20 6f70 6572 6174 6f72 2028 tick operator ( │ │ │ │ │ -00024c40: 2729 203c 313e 3a20 2020 2020 2020 2020 ') <1>: │ │ │ │ │ -00024c50: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper │ │ │ │ │ -00024c60: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for │ │ │ │ │ -00024c70: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. │ │ │ │ │ +00024bc0: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing │ │ │ │ │ +00024bd0: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li │ │ │ │ │ +00024be0: 6e65 2020 2039 290a 2a20 7469 636b 206f ne 9).* tick o │ │ │ │ │ +00024bf0: 7065 7261 746f 7220 2827 293a 2020 2020 perator ('): │ │ │ │ │ +00024c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024c10: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet │ │ │ │ │ +00024c20: 6963 2e20 2020 286c 696e 6520 2033 3729 ic. (line 37) │ │ │ │ │ +00024c30: 0a2a 2074 6963 6b20 6f70 6572 6174 6f72 .* tick operator │ │ │ │ │ +00024c40: 2028 2729 203c 313e 3a20 2020 2020 2020 (') <1>: │ │ │ │ │ +00024c50: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ +00024c60: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ +00024c70: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ 00024c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024cb0: 2020 286c 696e 6520 2034 3129 0a2a 2054 (line 41).* T │ │ │ │ │ -00024cc0: 696b 5a2f 5047 463a 2020 2020 2020 2020 ikZ/PGF: │ │ │ │ │ +00024cb0: 2020 2020 286c 696e 6520 2034 3129 0a2a (line 41).* │ │ │ │ │ +00024cc0: 2054 696b 5a2f 5047 463a 2020 2020 2020 TikZ/PGF: │ │ │ │ │ 00024cd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024ce0: 2020 2020 2020 4162 6f75 7420 736b 6574 About sket │ │ │ │ │ -00024cf0: 6368 2e20 2020 2020 2020 2028 6c69 6e65 ch. (line │ │ │ │ │ -00024d00: 2020 3232 290a 2a20 746f 726f 6964 3a20 22).* toroid: │ │ │ │ │ -00024d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024d20: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ -00024d30: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. │ │ │ │ │ -00024d40: 2020 2020 286c 696e 6520 2020 3829 0a2a (line 8).* │ │ │ │ │ -00024d50: 2074 7261 6e73 666f 726d 3a20 2020 2020 transform: │ │ │ │ │ +00024ce0: 2020 2020 2020 2020 4162 6f75 7420 736b About sk │ │ │ │ │ +00024cf0: 6574 6368 2e20 2020 2020 2020 2028 6c69 etch. (li │ │ │ │ │ +00024d00: 6e65 2020 3232 290a 2a20 746f 726f 6964 ne 22).* toroid │ │ │ │ │ +00024d10: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00024d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024d30: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. │ │ │ │ │ +00024d40: 2020 2020 2020 286c 696e 6520 2020 3829 (line 8) │ │ │ │ │ +00024d50: 0a2a 2074 7261 6e73 666f 726d 3a20 2020 .* transform: │ │ │ │ │ 00024d60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024d70: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ -00024d80: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li │ │ │ │ │ -00024d90: 6e65 2020 2036 290a 2a20 7472 616e 7366 ne 6).* transf │ │ │ │ │ -00024da0: 6f72 6d20 3c31 3e3a 2020 2020 2020 2020 orm <1>: │ │ │ │ │ +00024d70: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object │ │ │ │ │ +00024d80: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. ( │ │ │ │ │ +00024d90: 6c69 6e65 2020 2036 290a 2a20 7472 616e line 6).* tran │ │ │ │ │ +00024da0: 7366 6f72 6d20 3c31 3e3a 2020 2020 2020 sform <1>: │ │ │ │ │ 00024db0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024dc0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi │ │ │ │ │ -00024dd0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. │ │ │ │ │ +00024dc0: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand ( │ │ │ │ │ +00024dd0: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. │ │ │ │ │ 00024de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00024e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024e10: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00024e20: 2020 3238 290a 2a20 7472 616e 7366 6f72 28).* transfor │ │ │ │ │ -00024e30: 6d20 3c32 3e3a 2020 2020 2020 2020 2020 m <2>: │ │ │ │ │ -00024e40: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00024e50: 7765 6570 732e 2020 2020 2020 2020 2020 weeps. │ │ │ │ │ -00024e60: 2020 2020 286c 696e 6520 2031 3129 0a2a (line 11).* │ │ │ │ │ -00024e70: 2074 7261 6e73 666f 726d 203c 333e 3a20 transform <3>: │ │ │ │ │ -00024e80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024e90: 2020 2020 2020 2020 5265 7065 6174 732e Repeats. │ │ │ │ │ -00024ea0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00024eb0: 6e65 2020 2039 290a 2a20 7472 616e 7366 ne 9).* transf │ │ │ │ │ -00024ec0: 6f72 6d20 3c34 3e3a 2020 2020 2020 2020 orm <4>: │ │ │ │ │ +00024e10: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00024e20: 6e65 2020 3238 290a 2a20 7472 616e 7366 ne 28).* transf │ │ │ │ │ +00024e30: 6f72 6d20 3c32 3e3a 2020 2020 2020 2020 orm <2>: │ │ │ │ │ +00024e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00024e50: 2053 7765 6570 732e 2020 2020 2020 2020 Sweeps. │ │ │ │ │ +00024e60: 2020 2020 2020 286c 696e 6520 2031 3129 (line 11) │ │ │ │ │ +00024e70: 0a2a 2074 7261 6e73 666f 726d 203c 333e .* transform <3> │ │ │ │ │ +00024e80: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00024e90: 2020 2020 2020 2020 2020 5265 7065 6174 Repeat │ │ │ │ │ +00024ea0: 732e 2020 2020 2020 2020 2020 2020 2028 s. ( │ │ │ │ │ +00024eb0: 6c69 6e65 2020 2039 290a 2a20 7472 616e line 9).* tran │ │ │ │ │ +00024ec0: 7366 6f72 6d20 3c34 3e3a 2020 2020 2020 sform <4>: │ │ │ │ │ 00024ed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024ee0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. │ │ │ │ │ -00024ef0: 2020 2020 2020 286c 696e 6520 2020 3729 (line 7) │ │ │ │ │ -00024f00: 0a2a 2074 7261 6e73 666f 726d 2064 6566 .* transform def │ │ │ │ │ -00024f10: 696e 6974 696f 6e3a 2020 2020 2020 2020 inition: │ │ │ │ │ -00024f20: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi │ │ │ │ │ -00024f30: 6577 2e20 2020 2020 2020 2020 2020 2028 ew. ( │ │ │ │ │ -00024f40: 6c69 6e65 2020 3335 290a 2a20 7472 616e line 35).* tran │ │ │ │ │ -00024f50: 7366 6f72 6d20 6c69 7465 7261 6c3a 2020 sform literal: │ │ │ │ │ +00024ee0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. │ │ │ │ │ +00024ef0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +00024f00: 3729 0a2a 2074 7261 6e73 666f 726d 2064 7).* transform d │ │ │ │ │ +00024f10: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: │ │ │ │ │ +00024f20: 2020 2020 2020 2020 2020 2020 4f76 6572 Over │ │ │ │ │ +00024f30: 7669 6577 2e20 2020 2020 2020 2020 2020 view. │ │ │ │ │ +00024f40: 2028 6c69 6e65 2020 3335 290a 2a20 7472 (line 35).* tr │ │ │ │ │ +00024f50: 616e 7366 6f72 6d20 6c69 7465 7261 6c3a ansform literal: │ │ │ │ │ 00024f60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00024f70: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit │ │ │ │ │ -00024f80: 6572 616c 732e 2020 286c 696e 6520 2020 erals. (line │ │ │ │ │ -00024f90: 3629 0a2a 2074 7261 6e73 666f 726d 2072 6).* transform r │ │ │ │ │ -00024fa0: 6566 6572 656e 6365 3a20 2020 2020 2020 eference: │ │ │ │ │ -00024fb0: 2020 2020 2020 2020 2020 2020 466f 726d Form │ │ │ │ │ -00024fc0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references. │ │ │ │ │ -00024fd0: 2028 6c69 6e65 2020 3136 290a 2a20 7472 (line 16).* tr │ │ │ │ │ -00024fe0: 616e 7366 6f72 6d20 7265 6665 7265 6e63 ansform referenc │ │ │ │ │ -00024ff0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ -00025000: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. │ │ │ │ │ -00025010: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00025020: 2033 3529 0a2a 2074 7261 6e73 666f 726d 35).* transform │ │ │ │ │ -00025030: 2c20 6469 7265 6374 3a20 2020 2020 2020 , direct: │ │ │ │ │ -00025040: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ -00025050: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -00025060: 2e20 2028 6c69 6e65 2020 3437 290a 2a20 . (line 47).* │ │ │ │ │ -00025070: 7472 616e 7366 6f72 6d2c 2064 6972 6563 transform, direc │ │ │ │ │ -00025080: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: │ │ │ │ │ -00025090: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ -000250a0: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ -000250b0: 6520 2035 3329 0a2a 2074 7261 6e73 666f e 53).* transfo │ │ │ │ │ -000250c0: 726d 2c20 726f 7461 7469 6f6e 3a20 2020 rm, rotation: │ │ │ │ │ +00024f70: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ +00024f80: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ +00024f90: 2020 3629 0a2a 2074 7261 6e73 666f 726d 6).* transform │ │ │ │ │ +00024fa0: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: │ │ │ │ │ +00024fb0: 2020 2020 2020 2020 2020 2020 2020 466f Fo │ │ │ │ │ +00024fc0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference │ │ │ │ │ +00024fd0: 732e 2028 6c69 6e65 2020 3136 290a 2a20 s. (line 16).* │ │ │ │ │ +00024fe0: 7472 616e 7366 6f72 6d20 7265 6665 7265 transform refere │ │ │ │ │ +00024ff0: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: │ │ │ │ │ +00025000: 2020 2020 2020 204f 7665 7276 6965 772e Overview. │ │ │ │ │ +00025010: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00025020: 6520 2033 3529 0a2a 2074 7261 6e73 666f e 35).* transfo │ │ │ │ │ +00025030: 726d 2c20 6469 7265 6374 3a20 2020 2020 rm, direct: │ │ │ │ │ +00025040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025050: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +00025060: 6c73 2e20 2028 6c69 6e65 2020 3437 290a ls. (line 47). │ │ │ │ │ +00025070: 2a20 7472 616e 7366 6f72 6d2c 2064 6972 * transform, dir │ │ │ │ │ +00025080: 6563 7420 3c31 3e3a 2020 2020 2020 2020 ect <1>: │ │ │ │ │ +00025090: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ +000250a0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ +000250b0: 696e 6520 2035 3329 0a2a 2074 7261 6e73 ine 53).* trans │ │ │ │ │ +000250c0: 666f 726d 2c20 726f 7461 7469 6f6e 3a20 form, rotation: │ │ │ │ │ 000250d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000250e0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ -000250f0: 6c73 2e20 2028 6c69 6e65 2020 3130 290a ls. (line 10). │ │ │ │ │ -00025100: 2a20 7472 616e 7366 6f72 6d2c 2072 6f74 * transform, rot │ │ │ │ │ -00025110: 6174 696f 6e20 3c31 3e3a 2020 2020 2020 ation <1>: │ │ │ │ │ -00025120: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -00025130: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ -00025140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000250e0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ +000250f0: 7261 6c73 2e20 2028 6c69 6e65 2020 3130 rals. (line 10 │ │ │ │ │ +00025100: 290a 2a20 7472 616e 7366 6f72 6d2c 2072 ).* transform, r │ │ │ │ │ +00025110: 6f74 6174 696f 6e20 3c31 3e3a 2020 2020 otation <1>: │ │ │ │ │ +00025120: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +00025130: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +00025140: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -00025180: 6e65 2020 3438 290a 2a20 7472 616e 7366 ne 48).* transf │ │ │ │ │ -00025190: 6f72 6d2c 2072 6f74 6174 696f 6e20 3c32 orm, rotation <2 │ │ │ │ │ -000251a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000251b0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -000251c0: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ +00025170: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00025180: 6c69 6e65 2020 3438 290a 2a20 7472 616e line 48).* tran │ │ │ │ │ +00025190: 7366 6f72 6d2c 2072 6f74 6174 696f 6e20 sform, rotation │ │ │ │ │ +000251a0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: │ │ │ │ │ +000251b0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ +000251c0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ 000251d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000251e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000251f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025200: 2020 2020 2028 6c69 6e65 2020 3538 290a (line 58). │ │ │ │ │ -00025210: 2a20 7472 616e 7366 6f72 6d2c 2072 6f74 * transform, rot │ │ │ │ │ -00025220: 6174 696f 6e20 3c33 3e3a 2020 2020 2020 ation <3>: │ │ │ │ │ -00025230: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -00025240: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ -00025250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025200: 2020 2020 2020 2028 6c69 6e65 2020 3538 (line 58 │ │ │ │ │ +00025210: 290a 2a20 7472 616e 7366 6f72 6d2c 2072 ).* transform, r │ │ │ │ │ +00025220: 6f74 6174 696f 6e20 3c33 3e3a 2020 2020 otation <3>: │ │ │ │ │ +00025230: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +00025240: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +00025250: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -00025290: 6e65 2020 3738 290a 2a20 7472 616e 7366 ne 78).* transf │ │ │ │ │ -000252a0: 6f72 6d2c 2072 6f74 6174 696f 6e20 3c34 orm, rotation <4 │ │ │ │ │ -000252b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000252c0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -000252d0: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. │ │ │ │ │ +00025280: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00025290: 6c69 6e65 2020 3738 290a 2a20 7472 616e line 78).* tran │ │ │ │ │ +000252a0: 7366 6f72 6d2c 2072 6f74 6174 696f 6e20 sform, rotation │ │ │ │ │ +000252b0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ +000252c0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica │ │ │ │ │ +000252d0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. │ │ │ │ │ 000252e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000252f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025310: 2020 2020 2028 6c69 6e65 2020 3933 290a (line 93). │ │ │ │ │ -00025320: 2a20 7472 616e 7366 6f72 6d2c 2073 6361 * transform, sca │ │ │ │ │ -00025330: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: │ │ │ │ │ -00025340: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -00025350: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ -00025360: 696e 6520 2031 3629 0a2a 2074 7261 6e73 ine 16).* trans │ │ │ │ │ -00025370: 666f 726d 2c20 7363 616c 6520 3c31 3e3a form, scale <1>: │ │ │ │ │ -00025380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025390: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ -000253a0: 7261 6c73 2e20 2028 6c69 6e65 2020 3137 rals. (line 17 │ │ │ │ │ -000253b0: 290a 2a20 7472 616e 7366 6f72 6d2c 2074 ).* transform, t │ │ │ │ │ -000253c0: 7261 6e73 6c61 7469 6f6e 3a20 2020 2020 ranslation: │ │ │ │ │ -000253d0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec │ │ │ │ │ -000253e0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. │ │ │ │ │ -000253f0: 286c 696e 6520 2034 3729 0a2a 2074 7261 (line 47).* tra │ │ │ │ │ -00025400: 6e73 666f 726d 2c20 7472 616e 736c 6174 nsform, translat │ │ │ │ │ -00025410: 696f 6e20 3c31 3e3a 2020 2020 2020 2020 ion <1>: │ │ │ │ │ -00025420: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ -00025430: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line │ │ │ │ │ -00025440: 3135 290a 2a20 7472 616e 7366 6f72 6d2c 15).* transform, │ │ │ │ │ -00025450: 2074 7261 6e73 6c61 7469 6f6e 203c 323e translation <2> │ │ │ │ │ -00025460: 3a20 2020 2020 2020 2020 2020 2041 2068 : A h │ │ │ │ │ -00025470: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode │ │ │ │ │ -00025480: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. │ │ │ │ │ +00025310: 2020 2020 2020 2028 6c69 6e65 2020 3933 (line 93 │ │ │ │ │ +00025320: 290a 2a20 7472 616e 7366 6f72 6d2c 2073 ).* transform, s │ │ │ │ │ +00025330: 6361 6c65 3a20 2020 2020 2020 2020 2020 cale: │ │ │ │ │ +00025340: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +00025350: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +00025360: 286c 696e 6520 2031 3629 0a2a 2074 7261 (line 16).* tra │ │ │ │ │ +00025370: 6e73 666f 726d 2c20 7363 616c 6520 3c31 nsform, scale <1 │ │ │ │ │ +00025380: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00025390: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ +000253a0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line │ │ │ │ │ +000253b0: 3137 290a 2a20 7472 616e 7366 6f72 6d2c 17).* transform, │ │ │ │ │ +000253c0: 2074 7261 6e73 6c61 7469 6f6e 3a20 2020 translation: │ │ │ │ │ +000253d0: 2020 2020 2020 2020 2020 2020 204f 626a Obj │ │ │ │ │ +000253e0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. │ │ │ │ │ +000253f0: 2020 286c 696e 6520 2034 3729 0a2a 2074 (line 47).* t │ │ │ │ │ +00025400: 7261 6e73 666f 726d 2c20 7472 616e 736c ransform, transl │ │ │ │ │ +00025410: 6174 696f 6e20 3c31 3e3a 2020 2020 2020 ation <1>: │ │ │ │ │ +00025420: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform │ │ │ │ │ +00025430: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line │ │ │ │ │ +00025440: 2020 3135 290a 2a20 7472 616e 7366 6f72 15).* transfor │ │ │ │ │ +00025450: 6d2c 2074 7261 6e73 6c61 7469 6f6e 203c m, translation < │ │ │ │ │ +00025460: 323e 3a20 2020 2020 2020 2020 2020 2041 2>: A │ │ │ │ │ +00025470: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo │ │ │ │ │ +00025480: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. │ │ │ │ │ 00025490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000254a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000254b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000254c0: 2028 6c69 6e65 2020 3437 290a 2a20 7472 (line 47).* tr │ │ │ │ │ -000254d0: 616e 7366 6f72 6d2c 2076 6965 773a 2020 ansform, view: │ │ │ │ │ +000254c0: 2020 2028 6c69 6e65 2020 3437 290a 2a20 (line 47).* │ │ │ │ │ +000254d0: 7472 616e 7366 6f72 6d2c 2076 6965 773a transform, view: │ │ │ │ │ 000254e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000254f0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l │ │ │ │ │ -00025500: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line │ │ │ │ │ -00025510: 2032 3529 0a2a 2074 7261 6e73 666f 726d 25).* transform │ │ │ │ │ -00025520: 2c20 7669 6577 203c 313e 3a20 2020 2020 , view <1>: │ │ │ │ │ -00025530: 2020 2020 2020 2020 2020 2020 2020 5472 Tr │ │ │ │ │ -00025540: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals │ │ │ │ │ -00025550: 2e20 2028 6c69 6e65 2020 3335 290a 2a20 . (line 35).* │ │ │ │ │ -00025560: 7472 616e 736c 6174 696f 6e20 7472 616e translation tran │ │ │ │ │ -00025570: 7366 6f72 6d3a 2020 2020 2020 2020 2020 sform: │ │ │ │ │ -00025580: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr │ │ │ │ │ -00025590: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin │ │ │ │ │ -000255a0: 6520 2034 3729 0a2a 2074 7261 6e73 6c61 e 47).* transla │ │ │ │ │ -000255b0: 7469 6f6e 2074 7261 6e73 666f 726d 203c tion transform < │ │ │ │ │ -000255c0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -000255d0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ -000255e0: 6c73 2e20 2028 6c69 6e65 2020 3135 290a ls. (line 15). │ │ │ │ │ -000255f0: 2a20 7472 616e 736c 6174 696f 6e20 7472 * translation tr │ │ │ │ │ -00025600: 616e 7366 6f72 6d20 3c32 3e3a 2020 2020 ansform <2>: │ │ │ │ │ -00025610: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera │ │ │ │ │ -00025620: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. │ │ │ │ │ -00025630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000254f0: 2020 2020 2020 2054 7261 6e73 666f 726d Transform │ │ │ │ │ +00025500: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin │ │ │ │ │ +00025510: 6520 2032 3529 0a2a 2074 7261 6e73 666f e 25).* transfo │ │ │ │ │ +00025520: 726d 2c20 7669 6577 203c 313e 3a20 2020 rm, view <1>: │ │ │ │ │ +00025530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025540: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera │ │ │ │ │ +00025550: 6c73 2e20 2028 6c69 6e65 2020 3335 290a ls. (line 35). │ │ │ │ │ +00025560: 2a20 7472 616e 736c 6174 696f 6e20 7472 * translation tr │ │ │ │ │ +00025570: 616e 7366 6f72 6d3a 2020 2020 2020 2020 ansform: │ │ │ │ │ +00025580: 2020 2020 2020 2020 204f 626a 6563 7420 Object │ │ │ │ │ +00025590: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l │ │ │ │ │ +000255a0: 696e 6520 2034 3729 0a2a 2074 7261 6e73 ine 47).* trans │ │ │ │ │ +000255b0: 6c61 7469 6f6e 2074 7261 6e73 666f 726d lation transform │ │ │ │ │ +000255c0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000255d0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ +000255e0: 7261 6c73 2e20 2028 6c69 6e65 2020 3135 rals. (line 15 │ │ │ │ │ +000255f0: 290a 2a20 7472 616e 736c 6174 696f 6e20 ).* translation │ │ │ │ │ +00025600: 7472 616e 7366 6f72 6d20 3c32 3e3a 2020 transform <2>: │ │ │ │ │ +00025610: 2020 2020 2020 2020 2020 2041 2068 6965 A hie │ │ │ │ │ +00025620: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model. │ │ │ │ │ +00025630: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ 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 2028 6c69 (li │ │ │ │ │ -00025670: 6e65 2020 3437 290a 2a20 7472 616e 7370 ne 47).* transp │ │ │ │ │ -00025680: 6172 656e 6379 3a20 2020 2020 2020 2020 arency: │ │ │ │ │ +00025660: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00025670: 6c69 6e65 2020 3437 290a 2a20 7472 616e line 47).* tran │ │ │ │ │ +00025680: 7370 6172 656e 6379 3a20 2020 2020 2020 sparency: │ │ │ │ │ 00025690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000256a0: 2054 7261 6e73 7061 7265 6e63 792e 2020 Transparency. │ │ │ │ │ -000256b0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ -000256c0: 0a2a 2074 776f 2d6f 7065 7261 6e64 2066 .* two-operand f │ │ │ │ │ -000256d0: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: │ │ │ │ │ -000256e0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op │ │ │ │ │ -000256f0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f │ │ │ │ │ -00025700: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. │ │ │ │ │ +000256a0: 2020 2054 7261 6e73 7061 7265 6e63 792e Transparency. │ │ │ │ │ +000256b0: 2020 2020 2020 2020 286c 696e 6520 2020 (line │ │ │ │ │ +000256c0: 3629 0a2a 2074 776f 2d6f 7065 7261 6e64 6).* two-operand │ │ │ │ │ +000256d0: 2066 6f72 6d3a 2020 2020 2020 2020 2020 form: │ │ │ │ │ +000256e0: 2020 2020 2020 2020 2020 2020 5477 6f2d Two- │ │ │ │ │ +000256f0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary) │ │ │ │ │ +00025700: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. │ │ │ │ │ 00025710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00025730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025740: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).* │ │ │ │ │ -00025750: 2075 6e61 7279 2066 6f72 6d3a 2020 2020 unary form: │ │ │ │ │ +00025740: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6) │ │ │ │ │ +00025750: 0a2a 2075 6e61 7279 2066 6f72 6d3a 2020 .* unary form: │ │ │ │ │ 00025760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025770: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo │ │ │ │ │ -00025780: 726d 732e 2020 2020 2020 2020 2028 6c69 rms. (li │ │ │ │ │ -00025790: 6e65 2020 2036 290a 2a20 7665 6374 6f72 ne 6).* vector │ │ │ │ │ -000257a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00025770: 2020 2020 2020 2020 2020 556e 6172 7920 Unary │ │ │ │ │ +00025780: 666f 726d 732e 2020 2020 2020 2020 2028 forms. ( │ │ │ │ │ +00025790: 6c69 6e65 2020 2036 290a 2a20 7665 6374 line 6).* vect │ │ │ │ │ +000257a0: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: │ │ │ │ │ 000257b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000257c0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor │ │ │ │ │ -000257d0: 6d73 2e20 2020 286c 696e 6520 2034 3829 ms. (line 48) │ │ │ │ │ -000257e0: 0a2a 2076 6563 746f 7220 6465 6669 6e69 .* vector defini │ │ │ │ │ -000257f0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ -00025800: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli │ │ │ │ │ -00025810: 6e65 2073 7765 6570 732e 2020 2020 2028 ne sweeps. ( │ │ │ │ │ -00025820: 6c69 6e65 2020 3139 290a 2a20 7665 6374 line 19).* vect │ │ │ │ │ -00025830: 6f72 206c 6974 6572 616c 3a20 2020 2020 or literal: │ │ │ │ │ +000257c0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf │ │ │ │ │ +000257d0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4 │ │ │ │ │ +000257e0: 3829 0a2a 2076 6563 746f 7220 6465 6669 8).* vector defi │ │ │ │ │ +000257f0: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: │ │ │ │ │ +00025800: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly │ │ │ │ │ +00025810: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. │ │ │ │ │ +00025820: 2028 6c69 6e65 2020 3139 290a 2a20 7665 (line 19).* ve │ │ │ │ │ +00025830: 6374 6f72 206c 6974 6572 616c 3a20 2020 ctor literal: │ │ │ │ │ 00025840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025850: 2020 2050 6f69 6e74 2061 6e64 2076 6563 Point and vec │ │ │ │ │ -00025860: 746f 7220 6c69 7465 7261 6c73 2e0a 2020 tor literals.. │ │ │ │ │ +00025850: 2020 2020 2050 6f69 6e74 2061 6e64 2076 Point and v │ │ │ │ │ +00025860: 6563 746f 7220 6c69 7465 7261 6c73 2e0a ector literals.. │ │ │ │ │ 00025870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 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 286c 696e (lin │ │ │ │ │ -000258b0: 6520 2020 3629 0a2a 2076 6563 746f 7220 e 6).* vector │ │ │ │ │ -000258c0: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: │ │ │ │ │ +000258a0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +000258b0: 696e 6520 2020 3629 0a2a 2076 6563 746f ine 6).* vecto │ │ │ │ │ +000258c0: 7220 7265 6665 7265 6e63 653a 2020 2020 r reference: │ │ │ │ │ 000258d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000258e0: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen │ │ │ │ │ -000258f0: 6365 732e 2028 6c69 6e65 2020 3135 290a ces. (line 15). │ │ │ │ │ -00025900: 2a20 7669 6577 2074 7261 6e73 666f 726d * view transform │ │ │ │ │ -00025910: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00025920: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo │ │ │ │ │ -00025930: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l │ │ │ │ │ -00025940: 696e 6520 2032 3529 0a2a 2076 6965 7720 ine 25).* view │ │ │ │ │ -00025950: 7472 616e 7366 6f72 6d20 3c31 3e3a 2020 transform <1>: │ │ │ │ │ +000258e0: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer │ │ │ │ │ +000258f0: 656e 6365 732e 2028 6c69 6e65 2020 3135 ences. (line 15 │ │ │ │ │ +00025900: 290a 2a20 7669 6577 2074 7261 6e73 666f ).* view transfo │ │ │ │ │ +00025910: 726d 3a20 2020 2020 2020 2020 2020 2020 rm: │ │ │ │ │ +00025920: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans │ │ │ │ │ +00025930: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. │ │ │ │ │ +00025940: 286c 696e 6520 2032 3529 0a2a 2076 6965 (line 25).* vie │ │ │ │ │ +00025950: 7720 7472 616e 7366 6f72 6d20 3c31 3e3a w transform <1>: │ │ │ │ │ 00025960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025970: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite │ │ │ │ │ -00025980: 7261 6c73 2e20 2028 6c69 6e65 2020 3335 rals. (line 35 │ │ │ │ │ -00025990: 290a 2a20 7669 7274 7561 6c20 6361 6d65 ).* virtual came │ │ │ │ │ -000259a0: 7261 3a20 2020 2020 2020 2020 2020 2020 ra: │ │ │ │ │ -000259b0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv │ │ │ │ │ -000259c0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. │ │ │ │ │ -000259d0: 286c 696e 6520 2038 3129 0a2a 2077 6869 (line 81).* whi │ │ │ │ │ -000259e0: 7465 2073 7061 6365 3a20 2020 2020 2020 te space: │ │ │ │ │ +00025970: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li │ │ │ │ │ +00025980: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line │ │ │ │ │ +00025990: 3335 290a 2a20 7669 7274 7561 6c20 6361 35).* virtual ca │ │ │ │ │ +000259a0: 6d65 7261 3a20 2020 2020 2020 2020 2020 mera: │ │ │ │ │ +000259b0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove │ │ │ │ │ +000259c0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. │ │ │ │ │ +000259d0: 2020 286c 696e 6520 2038 3129 0a2a 2077 (line 81).* w │ │ │ │ │ +000259e0: 6869 7465 2073 7061 6365 3a20 2020 2020 hite space: │ │ │ │ │ 000259f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025a00: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so │ │ │ │ │ -00025a10: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line │ │ │ │ │ -00025a20: 3235 290a 2a20 7768 6974 6520 7370 6163 25).* white spac │ │ │ │ │ -00025a30: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: │ │ │ │ │ -00025a40: 2020 2020 2020 2020 2020 2020 2044 7261 Dra │ │ │ │ │ -00025a50: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. │ │ │ │ │ -00025a60: 2020 286c 696e 6520 2032 3929 0a2a 2077 (line 29).* w │ │ │ │ │ -00025a70: 6869 7465 2073 7061 6365 203c 323e 3a20 hite space <2>: │ │ │ │ │ -00025a80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00025a90: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra │ │ │ │ │ -00025aa0: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line │ │ │ │ │ -00025ab0: 2020 3332 290a 2a20 7768 6974 6520 7370 32).* white sp │ │ │ │ │ -00025ac0: 6163 6520 3c33 3e3a 2020 2020 2020 2020 ace <3>: │ │ │ │ │ -00025ad0: 2020 2020 2020 2020 2020 2020 2020 204c L │ │ │ │ │ -00025ae0: 616e 6775 6167 6520 6261 7369 6373 2e20 anguage basics. │ │ │ │ │ -00025af0: 2020 2020 286c 696e 6520 2031 3629 0a0a (line 16).. │ │ │ │ │ -00025b00: 0a1f 0a54 6167 2054 6162 6c65 3a0a 4e6f ...Tag Table:.No │ │ │ │ │ -00025b10: 6465 3a20 546f 707f 3131 3631 0a4e 6f64 de: Top.1161.Nod │ │ │ │ │ -00025b20: 653a 2041 626f 7574 2073 6b65 7463 687f e: About sketch. │ │ │ │ │ -00025b30: 3731 3830 0a4e 6f64 653a 2052 6570 6f72 7180.Node: Repor │ │ │ │ │ -00025b40: 7469 6e67 2062 7567 737f 3834 3432 0a4e ting bugs.8442.N │ │ │ │ │ -00025b50: 6f64 653a 2043 6f6e 7472 6962 7574 696f ode: Contributio │ │ │ │ │ -00025b60: 6e73 7f39 3438 310a 5265 663a 2053 6f6c ns.9481.Ref: Sol │ │ │ │ │ -00025b70: 6964 2063 6f69 6c20 6578 616d 706c 657f id coil example. │ │ │ │ │ -00025b80: 3938 3939 0a4e 6f64 653a 2049 6e74 726f 9899.Node: Intro │ │ │ │ │ -00025b90: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp │ │ │ │ │ -00025ba0: 6c65 7f39 3930 300a 4e6f 6465 3a20 4865 le.9900.Node: He │ │ │ │ │ -00025bb0: 6c6c 6f20 776f 726c 647f 3130 3933 340a llo world.10934. │ │ │ │ │ -00025bc0: 5265 663a 2048 656c 6c6f 2077 6f72 6c64 Ref: Hello world │ │ │ │ │ -00025bd0: 2d46 6f6f 746e 6f74 652d 317f 3133 3132 -Footnote-1.1312 │ │ │ │ │ -00025be0: 360a 4e6f 6465 3a20 4472 6177 696e 6720 6.Node: Drawing │ │ │ │ │ -00025bf0: 6f70 7469 6f6e 737f 3133 3138 350a 4e6f options.13185.No │ │ │ │ │ -00025c00: 6465 3a20 4472 6177 696e 6720 6120 736f de: Drawing a so │ │ │ │ │ -00025c10: 6c69 647f 3134 3337 310a 5265 663a 2048 lid.14371.Ref: H │ │ │ │ │ -00025c20: 656c 6978 2077 6974 6820 6375 6c6c 2073 elix with cull s │ │ │ │ │ -00025c30: 6574 2066 616c 7365 2074 6865 6e20 7472 et false then tr │ │ │ │ │ -00025c40: 7565 7f31 3637 3434 0a4e 6f64 653a 2053 ue.16744.Node: S │ │ │ │ │ -00025c50: 7065 6369 616c 206f 626a 6563 7473 7f31 pecial objects.1 │ │ │ │ │ -00025c60: 3732 3737 0a4e 6f64 653a 204f 626a 6563 7277.Node: Objec │ │ │ │ │ -00025c70: 7420 7472 616e 7366 6f72 6d73 7f32 3033 t transforms.203 │ │ │ │ │ -00025c80: 3735 0a52 6566 3a20 5269 6768 7420 6861 75.Ref: Right ha │ │ │ │ │ -00025c90: 6e64 2072 756c 657f 3232 3633 320a 4e6f nd rule.22632.No │ │ │ │ │ -00025ca0: 6465 3a20 5265 7065 6174 6564 206f 626a de: Repeated obj │ │ │ │ │ -00025cb0: 6563 7473 7f32 3330 3830 0a4e 6f64 653a ects.23080.Node: │ │ │ │ │ -00025cc0: 2053 7765 7074 206f 626a 6563 7473 7f32 Swept objects.2 │ │ │ │ │ -00025cd0: 3336 3339 0a4e 6f64 653a 2050 6f69 6e74 3639.Node: Point │ │ │ │ │ -00025ce0: 2073 7765 6570 737f 3234 3735 320a 4e6f sweeps.24752.No │ │ │ │ │ -00025cf0: 6465 3a20 506f 6c79 6c69 6e65 2073 7765 de: Polyline swe │ │ │ │ │ -00025d00: 6570 737f 3235 3736 340a 4e6f 6465 3a20 eps.25764.Node: │ │ │ │ │ -00025d10: 4e65 7374 6564 2073 7765 6570 737f 3236 Nested sweeps.26 │ │ │ │ │ -00025d20: 3730 300a 4e6f 6465 3a20 506f 6c79 676f 700.Node: Polygo │ │ │ │ │ -00025d30: 6e20 7377 6565 7073 7f32 3830 3132 0a4e n sweeps.28012.N │ │ │ │ │ -00025d40: 6f64 653a 2050 6f6c 796c 696e 6520 7377 ode: Polyline sw │ │ │ │ │ -00025d50: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur │ │ │ │ │ -00025d60: 657f 3238 3436 350a 4e6f 6465 3a20 4166 e.28465.Node: Af │ │ │ │ │ -00025d70: 6669 6e65 2061 7269 7468 6d65 7469 637f fine arithmetic. │ │ │ │ │ -00025d80: 3330 3136 340a 4e6f 6465 3a20 4d6f 7265 30164.Node: More │ │ │ │ │ -00025d90: 2074 6f20 6c65 6172 6e7f 3332 3130 320a to learn.32102. │ │ │ │ │ -00025da0: 4e6f 6465 3a20 496e 7075 7420 6c61 6e67 Node: Input lang │ │ │ │ │ -00025db0: 7561 6765 7f33 3234 3932 0a4e 6f64 653a uage.32492.Node: │ │ │ │ │ -00025dc0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics │ │ │ │ │ -00025dd0: 7f33 3239 3537 0a4e 6f64 653a 2049 6465 .32957.Node: Ide │ │ │ │ │ -00025de0: 6e74 6966 6965 7273 7f33 3433 3935 0a4e ntifiers.34395.N │ │ │ │ │ -00025df0: 6f64 653a 204b 6579 2061 6e64 2072 6573 ode: Key and res │ │ │ │ │ -00025e00: 6572 7665 6420 776f 7264 737f 3334 3938 erved words.3498 │ │ │ │ │ -00025e10: 360a 4e6f 6465 3a20 4c69 7465 7261 6c73 6.Node: Literals │ │ │ │ │ -00025e20: 7f33 3538 3539 0a4e 6f64 653a 2053 6361 .35859.Node: Sca │ │ │ │ │ -00025e30: 6c61 7220 6c69 7465 7261 6c73 7f33 3633 lar literals.363 │ │ │ │ │ -00025e40: 3333 0a4e 6f64 653a 2050 6f69 6e74 2061 33.Node: Point a │ │ │ │ │ -00025e50: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera │ │ │ │ │ -00025e60: 6c73 7f33 3637 3134 0a4e 6f64 653a 2054 ls.36714.Node: T │ │ │ │ │ -00025e70: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal │ │ │ │ │ -00025e80: 737f 3337 3039 310a 4e6f 6465 3a20 4172 s.37091.Node: Ar │ │ │ │ │ -00025e90: 6974 686d 6574 6963 7f34 3231 3731 0a4e ithmetic.42171.N │ │ │ │ │ -00025ea0: 6f64 653a 2054 776f 2d6f 7065 7261 6e64 ode: Two-operand │ │ │ │ │ -00025eb0: 2028 6269 6e61 7279 2920 666f 726d 737f (binary) forms. │ │ │ │ │ -00025ec0: 3432 3533 390a 4e6f 6465 3a20 556e 6172 42539.Node: Unar │ │ │ │ │ -00025ed0: 7920 666f 726d 737f 3436 3232 300a 4e6f y forms.46220.No │ │ │ │ │ -00025ee0: 6465 3a20 4f70 7469 6f6e 737f 3437 3536 de: Options.4756 │ │ │ │ │ -00025ef0: 380a 4e6f 6465 3a20 5053 5472 6963 6b73 8.Node: PSTricks │ │ │ │ │ -00025f00: 206f 7074 696f 6e73 7f34 3832 3837 0a4e options.48287.N │ │ │ │ │ -00025f10: 6f64 653a 2054 696b 5a2f 5047 4620 6f70 ode: TikZ/PGF op │ │ │ │ │ -00025f20: 7469 6f6e 737f 3439 3339 390a 4e6f 6465 tions.49399.Node │ │ │ │ │ -00025f30: 3a20 446f 7473 2069 6e20 5469 6b5a 2f50 : Dots in TikZ/P │ │ │ │ │ -00025f40: 4746 7f35 3131 3430 0a4e 6f64 653a 2054 GF.51140.Node: T │ │ │ │ │ -00025f50: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def │ │ │ │ │ -00025f60: 696e 6564 2073 7479 6c65 737f 3531 3736 ined styles.5176 │ │ │ │ │ -00025f70: 310a 5265 663a 2054 696b 5a2f 5047 4620 1.Ref: TikZ/PGF │ │ │ │ │ -00025f80: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty │ │ │ │ │ -00025f90: 6c65 732d 466f 6f74 6e6f 7465 2d31 7f35 les-Footnote-1.5 │ │ │ │ │ -00025fa0: 3338 3139 0a4e 6f64 653a 2054 7261 6e73 3819.Node: Trans │ │ │ │ │ -00025fb0: 7061 7265 6e63 797f 3533 3837 350a 4e6f parency.53875.No │ │ │ │ │ -00025fc0: 6465 3a20 496e 7465 726e 616c 206f 7074 de: Internal opt │ │ │ │ │ -00025fd0: 696f 6e73 7f35 3437 3233 0a4e 6f64 653a ions.54723.Node: │ │ │ │ │ -00025fe0: 2044 7261 7761 626c 6573 7f35 3634 3934 Drawables.56494 │ │ │ │ │ -00025ff0: 0a4e 6f64 653a 2044 6f74 737f 3537 3439 .Node: Dots.5749 │ │ │ │ │ -00026000: 330a 4e6f 6465 3a20 4c69 6e65 737f 3537 3.Node: Lines.57 │ │ │ │ │ -00026010: 3733 330a 4e6f 6465 3a20 4375 7276 6573 733.Node: Curves │ │ │ │ │ -00026020: 7f35 3739 3732 0a4e 6f64 653a 2050 6f6c .57972.Node: Pol │ │ │ │ │ -00026030: 7967 6f6e 737f 3538 3238 320a 4e6f 6465 ygons.58282.Node │ │ │ │ │ -00026040: 3a20 5370 6563 6961 6c73 7f35 3837 3139 : Specials.58719 │ │ │ │ │ -00026050: 0a4e 6f64 653a 2053 7765 6570 737f 3631 .Node: Sweeps.61 │ │ │ │ │ -00026060: 3039 340a 4e6f 6465 3a20 5377 6570 7420 094.Node: Swept │ │ │ │ │ -00026070: 706f 696e 7473 7f36 3233 3737 0a4e 6f64 points.62377.Nod │ │ │ │ │ -00026080: 653a 2053 7765 7074 206c 696e 6573 7f36 e: Swept lines.6 │ │ │ │ │ -00026090: 3334 3736 0a4e 6f64 653a 2053 7765 7074 3476.Node: Swept │ │ │ │ │ -000260a0: 2070 6f6c 7967 6f6e 737f 3636 3130 320a polygons.66102. │ │ │ │ │ -000260b0: 4e6f 6465 3a20 5377 6570 7420 626c 6f63 Node: Swept bloc │ │ │ │ │ -000260c0: 6b73 7f36 3736 3735 0a4e 6f64 653a 2053 ks.67675.Node: S │ │ │ │ │ -000260d0: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt │ │ │ │ │ -000260e0: 696e 677f 3638 3234 330a 4e6f 6465 3a20 ing.68243.Node: │ │ │ │ │ -000260f0: 426c 6f63 6b73 7f36 3838 3439 0a4e 6f64 Blocks.68849.Nod │ │ │ │ │ -00026100: 653a 2052 6570 6561 7473 7f36 3934 3534 e: Repeats.69454 │ │ │ │ │ -00026110: 0a4e 6f64 653a 2050 7574 737f 3730 3130 .Node: Puts.7010 │ │ │ │ │ -00026120: 340a 4e6f 6465 3a20 4465 6669 6e69 7469 4.Node: Definiti │ │ │ │ │ -00026130: 6f6e 737f 3730 3238 390a 4e6f 6465 3a20 ons.70289.Node: │ │ │ │ │ -00026140: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit │ │ │ │ │ -00026150: 696f 6e73 7f37 3135 3335 0a4e 6f64 653a ions.71535.Node: │ │ │ │ │ -00026160: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere │ │ │ │ │ -00026170: 6e63 6573 7f37 3234 3632 0a4e 6f64 653a nces.72462.Node: │ │ │ │ │ -00026180: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm │ │ │ │ │ -00026190: 656e 747f 3733 3531 330a 4e6f 6465 3a20 ent.73513.Node: │ │ │ │ │ -000261a0: 476c 6f62 616c 206f 7074 696f 6e73 7f37 Global options.7 │ │ │ │ │ -000261b0: 3434 3135 0a4e 6f64 653a 2043 616d 6572 4415.Node: Camer │ │ │ │ │ -000261c0: 617f 3734 3937 380a 4e6f 6465 3a20 5069 a.74978.Node: Pi │ │ │ │ │ -000261d0: 6374 7572 6520 626f 787f 3735 3338 390a cture box.75389. │ │ │ │ │ -000261e0: 4e6f 6465 3a20 4672 616d 657f 3736 3434 Node: Frame.7644 │ │ │ │ │ -000261f0: 300a 4e6f 6465 3a20 4c61 6e67 7561 6765 0.Node: Language │ │ │ │ │ -00026200: 7f37 3639 3038 0a4e 6f64 653a 2042 7569 .76908.Node: Bui │ │ │ │ │ -00026210: 6c64 696e 6720 6120 6472 6177 696e 677f lding a drawing. │ │ │ │ │ -00026220: 3737 3933 310a 4e6f 6465 3a20 4f76 6572 77931.Node: Over │ │ │ │ │ -00026230: 7669 6577 7f37 3837 3430 0a4e 6f64 653a view.78740.Node: │ │ │ │ │ -00026240: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra │ │ │ │ │ -00026250: 7769 6e67 7f38 3632 3734 0a4e 6f64 653a wing.86274.Node: │ │ │ │ │ -00026260: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical │ │ │ │ │ -00026270: 6d6f 6465 6c7f 3931 3038 390a 4e6f 6465 model.91089.Node │ │ │ │ │ -00026280: 3a20 4361 7665 6174 737f 3937 3534 340a : Caveats.97544. │ │ │ │ │ -00026290: 4e6f 6465 3a20 4c69 6d69 7473 206f 6e20 Node: Limits on │ │ │ │ │ -000262a0: 6572 726f 7220 6465 7465 6374 696f 6e7f error detection. │ │ │ │ │ -000262b0: 3938 3132 360a 4e6f 6465 3a20 436c 6970 98126.Node: Clip │ │ │ │ │ -000262c0: 7069 6e67 7f39 3936 3132 0a4e 6f64 653a ping.99612.Node: │ │ │ │ │ -000262d0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface │ │ │ │ │ -000262e0: 7265 6d6f 7661 6c7f 3130 3030 3239 0a52 removal.100029.R │ │ │ │ │ -000262f0: 6566 3a20 4869 6464 656e 2073 7572 6661 ef: Hidden surfa │ │ │ │ │ -00026300: 6365 2072 656d 6f76 616c 2d46 6f6f 746e ce removal-Footn │ │ │ │ │ -00026310: 6f74 652d 317f 3130 3134 3531 0a52 6566 ote-1.101451.Ref │ │ │ │ │ -00026320: 3a20 4869 6464 656e 2073 7572 6661 6365 : Hidden surface │ │ │ │ │ -00026330: 2072 656d 6f76 616c 2d46 6f6f 746e 6f74 removal-Footnot │ │ │ │ │ -00026340: 652d 327f 3130 3136 3330 0a4e 6f64 653a e-2.101630.Node: │ │ │ │ │ -00026350: 2053 7461 7469 7374 6963 737f 3130 3230 Statistics.1020 │ │ │ │ │ -00026360: 3136 0a4e 6f64 653a 2042 7567 7320 616e 16.Node: Bugs an │ │ │ │ │ -00026370: 6420 616e 6f6d 616c 6965 737f 3130 3333 d anomalies.1033 │ │ │ │ │ -00026380: 3133 0a52 6566 3a20 4275 6773 2061 6e64 13.Ref: Bugs and │ │ │ │ │ -00026390: 2061 6e6f 6d61 6c69 6573 2d46 6f6f 746e anomalies-Footn │ │ │ │ │ -000263a0: 6f74 652d 317f 3130 3531 3732 0a4e 6f64 ote-1.105172.Nod │ │ │ │ │ -000263b0: 653a 2043 6f6d 6d61 6e64 206c 696e 657f e: Command line. │ │ │ │ │ -000263c0: 3130 3532 3731 0a4e 6f64 653a 2049 6e73 105271.Node: Ins │ │ │ │ │ -000263d0: 7461 6c6c 696e 6720 736b 6574 6368 7f31 talling sketch.1 │ │ │ │ │ -000263e0: 3038 3033 310a 4e6f 6465 3a20 496e 6465 08031.Node: Inde │ │ │ │ │ -000263f0: 7820 6f66 2073 796e 7461 787f 3131 3131 x of syntax.1111 │ │ │ │ │ -00026400: 3134 0a4e 6f64 653a 2049 6e64 6578 7f31 14.Node: Index.1 │ │ │ │ │ -00026410: 3238 3438 340a 1f0a 456e 6420 5461 6720 28484...End Tag │ │ │ │ │ -00026420: 5461 626c 650a 0a1f 0a4c 6f63 616c 2056 Table....Local V │ │ │ │ │ -00026430: 6172 6961 626c 6573 3a0a 636f 6469 6e67 ariables:.coding │ │ │ │ │ -00026440: 3a20 7574 662d 380a 456e 643a 0a : utf-8.End:. │ │ │ │ │ +00025a00: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a │ │ │ │ │ +00025a10: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line │ │ │ │ │ +00025a20: 2020 3235 290a 2a20 7768 6974 6520 7370 25).* white sp │ │ │ │ │ +00025a30: 6163 6520 3c31 3e3a 2020 2020 2020 2020 ace <1>: │ │ │ │ │ +00025a40: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ │ │ +00025a50: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. │ │ │ │ │ +00025a60: 2020 2020 286c 696e 6520 2032 3929 0a2a (line 29).* │ │ │ │ │ +00025a70: 2077 6869 7465 2073 7061 6365 203c 323e white space <2> │ │ │ │ │ +00025a80: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00025a90: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t │ │ │ │ │ +00025aa0: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li │ │ │ │ │ +00025ab0: 6e65 2020 3332 290a 2a20 7768 6974 6520 ne 32).* white │ │ │ │ │ +00025ac0: 7370 6163 6520 3c33 3e3a 2020 2020 2020 space <3>: │ │ │ │ │ +00025ad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00025ae0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics │ │ │ │ │ +00025af0: 2e20 2020 2020 286c 696e 6520 2031 3629 . (line 16) │ │ │ │ │ +00025b00: 0a0a 0a1f 0a54 6167 2054 6162 6c65 3a0a .....Tag Table:. │ │ │ │ │ +00025b10: 4e6f 6465 3a20 546f 707f 3131 3632 0a4e Node: Top.1162.N │ │ │ │ │ +00025b20: 6f64 653a 2041 626f 7574 2073 6b65 7463 ode: About sketc │ │ │ │ │ +00025b30: 687f 3731 3832 0a4e 6f64 653a 2052 6570 h.7182.Node: Rep │ │ │ │ │ +00025b40: 6f72 7469 6e67 2062 7567 737f 3834 3434 orting bugs.8444 │ │ │ │ │ +00025b50: 0a4e 6f64 653a 2043 6f6e 7472 6962 7574 .Node: Contribut │ │ │ │ │ +00025b60: 696f 6e73 7f39 3438 330a 5265 663a 2053 ions.9483.Ref: S │ │ │ │ │ +00025b70: 6f6c 6964 2063 6f69 6c20 6578 616d 706c olid coil exampl │ │ │ │ │ +00025b80: 657f 3939 3031 0a4e 6f64 653a 2049 6e74 e.9901.Node: Int │ │ │ │ │ +00025b90: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa │ │ │ │ │ +00025ba0: 6d70 6c65 7f39 3930 320a 4e6f 6465 3a20 mple.9902.Node: │ │ │ │ │ +00025bb0: 4865 6c6c 6f20 776f 726c 647f 3130 3933 Hello world.1093 │ │ │ │ │ +00025bc0: 360a 5265 663a 2048 656c 6c6f 2077 6f72 6.Ref: Hello wor │ │ │ │ │ +00025bd0: 6c64 2d46 6f6f 746e 6f74 652d 317f 3133 ld-Footnote-1.13 │ │ │ │ │ +00025be0: 3132 380a 4e6f 6465 3a20 4472 6177 696e 128.Node: Drawin │ │ │ │ │ +00025bf0: 6720 6f70 7469 6f6e 737f 3133 3138 370a g options.13187. │ │ │ │ │ +00025c00: 4e6f 6465 3a20 4472 6177 696e 6720 6120 Node: Drawing a │ │ │ │ │ +00025c10: 736f 6c69 647f 3134 3337 330a 5265 663a solid.14373.Ref: │ │ │ │ │ +00025c20: 2048 656c 6978 2077 6974 6820 6375 6c6c Helix with cull │ │ │ │ │ +00025c30: 2073 6574 2066 616c 7365 2074 6865 6e20 set false then │ │ │ │ │ +00025c40: 7472 7565 7f31 3637 3436 0a4e 6f64 653a true.16746.Node: │ │ │ │ │ +00025c50: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects │ │ │ │ │ +00025c60: 7f31 3732 3739 0a4e 6f64 653a 204f 626a .17279.Node: Obj │ │ │ │ │ +00025c70: 6563 7420 7472 616e 7366 6f72 6d73 7f32 ect transforms.2 │ │ │ │ │ +00025c80: 3033 3737 0a52 6566 3a20 5269 6768 7420 0377.Ref: Right │ │ │ │ │ +00025c90: 6861 6e64 2072 756c 657f 3232 3633 340a hand rule.22634. │ │ │ │ │ +00025ca0: 4e6f 6465 3a20 5265 7065 6174 6564 206f Node: Repeated o │ │ │ │ │ +00025cb0: 626a 6563 7473 7f32 3330 3832 0a4e 6f64 bjects.23082.Nod │ │ │ │ │ +00025cc0: 653a 2053 7765 7074 206f 626a 6563 7473 e: Swept objects │ │ │ │ │ +00025cd0: 7f32 3336 3431 0a4e 6f64 653a 2050 6f69 .23641.Node: Poi │ │ │ │ │ +00025ce0: 6e74 2073 7765 6570 737f 3234 3735 340a nt sweeps.24754. │ │ │ │ │ +00025cf0: 4e6f 6465 3a20 506f 6c79 6c69 6e65 2073 Node: Polyline s │ │ │ │ │ +00025d00: 7765 6570 737f 3235 3736 360a 4e6f 6465 weeps.25766.Node │ │ │ │ │ +00025d10: 3a20 4e65 7374 6564 2073 7765 6570 737f : Nested sweeps. │ │ │ │ │ +00025d20: 3236 3730 320a 4e6f 6465 3a20 506f 6c79 26702.Node: Poly │ │ │ │ │ +00025d30: 676f 6e20 7377 6565 7073 7f32 3830 3134 gon sweeps.28014 │ │ │ │ │ +00025d40: 0a4e 6f64 653a 2050 6f6c 796c 696e 6520 .Node: Polyline │ │ │ │ │ +00025d50: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos │ │ │ │ │ +00025d60: 7572 657f 3238 3436 370a 4e6f 6465 3a20 ure.28467.Node: │ │ │ │ │ +00025d70: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti │ │ │ │ │ +00025d80: 637f 3330 3136 360a 4e6f 6465 3a20 4d6f c.30166.Node: Mo │ │ │ │ │ +00025d90: 7265 2074 6f20 6c65 6172 6e7f 3332 3130 re to learn.3210 │ │ │ │ │ +00025da0: 340a 4e6f 6465 3a20 496e 7075 7420 6c61 4.Node: Input la │ │ │ │ │ +00025db0: 6e67 7561 6765 7f33 3234 3934 0a4e 6f64 nguage.32494.Nod │ │ │ │ │ +00025dc0: 653a 204c 616e 6775 6167 6520 6261 7369 e: Language basi │ │ │ │ │ +00025dd0: 6373 7f33 3239 3539 0a4e 6f64 653a 2049 cs.32959.Node: I │ │ │ │ │ +00025de0: 6465 6e74 6966 6965 7273 7f33 3433 3937 dentifiers.34397 │ │ │ │ │ +00025df0: 0a4e 6f64 653a 204b 6579 2061 6e64 2072 .Node: Key and r │ │ │ │ │ +00025e00: 6573 6572 7665 6420 776f 7264 737f 3334 eserved words.34 │ │ │ │ │ +00025e10: 3938 380a 4e6f 6465 3a20 4c69 7465 7261 988.Node: Litera │ │ │ │ │ +00025e20: 6c73 7f33 3538 3631 0a4e 6f64 653a 2053 ls.35861.Node: S │ │ │ │ │ +00025e30: 6361 6c61 7220 6c69 7465 7261 6c73 7f33 calar literals.3 │ │ │ │ │ +00025e40: 3633 3335 0a4e 6f64 653a 2050 6f69 6e74 6335.Node: Point │ │ │ │ │ +00025e50: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite │ │ │ │ │ +00025e60: 7261 6c73 7f33 3637 3136 0a4e 6f64 653a rals.36716.Node: │ │ │ │ │ +00025e70: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter │ │ │ │ │ +00025e80: 616c 737f 3337 3039 330a 4e6f 6465 3a20 als.37093.Node: │ │ │ │ │ +00025e90: 4172 6974 686d 6574 6963 7f34 3231 3733 Arithmetic.42173 │ │ │ │ │ +00025ea0: 0a4e 6f64 653a 2054 776f 2d6f 7065 7261 .Node: Two-opera │ │ │ │ │ +00025eb0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form │ │ │ │ │ +00025ec0: 737f 3432 3534 310a 4e6f 6465 3a20 556e s.42541.Node: Un │ │ │ │ │ +00025ed0: 6172 7920 666f 726d 737f 3436 3232 320a ary forms.46222. │ │ │ │ │ +00025ee0: 4e6f 6465 3a20 4f70 7469 6f6e 737f 3437 Node: Options.47 │ │ │ │ │ +00025ef0: 3537 300a 4e6f 6465 3a20 5053 5472 6963 570.Node: PSTric │ │ │ │ │ +00025f00: 6b73 206f 7074 696f 6e73 7f34 3832 3839 ks options.48289 │ │ │ │ │ +00025f10: 0a4e 6f64 653a 2054 696b 5a2f 5047 4620 .Node: TikZ/PGF │ │ │ │ │ +00025f20: 6f70 7469 6f6e 737f 3439 3430 310a 4e6f options.49401.No │ │ │ │ │ +00025f30: 6465 3a20 446f 7473 2069 6e20 5469 6b5a de: Dots in TikZ │ │ │ │ │ +00025f40: 2f50 4746 7f35 3131 3432 0a4e 6f64 653a /PGF.51142.Node: │ │ │ │ │ +00025f50: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d │ │ │ │ │ +00025f60: 6566 696e 6564 2073 7479 6c65 737f 3531 efined styles.51 │ │ │ │ │ +00025f70: 3736 330a 5265 663a 2054 696b 5a2f 5047 763.Ref: TikZ/PG │ │ │ │ │ +00025f80: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s │ │ │ │ │ +00025f90: 7479 6c65 732d 466f 6f74 6e6f 7465 2d31 tyles-Footnote-1 │ │ │ │ │ +00025fa0: 7f35 3338 3231 0a4e 6f64 653a 2054 7261 .53821.Node: Tra │ │ │ │ │ +00025fb0: 6e73 7061 7265 6e63 797f 3533 3837 370a nsparency.53877. │ │ │ │ │ +00025fc0: 4e6f 6465 3a20 496e 7465 726e 616c 206f Node: Internal o │ │ │ │ │ +00025fd0: 7074 696f 6e73 7f35 3437 3235 0a4e 6f64 ptions.54725.Nod │ │ │ │ │ +00025fe0: 653a 2044 7261 7761 626c 6573 7f35 3634 e: Drawables.564 │ │ │ │ │ +00025ff0: 3936 0a4e 6f64 653a 2044 6f74 737f 3537 96.Node: Dots.57 │ │ │ │ │ +00026000: 3439 350a 4e6f 6465 3a20 4c69 6e65 737f 495.Node: Lines. │ │ │ │ │ +00026010: 3537 3733 350a 4e6f 6465 3a20 4375 7276 57735.Node: Curv │ │ │ │ │ +00026020: 6573 7f35 3739 3734 0a4e 6f64 653a 2050 es.57974.Node: P │ │ │ │ │ +00026030: 6f6c 7967 6f6e 737f 3538 3238 340a 4e6f olygons.58284.No │ │ │ │ │ +00026040: 6465 3a20 5370 6563 6961 6c73 7f35 3837 de: Specials.587 │ │ │ │ │ +00026050: 3231 0a4e 6f64 653a 2053 7765 6570 737f 21.Node: Sweeps. │ │ │ │ │ +00026060: 3631 3039 360a 4e6f 6465 3a20 5377 6570 61096.Node: Swep │ │ │ │ │ +00026070: 7420 706f 696e 7473 7f36 3233 3739 0a4e t points.62379.N │ │ │ │ │ +00026080: 6f64 653a 2053 7765 7074 206c 696e 6573 ode: Swept lines │ │ │ │ │ +00026090: 7f36 3334 3738 0a4e 6f64 653a 2053 7765 .63478.Node: Swe │ │ │ │ │ +000260a0: 7074 2070 6f6c 7967 6f6e 737f 3636 3130 pt polygons.6610 │ │ │ │ │ +000260b0: 340a 4e6f 6465 3a20 5377 6570 7420 626c 4.Node: Swept bl │ │ │ │ │ +000260c0: 6f63 6b73 7f36 3736 3737 0a4e 6f64 653a ocks.67677.Node: │ │ │ │ │ +000260d0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli │ │ │ │ │ +000260e0: 7474 696e 677f 3638 3234 350a 4e6f 6465 tting.68245.Node │ │ │ │ │ +000260f0: 3a20 426c 6f63 6b73 7f36 3838 3531 0a4e : Blocks.68851.N │ │ │ │ │ +00026100: 6f64 653a 2052 6570 6561 7473 7f36 3934 ode: Repeats.694 │ │ │ │ │ +00026110: 3536 0a4e 6f64 653a 2050 7574 737f 3730 56.Node: Puts.70 │ │ │ │ │ +00026120: 3130 360a 4e6f 6465 3a20 4465 6669 6e69 106.Node: Defini │ │ │ │ │ +00026130: 7469 6f6e 737f 3730 3239 310a 4e6f 6465 tions.70291.Node │ │ │ │ │ +00026140: 3a20 466f 726d 7320 6f66 2064 6566 696e : Forms of defin │ │ │ │ │ +00026150: 6974 696f 6e73 7f37 3135 3337 0a4e 6f64 itions.71537.Nod │ │ │ │ │ +00026160: 653a 2046 6f72 6d73 206f 6620 7265 6665 e: Forms of refe │ │ │ │ │ +00026170: 7265 6e63 6573 7f37 3234 3634 0a4e 6f64 rences.72464.Nod │ │ │ │ │ +00026180: 653a 2047 6c6f 6261 6c20 656e 7669 726f e: Global enviro │ │ │ │ │ +00026190: 6e6d 656e 747f 3733 3531 350a 4e6f 6465 nment.73515.Node │ │ │ │ │ +000261a0: 3a20 476c 6f62 616c 206f 7074 696f 6e73 : Global options │ │ │ │ │ +000261b0: 7f37 3434 3137 0a4e 6f64 653a 2043 616d .74417.Node: Cam │ │ │ │ │ +000261c0: 6572 617f 3734 3938 300a 4e6f 6465 3a20 era.74980.Node: │ │ │ │ │ +000261d0: 5069 6374 7572 6520 626f 787f 3735 3339 Picture box.7539 │ │ │ │ │ +000261e0: 310a 4e6f 6465 3a20 4672 616d 657f 3736 1.Node: Frame.76 │ │ │ │ │ +000261f0: 3434 320a 4e6f 6465 3a20 4c61 6e67 7561 442.Node: Langua │ │ │ │ │ +00026200: 6765 7f37 3639 3130 0a4e 6f64 653a 2042 ge.76910.Node: B │ │ │ │ │ +00026210: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin │ │ │ │ │ +00026220: 677f 3737 3933 330a 4e6f 6465 3a20 4f76 g.77933.Node: Ov │ │ │ │ │ +00026230: 6572 7669 6577 7f37 3837 3432 0a4e 6f64 erview.78742.Nod │ │ │ │ │ +00026240: 653a 2041 2074 6563 686e 6963 616c 2064 e: A technical d │ │ │ │ │ +00026250: 7261 7769 6e67 7f38 3632 3736 0a4e 6f64 rawing.86276.Nod │ │ │ │ │ +00026260: 653a 2041 2068 6965 7261 7263 6869 6361 e: A hierarchica │ │ │ │ │ +00026270: 6c20 6d6f 6465 6c7f 3931 3039 310a 4e6f l model.91091.No │ │ │ │ │ +00026280: 6465 3a20 4361 7665 6174 737f 3937 3534 de: Caveats.9754 │ │ │ │ │ +00026290: 360a 4e6f 6465 3a20 4c69 6d69 7473 206f 6.Node: Limits o │ │ │ │ │ +000262a0: 6e20 6572 726f 7220 6465 7465 6374 696f n error detectio │ │ │ │ │ +000262b0: 6e7f 3938 3132 380a 4e6f 6465 3a20 436c n.98128.Node: Cl │ │ │ │ │ +000262c0: 6970 7069 6e67 7f39 3936 3134 0a4e 6f64 ipping.99614.Nod │ │ │ │ │ +000262d0: 653a 2048 6964 6465 6e20 7375 7266 6163 e: Hidden surfac │ │ │ │ │ +000262e0: 6520 7265 6d6f 7661 6c7f 3130 3030 3331 e removal.100031 │ │ │ │ │ +000262f0: 0a52 6566 3a20 4869 6464 656e 2073 7572 .Ref: Hidden sur │ │ │ │ │ +00026300: 6661 6365 2072 656d 6f76 616c 2d46 6f6f face removal-Foo │ │ │ │ │ +00026310: 746e 6f74 652d 317f 3130 3134 3533 0a52 tnote-1.101453.R │ │ │ │ │ +00026320: 6566 3a20 4869 6464 656e 2073 7572 6661 ef: Hidden surfa │ │ │ │ │ +00026330: 6365 2072 656d 6f76 616c 2d46 6f6f 746e ce removal-Footn │ │ │ │ │ +00026340: 6f74 652d 327f 3130 3136 3332 0a4e 6f64 ote-2.101632.Nod │ │ │ │ │ +00026350: 653a 2053 7461 7469 7374 6963 737f 3130 e: Statistics.10 │ │ │ │ │ +00026360: 3230 3138 0a4e 6f64 653a 2042 7567 7320 2018.Node: Bugs │ │ │ │ │ +00026370: 616e 6420 616e 6f6d 616c 6965 737f 3130 and anomalies.10 │ │ │ │ │ +00026380: 3333 3135 0a52 6566 3a20 4275 6773 2061 3315.Ref: Bugs a │ │ │ │ │ +00026390: 6e64 2061 6e6f 6d61 6c69 6573 2d46 6f6f nd anomalies-Foo │ │ │ │ │ +000263a0: 746e 6f74 652d 317f 3130 3531 3734 0a4e tnote-1.105174.N │ │ │ │ │ +000263b0: 6f64 653a 2043 6f6d 6d61 6e64 206c 696e ode: Command lin │ │ │ │ │ +000263c0: 657f 3130 3532 3733 0a4e 6f64 653a 2049 e.105273.Node: I │ │ │ │ │ +000263d0: 6e73 7461 6c6c 696e 6720 736b 6574 6368 nstalling sketch │ │ │ │ │ +000263e0: 7f31 3038 3033 330a 4e6f 6465 3a20 496e .108033.Node: In │ │ │ │ │ +000263f0: 6465 7820 6f66 2073 796e 7461 787f 3131 dex of syntax.11 │ │ │ │ │ +00026400: 3131 3136 0a4e 6f64 653a 2049 6e64 6578 1116.Node: Index │ │ │ │ │ +00026410: 7f31 3238 3438 360a 1f0a 456e 6420 5461 .128486...End Ta │ │ │ │ │ +00026420: 6720 5461 626c 650a 0a1f 0a4c 6f63 616c g Table....Local │ │ │ │ │ +00026430: 2056 6172 6961 626c 6573 3a0a 636f 6469 Variables:.codi │ │ │ │ │ +00026440: 6e67 3a20 7574 662d 380a 456e 643a 0a ng: utf-8.End:. │ │ ├── xz --list │ │ │ @@ -1,13 +1,13 @@ │ │ │ Streams: 1 │ │ │ Blocks: 1 │ │ │ - Compressed size: 1139.8 KiB (1167188 B) │ │ │ + Compressed size: 1139.9 KiB (1167208 B) │ │ │ Uncompressed size: 1690.0 KiB (1730560 B) │ │ │ Ratio: 0.674 │ │ │ Check: CRC64 │ │ │ Stream Padding: 0 B │ │ │ Streams: │ │ │ Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding │ │ │ - 1 1 0 0 1167188 1730560 0.674 CRC64 0 │ │ │ + 1 1 0 0 1167208 1730560 0.674 CRC64 0 │ │ │ Blocks: │ │ │ Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check │ │ │ - 1 1 12 0 1167152 1730560 0.674 CRC64 │ │ │ + 1 1 12 0 1167172 1730560 0.674 CRC64 ├── sketch_0.3.7-12_amd64.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2020-11-07 02:36:18.000000 debian-binary │ │ -rw-r--r-- 0 0 0 1040 2020-11-07 02:36:18.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 61224 2020-11-07 02:36:18.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 61192 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,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.property │ │ │ │ │ Owner Data size Description │ │ │ │ │ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 Properties: x86 ISA needed: x86-64-baseline │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ │ Owner Data size Description │ │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 93c6f91e128511c7b42deb14ab9b2e8ba327bb3d │ │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 1c9409fb1f8923dade21a423ca18723073046d57 │ │ │ │ │ │ │ │ │ │ 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 {} │ │ │ │ │ @@ -323,15 +323,15 @@ │ │ │ │ │ -U tag Undefine given tag │ │ │ │ │ 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' │ │ │ │ │ unrecognized modifier of option '-T%c' │ │ │ │ │ missing PSTricks or TikZ version after -V │ │ │ │ │ -0.3 (build 7d, Thu May 16 03:23:29 2024) │ │ │ │ │ +0.3 (build 7d, Thu Jun 19 11:54:18 2025) │ │ │ │ │ %% assumes PSTricks version %s │ │ │ │ │ %% use -V to select earlier versions │ │ │ │ │ advance_to_next_file_name: unexpected option %c │ │ │ │ │ TikZ angle rounding error is %.2 degrees │ │ │ │ │ %% If your PSTricks is earlier than Version 1.20, it will fail here. │ │ │ │ │ %% Use sketch -V option for backward compatibility. │ │ │ │ │ \psset{linejoin=1} │ │ │ │ │ @@ -347,15 +347,15 @@ │ │ │ │ │ reference to special arg %d cannot accept a point │ │ │ │ │ reference to special arg %d cannot accept a vector │ │ │ │ │ reference to special arg %d: out of range [1-%d] │ │ │ │ │ bad tick option character in #%d'%c (try #{%d}'%c) │ │ │ │ │ unknown special arg from flatten │ │ │ │ │ use of '#' not as special arg (try ##) │ │ │ │ │ can't open document template '%s%' for input │ │ │ │ │ -%% Sketch output, version 0.3 (build 7d, Thu May 16 03:23:29 2024) │ │ │ │ │ +%% Sketch output, version 0.3 (build 7d, Thu Jun 19 11:54:18 2025) │ │ │ │ │ %% Output language: %s │ │ │ │ │ document template with no escape '%s' has been ignored │ │ │ │ │ more than one escape in document template; all but first ignored │ │ │ │ │ operands of + (types %s and %s) cannot be added │ │ │ │ │ operands of - (types %s and %s) cannot be subtracted │ │ │ │ │ operands of * (types %s and %s) cannot be multiplied │ │ │ │ │ operands of 'then' (types %s and %s) cannot be multiplied │ │ │ │ ├── readelf --wide --decompress --hex-dump=.rodata {} │ │ │ │ │ @@ -322,16 +322,16 @@ │ │ │ │ │ 0x0001a3f0 202d5470 2c202725 63270000 00000000 -Tp, '%c'...... │ │ │ │ │ 0x0001a400 756e7265 636f676e 697a6564 206d6f64 unrecognized mod │ │ │ │ │ 0x0001a410 69666965 72206f66 206f7074 696f6e20 ifier of option │ │ │ │ │ 0x0001a420 272d5425 63270000 6d697373 696e6720 '-T%c'..missing │ │ │ │ │ 0x0001a430 50535472 69636b73 206f7220 54696b5a PSTricks or TikZ │ │ │ │ │ 0x0001a440 20766572 73696f6e 20616674 6572202d version after - │ │ │ │ │ 0x0001a450 56000000 00000000 302e3320 28627569 V.......0.3 (bui │ │ │ │ │ - 0x0001a460 6c642037 642c2054 6875204d 61792031 ld 7d, Thu May 1 │ │ │ │ │ - 0x0001a470 36203033 3a32333a 32392032 30323429 6 03:23:29 2024) │ │ │ │ │ + 0x0001a460 6c642037 642c2054 6875204a 756e2031 ld 7d, Thu Jun 1 │ │ │ │ │ + 0x0001a470 39203131 3a35343a 31382032 30323529 9 11:54:18 2025) │ │ │ │ │ 0x0001a480 00000000 00000000 25252061 7373756d ........%% assum │ │ │ │ │ 0x0001a490 65732050 53547269 636b7320 76657273 es PSTricks vers │ │ │ │ │ 0x0001a4a0 696f6e20 25730a00 25252075 7365202d ion %s..%% use - │ │ │ │ │ 0x0001a4b0 5620746f 2073656c 65637420 6561726c V to select earl │ │ │ │ │ 0x0001a4c0 69657220 76657273 696f6e73 0a000000 ier versions.... │ │ │ │ │ 0x0001a4d0 61647661 6e63655f 746f5f6e 6578745f advance_to_next_ │ │ │ │ │ 0x0001a4e0 66696c65 5f6e616d 653a2075 6e657870 file_name: unexp │ │ │ │ │ @@ -396,16 +396,16 @@ │ │ │ │ │ 0x0001a890 73207370 65636961 6c206172 67202874 s special arg (t │ │ │ │ │ 0x0001a8a0 72792023 23290000 63616e27 74206f70 ry ##)..can't op │ │ │ │ │ 0x0001a8b0 656e2064 6f63756d 656e7420 74656d70 en document temp │ │ │ │ │ 0x0001a8c0 6c617465 20272573 25272066 6f722069 late '%s%' for i │ │ │ │ │ 0x0001a8d0 6e707574 0a000000 25252053 6b657463 nput....%% Sketc │ │ │ │ │ 0x0001a8e0 68206f75 74707574 2c207665 7273696f h output, versio │ │ │ │ │ 0x0001a8f0 6e20302e 33202862 75696c64 2037642c n 0.3 (build 7d, │ │ │ │ │ - 0x0001a900 20546875 204d6179 20313620 30333a32 Thu May 16 03:2 │ │ │ │ │ - 0x0001a910 333a3239 20323032 34290a25 25204f75 3:29 2024).%% Ou │ │ │ │ │ + 0x0001a900 20546875 204a756e 20313920 31313a35 Thu Jun 19 11:5 │ │ │ │ │ + 0x0001a910 343a3138 20323032 35290a25 25204f75 4:18 2025).%% Ou │ │ │ │ │ 0x0001a920 74707574 206c616e 67756167 653a2025 tput language: % │ │ │ │ │ 0x0001a930 730a0000 00000000 646f6375 6d656e74 s.......document │ │ │ │ │ 0x0001a940 2074656d 706c6174 65207769 7468206e template with n │ │ │ │ │ 0x0001a950 6f206573 63617065 20272573 27206861 o escape '%s' ha │ │ │ │ │ 0x0001a960 73206265 656e2069 676e6f72 65640000 s been ignored.. │ │ │ │ │ 0x0001a970 6d6f7265 20746861 6e206f6e 65206573 more than one es │ │ │ │ │ 0x0001a980 63617065 20696e20 646f6375 6d656e74 cape in document │ │ │ │ ├── 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 63366639 31653132 38353131 63376234 c6f91e128511c7b4 │ │ │ │ │ - 0x00000010 32646562 31346162 39623265 38626133 2deb14ab9b2e8ba3 │ │ │ │ │ - 0x00000020 32376262 33642e64 65627567 00000000 27bb3d.debug.... │ │ │ │ │ - 0x00000030 af235733 .#W3 │ │ │ │ │ + 0x00000000 39343039 66623166 38393233 64616465 9409fb1f8923dade │ │ │ │ │ + 0x00000010 32316134 32336361 31383732 33303733 21a423ca18723073 │ │ │ │ │ + 0x00000020 30343664 35372e64 65627567 00000000 046d57.debug.... │ │ │ │ │ + 0x00000030 cf3afd90 .:.. │ │ ├── xz --list │ │ │ @@ -1,13 +1,13 @@ │ │ │ Streams: 1 │ │ │ Blocks: 1 │ │ │ - Compressed size: 59.8 KiB (61224 B) │ │ │ + Compressed size: 59.8 KiB (61192 B) │ │ │ Uncompressed size: 180.0 KiB (184320 B) │ │ │ Ratio: 0.332 │ │ │ Check: CRC64 │ │ │ Stream Padding: 0 B │ │ │ Streams: │ │ │ Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding │ │ │ - 1 1 0 0 61224 184320 0.332 CRC64 0 │ │ │ + 1 1 0 0 61192 184320 0.332 CRC64 0 │ │ │ Blocks: │ │ │ Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check │ │ │ - 1 1 12 0 61188 184320 0.332 CRC64 │ │ │ + 1 1 12 0 61156 184320 0.332 CRC64 ├── sketch-dbgsym_0.3.7-12_amd64.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 536 2020-11-07 02:36:18.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 196000 2020-11-07 02:36:18.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 532 2020-11-07 02:36:18.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 195992 2020-11-07 02:36:18.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -5,8 +5,8 @@ │ │ │ │ Architecture: amd64 │ │ │ │ Maintainer: Debian Science Maintainers │ │ │ │ Installed-Size: 224 │ │ │ │ Depends: sketch (= 1:0.3.7-12) │ │ │ │ Section: debug │ │ │ │ Priority: optional │ │ │ │ Description: debug symbols for sketch │ │ │ │ -Build-Ids: 93c6f91e128511c7b42deb14ab9b2e8ba327bb3d │ │ │ │ +Build-Ids: 1c9409fb1f8923dade21a423ca18723073046d57 │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ │ │ │ ├── line order │ │ │ │ │ @@ -1 +1 @@ │ │ │ │ │ -usr/lib/debug/.build-id/93/c6f91e128511c7b42deb14ab9b2e8ba327bb3d.debug │ │ │ │ │ +usr/lib/debug/.build-id/1c/9409fb1f8923dade21a423ca18723073046d57.debug │ │ ├── xz --list │ │ │ @@ -1,13 +1,13 @@ │ │ │ Streams: 1 │ │ │ Blocks: 1 │ │ │ - Compressed size: 536 B │ │ │ + Compressed size: 532 B │ │ │ Uncompressed size: 10.0 KiB (10240 B) │ │ │ Ratio: 0.052 │ │ │ Check: CRC64 │ │ │ Stream Padding: 0 B │ │ │ Streams: │ │ │ Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding │ │ │ - 1 1 0 0 536 10240 0.052 CRC64 0 │ │ │ + 1 1 0 0 532 10240 0.052 CRC64 0 │ │ │ Blocks: │ │ │ Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check │ │ │ - 1 1 12 0 500 10240 0.049 CRC64 │ │ │ + 1 1 12 0 496 10240 0.048 CRC64 │ ├── 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/93/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 218528 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/93/c6f91e128511c7b42deb14ab9b2e8ba327bb3d.debug │ │ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/1c/ │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 218528 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/1c/9409fb1f8923dade21a423ca18723073046d57.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/93/c6f91e128511c7b42deb14ab9b2e8ba327bb3d.debug │ │ │ ├── +++ ./usr/lib/debug/.build-id/1c/9409fb1f8923dade21a423ca18723073046d57.debug │ │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied. │ │ │ │┄ Files 0% similar despite different names │ │ │ │ ├── readelf --wide --notes {} │ │ │ │ │┄ error from `readelf --wide --notes {}`: │ │ │ │ │┄ readelf: Error: Unable to find program interpreter name │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.property │ │ │ │ │ Owner Data size Description │ │ │ │ │ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 Properties: x86 ISA needed: x86-64-baseline │ │ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ │ Owner Data size Description │ │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 93c6f91e128511c7b42deb14ab9b2e8ba327bb3d │ │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 1c9409fb1f8923dade21a423ca18723073046d57 │ │ │ │ │ │ │ │ │ │ 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 │ │ ├── xz --list │ │ │ @@ -1,13 +1,13 @@ │ │ │ Streams: 1 │ │ │ Blocks: 1 │ │ │ - Compressed size: 191.4 KiB (196000 B) │ │ │ + Compressed size: 191.4 KiB (195992 B) │ │ │ Uncompressed size: 220.0 KiB (225280 B) │ │ │ Ratio: 0.870 │ │ │ Check: CRC64 │ │ │ Stream Padding: 0 B │ │ │ Streams: │ │ │ Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding │ │ │ - 1 1 0 0 196000 225280 0.870 CRC64 0 │ │ │ + 1 1 0 0 195992 225280 0.870 CRC64 0 │ │ │ Blocks: │ │ │ Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check │ │ │ - 1 1 12 0 195964 225280 0.870 CRC64 │ │ │ + 1 1 12 0 195956 225280 0.870 CRC64