diff options
author | Karl Berry <karl@freefriends.org> | 2019-02-03 22:44:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-02-03 22:44:58 +0000 |
commit | 2dcfe2f07af05124d5ebee4672d67d7eeae7af60 (patch) | |
tree | 7008760d5ea7041b1f981e9c3d1d8ef6719013ce /Master/texmf-dist/doc/support/ketcindy/source | |
parent | 9c1b590fa92293b7bc04195a05641af25185dc64 (diff) |
ketcindy (3feb19)
git-svn-id: svn://tug.org/texlive/trunk@49922 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/support/ketcindy/source')
26 files changed, 5668 insertions, 918 deletions
diff --git a/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallE.tex b/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallE.tex index 85a7d653ab2..9b74fd050df 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallE.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallE.tex @@ -57,15 +57,13 @@ installing of KeTCindy \item Install KeTCdindy \begin{enumerate}[(1)] \item Download ketcindy from CTAN(\url{https://ctan.org}).\\ - \hspace*{10mm}Search ketcindy > Package ketcindy > download + \hspace*{10mm}Search ketcindy $>$ Package ketcindy $>$ download \begin{itemize} - \item[Rem)]The latest version can be download from Repository:\\ - \hspace*{5mm}\url{https://github.com/ketpic/ketcindy}\\ - \hspace*{10mm}Clone or download > Download ZIP - \item[Rem)]Download ketcindy-master as follows\\ - \hspace*{10mm}Clone or download > Download ZIP + \item[Rem)]The latest version can be downloaded from Repository:\\ + \hspace*{5mm}\url{https://github.com/ketpic/ketcindy}\\ + \hspace*{10mm}Clone or download $>$ Download ZIP \end{itemize} - \item Install KeTCindy according to Readme in forMac/forWindow/forLinux. + \item Install KeTCindy according to Readme in forMac/forWindows/forLinux. \end{enumerate} \end{enumerate} diff --git a/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallJ.tex b/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallJ.tex index b077cd507cb..040eda3d567 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallJ.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/howtoinstall/HowToInstallJ.tex @@ -53,15 +53,15 @@ KETCindyのインストール \item KeTCindyのインストール \begin{enumerate}[(1)] \item ketcindyをCTAN(\url{https://ctan.org})からダウンロードする.\\ - \hspace*{10mm}ketcindyで検索 > Package ketcindy > download + \hspace*{10mm}ketcindyで検索 $>$ Package ketcindy $>$ download \begin{itemize} \item[注)]最新版は,Repositoryのサイト\\ - \hspace*{10mm}\url{https://github.com/ketpic/ketcindy}\\ + \hspace*{10mm}\url{https://github.com/ketpic/ketcindy}\\ から以下のようにダウンロードできる.\\ - \hspace*{10mm}Clone or download > Download ZIP + \hspace*{10mm}Clone or download $>$ Download ZIP \item[注)]この場合は,ketcindy-masterになる. \end{itemize} - \item forMac/forWindow/forLinuxにあるReadmeに従って,インストールする. + \item forMac/forWindows/forLinuxにあるReadmeに従って,インストールする. \end{enumerate} \end{enumerate} diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/Intersectcurvsf.pdf b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/Intersectcurvsf.pdf Binary files differindex 2e5d37e25d8..875cfc72245 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/Intersectcurvsf.pdf +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/Intersectcurvsf.pdf diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustume.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustume.tex new file mode 100644 index 00000000000..83d47a9539e --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustume.tex @@ -0,0 +1,71 @@ +%%% /Users/hannya/Desktop/fig/frustume.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(4.67,3.66)(-2.24,-1.05)% +\special{pn 8}% +% +\special{pa 548 -13}\special{pa 544 -20}% +\special{fp}% +\special{pa 544 -20}\special{pa 542 -24}\special{pa 542 -24}% +\special{fp}% +\special{pa 542 -24}\special{pa 537 -34}\special{pa 531 -45}\special{pa 526 -56}% +\special{pa 520 -66}\special{pa 515 -77}\special{pa 509 -87}\special{pa 504 -98}% +\special{pa 499 -109}\special{pa 493 -119}\special{pa 488 -130}\special{pa 482 -141}% +\special{pa 477 -151}\special{pa 471 -162}\special{pa 466 -173}\special{pa 460 -183}% +\special{pa 455 -194}\special{pa 449 -204}\special{pa 444 -215}\special{pa 438 -226}% +\special{pa 433 -236}\special{pa 427 -247}\special{pa 422 -258}\special{pa 416 -268}% +\special{pa 411 -279}\special{pa 405 -290}\special{pa 400 -300}\special{pa 394 -311}% +\special{pa 389 -321}\special{pa 383 -332}\special{pa 378 -343}\special{pa 373 -353}% +\special{pa 367 -364}\special{pa 362 -375}\special{pa 356 -385}\special{pa 351 -396}% +\special{pa 345 -407}\special{pa 340 -417}\special{pa 334 -428}\special{pa 329 -438}% +\special{pa 323 -449}\special{pa 318 -460}\special{pa 312 -470}\special{pa 307 -481}% +\special{pa 301 -492}\special{pa 296 -502}\special{pa 290 -513}\special{pa 285 -524}% +\special{pa 279 -534}\special{pa 274 -545}% +\special{fp}% +\special{pa -548 -13}\special{pa -542 -24}\special{pa -542 -24}% +\special{fp}% +\special{pa -542 -24}\special{pa -537 -34}\special{pa -531 -45}\special{pa -526 -56}% +\special{pa -520 -66}\special{pa -515 -77}\special{pa -509 -87}\special{pa -504 -98}% +\special{pa -499 -109}\special{pa -493 -119}\special{pa -488 -130}\special{pa -482 -141}% +\special{pa -477 -151}\special{pa -471 -162}\special{pa -466 -173}\special{pa -460 -183}% +\special{pa -455 -194}\special{pa -449 -204}\special{pa -444 -215}\special{pa -438 -226}% +\special{pa -433 -236}\special{pa -427 -247}\special{pa -422 -258}\special{pa -416 -268}% +\special{pa -411 -279}\special{pa -405 -290}\special{pa -400 -300}\special{pa -394 -311}% +\special{pa -389 -321}\special{pa -383 -332}\special{pa -378 -343}\special{pa -373 -353}% +\special{pa -367 -364}\special{pa -362 -375}\special{pa -356 -385}\special{pa -351 -396}% +\special{pa -345 -407}\special{pa -340 -417}\special{pa -334 -428}\special{pa -329 -438}% +\special{pa -323 -449}\special{pa -318 -460}\special{pa -312 -470}\special{pa -307 -481}% +\special{pa -301 -492}\special{pa -296 -502}\special{pa -290 -513}\special{pa -285 -524}% +\special{pa -279 -534}\special{pa -274 -545}% +\special{fp}% +\special{pa -432 74}\special{pa -386 85}\special{pa -333 94}\special{pa -275 103}% +\special{pa -213 109}\special{pa -148 114}\special{pa -80 117}\special{pa -11 118}% +\special{pa 58 118}\special{pa 126 115}\special{pa 192 111}\special{pa 256 105}% +\special{pa 315 97}\special{pa 369 88}\special{pa 417 77}\special{pa 459 65}% +\special{pa 494 53}\special{pa 521 39}\special{pa 539 25}\special{pa 549 10}% +\special{pa 551 -5}\special{pa 547 -13}% +\special{fp}% +\special{pa 547 -13}\special{pa 543 -20}\special{pa 541 -22}% +\special{fp}% +\special{pa -547 -13}\special{pa -549 -10}\special{pa -551 5}\special{pa -543 20}% +\special{pa -528 34}\special{pa -503 48}\special{pa -471 61}\special{pa -432 74}% +\special{fp}% +\special{pn 8}% +\special{pa 544 -20}\special{pa 537 -25}\special{fp}\special{pa 513 -43}\special{pa 506 -47}\special{fp}% +\special{pa 478 -59}\special{pa 470 -62}\special{fp}\special{pa 441 -71}\special{pa 433 -73}\special{fp}% +\special{pa 403 -80}\special{pa 395 -82}\special{fp}\special{pa 365 -88}\special{pa 357 -90}\special{fp}% +\special{pa 327 -95}\special{pa 319 -96}\special{fp}\special{pa 289 -101}\special{pa 281 -102}\special{fp}% +\special{pa 250 -105}\special{pa 242 -106}\special{fp}\special{pa 211 -109}\special{pa 203 -110}\special{fp}% +\special{pa 173 -112}\special{pa 165 -113}\special{fp}\special{pa 134 -115}\special{pa 126 -115}\special{fp}% +\special{pa 95 -116}\special{pa 87 -117}\special{fp}\special{pa 56 -118}\special{pa 48 -118}\special{fp}% +\special{pa 18 -118}\special{pa 10 -118}\special{fp}\special{pa -21 -118}\special{pa -29 -118}\special{fp}% +\special{pa -60 -118}\special{pa -68 -117}\special{fp}\special{pa -99 -116}\special{pa -107 -116}\special{fp}% +\special{pa -137 -114}\special{pa -145 -114}\special{fp}\special{pa -176 -112}\special{pa -184 -111}\special{fp}% +\special{pa -215 -109}\special{pa -223 -108}\special{fp}\special{pa -254 -105}\special{pa -261 -104}\special{fp}% +\special{pa -292 -100}\special{pa -300 -99}\special{fp}\special{pa -330 -94}\special{pa -338 -93}\special{fp}% +\special{pa -369 -88}\special{pa -376 -86}\special{fp}\special{pa -407 -80}\special{pa -414 -78}\special{fp}% +\special{pa -444 -70}\special{pa -452 -67}\special{fp}\special{pa -481 -58}\special{pa -488 -55}\special{fp}% +\special{pa -516 -42}\special{pa -523 -37}\special{fp}\special{pa -544 -16}\special{pa -550 -10}\special{fp}% +\special{pn 8}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumew.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumew.tex new file mode 100644 index 00000000000..d4fc2f96b1b --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumew.tex @@ -0,0 +1,89 @@ +%%% /Users/hannya/Desktop/fig/frustumew.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(4.67,3.66)(-2.24,-1.05)% +\special{pn 8}% +% +\special{pa 548 -13}\special{pa 544 -20}% +\special{fp}% +\special{pa 544 -20}\special{pa 542 -24}\special{pa 542 -24}% +\special{fp}% +\special{pa 542 -24}\special{pa 537 -34}\special{pa 531 -45}\special{pa 526 -56}% +\special{pa 520 -66}\special{pa 515 -77}\special{pa 509 -87}\special{pa 504 -98}% +\special{pa 499 -109}\special{pa 493 -119}\special{pa 488 -130}\special{pa 482 -141}% +\special{pa 477 -151}\special{pa 471 -162}\special{pa 466 -173}\special{pa 460 -183}% +\special{pa 455 -194}\special{pa 449 -204}\special{pa 444 -215}\special{pa 438 -226}% +\special{pa 433 -236}\special{pa 427 -247}\special{pa 422 -258}\special{pa 416 -268}% +\special{pa 411 -279}\special{pa 405 -290}\special{pa 400 -300}\special{pa 394 -311}% +\special{pa 389 -321}\special{pa 383 -332}\special{pa 378 -343}\special{pa 373 -353}% +\special{pa 367 -364}\special{pa 362 -375}\special{pa 356 -385}\special{pa 351 -396}% +\special{pa 345 -407}\special{pa 340 -417}\special{pa 334 -428}\special{pa 329 -438}% +\special{pa 323 -449}\special{pa 318 -460}\special{pa 312 -470}\special{pa 307 -481}% +\special{pa 301 -492}\special{pa 296 -502}\special{pa 290 -513}\special{pa 285 -524}% +\special{pa 279 -534}\special{pa 274 -545}% +\special{fp}% +\special{pa -548 -13}\special{pa -542 -24}\special{pa -542 -24}% +\special{fp}% +\special{pa -542 -24}\special{pa -537 -34}\special{pa -531 -45}\special{pa -526 -56}% +\special{pa -520 -66}\special{pa -515 -77}\special{pa -509 -87}\special{pa -504 -98}% +\special{pa -499 -109}\special{pa -493 -119}\special{pa -488 -130}\special{pa -482 -141}% +\special{pa -477 -151}\special{pa -471 -162}\special{pa -466 -173}\special{pa -460 -183}% +\special{pa -455 -194}\special{pa -449 -204}\special{pa -444 -215}\special{pa -438 -226}% +\special{pa -433 -236}\special{pa -427 -247}\special{pa -422 -258}\special{pa -416 -268}% +\special{pa -411 -279}\special{pa -405 -290}\special{pa -400 -300}\special{pa -394 -311}% +\special{pa -389 -321}\special{pa -383 -332}\special{pa -378 -343}\special{pa -373 -353}% +\special{pa -367 -364}\special{pa -362 -375}\special{pa -356 -385}\special{pa -351 -396}% +\special{pa -345 -407}\special{pa -340 -417}\special{pa -334 -428}\special{pa -329 -438}% +\special{pa -323 -449}\special{pa -318 -460}\special{pa -312 -470}\special{pa -307 -481}% +\special{pa -301 -492}\special{pa -296 -502}\special{pa -290 -513}\special{pa -285 -524}% +\special{pa -279 -534}\special{pa -274 -545}% +\special{fp}% +\special{pa -432 74}\special{pa -386 85}\special{pa -333 94}\special{pa -275 103}% +\special{pa -213 109}\special{pa -148 114}\special{pa -80 117}\special{pa -11 118}% +\special{pa 58 118}\special{pa 126 115}\special{pa 192 111}\special{pa 256 105}% +\special{pa 315 97}\special{pa 369 88}\special{pa 417 77}\special{pa 459 65}% +\special{pa 494 53}\special{pa 521 39}\special{pa 539 25}\special{pa 549 10}% +\special{pa 551 -5}\special{pa 547 -13}% +\special{fp}% +\special{pa 547 -13}\special{pa 543 -20}\special{pa 541 -22}% +\special{fp}% +\special{pa -547 -13}\special{pa -549 -10}\special{pa -551 5}\special{pa -543 20}% +\special{pa -528 34}\special{pa -503 48}\special{pa -471 61}\special{pa -432 74}% +\special{fp}% +\special{pa -216 -502}\special{pa -193 -496}\special{pa -167 -491}\special{pa -138 -487}% +\special{pa -107 -484}\special{pa -74 -481}\special{pa -40 -480}\special{pa -6 -479}% +\special{pa 29 -479}\special{pa 63 -481}\special{pa 96 -483}\special{pa 128 -486}% +\special{pa 157 -490}\special{pa 184 -494}\special{pa 209 -500}\special{pa 230 -506}% +\special{pa 247 -512}\special{pa 260 -519}\special{pa 270 -526}\special{pa 275 -533}% +\special{pa 275 -541}\special{pa 274 -544}% +\special{fp}% +\special{pa 274 -544}\special{pa 272 -548}\special{pa 264 -555}\special{pa 252 -562}% +\special{pa 236 -569}\special{pa 216 -575}\special{pa 193 -581}\special{pa 167 -585}% +\special{pa 138 -590}\special{pa 107 -593}\special{pa 74 -595}\special{pa 40 -597}% +\special{pa 6 -597}\special{pa -29 -597}\special{pa -63 -596}\special{pa -96 -594}% +\special{pa -128 -591}\special{pa -157 -587}\special{pa -184 -582}\special{pa -209 -577}% +\special{pa -230 -571}\special{pa -247 -565}\special{pa -260 -558}\special{pa -270 -551}% +\special{pa -274 -545}% +\special{fp}% +\special{pa -274 -545}\special{pa -275 -543}\special{pa -275 -536}\special{pa -272 -528}% +\special{pa -264 -521}\special{pa -252 -514}\special{pa -236 -508}\special{pa -216 -502}% +\special{fp}% +\special{pn 8}% +\special{pa 544 -20}\special{pa 537 -25}\special{fp}\special{pa 513 -43}\special{pa 506 -47}\special{fp}% +\special{pa 478 -59}\special{pa 470 -62}\special{fp}\special{pa 441 -71}\special{pa 433 -73}\special{fp}% +\special{pa 403 -80}\special{pa 395 -82}\special{fp}\special{pa 365 -88}\special{pa 357 -90}\special{fp}% +\special{pa 327 -95}\special{pa 319 -96}\special{fp}\special{pa 289 -101}\special{pa 281 -102}\special{fp}% +\special{pa 250 -105}\special{pa 242 -106}\special{fp}\special{pa 211 -109}\special{pa 203 -110}\special{fp}% +\special{pa 173 -112}\special{pa 165 -113}\special{fp}\special{pa 134 -115}\special{pa 126 -115}\special{fp}% +\special{pa 95 -116}\special{pa 87 -117}\special{fp}\special{pa 56 -118}\special{pa 48 -118}\special{fp}% +\special{pa 18 -118}\special{pa 10 -118}\special{fp}\special{pa -21 -118}\special{pa -29 -118}\special{fp}% +\special{pa -60 -118}\special{pa -68 -117}\special{fp}\special{pa -99 -116}\special{pa -107 -116}\special{fp}% +\special{pa -137 -114}\special{pa -145 -114}\special{fp}\special{pa -176 -112}\special{pa -184 -111}\special{fp}% +\special{pa -215 -109}\special{pa -223 -108}\special{fp}\special{pa -254 -105}\special{pa -261 -104}\special{fp}% +\special{pa -292 -100}\special{pa -300 -99}\special{fp}\special{pa -330 -94}\special{pa -338 -93}\special{fp}% +\special{pa -369 -88}\special{pa -376 -86}\special{fp}\special{pa -407 -80}\special{pa -414 -78}\special{fp}% +\special{pa -444 -70}\special{pa -452 -67}\special{fp}\special{pa -481 -58}\special{pa -488 -55}\special{fp}% +\special{pa -516 -42}\special{pa -523 -37}\special{fp}\special{pa -544 -16}\special{pa -550 -10}\special{fp}% +\special{pn 8}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumewn.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumewn.tex new file mode 100644 index 00000000000..12ccd057bbb --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumewn.tex @@ -0,0 +1,105 @@ +%%% /Users/hannya/Desktop/fig/frustumewn.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(4.67,3.66)(-2.24,-1.05)% +\special{pn 8}% +% +\special{pa 548 -13}\special{pa 544 -20}% +\special{fp}% +\special{pa 544 -20}\special{pa 542 -24}\special{pa 542 -24}% +\special{fp}% +\special{pa 542 -24}\special{pa 537 -34}\special{pa 531 -45}\special{pa 526 -56}% +\special{pa 520 -66}\special{pa 515 -77}\special{pa 509 -87}\special{pa 504 -98}% +\special{pa 499 -109}\special{pa 493 -119}\special{pa 488 -130}\special{pa 482 -141}% +\special{pa 477 -151}\special{pa 471 -162}\special{pa 466 -173}\special{pa 460 -183}% +\special{pa 455 -194}\special{pa 449 -204}\special{pa 444 -215}\special{pa 438 -226}% +\special{pa 433 -236}\special{pa 427 -247}\special{pa 422 -258}\special{pa 416 -268}% +\special{pa 411 -279}\special{pa 405 -290}\special{pa 400 -300}\special{pa 394 -311}% +\special{pa 389 -321}\special{pa 383 -332}\special{pa 378 -343}\special{pa 373 -353}% +\special{pa 367 -364}\special{pa 362 -375}\special{pa 356 -385}\special{pa 351 -396}% +\special{pa 345 -407}\special{pa 340 -417}\special{pa 334 -428}\special{pa 329 -438}% +\special{pa 323 -449}\special{pa 318 -460}\special{pa 312 -470}\special{pa 307 -481}% +\special{pa 301 -492}\special{pa 296 -502}\special{pa 290 -513}\special{pa 285 -524}% +\special{pa 279 -534}\special{pa 274 -545}% +\special{fp}% +\special{pa -548 -13}\special{pa -542 -24}\special{pa -542 -24}% +\special{fp}% +\special{pa -542 -24}\special{pa -537 -34}\special{pa -531 -45}\special{pa -526 -56}% +\special{pa -520 -66}\special{pa -515 -77}\special{pa -509 -87}\special{pa -504 -98}% +\special{pa -499 -109}\special{pa -493 -119}\special{pa -488 -130}\special{pa -482 -141}% +\special{pa -477 -151}\special{pa -471 -162}\special{pa -466 -173}\special{pa -460 -183}% +\special{pa -455 -194}\special{pa -449 -204}\special{pa -444 -215}\special{pa -438 -226}% +\special{pa -433 -236}\special{pa -427 -247}\special{pa -422 -258}\special{pa -416 -268}% +\special{pa -411 -279}\special{pa -405 -290}\special{pa -400 -300}\special{pa -394 -311}% +\special{pa -389 -321}\special{pa -383 -332}\special{pa -378 -343}\special{pa -373 -353}% +\special{pa -367 -364}\special{pa -362 -375}\special{pa -356 -385}\special{pa -351 -396}% +\special{pa -345 -407}\special{pa -340 -417}\special{pa -334 -428}\special{pa -329 -438}% +\special{pa -323 -449}\special{pa -318 -460}\special{pa -312 -470}\special{pa -307 -481}% +\special{pa -301 -492}\special{pa -296 -502}\special{pa -290 -513}\special{pa -285 -524}% +\special{pa -279 -534}\special{pa -274 -545}% +\special{fp}% +\special{pa -432 74}\special{pa -386 85}\special{pa -333 94}\special{pa -275 103}% +\special{pa -213 109}\special{pa -148 114}\special{pa -80 117}\special{pa -11 118}% +\special{pa 58 118}\special{pa 126 115}\special{pa 192 111}\special{pa 256 105}% +\special{pa 315 97}\special{pa 369 88}\special{pa 417 77}\special{pa 459 65}% +\special{pa 494 53}\special{pa 521 39}\special{pa 539 25}\special{pa 549 10}% +\special{pa 551 -5}\special{pa 547 -13}% +\special{fp}% +\special{pa 547 -13}\special{pa 543 -20}\special{pa 541 -22}% +\special{fp}% +\special{pa -547 -13}\special{pa -549 -10}\special{pa -551 5}\special{pa -543 20}% +\special{pa -528 34}\special{pa -503 48}\special{pa -471 61}\special{pa -432 74}% +\special{fp}% +\special{pa -216 -502}\special{pa -220 -490}\special{pa -225 -479}\special{pa -229 -467}% +\special{pa -233 -456}\special{pa -238 -444}\special{pa -242 -433}\special{pa -246 -421}% +\special{pa -250 -410}\special{pa -255 -398}\special{pa -259 -387}\special{pa -263 -375}% +\special{pa -268 -364}\special{pa -272 -352}\special{pa -276 -341}\special{pa -281 -329}% +\special{pa -285 -318}\special{pa -289 -306}\special{pa -294 -294}\special{pa -298 -283}% +\special{pa -302 -271}\special{pa -307 -260}\special{pa -311 -248}\special{pa -315 -237}% +\special{pa -320 -225}\special{pa -324 -214}\special{pa -328 -202}\special{pa -333 -191}% +\special{pa -337 -179}\special{pa -341 -168}\special{pa -345 -156}\special{pa -350 -145}% +\special{pa -354 -133}\special{pa -358 -122}\special{pa -363 -110}\special{pa -367 -99}% +\special{pa -371 -87}% +\special{fp}% +\special{pa -371 -87}\special{pa -371 -87}\special{pa -376 -76}\special{pa -380 -64}% +\special{pa -384 -53}\special{pa -389 -41}\special{pa -393 -30}\special{pa -397 -18}% +\special{pa -402 -7}\special{pa -406 5}\special{pa -410 16}\special{pa -415 28}% +\special{pa -419 39}\special{pa -423 51}\special{pa -428 62}\special{pa -432 74}% +\special{fp}% +\special{pa -216 -502}\special{pa -193 -496}\special{pa -167 -491}\special{pa -138 -487}% +\special{pa -107 -484}\special{pa -74 -481}\special{pa -40 -480}\special{pa -6 -479}% +\special{pa 29 -479}\special{pa 63 -481}\special{pa 96 -483}\special{pa 128 -486}% +\special{pa 157 -490}\special{pa 184 -494}\special{pa 209 -500}\special{pa 230 -506}% +\special{pa 247 -512}\special{pa 260 -519}\special{pa 270 -526}\special{pa 275 -533}% +\special{pa 275 -541}\special{pa 274 -544}% +\special{fp}% +\special{pa 274 -544}\special{pa 272 -548}\special{pa 264 -555}\special{pa 252 -562}% +\special{pa 236 -569}\special{pa 216 -575}\special{pa 193 -581}\special{pa 167 -585}% +\special{pa 138 -590}\special{pa 107 -593}\special{pa 74 -595}\special{pa 40 -597}% +\special{pa 6 -597}\special{pa -29 -597}\special{pa -63 -596}\special{pa -96 -594}% +\special{pa -128 -591}\special{pa -157 -587}\special{pa -184 -582}\special{pa -209 -577}% +\special{pa -230 -571}\special{pa -247 -565}\special{pa -260 -558}\special{pa -270 -551}% +\special{pa -274 -545}% +\special{fp}% +\special{pa -274 -545}\special{pa -275 -543}\special{pa -275 -536}\special{pa -272 -528}% +\special{pa -264 -521}\special{pa -252 -514}\special{pa -236 -508}\special{pa -216 -502}% +\special{fp}% +\special{pn 8}% +\special{pa 544 -20}\special{pa 537 -25}\special{fp}\special{pa 513 -43}\special{pa 506 -47}\special{fp}% +\special{pa 478 -59}\special{pa 470 -62}\special{fp}\special{pa 441 -71}\special{pa 433 -73}\special{fp}% +\special{pa 403 -80}\special{pa 395 -82}\special{fp}\special{pa 365 -88}\special{pa 357 -90}\special{fp}% +\special{pa 327 -95}\special{pa 319 -96}\special{fp}\special{pa 289 -101}\special{pa 281 -102}\special{fp}% +\special{pa 250 -105}\special{pa 242 -106}\special{fp}\special{pa 211 -109}\special{pa 203 -110}\special{fp}% +\special{pa 173 -112}\special{pa 165 -113}\special{fp}\special{pa 134 -115}\special{pa 126 -115}\special{fp}% +\special{pa 95 -116}\special{pa 87 -117}\special{fp}\special{pa 56 -118}\special{pa 48 -118}\special{fp}% +\special{pa 18 -118}\special{pa 10 -118}\special{fp}\special{pa -21 -118}\special{pa -29 -118}\special{fp}% +\special{pa -60 -118}\special{pa -68 -117}\special{fp}\special{pa -99 -116}\special{pa -107 -116}\special{fp}% +\special{pa -137 -114}\special{pa -145 -114}\special{fp}\special{pa -176 -112}\special{pa -184 -111}\special{fp}% +\special{pa -215 -109}\special{pa -223 -108}\special{fp}\special{pa -254 -105}\special{pa -261 -104}\special{fp}% +\special{pa -292 -100}\special{pa -300 -99}\special{fp}\special{pa -330 -94}\special{pa -338 -93}\special{fp}% +\special{pa -369 -88}\special{pa -376 -86}\special{fp}\special{pa -407 -80}\special{pa -414 -78}\special{fp}% +\special{pa -444 -70}\special{pa -452 -67}\special{fp}\special{pa -481 -58}\special{pa -488 -55}\special{fp}% +\special{pa -516 -42}\special{pa -523 -37}\special{fp}\special{pa -544 -16}\special{pa -550 -10}\special{fp}% +\special{pn 8}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumw.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumw.tex new file mode 100644 index 00000000000..d481b7a48c1 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/frustumw.tex @@ -0,0 +1,55 @@ +%%% /Users/hannya/Desktop/fig/frustumw.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(4.67,3.66)(-2.24,-1.05)% +\special{pn 8}% +% +\special{pa 548 -13}\special{pa 542 -24}\special{pa 537 -34}\special{pa 531 -45}% +\special{pa 526 -56}\special{pa 520 -66}\special{pa 515 -77}\special{pa 509 -87}% +\special{pa 504 -98}\special{pa 499 -109}\special{pa 493 -119}\special{pa 488 -130}% +\special{pa 482 -141}\special{pa 477 -151}\special{pa 471 -162}\special{pa 466 -173}% +\special{pa 460 -183}\special{pa 455 -194}\special{pa 449 -204}\special{pa 444 -215}% +\special{pa 438 -226}\special{pa 433 -236}\special{pa 427 -247}\special{pa 422 -258}% +\special{pa 416 -268}\special{pa 411 -279}\special{pa 405 -290}\special{pa 400 -300}% +\special{pa 394 -311}\special{pa 389 -321}\special{pa 383 -332}\special{pa 378 -343}% +\special{pa 373 -353}\special{pa 367 -364}\special{pa 362 -375}\special{pa 356 -385}% +\special{pa 351 -396}\special{pa 345 -407}\special{pa 340 -417}\special{pa 334 -428}% +\special{pa 329 -438}\special{pa 323 -449}\special{pa 318 -460}\special{pa 312 -470}% +\special{pa 307 -481}\special{pa 301 -492}\special{pa 296 -502}\special{pa 290 -513}% +\special{pa 285 -524}\special{pa 279 -534}\special{pa 274 -545}% +\special{fp}% +\special{pa -548 -13}\special{pa -542 -24}\special{pa -537 -34}\special{pa -531 -45}% +\special{pa -526 -56}\special{pa -520 -66}\special{pa -515 -77}\special{pa -509 -87}% +\special{pa -504 -98}\special{pa -499 -109}\special{pa -493 -119}\special{pa -488 -130}% +\special{pa -482 -141}\special{pa -477 -151}\special{pa -471 -162}\special{pa -466 -173}% +\special{pa -460 -183}\special{pa -455 -194}\special{pa -449 -204}\special{pa -444 -215}% +\special{pa -438 -226}\special{pa -433 -236}\special{pa -427 -247}\special{pa -422 -258}% +\special{pa -416 -268}\special{pa -411 -279}\special{pa -405 -290}\special{pa -400 -300}% +\special{pa -394 -311}\special{pa -389 -321}\special{pa -383 -332}\special{pa -378 -343}% +\special{pa -373 -353}\special{pa -367 -364}\special{pa -362 -375}\special{pa -356 -385}% +\special{pa -351 -396}\special{pa -345 -407}\special{pa -340 -417}\special{pa -334 -428}% +\special{pa -329 -438}\special{pa -323 -449}\special{pa -318 -460}\special{pa -312 -470}% +\special{pa -307 -481}\special{pa -301 -492}\special{pa -296 -502}\special{pa -290 -513}% +\special{pa -285 -524}\special{pa -279 -534}\special{pa -274 -545}% +\special{fp}% +\special{pa -216 -502}\special{pa -193 -496}\special{pa -167 -491}\special{pa -138 -487}% +\special{pa -107 -484}\special{pa -74 -481}\special{pa -40 -480}\special{pa -6 -479}% +\special{pa 29 -479}\special{pa 63 -481}\special{pa 96 -483}\special{pa 128 -486}% +\special{pa 157 -490}\special{pa 184 -494}\special{pa 209 -500}\special{pa 230 -506}% +\special{pa 247 -512}\special{pa 260 -519}\special{pa 270 -526}\special{pa 275 -533}% +\special{pa 275 -541}\special{pa 274 -544}% +\special{fp}% +\special{pa 274 -544}\special{pa 272 -548}\special{pa 264 -555}\special{pa 252 -562}% +\special{pa 236 -569}\special{pa 216 -575}\special{pa 193 -581}\special{pa 167 -585}% +\special{pa 138 -590}\special{pa 107 -593}\special{pa 74 -595}\special{pa 40 -597}% +\special{pa 6 -597}\special{pa -29 -597}\special{pa -63 -596}\special{pa -96 -594}% +\special{pa -128 -591}\special{pa -157 -587}\special{pa -184 -582}\special{pa -209 -577}% +\special{pa -230 -571}\special{pa -247 -565}\special{pa -260 -558}\special{pa -270 -551}% +\special{pa -274 -545}% +\special{fp}% +\special{pa -274 -545}\special{pa -275 -543}\special{pa -275 -536}\special{pa -272 -528}% +\special{pa -264 -521}\special{pa -252 -514}\special{pa -236 -508}\special{pa -216 -502}% +\special{fp}% +\special{pn 8}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/letter3d.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/letter3d.tex new file mode 100644 index 00000000000..7158782845d --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/letter3d.tex @@ -0,0 +1,70 @@ +%%% /Users/hannya/Desktop/fig/frustumewn.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(5.37,4.83)(-3.01,-1.14)% +\special{pn 8}% +% +\special{pa 0 -879}\special{pa -618 -33}% +\special{fp}% +\special{pa -618 -33}\special{pa 176 131}% +\special{fp}% +\special{pa 0 -879}\special{pa 176 131}% +\special{fp}% +\special{pn 8}% +\special{pa -622 -33}\special{pa -614 -33}\special{fp}\special{pa -582 -35}\special{pa -574 -36}\special{fp}% +\special{pa -543 -38}\special{pa -535 -38}\special{fp}\special{pa -504 -40}\special{pa -496 -41}\special{fp}% +\special{pa -465 -42}\special{pa -457 -43}\special{fp}\special{pa -425 -45}\special{pa -417 -45}\special{fp}% +\special{pa -386 -47}\special{pa -378 -48}\special{fp}\special{pa -347 -50}\special{pa -339 -50}\special{fp}% +\special{pa -308 -52}\special{pa -300 -53}\special{fp}\special{pa -268 -55}\special{pa -260 -55}\special{fp}% +\special{pa -229 -57}\special{pa -221 -57}\special{fp}\special{pa -190 -59}\special{pa -182 -60}\special{fp}% +\special{pa -151 -62}\special{pa -143 -62}\special{fp}\special{pa -111 -64}\special{pa -103 -65}\special{fp}% +\special{pa -72 -67}\special{pa -64 -67}\special{fp}\special{pa -33 -69}\special{pa -25 -70}\special{fp}% +\special{pa 6 -71}\special{pa 14 -72}\special{fp}\special{pa 46 -74}\special{pa 54 -74}\special{fp}% +\special{pa 85 -76}\special{pa 93 -77}\special{fp}\special{pa 124 -79}\special{pa 132 -79}\special{fp}% +\special{pa 163 -81}\special{pa 171 -82}\special{fp}\special{pa 203 -84}\special{pa 211 -84}\special{fp}% +\special{pa 242 -86}\special{pa 250 -87}\special{fp}\special{pa 281 -88}\special{pa 289 -89}\special{fp}% +\special{pa 320 -91}\special{pa 328 -91}\special{fp}\special{pa 360 -93}\special{pa 367 -94}\special{fp}% +\special{pa 399 -96}\special{pa 407 -96}\special{fp}\special{pa 438 -98}\special{pa 446 -99}\special{fp}% +\special{pn 8}% +\special{pa 0 -879}\special{pa 442 -98}% +\special{fp}% +\special{pa 176 131}\special{pa 442 -98}% +\special{fp}% +\special{pa -0 -879}\special{pa -221 49}% +\special{fp}% +\special{pn 8}% +\special{pa -225 50}\special{pa -217 48}\special{fp}\special{pa -186 42}\special{pa -178 40}\special{fp}% +\special{pa -147 33}\special{pa -139 31}\special{fp}\special{pa -108 24}\special{pa -100 22}\special{fp}% +\special{pa -69 16}\special{pa -61 14}\special{fp}\special{pa -30 7}\special{pa -22 5}\special{fp}% +\special{pa 9 -2}\special{pa 17 -4}\special{fp}\special{pa 48 -11}\special{pa 56 -12}\special{fp}% +\special{pa 87 -19}\special{pa 95 -21}\special{fp}\special{pa 126 -28}\special{pa 134 -30}\special{fp}% +\special{pa 165 -37}\special{pa 173 -38}\special{fp}\special{pa 204 -45}\special{pa 212 -47}\special{fp}% +\special{pa 243 -54}\special{pa 251 -56}\special{fp}\special{pa 282 -63}\special{pa 290 -64}\special{fp}% +\special{pa 321 -71}\special{pa 329 -73}\special{fp}\special{pa 360 -80}\special{pa 368 -82}\special{fp}% +\special{pa 399 -89}\special{pa 407 -90}\special{fp}\special{pa 438 -97}\special{pa 446 -99}\special{fp}% +\special{pn 8}% +\settowidth{\Width}{A}\setlength{\Width}{0\Width}% +\settoheight{\Height}{A}\settodepth{\Depth}{A}\setlength{\Height}{\Depth}% +\put(0.0714286,3.2614286){\hspace*{\Width}\raisebox{\Height}{A}}% +% +\settowidth{\Width}{B}\setlength{\Width}{-1\Width}% +\settoheight{\Height}{B}\settodepth{\Depth}{B}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(-2.3114286,0.1200000){\hspace*{\Width}\raisebox{\Height}{B}}% +% +\settowidth{\Width}{C}\setlength{\Width}{0\Width}% +\settoheight{\Height}{C}\settodepth{\Depth}{C}\setlength{\Height}{-\Height}% +\put(0.7114286,-0.5514286){\hspace*{\Width}\raisebox{\Height}{C}}% +% +\settowidth{\Width}{D}\setlength{\Width}{0\Width}% +\settoheight{\Height}{D}\settodepth{\Depth}{D}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(1.6714286,0.3600000){\hspace*{\Width}\raisebox{\Height}{D}}% +% +{% +\color[rgb]{0,0,1}% +\settowidth{\Width}{M}\setlength{\Width}{-1\Width}% +\settoheight{\Height}{M}\settodepth{\Depth}{M}\setlength{\Height}{-\Height}% +\put(-0.8714286,-0.2514286){\hspace*{\Width}\raisebox{\Height}{M}}% +% +}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/mkpttable.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/mkpttable.tex index 3ca36611758..14964c23bd7 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/mkpttable.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/mkpttable.tex @@ -1,26 +1,24 @@ -%%% /Users/Hannya/Desktop/KeTCindy/リファレンス/fig/mkpttable.tex +%%% /Users/hannya/Desktop/Ketcindy/リファレンス旧/fig/mkpttable.tex %%% Generator=点作図関数比較.cdy {\unitlength=10mm% \begin{picture}% -(11.25,20.1)(0,1.5)% +(11.25,19.3)(0,1.5)% \special{pn 8}% % \small% -\special{pa 0 -8504}\special{pa 0 -591}% +\special{pa 0 -8189}\special{pa 0 -591}% \special{fp}% -\special{pa 1280 -8504}\special{pa 1280 -591}% +\special{pa 1280 -8189}\special{pa 1280 -591}% \special{fp}% -\special{pa 2067 -8504}\special{pa 2067 -591}% +\special{pa 2067 -8189}\special{pa 2067 -591}% \special{fp}% -\special{pa 2854 -8504}\special{pa 2854 -591}% +\special{pa 2854 -8189}\special{pa 2854 -591}% \special{fp}% -\special{pa 3642 -8504}\special{pa 3642 -591}% +\special{pa 3642 -8189}\special{pa 3642 -591}% \special{fp}% -\special{pa 4429 -8504}\special{pa 4429 -591}% +\special{pa 4429 -8189}\special{pa 4429 -591}% \special{fp}% -\special{pa 0 -8504}\special{pa 4429 -8504}% -\special{fp}% -\special{pa 0 -8268}\special{pa 4429 -8268}% +\special{pa 0 -8189}\special{pa 4429 -8189}% \special{fp}% \special{pa 0 -7972}\special{pa 4429 -7972}% \special{fp}% @@ -76,43 +74,23 @@ \special{fp}% \settowidth{\Width}{関数}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{関数}\settodepth{\Depth}{関数}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(1.6200000,21.3000000){\hspace*{\Width}\raisebox{\Height}{関数}}% +\put(1.6200000,20.5200000){\hspace*{\Width}\raisebox{\Height}{関数}}% % \settowidth{\Width}{戻り値を使う}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{戻り値を使う}\settodepth{\Depth}{戻り値を使う}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(4.2500000,21.3000000){\hspace*{\Width}\raisebox{\Height}{戻り値を使う}}% +\put(4.2500000,20.5200000){\hspace*{\Width}\raisebox{\Height}{戻り値を使う}}% % \settowidth{\Width}{描画する}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{描画する}\settodepth{\Depth}{描画する}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(6.2500000,21.3000000){\hspace*{\Width}\raisebox{\Height}{描画する}}% +\put(6.2500000,20.5200000){\hspace*{\Width}\raisebox{\Height}{描画する}}% % \settowidth{\Width}{幾何点を作る}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{幾何点を作る}\settodepth{\Depth}{幾何点を作る}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(8.2500000,21.3000000){\hspace*{\Width}\raisebox{\Height}{幾何点を作る}}% +\put(8.2500000,20.5200000){\hspace*{\Width}\raisebox{\Height}{幾何点を作る}}% % \settowidth{\Width}{TeXに出力}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{TeXに出力}\settodepth{\Depth}{TeXに出力}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(10.2500000,21.3000000){\hspace*{\Width}\raisebox{\Height}{TeXに出力}}% -% -\settowidth{\Width}{Drawpoint}\setlength{\Width}{-0.5\Width}% -\settoheight{\Height}{Drawpoint}\settodepth{\Depth}{Drawpoint}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(1.6200000,20.6200000){\hspace*{\Width}\raisebox{\Height}{Drawpoint}}% -% -\settowidth{\Width}{-}\setlength{\Width}{-0.5\Width}% -\settoheight{\Height}{-}\settodepth{\Depth}{-}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(4.2500000,20.6200000){\hspace*{\Width}\raisebox{\Height}{-}}% -% -\settowidth{\Width}{-}\setlength{\Width}{-0.5\Width}% -\settoheight{\Height}{-}\settodepth{\Depth}{-}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(6.2500000,20.6200000){\hspace*{\Width}\raisebox{\Height}{-}}% -% -\settowidth{\Width}{-}\setlength{\Width}{-0.5\Width}% -\settoheight{\Height}{-}\settodepth{\Depth}{-}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(8.2500000,20.6200000){\hspace*{\Width}\raisebox{\Height}{-}}% -% -\settowidth{\Width}{$\bigcirc$}\setlength{\Width}{-0.5\Width}% -\settoheight{\Height}{$\bigcirc$}\settodepth{\Depth}{$\bigcirc$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(10.2500000,20.6200000){\hspace*{\Width}\raisebox{\Height}{$\bigcirc$}}% +\put(10.2500000,20.5200000){\hspace*{\Width}\raisebox{\Height}{TeXに出力}}% % \settowidth{\Width}{Pointdata}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{Pointdata}\settodepth{\Depth}{Pointdata}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% @@ -314,9 +292,9 @@ \settoheight{\Height}{-}\settodepth{\Depth}{-}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% \put(10.2500000,13.1200000){\hspace*{\Width}\raisebox{\Height}{-}}% % -\settowidth{\Width}{Drawpoint3d}\setlength{\Width}{-0.5\Width}% -\settoheight{\Height}{Drawpoint3d}\settodepth{\Depth}{Drawpoint3d}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(1.6200000,12.3800000){\hspace*{\Width}\raisebox{\Height}{Drawpoint3d}}% +\settowidth{\Width}{Pointdata3d}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{Pointdata3d}\settodepth{\Depth}{Pointdata3d}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(1.6200000,12.3800000){\hspace*{\Width}\raisebox{\Height}{Pointdata3d}}% % \settowidth{\Width}{-}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{-}\settodepth{\Depth}{-}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% @@ -330,9 +308,9 @@ \settoheight{\Height}{-}\settodepth{\Depth}{-}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% \put(8.2500000,12.3800000){\hspace*{\Width}\raisebox{\Height}{-}}% % -\settowidth{\Width}{-}\setlength{\Width}{-0.5\Width}% -\settoheight{\Height}{-}\settodepth{\Depth}{-}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% -\put(10.2500000,12.3800000){\hspace*{\Width}\raisebox{\Height}{-}}% +\settowidth{\Width}{$\bigcirc$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$\bigcirc$}\settodepth{\Depth}{$\bigcirc$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(10.2500000,12.3800000){\hspace*{\Width}\raisebox{\Height}{$\bigcirc$}}% % \settowidth{\Width}{Putpoint3d}\setlength{\Width}{-0.5\Width}% \settoheight{\Height}{Putpoint3d}\settodepth{\Depth}{Putpoint3d}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/phparadata04.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/phparadata04.tex new file mode 100644 index 00000000000..f3116896341 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/phparadata04.tex @@ -0,0 +1,34 @@ +%%% /Users/hannya/Desktop/fig/template3D.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(8.08,7.82)(-4.08,-2.57)% +\special{pn 8}% +% +\special{pa -598 -86}\special{pa 111 246}% +\special{fp}% +\special{pa 111 246}\special{pa 488 -161}% +\special{fp}% +\special{pa -598 -86}\special{pa 0 -878}% +\special{fp}% +\special{pa 0 -878}\special{pa 488 -161}% +\special{fp}% +\special{pa 111 246}\special{pa 0 -878}% +\special{fp}% +\special{pn 8}% +\special{pa 492 -161}\special{pa 484 -160}\special{fp}\special{pa 453 -158}\special{pa 445 -158}\special{fp}% +\special{pa 414 -156}\special{pa 406 -155}\special{fp}\special{pa 375 -153}\special{pa 367 -152}\special{fp}% +\special{pa 336 -150}\special{pa 328 -150}\special{fp}\special{pa 298 -148}\special{pa 290 -147}\special{fp}% +\special{pa 259 -145}\special{pa 251 -144}\special{fp}\special{pa 220 -142}\special{pa 212 -142}\special{fp}% +\special{pa 181 -140}\special{pa 173 -139}\special{fp}\special{pa 143 -137}\special{pa 135 -136}\special{fp}% +\special{pa 104 -134}\special{pa 96 -134}\special{fp}\special{pa 65 -131}\special{pa 57 -131}\special{fp}% +\special{pa 26 -129}\special{pa 18 -128}\special{fp}\special{pa -12 -126}\special{pa -20 -126}\special{fp}% +\special{pa -51 -123}\special{pa -59 -123}\special{fp}\special{pa -90 -121}\special{pa -98 -120}\special{fp}% +\special{pa -129 -118}\special{pa -137 -117}\special{fp}\special{pa -168 -115}\special{pa -176 -115}\special{fp}% +\special{pa -206 -113}\special{pa -214 -112}\special{fp}\special{pa -245 -110}\special{pa -253 -109}\special{fp}% +\special{pa -284 -107}\special{pa -292 -107}\special{fp}\special{pa -323 -105}\special{pa -331 -104}\special{fp}% +\special{pa -361 -102}\special{pa -369 -101}\special{fp}\special{pa -400 -99}\special{pa -408 -99}\special{fp}% +\special{pa -439 -97}\special{pa -447 -96}\special{fp}\special{pa -478 -94}\special{pa -486 -93}\special{fp}% +\special{pa -517 -91}\special{pa -525 -91}\special{fp}\special{pa -555 -88}\special{pa -563 -88}\special{fp}% +\special{pa -594 -86}\special{pa -602 -85}\special{fp}\special{pn 8}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/setorigin.pdf b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/setorigin.pdf Binary files differindex a8f3ab73092..2effbefce72 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/setorigin.pdf +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/setorigin.pdf diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/sfbdpara05.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/sfbdpara05.tex new file mode 100644 index 00000000000..1de3e3649c7 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/sfbdpara05.tex @@ -0,0 +1,170 @@ +%%% /Users/hannya/Desktop/fig/sfbdpara05.tex +%%% Generator=template3D.cdy +{\unitlength=8mm% +\begin{picture}% +(10.34,6.13)(-3.36,-1.77)% +\special{pn 8}% +% +\settowidth{\Width}{$x$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$x$}\settodepth{\Depth}{$x$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(-3.3600000,-0.8900000){\hspace*{\Width}\raisebox{\Height}{$x$}}% +% +\settowidth{\Width}{$y$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$y$}\settodepth{\Depth}{$y$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(3.3300000,-1.3900000){\hspace*{\Width}\raisebox{\Height}{$y$}}% +% +\settowidth{\Width}{$z$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$z$}\settodepth{\Depth}{$z$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(0.0000000,4.0100000){\hspace*{\Width}\raisebox{\Height}{$z$}}% +% +\special{pa 1234 -325}\special{pa -987 260}% +\special{fp}% +\special{pa -979 -410}\special{pa 979 410}% +\special{fp}% +\special{pa 0 557}\special{pa 0 -1188}% +\special{fp}% +\special{pa 620 -37}\special{pa 614 -48}\special{pa 613 -49}% +\special{fp}% +\special{pa 613 -49}\special{pa 608 -60}\special{pa 607 -60}% +\special{fp}% +\special{pa 607 -60}\special{pa 601 -71}\special{pa 595 -83}\special{pa 589 -94}% +\special{pa 583 -106}\special{pa 577 -117}\special{pa 570 -129}\special{pa 564 -141}% +\special{pa 558 -152}\special{pa 552 -164}\special{pa 546 -175}\special{pa 539 -187}% +\special{pa 533 -198}\special{pa 527 -210}\special{pa 521 -221}\special{pa 515 -233}% +\special{pa 508 -244}\special{pa 502 -256}\special{pa 496 -267}\special{pa 490 -279}% +\special{pa 484 -290}\special{pa 477 -302}\special{pa 471 -313}\special{pa 465 -325}% +\special{pa 459 -336}\special{pa 453 -348}\special{pa 446 -359}\special{pa 440 -371}% +\special{pa 434 -382}\special{pa 428 -394}\special{pa 422 -405}\special{pa 415 -417}% +\special{pa 409 -428}\special{pa 403 -440}\special{pa 397 -451}\special{pa 391 -463}% +\special{pa 384 -474}\special{pa 378 -486}\special{pa 372 -497}\special{pa 366 -509}% +\special{pa 360 -520}\special{pa 353 -532}\special{pa 347 -543}\special{pa 341 -555}% +\special{pa 335 -567}\special{pa 329 -578}\special{pa 322 -590}\special{pa 316 -601}% +\special{fp}% +\special{pa 316 -601}\special{pa 316 -601}\special{pa 310 -612}% +\special{fp}% +\special{pa -620 -37}\special{pa -614 -48}\special{pa -614 -49}% +\special{fp}% +\special{pa -614 -49}\special{pa -608 -60}\special{pa -601 -71}\special{pa -595 -83}% +\special{pa -589 -94}\special{pa -583 -106}\special{pa -577 -118}\special{pa -570 -129}% +\special{pa -564 -141}\special{pa -558 -152}\special{pa -552 -164}\special{pa -546 -175}% +\special{pa -539 -187}\special{pa -533 -198}\special{pa -527 -210}\special{pa -521 -221}% +\special{pa -515 -233}\special{pa -508 -244}\special{pa -502 -256}\special{pa -496 -267}% +\special{pa -490 -279}\special{pa -484 -290}\special{pa -477 -302}\special{pa -471 -313}% +\special{pa -465 -325}\special{pa -459 -336}\special{pa -453 -348}\special{pa -446 -359}% +\special{pa -440 -371}\special{pa -434 -382}\special{pa -428 -394}\special{pa -422 -405}% +\special{pa -415 -417}\special{pa -409 -428}\special{pa -403 -440}\special{pa -397 -451}% +\special{pa -391 -463}\special{pa -384 -474}\special{pa -378 -486}\special{pa -372 -497}% +\special{pa -366 -509}\special{pa -360 -520}\special{pa -353 -532}\special{pa -347 -544}% +\special{pa -341 -555}\special{pa -335 -567}\special{pa -329 -578}\special{pa -322 -590}% +\special{pa -316 -601}% +\special{fp}% +\special{pa -316 -601}\special{pa -310 -612}% +\special{fp}% +\special{pa -494 130}\special{pa -441 150}\special{pa -381 167}\special{pa -315 181}% +\special{pa -244 193}\special{pa -169 202}\special{pa -92 207}\special{pa -13 209}% +\special{pa 66 208}\special{pa 144 204}\special{pa 220 196}\special{pa 292 185}% +\special{pa 360 172}\special{pa 422 155}\special{pa 477 137}\special{pa 525 116}% +\special{pa 564 93}\special{pa 595 69}\special{pa 616 43}\special{pa 628 17}% +\special{pa 629 -9}\special{pa 621 -35}\special{pa 619 -37}% +\special{fp}% +\special{pa -619 -37}\special{pa -628 -17}\special{pa -629 9}\special{pa -621 35}% +\special{pa -603 61}\special{pa -575 85}\special{pa -539 108}\special{pa -494 130}% +\special{fp}% +\special{pa -247 -529}\special{pa -220 -519}\special{pa -190 -511}\special{pa -157 -504}% +\special{pa -122 -498}\special{pa -85 -493}\special{pa -46 -491}\special{pa -6 -490}% +\special{pa 33 -490}\special{pa 72 -492}\special{pa 110 -496}\special{pa 146 -501}% +\special{pa 180 -508}\special{pa 211 -516}\special{pa 238 -526}\special{pa 262 -536}% +\special{pa 282 -548}\special{pa 297 -560}\special{pa 308 -572}\special{pa 314 -585}% +\special{pa 315 -599}\special{pa 314 -600}% +\special{fp}% +\special{pa 314 -600}\special{pa 311 -612}\special{pa 310 -612}% +\special{fp}% +\special{pa 310 -612}\special{pa 301 -624}\special{pa 288 -637}\special{pa 269 -648}% +\special{pa 247 -659}\special{pa 220 -669}\special{pa 190 -678}\special{pa 157 -685}% +\special{pa 122 -691}\special{pa 85 -695}\special{pa 46 -698}\special{pa 6 -699}% +\special{pa -33 -698}\special{pa -72 -696}\special{pa -110 -692}\special{pa -146 -687}% +\special{pa -180 -680}\special{pa -211 -672}\special{pa -238 -662}\special{pa -262 -652}% +\special{pa -282 -641}\special{pa -297 -629}\special{pa -308 -616}\special{pa -310 -612}% +\special{fp}% +\special{pa -310 -612}\special{pa -314 -603}\special{pa -314 -600}% +\special{fp}% +\special{pa -314 -600}\special{pa -315 -590}\special{pa -311 -577}\special{pa -301 -564}% +\special{pa -288 -552}\special{pa -269 -540}\special{pa -247 -529}% +\special{fp}% +\special{pa 1948 14}\special{pa 1935 -9}\special{pa 1923 -32}\special{pa 1910 -55}% +\special{pa 1898 -78}\special{pa 1886 -101}\special{pa 1873 -124}\special{pa 1861 -147}% +\special{pa 1848 -170}\special{pa 1836 -193}\special{pa 1824 -216}\special{pa 1811 -239}% +\special{pa 1799 -262}\special{pa 1786 -285}\special{pa 1774 -308}\special{pa 1762 -331}% +\special{pa 1749 -354}\special{pa 1737 -377}\special{pa 1724 -401}\special{pa 1712 -424}% +\special{pa 1699 -447}\special{pa 1687 -470}\special{pa 1675 -493}\special{pa 1662 -516}% +\special{pa 1650 -539}\special{pa 1637 -562}\special{pa 1625 -585}\special{pa 1613 -608}% +\special{pa 1600 -631}\special{pa 1588 -654}\special{pa 1575 -677}\special{pa 1563 -700}% +\special{pa 1551 -723}\special{pa 1538 -746}\special{pa 1526 -769}\special{pa 1513 -792}% +\special{pa 1501 -815}\special{pa 1489 -838}\special{pa 1476 -861}\special{pa 1464 -884}% +\special{pa 1451 -907}\special{pa 1439 -930}\special{pa 1427 -953}\special{pa 1414 -976}% +\special{pa 1402 -999}\special{pa 1389 -1022}\special{pa 1377 -1045}\special{pa 1365 -1068}% +\special{pa 1352 -1091}\special{pa 1340 -1114}\special{pa 1327 -1137}% +\special{fp}% +\special{pa 707 14}\special{pa 720 -9}\special{pa 732 -32}\special{pa 745 -55}% +\special{pa 757 -78}\special{pa 769 -101}\special{pa 782 -124}\special{pa 794 -147}% +\special{pa 807 -170}\special{pa 819 -193}\special{pa 831 -216}\special{pa 844 -239}% +\special{pa 856 -262}\special{pa 869 -285}\special{pa 881 -308}\special{pa 893 -331}% +\special{pa 906 -354}\special{pa 918 -377}\special{pa 931 -401}\special{pa 943 -424}% +\special{pa 955 -447}\special{pa 968 -470}\special{pa 980 -493}\special{pa 993 -516}% +\special{pa 1005 -539}\special{pa 1017 -562}\special{pa 1030 -585}\special{pa 1042 -608}% +\special{pa 1055 -631}\special{pa 1067 -654}\special{pa 1079 -677}\special{pa 1092 -700}% +\special{pa 1104 -723}\special{pa 1117 -746}\special{pa 1129 -769}\special{pa 1141 -792}% +\special{pa 1154 -815}\special{pa 1166 -838}\special{pa 1179 -861}\special{pa 1191 -884}% +\special{pa 1203 -907}\special{pa 1216 -930}\special{pa 1228 -953}\special{pa 1241 -976}% +\special{pa 1253 -999}\special{pa 1265 -1022}\special{pa 1278 -1045}\special{pa 1290 -1068}% +\special{pa 1303 -1091}\special{pa 1315 -1114}\special{pa 1327 -1137}% +\special{fp}% +\special{pa 834 181}\special{pa 887 200}\special{pa 947 218}\special{pa 1013 232}% +\special{pa 1084 244}\special{pa 1158 252}\special{pa 1236 258}\special{pa 1314 260}% +\special{pa 1394 259}\special{pa 1472 255}\special{pa 1547 247}\special{pa 1619 236}% +\special{pa 1687 223}\special{pa 1749 206}\special{pa 1804 188}\special{pa 1852 167}% +\special{pa 1892 144}\special{pa 1922 120}\special{pa 1944 94}\special{pa 1955 68}% +\special{pa 1957 42}\special{pa 1949 16}\special{pa 1946 12}% +\special{fp}% +\special{pa 708 14}\special{pa 700 33}\special{pa 698 60}\special{pa 706 86}% +\special{pa 724 111}\special{pa 752 136}\special{pa 789 159}\special{pa 834 181}% +\special{fp}% +\special{pn 8}% +\special{pa 622 -34}\special{pa 617 -40}\special{fp}\special{pa 598 -65}\special{pa 592 -70}\special{fp}% +\special{pa 568 -90}\special{pa 562 -94}\special{fp}\special{pa 535 -110}\special{pa 528 -114}\special{fp}% +\special{pa 500 -127}\special{pa 493 -130}\special{fp}\special{pa 464 -141}\special{pa 456 -144}\special{fp}% +\special{pa 427 -153}\special{pa 419 -156}\special{fp}\special{pa 389 -164}\special{pa 382 -166}\special{fp}% +\special{pa 352 -173}\special{pa 344 -175}\special{fp}\special{pa 314 -181}\special{pa 306 -183}\special{fp}% +\special{pa 275 -188}\special{pa 267 -189}\special{fp}\special{pa 237 -194}\special{pa 229 -195}\special{fp}% +\special{pa 198 -198}\special{pa 190 -199}\special{fp}\special{pa 159 -202}\special{pa 151 -203}\special{fp}% +\special{pa 120 -205}\special{pa 112 -206}\special{fp}\special{pa 82 -207}\special{pa 74 -208}\special{fp}% +\special{pa 43 -208}\special{pa 35 -209}\special{fp}\special{pa 4 -209}\special{pa -4 -209}\special{fp}% +\special{pa -35 -209}\special{pa -43 -208}\special{fp}\special{pa -74 -208}\special{pa -82 -207}\special{fp}% +\special{pa -113 -206}\special{pa -121 -205}\special{fp}\special{pa -152 -203}\special{pa -160 -202}\special{fp}% +\special{pa -191 -199}\special{pa -199 -198}\special{fp}\special{pa -229 -195}\special{pa -237 -194}\special{fp}% +\special{pa -268 -189}\special{pa -276 -188}\special{fp}\special{pa -306 -183}\special{pa -314 -181}\special{fp}% +\special{pa -344 -175}\special{pa -352 -173}\special{fp}\special{pa -382 -166}\special{pa -390 -164}\special{fp}% +\special{pa -420 -156}\special{pa -428 -154}\special{fp}\special{pa -457 -144}\special{pa -464 -141}\special{fp}% +\special{pa -493 -130}\special{pa -500 -126}\special{fp}\special{pa -528 -113}\special{pa -536 -110}\special{fp}% +\special{pa -562 -94}\special{pa -569 -90}\special{fp}\special{pa -593 -70}\special{pa -599 -65}\special{fp}% +\special{pa -617 -40}\special{pa -622 -33}\special{fp}\special{pn 8}% +\special{pn 8}% +\special{pa 1949 15}\special{pa 1943 9}\special{fp}\special{pa 1924 -15}\special{pa 1919 -20}\special{fp}% +\special{pa 1894 -39}\special{pa 1888 -44}\special{fp}\special{pa 1861 -60}\special{pa 1854 -63}\special{fp}% +\special{pa 1826 -77}\special{pa 1819 -80}\special{fp}\special{pa 1790 -91}\special{pa 1782 -93}\special{fp}% +\special{pa 1753 -103}\special{pa 1746 -105}\special{fp}\special{pa 1716 -114}\special{pa 1708 -116}\special{fp}% +\special{pa 1678 -123}\special{pa 1670 -124}\special{fp}\special{pa 1640 -131}\special{pa 1632 -132}\special{fp}% +\special{pa 1602 -137}\special{pa 1594 -138}\special{fp}\special{pa 1563 -143}\special{pa 1555 -144}\special{fp}% +\special{pa 1524 -148}\special{pa 1517 -148}\special{fp}\special{pa 1486 -151}\special{pa 1478 -152}\special{fp}% +\special{pa 1447 -154}\special{pa 1439 -155}\special{fp}\special{pa 1408 -156}\special{pa 1400 -157}\special{fp}% +\special{pa 1369 -158}\special{pa 1361 -158}\special{fp}\special{pa 1330 -158}\special{pa 1322 -158}\special{fp}% +\special{pa 1292 -158}\special{pa 1284 -158}\special{fp}\special{pa 1253 -157}\special{pa 1245 -156}\special{fp}% +\special{pa 1214 -155}\special{pa 1206 -154}\special{fp}\special{pa 1175 -152}\special{pa 1167 -151}\special{fp}% +\special{pa 1136 -148}\special{pa 1128 -147}\special{fp}\special{pa 1098 -144}\special{pa 1090 -143}\special{fp}% +\special{pa 1059 -138}\special{pa 1051 -137}\special{fp}\special{pa 1021 -132}\special{pa 1013 -130}\special{fp}% +\special{pa 983 -124}\special{pa 975 -122}\special{fp}\special{pa 945 -115}\special{pa 937 -113}\special{fp}% +\special{pa 907 -105}\special{pa 900 -103}\special{fp}\special{pa 870 -93}\special{pa 863 -90}\special{fp}% +\special{pa 834 -79}\special{pa 827 -76}\special{fp}\special{pa 799 -63}\special{pa 792 -59}\special{fp}% +\special{pa 765 -43}\special{pa 758 -39}\special{fp}\special{pa 734 -20}\special{pa 729 -14}\special{fp}% +\special{pa 711 11}\special{pa 706 17}\special{fp}\special{pn 8}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/sfcut.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/sfcut.tex new file mode 100644 index 00000000000..f5ec71d0da1 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/sfcut.tex @@ -0,0 +1,85 @@ +%%% /Users/hannya/Desktop/fig/template3D.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(8.08,7.82)(-4.08,-2.57)% +\special{pn 8}% +% +\special{pa -270 -327}\special{pa -255 -302}\special{pa -249 -293}\special{pa -230 -269}% +\special{pa -222 -259}\special{pa -202 -238}\special{pa -190 -225}\special{pa -170 -207}% +\special{pa -152 -192}\special{pa -133 -178}\special{pa -108 -160}\special{pa -92 -150}% +\special{pa -61 -131}\special{pa -45 -123}\special{pa -9 -105}\special{pa 9 -98}% +\special{pa 46 -84}\special{pa 74 -75}\special{pa 102 -68}\special{pa 158 -58}% +\special{pa 158 -58}\special{pa 212 -55}\special{pa 262 -59}\special{pa 307 -70}% +\special{pa 346 -88}\special{pa 376 -111}\special{pa 377 -111}\special{pa 399 -140}% +\special{pa 406 -157}\special{pa 412 -173}\special{pa 416 -198}\special{pa 417 -209}% +\special{pa 416 -236}\special{pa 414 -247}\special{pa 408 -272}\special{pa 403 -286}% +\special{pa 394 -307}\special{pa 386 -324}\special{pa 376 -341}\special{pa 363 -361}% +\special{pa 353 -374}\special{pa 336 -396}\special{pa 327 -406}\special{pa 304 -429}% +\special{pa 296 -437}\special{pa 270 -459}\special{pa 261 -467}\special{pa 234 -487}% +\special{pa 221 -495}\special{pa 196 -511}\special{pa 176 -523}\special{pa 158 -533}% +\special{pa 125 -549}\special{pa 119 -551}\special{pa 81 -567}\special{pa 64 -572}% +\special{pa 43 -579}\special{pa 6 -588}\special{pa -12 -592}\special{pa -30 -595}% +\special{pa -64 -599}\special{pa -97 -600}\special{pa -128 -598}\special{pa -157 -594}% +\special{pa -185 -587}\special{pa -209 -578}\special{pa -232 -567}\special{pa -252 -553}% +\special{pa -269 -536}\special{pa -276 -527}\special{pa -283 -518}\special{pa -293 -496}% +\special{pa -298 -483}\special{pa -300 -473}\special{pa -303 -448}\special{pa -303 -444}% +\special{pa -302 -420}\special{pa -300 -406}\special{pa -296 -391}\special{pa -290 -370}% +\special{pa -286 -360}\special{pa -274 -335}\special{pa -270 -327}% +\special{fp}% +\special{pa 544 -28}\special{pa 533 -48}\special{pa 522 -69}\special{pa 511 -89}% +\special{pa 500 -109}\special{pa 489 -130}\special{pa 479 -150}\special{pa 468 -171}% +\special{pa 457 -191}\special{pa 446 -211}\special{pa 435 -232}\special{pa 424 -252}% +\special{pa 413 -273}\special{pa 402 -293}\special{pa 392 -313}\special{pa 381 -334}% +\special{pa 370 -354}\special{pa 359 -375}\special{pa 348 -395}\special{pa 337 -416}% +\special{pa 326 -436}\special{pa 315 -456}\special{pa 305 -477}\special{pa 294 -497}% +\special{pa 283 -518}\special{pa 272 -538}\special{pa 261 -558}\special{pa 250 -579}% +\special{pa 239 -599}\special{pa 228 -620}\special{pa 218 -640}\special{pa 207 -661}% +\special{pa 196 -681}\special{pa 185 -701}\special{pa 174 -722}\special{pa 163 -742}% +\special{pa 152 -763}\special{pa 141 -783}\special{pa 131 -803}\special{pa 120 -824}% +\special{pa 109 -844}\special{pa 98 -865}\special{pa 87 -885}\special{pa 76 -905}% +\special{pa 65 -926}\special{pa 54 -946}\special{pa 44 -967}\special{pa 33 -987}% +\special{pa 22 -1008}\special{pa 11 -1028}\special{pa 0 -1048}% +\special{fp}% +\special{pa -544 -28}\special{pa -533 -48}\special{pa -522 -69}\special{pa -511 -89}% +\special{pa -500 -109}\special{pa -489 -130}\special{pa -479 -150}\special{pa -468 -171}% +\special{pa -457 -191}\special{pa -446 -211}\special{pa -435 -232}\special{pa -424 -252}% +\special{pa -413 -273}\special{pa -402 -293}\special{pa -392 -314}\special{pa -381 -334}% +\special{pa -370 -354}\special{pa -359 -375}\special{pa -348 -395}\special{pa -337 -416}% +\special{pa -326 -436}\special{pa -315 -456}\special{pa -305 -477}\special{pa -294 -497}% +\special{pa -283 -518}\special{pa -272 -538}\special{pa -261 -558}\special{pa -250 -579}% +\special{pa -239 -599}\special{pa -228 -620}\special{pa -218 -640}\special{pa -207 -661}% +\special{pa -196 -681}\special{pa -185 -701}\special{pa -174 -722}\special{pa -163 -742}% +\special{pa -152 -763}\special{pa -141 -783}\special{pa -131 -803}\special{pa -120 -824}% +\special{pa -109 -844}\special{pa -98 -865}\special{pa -87 -885}\special{pa -76 -905}% +\special{pa -65 -926}\special{pa -54 -946}\special{pa -44 -967}\special{pa -33 -987}% +\special{pa -22 -1008}\special{pa -11 -1028}\special{pa 0 -1048}% +\special{fp}% +\special{pa -432 106}\special{pa -386 122}\special{pa -333 136}\special{pa -275 148}% +\special{pa -213 157}\special{pa -148 164}\special{pa -80 169}\special{pa -11 170}% +\special{pa 58 169}\special{pa 126 166}\special{pa 192 160}\special{pa 256 151}% +\special{pa 315 140}\special{pa 369 127}\special{pa 417 111}\special{pa 459 94}% +\special{pa 494 76}\special{pa 521 56}\special{pa 539 35}\special{pa 549 14}% +\special{pa 551 -7}\special{pa 544 -28}% +\special{fp}% +\special{pa -543 -28}\special{pa -549 -14}\special{pa -551 7}\special{pa -543 28}% +\special{pa -528 49}\special{pa -503 69}\special{pa -471 88}\special{pa -432 106}% +\special{fp}% +\special{pn 8}% +\special{pa 546 -25}\special{pa 541 -31}\special{fp}\special{pa 521 -55}\special{pa 515 -60}\special{fp}% +\special{pa 488 -78}\special{pa 481 -82}\special{fp}\special{pa 453 -96}\special{pa 446 -100}\special{fp}% +\special{pa 416 -111}\special{pa 409 -114}\special{fp}\special{pa 378 -124}\special{pa 371 -126}\special{fp}% +\special{pa 340 -134}\special{pa 332 -136}\special{fp}\special{pa 301 -142}\special{pa 293 -144}\special{fp}% +\special{pa 262 -150}\special{pa 254 -151}\special{fp}\special{pa 222 -156}\special{pa 214 -157}\special{fp}% +\special{pa 183 -160}\special{pa 175 -161}\special{fp}\special{pa 143 -164}\special{pa 135 -165}\special{fp}% +\special{pa 104 -167}\special{pa 96 -168}\special{fp}\special{pa 64 -169}\special{pa 56 -169}\special{fp}% +\special{pa 24 -170}\special{pa 16 -170}\special{fp}\special{pa -16 -170}\special{pa -24 -170}\special{fp}% +\special{pa -56 -169}\special{pa -64 -169}\special{fp}\special{pa -95 -167}\special{pa -103 -167}\special{fp}% +\special{pa -135 -165}\special{pa -143 -164}\special{fp}\special{pa -175 -161}\special{pa -183 -160}\special{fp}% +\special{pa -214 -157}\special{pa -222 -156}\special{fp}\special{pa -254 -151}\special{pa -262 -150}\special{fp}% +\special{pa -293 -144}\special{pa -301 -142}\special{fp}\special{pa -332 -136}\special{pa -340 -134}\special{fp}% +\special{pa -371 -126}\special{pa -378 -124}\special{fp}\special{pa -409 -114}\special{pa -416 -112}\special{fp}% +\special{pa -446 -100}\special{pa -453 -97}\special{fp}\special{pa -481 -82}\special{pa -488 -78}\special{fp}% +\special{pa -515 -61}\special{pa -521 -55}\special{fp}\special{pa -540 -31}\special{pa -545 -25}\special{fp}% +\special{pn 8}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/surfacemodel.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/surfacemodel.tex new file mode 100644 index 00000000000..63247a15295 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/surfacemodel.tex @@ -0,0 +1,2204 @@ +%%% /Users/hannya/Desktop/fig/template3D.tex +%%% Generator=template3D.cdy +{\unitlength=7mm% +\begin{picture}% +(10.5,5.74)(-2.52,-1.59)% +\special{pn 8}% +% +\special{pa 2104 -65}\special{pa 2092 -102}\special{pa 2081 -139}\special{pa 2070 -176}% +\special{pa 2059 -211}\special{pa 2048 -246}\special{pa 2037 -280}\special{pa 2025 -313}% +\special{pa 2014 -346}\special{pa 2003 -377}\special{pa 1992 -408}\special{pa 1981 -438}% +\special{pa 1974 -455}\special{pa 1969 -468}\special{pa 1958 -496}\special{pa 1947 -524}% +\special{pa 1936 -551}\special{pa 1924 -578}\special{pa 1913 -603}\special{pa 1902 -628}% +\special{pa 1890 -652}\special{pa 1879 -676}\special{pa 1868 -698}\special{pa 1856 -720}% +\special{pa 1845 -741}\special{pa 1834 -761}\special{pa 1822 -781}\special{pa 1810 -799}% +\special{pa 1803 -812}\special{pa 1799 -817}\special{pa 1787 -834}\special{pa 1776 -851}% +\special{pa 1764 -867}\special{pa 1752 -881}\special{pa 1740 -896}\special{pa 1728 -909}% +\special{pa 1716 -922}\special{pa 1703 -933}\special{pa 1690 -944}\special{pa 1683 -950}% +\special{pa 1677 -955}\special{pa 1664 -964}\special{pa 1654 -970}\special{pa 1650 -973}% +\special{pa 1634 -981}\special{pa 1617 -988}\special{pa 1602 -993}\special{pa 1596 -995}% +\special{pa 1590 -996}\special{pa 1578 -998}\special{pa 1568 -999}\special{pa 1558 -999}% +\special{pa 1548 -999}\special{pa 1538 -998}\special{pa 1527 -996}\special{pa 1520 -995}% +\special{pa 1515 -993}\special{pa 1500 -989}\special{pa 1483 -982}\special{pa 1467 -973}% +\special{pa 1462 -970}\special{pa 1453 -964}\special{pa 1439 -955}\special{pa 1433 -950}% +\special{pa 1426 -944}\special{pa 1413 -933}\special{pa 1401 -922}\special{pa 1389 -909}% +\special{pa 1376 -896}\special{pa 1364 -881}\special{pa 1353 -867}\special{pa 1341 -851}% +\special{pa 1329 -834}\special{pa 1317 -817}\special{pa 1313 -811}\special{pa 1306 -799}% +\special{pa 1294 -781}\special{pa 1283 -761}\special{pa 1271 -741}\special{pa 1260 -720}% +\special{pa 1249 -698}\special{pa 1237 -676}\special{pa 1226 -652}\special{pa 1215 -628}% +\special{pa 1203 -603}\special{pa 1192 -578}\special{pa 1181 -551}\special{pa 1169 -524}% +\special{pa 1158 -496}\special{pa 1147 -468}\special{pa 1140 -451}\special{pa 1136 -438}% +\special{pa 1124 -408}\special{pa 1113 -377}\special{pa 1102 -346}\special{pa 1091 -313}% +\special{pa 1080 -280}\special{pa 1069 -246}\special{pa 1057 -211}\special{pa 1046 -176}% +\special{pa 1035 -139}\special{pa 1024 -102}\special{pa 1013 -66}% +\special{fp}% +\special{pa 1181 176}\special{pa 1234 198}\special{pa 1293 217}\special{pa 1355 232}% +\special{pa 1421 242}\special{pa 1489 249}\special{pa 1558 251}\special{pa 1627 249}% +\special{pa 1695 242}\special{pa 1761 231}\special{pa 1824 217}\special{pa 1882 198}% +\special{pa 1936 176}\special{pa 1983 151}\special{pa 2024 123}\special{pa 2057 92}% +\special{pa 2082 60}\special{pa 2100 27}\special{pa 2108 -8}\special{pa 2108 -42}% +\special{pa 2102 -68}% +\special{fp}% +\special{pa 1014 -66}\special{pa 1008 -42}\special{pa 1008 -7}\special{pa 1017 27}% +\special{pa 1034 60}\special{pa 1060 93}\special{pa 1093 123}\special{pa 1134 151}% +\special{pa 1181 176}% +\special{fp}% +\special{pn 8}% +\special{pa 2103 -64}\special{pa 2100 -71}\special{fp}\special{pa 2088 -100}\special{pa 2084 -107}\special{fp}% +\special{pa 2065 -132}\special{pa 2060 -138}\special{fp}\special{pa 2038 -159}\special{pa 2032 -165}\special{fp}% +\special{pa 2008 -183}\special{pa 2001 -188}\special{fp}\special{pa 1975 -205}\special{pa 1968 -209}\special{fp}% +\special{pa 1941 -223}\special{pa 1933 -227}\special{fp}\special{pa 1905 -238}\special{pa 1897 -241}\special{fp}% +\special{pa 1868 -252}\special{pa 1861 -255}\special{fp}\special{pa 1831 -264}\special{pa 1823 -266}\special{fp}% +\special{pa 1793 -273}\special{pa 1785 -275}\special{fp}\special{pa 1755 -282}\special{pa 1747 -283}\special{fp}% +\special{pa 1717 -288}\special{pa 1709 -289}\special{fp}\special{pa 1678 -293}\special{pa 1670 -294}\special{fp}% +\special{pa 1639 -297}\special{pa 1631 -298}\special{fp}\special{pa 1600 -299}\special{pa 1592 -299}\special{fp}% +\special{pa 1561 -300}\special{pa 1553 -300}\special{fp}\special{pa 1522 -299}\special{pa 1514 -299}\special{fp}% +\special{pa 1483 -298}\special{pa 1475 -297}\special{fp}\special{pa 1444 -294}\special{pa 1436 -293}\special{fp}% +\special{pa 1406 -289}\special{pa 1398 -288}\special{fp}\special{pa 1367 -283}\special{pa 1359 -282}\special{fp}% +\special{pa 1329 -275}\special{pa 1321 -273}\special{fp}\special{pa 1291 -266}\special{pa 1283 -263}\special{fp}% +\special{pa 1254 -254}\special{pa 1246 -251}\special{fp}\special{pa 1217 -241}\special{pa 1210 -238}\special{fp}% +\special{pa 1181 -226}\special{pa 1174 -222}\special{fp}\special{pa 1147 -208}\special{pa 1140 -204}\special{fp}% +\special{pa 1114 -187}\special{pa 1107 -182}\special{fp}\special{pa 1083 -163}\special{pa 1077 -158}\special{fp}% +\special{pa 1055 -136}\special{pa 1050 -130}\special{fp}\special{pa 1032 -105}\special{pa 1028 -98}\special{fp}% +\special{pa 1016 -70}\special{pa 1013 -62}\special{fp}\special{pn 8}% +\special{pa 0 -955}\special{pa -2 -954}\special{pa -4 -953}\special{pa -6 -951}% +\special{pa -8 -950}\special{pa -9 -949}\special{pa -11 -948}\special{pa -13 -946}% +\special{pa -15 -945}\special{pa -17 -944}\special{pa -19 -942}\special{pa -21 -941}% +\special{pa -23 -939}\special{pa -25 -938}\special{pa -26 -936}\special{pa -28 -934}% +\special{pa -30 -932}\special{pa -32 -931}\special{pa -34 -929}\special{pa -36 -927}% +\special{pa -38 -925}\special{pa -40 -923}\special{pa -41 -921}\special{pa -43 -919}% +\special{pa -45 -917}\special{pa -47 -915}\special{pa -49 -912}\special{pa -51 -910}% +\special{pa -53 -908}\special{pa -55 -905}\special{pa -57 -903}\special{pa -58 -901}% +\special{pa -60 -898}\special{pa -62 -896}\special{pa -64 -893}\special{pa -66 -890}% +\special{pa -68 -888}\special{pa -70 -885}\special{pa -72 -882}\special{pa -74 -879}% +\special{pa -75 -876}\special{pa -77 -873}\special{pa -79 -870}\special{pa -81 -867}% +\special{pa -83 -864}\special{pa -85 -861}\special{pa -87 -858}\special{pa -89 -855}% +\special{pa -91 -851}\special{pa -92 -848}\special{pa -94 -845}\special{pa -96 -841}% +\special{pa -98 -838}\special{pa -100 -834}\special{pa -102 -831}\special{pa -104 -827}% +\special{pa -106 -824}\special{pa -107 -820}\special{pa -109 -816}\special{pa -111 -812}% +\special{pa -113 -808}\special{pa -115 -805}\special{pa -117 -801}\special{pa -119 -797}% +\special{pa -121 -793}\special{pa -123 -789}\special{pa -124 -784}\special{pa -126 -780}% +\special{pa -128 -776}\special{pa -130 -772}\special{pa -132 -767}\special{pa -134 -763}% +\special{pa -136 -759}\special{pa -138 -754}\special{pa -140 -750}\special{pa -141 -745}% +\special{pa -143 -740}\special{pa -145 -736}\special{pa -147 -731}\special{pa -149 -726}% +\special{pa -151 -722}\special{pa -153 -717}\special{pa -155 -712}\special{pa -157 -707}% +\special{pa -158 -702}\special{pa -160 -697}\special{pa -162 -692}\special{pa -164 -687}% +\special{pa -166 -681}\special{pa -168 -676}\special{pa -170 -671}\special{pa -172 -666}% +\special{pa -173 -660}\special{pa -175 -655}\special{pa -177 -649}\special{pa -179 -644}% +\special{pa -181 -638}\special{pa -183 -633}\special{pa -185 -627}\special{pa -187 -621}% +\special{pa -189 -616}\special{pa -190 -610}\special{pa -192 -604}\special{pa -194 -598}% +\special{pa -196 -592}\special{pa -198 -586}\special{pa -200 -580}\special{pa -202 -574}% +\special{pa -204 -568}\special{pa -206 -562}\special{pa -207 -555}\special{pa -209 -549}% +\special{pa -211 -543}\special{pa -213 -536}\special{pa -215 -530}\special{pa -217 -523}% +\special{pa -219 -517}\special{pa -221 -510}\special{pa -223 -504}\special{pa -224 -497}% +\special{pa -226 -490}\special{pa -228 -484}\special{pa -230 -477}\special{pa -232 -470}% +\special{pa -234 -463}\special{pa -236 -456}\special{pa -238 -449}\special{pa -239 -442}% +\special{pa -241 -435}\special{pa -243 -428}\special{pa -245 -421}\special{pa -247 -413}% +\special{pa -249 -406}\special{pa -251 -399}\special{pa -253 -391}\special{pa -255 -384}% +\special{pa -256 -377}\special{pa -258 -369}\special{pa -260 -361}\special{pa -262 -354}% +\special{pa -264 -346}\special{pa -266 -338}\special{pa -268 -331}\special{pa -270 -323}% +\special{pa -272 -315}\special{pa -273 -307}\special{pa -275 -299}\special{pa -277 -291}% +\special{pa -279 -283}\special{pa -281 -275}\special{pa -283 -267}\special{pa -285 -259}% +\special{pa -287 -251}\special{pa -289 -242}\special{pa -290 -234}\special{pa -292 -226}% +\special{pa -294 -217}\special{pa -296 -209}\special{pa -298 -200}\special{pa -300 -192}% +\special{pa -302 -183}\special{pa -304 -174}\special{pa -306 -166}\special{pa -307 -157}% +\special{pa -309 -148}\special{pa -311 -139}\special{pa -313 -130}\special{pa -315 -121}% +\special{pa -317 -112}\special{pa -319 -103}\special{pa -321 -94}\special{pa -322 -85}% +\special{pa -324 -76}\special{pa -326 -67}\special{pa -328 -57}\special{pa -330 -48}% +\special{pa -332 -39}\special{pa -334 -29}\special{pa -336 -20}\special{pa -338 -10}% +\special{pa -339 -1}\special{pa -341 9}\special{pa -343 19}\special{pa -345 28}% +\special{pa -347 38}\special{pa -349 48}\special{pa -351 58}\special{pa -353 68}% +\special{pa -355 78}\special{pa -356 88}\special{pa -358 98}\special{pa -360 108}% +\special{pa -362 118}\special{pa -364 128}\special{pa -366 139}\special{pa -368 149}% +\special{pa -370 159}\special{pa -372 170}\special{pa -373 180}\special{pa -375 190}% +\special{pa -377 201}% +\special{fp}% +\special{pa 0 -955}\special{pa -1 -953}\special{pa -2 -952}\special{pa -4 -951}% +\special{pa -5 -949}\special{pa -6 -948}\special{pa -7 -946}\special{pa -8 -945}% +\special{pa -9 -943}\special{pa -11 -942}\special{pa -12 -940}\special{pa -13 -938}% +\special{pa -14 -936}\special{pa -15 -934}\special{pa -16 -933}\special{pa -18 -931}% +\special{pa -19 -929}\special{pa -20 -927}\special{pa -21 -924}\special{pa -22 -922}% +\special{pa -23 -920}\special{pa -25 -918}\special{pa -26 -916}\special{pa -27 -913}% +\special{pa -28 -911}\special{pa -29 -909}\special{pa -30 -906}\special{pa -32 -904}% +\special{pa -33 -901}\special{pa -34 -898}\special{pa -35 -896}\special{pa -36 -893}% +\special{pa -38 -890}\special{pa -39 -888}\special{pa -40 -885}\special{pa -41 -882}% +\special{pa -42 -879}\special{pa -43 -876}\special{pa -45 -873}\special{pa -46 -870}% +\special{pa -47 -867}\special{pa -48 -863}\special{pa -49 -860}\special{pa -50 -857}% +\special{pa -52 -854}\special{pa -53 -850}\special{pa -54 -847}\special{pa -55 -843}% +\special{pa -56 -840}\special{pa -57 -836}\special{pa -59 -833}\special{pa -60 -829}% +\special{pa -61 -825}\special{pa -62 -822}\special{pa -63 -818}\special{pa -64 -814}% +\special{pa -66 -810}\special{pa -67 -806}\special{pa -68 -802}\special{pa -69 -798}% +\special{pa -70 -794}\special{pa -72 -790}\special{pa -73 -786}\special{pa -74 -781}% +\special{pa -75 -777}\special{pa -76 -773}\special{pa -77 -768}\special{pa -79 -764}% +\special{pa -80 -760}\special{pa -81 -755}\special{pa -82 -750}\special{pa -83 -746}% +\special{pa -84 -741}\special{pa -86 -736}\special{pa -87 -732}\special{pa -88 -727}% +\special{pa -89 -722}\special{pa -90 -717}\special{pa -91 -712}\special{pa -93 -707}% +\special{pa -94 -702}\special{pa -95 -697}\special{pa -96 -692}\special{pa -97 -687}% +\special{pa -98 -682}\special{pa -100 -676}\special{pa -101 -671}\special{pa -102 -666}% +\special{pa -103 -660}\special{pa -104 -655}\special{pa -106 -649}\special{pa -107 -644}% +\special{pa -108 -638}\special{pa -109 -632}\special{pa -110 -627}\special{pa -111 -621}% +\special{pa -113 -615}\special{pa -114 -609}\special{pa -115 -603}\special{pa -116 -597}% +\special{pa -117 -591}\special{pa -118 -585}\special{pa -120 -579}\special{pa -121 -573}% +\special{pa -122 -567}\special{pa -123 -561}\special{pa -124 -554}\special{pa -125 -548}% +\special{pa -127 -542}\special{pa -128 -535}\special{pa -129 -529}\special{pa -130 -522}% +\special{pa -131 -516}\special{pa -132 -509}\special{pa -134 -502}\special{pa -135 -496}% +\special{pa -136 -489}\special{pa -137 -482}\special{pa -138 -475}\special{pa -140 -468}% +\special{pa -141 -461}\special{pa -142 -454}\special{pa -143 -447}\special{pa -144 -440}% +\special{pa -145 -433}\special{pa -147 -426}\special{pa -148 -419}\special{pa -149 -411}% +\special{pa -150 -404}\special{pa -151 -397}\special{pa -152 -389}\special{pa -154 -382}% +\special{pa -155 -374}\special{pa -156 -367}\special{pa -157 -359}\special{pa -158 -351}% +\special{pa -159 -344}\special{pa -161 -336}\special{pa -162 -328}\special{pa -163 -320}% +\special{pa -164 -312}\special{pa -165 -304}\special{pa -166 -296}\special{pa -168 -288}% +\special{pa -169 -280}\special{pa -170 -272}\special{pa -171 -264}\special{pa -172 -256}% +\special{pa -174 -247}\special{pa -175 -239}\special{pa -176 -231}\special{pa -177 -222}% +\special{pa -178 -214}\special{pa -179 -205}\special{pa -181 -197}\special{pa -182 -188}% +\special{pa -183 -179}\special{pa -184 -171}\special{pa -185 -162}\special{pa -186 -153}% +\special{pa -188 -144}\special{pa -189 -135}\special{pa -190 -126}\special{pa -191 -117}% +\special{pa -192 -108}\special{pa -193 -99}\special{pa -195 -90}\special{pa -196 -81}% +\special{pa -197 -72}\special{pa -198 -62}\special{pa -199 -53}\special{pa -200 -44}% +\special{pa -202 -34}\special{pa -203 -25}\special{pa -204 -15}\special{pa -205 -6}% +\special{pa -206 4}\special{pa -208 14}\special{pa -209 23}\special{pa -210 33}% +\special{pa -211 43}\special{pa -212 53}\special{pa -213 63}\special{pa -215 73}% +\special{pa -216 83}\special{pa -217 93}\special{pa -218 103}\special{pa -219 113}% +\special{pa -220 123}\special{pa -222 134}\special{pa -223 144}\special{pa -224 154}% +\special{pa -225 165}\special{pa -226 175}\special{pa -227 186}\special{pa -229 196}% +\special{pa -230 207}\special{pa -231 217}\special{pa -232 228}\special{pa -233 239}% +\special{pa -235 249}% +\special{fp}% +\special{pa 0 -955}\special{pa -0 -953}\special{pa -1 -952}\special{pa -1 -950}% +\special{pa -1 -949}\special{pa -2 -947}\special{pa -2 -946}\special{pa -2 -944}% +\special{pa -3 -942}\special{pa -3 -940}\special{pa -3 -939}\special{pa -4 -937}% +\special{pa -4 -935}\special{pa -4 -933}\special{pa -5 -931}\special{pa -5 -929}% +\special{pa -6 -927}\special{pa -6 -925}\special{pa -6 -922}\special{pa -7 -920}% +\special{pa -7 -918}\special{pa -7 -915}\special{pa -8 -913}\special{pa -8 -911}% +\special{pa -8 -908}\special{pa -9 -906}\special{pa -9 -903}\special{pa -9 -900}% +\special{pa -10 -898}\special{pa -10 -895}\special{pa -10 -892}\special{pa -11 -889}% +\special{pa -11 -886}\special{pa -11 -884}\special{pa -12 -881}\special{pa -12 -878}% +\special{pa -12 -875}\special{pa -13 -871}\special{pa -13 -868}\special{pa -13 -865}% +\special{pa -14 -862}\special{pa -14 -859}\special{pa -14 -855}\special{pa -15 -852}% +\special{pa -15 -848}\special{pa -15 -845}\special{pa -16 -841}\special{pa -16 -838}% +\special{pa -17 -834}\special{pa -17 -830}\special{pa -17 -827}\special{pa -18 -823}% +\special{pa -18 -819}\special{pa -18 -815}\special{pa -19 -811}\special{pa -19 -807}% +\special{pa -19 -803}\special{pa -20 -799}\special{pa -20 -795}\special{pa -20 -791}% +\special{pa -21 -787}\special{pa -21 -782}\special{pa -21 -778}\special{pa -22 -774}% +\special{pa -22 -769}\special{pa -22 -765}\special{pa -23 -760}\special{pa -23 -756}% +\special{pa -23 -751}\special{pa -24 -747}\special{pa -24 -742}\special{pa -24 -737}% +\special{pa -25 -733}\special{pa -25 -728}\special{pa -25 -723}\special{pa -26 -718}% +\special{pa -26 -713}\special{pa -27 -708}\special{pa -27 -703}\special{pa -27 -698}% +\special{pa -28 -693}\special{pa -28 -687}\special{pa -28 -682}\special{pa -29 -677}% +\special{pa -29 -671}\special{pa -29 -666}\special{pa -30 -661}\special{pa -30 -655}% +\special{pa -30 -650}\special{pa -31 -644}\special{pa -31 -638}\special{pa -31 -633}% +\special{pa -32 -627}\special{pa -32 -621}\special{pa -32 -615}\special{pa -33 -609}% +\special{pa -33 -603}\special{pa -33 -597}\special{pa -34 -591}\special{pa -34 -585}% +\special{pa -34 -579}\special{pa -35 -573}\special{pa -35 -567}\special{pa -35 -561}% +\special{pa -36 -554}\special{pa -36 -548}\special{pa -37 -542}\special{pa -37 -535}% +\special{pa -37 -529}\special{pa -38 -522}\special{pa -38 -515}\special{pa -38 -509}% +\special{pa -39 -502}\special{pa -39 -495}\special{pa -39 -489}\special{pa -40 -482}% +\special{pa -40 -475}\special{pa -40 -468}\special{pa -41 -461}\special{pa -41 -454}% +\special{pa -41 -447}\special{pa -42 -440}\special{pa -42 -433}\special{pa -42 -425}% +\special{pa -43 -418}\special{pa -43 -411}\special{pa -43 -404}\special{pa -44 -396}% +\special{pa -44 -389}\special{pa -44 -381}\special{pa -45 -374}\special{pa -45 -366}% +\special{pa -45 -358}\special{pa -46 -351}\special{pa -46 -343}\special{pa -46 -335}% +\special{pa -47 -327}\special{pa -47 -319}\special{pa -48 -311}\special{pa -48 -304}% +\special{pa -48 -295}\special{pa -49 -287}\special{pa -49 -279}\special{pa -49 -271}% +\special{pa -50 -263}\special{pa -50 -255}\special{pa -50 -246}\special{pa -51 -238}% +\special{pa -51 -230}\special{pa -51 -221}\special{pa -52 -213}\special{pa -52 -204}% +\special{pa -52 -195}\special{pa -53 -187}\special{pa -53 -178}\special{pa -53 -169}% +\special{pa -54 -161}\special{pa -54 -152}\special{pa -54 -143}\special{pa -55 -134}% +\special{pa -55 -125}\special{pa -55 -116}\special{pa -56 -107}\special{pa -56 -98}% +\special{pa -56 -89}\special{pa -57 -79}\special{pa -57 -70}\special{pa -58 -61}% +\special{pa -58 -51}\special{pa -58 -42}\special{pa -59 -33}\special{pa -59 -23}% +\special{pa -59 -13}\special{pa -60 -4}\special{pa -60 6}\special{pa -60 15}% +\special{pa -61 25}\special{pa -61 35}\special{pa -61 45}\special{pa -62 55}% +\special{pa -62 65}\special{pa -62 75}\special{pa -63 85}\special{pa -63 95}% +\special{pa -63 105}\special{pa -64 115}\special{pa -64 125}\special{pa -64 136}% +\special{pa -65 146}\special{pa -65 156}\special{pa -65 167}\special{pa -66 177}% +\special{pa -66 188}\special{pa -66 198}\special{pa -67 209}\special{pa -67 219}% +\special{pa -68 230}\special{pa -68 241}\special{pa -68 252}\special{pa -69 263}% +\special{pa -69 273}% +\special{fp}% +\special{pa 0 -955}\special{pa 1 -953}\special{pa 1 -952}\special{pa 2 -950}% +\special{pa 2 -949}\special{pa 3 -947}\special{pa 3 -946}\special{pa 4 -944}% +\special{pa 4 -942}\special{pa 5 -941}\special{pa 5 -939}\special{pa 6 -937}% +\special{pa 6 -935}\special{pa 7 -933}\special{pa 7 -931}\special{pa 8 -929}% +\special{pa 8 -927}\special{pa 9 -925}\special{pa 9 -923}\special{pa 10 -920}% +\special{pa 10 -918}\special{pa 11 -916}\special{pa 11 -913}\special{pa 12 -911}% +\special{pa 12 -908}\special{pa 13 -906}\special{pa 13 -903}\special{pa 14 -901}% +\special{pa 14 -898}\special{pa 15 -895}\special{pa 16 -893}\special{pa 16 -890}% +\special{pa 17 -887}\special{pa 17 -884}\special{pa 18 -881}\special{pa 18 -878}% +\special{pa 19 -875}\special{pa 19 -872}\special{pa 20 -869}\special{pa 20 -866}% +\special{pa 21 -862}\special{pa 21 -859}\special{pa 22 -856}\special{pa 22 -852}% +\special{pa 23 -849}\special{pa 23 -845}\special{pa 24 -842}\special{pa 24 -838}% +\special{pa 25 -835}\special{pa 25 -831}\special{pa 26 -827}\special{pa 26 -824}% +\special{pa 27 -820}\special{pa 27 -816}\special{pa 28 -812}\special{pa 28 -808}% +\special{pa 29 -804}\special{pa 29 -800}\special{pa 30 -796}\special{pa 31 -792}% +\special{pa 31 -788}\special{pa 32 -783}\special{pa 32 -779}\special{pa 33 -775}% +\special{pa 33 -770}\special{pa 34 -766}\special{pa 34 -761}\special{pa 35 -757}% +\special{pa 35 -752}\special{pa 36 -748}\special{pa 36 -743}\special{pa 37 -738}% +\special{pa 37 -733}\special{pa 38 -729}\special{pa 38 -724}\special{pa 39 -719}% +\special{pa 39 -714}\special{pa 40 -709}\special{pa 40 -704}\special{pa 41 -699}% +\special{pa 41 -694}\special{pa 42 -688}\special{pa 42 -683}\special{pa 43 -678}% +\special{pa 43 -673}\special{pa 44 -667}\special{pa 44 -662}\special{pa 45 -656}% +\special{pa 46 -651}\special{pa 46 -645}\special{pa 47 -640}\special{pa 47 -634}% +\special{pa 48 -628}\special{pa 48 -622}\special{pa 49 -617}\special{pa 49 -611}% +\special{pa 50 -605}\special{pa 50 -599}\special{pa 51 -593}\special{pa 51 -587}% +\special{pa 52 -581}\special{pa 52 -575}\special{pa 53 -568}\special{pa 53 -562}% +\special{pa 54 -556}\special{pa 54 -549}\special{pa 55 -543}\special{pa 55 -537}% +\special{pa 56 -530}\special{pa 56 -524}\special{pa 57 -517}\special{pa 57 -510}% +\special{pa 58 -504}\special{pa 58 -497}\special{pa 59 -490}\special{pa 60 -483}% +\special{pa 60 -477}\special{pa 61 -470}\special{pa 61 -463}\special{pa 62 -456}% +\special{pa 62 -449}\special{pa 63 -441}\special{pa 63 -434}\special{pa 64 -427}% +\special{pa 64 -420}\special{pa 65 -413}\special{pa 65 -405}\special{pa 66 -398}% +\special{pa 66 -390}\special{pa 67 -383}\special{pa 67 -375}\special{pa 68 -368}% +\special{pa 68 -360}\special{pa 69 -352}\special{pa 69 -345}\special{pa 70 -337}% +\special{pa 70 -329}\special{pa 71 -321}\special{pa 71 -313}\special{pa 72 -305}% +\special{pa 72 -297}\special{pa 73 -289}\special{pa 73 -281}\special{pa 74 -273}% +\special{pa 75 -265}\special{pa 75 -257}\special{pa 76 -248}\special{pa 76 -240}% +\special{pa 77 -232}\special{pa 77 -223}\special{pa 78 -215}\special{pa 78 -206}% +\special{pa 79 -198}\special{pa 79 -189}\special{pa 80 -180}\special{pa 80 -171}% +\special{pa 81 -163}\special{pa 81 -154}\special{pa 82 -145}\special{pa 82 -136}% +\special{pa 83 -127}\special{pa 83 -118}\special{pa 84 -109}\special{pa 84 -100}% +\special{pa 85 -91}\special{pa 85 -82}\special{pa 86 -72}\special{pa 86 -63}% +\special{pa 87 -54}\special{pa 87 -44}\special{pa 88 -35}\special{pa 88 -25}% +\special{pa 89 -16}\special{pa 90 -6}\special{pa 90 3}\special{pa 91 13}% +\special{pa 91 23}\special{pa 92 33}\special{pa 92 42}\special{pa 93 52}% +\special{pa 93 62}\special{pa 94 72}\special{pa 94 82}\special{pa 95 92}% +\special{pa 95 102}\special{pa 96 113}\special{pa 96 123}\special{pa 97 133}% +\special{pa 97 143}\special{pa 98 154}\special{pa 98 164}\special{pa 99 175}% +\special{pa 99 185}\special{pa 100 196}\special{pa 100 206}\special{pa 101 217}% +\special{pa 101 227}\special{pa 102 238}\special{pa 102 249}\special{pa 103 260}% +\special{pa 103 271}% +\special{fp}% +\special{pa 0 -955}\special{pa 1 -953}\special{pa 3 -952}\special{pa 4 -951}% +\special{pa 5 -949}\special{pa 7 -948}\special{pa 8 -947}\special{pa 9 -945}% +\special{pa 11 -943}\special{pa 12 -942}\special{pa 13 -940}\special{pa 15 -939}% +\special{pa 16 -937}\special{pa 17 -935}\special{pa 19 -933}\special{pa 20 -931}% +\special{pa 21 -929}\special{pa 23 -927}\special{pa 24 -925}\special{pa 25 -923}% +\special{pa 27 -921}\special{pa 28 -919}\special{pa 29 -917}\special{pa 31 -914}% +\special{pa 32 -912}\special{pa 33 -910}\special{pa 35 -907}\special{pa 36 -905}% +\special{pa 37 -902}\special{pa 39 -900}\special{pa 40 -897}\special{pa 41 -894}% +\special{pa 43 -892}\special{pa 44 -889}\special{pa 45 -886}\special{pa 46 -883}% +\special{pa 48 -880}\special{pa 49 -877}\special{pa 50 -874}\special{pa 52 -871}% +\special{pa 53 -868}\special{pa 54 -865}\special{pa 56 -862}\special{pa 57 -859}% +\special{pa 58 -855}\special{pa 60 -852}\special{pa 61 -849}\special{pa 62 -845}% +\special{pa 64 -842}\special{pa 65 -838}\special{pa 66 -835}\special{pa 68 -831}% +\special{pa 69 -827}\special{pa 70 -824}\special{pa 72 -820}\special{pa 73 -816}% +\special{pa 74 -812}\special{pa 76 -808}\special{pa 77 -804}\special{pa 78 -800}% +\special{pa 80 -796}\special{pa 81 -792}\special{pa 82 -788}\special{pa 84 -784}% +\special{pa 85 -780}\special{pa 86 -775}\special{pa 88 -771}\special{pa 89 -767}% +\special{pa 90 -762}\special{pa 92 -758}\special{pa 93 -753}\special{pa 94 -749}% +\special{pa 96 -744}\special{pa 97 -739}\special{pa 98 -735}\special{pa 100 -730}% +\special{pa 101 -725}\special{pa 102 -720}\special{pa 104 -715}\special{pa 105 -710}% +\special{pa 106 -705}\special{pa 108 -700}\special{pa 109 -695}\special{pa 110 -690}% +\special{pa 112 -685}\special{pa 113 -680}\special{pa 114 -674}\special{pa 116 -669}% +\special{pa 117 -664}\special{pa 118 -658}\special{pa 120 -653}\special{pa 121 -647}% +\special{pa 122 -642}\special{pa 124 -636}\special{pa 125 -630}\special{pa 126 -625}% +\special{pa 128 -619}\special{pa 129 -613}\special{pa 130 -607}\special{pa 132 -601}% +\special{pa 133 -595}\special{pa 134 -589}\special{pa 136 -583}\special{pa 137 -577}% +\special{pa 138 -571}\special{pa 139 -565}\special{pa 141 -559}\special{pa 142 -552}% +\special{pa 143 -546}\special{pa 145 -540}\special{pa 146 -533}\special{pa 147 -527}% +\special{pa 149 -520}\special{pa 150 -513}\special{pa 151 -507}\special{pa 153 -500}% +\special{pa 154 -493}\special{pa 155 -487}\special{pa 157 -480}\special{pa 158 -473}% +\special{pa 159 -466}\special{pa 161 -459}\special{pa 162 -452}\special{pa 163 -445}% +\special{pa 165 -438}\special{pa 166 -431}\special{pa 167 -424}\special{pa 169 -416}% +\special{pa 170 -409}\special{pa 171 -402}\special{pa 173 -394}\special{pa 174 -387}% +\special{pa 175 -379}\special{pa 177 -372}\special{pa 178 -364}\special{pa 179 -357}% +\special{pa 181 -349}\special{pa 182 -341}\special{pa 183 -334}\special{pa 185 -326}% +\special{pa 186 -318}\special{pa 187 -310}\special{pa 189 -302}\special{pa 190 -294}% +\special{pa 191 -286}\special{pa 193 -278}\special{pa 194 -270}\special{pa 195 -261}% +\special{pa 197 -253}\special{pa 198 -245}\special{pa 199 -237}\special{pa 201 -228}% +\special{pa 202 -220}\special{pa 203 -211}\special{pa 205 -203}\special{pa 206 -194}% +\special{pa 207 -186}\special{pa 209 -177}\special{pa 210 -168}\special{pa 211 -159}% +\special{pa 213 -151}\special{pa 214 -142}\special{pa 215 -133}\special{pa 217 -124}% +\special{pa 218 -115}\special{pa 219 -106}\special{pa 221 -97}\special{pa 222 -87}% +\special{pa 223 -78}\special{pa 225 -69}\special{pa 226 -60}\special{pa 227 -50}% +\special{pa 229 -41}\special{pa 230 -32}\special{pa 231 -22}\special{pa 232 -12}% +\special{pa 234 -3}\special{pa 235 7}\special{pa 236 16}\special{pa 238 26}% +\special{pa 239 36}\special{pa 240 46}\special{pa 242 56}\special{pa 243 66}% +\special{pa 244 75}\special{pa 246 86}\special{pa 247 96}\special{pa 248 106}% +\special{pa 250 116}\special{pa 251 126}\special{pa 252 136}\special{pa 254 147}% +\special{pa 255 157}\special{pa 256 167}\special{pa 258 178}\special{pa 259 188}% +\special{pa 260 199}\special{pa 262 209}\special{pa 263 220}\special{pa 264 231}% +\special{pa 266 241}% +\special{fp}% +\special{pa 0 -955}\special{pa 2 -954}\special{pa 4 -953}\special{pa 6 -952}% +\special{pa 8 -951}\special{pa 10 -949}\special{pa 12 -948}\special{pa 14 -947}% +\special{pa 16 -946}\special{pa 18 -944}\special{pa 20 -943}\special{pa 22 -941}% +\special{pa 24 -940}\special{pa 26 -938}\special{pa 28 -937}\special{pa 30 -935}% +\special{pa 32 -933}\special{pa 34 -932}\special{pa 36 -930}\special{pa 38 -928}% +\special{pa 40 -926}\special{pa 42 -924}\special{pa 44 -922}\special{pa 46 -920}% +\special{pa 48 -918}\special{pa 50 -916}\special{pa 52 -914}\special{pa 54 -912}% +\special{pa 56 -910}\special{pa 58 -907}\special{pa 60 -905}\special{pa 62 -903}% +\special{pa 64 -900}\special{pa 66 -898}\special{pa 68 -895}\special{pa 70 -892}% +\special{pa 72 -890}\special{pa 74 -887}\special{pa 76 -884}\special{pa 78 -882}% +\special{pa 80 -879}\special{pa 82 -876}\special{pa 84 -873}\special{pa 86 -870}% +\special{pa 88 -867}\special{pa 90 -864}\special{pa 92 -861}\special{pa 94 -858}% +\special{pa 96 -854}\special{pa 98 -851}\special{pa 100 -848}\special{pa 102 -845}% +\special{pa 105 -841}\special{pa 107 -838}\special{pa 109 -834}\special{pa 111 -831}% +\special{pa 113 -827}\special{pa 115 -823}\special{pa 117 -820}\special{pa 119 -816}% +\special{pa 121 -812}\special{pa 123 -808}\special{pa 125 -804}\special{pa 127 -801}% +\special{pa 129 -797}\special{pa 131 -793}\special{pa 133 -788}\special{pa 135 -784}% +\special{pa 137 -780}\special{pa 139 -776}\special{pa 141 -772}\special{pa 143 -767}% +\special{pa 145 -763}\special{pa 147 -759}\special{pa 149 -754}\special{pa 151 -750}% +\special{pa 153 -745}\special{pa 155 -741}\special{pa 157 -736}\special{pa 159 -731}% +\special{pa 161 -726}\special{pa 163 -722}\special{pa 165 -717}\special{pa 167 -712}% +\special{pa 169 -707}\special{pa 171 -702}\special{pa 173 -697}\special{pa 175 -692}% +\special{pa 177 -687}\special{pa 179 -682}\special{pa 181 -676}\special{pa 183 -671}% +\special{pa 185 -666}\special{pa 187 -661}\special{pa 189 -655}\special{pa 191 -650}% +\special{pa 193 -644}\special{pa 195 -639}\special{pa 197 -633}\special{pa 199 -627}% +\special{pa 201 -622}\special{pa 203 -616}\special{pa 205 -610}\special{pa 207 -604}% +\special{pa 209 -598}\special{pa 211 -593}\special{pa 213 -587}\special{pa 215 -581}% +\special{pa 217 -574}\special{pa 219 -568}\special{pa 221 -562}\special{pa 223 -556}% +\special{pa 225 -550}\special{pa 227 -543}\special{pa 229 -537}\special{pa 231 -531}% +\special{pa 233 -524}\special{pa 235 -518}\special{pa 237 -511}\special{pa 239 -504}% +\special{pa 241 -498}\special{pa 243 -491}\special{pa 245 -484}\special{pa 247 -478}% +\special{pa 249 -471}\special{pa 251 -464}\special{pa 253 -457}\special{pa 255 -450}% +\special{pa 257 -443}\special{pa 259 -436}\special{pa 261 -429}\special{pa 263 -422}% +\special{pa 265 -414}\special{pa 267 -407}\special{pa 269 -400}\special{pa 271 -392}% +\special{pa 273 -385}\special{pa 275 -378}\special{pa 277 -370}\special{pa 279 -362}% +\special{pa 281 -355}\special{pa 283 -347}\special{pa 285 -340}\special{pa 287 -332}% +\special{pa 289 -324}\special{pa 291 -316}\special{pa 293 -308}\special{pa 295 -300}% +\special{pa 297 -292}\special{pa 299 -284}\special{pa 301 -276}\special{pa 303 -268}% +\special{pa 305 -260}\special{pa 307 -252}\special{pa 309 -243}\special{pa 311 -235}% +\special{pa 314 -227}\special{pa 316 -218}\special{pa 318 -210}\special{pa 320 -201}% +\special{pa 322 -193}\special{pa 324 -184}\special{pa 326 -176}\special{pa 328 -167}% +\special{pa 330 -158}\special{pa 332 -149}\special{pa 334 -140}\special{pa 336 -132}% +\special{pa 338 -123}\special{pa 340 -114}\special{pa 342 -105}\special{pa 344 -96}% +\special{pa 346 -86}\special{pa 348 -77}\special{pa 350 -68}\special{pa 352 -59}% +\special{pa 354 -49}\special{pa 356 -40}\special{pa 358 -31}\special{pa 360 -21}% +\special{pa 362 -12}\special{pa 364 -2}\special{pa 366 8}\special{pa 368 17}% +\special{pa 370 27}\special{pa 372 37}\special{pa 374 46}\special{pa 376 56}% +\special{pa 378 66}\special{pa 380 76}\special{pa 382 86}\special{pa 384 96}% +\special{pa 386 106}\special{pa 388 116}\special{pa 390 127}\special{pa 392 137}% +\special{pa 394 147}\special{pa 396 157}\special{pa 398 168}\special{pa 400 178}% +\special{pa 402 189}% +\special{fp}% +\special{pa 0 -955}\special{pa 2 -954}\special{pa 5 -953}\special{pa 7 -953}% +\special{pa 10 -952}\special{pa 12 -951}\special{pa 15 -950}\special{pa 17 -949}% +\special{pa 20 -948}\special{pa 22 -947}\special{pa 25 -946}\special{pa 27 -945}% +\special{pa 30 -944}\special{pa 32 -943}\special{pa 35 -942}\special{pa 37 -941}% +\special{pa 40 -939}\special{pa 42 -938}\special{pa 45 -936}\special{pa 47 -935}% +\special{pa 50 -933}\special{pa 52 -932}\special{pa 55 -930}\special{pa 57 -929}% +\special{pa 60 -927}\special{pa 62 -925}\special{pa 65 -923}\special{pa 67 -921}% +\special{pa 70 -920}\special{pa 72 -918}\special{pa 75 -916}\special{pa 77 -914}% +\special{pa 80 -911}\special{pa 82 -909}\special{pa 85 -907}\special{pa 87 -905}% +\special{pa 90 -903}\special{pa 92 -900}\special{pa 95 -898}\special{pa 97 -896}% +\special{pa 100 -893}\special{pa 102 -891}\special{pa 105 -888}\special{pa 107 -885}% +\special{pa 110 -883}\special{pa 112 -880}\special{pa 115 -877}\special{pa 117 -874}% +\special{pa 120 -872}\special{pa 122 -869}\special{pa 125 -866}\special{pa 127 -863}% +\special{pa 130 -860}\special{pa 132 -857}\special{pa 135 -853}\special{pa 137 -850}% +\special{pa 140 -847}\special{pa 142 -844}\special{pa 145 -840}\special{pa 147 -837}% +\special{pa 150 -834}\special{pa 152 -830}\special{pa 155 -827}\special{pa 157 -823}% +\special{pa 160 -819}\special{pa 162 -816}\special{pa 165 -812}\special{pa 167 -808}% +\special{pa 170 -804}\special{pa 172 -801}\special{pa 175 -797}\special{pa 177 -793}% +\special{pa 180 -789}\special{pa 182 -785}\special{pa 185 -781}\special{pa 187 -776}% +\special{pa 190 -772}\special{pa 192 -768}\special{pa 195 -764}\special{pa 197 -759}% +\special{pa 200 -755}\special{pa 202 -751}\special{pa 205 -746}\special{pa 207 -742}% +\special{pa 210 -737}\special{pa 212 -732}\special{pa 214 -728}\special{pa 217 -723}% +\special{pa 219 -718}\special{pa 222 -713}\special{pa 224 -709}\special{pa 227 -704}% +\special{pa 229 -699}\special{pa 232 -694}\special{pa 234 -689}\special{pa 237 -684}% +\special{pa 239 -678}\special{pa 242 -673}\special{pa 244 -668}\special{pa 247 -663}% +\special{pa 249 -657}\special{pa 252 -652}\special{pa 254 -647}\special{pa 257 -641}% +\special{pa 259 -636}\special{pa 262 -630}\special{pa 264 -624}\special{pa 267 -619}% +\special{pa 269 -613}\special{pa 272 -607}\special{pa 274 -601}\special{pa 277 -596}% +\special{pa 279 -590}\special{pa 282 -584}\special{pa 284 -578}\special{pa 287 -572}% +\special{pa 289 -566}\special{pa 292 -559}\special{pa 294 -553}\special{pa 297 -547}% +\special{pa 299 -541}\special{pa 302 -534}\special{pa 304 -528}\special{pa 307 -521}% +\special{pa 309 -515}\special{pa 312 -508}\special{pa 314 -502}\special{pa 317 -495}% +\special{pa 319 -489}\special{pa 322 -482}\special{pa 324 -475}\special{pa 327 -468}% +\special{pa 329 -461}\special{pa 332 -455}\special{pa 334 -448}\special{pa 337 -441}% +\special{pa 339 -434}\special{pa 342 -426}\special{pa 344 -419}\special{pa 347 -412}% +\special{pa 349 -405}\special{pa 352 -398}\special{pa 354 -390}\special{pa 357 -383}% +\special{pa 359 -375}\special{pa 362 -368}\special{pa 364 -360}\special{pa 367 -353}% +\special{pa 369 -345}\special{pa 372 -337}\special{pa 374 -330}\special{pa 377 -322}% +\special{pa 379 -314}\special{pa 382 -306}\special{pa 384 -298}\special{pa 387 -290}% +\special{pa 389 -282}\special{pa 392 -274}\special{pa 394 -266}\special{pa 397 -258}% +\special{pa 399 -250}\special{pa 402 -242}\special{pa 404 -233}\special{pa 407 -225}% +\special{pa 409 -217}\special{pa 412 -208}\special{pa 414 -200}\special{pa 417 -191}% +\special{pa 419 -183}\special{pa 421 -174}\special{pa 424 -165}\special{pa 426 -157}% +\special{pa 429 -148}\special{pa 431 -139}\special{pa 434 -130}\special{pa 436 -121}% +\special{pa 439 -112}\special{pa 441 -103}\special{pa 444 -94}\special{pa 446 -85}% +\special{pa 449 -76}\special{pa 451 -67}\special{pa 454 -57}\special{pa 456 -48}% +\special{pa 459 -39}\special{pa 461 -29}\special{pa 464 -20}\special{pa 466 -10}% +\special{pa 469 -1}\special{pa 471 9}\special{pa 474 18}\special{pa 476 28}% +\special{pa 479 38}\special{pa 481 47}\special{pa 484 57}\special{pa 486 67}% +\special{pa 489 77}\special{pa 491 87}\special{pa 494 97}\special{pa 496 107}% +\special{pa 499 117}% +\special{fp}% +\special{pa 0 -955}\special{pa 3 -954}\special{pa 5 -954}\special{pa 8 -954}% +\special{pa 11 -954}\special{pa 14 -953}\special{pa 16 -953}\special{pa 19 -952}% +\special{pa 22 -952}\special{pa 25 -951}\special{pa 27 -951}\special{pa 30 -950}% +\special{pa 33 -949}\special{pa 36 -948}\special{pa 38 -948}\special{pa 41 -947}% +\special{pa 44 -946}\special{pa 46 -945}\special{pa 49 -944}\special{pa 52 -943}% +\special{pa 55 -942}\special{pa 57 -941}\special{pa 60 -939}\special{pa 63 -938}% +\special{pa 66 -937}\special{pa 68 -935}\special{pa 71 -934}\special{pa 74 -933}% +\special{pa 77 -931}\special{pa 79 -930}\special{pa 82 -928}\special{pa 85 -926}% +\special{pa 87 -925}\special{pa 90 -923}\special{pa 93 -921}\special{pa 96 -919}% +\special{pa 98 -918}\special{pa 101 -916}\special{pa 104 -914}\special{pa 107 -912}% +\special{pa 109 -910}\special{pa 112 -907}\special{pa 115 -905}\special{pa 118 -903}% +\special{pa 120 -901}\special{pa 123 -899}\special{pa 126 -896}\special{pa 129 -894}% +\special{pa 131 -891}\special{pa 134 -889}\special{pa 137 -886}\special{pa 139 -884}% +\special{pa 142 -881}\special{pa 145 -879}\special{pa 148 -876}\special{pa 150 -873}% +\special{pa 153 -870}\special{pa 156 -867}\special{pa 159 -864}\special{pa 161 -861}% +\special{pa 164 -858}\special{pa 167 -855}\special{pa 170 -852}\special{pa 172 -849}% +\special{pa 175 -846}\special{pa 178 -843}\special{pa 180 -839}\special{pa 183 -836}% +\special{pa 186 -833}\special{pa 189 -829}\special{pa 191 -826}\special{pa 194 -822}% +\special{pa 197 -819}\special{pa 200 -815}\special{pa 202 -811}\special{pa 205 -808}% +\special{pa 208 -804}\special{pa 211 -800}\special{pa 213 -796}\special{pa 216 -792}% +\special{pa 219 -788}\special{pa 221 -784}\special{pa 224 -780}\special{pa 227 -776}% +\special{pa 230 -772}\special{pa 232 -768}\special{pa 235 -763}\special{pa 238 -759}% +\special{pa 241 -755}\special{pa 243 -750}\special{pa 246 -746}\special{pa 249 -741}% +\special{pa 252 -737}\special{pa 254 -732}\special{pa 257 -728}\special{pa 260 -723}% +\special{pa 262 -718}\special{pa 265 -713}\special{pa 268 -709}\special{pa 271 -704}% +\special{pa 273 -699}\special{pa 276 -694}\special{pa 279 -689}\special{pa 282 -684}% +\special{pa 284 -679}\special{pa 287 -673}\special{pa 290 -668}\special{pa 293 -663}% +\special{pa 295 -658}\special{pa 298 -652}\special{pa 301 -647}\special{pa 304 -641}% +\special{pa 306 -636}\special{pa 309 -630}\special{pa 312 -625}\special{pa 314 -619}% +\special{pa 317 -614}\special{pa 320 -608}\special{pa 323 -602}\special{pa 325 -596}% +\special{pa 328 -590}\special{pa 331 -584}\special{pa 334 -578}\special{pa 336 -572}% +\special{pa 339 -566}\special{pa 342 -560}\special{pa 345 -554}\special{pa 347 -548}% +\special{pa 350 -542}\special{pa 353 -535}\special{pa 355 -529}\special{pa 358 -523}% +\special{pa 361 -516}\special{pa 364 -510}\special{pa 366 -503}\special{pa 369 -496}% +\special{pa 372 -490}\special{pa 375 -483}\special{pa 377 -476}\special{pa 380 -470}% +\special{pa 383 -463}\special{pa 386 -456}\special{pa 388 -449}\special{pa 391 -442}% +\special{pa 394 -435}\special{pa 396 -428}\special{pa 399 -421}\special{pa 402 -414}% +\special{pa 405 -406}\special{pa 407 -399}\special{pa 410 -392}\special{pa 413 -384}% +\special{pa 416 -377}\special{pa 418 -370}\special{pa 421 -362}\special{pa 424 -355}% +\special{pa 427 -347}\special{pa 429 -339}\special{pa 432 -332}\special{pa 435 -324}% +\special{pa 437 -316}\special{pa 440 -308}\special{pa 443 -300}\special{pa 446 -292}% +\special{pa 448 -285}\special{pa 451 -276}\special{pa 454 -268}\special{pa 457 -260}% +\special{pa 459 -252}\special{pa 462 -244}\special{pa 465 -236}\special{pa 468 -227}% +\special{pa 470 -219}\special{pa 473 -211}\special{pa 476 -202}\special{pa 479 -194}% +\special{pa 481 -185}\special{pa 484 -176}\special{pa 487 -168}\special{pa 489 -159}% +\special{pa 492 -150}\special{pa 495 -142}\special{pa 498 -133}\special{pa 500 -124}% +\special{pa 503 -115}\special{pa 506 -106}\special{pa 509 -97}\special{pa 511 -88}% +\special{pa 514 -79}\special{pa 517 -70}\special{pa 520 -60}\special{pa 522 -51}% +\special{pa 525 -42}\special{pa 528 -32}\special{pa 530 -23}\special{pa 533 -14}% +\special{pa 536 -4}\special{pa 539 6}\special{pa 541 15}\special{pa 544 25}% +\special{pa 547 34}% +\special{fp}% +\special{pa 0 -955}\special{pa 3 -955}\special{pa 5 -955}\special{pa 8 -955}% +\special{pa 11 -955}\special{pa 14 -955}\special{pa 16 -955}\special{pa 19 -955}% +\special{pa 22 -955}\special{pa 24 -955}\special{pa 27 -955}\special{pa 30 -955}% +\special{pa 32 -954}\special{pa 35 -954}\special{pa 38 -954}\special{pa 41 -953}% +\special{pa 43 -953}\special{pa 46 -952}\special{pa 49 -952}\special{pa 51 -951}% +\special{pa 54 -950}\special{pa 57 -950}\special{pa 60 -949}\special{pa 62 -948}% +\special{pa 65 -947}\special{pa 68 -946}\special{pa 70 -945}\special{pa 73 -944}% +\special{pa 76 -943}\special{pa 79 -942}\special{pa 81 -941}\special{pa 84 -940}% +\special{pa 87 -939}\special{pa 89 -937}\special{pa 92 -936}\special{pa 95 -934}% +\special{pa 97 -933}\special{pa 100 -932}\special{pa 103 -930}\special{pa 106 -928}% +\special{pa 108 -927}\special{pa 111 -925}\special{pa 114 -923}\special{pa 116 -922}% +\special{pa 119 -920}\special{pa 122 -918}\special{pa 125 -916}\special{pa 127 -914}% +\special{pa 130 -912}\special{pa 133 -910}\special{pa 135 -908}\special{pa 138 -906}% +\special{pa 141 -904}\special{pa 143 -901}\special{pa 146 -899}\special{pa 149 -897}% +\special{pa 152 -894}\special{pa 154 -892}\special{pa 157 -889}\special{pa 160 -887}% +\special{pa 162 -884}\special{pa 165 -882}\special{pa 168 -879}\special{pa 171 -876}% +\special{pa 173 -873}\special{pa 176 -871}\special{pa 179 -868}\special{pa 181 -865}% +\special{pa 184 -862}\special{pa 187 -859}\special{pa 189 -856}\special{pa 192 -853}% +\special{pa 195 -850}\special{pa 198 -846}\special{pa 200 -843}\special{pa 203 -840}% +\special{pa 206 -836}\special{pa 208 -833}\special{pa 211 -830}\special{pa 214 -826}% +\special{pa 217 -823}\special{pa 219 -819}\special{pa 222 -815}\special{pa 225 -812}% +\special{pa 227 -808}\special{pa 230 -804}\special{pa 233 -800}\special{pa 236 -797}% +\special{pa 238 -793}\special{pa 241 -789}\special{pa 244 -785}\special{pa 246 -781}% +\special{pa 249 -776}\special{pa 252 -772}\special{pa 254 -768}\special{pa 257 -764}% +\special{pa 260 -760}\special{pa 263 -755}\special{pa 265 -751}\special{pa 268 -746}% +\special{pa 271 -742}\special{pa 273 -737}\special{pa 276 -733}\special{pa 279 -728}% +\special{pa 282 -723}\special{pa 284 -719}\special{pa 287 -714}\special{pa 290 -709}% +\special{pa 292 -704}\special{pa 295 -699}\special{pa 298 -694}\special{pa 300 -689}% +\special{pa 303 -684}\special{pa 306 -679}\special{pa 309 -674}\special{pa 311 -669}% +\special{pa 314 -664}\special{pa 317 -658}\special{pa 319 -653}\special{pa 322 -647}% +\special{pa 325 -642}\special{pa 328 -637}\special{pa 330 -631}\special{pa 333 -625}% +\special{pa 336 -620}\special{pa 338 -614}\special{pa 341 -608}\special{pa 344 -603}% +\special{pa 346 -597}\special{pa 349 -591}\special{pa 352 -585}\special{pa 355 -579}% +\special{pa 357 -573}\special{pa 360 -567}\special{pa 363 -561}\special{pa 365 -555}% +\special{pa 368 -548}\special{pa 371 -542}\special{pa 374 -536}\special{pa 376 -530}% +\special{pa 379 -523}\special{pa 382 -517}\special{pa 384 -510}\special{pa 387 -504}% +\special{pa 390 -497}\special{pa 393 -490}\special{pa 395 -484}\special{pa 398 -477}% +\special{pa 401 -470}\special{pa 403 -463}\special{pa 406 -456}\special{pa 409 -450}% +\special{pa 411 -443}\special{pa 414 -436}\special{pa 417 -428}\special{pa 420 -421}% +\special{pa 422 -414}\special{pa 425 -407}\special{pa 428 -400}\special{pa 430 -392}% +\special{pa 433 -385}\special{pa 436 -378}\special{pa 439 -370}\special{pa 441 -363}% +\special{pa 444 -355}\special{pa 447 -348}\special{pa 449 -340}\special{pa 452 -332}% +\special{pa 455 -325}\special{pa 457 -317}\special{pa 460 -309}\special{pa 463 -301}% +\special{pa 466 -293}\special{pa 468 -285}\special{pa 471 -277}\special{pa 474 -269}% +\special{pa 476 -261}\special{pa 479 -253}\special{pa 482 -245}\special{pa 485 -236}% +\special{pa 487 -228}\special{pa 490 -220}\special{pa 493 -211}\special{pa 495 -203}% +\special{pa 498 -194}\special{pa 501 -186}\special{pa 503 -177}\special{pa 506 -168}% +\special{pa 509 -160}\special{pa 512 -151}\special{pa 514 -142}\special{pa 517 -133}% +\special{pa 520 -125}\special{pa 522 -116}\special{pa 525 -107}\special{pa 528 -98}% +\special{pa 531 -89}\special{pa 533 -79}\special{pa 536 -70}\special{pa 539 -61}% +\special{pa 541 -52}% +\special{fp}% +\special{pa 0 -955}\special{pa 2 -955}\special{pa 5 -956}\special{pa 7 -956}% +\special{pa 10 -957}\special{pa 12 -957}\special{pa 14 -958}\special{pa 17 -958}% +\special{pa 19 -958}\special{pa 22 -959}\special{pa 24 -959}\special{pa 27 -959}% +\special{pa 29 -959}\special{pa 31 -959}\special{pa 34 -959}\special{pa 36 -959}% +\special{pa 39 -959}\special{pa 41 -959}\special{pa 43 -959}\special{pa 46 -959}% +\special{pa 48 -958}\special{pa 51 -958}\special{pa 53 -958}\special{pa 56 -957}% +\special{pa 58 -957}\special{pa 60 -956}\special{pa 63 -956}\special{pa 65 -955}% +\special{pa 68 -955}\special{pa 70 -954}\special{pa 72 -953}\special{pa 75 -952}% +\special{pa 77 -951}\special{pa 80 -951}\special{pa 82 -950}\special{pa 85 -949}% +\special{pa 87 -948}\special{pa 89 -947}\special{pa 92 -945}\special{pa 94 -944}% +\special{pa 97 -943}\special{pa 99 -942}\special{pa 101 -940}\special{pa 104 -939}% +\special{pa 106 -938}\special{pa 109 -936}\special{pa 111 -935}\special{pa 113 -933}% +\special{pa 116 -932}\special{pa 118 -930}\special{pa 121 -928}\special{pa 123 -926}% +\special{pa 126 -925}\special{pa 128 -923}\special{pa 130 -921}\special{pa 133 -919}% +\special{pa 135 -917}\special{pa 138 -915}\special{pa 140 -913}\special{pa 142 -911}% +\special{pa 145 -909}\special{pa 147 -906}\special{pa 150 -904}\special{pa 152 -902}% +\special{pa 155 -899}\special{pa 157 -897}\special{pa 159 -895}\special{pa 162 -892}% +\special{pa 164 -889}\special{pa 167 -887}\special{pa 169 -884}\special{pa 171 -882}% +\special{pa 174 -879}\special{pa 176 -876}\special{pa 179 -873}\special{pa 181 -870}% +\special{pa 184 -867}\special{pa 186 -864}\special{pa 188 -861}\special{pa 191 -858}% +\special{pa 193 -855}\special{pa 196 -852}\special{pa 198 -849}\special{pa 200 -845}% +\special{pa 203 -842}\special{pa 205 -839}\special{pa 208 -835}\special{pa 210 -832}% +\special{pa 212 -828}\special{pa 215 -825}\special{pa 217 -821}\special{pa 220 -817}% +\special{pa 222 -814}\special{pa 225 -810}\special{pa 227 -806}\special{pa 229 -802}% +\special{pa 232 -798}\special{pa 234 -795}\special{pa 237 -791}\special{pa 239 -787}% +\special{pa 241 -782}\special{pa 244 -778}\special{pa 246 -774}\special{pa 249 -770}% +\special{pa 251 -766}\special{pa 254 -761}\special{pa 256 -757}\special{pa 258 -752}% +\special{pa 261 -748}\special{pa 263 -744}\special{pa 266 -739}\special{pa 268 -734}% +\special{pa 270 -730}\special{pa 273 -725}\special{pa 275 -720}\special{pa 278 -715}% +\special{pa 280 -711}\special{pa 283 -706}\special{pa 285 -701}\special{pa 287 -696}% +\special{pa 290 -691}\special{pa 292 -686}\special{pa 295 -680}\special{pa 297 -675}% +\special{pa 299 -670}\special{pa 302 -665}\special{pa 304 -659}\special{pa 307 -654}% +\special{pa 309 -649}\special{pa 311 -643}\special{pa 314 -638}\special{pa 316 -632}% +\special{pa 319 -627}\special{pa 321 -621}\special{pa 324 -615}\special{pa 326 -609}% +\special{pa 328 -604}\special{pa 331 -598}\special{pa 333 -592}\special{pa 336 -586}% +\special{pa 338 -580}\special{pa 340 -574}\special{pa 343 -568}\special{pa 345 -562}% +\special{pa 348 -555}\special{pa 350 -549}\special{pa 353 -543}\special{pa 355 -537}% +\special{pa 357 -530}\special{pa 360 -524}\special{pa 362 -517}\special{pa 365 -511}% +\special{pa 367 -504}\special{pa 369 -498}\special{pa 372 -491}\special{pa 374 -484}% +\special{pa 377 -477}\special{pa 379 -471}\special{pa 381 -464}\special{pa 384 -457}% +\special{pa 386 -450}\special{pa 389 -443}\special{pa 391 -436}\special{pa 394 -429}% +\special{pa 396 -422}\special{pa 398 -415}\special{pa 401 -407}\special{pa 403 -400}% +\special{pa 406 -393}\special{pa 408 -385}\special{pa 410 -378}\special{pa 413 -370}% +\special{pa 415 -363}\special{pa 418 -355}\special{pa 420 -348}\special{pa 423 -340}% +\special{pa 425 -332}\special{pa 427 -325}\special{pa 430 -317}\special{pa 432 -309}% +\special{pa 435 -301}\special{pa 437 -293}\special{pa 439 -285}\special{pa 442 -277}% +\special{pa 444 -269}\special{pa 447 -261}\special{pa 449 -253}\special{pa 452 -244}% +\special{pa 454 -236}\special{pa 456 -228}\special{pa 459 -219}\special{pa 461 -211}% +\special{pa 464 -202}\special{pa 466 -194}\special{pa 468 -185}\special{pa 471 -177}% +\special{pa 473 -168}\special{pa 476 -159}\special{pa 478 -151}\special{pa 480 -142}% +\special{pa 483 -133}% +\special{fp}% +\special{pa 0 -955}\special{pa 2 -956}\special{pa 4 -957}\special{pa 6 -957}% +\special{pa 8 -958}\special{pa 9 -959}\special{pa 11 -960}\special{pa 13 -961}% +\special{pa 15 -961}\special{pa 17 -962}\special{pa 19 -962}\special{pa 21 -963}% +\special{pa 23 -963}\special{pa 25 -964}\special{pa 26 -964}\special{pa 28 -964}% +\special{pa 30 -965}\special{pa 32 -965}\special{pa 34 -965}\special{pa 36 -965}% +\special{pa 38 -965}\special{pa 40 -965}\special{pa 41 -965}\special{pa 43 -965}% +\special{pa 45 -965}\special{pa 47 -965}\special{pa 49 -965}\special{pa 51 -964}% +\special{pa 53 -964}\special{pa 55 -964}\special{pa 57 -963}\special{pa 58 -963}% +\special{pa 60 -962}\special{pa 62 -962}\special{pa 64 -961}\special{pa 66 -961}% +\special{pa 68 -960}\special{pa 70 -959}\special{pa 72 -958}\special{pa 74 -958}% +\special{pa 75 -957}\special{pa 77 -956}\special{pa 79 -955}\special{pa 81 -954}% +\special{pa 83 -953}\special{pa 85 -952}\special{pa 87 -950}\special{pa 89 -949}% +\special{pa 91 -948}\special{pa 92 -947}\special{pa 94 -945}\special{pa 96 -944}% +\special{pa 98 -942}\special{pa 100 -941}\special{pa 102 -939}\special{pa 104 -938}% +\special{pa 106 -936}\special{pa 107 -934}\special{pa 109 -933}\special{pa 111 -931}% +\special{pa 113 -929}\special{pa 115 -927}\special{pa 117 -925}\special{pa 119 -923}% +\special{pa 121 -921}\special{pa 123 -919}\special{pa 124 -917}\special{pa 126 -915}% +\special{pa 128 -913}\special{pa 130 -910}\special{pa 132 -908}\special{pa 134 -906}% +\special{pa 136 -903}\special{pa 138 -901}\special{pa 140 -898}\special{pa 141 -896}% +\special{pa 143 -893}\special{pa 145 -891}\special{pa 147 -888}\special{pa 149 -885}% +\special{pa 151 -882}\special{pa 153 -879}\special{pa 155 -877}\special{pa 157 -874}% +\special{pa 158 -871}\special{pa 160 -868}\special{pa 162 -865}\special{pa 164 -861}% +\special{pa 166 -858}\special{pa 168 -855}\special{pa 170 -852}\special{pa 172 -848}% +\special{pa 173 -845}\special{pa 175 -842}\special{pa 177 -838}\special{pa 179 -835}% +\special{pa 181 -831}\special{pa 183 -828}\special{pa 185 -824}\special{pa 187 -820}% +\special{pa 189 -816}\special{pa 190 -813}\special{pa 192 -809}\special{pa 194 -805}% +\special{pa 196 -801}\special{pa 198 -797}\special{pa 200 -793}\special{pa 202 -789}% +\special{pa 204 -785}\special{pa 206 -781}\special{pa 207 -776}\special{pa 209 -772}% +\special{pa 211 -768}\special{pa 213 -763}\special{pa 215 -759}\special{pa 217 -755}% +\special{pa 219 -750}\special{pa 221 -746}\special{pa 223 -741}\special{pa 224 -736}% +\special{pa 226 -732}\special{pa 228 -727}\special{pa 230 -722}\special{pa 232 -717}% +\special{pa 234 -712}\special{pa 236 -707}\special{pa 238 -702}\special{pa 239 -697}% +\special{pa 241 -692}\special{pa 243 -687}\special{pa 245 -682}\special{pa 247 -677}% +\special{pa 249 -671}\special{pa 251 -666}\special{pa 253 -661}\special{pa 255 -655}% +\special{pa 256 -650}\special{pa 258 -644}\special{pa 260 -639}\special{pa 262 -633}% +\special{pa 264 -628}\special{pa 266 -622}\special{pa 268 -616}\special{pa 270 -610}% +\special{pa 272 -604}\special{pa 273 -599}\special{pa 275 -593}\special{pa 277 -587}% +\special{pa 279 -581}\special{pa 281 -575}\special{pa 283 -568}\special{pa 285 -562}% +\special{pa 287 -556}\special{pa 289 -550}\special{pa 290 -543}\special{pa 292 -537}% +\special{pa 294 -531}\special{pa 296 -524}\special{pa 298 -518}\special{pa 300 -511}% +\special{pa 302 -504}\special{pa 304 -498}\special{pa 306 -491}\special{pa 307 -484}% +\special{pa 309 -478}\special{pa 311 -471}\special{pa 313 -464}\special{pa 315 -457}% +\special{pa 317 -450}\special{pa 319 -443}\special{pa 321 -436}\special{pa 322 -429}% +\special{pa 324 -421}\special{pa 326 -414}\special{pa 328 -407}\special{pa 330 -400}% +\special{pa 332 -392}\special{pa 334 -385}\special{pa 336 -377}\special{pa 338 -370}% +\special{pa 339 -362}\special{pa 341 -355}\special{pa 343 -347}\special{pa 345 -339}% +\special{pa 347 -332}\special{pa 349 -324}\special{pa 351 -316}\special{pa 353 -308}% +\special{pa 355 -300}\special{pa 356 -292}\special{pa 358 -284}\special{pa 360 -276}% +\special{pa 362 -268}\special{pa 364 -260}\special{pa 366 -251}\special{pa 368 -243}% +\special{pa 370 -235}\special{pa 372 -226}\special{pa 373 -218}\special{pa 375 -209}% +\special{pa 377 -201}% +\special{fp}% +\special{pa 0 -955}\special{pa 1 -956}\special{pa 2 -957}\special{pa 4 -958}% +\special{pa 5 -959}\special{pa 6 -960}\special{pa 7 -961}\special{pa 8 -962}% +\special{pa 9 -963}\special{pa 11 -964}\special{pa 12 -965}\special{pa 13 -966}% +\special{pa 14 -966}\special{pa 15 -967}\special{pa 16 -967}\special{pa 18 -968}% +\special{pa 19 -969}\special{pa 20 -969}\special{pa 21 -969}\special{pa 22 -970}% +\special{pa 23 -970}\special{pa 25 -970}\special{pa 26 -971}\special{pa 27 -971}% +\special{pa 28 -971}\special{pa 29 -971}\special{pa 30 -971}\special{pa 32 -971}% +\special{pa 33 -971}\special{pa 34 -971}\special{pa 35 -971}\special{pa 36 -970}% +\special{pa 38 -970}\special{pa 39 -970}\special{pa 40 -969}\special{pa 41 -969}% +\special{pa 42 -969}\special{pa 43 -968}\special{pa 45 -968}\special{pa 46 -967}% +\special{pa 47 -966}\special{pa 48 -966}\special{pa 49 -965}\special{pa 50 -964}% +\special{pa 52 -963}\special{pa 53 -962}\special{pa 54 -962}\special{pa 55 -961}% +\special{pa 56 -960}\special{pa 57 -958}\special{pa 59 -957}\special{pa 60 -956}% +\special{pa 61 -955}\special{pa 62 -954}\special{pa 63 -952}\special{pa 64 -951}% +\special{pa 66 -950}\special{pa 67 -948}\special{pa 68 -947}\special{pa 69 -945}% +\special{pa 70 -944}\special{pa 72 -942}\special{pa 73 -940}\special{pa 74 -939}% +\special{pa 75 -937}\special{pa 76 -935}\special{pa 77 -933}\special{pa 79 -931}% +\special{pa 80 -929}\special{pa 81 -927}\special{pa 82 -925}\special{pa 83 -923}% +\special{pa 84 -921}\special{pa 86 -919}\special{pa 87 -916}\special{pa 88 -914}% +\special{pa 89 -912}\special{pa 90 -909}\special{pa 91 -907}\special{pa 93 -904}% +\special{pa 94 -902}\special{pa 95 -899}\special{pa 96 -896}\special{pa 97 -894}% +\special{pa 98 -891}\special{pa 100 -888}\special{pa 101 -885}\special{pa 102 -883}% +\special{pa 103 -880}\special{pa 104 -877}\special{pa 106 -874}\special{pa 107 -871}% +\special{pa 108 -867}\special{pa 109 -864}\special{pa 110 -861}\special{pa 111 -858}% +\special{pa 113 -854}\special{pa 114 -851}\special{pa 115 -848}\special{pa 116 -844}% +\special{pa 117 -841}\special{pa 118 -837}\special{pa 120 -834}\special{pa 121 -830}% +\special{pa 122 -826}\special{pa 123 -822}\special{pa 124 -819}\special{pa 125 -815}% +\special{pa 127 -811}\special{pa 128 -807}\special{pa 129 -803}\special{pa 130 -799}% +\special{pa 131 -795}\special{pa 132 -791}\special{pa 134 -787}\special{pa 135 -782}% +\special{pa 136 -778}\special{pa 137 -774}\special{pa 138 -770}\special{pa 140 -765}% +\special{pa 141 -761}\special{pa 142 -756}\special{pa 143 -752}\special{pa 144 -747}% +\special{pa 145 -742}\special{pa 147 -738}\special{pa 148 -733}\special{pa 149 -728}% +\special{pa 150 -723}\special{pa 151 -718}\special{pa 152 -713}\special{pa 154 -708}% +\special{pa 155 -703}\special{pa 156 -698}\special{pa 157 -693}\special{pa 158 -688}% +\special{pa 159 -683}\special{pa 161 -678}\special{pa 162 -672}\special{pa 163 -667}% +\special{pa 164 -661}\special{pa 165 -656}\special{pa 166 -650}\special{pa 168 -645}% +\special{pa 169 -639}\special{pa 170 -634}\special{pa 171 -628}\special{pa 172 -622}% +\special{pa 174 -616}\special{pa 175 -611}\special{pa 176 -605}\special{pa 177 -599}% +\special{pa 178 -593}\special{pa 179 -587}\special{pa 181 -581}\special{pa 182 -575}% +\special{pa 183 -568}\special{pa 184 -562}\special{pa 185 -556}\special{pa 186 -550}% +\special{pa 188 -543}\special{pa 189 -537}\special{pa 190 -530}\special{pa 191 -524}% +\special{pa 192 -517}\special{pa 193 -511}\special{pa 195 -504}\special{pa 196 -497}% +\special{pa 197 -491}\special{pa 198 -484}\special{pa 199 -477}\special{pa 200 -470}% +\special{pa 202 -463}\special{pa 203 -456}\special{pa 204 -449}\special{pa 205 -442}% +\special{pa 206 -435}\special{pa 208 -428}\special{pa 209 -420}\special{pa 210 -413}% +\special{pa 211 -406}\special{pa 212 -398}\special{pa 213 -391}\special{pa 215 -384}% +\special{pa 216 -376}\special{pa 217 -369}\special{pa 218 -361}\special{pa 219 -353}% +\special{pa 220 -346}\special{pa 222 -338}\special{pa 223 -330}\special{pa 224 -322}% +\special{pa 225 -314}\special{pa 226 -306}\special{pa 227 -298}\special{pa 229 -290}% +\special{pa 230 -282}\special{pa 231 -274}\special{pa 232 -266}\special{pa 233 -258}% +\special{pa 235 -249}% +\special{fp}% +\special{pa 0 -955}\special{pa 0 -956}\special{pa 1 -957}\special{pa 1 -959}% +\special{pa 1 -960}\special{pa 2 -961}\special{pa 2 -962}\special{pa 2 -963}% +\special{pa 3 -964}\special{pa 3 -965}\special{pa 3 -966}\special{pa 4 -967}% +\special{pa 4 -968}\special{pa 4 -968}\special{pa 5 -969}\special{pa 5 -970}% +\special{pa 6 -970}\special{pa 6 -971}\special{pa 6 -972}\special{pa 7 -972}% +\special{pa 7 -972}\special{pa 7 -973}\special{pa 8 -973}\special{pa 8 -973}% +\special{pa 8 -974}\special{pa 9 -974}\special{pa 9 -974}\special{pa 9 -974}% +\special{pa 10 -974}\special{pa 10 -974}\special{pa 10 -974}\special{pa 11 -974}% +\special{pa 11 -974}\special{pa 11 -974}\special{pa 12 -974}\special{pa 12 -973}% +\special{pa 12 -973}\special{pa 13 -973}\special{pa 13 -972}\special{pa 13 -972}% +\special{pa 14 -971}\special{pa 14 -971}\special{pa 14 -970}\special{pa 15 -969}% +\special{pa 15 -969}\special{pa 15 -968}\special{pa 16 -967}\special{pa 16 -966}% +\special{pa 17 -965}\special{pa 17 -964}\special{pa 17 -963}\special{pa 18 -962}% +\special{pa 18 -961}\special{pa 18 -960}\special{pa 19 -959}\special{pa 19 -958}% +\special{pa 19 -956}\special{pa 20 -955}\special{pa 20 -954}\special{pa 20 -952}% +\special{pa 21 -951}\special{pa 21 -949}\special{pa 21 -948}\special{pa 22 -946}% +\special{pa 22 -944}\special{pa 22 -943}\special{pa 23 -941}\special{pa 23 -939}% +\special{pa 23 -937}\special{pa 24 -935}\special{pa 24 -933}\special{pa 24 -931}% +\special{pa 25 -929}\special{pa 25 -927}\special{pa 25 -925}\special{pa 26 -923}% +\special{pa 26 -921}\special{pa 27 -918}\special{pa 27 -916}\special{pa 27 -914}% +\special{pa 28 -911}\special{pa 28 -909}\special{pa 28 -906}\special{pa 29 -904}% +\special{pa 29 -901}\special{pa 29 -898}\special{pa 30 -896}\special{pa 30 -893}% +\special{pa 30 -890}\special{pa 31 -887}\special{pa 31 -884}\special{pa 31 -881}% +\special{pa 32 -878}\special{pa 32 -875}\special{pa 32 -872}\special{pa 33 -869}% +\special{pa 33 -866}\special{pa 33 -863}\special{pa 34 -859}\special{pa 34 -856}% +\special{pa 34 -853}\special{pa 35 -849}\special{pa 35 -846}\special{pa 35 -842}% +\special{pa 36 -839}\special{pa 36 -835}\special{pa 37 -831}\special{pa 37 -828}% +\special{pa 37 -824}\special{pa 38 -820}\special{pa 38 -816}\special{pa 38 -812}% +\special{pa 39 -808}\special{pa 39 -804}\special{pa 39 -800}\special{pa 40 -796}% +\special{pa 40 -792}\special{pa 40 -788}\special{pa 41 -784}\special{pa 41 -779}% +\special{pa 41 -775}\special{pa 42 -771}\special{pa 42 -766}\special{pa 42 -762}% +\special{pa 43 -757}\special{pa 43 -753}\special{pa 43 -748}\special{pa 44 -743}% +\special{pa 44 -739}\special{pa 44 -734}\special{pa 45 -729}\special{pa 45 -724}% +\special{pa 45 -719}\special{pa 46 -714}\special{pa 46 -709}\special{pa 46 -704}% +\special{pa 47 -699}\special{pa 47 -694}\special{pa 48 -689}\special{pa 48 -684}% +\special{pa 48 -678}\special{pa 49 -673}\special{pa 49 -668}\special{pa 49 -662}% +\special{pa 50 -657}\special{pa 50 -651}\special{pa 50 -646}\special{pa 51 -640}% +\special{pa 51 -634}\special{pa 51 -629}\special{pa 52 -623}\special{pa 52 -617}% +\special{pa 52 -611}\special{pa 53 -605}\special{pa 53 -599}\special{pa 53 -593}% +\special{pa 54 -587}\special{pa 54 -581}\special{pa 54 -575}\special{pa 55 -569}% +\special{pa 55 -562}\special{pa 55 -556}\special{pa 56 -550}\special{pa 56 -543}% +\special{pa 56 -537}\special{pa 57 -530}\special{pa 57 -524}\special{pa 58 -517}% +\special{pa 58 -511}\special{pa 58 -504}\special{pa 59 -497}\special{pa 59 -491}% +\special{pa 59 -484}\special{pa 60 -477}\special{pa 60 -470}\special{pa 60 -463}% +\special{pa 61 -456}\special{pa 61 -449}\special{pa 61 -442}\special{pa 62 -435}% +\special{pa 62 -427}\special{pa 62 -420}\special{pa 63 -413}\special{pa 63 -406}% +\special{pa 63 -398}\special{pa 64 -391}\special{pa 64 -383}\special{pa 64 -376}% +\special{pa 65 -368}\special{pa 65 -361}\special{pa 65 -353}\special{pa 66 -345}% +\special{pa 66 -337}\special{pa 66 -330}\special{pa 67 -322}\special{pa 67 -314}% +\special{pa 68 -306}\special{pa 68 -298}\special{pa 68 -290}\special{pa 69 -282}% +\special{pa 69 -273}% +\special{fp}% +\special{pa 0 -955}\special{pa -1 -956}\special{pa -1 -957}\special{pa -2 -959}% +\special{pa -2 -960}\special{pa -3 -961}\special{pa -3 -962}\special{pa -4 -963}% +\special{pa -4 -964}\special{pa -5 -965}\special{pa -5 -966}\special{pa -6 -967}% +\special{pa -6 -967}\special{pa -7 -968}\special{pa -7 -969}\special{pa -8 -970}% +\special{pa -8 -970}\special{pa -9 -971}\special{pa -9 -971}\special{pa -10 -972}% +\special{pa -10 -972}\special{pa -11 -973}\special{pa -11 -973}\special{pa -12 -973}% +\special{pa -12 -973}\special{pa -13 -974}\special{pa -13 -974}\special{pa -14 -974}% +\special{pa -14 -974}\special{pa -15 -974}\special{pa -16 -974}\special{pa -16 -974}% +\special{pa -17 -974}\special{pa -17 -973}\special{pa -18 -973}\special{pa -18 -973}% +\special{pa -19 -972}\special{pa -19 -972}\special{pa -20 -972}\special{pa -20 -971}% +\special{pa -21 -971}\special{pa -21 -970}\special{pa -22 -969}\special{pa -22 -969}% +\special{pa -23 -968}\special{pa -23 -967}\special{pa -24 -966}\special{pa -24 -966}% +\special{pa -25 -965}\special{pa -25 -964}\special{pa -26 -963}\special{pa -26 -962}% +\special{pa -27 -961}\special{pa -27 -959}\special{pa -28 -958}\special{pa -28 -957}% +\special{pa -29 -956}\special{pa -29 -954}\special{pa -30 -953}\special{pa -31 -951}% +\special{pa -31 -950}\special{pa -32 -948}\special{pa -32 -947}\special{pa -33 -945}% +\special{pa -33 -944}\special{pa -34 -942}\special{pa -34 -940}\special{pa -35 -938}% +\special{pa -35 -936}\special{pa -36 -934}\special{pa -36 -932}\special{pa -37 -930}% +\special{pa -37 -928}\special{pa -38 -926}\special{pa -38 -924}\special{pa -39 -922}% +\special{pa -39 -920}\special{pa -40 -917}\special{pa -40 -915}\special{pa -41 -913}% +\special{pa -41 -910}\special{pa -42 -908}\special{pa -42 -905}\special{pa -43 -903}% +\special{pa -43 -900}\special{pa -44 -897}\special{pa -44 -895}\special{pa -45 -892}% +\special{pa -46 -889}\special{pa -46 -886}\special{pa -47 -883}\special{pa -47 -880}% +\special{pa -48 -877}\special{pa -48 -874}\special{pa -49 -871}\special{pa -49 -868}% +\special{pa -50 -865}\special{pa -50 -861}\special{pa -51 -858}\special{pa -51 -855}% +\special{pa -52 -851}\special{pa -52 -848}\special{pa -53 -844}\special{pa -53 -841}% +\special{pa -54 -837}\special{pa -54 -834}\special{pa -55 -830}\special{pa -55 -826}% +\special{pa -56 -822}\special{pa -56 -819}\special{pa -57 -815}\special{pa -57 -811}% +\special{pa -58 -807}\special{pa -58 -803}\special{pa -59 -799}\special{pa -59 -795}% +\special{pa -60 -791}\special{pa -61 -786}\special{pa -61 -782}\special{pa -62 -778}% +\special{pa -62 -773}\special{pa -63 -769}\special{pa -63 -765}\special{pa -64 -760}% +\special{pa -64 -756}\special{pa -65 -751}\special{pa -65 -746}\special{pa -66 -742}% +\special{pa -66 -737}\special{pa -67 -732}\special{pa -67 -727}\special{pa -68 -722}% +\special{pa -68 -717}\special{pa -69 -713}\special{pa -69 -707}\special{pa -70 -702}% +\special{pa -70 -697}\special{pa -71 -692}\special{pa -71 -687}\special{pa -72 -682}% +\special{pa -72 -676}\special{pa -73 -671}\special{pa -73 -666}\special{pa -74 -660}% +\special{pa -75 -655}\special{pa -75 -649}\special{pa -76 -644}\special{pa -76 -638}% +\special{pa -77 -632}\special{pa -77 -626}\special{pa -78 -621}\special{pa -78 -615}% +\special{pa -79 -609}\special{pa -79 -603}\special{pa -80 -597}\special{pa -80 -591}% +\special{pa -81 -585}\special{pa -81 -579}\special{pa -82 -573}\special{pa -82 -566}% +\special{pa -83 -560}\special{pa -83 -554}\special{pa -84 -548}\special{pa -84 -541}% +\special{pa -85 -535}\special{pa -85 -528}\special{pa -86 -522}\special{pa -86 -515}% +\special{pa -87 -508}\special{pa -87 -502}\special{pa -88 -495}\special{pa -88 -488}% +\special{pa -89 -481}\special{pa -90 -475}\special{pa -90 -468}\special{pa -91 -461}% +\special{pa -91 -454}\special{pa -92 -447}\special{pa -92 -439}\special{pa -93 -432}% +\special{pa -93 -425}\special{pa -94 -418}\special{pa -94 -410}\special{pa -95 -403}% +\special{pa -95 -396}\special{pa -96 -388}\special{pa -96 -381}\special{pa -97 -373}% +\special{pa -97 -366}\special{pa -98 -358}\special{pa -98 -350}\special{pa -99 -342}% +\special{pa -99 -335}\special{pa -100 -327}\special{pa -100 -319}\special{pa -101 -311}% +\special{pa -101 -303}\special{pa -102 -295}\special{pa -102 -287}\special{pa -103 -279}% +\special{pa -103 -271}% +\special{fp}% +\special{pa 0 -955}\special{pa -1 -956}\special{pa -3 -957}\special{pa -4 -958}% +\special{pa -5 -959}\special{pa -7 -960}\special{pa -8 -961}\special{pa -9 -962}% +\special{pa -11 -963}\special{pa -12 -964}\special{pa -13 -964}\special{pa -15 -965}% +\special{pa -16 -966}\special{pa -17 -966}\special{pa -19 -967}\special{pa -20 -967}% +\special{pa -21 -968}\special{pa -23 -968}\special{pa -24 -969}\special{pa -25 -969}% +\special{pa -27 -969}\special{pa -28 -970}\special{pa -29 -970}\special{pa -31 -970}% +\special{pa -32 -970}\special{pa -33 -970}\special{pa -35 -970}\special{pa -36 -970}% +\special{pa -37 -970}\special{pa -39 -970}\special{pa -40 -969}\special{pa -41 -969}% +\special{pa -43 -969}\special{pa -44 -969}\special{pa -45 -968}\special{pa -46 -968}% +\special{pa -48 -967}\special{pa -49 -967}\special{pa -50 -966}\special{pa -52 -965}% +\special{pa -53 -965}\special{pa -54 -964}\special{pa -56 -963}\special{pa -57 -962}% +\special{pa -58 -962}\special{pa -60 -961}\special{pa -61 -960}\special{pa -62 -959}% +\special{pa -64 -958}\special{pa -65 -957}\special{pa -66 -955}\special{pa -68 -954}% +\special{pa -69 -953}\special{pa -70 -952}\special{pa -72 -950}\special{pa -73 -949}% +\special{pa -74 -947}\special{pa -76 -946}\special{pa -77 -944}\special{pa -78 -943}% +\special{pa -80 -941}\special{pa -81 -940}\special{pa -82 -938}\special{pa -84 -936}% +\special{pa -85 -934}\special{pa -86 -932}\special{pa -88 -930}\special{pa -89 -928}% +\special{pa -90 -926}\special{pa -92 -924}\special{pa -93 -922}\special{pa -94 -920}% +\special{pa -96 -918}\special{pa -97 -916}\special{pa -98 -913}\special{pa -100 -911}% +\special{pa -101 -909}\special{pa -102 -906}\special{pa -104 -904}\special{pa -105 -901}% +\special{pa -106 -899}\special{pa -108 -896}\special{pa -109 -893}\special{pa -110 -890}% +\special{pa -112 -888}\special{pa -113 -885}\special{pa -114 -882}\special{pa -116 -879}% +\special{pa -117 -876}\special{pa -118 -873}\special{pa -120 -870}\special{pa -121 -867}% +\special{pa -122 -864}\special{pa -124 -861}\special{pa -125 -857}\special{pa -126 -854}% +\special{pa -128 -851}\special{pa -129 -847}\special{pa -130 -844}\special{pa -132 -840}% +\special{pa -133 -837}\special{pa -134 -833}\special{pa -136 -830}\special{pa -137 -826}% +\special{pa -138 -822}\special{pa -139 -818}\special{pa -141 -814}\special{pa -142 -811}% +\special{pa -143 -807}\special{pa -145 -803}\special{pa -146 -799}\special{pa -147 -795}% +\special{pa -149 -791}\special{pa -150 -786}\special{pa -151 -782}\special{pa -153 -778}% +\special{pa -154 -774}\special{pa -155 -769}\special{pa -157 -765}\special{pa -158 -760}% +\special{pa -159 -756}\special{pa -161 -751}\special{pa -162 -747}\special{pa -163 -742}% +\special{pa -165 -737}\special{pa -166 -733}\special{pa -167 -728}\special{pa -169 -723}% +\special{pa -170 -718}\special{pa -171 -713}\special{pa -173 -708}\special{pa -174 -703}% +\special{pa -175 -698}\special{pa -177 -693}\special{pa -178 -688}\special{pa -179 -683}% +\special{pa -181 -677}\special{pa -182 -672}\special{pa -183 -667}\special{pa -185 -661}% +\special{pa -186 -656}\special{pa -187 -650}\special{pa -189 -645}\special{pa -190 -639}% +\special{pa -191 -634}\special{pa -193 -628}\special{pa -194 -622}\special{pa -195 -616}% +\special{pa -197 -611}\special{pa -198 -605}\special{pa -199 -599}\special{pa -201 -593}% +\special{pa -202 -587}\special{pa -203 -581}\special{pa -205 -575}\special{pa -206 -568}% +\special{pa -207 -562}\special{pa -209 -556}\special{pa -210 -550}\special{pa -211 -543}% +\special{pa -213 -537}\special{pa -214 -530}\special{pa -215 -524}\special{pa -217 -517}% +\special{pa -218 -511}\special{pa -219 -504}\special{pa -221 -497}\special{pa -222 -491}% +\special{pa -223 -484}\special{pa -225 -477}\special{pa -226 -470}\special{pa -227 -463}% +\special{pa -229 -456}\special{pa -230 -449}\special{pa -231 -442}\special{pa -232 -435}% +\special{pa -234 -428}\special{pa -235 -421}\special{pa -236 -413}\special{pa -238 -406}% +\special{pa -239 -399}\special{pa -240 -391}\special{pa -242 -384}\special{pa -243 -376}% +\special{pa -244 -369}\special{pa -246 -361}\special{pa -247 -354}\special{pa -248 -346}% +\special{pa -250 -338}\special{pa -251 -330}\special{pa -252 -322}\special{pa -254 -315}% +\special{pa -255 -307}\special{pa -256 -299}\special{pa -258 -291}\special{pa -259 -283}% +\special{pa -260 -274}\special{pa -262 -266}\special{pa -263 -258}\special{pa -264 -250}% +\special{pa -266 -241}% +\special{fp}% +\special{pa 0 -955}\special{pa -2 -956}\special{pa -4 -956}\special{pa -6 -957}% +\special{pa -8 -958}\special{pa -10 -959}\special{pa -12 -959}\special{pa -14 -960}% +\special{pa -16 -961}\special{pa -18 -961}\special{pa -20 -962}\special{pa -22 -962}% +\special{pa -24 -963}\special{pa -26 -963}\special{pa -28 -963}\special{pa -30 -963}% +\special{pa -32 -964}\special{pa -34 -964}\special{pa -36 -964}\special{pa -38 -964}% +\special{pa -40 -964}\special{pa -42 -964}\special{pa -44 -964}\special{pa -46 -964}% +\special{pa -48 -964}\special{pa -50 -963}\special{pa -52 -963}\special{pa -54 -963}% +\special{pa -56 -962}\special{pa -58 -962}\special{pa -60 -961}\special{pa -62 -961}% +\special{pa -64 -960}\special{pa -66 -960}\special{pa -68 -959}\special{pa -70 -958}% +\special{pa -72 -958}\special{pa -74 -957}\special{pa -76 -956}\special{pa -78 -955}% +\special{pa -80 -954}\special{pa -82 -953}\special{pa -84 -952}\special{pa -86 -951}% +\special{pa -88 -950}\special{pa -90 -949}\special{pa -92 -948}\special{pa -94 -946}% +\special{pa -96 -945}\special{pa -98 -944}\special{pa -100 -942}\special{pa -102 -941}% +\special{pa -105 -939}\special{pa -107 -938}\special{pa -109 -936}\special{pa -111 -934}% +\special{pa -113 -933}\special{pa -115 -931}\special{pa -117 -929}\special{pa -119 -927}% +\special{pa -121 -925}\special{pa -123 -923}\special{pa -125 -921}\special{pa -127 -919}% +\special{pa -129 -917}\special{pa -131 -915}\special{pa -133 -913}\special{pa -135 -911}% +\special{pa -137 -908}\special{pa -139 -906}\special{pa -141 -904}\special{pa -143 -901}% +\special{pa -145 -899}\special{pa -147 -896}\special{pa -149 -894}\special{pa -151 -891}% +\special{pa -153 -888}\special{pa -155 -886}\special{pa -157 -883}\special{pa -159 -880}% +\special{pa -161 -877}\special{pa -163 -874}\special{pa -165 -872}\special{pa -167 -869}% +\special{pa -169 -865}\special{pa -171 -862}\special{pa -173 -859}\special{pa -175 -856}% +\special{pa -177 -853}\special{pa -179 -850}\special{pa -181 -846}\special{pa -183 -843}% +\special{pa -185 -839}\special{pa -187 -836}\special{pa -189 -832}\special{pa -191 -829}% +\special{pa -193 -825}\special{pa -195 -822}\special{pa -197 -818}\special{pa -199 -814}% +\special{pa -201 -810}\special{pa -203 -806}\special{pa -205 -803}\special{pa -207 -799}% +\special{pa -209 -795}\special{pa -211 -791}\special{pa -213 -786}\special{pa -215 -782}% +\special{pa -217 -778}\special{pa -219 -774}\special{pa -221 -770}\special{pa -223 -765}% +\special{pa -225 -761}\special{pa -227 -756}\special{pa -229 -752}\special{pa -231 -747}% +\special{pa -233 -743}\special{pa -235 -738}\special{pa -237 -734}\special{pa -239 -729}% +\special{pa -241 -724}\special{pa -243 -719}\special{pa -245 -714}\special{pa -247 -710}% +\special{pa -249 -705}\special{pa -251 -700}\special{pa -253 -695}\special{pa -255 -689}% +\special{pa -257 -684}\special{pa -259 -679}\special{pa -261 -674}\special{pa -263 -669}% +\special{pa -265 -663}\special{pa -267 -658}\special{pa -269 -652}\special{pa -271 -647}% +\special{pa -273 -641}\special{pa -275 -636}\special{pa -277 -630}\special{pa -279 -625}% +\special{pa -281 -619}\special{pa -283 -613}\special{pa -285 -607}\special{pa -287 -601}% +\special{pa -289 -596}\special{pa -291 -590}\special{pa -293 -584}\special{pa -295 -578}% +\special{pa -297 -571}\special{pa -299 -565}\special{pa -301 -559}\special{pa -303 -553}% +\special{pa -305 -547}\special{pa -307 -540}\special{pa -309 -534}\special{pa -311 -527}% +\special{pa -314 -521}\special{pa -316 -514}\special{pa -318 -508}\special{pa -320 -501}% +\special{pa -322 -495}\special{pa -324 -488}\special{pa -326 -481}\special{pa -328 -474}% +\special{pa -330 -467}\special{pa -332 -460}\special{pa -334 -454}\special{pa -336 -447}% +\special{pa -338 -439}\special{pa -340 -432}\special{pa -342 -425}\special{pa -344 -418}% +\special{pa -346 -411}\special{pa -348 -403}\special{pa -350 -396}\special{pa -352 -389}% +\special{pa -354 -381}\special{pa -356 -374}\special{pa -358 -366}\special{pa -360 -359}% +\special{pa -362 -351}\special{pa -364 -343}\special{pa -366 -336}\special{pa -368 -328}% +\special{pa -370 -320}\special{pa -372 -312}\special{pa -374 -304}\special{pa -376 -296}% +\special{pa -378 -288}\special{pa -380 -280}\special{pa -382 -272}\special{pa -384 -264}% +\special{pa -386 -256}\special{pa -388 -248}\special{pa -390 -239}\special{pa -392 -231}% +\special{pa -394 -223}\special{pa -396 -214}\special{pa -398 -206}\special{pa -400 -197}% +\special{pa -402 -189}% +\special{fp}% +\special{pa 0 -955}\special{pa -2 -955}\special{pa -5 -956}\special{pa -7 -956}% +\special{pa -10 -957}\special{pa -12 -957}\special{pa -15 -957}\special{pa -17 -958}% +\special{pa -20 -958}\special{pa -22 -958}\special{pa -25 -958}\special{pa -27 -958}% +\special{pa -30 -958}\special{pa -32 -958}\special{pa -35 -958}\special{pa -37 -958}% +\special{pa -40 -958}\special{pa -42 -958}\special{pa -45 -957}\special{pa -47 -957}% +\special{pa -50 -957}\special{pa -52 -956}\special{pa -55 -956}\special{pa -57 -956}% +\special{pa -60 -955}\special{pa -62 -954}\special{pa -65 -954}\special{pa -67 -953}% +\special{pa -70 -952}\special{pa -72 -952}\special{pa -75 -951}\special{pa -77 -950}% +\special{pa -80 -949}\special{pa -82 -948}\special{pa -85 -947}\special{pa -87 -946}% +\special{pa -90 -945}\special{pa -92 -944}\special{pa -95 -942}\special{pa -97 -941}% +\special{pa -100 -940}\special{pa -102 -939}\special{pa -105 -937}\special{pa -107 -936}% +\special{pa -110 -934}\special{pa -112 -933}\special{pa -115 -931}\special{pa -117 -930}% +\special{pa -120 -928}\special{pa -122 -926}\special{pa -125 -924}\special{pa -127 -922}% +\special{pa -130 -921}\special{pa -132 -919}\special{pa -135 -917}\special{pa -137 -915}% +\special{pa -140 -913}\special{pa -142 -911}\special{pa -145 -908}\special{pa -147 -906}% +\special{pa -150 -904}\special{pa -152 -902}\special{pa -155 -899}\special{pa -157 -897}% +\special{pa -160 -894}\special{pa -162 -892}\special{pa -165 -889}\special{pa -167 -887}% +\special{pa -170 -884}\special{pa -172 -881}\special{pa -175 -879}\special{pa -177 -876}% +\special{pa -180 -873}\special{pa -182 -870}\special{pa -185 -867}\special{pa -187 -864}% +\special{pa -190 -861}\special{pa -192 -858}\special{pa -195 -855}\special{pa -197 -852}% +\special{pa -200 -849}\special{pa -202 -846}\special{pa -205 -842}\special{pa -207 -839}% +\special{pa -209 -836}\special{pa -212 -832}\special{pa -214 -829}\special{pa -217 -825}% +\special{pa -219 -821}\special{pa -222 -818}\special{pa -224 -814}\special{pa -227 -810}% +\special{pa -229 -807}\special{pa -232 -803}\special{pa -234 -799}\special{pa -237 -795}% +\special{pa -239 -791}\special{pa -242 -787}\special{pa -244 -783}\special{pa -247 -779}% +\special{pa -249 -775}\special{pa -252 -770}\special{pa -254 -766}\special{pa -257 -762}% +\special{pa -259 -757}\special{pa -262 -753}\special{pa -264 -749}\special{pa -267 -744}% +\special{pa -269 -740}\special{pa -272 -735}\special{pa -274 -730}\special{pa -277 -726}% +\special{pa -279 -721}\special{pa -282 -716}\special{pa -284 -711}\special{pa -287 -706}% +\special{pa -289 -702}\special{pa -292 -697}\special{pa -294 -692}\special{pa -297 -686}% +\special{pa -299 -681}\special{pa -302 -676}\special{pa -304 -671}\special{pa -307 -666}% +\special{pa -309 -660}\special{pa -312 -655}\special{pa -314 -650}\special{pa -317 -644}% +\special{pa -319 -639}\special{pa -322 -633}\special{pa -324 -628}\special{pa -327 -622}% +\special{pa -329 -616}\special{pa -332 -610}\special{pa -334 -605}\special{pa -337 -599}% +\special{pa -339 -593}\special{pa -342 -587}\special{pa -344 -581}\special{pa -347 -575}% +\special{pa -349 -569}\special{pa -352 -563}\special{pa -354 -557}\special{pa -357 -550}% +\special{pa -359 -544}\special{pa -362 -538}\special{pa -364 -532}\special{pa -367 -525}% +\special{pa -369 -519}\special{pa -372 -512}\special{pa -374 -506}\special{pa -377 -499}% +\special{pa -379 -492}\special{pa -382 -486}\special{pa -384 -479}\special{pa -387 -472}% +\special{pa -389 -465}\special{pa -392 -458}\special{pa -394 -451}\special{pa -397 -445}% +\special{pa -399 -437}\special{pa -402 -430}\special{pa -404 -423}\special{pa -407 -416}% +\special{pa -409 -409}\special{pa -412 -402}\special{pa -414 -394}\special{pa -417 -387}% +\special{pa -419 -380}\special{pa -421 -372}\special{pa -424 -365}\special{pa -426 -357}% +\special{pa -429 -349}\special{pa -431 -342}\special{pa -434 -334}\special{pa -436 -326}% +\special{pa -439 -319}\special{pa -441 -311}\special{pa -444 -303}\special{pa -446 -295}% +\special{pa -449 -287}\special{pa -451 -279}\special{pa -454 -271}\special{pa -456 -263}% +\special{pa -459 -255}\special{pa -461 -246}\special{pa -464 -238}\special{pa -466 -230}% +\special{pa -469 -221}\special{pa -471 -213}\special{pa -474 -204}\special{pa -476 -196}% +\special{pa -479 -187}\special{pa -481 -179}\special{pa -484 -170}\special{pa -486 -161}% +\special{pa -489 -153}\special{pa -491 -144}\special{pa -494 -135}\special{pa -496 -126}% +\special{pa -499 -117}% +\special{fp}% +\special{pa 0 -955}\special{pa -3 -955}\special{pa -5 -955}\special{pa -8 -955}% +\special{pa -11 -955}\special{pa -14 -955}\special{pa -16 -955}\special{pa -19 -955}% +\special{pa -22 -955}\special{pa -25 -954}\special{pa -27 -954}\special{pa -30 -954}% +\special{pa -33 -953}\special{pa -36 -953}\special{pa -38 -952}\special{pa -41 -952}% +\special{pa -44 -951}\special{pa -46 -951}\special{pa -49 -950}\special{pa -52 -949}% +\special{pa -55 -949}\special{pa -57 -948}\special{pa -60 -947}\special{pa -63 -946}% +\special{pa -66 -945}\special{pa -68 -944}\special{pa -71 -943}\special{pa -74 -942}% +\special{pa -77 -941}\special{pa -79 -940}\special{pa -82 -938}\special{pa -85 -937}% +\special{pa -87 -936}\special{pa -90 -934}\special{pa -93 -933}\special{pa -96 -931}% +\special{pa -98 -930}\special{pa -101 -928}\special{pa -104 -927}\special{pa -107 -925}% +\special{pa -109 -923}\special{pa -112 -922}\special{pa -115 -920}\special{pa -118 -918}% +\special{pa -120 -916}\special{pa -123 -914}\special{pa -126 -912}\special{pa -129 -910}% +\special{pa -131 -908}\special{pa -134 -906}\special{pa -137 -904}\special{pa -139 -901}% +\special{pa -142 -899}\special{pa -145 -897}\special{pa -148 -894}\special{pa -150 -892}% +\special{pa -153 -889}\special{pa -156 -887}\special{pa -159 -884}\special{pa -161 -882}% +\special{pa -164 -879}\special{pa -167 -876}\special{pa -170 -874}\special{pa -172 -871}% +\special{pa -175 -868}\special{pa -178 -865}\special{pa -180 -862}\special{pa -183 -859}% +\special{pa -186 -856}\special{pa -189 -853}\special{pa -191 -850}\special{pa -194 -847}% +\special{pa -197 -843}\special{pa -200 -840}\special{pa -202 -837}\special{pa -205 -833}% +\special{pa -208 -830}\special{pa -211 -826}\special{pa -213 -823}\special{pa -216 -819}% +\special{pa -219 -816}\special{pa -221 -812}\special{pa -224 -808}\special{pa -227 -805}% +\special{pa -230 -801}\special{pa -232 -797}\special{pa -235 -793}\special{pa -238 -789}% +\special{pa -241 -785}\special{pa -243 -781}\special{pa -246 -777}\special{pa -249 -773}% +\special{pa -252 -769}\special{pa -254 -764}\special{pa -257 -760}\special{pa -260 -756}% +\special{pa -262 -751}\special{pa -265 -747}\special{pa -268 -742}\special{pa -271 -738}% +\special{pa -273 -733}\special{pa -276 -729}\special{pa -279 -724}\special{pa -282 -719}% +\special{pa -284 -714}\special{pa -287 -710}\special{pa -290 -705}\special{pa -293 -700}% +\special{pa -295 -695}\special{pa -298 -690}\special{pa -301 -685}\special{pa -304 -680}% +\special{pa -306 -675}\special{pa -309 -669}\special{pa -312 -664}\special{pa -314 -659}% +\special{pa -317 -653}\special{pa -320 -648}\special{pa -323 -643}\special{pa -325 -637}% +\special{pa -328 -632}\special{pa -331 -626}\special{pa -334 -620}\special{pa -336 -615}% +\special{pa -339 -609}\special{pa -342 -603}\special{pa -345 -597}\special{pa -347 -592}% +\special{pa -350 -586}\special{pa -353 -580}\special{pa -355 -574}\special{pa -358 -568}% +\special{pa -361 -562}\special{pa -364 -555}\special{pa -366 -549}\special{pa -369 -543}% +\special{pa -372 -537}\special{pa -375 -530}\special{pa -377 -524}\special{pa -380 -517}% +\special{pa -383 -511}\special{pa -386 -504}\special{pa -388 -498}\special{pa -391 -491}% +\special{pa -394 -485}\special{pa -396 -478}\special{pa -399 -471}\special{pa -402 -464}% +\special{pa -405 -457}\special{pa -407 -450}\special{pa -410 -444}\special{pa -413 -436}% +\special{pa -416 -429}\special{pa -418 -422}\special{pa -421 -415}\special{pa -424 -408}% +\special{pa -427 -401}\special{pa -429 -393}\special{pa -432 -386}\special{pa -435 -379}% +\special{pa -437 -371}\special{pa -440 -364}\special{pa -443 -356}\special{pa -446 -349}% +\special{pa -448 -341}\special{pa -451 -333}\special{pa -454 -326}\special{pa -457 -318}% +\special{pa -459 -310}\special{pa -462 -302}\special{pa -465 -294}\special{pa -468 -286}% +\special{pa -470 -278}\special{pa -473 -270}\special{pa -476 -262}\special{pa -479 -254}% +\special{pa -481 -246}\special{pa -484 -237}\special{pa -487 -229}\special{pa -489 -221}% +\special{pa -492 -212}\special{pa -495 -204}\special{pa -498 -195}\special{pa -500 -187}% +\special{pa -503 -178}\special{pa -506 -170}\special{pa -509 -161}\special{pa -511 -152}% +\special{pa -514 -143}\special{pa -517 -135}\special{pa -520 -126}\special{pa -522 -117}% +\special{pa -525 -108}\special{pa -528 -99}\special{pa -530 -90}\special{pa -533 -81}% +\special{pa -536 -72}\special{pa -539 -62}\special{pa -541 -53}\special{pa -544 -44}% +\special{pa -547 -34}% +\special{fp}% +\special{pa 0 -955}\special{pa -3 -954}\special{pa -5 -954}\special{pa -8 -954}% +\special{pa -11 -953}\special{pa -14 -953}\special{pa -16 -952}\special{pa -19 -952}% +\special{pa -22 -951}\special{pa -24 -950}\special{pa -27 -950}\special{pa -30 -949}% +\special{pa -32 -948}\special{pa -35 -947}\special{pa -38 -946}\special{pa -41 -945}% +\special{pa -43 -944}\special{pa -46 -943}\special{pa -49 -942}\special{pa -51 -941}% +\special{pa -54 -940}\special{pa -57 -939}\special{pa -60 -937}\special{pa -62 -936}% +\special{pa -65 -935}\special{pa -68 -933}\special{pa -70 -932}\special{pa -73 -930}% +\special{pa -76 -929}\special{pa -79 -927}\special{pa -81 -925}\special{pa -84 -924}% +\special{pa -87 -922}\special{pa -89 -920}\special{pa -92 -918}\special{pa -95 -916}% +\special{pa -97 -914}\special{pa -100 -912}\special{pa -103 -910}\special{pa -106 -908}% +\special{pa -108 -906}\special{pa -111 -904}\special{pa -114 -902}\special{pa -116 -899}% +\special{pa -119 -897}\special{pa -122 -895}\special{pa -125 -892}\special{pa -127 -890}% +\special{pa -130 -887}\special{pa -133 -885}\special{pa -135 -882}\special{pa -138 -879}% +\special{pa -141 -877}\special{pa -143 -874}\special{pa -146 -871}\special{pa -149 -868}% +\special{pa -152 -865}\special{pa -154 -862}\special{pa -157 -859}\special{pa -160 -856}% +\special{pa -162 -853}\special{pa -165 -850}\special{pa -168 -847}\special{pa -171 -844}% +\special{pa -173 -840}\special{pa -176 -837}\special{pa -179 -834}\special{pa -181 -830}% +\special{pa -184 -827}\special{pa -187 -823}\special{pa -189 -820}\special{pa -192 -816}% +\special{pa -195 -812}\special{pa -198 -809}\special{pa -200 -805}\special{pa -203 -801}% +\special{pa -206 -797}\special{pa -208 -793}\special{pa -211 -789}\special{pa -214 -785}% +\special{pa -217 -781}\special{pa -219 -777}\special{pa -222 -773}\special{pa -225 -769}% +\special{pa -227 -765}\special{pa -230 -760}\special{pa -233 -756}\special{pa -236 -752}% +\special{pa -238 -747}\special{pa -241 -743}\special{pa -244 -738}\special{pa -246 -733}% +\special{pa -249 -729}\special{pa -252 -724}\special{pa -254 -719}\special{pa -257 -715}% +\special{pa -260 -710}\special{pa -263 -705}\special{pa -265 -700}\special{pa -268 -695}% +\special{pa -271 -690}\special{pa -273 -685}\special{pa -276 -680}\special{pa -279 -675}% +\special{pa -282 -670}\special{pa -284 -664}\special{pa -287 -659}\special{pa -290 -654}% +\special{pa -292 -648}\special{pa -295 -643}\special{pa -298 -637}\special{pa -300 -632}% +\special{pa -303 -626}\special{pa -306 -621}\special{pa -309 -615}\special{pa -311 -609}% +\special{pa -314 -604}\special{pa -317 -598}\special{pa -319 -592}\special{pa -322 -586}% +\special{pa -325 -580}\special{pa -328 -574}\special{pa -330 -568}\special{pa -333 -562}% +\special{pa -336 -556}\special{pa -338 -549}\special{pa -341 -543}\special{pa -344 -537}% +\special{pa -346 -531}\special{pa -349 -524}\special{pa -352 -518}\special{pa -355 -511}% +\special{pa -357 -505}\special{pa -360 -498}\special{pa -363 -491}\special{pa -365 -485}% +\special{pa -368 -478}\special{pa -371 -471}\special{pa -374 -464}\special{pa -376 -458}% +\special{pa -379 -451}\special{pa -382 -444}\special{pa -384 -437}\special{pa -387 -430}% +\special{pa -390 -423}\special{pa -393 -415}\special{pa -395 -408}\special{pa -398 -401}% +\special{pa -401 -394}\special{pa -403 -386}\special{pa -406 -379}\special{pa -409 -371}% +\special{pa -411 -364}\special{pa -414 -356}\special{pa -417 -349}\special{pa -420 -341}% +\special{pa -422 -333}\special{pa -425 -326}\special{pa -428 -318}\special{pa -430 -310}% +\special{pa -433 -302}\special{pa -436 -294}\special{pa -439 -286}\special{pa -441 -278}% +\special{pa -444 -270}\special{pa -447 -262}\special{pa -449 -254}\special{pa -452 -246}% +\special{pa -455 -238}\special{pa -457 -229}\special{pa -460 -221}\special{pa -463 -213}% +\special{pa -466 -204}\special{pa -468 -196}\special{pa -471 -187}\special{pa -474 -178}% +\special{pa -476 -170}\special{pa -479 -161}\special{pa -482 -152}\special{pa -485 -144}% +\special{pa -487 -135}\special{pa -490 -126}\special{pa -493 -117}\special{pa -495 -108}% +\special{pa -498 -99}\special{pa -501 -90}\special{pa -503 -81}\special{pa -506 -72}% +\special{pa -509 -62}\special{pa -512 -53}\special{pa -514 -44}\special{pa -517 -35}% +\special{pa -520 -25}\special{pa -522 -16}\special{pa -525 -6}\special{pa -528 3}% +\special{pa -531 13}\special{pa -533 23}\special{pa -536 32}\special{pa -539 42}% +\special{pa -541 52}% +\special{fp}% +\special{pa 0 -955}\special{pa -2 -954}\special{pa -5 -953}\special{pa -7 -952}% +\special{pa -10 -952}\special{pa -12 -951}\special{pa -14 -950}\special{pa -17 -949}% +\special{pa -19 -948}\special{pa -22 -947}\special{pa -24 -946}\special{pa -27 -944}% +\special{pa -29 -943}\special{pa -31 -942}\special{pa -34 -941}\special{pa -36 -939}% +\special{pa -39 -938}\special{pa -41 -936}\special{pa -43 -935}\special{pa -46 -933}% +\special{pa -48 -932}\special{pa -51 -930}\special{pa -53 -929}\special{pa -56 -927}% +\special{pa -58 -925}\special{pa -60 -923}\special{pa -63 -921}\special{pa -65 -919}% +\special{pa -68 -917}\special{pa -70 -915}\special{pa -72 -913}\special{pa -75 -911}% +\special{pa -77 -909}\special{pa -80 -907}\special{pa -82 -904}\special{pa -85 -902}% +\special{pa -87 -900}\special{pa -89 -897}\special{pa -92 -895}\special{pa -94 -892}% +\special{pa -97 -890}\special{pa -99 -887}\special{pa -101 -885}\special{pa -104 -882}% +\special{pa -106 -879}\special{pa -109 -876}\special{pa -111 -874}\special{pa -113 -871}% +\special{pa -116 -868}\special{pa -118 -865}\special{pa -121 -862}\special{pa -123 -859}% +\special{pa -126 -856}\special{pa -128 -852}\special{pa -130 -849}\special{pa -133 -846}% +\special{pa -135 -843}\special{pa -138 -839}\special{pa -140 -836}\special{pa -142 -832}% +\special{pa -145 -829}\special{pa -147 -825}\special{pa -150 -822}\special{pa -152 -818}% +\special{pa -155 -814}\special{pa -157 -811}\special{pa -159 -807}\special{pa -162 -803}% +\special{pa -164 -799}\special{pa -167 -795}\special{pa -169 -791}\special{pa -171 -787}% +\special{pa -174 -783}\special{pa -176 -779}\special{pa -179 -775}\special{pa -181 -771}% +\special{pa -184 -766}\special{pa -186 -762}\special{pa -188 -758}\special{pa -191 -753}% +\special{pa -193 -749}\special{pa -196 -744}\special{pa -198 -740}\special{pa -200 -735}% +\special{pa -203 -730}\special{pa -205 -726}\special{pa -208 -721}\special{pa -210 -716}% +\special{pa -212 -711}\special{pa -215 -707}\special{pa -217 -702}\special{pa -220 -697}% +\special{pa -222 -692}\special{pa -225 -686}\special{pa -227 -681}\special{pa -229 -676}% +\special{pa -232 -671}\special{pa -234 -666}\special{pa -237 -660}\special{pa -239 -655}% +\special{pa -241 -650}\special{pa -244 -644}\special{pa -246 -639}\special{pa -249 -633}% +\special{pa -251 -627}\special{pa -254 -622}\special{pa -256 -616}\special{pa -258 -610}% +\special{pa -261 -605}\special{pa -263 -599}\special{pa -266 -593}\special{pa -268 -587}% +\special{pa -270 -581}\special{pa -273 -575}\special{pa -275 -569}\special{pa -278 -563}% +\special{pa -280 -556}\special{pa -283 -550}\special{pa -285 -544}\special{pa -287 -538}% +\special{pa -290 -531}\special{pa -292 -525}\special{pa -295 -518}\special{pa -297 -512}% +\special{pa -299 -505}\special{pa -302 -499}\special{pa -304 -492}\special{pa -307 -485}% +\special{pa -309 -479}\special{pa -311 -472}\special{pa -314 -465}\special{pa -316 -458}% +\special{pa -319 -451}\special{pa -321 -444}\special{pa -324 -437}\special{pa -326 -430}% +\special{pa -328 -423}\special{pa -331 -416}\special{pa -333 -408}\special{pa -336 -401}% +\special{pa -338 -394}\special{pa -340 -387}\special{pa -343 -379}\special{pa -345 -372}% +\special{pa -348 -364}\special{pa -350 -357}\special{pa -353 -349}\special{pa -355 -341}% +\special{pa -357 -334}\special{pa -360 -326}\special{pa -362 -318}\special{pa -365 -310}% +\special{pa -367 -302}\special{pa -369 -294}\special{pa -372 -286}\special{pa -374 -278}% +\special{pa -377 -270}\special{pa -379 -262}\special{pa -381 -254}\special{pa -384 -246}% +\special{pa -386 -237}\special{pa -389 -229}\special{pa -391 -221}\special{pa -394 -212}% +\special{pa -396 -204}\special{pa -398 -195}\special{pa -401 -187}\special{pa -403 -178}% +\special{pa -406 -169}\special{pa -408 -161}\special{pa -410 -152}\special{pa -413 -143}% +\special{pa -415 -134}\special{pa -418 -125}\special{pa -420 -116}\special{pa -423 -108}% +\special{pa -425 -98}\special{pa -427 -89}\special{pa -430 -80}\special{pa -432 -71}% +\special{pa -435 -62}\special{pa -437 -53}\special{pa -439 -43}\special{pa -442 -34}% +\special{pa -444 -24}\special{pa -447 -15}\special{pa -449 -5}\special{pa -452 4}% +\special{pa -454 14}\special{pa -456 23}\special{pa -459 33}\special{pa -461 43}% +\special{pa -464 53}\special{pa -466 63}\special{pa -468 72}\special{pa -471 82}% +\special{pa -473 92}\special{pa -476 102}\special{pa -478 113}\special{pa -480 123}% +\special{pa -483 133}% +\special{fp}% +\special{pa 0 -955}\special{pa -2 -954}\special{pa -4 -953}\special{pa -6 -951}% +\special{pa -8 -950}\special{pa -9 -949}\special{pa -11 -948}\special{pa -13 -946}% +\special{pa -15 -945}\special{pa -17 -944}\special{pa -19 -942}\special{pa -21 -941}% +\special{pa -23 -939}\special{pa -25 -938}\special{pa -26 -936}\special{pa -28 -934}% +\special{pa -30 -932}\special{pa -32 -931}\special{pa -34 -929}\special{pa -36 -927}% +\special{pa -38 -925}\special{pa -40 -923}\special{pa -41 -921}\special{pa -43 -919}% +\special{pa -45 -917}\special{pa -47 -915}\special{pa -49 -912}\special{pa -51 -910}% +\special{pa -53 -908}\special{pa -55 -905}\special{pa -57 -903}\special{pa -58 -901}% +\special{pa -60 -898}\special{pa -62 -896}\special{pa -64 -893}\special{pa -66 -890}% +\special{pa -68 -888}\special{pa -70 -885}\special{pa -72 -882}\special{pa -74 -879}% +\special{pa -75 -876}\special{pa -77 -873}\special{pa -79 -870}\special{pa -81 -867}% +\special{pa -83 -864}\special{pa -85 -861}\special{pa -87 -858}\special{pa -89 -855}% +\special{pa -91 -851}\special{pa -92 -848}\special{pa -94 -845}\special{pa -96 -841}% +\special{pa -98 -838}\special{pa -100 -834}\special{pa -102 -831}\special{pa -104 -827}% +\special{pa -106 -824}\special{pa -107 -820}\special{pa -109 -816}\special{pa -111 -812}% +\special{pa -113 -808}\special{pa -115 -805}\special{pa -117 -801}\special{pa -119 -797}% +\special{pa -121 -793}\special{pa -123 -789}\special{pa -124 -784}\special{pa -126 -780}% +\special{pa -128 -776}\special{pa -130 -772}\special{pa -132 -767}\special{pa -134 -763}% +\special{pa -136 -759}\special{pa -138 -754}\special{pa -140 -750}\special{pa -141 -745}% +\special{pa -143 -740}\special{pa -145 -736}\special{pa -147 -731}\special{pa -149 -726}% +\special{pa -151 -722}\special{pa -153 -717}\special{pa -155 -712}\special{pa -157 -707}% +\special{pa -158 -702}\special{pa -160 -697}\special{pa -162 -692}\special{pa -164 -687}% +\special{pa -166 -681}\special{pa -168 -676}\special{pa -170 -671}\special{pa -172 -666}% +\special{pa -173 -660}\special{pa -175 -655}\special{pa -177 -649}\special{pa -179 -644}% +\special{pa -181 -638}\special{pa -183 -633}\special{pa -185 -627}\special{pa -187 -621}% +\special{pa -189 -616}\special{pa -190 -610}\special{pa -192 -604}\special{pa -194 -598}% +\special{pa -196 -592}\special{pa -198 -586}\special{pa -200 -580}\special{pa -202 -574}% +\special{pa -204 -568}\special{pa -206 -562}\special{pa -207 -555}\special{pa -209 -549}% +\special{pa -211 -543}\special{pa -213 -536}\special{pa -215 -530}\special{pa -217 -523}% +\special{pa -219 -517}\special{pa -221 -510}\special{pa -223 -504}\special{pa -224 -497}% +\special{pa -226 -490}\special{pa -228 -484}\special{pa -230 -477}\special{pa -232 -470}% +\special{pa -234 -463}\special{pa -236 -456}\special{pa -238 -449}\special{pa -239 -442}% +\special{pa -241 -435}\special{pa -243 -428}\special{pa -245 -421}\special{pa -247 -413}% +\special{pa -249 -406}\special{pa -251 -399}\special{pa -253 -391}\special{pa -255 -384}% +\special{pa -256 -377}\special{pa -258 -369}\special{pa -260 -361}\special{pa -262 -354}% +\special{pa -264 -346}\special{pa -266 -338}\special{pa -268 -331}\special{pa -270 -323}% +\special{pa -272 -315}\special{pa -273 -307}\special{pa -275 -299}\special{pa -277 -291}% +\special{pa -279 -283}\special{pa -281 -275}\special{pa -283 -267}\special{pa -285 -259}% +\special{pa -287 -251}\special{pa -289 -242}\special{pa -290 -234}\special{pa -292 -226}% +\special{pa -294 -217}\special{pa -296 -209}\special{pa -298 -200}\special{pa -300 -192}% +\special{pa -302 -183}\special{pa -304 -174}\special{pa -306 -166}\special{pa -307 -157}% +\special{pa -309 -148}\special{pa -311 -139}\special{pa -313 -130}\special{pa -315 -121}% +\special{pa -317 -112}\special{pa -319 -103}\special{pa -321 -94}\special{pa -322 -85}% +\special{pa -324 -76}\special{pa -326 -67}\special{pa -328 -57}\special{pa -330 -48}% +\special{pa -332 -39}\special{pa -334 -29}\special{pa -336 -20}\special{pa -338 -10}% +\special{pa -339 -1}\special{pa -341 9}\special{pa -343 19}\special{pa -345 28}% +\special{pa -347 38}\special{pa -349 48}\special{pa -351 58}\special{pa -353 68}% +\special{pa -355 78}\special{pa -356 88}\special{pa -358 98}\special{pa -360 108}% +\special{pa -362 118}\special{pa -364 128}\special{pa -366 139}\special{pa -368 149}% +\special{pa -370 159}\special{pa -372 170}\special{pa -373 180}\special{pa -375 190}% +\special{pa -377 201}% +\special{fp}% +\special{pa -19 -942}\special{pa -18 -942}\special{pa -18 -942}\special{pa -17 -941}% +\special{pa -16 -941}\special{pa -15 -941}\special{pa -15 -941}\special{pa -14 -940}% +\special{pa -13 -940}\special{pa -13 -940}\special{pa -12 -940}\special{pa -11 -940}% +\special{pa -10 -939}\special{pa -9 -939}\special{pa -9 -939}\special{pa -8 -939}% +\special{pa -7 -939}\special{pa -6 -939}\special{pa -5 -939}\special{pa -4 -939}% +\special{pa -3 -939}\special{pa -3 -939}\special{pa -2 -939}\special{pa -1 -939}% +\special{pa 0 -939}\special{pa 1 -939}\special{pa 2 -939}\special{pa 3 -939}% +\special{pa 3 -939}\special{pa 4 -939}\special{pa 5 -939}\special{pa 6 -939}% +\special{pa 7 -939}\special{pa 8 -939}\special{pa 9 -939}\special{pa 9 -939}% +\special{pa 10 -939}\special{pa 11 -940}\special{pa 12 -940}\special{pa 13 -940}% +\special{pa 13 -940}\special{pa 14 -940}\special{pa 15 -941}\special{pa 15 -941}% +\special{pa 16 -941}\special{pa 17 -941}\special{pa 18 -942}\special{pa 18 -942}% +\special{pa 19 -942}\special{pa 19 -943}\special{pa 20 -943}\special{pa 21 -943}% +\special{pa 21 -944}\special{pa 22 -944}\special{pa 22 -944}\special{pa 23 -945}% +\special{pa 23 -945}\special{pa 24 -945}\special{pa 24 -946}\special{pa 25 -946}% +\special{pa 25 -946}\special{pa 25 -947}\special{pa 26 -947}\special{pa 26 -948}% +\special{pa 26 -948}\special{pa 26 -948}\special{pa 27 -949}\special{pa 27 -949}% +\special{pa 27 -950}\special{pa 27 -950}\special{pa 27 -951}\special{pa 27 -951}% +\special{pa 28 -951}\special{pa 28 -952}\special{pa 28 -952}\special{pa 28 -953}% +\special{pa 28 -953}\special{pa 27 -954}\special{pa 27 -954}\special{pa 27 -954}% +\special{pa 27 -955}\special{pa 27 -955}\special{pa 27 -956}\special{pa 26 -956}% +\special{pa 26 -957}\special{pa 26 -957}\special{pa 26 -957}\special{pa 25 -958}% +\special{pa 25 -958}\special{pa 25 -959}\special{pa 24 -959}\special{pa 24 -959}% +\special{pa 23 -960}\special{pa 23 -960}\special{pa 22 -960}\special{pa 22 -961}% +\special{pa 21 -961}\special{pa 21 -961}\special{pa 20 -962}\special{pa 19 -962}% +\special{pa 19 -962}\special{pa 18 -963}\special{pa 18 -963}\special{pa 17 -963}% +\special{pa 16 -963}\special{pa 15 -964}\special{pa 15 -964}\special{pa 14 -964}% +\special{pa 13 -964}\special{pa 13 -965}\special{pa 12 -965}\special{pa 11 -965}% +\special{pa 10 -965}\special{pa 9 -965}\special{pa 9 -965}\special{pa 8 -966}% +\special{pa 7 -966}\special{pa 6 -966}\special{pa 5 -966}\special{pa 4 -966}% +\special{pa 3 -966}\special{pa 3 -966}\special{pa 2 -966}\special{pa 1 -966}% +\special{pa -0 -966}\special{pa -1 -966}\special{pa -2 -966}\special{pa -3 -966}% +\special{pa -3 -966}\special{pa -4 -966}\special{pa -5 -966}\special{pa -6 -966}% +\special{pa -7 -966}\special{pa -8 -966}\special{pa -9 -965}\special{pa -9 -965}% +\special{pa -10 -965}\special{pa -11 -965}\special{pa -12 -965}\special{pa -13 -965}% +\special{pa -13 -964}\special{pa -14 -964}\special{pa -15 -964}\special{pa -15 -964}% +\special{pa -16 -963}\special{pa -17 -963}\special{pa -18 -963}\special{pa -18 -963}% +\special{pa -19 -962}\special{pa -19 -962}\special{pa -20 -962}\special{pa -21 -961}% +\special{pa -21 -961}\special{pa -22 -961}\special{pa -22 -960}\special{pa -23 -960}% +\special{pa -23 -960}\special{pa -24 -959}\special{pa -24 -959}\special{pa -25 -959}% +\special{pa -25 -958}\special{pa -25 -958}\special{pa -26 -957}\special{pa -26 -957}% +\special{pa -26 -957}\special{pa -26 -956}\special{pa -27 -956}\special{pa -27 -955}% +\special{pa -27 -955}\special{pa -27 -954}\special{pa -27 -954}\special{pa -27 -954}% +\special{pa -28 -953}\special{pa -28 -953}\special{pa -28 -952}\special{pa -28 -952}% +\special{pa -28 -951}\special{pa -27 -951}\special{pa -27 -951}\special{pa -27 -950}% +\special{pa -27 -950}\special{pa -27 -949}\special{pa -27 -949}\special{pa -26 -948}% +\special{pa -26 -948}\special{pa -26 -948}\special{pa -26 -947}\special{pa -25 -947}% +\special{pa -25 -946}\special{pa -25 -946}\special{pa -24 -946}\special{pa -24 -945}% +\special{pa -23 -945}\special{pa -23 -945}\special{pa -22 -944}\special{pa -22 -944}% +\special{pa -21 -943}\special{pa -21 -943}\special{pa -20 -943}\special{pa -19 -943}% +\special{pa -19 -942}% +\special{fp}% +\special{pa -38 -925}\special{pa -36 -924}\special{pa -35 -924}\special{pa -34 -923}% +\special{pa -32 -923}\special{pa -31 -922}\special{pa -30 -922}\special{pa -28 -921}% +\special{pa -27 -921}\special{pa -25 -921}\special{pa -23 -920}\special{pa -22 -920}% +\special{pa -20 -919}\special{pa -19 -919}\special{pa -17 -919}\special{pa -15 -919}% +\special{pa -14 -918}\special{pa -12 -918}\special{pa -10 -918}\special{pa -9 -918}% +\special{pa -7 -918}\special{pa -5 -918}\special{pa -3 -918}\special{pa -2 -918}% +\special{pa 0 -918}\special{pa 2 -918}\special{pa 3 -918}\special{pa 5 -918}% +\special{pa 7 -918}\special{pa 9 -918}\special{pa 10 -918}\special{pa 12 -918}% +\special{pa 14 -918}\special{pa 15 -919}\special{pa 17 -919}\special{pa 19 -919}% +\special{pa 20 -920}\special{pa 22 -920}\special{pa 23 -920}\special{pa 25 -921}% +\special{pa 27 -921}\special{pa 28 -921}\special{pa 30 -922}\special{pa 31 -922}% +\special{pa 32 -923}\special{pa 34 -923}\special{pa 35 -924}\special{pa 36 -924}% +\special{pa 38 -925}\special{pa 39 -926}\special{pa 40 -926}\special{pa 41 -927}% +\special{pa 42 -928}\special{pa 44 -928}\special{pa 45 -929}\special{pa 46 -930}% +\special{pa 47 -930}\special{pa 47 -931}\special{pa 48 -932}\special{pa 49 -933}% +\special{pa 50 -933}\special{pa 51 -934}\special{pa 51 -935}\special{pa 52 -936}% +\special{pa 52 -937}\special{pa 53 -937}\special{pa 53 -938}\special{pa 54 -939}% +\special{pa 54 -940}\special{pa 54 -941}\special{pa 55 -942}\special{pa 55 -943}% +\special{pa 55 -943}\special{pa 55 -944}\special{pa 55 -945}\special{pa 55 -946}% +\special{pa 55 -947}\special{pa 55 -948}\special{pa 55 -949}\special{pa 54 -949}% +\special{pa 54 -950}\special{pa 54 -951}\special{pa 53 -952}\special{pa 53 -953}% +\special{pa 52 -954}\special{pa 52 -954}\special{pa 51 -955}\special{pa 51 -956}% +\special{pa 50 -957}\special{pa 49 -958}\special{pa 48 -958}\special{pa 47 -959}% +\special{pa 47 -960}\special{pa 46 -961}\special{pa 45 -961}\special{pa 44 -962}% +\special{pa 42 -963}\special{pa 41 -963}\special{pa 40 -964}\special{pa 39 -965}% +\special{pa 38 -965}\special{pa 36 -966}\special{pa 35 -966}\special{pa 34 -967}% +\special{pa 32 -967}\special{pa 31 -968}\special{pa 30 -968}\special{pa 28 -969}% +\special{pa 27 -969}\special{pa 25 -970}\special{pa 23 -970}\special{pa 22 -970}% +\special{pa 20 -971}\special{pa 19 -971}\special{pa 17 -971}\special{pa 15 -972}% +\special{pa 14 -972}\special{pa 12 -972}\special{pa 10 -972}\special{pa 9 -972}% +\special{pa 7 -972}\special{pa 5 -973}\special{pa 3 -973}\special{pa 2 -973}% +\special{pa -0 -973}\special{pa -2 -973}\special{pa -3 -973}\special{pa -5 -973}% +\special{pa -7 -972}\special{pa -9 -972}\special{pa -10 -972}\special{pa -12 -972}% +\special{pa -14 -972}\special{pa -15 -972}\special{pa -17 -971}\special{pa -19 -971}% +\special{pa -20 -971}\special{pa -22 -970}\special{pa -23 -970}\special{pa -25 -970}% +\special{pa -27 -969}\special{pa -28 -969}\special{pa -30 -968}\special{pa -31 -968}% +\special{pa -32 -967}\special{pa -34 -967}\special{pa -35 -966}\special{pa -36 -966}% +\special{pa -38 -965}\special{pa -39 -965}\special{pa -40 -964}\special{pa -41 -963}% +\special{pa -42 -963}\special{pa -44 -962}\special{pa -45 -961}\special{pa -46 -961}% +\special{pa -47 -960}\special{pa -47 -959}\special{pa -48 -958}\special{pa -49 -958}% +\special{pa -50 -957}\special{pa -51 -956}\special{pa -51 -955}\special{pa -52 -954}% +\special{pa -52 -954}\special{pa -53 -953}\special{pa -53 -952}\special{pa -54 -951}% +\special{pa -54 -950}\special{pa -54 -949}\special{pa -55 -949}\special{pa -55 -948}% +\special{pa -55 -947}\special{pa -55 -946}\special{pa -55 -945}\special{pa -55 -944}% +\special{pa -55 -943}\special{pa -55 -943}\special{pa -55 -942}\special{pa -54 -941}% +\special{pa -54 -940}\special{pa -54 -939}\special{pa -53 -938}\special{pa -53 -937}% +\special{pa -52 -937}\special{pa -52 -936}\special{pa -51 -935}\special{pa -51 -934}% +\special{pa -50 -933}\special{pa -49 -933}\special{pa -48 -932}\special{pa -47 -931}% +\special{pa -47 -930}\special{pa -46 -930}\special{pa -45 -929}\special{pa -44 -928}% +\special{pa -42 -928}\special{pa -41 -927}\special{pa -40 -926}\special{pa -39 -926}% +\special{pa -38 -925}% +\special{fp}% +\special{pa -57 -903}\special{pa -55 -902}\special{pa -53 -901}\special{pa -51 -901}% +\special{pa -49 -900}\special{pa -46 -899}\special{pa -44 -898}\special{pa -42 -898}% +\special{pa -40 -897}\special{pa -38 -896}\special{pa -35 -896}\special{pa -33 -895}% +\special{pa -30 -895}\special{pa -28 -894}\special{pa -26 -894}\special{pa -23 -893}% +\special{pa -21 -893}\special{pa -18 -893}\special{pa -15 -893}\special{pa -13 -892}% +\special{pa -10 -892}\special{pa -8 -892}\special{pa -5 -892}\special{pa -3 -892}% +\special{pa 0 -892}\special{pa 3 -892}\special{pa 5 -892}\special{pa 8 -892}% +\special{pa 10 -892}\special{pa 13 -892}\special{pa 16 -893}\special{pa 18 -893}% +\special{pa 21 -893}\special{pa 23 -894}\special{pa 26 -894}\special{pa 28 -894}% +\special{pa 30 -895}\special{pa 33 -895}\special{pa 35 -896}\special{pa 38 -896}% +\special{pa 40 -897}\special{pa 42 -898}\special{pa 44 -898}\special{pa 46 -899}% +\special{pa 49 -900}\special{pa 51 -901}\special{pa 53 -901}\special{pa 55 -902}% +\special{pa 57 -903}\special{pa 58 -904}\special{pa 60 -905}\special{pa 62 -906}% +\special{pa 64 -907}\special{pa 65 -908}\special{pa 67 -909}\special{pa 68 -910}% +\special{pa 70 -911}\special{pa 71 -912}\special{pa 72 -913}\special{pa 74 -914}% +\special{pa 75 -916}\special{pa 76 -917}\special{pa 77 -918}\special{pa 78 -919}% +\special{pa 79 -920}\special{pa 79 -922}\special{pa 80 -923}\special{pa 81 -924}% +\special{pa 81 -925}\special{pa 82 -927}\special{pa 82 -928}\special{pa 82 -929}% +\special{pa 83 -931}\special{pa 83 -932}\special{pa 83 -933}\special{pa 83 -935}% +\special{pa 83 -936}\special{pa 82 -937}\special{pa 82 -938}\special{pa 82 -940}% +\special{pa 81 -941}\special{pa 81 -942}\special{pa 80 -943}\special{pa 79 -945}% +\special{pa 79 -946}\special{pa 78 -947}\special{pa 77 -948}\special{pa 76 -950}% +\special{pa 75 -951}\special{pa 74 -952}\special{pa 72 -953}\special{pa 71 -954}% +\special{pa 70 -955}\special{pa 68 -956}\special{pa 67 -958}\special{pa 65 -959}% +\special{pa 64 -960}\special{pa 62 -961}\special{pa 60 -962}\special{pa 58 -962}% +\special{pa 57 -963}\special{pa 55 -964}\special{pa 53 -965}\special{pa 51 -966}% +\special{pa 49 -967}\special{pa 46 -967}\special{pa 44 -968}\special{pa 42 -969}% +\special{pa 40 -969}\special{pa 38 -970}\special{pa 35 -971}\special{pa 33 -971}% +\special{pa 30 -972}\special{pa 28 -972}\special{pa 26 -973}\special{pa 23 -973}% +\special{pa 21 -973}\special{pa 18 -974}\special{pa 15 -974}\special{pa 13 -974}% +\special{pa 10 -974}\special{pa 8 -974}\special{pa 5 -974}\special{pa 3 -975}% +\special{pa -0 -975}\special{pa -3 -975}\special{pa -5 -974}\special{pa -8 -974}% +\special{pa -10 -974}\special{pa -13 -974}\special{pa -16 -974}\special{pa -18 -974}% +\special{pa -21 -973}\special{pa -23 -973}\special{pa -26 -973}\special{pa -28 -972}% +\special{pa -30 -972}\special{pa -33 -971}\special{pa -35 -971}\special{pa -38 -970}% +\special{pa -40 -969}\special{pa -42 -969}\special{pa -44 -968}\special{pa -46 -967}% +\special{pa -49 -967}\special{pa -51 -966}\special{pa -53 -965}\special{pa -55 -964}% +\special{pa -57 -963}\special{pa -58 -962}\special{pa -60 -961}\special{pa -62 -961}% +\special{pa -64 -960}\special{pa -65 -959}\special{pa -67 -957}\special{pa -68 -956}% +\special{pa -70 -955}\special{pa -71 -954}\special{pa -72 -953}\special{pa -74 -952}% +\special{pa -75 -951}\special{pa -76 -950}\special{pa -77 -948}\special{pa -78 -947}% +\special{pa -79 -946}\special{pa -79 -945}\special{pa -80 -943}\special{pa -81 -942}% +\special{pa -81 -941}\special{pa -82 -940}\special{pa -82 -938}\special{pa -82 -937}% +\special{pa -83 -936}\special{pa -83 -934}\special{pa -83 -933}\special{pa -83 -932}% +\special{pa -83 -931}\special{pa -82 -929}\special{pa -82 -928}\special{pa -82 -927}% +\special{pa -81 -925}\special{pa -81 -924}\special{pa -80 -923}\special{pa -79 -922}% +\special{pa -79 -920}\special{pa -78 -919}\special{pa -77 -918}\special{pa -76 -917}% +\special{pa -75 -916}\special{pa -74 -914}\special{pa -72 -913}\special{pa -71 -912}% +\special{pa -70 -911}\special{pa -68 -910}\special{pa -67 -909}\special{pa -65 -908}% +\special{pa -64 -907}\special{pa -62 -906}\special{pa -60 -905}\special{pa -58 -904}% +\special{pa -57 -903}% +\special{fp}% +\special{pa -75 -876}\special{pa -73 -875}\special{pa -70 -874}\special{pa -68 -873}% +\special{pa -65 -872}\special{pa -62 -871}\special{pa -59 -870}\special{pa -56 -869}% +\special{pa -53 -868}\special{pa -50 -867}\special{pa -47 -867}\special{pa -44 -866}% +\special{pa -41 -865}\special{pa -37 -865}\special{pa -34 -864}\special{pa -31 -864}% +\special{pa -27 -863}\special{pa -24 -863}\special{pa -21 -862}\special{pa -17 -862}% +\special{pa -14 -862}\special{pa -10 -862}\special{pa -7 -861}\special{pa -3 -861}% +\special{pa 0 -861}\special{pa 4 -861}\special{pa 7 -861}\special{pa 10 -862}% +\special{pa 14 -862}\special{pa 17 -862}\special{pa 21 -862}\special{pa 24 -863}% +\special{pa 27 -863}\special{pa 31 -864}\special{pa 34 -864}\special{pa 37 -865}% +\special{pa 41 -865}\special{pa 44 -866}\special{pa 47 -867}\special{pa 50 -867}% +\special{pa 53 -868}\special{pa 56 -869}\special{pa 59 -870}\special{pa 62 -871}% +\special{pa 65 -872}\special{pa 68 -873}\special{pa 70 -874}\special{pa 73 -875}% +\special{pa 75 -876}\special{pa 78 -878}\special{pa 80 -879}\special{pa 83 -880}% +\special{pa 85 -881}\special{pa 87 -883}\special{pa 89 -884}\special{pa 91 -886}% +\special{pa 93 -887}\special{pa 95 -888}\special{pa 97 -890}\special{pa 98 -891}% +\special{pa 100 -893}\special{pa 101 -895}\special{pa 103 -896}\special{pa 104 -898}% +\special{pa 105 -899}\special{pa 106 -901}\special{pa 107 -903}\special{pa 108 -904}% +\special{pa 108 -906}\special{pa 109 -908}\special{pa 109 -910}\special{pa 110 -911}% +\special{pa 110 -913}\special{pa 110 -915}\special{pa 110 -917}\special{pa 110 -918}% +\special{pa 110 -920}\special{pa 110 -922}\special{pa 109 -923}\special{pa 109 -925}% +\special{pa 108 -927}\special{pa 108 -929}\special{pa 107 -930}\special{pa 106 -932}% +\special{pa 105 -934}\special{pa 104 -935}\special{pa 102 -937}\special{pa 101 -938}% +\special{pa 100 -940}\special{pa 98 -942}\special{pa 97 -943}\special{pa 95 -945}% +\special{pa 93 -946}\special{pa 91 -947}\special{pa 89 -949}\special{pa 87 -950}% +\special{pa 85 -952}\special{pa 83 -953}\special{pa 80 -954}\special{pa 78 -955}% +\special{pa 75 -957}\special{pa 73 -958}\special{pa 70 -959}\special{pa 68 -960}% +\special{pa 65 -961}\special{pa 62 -962}\special{pa 59 -963}\special{pa 56 -964}% +\special{pa 53 -965}\special{pa 50 -966}\special{pa 47 -966}\special{pa 44 -967}% +\special{pa 41 -968}\special{pa 37 -968}\special{pa 34 -969}\special{pa 31 -969}% +\special{pa 27 -970}\special{pa 24 -970}\special{pa 21 -971}\special{pa 17 -971}% +\special{pa 14 -971}\special{pa 10 -971}\special{pa 7 -971}\special{pa 3 -972}% +\special{pa -0 -972}\special{pa -4 -972}\special{pa -7 -971}\special{pa -10 -971}% +\special{pa -14 -971}\special{pa -17 -971}\special{pa -21 -971}\special{pa -24 -970}% +\special{pa -27 -970}\special{pa -31 -969}\special{pa -34 -969}\special{pa -37 -968}% +\special{pa -41 -968}\special{pa -44 -967}\special{pa -47 -966}\special{pa -50 -966}% +\special{pa -53 -965}\special{pa -56 -964}\special{pa -59 -963}\special{pa -62 -962}% +\special{pa -65 -961}\special{pa -68 -960}\special{pa -70 -959}\special{pa -73 -958}% +\special{pa -75 -957}\special{pa -78 -955}\special{pa -80 -954}\special{pa -83 -953}% +\special{pa -85 -952}\special{pa -87 -950}\special{pa -89 -949}\special{pa -91 -947}% +\special{pa -93 -946}\special{pa -95 -945}\special{pa -97 -943}\special{pa -98 -941}% +\special{pa -100 -940}\special{pa -101 -938}\special{pa -103 -937}\special{pa -104 -935}% +\special{pa -105 -934}\special{pa -106 -932}\special{pa -107 -930}\special{pa -108 -928}% +\special{pa -108 -927}\special{pa -109 -925}\special{pa -109 -923}\special{pa -110 -922}% +\special{pa -110 -920}\special{pa -110 -918}\special{pa -110 -916}\special{pa -110 -915}% +\special{pa -110 -913}\special{pa -110 -911}\special{pa -109 -910}\special{pa -109 -908}% +\special{pa -108 -906}\special{pa -108 -904}\special{pa -107 -903}\special{pa -106 -901}% +\special{pa -105 -899}\special{pa -104 -898}\special{pa -102 -896}\special{pa -101 -895}% +\special{pa -100 -893}\special{pa -98 -891}\special{pa -97 -890}\special{pa -95 -888}% +\special{pa -93 -887}\special{pa -91 -885}\special{pa -89 -884}\special{pa -87 -883}% +\special{pa -85 -881}\special{pa -83 -880}\special{pa -80 -879}\special{pa -78 -877}% +\special{pa -75 -876}% +\special{fp}% +\special{pa -94 -845}\special{pa -91 -843}\special{pa -88 -842}\special{pa -84 -841}% +\special{pa -81 -839}\special{pa -77 -838}\special{pa -74 -837}\special{pa -70 -836}% +\special{pa -66 -835}\special{pa -63 -834}\special{pa -59 -833}\special{pa -55 -832}% +\special{pa -51 -831}\special{pa -47 -830}\special{pa -43 -829}\special{pa -38 -829}% +\special{pa -34 -828}\special{pa -30 -828}\special{pa -26 -827}\special{pa -22 -827}% +\special{pa -17 -827}\special{pa -13 -826}\special{pa -9 -826}\special{pa -4 -826}% +\special{pa 0 -826}\special{pa 4 -826}\special{pa 9 -826}\special{pa 13 -826}% +\special{pa 17 -827}\special{pa 22 -827}\special{pa 26 -827}\special{pa 30 -828}% +\special{pa 34 -828}\special{pa 38 -829}\special{pa 43 -829}\special{pa 47 -830}% +\special{pa 51 -831}\special{pa 55 -832}\special{pa 59 -833}\special{pa 63 -834}% +\special{pa 66 -835}\special{pa 70 -836}\special{pa 74 -837}\special{pa 77 -838}% +\special{pa 81 -839}\special{pa 84 -841}\special{pa 88 -842}\special{pa 91 -843}% +\special{pa 94 -845}\special{pa 97 -846}\special{pa 100 -848}\special{pa 103 -849}% +\special{pa 106 -851}\special{pa 109 -853}\special{pa 112 -855}\special{pa 114 -856}% +\special{pa 116 -858}\special{pa 119 -860}\special{pa 121 -862}\special{pa 123 -864}% +\special{pa 125 -866}\special{pa 126 -868}\special{pa 128 -870}\special{pa 130 -872}% +\special{pa 131 -874}\special{pa 132 -876}\special{pa 133 -878}\special{pa 134 -880}% +\special{pa 135 -882}\special{pa 136 -884}\special{pa 137 -886}\special{pa 137 -889}% +\special{pa 138 -891}\special{pa 138 -893}\special{pa 138 -895}\special{pa 138 -897}% +\special{pa 138 -899}\special{pa 137 -902}\special{pa 137 -904}\special{pa 136 -906}% +\special{pa 135 -908}\special{pa 134 -910}\special{pa 133 -912}\special{pa 132 -914}% +\special{pa 131 -916}\special{pa 130 -918}\special{pa 128 -920}\special{pa 126 -922}% +\special{pa 125 -924}\special{pa 123 -926}\special{pa 121 -928}\special{pa 119 -930}% +\special{pa 116 -932}\special{pa 114 -934}\special{pa 111 -936}\special{pa 109 -937}% +\special{pa 106 -939}\special{pa 103 -941}\special{pa 100 -942}\special{pa 97 -944}% +\special{pa 94 -945}\special{pa 91 -947}\special{pa 88 -948}\special{pa 84 -949}% +\special{pa 81 -951}\special{pa 77 -952}\special{pa 74 -953}\special{pa 70 -954}% +\special{pa 66 -955}\special{pa 63 -956}\special{pa 59 -957}\special{pa 55 -958}% +\special{pa 51 -959}\special{pa 47 -960}\special{pa 43 -961}\special{pa 38 -961}% +\special{pa 34 -962}\special{pa 30 -962}\special{pa 26 -963}\special{pa 22 -963}% +\special{pa 17 -963}\special{pa 13 -964}\special{pa 9 -964}\special{pa 4 -964}% +\special{pa -0 -964}\special{pa -4 -964}\special{pa -9 -964}\special{pa -13 -964}% +\special{pa -17 -963}\special{pa -22 -963}\special{pa -26 -963}\special{pa -30 -962}% +\special{pa -34 -962}\special{pa -38 -961}\special{pa -43 -961}\special{pa -47 -960}% +\special{pa -51 -959}\special{pa -55 -958}\special{pa -59 -957}\special{pa -63 -956}% +\special{pa -66 -955}\special{pa -70 -954}\special{pa -74 -953}\special{pa -77 -952}% +\special{pa -81 -951}\special{pa -84 -949}\special{pa -88 -948}\special{pa -91 -947}% +\special{pa -94 -945}\special{pa -97 -944}\special{pa -100 -942}\special{pa -103 -941}% +\special{pa -106 -939}\special{pa -109 -937}\special{pa -112 -935}\special{pa -114 -934}% +\special{pa -116 -932}\special{pa -119 -930}\special{pa -121 -928}\special{pa -123 -926}% +\special{pa -125 -924}\special{pa -126 -922}\special{pa -128 -920}\special{pa -130 -918}% +\special{pa -131 -916}\special{pa -132 -914}\special{pa -133 -912}\special{pa -134 -910}% +\special{pa -135 -908}\special{pa -136 -906}\special{pa -137 -904}\special{pa -137 -901}% +\special{pa -138 -899}\special{pa -138 -897}\special{pa -138 -895}\special{pa -138 -893}% +\special{pa -138 -891}\special{pa -137 -888}\special{pa -137 -886}\special{pa -136 -884}% +\special{pa -135 -882}\special{pa -134 -880}\special{pa -133 -878}\special{pa -132 -876}% +\special{pa -131 -874}\special{pa -130 -872}\special{pa -128 -870}\special{pa -126 -868}% +\special{pa -125 -866}\special{pa -123 -864}\special{pa -121 -862}\special{pa -119 -860}% +\special{pa -116 -858}\special{pa -114 -856}\special{pa -111 -854}\special{pa -109 -853}% +\special{pa -106 -851}\special{pa -103 -849}\special{pa -100 -848}\special{pa -97 -846}% +\special{pa -94 -845}% +\special{fp}% +\special{pa -113 -808}\special{pa -109 -807}\special{pa -105 -805}\special{pa -101 -803}% +\special{pa -97 -802}\special{pa -93 -800}\special{pa -89 -799}\special{pa -84 -798}% +\special{pa -80 -796}\special{pa -75 -795}\special{pa -70 -794}\special{pa -66 -793}% +\special{pa -61 -792}\special{pa -56 -791}\special{pa -51 -790}\special{pa -46 -789}% +\special{pa -41 -789}\special{pa -36 -788}\special{pa -31 -788}\special{pa -26 -787}% +\special{pa -21 -787}\special{pa -16 -786}\special{pa -10 -786}\special{pa -5 -786}% +\special{pa 0 -786}\special{pa 5 -786}\special{pa 10 -786}\special{pa 16 -786}% +\special{pa 21 -787}\special{pa 26 -787}\special{pa 31 -788}\special{pa 36 -788}% +\special{pa 41 -789}\special{pa 46 -789}\special{pa 51 -790}\special{pa 56 -791}% +\special{pa 61 -792}\special{pa 66 -793}\special{pa 70 -794}\special{pa 75 -795}% +\special{pa 80 -796}\special{pa 84 -798}\special{pa 89 -799}\special{pa 93 -800}% +\special{pa 97 -802}\special{pa 101 -803}\special{pa 105 -805}\special{pa 109 -807}% +\special{pa 113 -809}\special{pa 117 -810}\special{pa 121 -812}\special{pa 124 -814}% +\special{pa 127 -816}\special{pa 131 -818}\special{pa 134 -820}\special{pa 137 -822}% +\special{pa 140 -824}\special{pa 142 -827}\special{pa 145 -829}\special{pa 147 -831}% +\special{pa 150 -834}\special{pa 152 -836}\special{pa 154 -838}\special{pa 156 -841}% +\special{pa 157 -843}\special{pa 159 -846}\special{pa 160 -848}\special{pa 161 -851}% +\special{pa 162 -853}\special{pa 163 -856}\special{pa 164 -858}\special{pa 165 -861}% +\special{pa 165 -864}\special{pa 165 -866}\special{pa 165 -869}\special{pa 165 -871}% +\special{pa 165 -874}\special{pa 165 -877}\special{pa 164 -879}\special{pa 163 -882}% +\special{pa 162 -884}\special{pa 161 -887}\special{pa 160 -889}\special{pa 159 -892}% +\special{pa 157 -894}\special{pa 156 -897}\special{pa 154 -899}\special{pa 152 -902}% +\special{pa 150 -904}\special{pa 147 -906}\special{pa 145 -909}\special{pa 142 -911}% +\special{pa 140 -913}\special{pa 137 -915}\special{pa 134 -917}\special{pa 131 -919}% +\special{pa 127 -921}\special{pa 124 -923}\special{pa 120 -925}\special{pa 117 -927}% +\special{pa 113 -929}\special{pa 109 -931}\special{pa 105 -932}\special{pa 101 -934}% +\special{pa 97 -936}\special{pa 93 -937}\special{pa 89 -939}\special{pa 84 -940}% +\special{pa 80 -941}\special{pa 75 -942}\special{pa 70 -944}\special{pa 66 -945}% +\special{pa 61 -946}\special{pa 56 -947}\special{pa 51 -947}\special{pa 46 -948}% +\special{pa 41 -949}\special{pa 36 -949}\special{pa 31 -950}\special{pa 26 -950}% +\special{pa 21 -951}\special{pa 16 -951}\special{pa 10 -951}\special{pa 5 -951}% +\special{pa -0 -951}\special{pa -5 -951}\special{pa -10 -951}\special{pa -16 -951}% +\special{pa -21 -951}\special{pa -26 -950}\special{pa -31 -950}\special{pa -36 -949}% +\special{pa -41 -949}\special{pa -46 -948}\special{pa -51 -947}\special{pa -56 -947}% +\special{pa -61 -946}\special{pa -66 -945}\special{pa -70 -944}\special{pa -75 -942}% +\special{pa -80 -941}\special{pa -84 -940}\special{pa -89 -939}\special{pa -93 -937}% +\special{pa -97 -936}\special{pa -101 -934}\special{pa -105 -932}\special{pa -109 -931}% +\special{pa -113 -929}\special{pa -117 -927}\special{pa -121 -925}\special{pa -124 -923}% +\special{pa -127 -921}\special{pa -131 -919}\special{pa -134 -917}\special{pa -137 -915}% +\special{pa -140 -913}\special{pa -142 -911}\special{pa -145 -909}\special{pa -147 -906}% +\special{pa -150 -904}\special{pa -152 -902}\special{pa -154 -899}\special{pa -156 -897}% +\special{pa -157 -894}\special{pa -159 -892}\special{pa -160 -889}\special{pa -161 -887}% +\special{pa -162 -884}\special{pa -163 -882}\special{pa -164 -879}\special{pa -165 -877}% +\special{pa -165 -874}\special{pa -165 -871}\special{pa -165 -869}\special{pa -165 -866}% +\special{pa -165 -864}\special{pa -165 -861}\special{pa -164 -858}\special{pa -163 -856}% +\special{pa -162 -853}\special{pa -161 -851}\special{pa -160 -848}\special{pa -159 -846}% +\special{pa -157 -843}\special{pa -156 -841}\special{pa -154 -838}\special{pa -152 -836}% +\special{pa -150 -834}\special{pa -147 -831}\special{pa -145 -829}\special{pa -142 -827}% +\special{pa -140 -824}\special{pa -137 -822}\special{pa -134 -820}\special{pa -131 -818}% +\special{pa -127 -816}\special{pa -124 -814}\special{pa -120 -812}\special{pa -117 -810}% +\special{pa -113 -808}% +\special{fp}% +\special{pa -132 -767}\special{pa -128 -765}\special{pa -123 -763}\special{pa -118 -761}% +\special{pa -113 -760}\special{pa -108 -758}\special{pa -103 -756}\special{pa -98 -755}% +\special{pa -93 -753}\special{pa -88 -752}\special{pa -82 -750}\special{pa -77 -749}% +\special{pa -71 -748}\special{pa -65 -747}\special{pa -60 -746}\special{pa -54 -745}% +\special{pa -48 -744}\special{pa -42 -744}\special{pa -36 -743}\special{pa -30 -742}% +\special{pa -24 -742}\special{pa -18 -742}\special{pa -12 -741}\special{pa -6 -741}% +\special{pa 0 -741}\special{pa 6 -741}\special{pa 12 -741}\special{pa 18 -742}% +\special{pa 24 -742}\special{pa 30 -742}\special{pa 36 -743}\special{pa 42 -744}% +\special{pa 48 -744}\special{pa 54 -745}\special{pa 60 -746}\special{pa 65 -747}% +\special{pa 71 -748}\special{pa 77 -749}\special{pa 82 -750}\special{pa 88 -752}% +\special{pa 93 -753}\special{pa 98 -755}\special{pa 103 -756}\special{pa 108 -758}% +\special{pa 113 -760}\special{pa 118 -762}\special{pa 123 -763}\special{pa 128 -765}% +\special{pa 132 -767}\special{pa 136 -770}\special{pa 141 -772}\special{pa 145 -774}% +\special{pa 149 -776}\special{pa 152 -779}\special{pa 156 -781}\special{pa 160 -784}% +\special{pa 163 -786}\special{pa 166 -789}\special{pa 169 -791}\special{pa 172 -794}% +\special{pa 175 -797}\special{pa 177 -799}\special{pa 179 -802}\special{pa 182 -805}% +\special{pa 183 -808}\special{pa 185 -811}\special{pa 187 -814}\special{pa 188 -817}% +\special{pa 190 -820}\special{pa 191 -823}\special{pa 191 -826}\special{pa 192 -829}% +\special{pa 193 -832}\special{pa 193 -835}\special{pa 193 -838}\special{pa 193 -841}% +\special{pa 193 -844}\special{pa 192 -847}\special{pa 191 -850}\special{pa 191 -853}% +\special{pa 189 -856}\special{pa 188 -859}\special{pa 187 -862}\special{pa 185 -865}% +\special{pa 183 -868}\special{pa 181 -870}\special{pa 179 -873}\special{pa 177 -876}% +\special{pa 175 -879}\special{pa 172 -882}\special{pa 169 -884}\special{pa 166 -887}% +\special{pa 163 -889}\special{pa 160 -892}\special{pa 156 -894}\special{pa 152 -897}% +\special{pa 149 -899}\special{pa 145 -902}\special{pa 141 -904}\special{pa 136 -906}% +\special{pa 132 -908}\special{pa 128 -910}\special{pa 123 -912}\special{pa 118 -914}% +\special{pa 113 -916}\special{pa 108 -918}\special{pa 103 -919}\special{pa 98 -921}% +\special{pa 93 -922}\special{pa 88 -924}\special{pa 82 -925}\special{pa 77 -926}% +\special{pa 71 -927}\special{pa 65 -928}\special{pa 60 -929}\special{pa 54 -930}% +\special{pa 48 -931}\special{pa 42 -932}\special{pa 36 -932}\special{pa 30 -933}% +\special{pa 24 -933}\special{pa 18 -934}\special{pa 12 -934}\special{pa 6 -934}% +\special{pa -0 -934}\special{pa -6 -934}\special{pa -12 -934}\special{pa -18 -934}% +\special{pa -24 -933}\special{pa -30 -933}\special{pa -36 -932}\special{pa -42 -932}% +\special{pa -48 -931}\special{pa -54 -930}\special{pa -60 -929}\special{pa -65 -928}% +\special{pa -71 -927}\special{pa -77 -926}\special{pa -82 -925}\special{pa -88 -924}% +\special{pa -93 -922}\special{pa -98 -921}\special{pa -103 -919}\special{pa -108 -917}% +\special{pa -113 -916}\special{pa -118 -914}\special{pa -123 -912}\special{pa -128 -910}% +\special{pa -132 -908}\special{pa -136 -906}\special{pa -141 -904}\special{pa -145 -901}% +\special{pa -149 -899}\special{pa -152 -897}\special{pa -156 -894}\special{pa -160 -892}% +\special{pa -163 -889}\special{pa -166 -887}\special{pa -169 -884}\special{pa -172 -881}% +\special{pa -175 -879}\special{pa -177 -876}\special{pa -179 -873}\special{pa -182 -870}% +\special{pa -183 -867}\special{pa -185 -865}\special{pa -187 -862}\special{pa -188 -859}% +\special{pa -190 -856}\special{pa -191 -853}\special{pa -191 -850}\special{pa -192 -847}% +\special{pa -193 -844}\special{pa -193 -841}\special{pa -193 -838}\special{pa -193 -835}% +\special{pa -193 -832}\special{pa -192 -829}\special{pa -191 -826}\special{pa -191 -823}% +\special{pa -189 -820}\special{pa -188 -817}\special{pa -187 -814}\special{pa -185 -811}% +\special{pa -183 -808}\special{pa -181 -805}\special{pa -179 -802}\special{pa -177 -799}% +\special{pa -175 -797}\special{pa -172 -794}\special{pa -169 -791}\special{pa -166 -789}% +\special{pa -163 -786}\special{pa -160 -783}\special{pa -156 -781}\special{pa -152 -779}% +\special{pa -149 -776}\special{pa -145 -774}\special{pa -141 -772}\special{pa -136 -769}% +\special{pa -132 -767}% +\special{fp}% +\special{pa -151 -722}\special{pa -146 -719}\special{pa -140 -717}\special{pa -135 -715}% +\special{pa -130 -713}\special{pa -124 -711}\special{pa -118 -709}\special{pa -112 -707}% +\special{pa -106 -705}\special{pa -100 -704}\special{pa -94 -702}\special{pa -87 -701}% +\special{pa -81 -699}\special{pa -75 -698}\special{pa -68 -697}\special{pa -61 -696}% +\special{pa -55 -695}\special{pa -48 -694}\special{pa -41 -694}\special{pa -34 -693}% +\special{pa -28 -693}\special{pa -21 -692}\special{pa -14 -692}\special{pa -7 -692}% +\special{pa 0 -692}\special{pa 7 -692}\special{pa 14 -692}\special{pa 21 -692}% +\special{pa 28 -693}\special{pa 35 -693}\special{pa 41 -694}\special{pa 48 -694}% +\special{pa 55 -695}\special{pa 62 -696}\special{pa 68 -697}\special{pa 75 -698}% +\special{pa 81 -699}\special{pa 88 -701}\special{pa 94 -702}\special{pa 100 -704}% +\special{pa 106 -705}\special{pa 112 -707}\special{pa 118 -709}\special{pa 124 -711}% +\special{pa 130 -713}\special{pa 135 -715}\special{pa 141 -717}\special{pa 146 -719}% +\special{pa 151 -722}\special{pa 156 -724}\special{pa 161 -726}\special{pa 165 -729}% +\special{pa 170 -732}\special{pa 174 -734}\special{pa 178 -737}\special{pa 182 -740}% +\special{pa 186 -743}\special{pa 190 -746}\special{pa 193 -749}\special{pa 196 -752}% +\special{pa 200 -755}\special{pa 202 -758}\special{pa 205 -761}\special{pa 207 -765}% +\special{pa 210 -768}\special{pa 212 -771}\special{pa 214 -775}\special{pa 215 -778}% +\special{pa 217 -781}\special{pa 218 -785}\special{pa 219 -788}\special{pa 220 -792}% +\special{pa 220 -795}\special{pa 220 -799}\special{pa 220 -802}\special{pa 220 -805}% +\special{pa 220 -809}\special{pa 219 -812}\special{pa 219 -816}\special{pa 218 -819}% +\special{pa 217 -823}\special{pa 215 -826}\special{pa 214 -829}\special{pa 212 -833}% +\special{pa 210 -836}\special{pa 207 -839}\special{pa 205 -843}\special{pa 202 -846}% +\special{pa 199 -849}\special{pa 196 -852}\special{pa 193 -855}\special{pa 190 -858}% +\special{pa 186 -861}\special{pa 182 -864}\special{pa 178 -867}\special{pa 174 -870}% +\special{pa 170 -872}\special{pa 165 -875}\special{pa 161 -877}\special{pa 156 -880}% +\special{pa 151 -882}\special{pa 146 -885}\special{pa 140 -887}\special{pa 135 -889}% +\special{pa 130 -891}\special{pa 124 -893}\special{pa 118 -895}\special{pa 112 -897}% +\special{pa 106 -899}\special{pa 100 -900}\special{pa 94 -902}\special{pa 87 -903}% +\special{pa 81 -904}\special{pa 75 -906}\special{pa 68 -907}\special{pa 61 -908}% +\special{pa 55 -909}\special{pa 48 -910}\special{pa 41 -910}\special{pa 34 -911}% +\special{pa 28 -911}\special{pa 21 -912}\special{pa 14 -912}\special{pa 7 -912}% +\special{pa -0 -912}\special{pa -7 -912}\special{pa -14 -912}\special{pa -21 -912}% +\special{pa -28 -911}\special{pa -35 -911}\special{pa -41 -910}\special{pa -48 -909}% +\special{pa -55 -909}\special{pa -62 -908}\special{pa -68 -907}\special{pa -75 -906}% +\special{pa -81 -904}\special{pa -88 -903}\special{pa -94 -902}\special{pa -100 -900}% +\special{pa -106 -899}\special{pa -112 -897}\special{pa -118 -895}\special{pa -124 -893}% +\special{pa -130 -891}\special{pa -135 -889}\special{pa -141 -887}\special{pa -146 -885}% +\special{pa -151 -882}\special{pa -156 -880}\special{pa -161 -877}\special{pa -165 -875}% +\special{pa -170 -872}\special{pa -174 -869}\special{pa -178 -867}\special{pa -182 -864}% +\special{pa -186 -861}\special{pa -190 -858}\special{pa -193 -855}\special{pa -196 -852}% +\special{pa -200 -849}\special{pa -202 -846}\special{pa -205 -842}\special{pa -207 -839}% +\special{pa -210 -836}\special{pa -212 -833}\special{pa -214 -829}\special{pa -215 -826}% +\special{pa -217 -823}\special{pa -218 -819}\special{pa -219 -816}\special{pa -220 -812}% +\special{pa -220 -809}\special{pa -220 -805}\special{pa -220 -802}\special{pa -220 -798}% +\special{pa -220 -795}\special{pa -219 -792}\special{pa -219 -788}\special{pa -218 -785}% +\special{pa -217 -781}\special{pa -215 -778}\special{pa -214 -774}\special{pa -212 -771}% +\special{pa -210 -768}\special{pa -207 -765}\special{pa -205 -761}\special{pa -202 -758}% +\special{pa -199 -755}\special{pa -196 -752}\special{pa -193 -749}\special{pa -190 -746}% +\special{pa -186 -743}\special{pa -182 -740}\special{pa -178 -737}\special{pa -174 -734}% +\special{pa -170 -732}\special{pa -165 -729}\special{pa -161 -726}\special{pa -156 -724}% +\special{pa -151 -722}% +\special{fp}% +\special{pa -170 -671}\special{pa -164 -668}\special{pa -158 -666}\special{pa -152 -663}% +\special{pa -146 -661}\special{pa -139 -659}\special{pa -133 -657}\special{pa -126 -655}% +\special{pa -119 -653}\special{pa -113 -651}\special{pa -106 -649}\special{pa -98 -648}% +\special{pa -91 -646}\special{pa -84 -645}\special{pa -77 -643}\special{pa -69 -642}% +\special{pa -62 -641}\special{pa -54 -640}\special{pa -46 -640}\special{pa -39 -639}% +\special{pa -31 -638}\special{pa -23 -638}\special{pa -15 -638}\special{pa -8 -637}% +\special{pa 0 -637}\special{pa 8 -637}\special{pa 16 -638}\special{pa 23 -638}% +\special{pa 31 -638}\special{pa 39 -639}\special{pa 47 -640}\special{pa 54 -640}% +\special{pa 62 -641}\special{pa 69 -642}\special{pa 77 -643}\special{pa 84 -645}% +\special{pa 91 -646}\special{pa 99 -648}\special{pa 106 -649}\special{pa 113 -651}% +\special{pa 120 -653}\special{pa 126 -655}\special{pa 133 -657}\special{pa 139 -659}% +\special{pa 146 -661}\special{pa 152 -663}\special{pa 158 -666}\special{pa 164 -668}% +\special{pa 170 -671}\special{pa 175 -674}\special{pa 181 -676}\special{pa 186 -679}% +\special{pa 191 -682}\special{pa 196 -685}\special{pa 201 -688}\special{pa 205 -692}% +\special{pa 209 -695}\special{pa 214 -698}\special{pa 217 -702}\special{pa 221 -705}% +\special{pa 224 -709}\special{pa 228 -712}\special{pa 231 -716}\special{pa 233 -719}% +\special{pa 236 -723}\special{pa 238 -727}\special{pa 240 -731}\special{pa 242 -734}% +\special{pa 244 -738}\special{pa 245 -742}\special{pa 246 -746}\special{pa 247 -750}% +\special{pa 248 -754}\special{pa 248 -758}\special{pa 248 -761}\special{pa 248 -765}% +\special{pa 248 -769}\special{pa 247 -773}\special{pa 246 -777}\special{pa 245 -781}% +\special{pa 244 -785}\special{pa 242 -788}\special{pa 240 -792}\special{pa 238 -796}% +\special{pa 236 -800}\special{pa 233 -803}\special{pa 231 -807}\special{pa 228 -811}% +\special{pa 224 -814}\special{pa 221 -818}\special{pa 217 -821}\special{pa 213 -825}% +\special{pa 209 -828}\special{pa 205 -831}\special{pa 201 -834}\special{pa 196 -837}% +\special{pa 191 -840}\special{pa 186 -843}\special{pa 181 -846}\special{pa 175 -849}% +\special{pa 170 -852}\special{pa 164 -854}\special{pa 158 -857}\special{pa 152 -859}% +\special{pa 146 -862}\special{pa 139 -864}\special{pa 133 -866}\special{pa 126 -868}% +\special{pa 119 -870}\special{pa 113 -872}\special{pa 106 -874}\special{pa 98 -875}% +\special{pa 91 -877}\special{pa 84 -878}\special{pa 77 -879}\special{pa 69 -880}% +\special{pa 62 -881}\special{pa 54 -882}\special{pa 46 -883}\special{pa 39 -884}% +\special{pa 31 -884}\special{pa 23 -885}\special{pa 15 -885}\special{pa 8 -885}% +\special{pa -0 -885}\special{pa -8 -885}\special{pa -16 -885}\special{pa -23 -885}% +\special{pa -31 -884}\special{pa -39 -884}\special{pa -47 -883}\special{pa -54 -882}% +\special{pa -62 -881}\special{pa -69 -880}\special{pa -77 -879}\special{pa -84 -878}% +\special{pa -91 -877}\special{pa -99 -875}\special{pa -106 -874}\special{pa -113 -872}% +\special{pa -120 -870}\special{pa -126 -868}\special{pa -133 -866}\special{pa -139 -864}% +\special{pa -146 -862}\special{pa -152 -859}\special{pa -158 -857}\special{pa -164 -854}% +\special{pa -170 -852}\special{pa -175 -849}\special{pa -181 -846}\special{pa -186 -843}% +\special{pa -191 -840}\special{pa -196 -837}\special{pa -201 -834}\special{pa -205 -831}% +\special{pa -209 -828}\special{pa -214 -824}\special{pa -217 -821}\special{pa -221 -818}% +\special{pa -224 -814}\special{pa -228 -811}\special{pa -231 -807}\special{pa -233 -803}% +\special{pa -236 -800}\special{pa -238 -796}\special{pa -240 -792}\special{pa -242 -788}% +\special{pa -244 -785}\special{pa -245 -781}\special{pa -246 -777}\special{pa -247 -773}% +\special{pa -248 -769}\special{pa -248 -765}\special{pa -248 -761}\special{pa -248 -757}% +\special{pa -248 -754}\special{pa -247 -750}\special{pa -246 -746}\special{pa -245 -742}% +\special{pa -244 -738}\special{pa -242 -734}\special{pa -240 -730}\special{pa -238 -727}% +\special{pa -236 -723}\special{pa -233 -719}\special{pa -231 -716}\special{pa -228 -712}% +\special{pa -224 -709}\special{pa -221 -705}\special{pa -217 -702}\special{pa -213 -698}% +\special{pa -209 -695}\special{pa -205 -692}\special{pa -201 -688}\special{pa -196 -685}% +\special{pa -191 -682}\special{pa -186 -679}\special{pa -181 -676}\special{pa -175 -674}% +\special{pa -170 -671}% +\special{fp}% +\special{pa -189 -616}\special{pa -182 -613}\special{pa -176 -610}\special{pa -169 -607}% +\special{pa -162 -604}\special{pa -155 -602}\special{pa -148 -600}\special{pa -140 -597}% +\special{pa -133 -595}\special{pa -125 -593}\special{pa -117 -591}\special{pa -109 -590}% +\special{pa -101 -588}\special{pa -93 -586}\special{pa -85 -585}\special{pa -77 -584}% +\special{pa -68 -583}\special{pa -60 -582}\special{pa -52 -581}\special{pa -43 -580}% +\special{pa -34 -579}\special{pa -26 -579}\special{pa -17 -578}\special{pa -9 -578}% +\special{pa 0 -578}\special{pa 9 -578}\special{pa 17 -578}\special{pa 26 -579}% +\special{pa 35 -579}\special{pa 43 -580}\special{pa 52 -581}\special{pa 60 -582}% +\special{pa 69 -583}\special{pa 77 -584}\special{pa 85 -585}\special{pa 93 -586}% +\special{pa 102 -588}\special{pa 110 -590}\special{pa 117 -591}\special{pa 125 -593}% +\special{pa 133 -595}\special{pa 140 -597}\special{pa 148 -600}\special{pa 155 -602}% +\special{pa 162 -605}\special{pa 169 -607}\special{pa 176 -610}\special{pa 182 -613}% +\special{pa 189 -616}\special{pa 195 -619}\special{pa 201 -622}\special{pa 207 -625}% +\special{pa 212 -628}\special{pa 218 -632}\special{pa 223 -635}\special{pa 228 -639}% +\special{pa 233 -642}\special{pa 237 -646}\special{pa 242 -650}\special{pa 246 -653}% +\special{pa 249 -657}\special{pa 253 -661}\special{pa 256 -665}\special{pa 259 -669}% +\special{pa 262 -673}\special{pa 265 -678}\special{pa 267 -682}\special{pa 269 -686}% +\special{pa 271 -690}\special{pa 272 -694}\special{pa 273 -699}\special{pa 274 -703}% +\special{pa 275 -707}\special{pa 275 -712}\special{pa 276 -716}\special{pa 275 -720}% +\special{pa 275 -725}\special{pa 274 -729}\special{pa 273 -733}\special{pa 272 -738}% +\special{pa 271 -742}\special{pa 269 -746}\special{pa 267 -750}\special{pa 265 -754}% +\special{pa 262 -759}\special{pa 259 -763}\special{pa 256 -767}\special{pa 253 -771}% +\special{pa 249 -775}\special{pa 246 -779}\special{pa 241 -782}\special{pa 237 -786}% +\special{pa 233 -790}\special{pa 228 -793}\special{pa 223 -797}\special{pa 218 -801}% +\special{pa 212 -804}\special{pa 207 -807}\special{pa 201 -810}\special{pa 195 -813}% +\special{pa 189 -816}\special{pa 182 -819}\special{pa 176 -822}\special{pa 169 -825}% +\special{pa 162 -828}\special{pa 155 -830}\special{pa 148 -832}\special{pa 140 -835}% +\special{pa 133 -837}\special{pa 125 -839}\special{pa 117 -841}\special{pa 109 -842}% +\special{pa 101 -844}\special{pa 93 -846}\special{pa 85 -847}\special{pa 77 -848}% +\special{pa 68 -849}\special{pa 60 -850}\special{pa 52 -851}\special{pa 43 -852}% +\special{pa 34 -853}\special{pa 26 -853}\special{pa 17 -854}\special{pa 9 -854}% +\special{pa -0 -854}\special{pa -9 -854}\special{pa -17 -854}\special{pa -26 -853}% +\special{pa -35 -853}\special{pa -43 -852}\special{pa -52 -851}\special{pa -60 -850}% +\special{pa -69 -849}\special{pa -77 -848}\special{pa -85 -847}\special{pa -93 -846}% +\special{pa -102 -844}\special{pa -110 -842}\special{pa -117 -841}\special{pa -125 -839}% +\special{pa -133 -837}\special{pa -140 -835}\special{pa -148 -832}\special{pa -155 -830}% +\special{pa -162 -827}\special{pa -169 -825}\special{pa -176 -822}\special{pa -182 -819}% +\special{pa -189 -816}\special{pa -195 -813}\special{pa -201 -810}\special{pa -207 -807}% +\special{pa -212 -804}\special{pa -218 -800}\special{pa -223 -797}\special{pa -228 -793}% +\special{pa -233 -790}\special{pa -237 -786}\special{pa -242 -782}\special{pa -246 -779}% +\special{pa -249 -775}\special{pa -253 -771}\special{pa -256 -767}\special{pa -259 -763}% +\special{pa -262 -759}\special{pa -265 -754}\special{pa -267 -750}\special{pa -269 -746}% +\special{pa -271 -742}\special{pa -272 -738}\special{pa -273 -733}\special{pa -274 -729}% +\special{pa -275 -725}\special{pa -275 -720}\special{pa -276 -716}\special{pa -275 -712}% +\special{pa -275 -707}\special{pa -274 -703}\special{pa -273 -699}\special{pa -272 -694}% +\special{pa -271 -690}\special{pa -269 -686}\special{pa -267 -682}\special{pa -265 -678}% +\special{pa -262 -673}\special{pa -259 -669}\special{pa -256 -665}\special{pa -253 -661}% +\special{pa -249 -657}\special{pa -246 -653}\special{pa -241 -650}\special{pa -237 -646}% +\special{pa -233 -642}\special{pa -228 -639}\special{pa -223 -635}\special{pa -218 -632}% +\special{pa -212 -628}\special{pa -207 -625}\special{pa -201 -622}\special{pa -195 -619}% +\special{pa -189 -616}% +\special{fp}% +\special{pa -207 -555}\special{pa -200 -552}\special{pa -193 -549}\special{pa -186 -546}% +\special{pa -178 -543}\special{pa -170 -540}\special{pa -162 -538}\special{pa -154 -535}% +\special{pa -146 -533}\special{pa -138 -531}\special{pa -129 -529}\special{pa -120 -527}% +\special{pa -111 -525}\special{pa -103 -523}\special{pa -94 -522}\special{pa -84 -520}% +\special{pa -75 -519}\special{pa -66 -518}\special{pa -57 -517}\special{pa -47 -516}% +\special{pa -38 -515}\special{pa -28 -515}\special{pa -19 -515}\special{pa -9 -514}% +\special{pa 0 -514}\special{pa 10 -514}\special{pa 19 -515}\special{pa 29 -515}% +\special{pa 38 -516}\special{pa 48 -516}\special{pa 57 -517}\special{pa 66 -518}% +\special{pa 75 -519}\special{pa 85 -520}\special{pa 94 -522}\special{pa 103 -523}% +\special{pa 112 -525}\special{pa 120 -527}\special{pa 129 -529}\special{pa 138 -531}% +\special{pa 146 -533}\special{pa 154 -535}\special{pa 163 -538}\special{pa 170 -541}% +\special{pa 178 -543}\special{pa 186 -546}\special{pa 193 -549}\special{pa 201 -552}% +\special{pa 208 -555}\special{pa 214 -559}\special{pa 221 -562}\special{pa 227 -566}% +\special{pa 234 -569}\special{pa 240 -573}\special{pa 245 -577}\special{pa 251 -581}% +\special{pa 256 -585}\special{pa 261 -589}\special{pa 266 -593}\special{pa 270 -597}% +\special{pa 274 -601}\special{pa 278 -606}\special{pa 282 -610}\special{pa 285 -615}% +\special{pa 288 -619}\special{pa 291 -624}\special{pa 294 -628}\special{pa 296 -633}% +\special{pa 298 -638}\special{pa 299 -642}\special{pa 301 -647}\special{pa 302 -652}% +\special{pa 303 -656}\special{pa 303 -661}\special{pa 303 -666}\special{pa 303 -671}% +\special{pa 303 -675}\special{pa 302 -680}\special{pa 301 -685}\special{pa 299 -690}% +\special{pa 298 -694}\special{pa 296 -699}\special{pa 294 -704}\special{pa 291 -708}% +\special{pa 288 -713}\special{pa 285 -717}\special{pa 282 -722}\special{pa 278 -726}% +\special{pa 274 -730}\special{pa 270 -735}\special{pa 266 -739}\special{pa 261 -743}% +\special{pa 256 -747}\special{pa 251 -751}\special{pa 245 -755}\special{pa 239 -759}% +\special{pa 234 -763}\special{pa 227 -766}\special{pa 221 -770}\special{pa 214 -773}% +\special{pa 207 -776}\special{pa 200 -780}\special{pa 193 -783}\special{pa 186 -786}% +\special{pa 178 -789}\special{pa 170 -791}\special{pa 162 -794}\special{pa 154 -796}% +\special{pa 146 -799}\special{pa 138 -801}\special{pa 129 -803}\special{pa 120 -805}% +\special{pa 111 -807}\special{pa 103 -809}\special{pa 94 -810}\special{pa 84 -811}% +\special{pa 75 -813}\special{pa 66 -814}\special{pa 57 -815}\special{pa 47 -816}% +\special{pa 38 -816}\special{pa 28 -817}\special{pa 19 -817}\special{pa 9 -817}% +\special{pa -0 -817}\special{pa -10 -817}\special{pa -19 -817}\special{pa -29 -817}% +\special{pa -38 -816}\special{pa -48 -816}\special{pa -57 -815}\special{pa -66 -814}% +\special{pa -75 -813}\special{pa -85 -811}\special{pa -94 -810}\special{pa -103 -808}% +\special{pa -112 -807}\special{pa -120 -805}\special{pa -129 -803}\special{pa -138 -801}% +\special{pa -146 -799}\special{pa -154 -796}\special{pa -163 -794}\special{pa -170 -791}% +\special{pa -178 -788}\special{pa -186 -786}\special{pa -193 -783}\special{pa -201 -780}% +\special{pa -208 -776}\special{pa -214 -773}\special{pa -221 -770}\special{pa -227 -766}% +\special{pa -234 -762}\special{pa -240 -759}\special{pa -245 -755}\special{pa -251 -751}% +\special{pa -256 -747}\special{pa -261 -743}\special{pa -266 -739}\special{pa -270 -735}% +\special{pa -274 -730}\special{pa -278 -726}\special{pa -282 -722}\special{pa -285 -717}% +\special{pa -288 -713}\special{pa -291 -708}\special{pa -294 -704}\special{pa -296 -699}% +\special{pa -298 -694}\special{pa -299 -690}\special{pa -301 -685}\special{pa -302 -680}% +\special{pa -303 -675}\special{pa -303 -671}\special{pa -303 -666}\special{pa -303 -661}% +\special{pa -303 -656}\special{pa -302 -652}\special{pa -301 -647}\special{pa -299 -642}% +\special{pa -298 -637}\special{pa -296 -633}\special{pa -294 -628}\special{pa -291 -624}% +\special{pa -288 -619}\special{pa -285 -614}\special{pa -282 -610}\special{pa -278 -606}% +\special{pa -274 -601}\special{pa -270 -597}\special{pa -266 -593}\special{pa -261 -589}% +\special{pa -256 -585}\special{pa -251 -581}\special{pa -245 -577}\special{pa -239 -573}% +\special{pa -234 -569}\special{pa -227 -566}\special{pa -221 -562}\special{pa -214 -559}% +\special{pa -207 -555}% +\special{fp}% +\special{pa -226 -490}\special{pa -219 -487}\special{pa -211 -484}\special{pa -203 -480}% +\special{pa -194 -477}\special{pa -186 -474}\special{pa -177 -471}\special{pa -168 -469}% +\special{pa -159 -466}\special{pa -150 -464}\special{pa -141 -461}\special{pa -131 -459}% +\special{pa -122 -457}\special{pa -112 -455}\special{pa -102 -454}\special{pa -92 -452}% +\special{pa -82 -451}\special{pa -72 -450}\special{pa -62 -449}\special{pa -52 -448}% +\special{pa -41 -447}\special{pa -31 -446}\special{pa -21 -446}\special{pa -10 -446}% +\special{pa 0 -446}\special{pa 11 -446}\special{pa 21 -446}\special{pa 31 -446}% +\special{pa 42 -447}\special{pa 52 -448}\special{pa 62 -449}\special{pa 72 -450}% +\special{pa 82 -451}\special{pa 92 -452}\special{pa 102 -454}\special{pa 112 -455}% +\special{pa 122 -457}\special{pa 131 -459}\special{pa 141 -461}\special{pa 150 -464}% +\special{pa 159 -466}\special{pa 168 -469}\special{pa 177 -471}\special{pa 186 -474}% +\special{pa 194 -477}\special{pa 203 -480}\special{pa 211 -484}\special{pa 219 -487}% +\special{pa 226 -490}\special{pa 234 -494}\special{pa 241 -498}\special{pa 248 -502}% +\special{pa 255 -506}\special{pa 261 -510}\special{pa 268 -514}\special{pa 274 -518}% +\special{pa 279 -522}\special{pa 285 -527}\special{pa 290 -531}\special{pa 295 -536}% +\special{pa 299 -541}\special{pa 304 -545}\special{pa 308 -550}\special{pa 311 -555}% +\special{pa 315 -560}\special{pa 318 -565}\special{pa 320 -570}\special{pa 323 -575}% +\special{pa 325 -580}\special{pa 327 -585}\special{pa 328 -590}\special{pa 329 -595}% +\special{pa 330 -601}\special{pa 331 -606}\special{pa 331 -611}\special{pa 331 -616}% +\special{pa 330 -621}\special{pa 329 -627}\special{pa 328 -632}\special{pa 327 -637}% +\special{pa 325 -642}\special{pa 323 -647}\special{pa 320 -652}\special{pa 318 -657}% +\special{pa 314 -662}\special{pa 311 -667}\special{pa 307 -672}\special{pa 303 -677}% +\special{pa 299 -681}\special{pa 295 -686}\special{pa 290 -691}\special{pa 285 -695}% +\special{pa 279 -700}\special{pa 273 -704}\special{pa 267 -708}\special{pa 261 -712}% +\special{pa 255 -716}\special{pa 248 -720}\special{pa 241 -724}\special{pa 234 -728}% +\special{pa 226 -732}\special{pa 219 -735}\special{pa 211 -738}\special{pa 203 -742}% +\special{pa 194 -745}\special{pa 186 -748}\special{pa 177 -751}\special{pa 168 -753}% +\special{pa 159 -756}\special{pa 150 -758}\special{pa 141 -761}\special{pa 131 -763}% +\special{pa 122 -765}\special{pa 112 -767}\special{pa 102 -768}\special{pa 92 -770}% +\special{pa 82 -771}\special{pa 72 -772}\special{pa 62 -773}\special{pa 52 -774}% +\special{pa 41 -775}\special{pa 31 -776}\special{pa 21 -776}\special{pa 10 -776}% +\special{pa -0 -776}\special{pa -11 -776}\special{pa -21 -776}\special{pa -31 -776}% +\special{pa -42 -775}\special{pa -52 -774}\special{pa -62 -773}\special{pa -72 -772}% +\special{pa -82 -771}\special{pa -92 -770}\special{pa -102 -768}\special{pa -112 -767}% +\special{pa -122 -765}\special{pa -131 -763}\special{pa -141 -761}\special{pa -150 -758}% +\special{pa -159 -756}\special{pa -168 -753}\special{pa -177 -751}\special{pa -186 -748}% +\special{pa -194 -745}\special{pa -203 -742}\special{pa -211 -738}\special{pa -219 -735}% +\special{pa -226 -731}\special{pa -234 -728}\special{pa -241 -724}\special{pa -248 -720}% +\special{pa -255 -716}\special{pa -261 -712}\special{pa -268 -708}\special{pa -274 -704}% +\special{pa -279 -700}\special{pa -285 -695}\special{pa -290 -691}\special{pa -295 -686}% +\special{pa -299 -681}\special{pa -304 -677}\special{pa -308 -672}\special{pa -311 -667}% +\special{pa -315 -662}\special{pa -318 -657}\special{pa -320 -652}\special{pa -323 -647}% +\special{pa -325 -642}\special{pa -327 -637}\special{pa -328 -632}\special{pa -329 -626}% +\special{pa -330 -621}\special{pa -331 -616}\special{pa -331 -611}\special{pa -331 -606}% +\special{pa -330 -601}\special{pa -329 -595}\special{pa -328 -590}\special{pa -327 -585}% +\special{pa -325 -580}\special{pa -323 -575}\special{pa -320 -570}\special{pa -318 -565}% +\special{pa -314 -560}\special{pa -311 -555}\special{pa -307 -550}\special{pa -303 -545}% +\special{pa -299 -541}\special{pa -295 -536}\special{pa -290 -531}\special{pa -285 -527}% +\special{pa -279 -522}\special{pa -273 -518}\special{pa -267 -514}\special{pa -261 -510}% +\special{pa -255 -506}\special{pa -248 -502}\special{pa -241 -498}\special{pa -234 -494}% +\special{pa -226 -490}% +\special{fp}% +\special{pa -245 -421}\special{pa -237 -417}\special{pa -228 -413}\special{pa -219 -410}% +\special{pa -210 -406}\special{pa -201 -403}\special{pa -192 -400}\special{pa -182 -397}% +\special{pa -172 -394}\special{pa -163 -392}\special{pa -152 -389}\special{pa -142 -387}% +\special{pa -132 -385}\special{pa -121 -383}\special{pa -111 -381}\special{pa -100 -379}% +\special{pa -89 -378}\special{pa -78 -376}\special{pa -67 -375}\special{pa -56 -374}% +\special{pa -45 -374}\special{pa -34 -373}\special{pa -22 -373}\special{pa -11 -372}% +\special{pa 0 -372}\special{pa 11 -372}\special{pa 23 -373}\special{pa 34 -373}% +\special{pa 45 -374}\special{pa 56 -374}\special{pa 67 -375}\special{pa 78 -377}% +\special{pa 89 -378}\special{pa 100 -379}\special{pa 111 -381}\special{pa 121 -383}% +\special{pa 132 -385}\special{pa 142 -387}\special{pa 153 -389}\special{pa 163 -392}% +\special{pa 173 -394}\special{pa 182 -397}\special{pa 192 -400}\special{pa 201 -403}% +\special{pa 211 -406}\special{pa 220 -410}\special{pa 228 -413}\special{pa 237 -417}% +\special{pa 245 -421}\special{pa 253 -425}\special{pa 261 -429}\special{pa 269 -433}% +\special{pa 276 -437}\special{pa 283 -442}\special{pa 290 -446}\special{pa 296 -451}% +\special{pa 303 -455}\special{pa 308 -460}\special{pa 314 -465}\special{pa 319 -470}% +\special{pa 324 -475}\special{pa 329 -480}\special{pa 333 -485}\special{pa 337 -491}% +\special{pa 341 -496}\special{pa 344 -501}\special{pa 347 -507}\special{pa 350 -512}% +\special{pa 352 -518}\special{pa 354 -523}\special{pa 355 -529}\special{pa 357 -535}% +\special{pa 358 -540}\special{pa 358 -546}\special{pa 358 -551}\special{pa 358 -557}% +\special{pa 358 -563}\special{pa 357 -568}\special{pa 355 -574}\special{pa 354 -579}% +\special{pa 352 -585}\special{pa 350 -590}\special{pa 347 -596}\special{pa 344 -601}% +\special{pa 341 -607}\special{pa 337 -612}\special{pa 333 -617}\special{pa 329 -623}% +\special{pa 324 -628}\special{pa 319 -633}\special{pa 314 -638}\special{pa 308 -643}% +\special{pa 302 -647}\special{pa 296 -652}\special{pa 290 -657}\special{pa 283 -661}% +\special{pa 276 -666}\special{pa 269 -670}\special{pa 261 -674}\special{pa 253 -678}% +\special{pa 245 -682}\special{pa 237 -686}\special{pa 228 -689}\special{pa 219 -693}% +\special{pa 210 -696}\special{pa 201 -700}\special{pa 192 -703}\special{pa 182 -706}% +\special{pa 172 -708}\special{pa 163 -711}\special{pa 152 -713}\special{pa 142 -716}% +\special{pa 132 -718}\special{pa 121 -720}\special{pa 111 -722}\special{pa 100 -723}% +\special{pa 89 -725}\special{pa 78 -726}\special{pa 67 -727}\special{pa 56 -728}% +\special{pa 45 -729}\special{pa 34 -730}\special{pa 22 -730}\special{pa 11 -730}% +\special{pa -0 -730}\special{pa -11 -730}\special{pa -23 -730}\special{pa -34 -730}% +\special{pa -45 -729}\special{pa -56 -728}\special{pa -67 -727}\special{pa -78 -726}% +\special{pa -89 -725}\special{pa -100 -723}\special{pa -111 -722}\special{pa -121 -720}% +\special{pa -132 -718}\special{pa -142 -716}\special{pa -153 -713}\special{pa -163 -711}% +\special{pa -173 -708}\special{pa -182 -705}\special{pa -192 -703}\special{pa -201 -699}% +\special{pa -211 -696}\special{pa -220 -693}\special{pa -228 -689}\special{pa -237 -686}% +\special{pa -245 -682}\special{pa -253 -678}\special{pa -261 -674}\special{pa -269 -670}% +\special{pa -276 -665}\special{pa -283 -661}\special{pa -290 -657}\special{pa -296 -652}% +\special{pa -303 -647}\special{pa -308 -642}\special{pa -314 -638}\special{pa -319 -633}% +\special{pa -324 -628}\special{pa -329 -622}\special{pa -333 -617}\special{pa -337 -612}% +\special{pa -341 -607}\special{pa -344 -601}\special{pa -347 -596}\special{pa -350 -590}% +\special{pa -352 -585}\special{pa -354 -579}\special{pa -355 -574}\special{pa -357 -568}% +\special{pa -358 -563}\special{pa -358 -557}\special{pa -358 -551}\special{pa -358 -546}% +\special{pa -358 -540}\special{pa -357 -534}\special{pa -355 -529}\special{pa -354 -523}% +\special{pa -352 -518}\special{pa -350 -512}\special{pa -347 -507}\special{pa -344 -501}% +\special{pa -341 -496}\special{pa -337 -491}\special{pa -333 -485}\special{pa -329 -480}% +\special{pa -324 -475}\special{pa -319 -470}\special{pa -314 -465}\special{pa -308 -460}% +\special{pa -302 -455}\special{pa -296 -451}\special{pa -290 -446}\special{pa -283 -441}% +\special{pa -276 -437}\special{pa -269 -433}\special{pa -261 -429}\special{pa -253 -425}% +\special{pa -245 -421}% +\special{fp}% +\special{pa -264 -346}\special{pa -255 -342}\special{pa -246 -338}\special{pa -236 -334}% +\special{pa -227 -331}\special{pa -217 -327}\special{pa -207 -324}\special{pa -196 -321}% +\special{pa -186 -318}\special{pa -175 -315}\special{pa -164 -312}\special{pa -153 -310}% +\special{pa -142 -307}\special{pa -131 -305}\special{pa -119 -303}\special{pa -108 -302}% +\special{pa -96 -300}\special{pa -84 -299}\special{pa -72 -297}\special{pa -60 -296}% +\special{pa -48 -295}\special{pa -36 -295}\special{pa -24 -294}\special{pa -12 -294}% +\special{pa 0 -294}\special{pa 12 -294}\special{pa 24 -294}\special{pa 36 -295}% +\special{pa 48 -296}\special{pa 60 -296}\special{pa 72 -297}\special{pa 84 -299}% +\special{pa 96 -300}\special{pa 108 -302}\special{pa 119 -303}\special{pa 131 -305}% +\special{pa 142 -308}\special{pa 153 -310}\special{pa 164 -312}\special{pa 175 -315}% +\special{pa 186 -318}\special{pa 197 -321}\special{pa 207 -324}\special{pa 217 -327}% +\special{pa 227 -331}\special{pa 237 -334}\special{pa 246 -338}\special{pa 255 -342}% +\special{pa 264 -346}\special{pa 273 -351}\special{pa 281 -355}\special{pa 290 -359}% +\special{pa 297 -364}\special{pa 305 -369}\special{pa 312 -374}\special{pa 319 -379}% +\special{pa 326 -384}\special{pa 332 -389}\special{pa 338 -394}\special{pa 344 -399}% +\special{pa 349 -405}\special{pa 354 -410}\special{pa 359 -416}\special{pa 363 -422}% +\special{pa 367 -427}\special{pa 371 -433}\special{pa 374 -439}\special{pa 377 -445}% +\special{pa 379 -451}\special{pa 381 -457}\special{pa 383 -463}\special{pa 384 -469}% +\special{pa 385 -475}\special{pa 386 -481}\special{pa 386 -487}\special{pa 386 -493}% +\special{pa 385 -499}\special{pa 384 -505}\special{pa 383 -511}\special{pa 381 -517}% +\special{pa 379 -523}\special{pa 377 -529}\special{pa 374 -535}\special{pa 370 -541}% +\special{pa 367 -547}\special{pa 363 -552}\special{pa 359 -558}\special{pa 354 -564}% +\special{pa 349 -569}\special{pa 344 -575}\special{pa 338 -580}\special{pa 332 -585}% +\special{pa 326 -590}\special{pa 319 -595}\special{pa 312 -600}\special{pa 305 -605}% +\special{pa 297 -610}\special{pa 289 -615}\special{pa 281 -619}\special{pa 273 -623}% +\special{pa 264 -628}\special{pa 255 -632}\special{pa 246 -636}\special{pa 236 -639}% +\special{pa 227 -643}\special{pa 217 -646}\special{pa 207 -650}\special{pa 196 -653}% +\special{pa 186 -656}\special{pa 175 -659}\special{pa 164 -661}\special{pa 153 -664}% +\special{pa 142 -666}\special{pa 131 -668}\special{pa 119 -670}\special{pa 108 -672}% +\special{pa 96 -674}\special{pa 84 -675}\special{pa 72 -676}\special{pa 60 -677}% +\special{pa 48 -678}\special{pa 36 -679}\special{pa 24 -679}\special{pa 12 -680}% +\special{pa -0 -680}\special{pa -12 -680}\special{pa -24 -679}\special{pa -36 -679}% +\special{pa -48 -678}\special{pa -60 -677}\special{pa -72 -676}\special{pa -84 -675}% +\special{pa -96 -674}\special{pa -108 -672}\special{pa -119 -670}\special{pa -131 -668}% +\special{pa -142 -666}\special{pa -153 -664}\special{pa -164 -661}\special{pa -175 -659}% +\special{pa -186 -656}\special{pa -197 -653}\special{pa -207 -650}\special{pa -217 -646}% +\special{pa -227 -643}\special{pa -237 -639}\special{pa -246 -635}\special{pa -255 -632}% +\special{pa -264 -627}\special{pa -273 -623}\special{pa -281 -619}\special{pa -290 -614}% +\special{pa -297 -610}\special{pa -305 -605}\special{pa -312 -600}\special{pa -319 -595}% +\special{pa -326 -590}\special{pa -332 -585}\special{pa -338 -580}\special{pa -344 -574}% +\special{pa -349 -569}\special{pa -354 -563}\special{pa -359 -558}\special{pa -363 -552}% +\special{pa -367 -546}\special{pa -371 -541}\special{pa -374 -535}\special{pa -377 -529}% +\special{pa -379 -523}\special{pa -381 -517}\special{pa -383 -511}\special{pa -384 -505}% +\special{pa -385 -499}\special{pa -386 -493}\special{pa -386 -487}\special{pa -386 -481}% +\special{pa -385 -475}\special{pa -384 -469}\special{pa -383 -463}\special{pa -381 -457}% +\special{pa -379 -451}\special{pa -377 -445}\special{pa -374 -439}\special{pa -370 -433}% +\special{pa -367 -427}\special{pa -363 -421}\special{pa -359 -416}\special{pa -354 -410}% +\special{pa -349 -405}\special{pa -344 -399}\special{pa -338 -394}\special{pa -332 -389}% +\special{pa -326 -383}\special{pa -319 -378}\special{pa -312 -373}\special{pa -305 -369}% +\special{pa -297 -364}\special{pa -289 -359}\special{pa -281 -355}\special{pa -273 -350}% +\special{pa -264 -346}% +\special{fp}% +\special{pa -283 -267}\special{pa -273 -263}\special{pa -263 -258}\special{pa -253 -254}% +\special{pa -243 -250}\special{pa -232 -247}\special{pa -221 -243}\special{pa -210 -240}% +\special{pa -199 -237}\special{pa -188 -233}\special{pa -176 -231}\special{pa -164 -228}% +\special{pa -152 -225}\special{pa -140 -223}\special{pa -128 -221}\special{pa -115 -219}% +\special{pa -103 -217}\special{pa -90 -216}\special{pa -77 -215}\special{pa -65 -214}% +\special{pa -52 -213}\special{pa -39 -212}\special{pa -26 -211}\special{pa -13 -211}% +\special{pa 0 -211}\special{pa 13 -211}\special{pa 26 -211}\special{pa 39 -212}% +\special{pa 52 -213}\special{pa 65 -214}\special{pa 78 -215}\special{pa 90 -216}% +\special{pa 103 -217}\special{pa 115 -219}\special{pa 128 -221}\special{pa 140 -223}% +\special{pa 152 -226}\special{pa 164 -228}\special{pa 176 -231}\special{pa 188 -234}% +\special{pa 199 -237}\special{pa 211 -240}\special{pa 222 -243}\special{pa 232 -247}% +\special{pa 243 -250}\special{pa 253 -254}\special{pa 264 -258}\special{pa 273 -263}% +\special{pa 283 -267}\special{pa 292 -272}\special{pa 301 -276}\special{pa 310 -281}% +\special{pa 319 -286}\special{pa 327 -291}\special{pa 335 -296}\special{pa 342 -302}% +\special{pa 349 -307}\special{pa 356 -313}\special{pa 362 -318}\special{pa 368 -324}% +\special{pa 374 -330}\special{pa 379 -336}\special{pa 384 -342}\special{pa 389 -348}% +\special{pa 393 -354}\special{pa 397 -360}\special{pa 400 -366}\special{pa 403 -373}% +\special{pa 406 -379}\special{pa 408 -385}\special{pa 410 -392}\special{pa 412 -398}% +\special{pa 413 -405}\special{pa 413 -411}\special{pa 413 -418}\special{pa 413 -424}% +\special{pa 413 -431}\special{pa 412 -437}\special{pa 410 -444}\special{pa 408 -450}% +\special{pa 406 -456}\special{pa 403 -463}\special{pa 400 -469}\special{pa 397 -475}% +\special{pa 393 -482}\special{pa 389 -488}\special{pa 384 -494}\special{pa 379 -500}% +\special{pa 374 -506}\special{pa 368 -512}\special{pa 362 -517}\special{pa 356 -523}% +\special{pa 349 -528}\special{pa 342 -534}\special{pa 334 -539}\special{pa 327 -544}% +\special{pa 318 -549}\special{pa 310 -554}\special{pa 301 -559}\special{pa 292 -564}% +\special{pa 283 -568}\special{pa 273 -573}\special{pa 263 -577}\special{pa 253 -581}% +\special{pa 243 -585}\special{pa 232 -589}\special{pa 221 -592}\special{pa 210 -596}% +\special{pa 199 -599}\special{pa 188 -602}\special{pa 176 -605}\special{pa 164 -607}% +\special{pa 152 -610}\special{pa 140 -612}\special{pa 128 -614}\special{pa 115 -616}% +\special{pa 103 -618}\special{pa 90 -619}\special{pa 77 -621}\special{pa 65 -622}% +\special{pa 52 -623}\special{pa 39 -623}\special{pa 26 -624}\special{pa 13 -624}% +\special{pa -0 -624}\special{pa -13 -624}\special{pa -26 -624}\special{pa -39 -623}% +\special{pa -52 -623}\special{pa -65 -622}\special{pa -78 -621}\special{pa -90 -619}% +\special{pa -103 -618}\special{pa -115 -616}\special{pa -128 -614}\special{pa -140 -612}% +\special{pa -152 -610}\special{pa -164 -607}\special{pa -176 -605}\special{pa -188 -602}% +\special{pa -199 -599}\special{pa -211 -596}\special{pa -222 -592}\special{pa -232 -589}% +\special{pa -243 -585}\special{pa -253 -581}\special{pa -264 -577}\special{pa -273 -573}% +\special{pa -283 -568}\special{pa -292 -564}\special{pa -301 -559}\special{pa -310 -554}% +\special{pa -319 -549}\special{pa -327 -544}\special{pa -335 -539}\special{pa -342 -534}% +\special{pa -349 -528}\special{pa -356 -523}\special{pa -362 -517}\special{pa -368 -511}% +\special{pa -374 -506}\special{pa -379 -500}\special{pa -384 -494}\special{pa -389 -488}% +\special{pa -393 -481}\special{pa -397 -475}\special{pa -400 -469}\special{pa -403 -463}% +\special{pa -406 -456}\special{pa -408 -450}\special{pa -410 -444}\special{pa -412 -437}% +\special{pa -413 -431}\special{pa -413 -424}\special{pa -413 -418}\special{pa -413 -411}% +\special{pa -413 -405}\special{pa -412 -398}\special{pa -410 -392}\special{pa -408 -385}% +\special{pa -406 -379}\special{pa -403 -373}\special{pa -400 -366}\special{pa -397 -360}% +\special{pa -393 -354}\special{pa -389 -348}\special{pa -384 -342}\special{pa -379 -336}% +\special{pa -374 -330}\special{pa -368 -324}\special{pa -362 -318}\special{pa -356 -312}% +\special{pa -349 -307}\special{pa -342 -301}\special{pa -334 -296}\special{pa -327 -291}% +\special{pa -318 -286}\special{pa -310 -281}\special{pa -301 -276}\special{pa -292 -271}% +\special{pa -283 -267}% +\special{fp}% +\special{pa -302 -183}\special{pa -291 -178}\special{pa -281 -174}\special{pa -270 -169}% +\special{pa -259 -165}\special{pa -248 -161}\special{pa -236 -157}\special{pa -224 -154}% +\special{pa -212 -150}\special{pa -200 -147}\special{pa -188 -144}\special{pa -175 -141}% +\special{pa -162 -139}\special{pa -149 -136}\special{pa -136 -134}\special{pa -123 -132}% +\special{pa -110 -130}\special{pa -96 -129}\special{pa -82 -127}\special{pa -69 -126}% +\special{pa -55 -125}\special{pa -41 -124}\special{pa -28 -124}\special{pa -14 -123}% +\special{pa 0 -123}\special{pa 14 -123}\special{pa 28 -124}\special{pa 42 -124}% +\special{pa 55 -125}\special{pa 69 -126}\special{pa 83 -127}\special{pa 96 -129}% +\special{pa 110 -130}\special{pa 123 -132}\special{pa 136 -134}\special{pa 150 -136}% +\special{pa 162 -139}\special{pa 175 -141}\special{pa 188 -144}\special{pa 200 -147}% +\special{pa 213 -151}\special{pa 225 -154}\special{pa 236 -158}\special{pa 248 -161}% +\special{pa 259 -165}\special{pa 270 -170}\special{pa 281 -174}\special{pa 292 -178}% +\special{pa 302 -183}\special{pa 312 -188}\special{pa 322 -193}\special{pa 331 -198}% +\special{pa 340 -203}\special{pa 349 -209}\special{pa 357 -214}\special{pa 365 -220}% +\special{pa 372 -226}\special{pa 380 -232}\special{pa 386 -238}\special{pa 393 -244}% +\special{pa 399 -250}\special{pa 405 -256}\special{pa 410 -263}\special{pa 415 -269}% +\special{pa 419 -276}\special{pa 423 -282}\special{pa 427 -289}\special{pa 430 -296}% +\special{pa 433 -302}\special{pa 436 -309}\special{pa 437 -316}\special{pa 439 -323}% +\special{pa 440 -330}\special{pa 441 -337}\special{pa 441 -344}\special{pa 441 -351}% +\special{pa 440 -358}\special{pa 439 -365}\special{pa 437 -371}\special{pa 435 -378}% +\special{pa 433 -385}\special{pa 430 -392}\special{pa 427 -399}\special{pa 423 -405}% +\special{pa 419 -412}\special{pa 415 -418}\special{pa 410 -425}\special{pa 405 -431}% +\special{pa 399 -438}\special{pa 393 -444}\special{pa 386 -450}\special{pa 379 -456}% +\special{pa 372 -462}\special{pa 365 -468}\special{pa 357 -473}\special{pa 348 -479}% +\special{pa 340 -484}\special{pa 331 -490}\special{pa 321 -495}\special{pa 312 -500}% +\special{pa 302 -504}\special{pa 291 -509}\special{pa 281 -514}\special{pa 270 -518}% +\special{pa 259 -522}\special{pa 248 -526}\special{pa 236 -530}\special{pa 224 -533}% +\special{pa 212 -537}\special{pa 200 -540}\special{pa 188 -543}\special{pa 175 -546}% +\special{pa 162 -549}\special{pa 149 -551}\special{pa 136 -553}\special{pa 123 -555}% +\special{pa 110 -557}\special{pa 96 -559}\special{pa 82 -560}\special{pa 69 -561}% +\special{pa 55 -562}\special{pa 41 -563}\special{pa 28 -564}\special{pa 14 -564}% +\special{pa -0 -564}\special{pa -14 -564}\special{pa -28 -564}\special{pa -42 -563}% +\special{pa -55 -562}\special{pa -69 -561}\special{pa -83 -560}\special{pa -96 -559}% +\special{pa -110 -557}\special{pa -123 -555}\special{pa -136 -553}\special{pa -150 -551}% +\special{pa -162 -549}\special{pa -175 -546}\special{pa -188 -543}\special{pa -200 -540}% +\special{pa -213 -537}\special{pa -225 -533}\special{pa -236 -530}\special{pa -248 -526}% +\special{pa -259 -522}\special{pa -270 -518}\special{pa -281 -514}\special{pa -292 -509}% +\special{pa -302 -504}\special{pa -312 -500}\special{pa -322 -495}\special{pa -331 -489}% +\special{pa -340 -484}\special{pa -349 -479}\special{pa -357 -473}\special{pa -365 -468}% +\special{pa -372 -462}\special{pa -380 -456}\special{pa -386 -450}\special{pa -393 -444}% +\special{pa -399 -437}\special{pa -405 -431}\special{pa -410 -425}\special{pa -415 -418}% +\special{pa -419 -412}\special{pa -423 -405}\special{pa -427 -398}\special{pa -430 -392}% +\special{pa -433 -385}\special{pa -436 -378}\special{pa -437 -371}\special{pa -439 -364}% +\special{pa -440 -357}\special{pa -441 -351}\special{pa -441 -344}\special{pa -441 -337}% +\special{pa -440 -330}\special{pa -439 -323}\special{pa -437 -316}\special{pa -435 -309}% +\special{pa -433 -302}\special{pa -430 -296}\special{pa -427 -289}\special{pa -423 -282}% +\special{pa -419 -275}\special{pa -415 -269}\special{pa -410 -262}\special{pa -405 -256}% +\special{pa -399 -250}\special{pa -393 -244}\special{pa -386 -237}\special{pa -379 -231}% +\special{pa -372 -225}\special{pa -365 -220}\special{pa -357 -214}\special{pa -348 -208}% +\special{pa -340 -203}\special{pa -331 -198}\special{pa -321 -193}\special{pa -312 -188}% +\special{pa -302 -183}% +\special{fp}% +\special{pa -321 -94}\special{pa -310 -89}\special{pa -299 -84}\special{pa -287 -80}% +\special{pa -275 -75}\special{pa -263 -71}\special{pa -251 -67}\special{pa -238 -63}% +\special{pa -226 -60}\special{pa -213 -56}\special{pa -199 -53}\special{pa -186 -50}% +\special{pa -172 -47}\special{pa -159 -44}\special{pa -145 -42}\special{pa -131 -40}% +\special{pa -116 -38}\special{pa -102 -36}\special{pa -88 -35}\special{pa -73 -34}% +\special{pa -59 -33}\special{pa -44 -32}\special{pa -29 -31}\special{pa -15 -31}% +\special{pa 0 -31}\special{pa 15 -31}\special{pa 30 -31}\special{pa 44 -32}% +\special{pa 59 -33}\special{pa 73 -34}\special{pa 88 -35}\special{pa 102 -36}% +\special{pa 117 -38}\special{pa 131 -40}\special{pa 145 -42}\special{pa 159 -45}% +\special{pa 173 -47}\special{pa 186 -50}\special{pa 200 -53}\special{pa 213 -56}% +\special{pa 226 -60}\special{pa 239 -63}\special{pa 251 -67}\special{pa 263 -71}% +\special{pa 276 -75}\special{pa 287 -80}\special{pa 299 -84}\special{pa 310 -89}% +\special{pa 321 -94}\special{pa 331 -99}\special{pa 342 -105}\special{pa 352 -110}% +\special{pa 361 -116}\special{pa 370 -121}\special{pa 379 -127}\special{pa 388 -133}% +\special{pa 396 -139}\special{pa 403 -146}\special{pa 411 -152}\special{pa 418 -159}% +\special{pa 424 -165}\special{pa 430 -172}\special{pa 436 -179}\special{pa 441 -186}% +\special{pa 446 -193}\special{pa 450 -200}\special{pa 454 -207}\special{pa 457 -214}% +\special{pa 460 -221}\special{pa 463 -228}\special{pa 465 -236}\special{pa 466 -243}% +\special{pa 468 -250}\special{pa 468 -258}\special{pa 469 -265}\special{pa 468 -272}% +\special{pa 468 -280}\special{pa 466 -287}\special{pa 465 -294}\special{pa 463 -302}% +\special{pa 460 -309}\special{pa 457 -316}\special{pa 454 -323}\special{pa 450 -330}% +\special{pa 446 -337}\special{pa 441 -344}\special{pa 436 -351}\special{pa 430 -358}% +\special{pa 424 -365}\special{pa 417 -371}\special{pa 410 -378}\special{pa 403 -384}% +\special{pa 395 -391}\special{pa 387 -397}\special{pa 379 -403}\special{pa 370 -409}% +\special{pa 361 -414}\special{pa 351 -420}\special{pa 341 -425}\special{pa 331 -431}% +\special{pa 321 -436}\special{pa 310 -441}\special{pa 299 -445}\special{pa 287 -450}% +\special{pa 275 -454}\special{pa 263 -459}\special{pa 251 -463}\special{pa 238 -467}% +\special{pa 226 -470}\special{pa 213 -474}\special{pa 199 -477}\special{pa 186 -480}% +\special{pa 172 -483}\special{pa 159 -485}\special{pa 145 -488}\special{pa 131 -490}% +\special{pa 116 -492}\special{pa 102 -494}\special{pa 88 -495}\special{pa 73 -496}% +\special{pa 59 -497}\special{pa 44 -498}\special{pa 29 -499}\special{pa 15 -499}% +\special{pa -0 -499}\special{pa -15 -499}\special{pa -30 -499}\special{pa -44 -498}% +\special{pa -59 -497}\special{pa -73 -496}\special{pa -88 -495}\special{pa -102 -494}% +\special{pa -117 -492}\special{pa -131 -490}\special{pa -145 -488}\special{pa -159 -485}% +\special{pa -173 -483}\special{pa -186 -480}\special{pa -200 -477}\special{pa -213 -474}% +\special{pa -226 -470}\special{pa -239 -467}\special{pa -251 -463}\special{pa -263 -459}% +\special{pa -276 -454}\special{pa -287 -450}\special{pa -299 -445}\special{pa -310 -441}% +\special{pa -321 -436}\special{pa -331 -431}\special{pa -342 -425}\special{pa -352 -420}% +\special{pa -361 -414}\special{pa -370 -408}\special{pa -379 -403}\special{pa -388 -397}% +\special{pa -396 -390}\special{pa -403 -384}\special{pa -411 -378}\special{pa -418 -371}% +\special{pa -424 -365}\special{pa -430 -358}\special{pa -436 -351}\special{pa -441 -344}% +\special{pa -446 -337}\special{pa -450 -330}\special{pa -454 -323}\special{pa -457 -316}% +\special{pa -460 -309}\special{pa -463 -301}\special{pa -465 -294}\special{pa -466 -287}% +\special{pa -468 -280}\special{pa -468 -272}\special{pa -469 -265}\special{pa -468 -257}% +\special{pa -468 -250}\special{pa -466 -243}\special{pa -465 -235}\special{pa -463 -228}% +\special{pa -460 -221}\special{pa -457 -214}\special{pa -454 -207}\special{pa -450 -199}% +\special{pa -446 -192}\special{pa -441 -185}\special{pa -436 -179}\special{pa -430 -172}% +\special{pa -424 -165}\special{pa -417 -158}\special{pa -410 -152}\special{pa -403 -146}% +\special{pa -395 -139}\special{pa -387 -133}\special{pa -379 -127}\special{pa -370 -121}% +\special{pa -361 -116}\special{pa -351 -110}\special{pa -341 -105}\special{pa -331 -99}% +\special{pa -321 -94}% +\special{fp}% +\special{pa -339 -1}\special{pa -328 5}\special{pa -316 10}\special{pa -304 15}% +\special{pa -291 19}\special{pa -279 24}\special{pa -266 28}\special{pa -252 32}% +\special{pa -239 36}\special{pa -225 40}\special{pa -211 43}\special{pa -197 46}% +\special{pa -182 49}\special{pa -168 52}\special{pa -153 55}\special{pa -138 57}% +\special{pa -123 59}\special{pa -108 61}\special{pa -93 62}\special{pa -77 64}% +\special{pa -62 65}\special{pa -47 66}\special{pa -31 66}\special{pa -15 67}% +\special{pa 0 67}\special{pa 16 67}\special{pa 31 66}\special{pa 47 66}% +\special{pa 62 65}\special{pa 78 64}\special{pa 93 62}\special{pa 108 61}% +\special{pa 124 59}\special{pa 139 57}\special{pa 153 54}\special{pa 168 52}% +\special{pa 183 49}\special{pa 197 46}\special{pa 211 43}\special{pa 225 40}% +\special{pa 239 36}\special{pa 253 32}\special{pa 266 28}\special{pa 279 24}% +\special{pa 292 19}\special{pa 304 15}\special{pa 316 10}\special{pa 328 5}% +\special{pa 340 -1}\special{pa 351 -6}\special{pa 362 -12}\special{pa 372 -17}% +\special{pa 382 -23}\special{pa 392 -29}\special{pa 401 -36}\special{pa 410 -42}% +\special{pa 419 -49}\special{pa 427 -55}\special{pa 435 -62}\special{pa 442 -69}% +\special{pa 449 -76}\special{pa 455 -83}\special{pa 461 -90}\special{pa 467 -97}% +\special{pa 472 -105}\special{pa 476 -112}\special{pa 481 -120}\special{pa 484 -127}% +\special{pa 487 -135}\special{pa 490 -143}\special{pa 492 -150}\special{pa 494 -158}% +\special{pa 495 -166}\special{pa 496 -174}\special{pa 496 -181}\special{pa 496 -189}% +\special{pa 495 -197}\special{pa 494 -205}\special{pa 492 -213}\special{pa 490 -220}% +\special{pa 487 -228}\special{pa 484 -236}\special{pa 480 -243}\special{pa 476 -251}% +\special{pa 472 -258}\special{pa 467 -265}\special{pa 461 -273}\special{pa 455 -280}% +\special{pa 449 -287}\special{pa 442 -294}\special{pa 435 -301}\special{pa 427 -308}% +\special{pa 419 -314}\special{pa 410 -321}\special{pa 401 -327}\special{pa 392 -333}% +\special{pa 382 -340}\special{pa 372 -345}\special{pa 361 -351}\special{pa 351 -357}% +\special{pa 339 -362}\special{pa 328 -367}\special{pa 316 -373}\special{pa 304 -377}% +\special{pa 291 -382}\special{pa 279 -387}\special{pa 266 -391}\special{pa 252 -395}% +\special{pa 239 -399}\special{pa 225 -402}\special{pa 211 -406}\special{pa 197 -409}% +\special{pa 182 -412}\special{pa 168 -415}\special{pa 153 -417}\special{pa 138 -420}% +\special{pa 123 -422}\special{pa 108 -423}\special{pa 93 -425}\special{pa 77 -426}% +\special{pa 62 -427}\special{pa 47 -428}\special{pa 31 -429}\special{pa 15 -429}% +\special{pa -0 -429}\special{pa -16 -429}\special{pa -31 -429}\special{pa -47 -428}% +\special{pa -62 -427}\special{pa -78 -426}\special{pa -93 -425}\special{pa -108 -423}% +\special{pa -124 -422}\special{pa -139 -420}\special{pa -153 -417}\special{pa -168 -415}% +\special{pa -183 -412}\special{pa -197 -409}\special{pa -211 -406}\special{pa -225 -402}% +\special{pa -239 -399}\special{pa -253 -395}\special{pa -266 -391}\special{pa -279 -386}% +\special{pa -292 -382}\special{pa -304 -377}\special{pa -316 -372}\special{pa -328 -367}% +\special{pa -340 -362}\special{pa -351 -357}\special{pa -362 -351}\special{pa -372 -345}% +\special{pa -382 -339}\special{pa -392 -333}\special{pa -401 -327}\special{pa -410 -321}% +\special{pa -419 -314}\special{pa -427 -308}\special{pa -435 -301}\special{pa -442 -294}% +\special{pa -449 -287}\special{pa -455 -280}\special{pa -461 -273}\special{pa -467 -265}% +\special{pa -472 -258}\special{pa -476 -251}\special{pa -481 -243}\special{pa -484 -235}% +\special{pa -487 -228}\special{pa -490 -220}\special{pa -492 -212}\special{pa -494 -205}% +\special{pa -495 -197}\special{pa -496 -189}\special{pa -496 -181}\special{pa -496 -174}% +\special{pa -495 -166}\special{pa -494 -158}\special{pa -492 -150}\special{pa -490 -142}% +\special{pa -487 -135}\special{pa -484 -127}\special{pa -480 -120}\special{pa -476 -112}% +\special{pa -472 -105}\special{pa -467 -97}\special{pa -461 -90}\special{pa -455 -83}% +\special{pa -449 -76}\special{pa -442 -69}\special{pa -435 -62}\special{pa -427 -55}% +\special{pa -419 -48}\special{pa -410 -42}\special{pa -401 -36}\special{pa -392 -29}% +\special{pa -382 -23}\special{pa -372 -17}\special{pa -361 -12}\special{pa -351 -6}% +\special{pa -339 -1}% +\special{fp}% +\special{pa -358 98}\special{pa -346 103}\special{pa -334 109}\special{pa -321 114}% +\special{pa -308 119}\special{pa -294 124}\special{pa -280 128}\special{pa -266 132}% +\special{pa -252 136}\special{pa -238 140}\special{pa -223 144}\special{pa -208 147}% +\special{pa -193 150}\special{pa -177 153}\special{pa -162 156}\special{pa -146 158}% +\special{pa -130 161}\special{pa -114 162}\special{pa -98 164}\special{pa -82 166}% +\special{pa -65 167}\special{pa -49 168}\special{pa -33 168}\special{pa -16 169}% +\special{pa 0 169}\special{pa 17 169}\special{pa 33 168}\special{pa 49 168}% +\special{pa 66 167}\special{pa 82 165}\special{pa 98 164}\special{pa 114 162}% +\special{pa 130 160}\special{pa 146 158}\special{pa 162 156}\special{pa 178 153}% +\special{pa 193 150}\special{pa 208 147}\special{pa 223 144}\special{pa 238 140}% +\special{pa 252 136}\special{pa 267 132}\special{pa 281 128}\special{pa 294 123}% +\special{pa 308 119}\special{pa 321 114}\special{pa 334 109}\special{pa 346 103}% +\special{pa 359 98}\special{pa 370 92}\special{pa 382 86}\special{pa 393 80}% +\special{pa 404 74}\special{pa 414 67}\special{pa 424 61}\special{pa 433 54}% +\special{pa 442 47}\special{pa 451 40}\special{pa 459 33}\special{pa 467 26}% +\special{pa 474 18}\special{pa 481 11}\special{pa 487 3}\special{pa 493 -4}% +\special{pa 498 -12}\special{pa 503 -20}\special{pa 507 -28}\special{pa 511 -36}% +\special{pa 514 -44}\special{pa 517 -52}\special{pa 520 -60}\special{pa 521 -69}% +\special{pa 523 -77}\special{pa 523 -85}\special{pa 524 -93}\special{pa 523 -101}% +\special{pa 523 -110}\special{pa 521 -118}\special{pa 519 -126}\special{pa 517 -134}% +\special{pa 514 -142}\special{pa 511 -150}\special{pa 507 -158}\special{pa 503 -166}% +\special{pa 498 -174}\special{pa 493 -182}\special{pa 487 -190}\special{pa 480 -197}% +\special{pa 474 -205}\special{pa 466 -212}\special{pa 459 -219}\special{pa 451 -226}% +\special{pa 442 -233}\special{pa 433 -240}\special{pa 424 -247}\special{pa 414 -254}% +\special{pa 403 -260}\special{pa 393 -266}\special{pa 382 -272}\special{pa 370 -278}% +\special{pa 358 -284}\special{pa 346 -290}\special{pa 334 -295}\special{pa 321 -300}% +\special{pa 308 -305}\special{pa 294 -310}\special{pa 280 -314}\special{pa 266 -318}% +\special{pa 252 -323}\special{pa 238 -326}\special{pa 223 -330}\special{pa 208 -333}% +\special{pa 193 -337}\special{pa 177 -339}\special{pa 162 -342}\special{pa 146 -345}% +\special{pa 130 -347}\special{pa 114 -349}\special{pa 98 -350}\special{pa 82 -352}% +\special{pa 65 -353}\special{pa 49 -354}\special{pa 33 -354}\special{pa 16 -355}% +\special{pa -0 -355}\special{pa -17 -355}\special{pa -33 -354}\special{pa -49 -354}% +\special{pa -66 -353}\special{pa -82 -352}\special{pa -98 -350}\special{pa -114 -349}% +\special{pa -130 -347}\special{pa -146 -344}\special{pa -162 -342}\special{pa -178 -339}% +\special{pa -193 -336}\special{pa -208 -333}\special{pa -223 -330}\special{pa -238 -326}% +\special{pa -252 -322}\special{pa -267 -318}\special{pa -281 -314}\special{pa -294 -310}% +\special{pa -308 -305}\special{pa -321 -300}\special{pa -334 -295}\special{pa -346 -289}% +\special{pa -359 -284}\special{pa -370 -278}\special{pa -382 -272}\special{pa -393 -266}% +\special{pa -404 -260}\special{pa -414 -253}\special{pa -424 -247}\special{pa -433 -240}% +\special{pa -442 -233}\special{pa -451 -226}\special{pa -459 -219}\special{pa -467 -212}% +\special{pa -474 -204}\special{pa -481 -197}\special{pa -487 -189}\special{pa -493 -182}% +\special{pa -498 -174}\special{pa -503 -166}\special{pa -507 -158}\special{pa -511 -150}% +\special{pa -514 -142}\special{pa -517 -134}\special{pa -520 -126}\special{pa -521 -118}% +\special{pa -523 -109}\special{pa -523 -101}\special{pa -524 -93}\special{pa -523 -85}% +\special{pa -523 -77}\special{pa -521 -68}\special{pa -519 -60}\special{pa -517 -52}% +\special{pa -514 -44}\special{pa -511 -36}\special{pa -507 -28}\special{pa -503 -20}% +\special{pa -498 -12}\special{pa -493 -4}\special{pa -487 3}\special{pa -480 11}% +\special{pa -474 18}\special{pa -466 26}\special{pa -459 33}\special{pa -451 40}% +\special{pa -442 47}\special{pa -433 54}\special{pa -424 61}\special{pa -414 67}% +\special{pa -403 74}\special{pa -393 80}\special{pa -382 86}\special{pa -370 92}% +\special{pa -358 98}% +\special{fp}% +\special{pa -377 201}\special{pa -364 207}\special{pa -351 212}\special{pa -338 218}% +\special{pa -324 223}\special{pa -310 228}\special{pa -295 233}\special{pa -280 237}% +\special{pa -265 242}\special{pa -250 246}\special{pa -235 249}\special{pa -219 253}% +\special{pa -203 256}\special{pa -187 259}\special{pa -170 262}\special{pa -154 265}% +\special{pa -137 267}\special{pa -120 269}\special{pa -103 271}\special{pa -86 272}% +\special{pa -69 273}\special{pa -52 274}\special{pa -34 275}\special{pa -17 275}% +\special{pa 0 276}\special{pa 18 275}\special{pa 35 275}\special{pa 52 274}% +\special{pa 69 273}\special{pa 86 272}\special{pa 103 271}\special{pa 120 269}% +\special{pa 137 267}\special{pa 154 265}\special{pa 171 262}\special{pa 187 259}% +\special{pa 203 256}\special{pa 219 253}\special{pa 235 249}\special{pa 250 246}% +\special{pa 266 241}\special{pa 281 237}\special{pa 296 233}\special{pa 310 228}% +\special{pa 324 223}\special{pa 338 218}\special{pa 351 212}\special{pa 365 207}% +\special{pa 377 201}\special{pa 390 195}\special{pa 402 189}\special{pa 414 182}% +\special{pa 425 176}\special{pa 436 169}\special{pa 446 162}\special{pa 456 155}% +\special{pa 465 148}\special{pa 475 140}\special{pa 483 133}\special{pa 491 125}% +\special{pa 499 117}\special{pa 506 109}\special{pa 513 101}\special{pa 519 93}% +\special{pa 524 85}\special{pa 529 77}\special{pa 534 68}\special{pa 538 60}% +\special{pa 541 52}\special{pa 544 43}\special{pa 547 34}\special{pa 549 26}% +\special{pa 550 17}\special{pa 551 9}\special{pa 551 -0}\special{pa 551 -9}% +\special{pa 550 -17}\special{pa 549 -26}\special{pa 547 -35}\special{pa 544 -43}% +\special{pa 541 -52}\special{pa 538 -60}\special{pa 534 -69}\special{pa 529 -77}% +\special{pa 524 -85}\special{pa 519 -93}\special{pa 512 -102}\special{pa 506 -110}% +\special{pa 499 -117}\special{pa 491 -125}\special{pa 483 -133}\special{pa 474 -140}% +\special{pa 465 -148}\special{pa 456 -155}\special{pa 446 -162}\special{pa 435 -169}% +\special{pa 425 -176}\special{pa 413 -182}\special{pa 402 -189}\special{pa 390 -195}% +\special{pa 377 -201}\special{pa 364 -207}\special{pa 351 -212}\special{pa 338 -218}% +\special{pa 324 -223}\special{pa 310 -228}\special{pa 295 -233}\special{pa 280 -237}% +\special{pa 265 -242}\special{pa 250 -246}\special{pa 235 -249}\special{pa 219 -253}% +\special{pa 203 -256}\special{pa 187 -259}\special{pa 170 -262}\special{pa 154 -265}% +\special{pa 137 -267}\special{pa 120 -269}\special{pa 103 -271}\special{pa 86 -272}% +\special{pa 69 -273}\special{pa 52 -274}\special{pa 34 -275}\special{pa 17 -275}% +\special{pa -0 -276}\special{pa -18 -275}\special{pa -35 -275}\special{pa -52 -274}% +\special{pa -69 -273}\special{pa -86 -272}\special{pa -103 -271}\special{pa -120 -269}% +\special{pa -137 -267}\special{pa -154 -265}\special{pa -171 -262}\special{pa -187 -259}% +\special{pa -203 -256}\special{pa -219 -253}\special{pa -235 -249}\special{pa -250 -246}% +\special{pa -266 -241}\special{pa -281 -237}\special{pa -296 -233}\special{pa -310 -228}% +\special{pa -324 -223}\special{pa -338 -218}\special{pa -351 -212}\special{pa -365 -207}% +\special{pa -377 -201}\special{pa -390 -195}\special{pa -402 -189}\special{pa -414 -182}% +\special{pa -425 -176}\special{pa -436 -169}\special{pa -446 -162}\special{pa -456 -155}% +\special{pa -465 -148}\special{pa -475 -140}\special{pa -483 -133}\special{pa -491 -125}% +\special{pa -499 -117}\special{pa -506 -109}\special{pa -513 -101}\special{pa -519 -93}% +\special{pa -524 -85}\special{pa -529 -77}\special{pa -534 -68}\special{pa -538 -60}% +\special{pa -541 -52}\special{pa -544 -43}\special{pa -547 -34}\special{pa -549 -26}% +\special{pa -550 -17}\special{pa -551 -9}\special{pa -551 0}\special{pa -551 9}% +\special{pa -550 17}\special{pa -549 26}\special{pa -547 35}\special{pa -544 43}% +\special{pa -541 52}\special{pa -538 60}\special{pa -534 69}\special{pa -529 77}% +\special{pa -524 85}\special{pa -519 93}\special{pa -512 102}\special{pa -506 110}% +\special{pa -499 117}\special{pa -491 125}\special{pa -483 133}\special{pa -474 140}% +\special{pa -465 148}\special{pa -456 155}\special{pa -446 162}\special{pa -435 169}% +\special{pa -425 176}\special{pa -413 182}\special{pa -402 189}\special{pa -390 195}% +\special{pa -377 201}% +\special{fp}% +\settowidth{\Width}{ワイヤーフレームモデル}\setlength{\Width}{0\Width}% +\settoheight{\Height}{ワイヤーフレームモデル}\settodepth{\Depth}{ワイヤーフレームモデル}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(-2.4285714,-1.5000000){\hspace*{\Width}\raisebox{\Height}{ワイヤーフレームモデル}}% +% +\settowidth{\Width}{サーフェスモデル}\setlength{\Width}{0\Width}% +\settoheight{\Height}{サーフェスモデル}\settodepth{\Depth}{サーフェスモデル}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(3.5714286,-1.5000000){\hspace*{\Width}\raisebox{\Height}{サーフェスモデル}}% +% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire01.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire01.tex new file mode 100644 index 00000000000..13fbd5890be --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire01.tex @@ -0,0 +1,30 @@ +%%% /Users/hannya/Desktop/fig/wire01.tex +%%% Generator=template3D.cdy +{\unitlength=8mm% +\begin{picture}% +(3.57,3.27)(-1.77,-0.91)% +\special{pn 8}% +% +\settowidth{\Width}{$x$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$x$}\settodepth{\Depth}{$x$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(-1.8000000,-0.4700000){\hspace*{\Width}\raisebox{\Height}{$x$}}% +% +\settowidth{\Width}{$y$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$y$}\settodepth{\Depth}{$y$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(1.4600000,-0.6100000){\hspace*{\Width}\raisebox{\Height}{$y$}}% +% +\settowidth{\Width}{$z$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$z$}\settodepth{\Depth}{$z$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(0.0000000,2.1200000){\hspace*{\Width}\raisebox{\Height}{$z$}}% +% +\special{pa 494 -130}\special{pa -494 130}% +\special{fp}% +\special{pa -391 -164}\special{pa 391 164}% +\special{fp}% +\special{pa 0 287}\special{pa 0 -594}% +\special{fp}% +\special{pa -442 -17}\special{pa 0 -149}% +\special{fp}% +\special{pa 196 82}\special{pa 247 -65}\special{pa 0 -297}\special{pa 196 82}% +\special{fp}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire02.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire02.tex new file mode 100644 index 00000000000..ca0a12c55a0 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire02.tex @@ -0,0 +1,30 @@ +%%% /Users/hannya/Desktop/fig/wire02.tex +%%% Generator=template3D.cdy +{\unitlength=8mm% +\begin{picture}% +(3.57,3.27)(-1.77,-0.91)% +\special{pn 8}% +% +\settowidth{\Width}{$x$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$x$}\settodepth{\Depth}{$x$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(-1.8000000,-0.4700000){\hspace*{\Width}\raisebox{\Height}{$x$}}% +% +\settowidth{\Width}{$y$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$y$}\settodepth{\Depth}{$y$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(1.4600000,-0.6100000){\hspace*{\Width}\raisebox{\Height}{$y$}}% +% +\settowidth{\Width}{$z$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$z$}\settodepth{\Depth}{$z$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(0.0000000,2.1200000){\hspace*{\Width}\raisebox{\Height}{$z$}}% +% +\special{pa 494 -130}\special{pa -494 130}% +\special{fp}% +\special{pa -391 -164}\special{pa 391 164}% +\special{fp}% +\special{pa 0 287}\special{pa 0 -594}% +\special{fp}% +\special{pa -442 -17}\special{pa 442 -280}% +\special{fp}% +\special{pa 196 82}\special{pa 247 -65}\special{pa 0 -297}\special{pa 196 82}% +\special{fp}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire03.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire03.tex new file mode 100644 index 00000000000..bd61a8b728f --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire03.tex @@ -0,0 +1,30 @@ +%%% /Users/hannya/Desktop/fig/wire03.tex +%%% Generator=template3D.cdy +{\unitlength=8mm% +\begin{picture}% +(3.57,3.27)(-1.77,-0.91)% +\special{pn 8}% +% +\settowidth{\Width}{$x$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$x$}\settodepth{\Depth}{$x$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(-1.8000000,-0.4700000){\hspace*{\Width}\raisebox{\Height}{$x$}}% +% +\settowidth{\Width}{$y$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$y$}\settodepth{\Depth}{$y$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(1.4600000,-0.6100000){\hspace*{\Width}\raisebox{\Height}{$y$}}% +% +\settowidth{\Width}{$z$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$z$}\settodepth{\Depth}{$z$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(0.0000000,2.1200000){\hspace*{\Width}\raisebox{\Height}{$z$}}% +% +\special{pa 494 -130}\special{pa -494 130}% +\special{fp}% +\special{pa -391 -164}\special{pa 391 164}% +\special{fp}% +\special{pa 0 287}\special{pa 0 -594}% +\special{fp}% +\special{pa -442 -17}\special{pa 145 -68}% +\special{fp}% +\special{pa 196 82}\special{pa 247 -65}\special{pa 0 -297}\special{pa 196 82}% +\special{fp}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire04.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire04.tex new file mode 100644 index 00000000000..8c69fb66dc3 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/Fig/wire04.tex @@ -0,0 +1,30 @@ +%%% /Users/hannya/Desktop/fig/wire04.tex +%%% Generator=template3D.cdy +{\unitlength=8mm% +\begin{picture}% +(3.57,3.27)(-1.77,-0.91)% +\special{pn 8}% +% +\settowidth{\Width}{$x$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$x$}\settodepth{\Depth}{$x$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(-1.8000000,-0.4700000){\hspace*{\Width}\raisebox{\Height}{$x$}}% +% +\settowidth{\Width}{$y$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$y$}\settodepth{\Depth}{$y$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(1.4600000,-0.6100000){\hspace*{\Width}\raisebox{\Height}{$y$}}% +% +\settowidth{\Width}{$z$}\setlength{\Width}{-0.5\Width}% +\settoheight{\Height}{$z$}\settodepth{\Depth}{$z$}\setlength{\Height}{-0.5\Height}\setlength{\Depth}{0.5\Depth}\addtolength{\Height}{\Depth}% +\put(0.0000000,2.1200000){\hspace*{\Width}\raisebox{\Height}{$z$}}% +% +\special{pa 494 -130}\special{pa -494 130}% +\special{fp}% +\special{pa -391 -164}\special{pa 391 164}% +\special{fp}% +\special{pa 0 287}\special{pa 0 -594}% +\special{fp}% +\special{pa -442 -17}\special{pa -247 -84}% +\special{fp}% +\special{pa 196 82}\special{pa 247 -65}\special{pa 0 -297}\special{pa 196 82}% +\special{fp}% +\end{picture}}%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex index e3b86464ef9..654d4da88c3 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex @@ -156,19 +156,20 @@ Hide coordinate axes. \itemket{Description}Generic function to set the style of axis. \itemket{Details}Parameters are:\\ 1. Style of axis ("l" ; line(default), "a" : arrow)\\ -\hspace*{10mm}Rem)Write like \verb|"a0.5"| when setting the size.\\ -2. Name of horizontal ax ( default is \verb|"x"|)\\ -3. Posion of horizontal name (default is \verb|"e"|)\\ -4. Name of horizontal ax ( default is \verb|"y"|)\\ -5. Posion of horizontal name (default is \verb|"n"|)\\ -6. Name of origin (default is \verb|"O"|)\\ -7. Position of origin (default is \verb|"sw"|)\\ -8. Line style\\ +2. Name of horizontal ax ( default is x)\\ +3. Posion of horizontal name (default is "e")\\ +4. Name of horizontal ax ( default is y)\\ +5. Posion of horizontal name (default is "n")\\ +6. Name of origin (default is O)\\ +7. Position of origin (default is "sw")\\ +8. Linestyle\\ 9. Color of axes\\ 10. Color of labels\\ + \itemket{Examples}\mbox{} \verb|Setax(["a","","","","","","nw"]);|\\ +\verb|Setax(["","","","","","","","do","red"]);|\\ \verb|Setax([7,"nw"]);|\\ \verb|Setax(["a","\theta","","x","w"]);| @@ -192,10 +193,10 @@ To draw a point in the void mode. \verb|Setax([7,"se"]);|\\ \verb|Setpt(8);|\\ -\verb|Drwpt([-pi,0],0);|\\ +\verb|Pointdata("1",[[-pi,0]],["Inside=0"]);|\\ \verb|Drwxy();|\\ \verb|Plotdata("1","sin(x)","x",["dr","Num=300"]);|\\ -\verb|Drwpt([pi,0],0);| +\verb|Pointdata("2",[[pi,0]],["Inside=0"]);| \begin{center} \input{Fig/drwxy} @@ -322,7 +323,7 @@ $f(x)=\left\{\begin{array}{l}1 (x\geq 0)\\ -1 (x<0)\\ \end{array}\right.$ \itemket{Usage}Setpt(ratio); \itemket{Description}Generic funtion to set the size of points. \itemket{Details}"ratio" is the ratio from the standard size.\\ -Size can be change as a option of ``Pointdata". +Size can be change as a option of "Pointdata". \itemket{Examples}\mbox{} \verb|Pointdata("1",A,["Size=1"]);|\\ @@ -333,6 +334,13 @@ Size can be change as a option of ``Pointdata". \hspace{20mm}\input{Fig/pointsize} \end{cmd} +%------------Setarrow-------------------------------- +\begin{cmd}{Setarrow}{setarrow} +\itemket{Usage}Setarrow(size,angle,position,cut,segstyle) +\itemket{Description}Generic function to set the arrow. +\itemket{Details} Set the style of arrow. Same as options of \hyperlink{arrowdata}{Arrowdata()} .\\ +\end{cmd} + %------------Setmarklen-------------------------------- \begin{cmd}{Setmarklen}{setmarklen} @@ -363,7 +371,7 @@ The coordinate of apparent origin is $(3,2)$ but we use the original coordinate Left figure is Euclidean view, right figure is the result of \TeX. \begin{center} -\includegraphics[bb=0 0 227 205 , width=4cm]{Fig/setorigin.pdf}\hspace{10mm}% +\includegraphics[bb=0 0 299.02 250.01 , width=4cm]{Fig/setorigin.pdf}\hspace{10mm}% \input{Fig/setorigin} \end{center} @@ -480,13 +488,13 @@ In addition, there are options specific to each function. \begin{cmd}{Pointdata}{pointdata} \itemket{Usage}Pointdata(name, point list, options) \itemket{Description}Generic function to make a point data. -\itemket{Detailse}Options are "Size=", "Color=", "notex/nodisp". +\itemket{Detailse}Options are "Size=", "Color=", "Inside=","notex/nodisp". \itemket{Examples}\mbox{} \verb|Pointdata("1",[[1,2],[-2,3]]); | // make 2 points (1,2),(-2,3)\\ \verb|Pointdata("2",[A,B]); | // A and B are draw by drawing tool.\\ \verb|Pointdata("3",A,["size=4"]); | // size of point A is 4.\\ -\verb|Pointdata("4",[A,B],[0]); | // white circles\\ +\verb|Pointdata("4",[A,B],["Inside=0"]); | // white circles\\ \verb|Pointdata("5",[[3,4],[5,6]],["notex"]); | //not draw in the \TeX file.\\ \verb|Pointdata("6",[[3,4],[5,6]],["nodisp"]);| //not draw \TeX file and Euclidean view.\\ @@ -505,38 +513,38 @@ Draw node of tree. \end{cmd} %---------Drwpt ----------------------------------- -\begin{cmd}{Drwpt}{drwpt} -\itemket{Usage}Drwpt(point, option) or Drawpoint(point, options) -\itemket{Description}Draw a point. -\itemket{Details} -The position of point is specified via its coordinate or the name of geometric object. -When the point is to be displayed not only on \TeX\ final output but also on the Euclidean view, you should generate geometric point on the screen. -Also \verb|Pointdata()| or \verb|Putpoint()| can be used. -When several points are to be generated, -the list of them should be given as the argument. -When 0 is input as the option, the point is displayed in a solid-white manner. -\itemket{Examples}\mbox{} +%\begin{cmd}{Drwpt}{drwpt} +%\itemket{Usage}Drwpt(point, option) or Drawpoint(point, options) +%\itemket{Description}Draw a point. +%\itemket{Details} +%The position of point is specified via its coordinate or the name of geometric object. +%When the point is to be displayed not only on \TeX\ final output but also on the Euclidean view, you should generate geometric point on the screen. +%Also \verb|Pointdata()| or \verb|Putpoint()| can be used. +%When several points are to be generated, +%the list of them should be given as the argument. +%When 0 is input as the option, the point is displayed in a solid-white manner. +%\itemket{Examples}\mbox{} -Draw the points $(1,1)$ and $(4,3)$. +%Draw the points $(1,1)$ and $(4,3)$. -\verb| Drwpt([[1,1],[4,3]]);|\\ +%\verb| Drwpt([[1,1],[4,3]]);|\\ -After generating points A, B, and C on the Euclidean view, display their image on \TeX\ document. +%After generating points A, B, and C on the Euclidean view, display their image on \TeX\ document. -\verb| Drwpt([A,B,C]);|\\ +%\verb| Drwpt([A,B,C]);|\\ -The endpoint B of segment AB in a solid-white manner. +%The endpoint B of segment AB in a solid-white manner. -\verb| Ptsize(5);|\\ -\verb| Listplot([A,B]);|\\ -\verb| Drawpoint(B,0);| -\begin{center} -\input{Fig/drawpoint} -\end{center} +%\verb| Ptsize(5);|\\ +%\verb| Listplot([A,B]);|\\ +%\verb| Drawpoint(B,0);| +%\begin{center} +%\input{Fig/drawpoint} +%\end{center} -\itemket{Remark} \hyperlink{mkpttable}{Comparative chart of drawing of points} +%\itemket{Remark} \hyperlink{mkpttable}{Comparative chart of drawing of points} -\end{cmd} +%\end{cmd} %--------------Putpoint------------------------------ \begin{cmd}{Putpoint}{putpoint} @@ -1480,10 +1488,9 @@ Draw discontinuity accurately by "Dis" option. Draw floor function. \verb| Plotdata("1","floor(x)","x",["Num=100","Dis=0.9"]); |\\ -\verb| Ptsize(3); |\\ \verb| Drwxy(); |\\ \verb| repeat(7,s,start -> -2, |\\ -\verb| Drwpt([s+1,s],0); |\\ +\verb| Pointdata(text(s+3),[s+1,s],["Inside=0","Size=3"]);|\\ \verb| ); | \vspace{\baselineskip} @@ -1679,7 +1686,7 @@ The option "nth" is used to set the number when plotting data has multi intersec %-----------Letter--------------------------------- \begin{cmd}{Letter}{letter} -\itemket{Usage}Letter([position, direction, string]) +\itemket{Usage}Letter([position, direction, string],options) \itemket{Description}Display the string. \itemket{Details} Write the string at the position specified by position (or coordinates) and direction. \\ @@ -1689,6 +1696,7 @@ The distance from the specified position can also be given as a numerical value. Multiple strings can be passed in the form of a list. \\ \itemket{Remark}\mbox{} The derivative symbol $'$ uses \$ $'$ \$ (single quart) in mathematical mode (interleaved with two \$ s). +Option is size of font. For example, ["size=32"] \item[Example]\mbox{} \verb|Letter([[2,1] ,"se","P"]); | // Display P in the southeast of the coordinates (2, 1). \\ @@ -2615,6 +2623,28 @@ Gets the points at both ends of the graph with limited domain and draw the line \begin{center} \input{Fig/ptstart} \end{center} \end{cmd} +%------------Readcsv-------------------------------- +\begin{cmd}{Readcsv}{readcsv} + +\itemket{Usage}Readcsv(path,filename,option) +\itemket{Description}read an external data file in csv format. The return value is a list of the data. +\itemket{Details}The first argument sets a path to the current working folder where the data file is (the default is fig). +If you put the data file in fig folder, the pathname can be omitted. Otherwise a full pathname is required.\\ +option: By the argument "Flat=y", you can flatten a list of the data (the default is "Flat=n" ). +\itemket{Examples} \mbox{} +Examples can be found in the command Boxplot(). +\end{cmd} + +%------------Readlines-------------------------------- +\begin{cmd}{Readlines}{readlines} + +\itemket{Usage}Readlines(path,filename,option) +\itemket{Description}read a text file line by line. The return value is a list of strings. +\itemket{Details}The first argument sets a path to the current working folder where the data file is (the default is fig). +If you put the data file in fig folder, the pathname can be omitted. Otherwise a full pathname is required.\\ +option: By the argument "Flat=y", you can flatten a list of the data (the default is "Flat=n" ). +\end{cmd} + %----------ReadOutData---------------------------------- \begin{cmd}{ReadOutData}{readoutdata} \itemket{Usage}ReadOutdata(filename); @@ -3531,27 +3561,6 @@ Example2 \end{cmd} -%------------Readcsv-------------------------------- -\begin{cmd}{Readcsv}{readcsv} - -\itemket{Usage}Readcsv(path,filename,option) -\itemket{Description}read an external data file in csv format. The return value is a list of the data. -\itemket{Details}The first argument sets a path to the current working folder where the data file is (the default is fig). -If you put the data file in fig folder, the pathname can be omitted. Otherwise a full pathname is required.\\ -option: By the argument "Flat=y", you can flatten a list of the data (the default is "Flat=n" ). -\itemket{Examples} \mbox{} -Examples can be found in the command Boxplot(). -\end{cmd} - -%------------Readlines-------------------------------- -\begin{cmd}{Readlines}{readlines} - -\itemket{Usage}Readlines(path,filename,option) -\itemket{Description}read a text file line by line. The return value is a list of strings. -\itemket{Details}The first argument sets a path to the current working folder where the data file is (the default is fig). -If you put the data file in fig folder, the pathname can be omitted. Otherwise a full pathname is required.\\ -option: By the argument "Flat=y", you can flatten a list of the data (the default is "Flat=n" ). -\end{cmd} %------------Scatterplot-------------------------------- \begin{cmd}{Scatterplot}{scatterplot} @@ -4135,11 +4144,29 @@ Meanings and defaults of options are\\ \end{cmd} \newpage -%=== 3D ========= +%========== 3D ========= \section{\ketcindy 3D} +\subsection{Screen} +The screen of KETCindy3D is structured as follows. + +There are two areas surrounded by a white rectangle on the drawing surface of Cinderella. The area on the left side where the NE and the SW are diagonal is referred to as the main screen, and the area on the right side is referred to as the sub screen. + +\vspace{\baselineskip} +\begin{center} + \includegraphics[bb=0 0 879.05 447.02 , width=8cm]{Fig/3dstart.pdf} +\end{center} +As in the case of a flat surface, the main screen shows the range output to TeX and it can be changed by dragging two points of NE and SW. The viewpoint can be moved with the slider below the main screen, and the axis rotates on the main screen. You can think of the sub screen as a viewpoint placed on the xy plane. + +When you draw points and line segments with Cinderella's drawing tool on the main screen, points corresponding to the secondary screen are drawn. You can change the x, y coordinates by dragging the point on the main screen, and drag the point on the sub screen to change the z coordinate. + +\vspace{\baselineskip} +\begin{center} + \includegraphics[bb=0.00 0.00 863.04 378.52 , width=10cm]{Fig/3dscreen.pdf} +\end{center} +KeTCindy3D performs hidden line processing on lines and surfaces. Hidden line processing speeds up processing in cooperation with C language. +It is necessary to develop an environment that uses C language, but now it is standardized. If you can not use C language, you will use a function to compute with R, but in that case it will take quite a while. -%==================================== \subsection{Setting and Defining} %------------Ketinit3d-------------------------------- \begin{cmd}{Ketinit3d}{ketinit3D} @@ -4148,11 +4175,10 @@ Meanings and defaults of options are\\ \itemket{Details}Euclidean view of Cinderella becomes 3D mode. Two sliders are created to indicate the viewing angle TH($\theta$), FI($\phi$). The initial values are $\mathrm{TH}=0$ and $\mathrm{FI}=0$.\\ \textcolor{red}{Caution} This funcition and Ketinit() have to write on Initializaiton slot. -\itemket{Remark}If \verb|Ketinit3d(0)| is used, the subscreen is not displayed. +\itemket{Remark}If \verb|Ketinit3d(0)| is used, the subscreen is not displayed. Ketinit () is also placed in the Initialization Slot, unlike 2D. \end{cmd} %------------Start3d-------------------------------- - \begin{cmd}{Start3d}{start3d} \itemket{Usage}Start3d(option) \itemket{Description}3d function to initialize limited variables. @@ -4160,12 +4186,12 @@ Meanings and defaults of options are\\ This funcition should be written at the beginning of Draw slot.\\ The option is a list of geometric points which are not regarded as 3D points. \itemket{Example}\mbox{}\\ +If option is given a list of exclusion points, that point is not a point of space. (The position does not change even if moving the viewpoint with the slider) + \verb|Start3d([A,B,C]);|\\ -\verb|Slider("A-C-B");| // A,C,B should not be 3D points. -\end{cmd} +\verb|Slider("A-C-B");| // A,C,B should not be 3D points.\end{cmd} %--------------Startsurf------------------------------ - \begin{cmd}{Startsurf}{startsurf} \itemket{Usage}Startsurf(options) \itemket{Description}Defines values related to surface rendering. @@ -4178,33 +4204,143 @@ Drawing of a curved surface with hidden line processing is performed in the foll %\itemket{Examples} \mbox{} \end{cmd} -%--------------Isangle------------------------------ -\begin{cmd}{Isangle}{isangle} +%-------------Xyzax3data------------------------------- +\begin{cmd}{Xyzax3data}{xyzax3data} -\itemket{Usage}Isangle() -\itemket{Description}Decide the selection of the angle slider. -\itemket{Details}Returns ``true" if select slider, and ``false" if not.\\ -In drawing including hidden line processing, reaction is bad when recalculating while moving the viewpoint. With this function, you can write code that does not recalculate while moving the viewpoint. +\itemket{Usage} Xyzax3data(name, range of x, range of y, range of z, options) +\itemket{Description}Generic function to draw the coordinate axis. +\itemket{Details}Name can be null string.\\ +Options are the followings.\\ +"an": arrowhead, n is size.\\ +"Onesw": origin and its position. +\itemket{Examples} \mbox{} -\itemket{Examples} \mbox{} +\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]");|\\ +\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]","a");| //arrowhead\\ +\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]",["a2"]);| //big arrowhead\\ +\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]",["O"]);|\\ +\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]",["a","Oe2n2"]);| //set origin upper right -\verb| fd=[ |\\ -\verb| "z=4-(x^2+y^2)",|\\ -\verb| "x=R*cos(T)","y=R*sin(T)",|\\ -\verb| "R=[0,2]","T=[0,2*pi]","e" \verb| ];|\\ -\verb| if(Isangle(),|\\ -\verb| Sf3data("1",fd);|\\ -\verb| ,|\\ -\verb| Startsurf();|\\ -\verb| Sfbdparadata("1",fd);|\\ -\verb| Crvsfparadata("1","ax3d","sfbd3d1",fd);|\\ -\verb| ExeccmdC("1");|\\ -\verb| );| +\end{cmd} + +\newpage +%================== 3D Drawing =============== + +\subsection{Command for Drawing} +\subsubsection{Point and line} +%--------------Drawpoint3d------------------------------ + +\begin{cmd}{Drawpoint3d}{drawpoint3d} + +\itemket{Usage}Drawpoint3d(list of coordinates) +\itemket{Description}Generic function to draw 3D-points. +\itemket{Details}These points are not geometric point. +To convert the geometric point, use \hyperlink{putpoint3d}{Putpoint3d()}. +To output in the \TeX file, use \hyperlink{pointdata}{Pointdata()} or \hyperlink{drwpt}{Drawpoint()}. +\itemket{Examples} \mbox{} + +\verb| Drawpoint3d([1,1,1]); |\\ +\verb| Drawpoint3d([[1,1,1],[0,1,0]]); | + +\itemket{Remark} \hyperlink{mkpttable}{Comparative chart of drawing of points} \end{cmd} -\subsection{Command for Drawing} +%--------------Pointdata3d------------------------------ +\begin{cmd}{Pointdata3d}{pointdata3d} + +\itemket{Usage}Pointdata3d(name, point list, options) +\itemket{Description}Generic function to generate data of the point list. +\itemket{Details}Options are "Size=","Color=". +\itemket{Examples} \verb|Pointdata3d("1",[[0,1,0],[1,1,2]],["Size=2","Color=red"]);| +\end{cmd} +%---------------Putpoint3d----------------------------- +\begin{cmd}{Putpoint3d}{putpoint3d} + +\itemket{Usage}Putpoint3d(list of 3D-points, option) +\itemket{Description}Generic function to draw the geometric point in the space. +\itemket{Details}Option is "free" or "fix"(default). +\itemket{Examples} \mbox{} + +\verb|Putpoint3d(["A",[2,1,3]]);|\\ +\verb|Putpoint3d(["A",[2,1,3]],"free");| \\ +\verb|Putpoint3d(["A",[1,1,1],"C",[1,0,1]]);|\\ + +These points don't output in the \TeX file. To output in the \TeX file use the following \hyperlink{pointdata}{Pointdata()} or \hyperlink{drwpt}{Drawpoint()} + +In the 3D-drawings the coordinate of the point name A is A3d. + +\itemket{Remark} \hyperlink{mkpttable}{Comparative chart of drawing of points} + +\end{cmd} + +%-----------------Putaxes3d--------------------------- +\begin{cmd}{Putaxes3d}{putaxes3d} + +\itemket{Usage}Putaxes3d([x,y,z]) +\itemket{Description}Generic function to make the geometric points on the coordinate axis. +\itemket{Details}For the argument [x,y,x] we get the four geometric points X(x,0,0), Y(0,y,0), Z(0,0,z) and O(0,0,0). +\itemket{Examples} \mbox{} + +\verb|Putaxes3d([1,2,3]);|\\ +\verb|Putaxes3d(a);| //this equals to \verb|Putaxes3d([a,a,a]);| + +\end{cmd} + +%--------------PutonCurve3d------------------------------ +\begin{cmd}{PutonCurve3d}{putonCurve3d} + +\itemket{Usage} PutonCurve3d(name, PD) +\itemket{Description}Generic function to make the geometric point on the 3D-curve. +\itemket{Details}This point moves along the curve by mouse dragging. +\itemket{Examples} \mbox{} + +Make reference to \hyperlink{partcrv3d}{Partcrv3d()} +\end{cmd} +%----------------Putonseg3d---------------------------- +\begin{cmd}{Putonseg3d}{putonseg3d} + +\itemket{Usage}Putonseg3d(name, point1, point2) +\itemket{Description}Generic function to make the geometric point on the 3D-segment. +\itemket{Details}We get the middle point between the two points. This point moves along the segment by mouse dragging. +\itemket{Examples} \mbox{} + +\verb|Putonseg3d("C",A,B);| //Put C on the center of A and B.\\ +\verb|Putonseg3d("C",[A,B]);| //same as above +\end{cmd} +%--------------Spaceline------------------------------ +\begin{cmd}{Spaceline}{spaceline} + +\itemket{Usage} Spaceline(name, list) +\itemket{Description}Generic function to draw the space polygonal lines. +\itemket{Details}Options are line type: "dr" or "da" or "do". +\itemket{Examples} \mbox{} + +\verb|Spaceline("1",[[2,5,1],[4,2,3]]);| //draw the line between two points\\ +\verb|Spaceline("2",[A,B,C,A]);| //draw the triangle ABC\\ + +\begin{layer}{150}{0} +\putnotese{100}{-5}{ \input{Fig/oresenex01}} +\end{layer} + +\verb|pt=[[2,0,0],[2,0,2],[2,2,2],[0,2,2],[0,4,2],[0,4,4]]; |\\ +\verb|Spaceline("1",pt); |\\ +\verb|Pointdata3d("1",pt,["Size=3"]);| + +\vspace{30mm} +\end{cmd} +%-------------Spacecurve------------------------------- +\begin{cmd}{Spacecurve}{spacecurve} + +\itemket{Usage}Spacecurve(name, formula, domain, options) +\itemket{Description}Generic function to draw the space curve. +\itemket{Examples} \mbox{} +\verb|Spacecurve("1","[2*cos(t),2*sin(t),0.2*t]","t=[0,4*pi]",["Num=100"]);|\\ +option=["Num=100"]: division number of the interval "t=[0,4*pi]" + \begin{center} \input{Fig/rasen} \end{center} +\end{cmd} + %-------------Bezier3d}------------------------------- \begin{cmd}{Bezier3d}{bezier3d} @@ -4219,27 +4355,66 @@ In drawing including hidden line processing, reaction is bad when recalculating \begin{center} \input{Fig/bezier3d1} \end{center} \end{cmd} -%----------Changestyle3d---------------------------------- -\begin{cmd}{Changestyle3d}{changestyle3d} -\itemket{Usage} Changestyle3d(PD,option) -\itemket{Description}Change the attribute of PD. -\itemket{Details}Change the attribute of PD to one with option specification. PD is a plotting data or a list of plotting data. +%---------Mkbezierptcrv3d----------------------------------- +\begin{cmd}{Mkbezierptcrv3d}{mkbezierptcrv3d} +\itemket{Usage}Mkbezierptcrv3d(list) +\itemket{Description}Draw a cubic B\'ezier curve from nodes. +\itemket{Details}Arrange the control points automatically. +After that, move the nodes and the control points and correct the cubic B\'ezier curve to what you want to draw. See the function {\tt \hyperlink{bezier}{Bezier3d}}. \itemket{Examples} \mbox{} -Make a tetrahedron by four points of space.\\ -\verb|Spaceline("1",[A,B]);|\\ -\verb|Spaceline("2",[A,C]);|\\ -\verb|Spaceline("3",[B,C]);|\\ -\verb|Spaceline("4",[A,D]);|\\ -\verb|Spaceline("5",[B,D]);|\\ -\verb|Spaceline("6",[C,D]);|\\ -then\\ -\verb|Changestyle3d("sl3d1",["dr,3"]);| // one edge become thick.\\ -or\\ -\verb|edges=apply(1..6,"sl3d"+text(#));|\\ -\verb|Changestyle3d(edges,["notex"]);| // all edges become ``notex".\\ +\verb|Mkbezierptcrv3d(["A","B","C","D"]);| \end{cmd} +%-------------Skeletonparadata------------------------------- +\begin{cmd}{Skeletonparadata}{skeletonparadata} + +\itemket{Usage}Skeletonparadata(name, PDlist, PDlist, option) +\itemket{Description}Generic function to draw the lines by performing hidden line processing. +\itemket{Details}This function draw the second argument(the list of the lines) by performing hidden line processing which are hidden by the third argument(the list of the lines). If both arguments are omitted the function draw all lines by performing hidden line processing. + +Options:\\ +\hspace*{5mm}\verb|real number| gap of line\\ +\hspace*{5mm}\verb|"No=pointlist"| not executed when any point is selected\\ +\hspace*{5mm}\verb|"File=y/m/n(default:n)"| whether to make data file or not\\ +\hspace*{5mm}\verb|"Check=pointlist"| data file updated if any point is changed + +\itemket{Examples} \mbox{} + +\verb| Xyzax3data("","x=[-5,5]","y=[-5,4]","z=[-5,3]");| //Data name is "ax3d".\\ +\verb| Putpoint3d(["A",[0,-2,-2]]);|\\ +\verb| Putpoint3d(["B",[-1,1,3]]);|\\ +\verb| Spaceline([A,B]);| //Data name is "AB3d".\\ +\verb| Spacecurve("1","[2*cos(t),2*sin(t),0.2*t]","t=[0,4*pi]",["Num=100"]);| //Data name is "sc3d1".\\ + +\verb|Skeletonparadata("1");| //(left figure)\\ +\verb|Skeletonparadata("1",[2]);| //option\verb|=[2]|: gap of lines\verb|=2| (center figure)\\ +\verb|Skeletonparadata("1",["AB3d","ax3d"],["sc3d1"]);| //(right figure) +\begin{center} \input{Fig/skeletonparadata01} \input{Fig/skeletonparadata02} + \input{Fig/skeletonparadata03} \end{center} + +\end{cmd} + +%================== 3D polyhedron =============== +\subsubsection{Polyhedron} + + The description of polyhedron drawing will be explained by taking the case of tetrahedron as an example. + +The tetrahedron is composed of four sides. Letting the vertices be A, B, C, D, the four faces are + +\hspace{20mm}$\triangle\mathrm{ABC}$, $\triangle\mathrm{ABD}$, $\triangle\mathrm{ACD}$, $\triangle\mathrm{BCD}$ + +\begin{center} \input{Fig/concatobj} \end{center} + +If numbers are given to the vertex list [A, B, C, D] in order from A, the vertex order of each face is [1, 2, 3], [1, 2, 4], [1, 3 , 4], [2, 3, 4]. + +[A, B, C, D], [[1, 2, 3], [1, 2, 4], [1, 3, 4], [2 , 3, 4]]] is called "surface data". VertexEdgeFace () draws a polyhedron using this surface data. + +There are two kinds of hidden line processing of polyhedron. The first method is to treat polyhedron as a line drawing, and to process only the hidden part, using Skeletonparadata (). + +The other is to use Phparadata () as a way to draw a part hidden in the surface with a dotted line or hide it, considering it as a surface. + +\vspace{\baselineskip} %------------Concatobj-------------------------------- \begin{cmd}{Concatobj}{concatobj} @@ -4250,90 +4425,269 @@ or\\ A tetrahedron by four vertecies A,B,C,D.\\ The tetrahedron consists of four planes $\triangle\mathrm{ABC}$, $\triangle\mathrm{ABD}$, $\triangle\mathrm{ACD}$, $\triangle\mathrm{BCD}$.\\ + +\verb| Putpoint3d("A",2*[0,0,sqrt(3)]); |\\ +\verb| Putpoint3d("B",2*[1,-1/sqrt(3),0]);|\\ +\verb| Putpoint3d("C",2*[0,sqrt(3)-1/sqrt(3),0]);|\\ +\verb| Putpoint3d("D",2*[-1,-1/sqrt(3),0]);|\\ +\verb| phd=Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]);|\\ +\verb| VertexEdgeFace("1",phd);|\\ +\verb| Skeletonparadata("1");|\\ +\verb| Letter3d([A3d,"ne","A",B3d,"sw","B",C3d,"se","C",D3d,"e","D"]);|\\ + \begin{center} \input{Fig/concatobj} \end{center} -\verb|Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]);|\\ -makes [[A,B,C,D],[[1,2,3],[1,2,4],[1,3,4],[2,3,4]]] -This data is used to drawing tetrahedron. -For example code, see \hyperlink{vertexedgeface}{VertexEdgeFace()}. + +If you are drawing tetrahedrons without creating geometric points, you can do as follows. + +\verb| a=2*[-1,-1/sqrt(3),0];|\\ +\verb| b=2*[1,-1/sqrt(3),0];|\\ +\verb| c=2*[0,sqrt(3)-1/sqrt(3),0];|\\ +\verb| d=2*[0,0,sqrt(3)];|\\ +\verb| phd=Concatobj([[a,b,c],[a,b,d],[a,c,d],[b,c,d]]);|\\ + +In the case of a convex polygon such as a tetrahedron, we can use CindyScript 's convexhull 3 d () function as follows. You can save time and effort by simply providing a vertex list instead of a surface list. + +\verb| a=2*[0,0,sqrt(3)];|\\ +\verb| b=2*[1,-1/sqrt(3),0];|\\ +\verb| c=2*[0,sqrt(3)-1/sqrt(3),0];|\\ +\verb| d=2*[-1,-1/sqrt(3),0];|\\ +\verb| phd=convexhull3d([a,b,c,d]);|\\ + \end{cmd} -%-------------Crvsfparadata------------------------------- -\begin{cmd}{Crvsfparadata}{crvsfparadata} -\itemket{Usage}Crvsfparadata(name,PD1,PD2,formula) -\itemket{Description}Remove curves hidden by curved face. -%\itemket{Details} +%-------------Vertexedgeface------------------------------- +\begin{cmd}{Vertexedgeface}{vertexedgeface} + +\itemket{Usage} VertexEdgeFace(name, list, options) +\itemket{Description}Generic function to draw the polyhedron. +\itemket{Details}We use the faces data of the polyhedron.\\ +The second argument is the list of vertexes list and the faces list.\\ +For example, the faces data of the tetrahedron is [[A,B,C,D],[[1,2,3],[1,2,4],[1,3,4],[2,3,4]]].\\ + +The generated data is as follows. + +phv3d: list of vertices + +phe3d: list of edges + +phf3d: Surface list + +Each name is appended to the end. + \itemket{Examples} \mbox{} -For example code, see \hyperlink{execcmdc}{ExeccmdC()}. +\verb| Putpoint3d("A",2*[-1,-1/sqrt(3),0]); |\\ +\verb| Putpoint3d("B",2*[1,-1/sqrt(3),0]); |\\ +\verb| Putpoint3d("C",2*[0,sqrt(3)-1/sqrt(3),0]); |\\ +\verb| Putpoint3d("D",2*[0,0,sqrt(3)]); |\\ +\verb| phd=[[A,B,C,D],[[1,2,3],[1,2,4],[1,3,4],[2,3,4]]];|\\ +\verb| VertexEdgeFace("1",phd); |\\ + //Three data lists are made, phv3d1:vertex, phe3d1:edge and phf3d1:face. + \begin{center} \input{Fig/vertex01} \end{center} \end{cmd} -%--------------Datalist2d------------------------------ - -\begin{cmd}{Datalist2d}{datalist2d} +%--------------Phparadata------------------------------ +\begin{cmd}{Phparadata}{phparadata} -\itemket{Usage}Datalist2d() -\itemket{Description} Generic function to get a list of 2D-plotting data on the screen. +\itemket{Usage}Phparadata(name, name2, list of options) +\itemket{Description}Generic function to draw the polyhedron by performing hidden line processing. +\itemket{Details}Make polyhedral plot data with VertexEdgeFace (). For this plot data, hidden surfaces (sides) are hidden-line processed and displayed. The second argument name2 is the same as the name given by VertexEdgeFace (). The hidden line type is specified by the option "Hidden = line type". Hidden lines are not displayed by default setting. \itemket{Examples} \mbox{} -We execute the following program then the computer will display "PD=[ax2d,AB2d]" on the console.\\ +\begin{layer}{150}{0} +\putnotese{100}{0}{ \input{Fig/phparadata04}} +\end{layer} -\verb| Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]"); |\\ -\verb| Putpoint3d(["A",[0,-3,0],"B",[0,3,3]]); |\\ -\verb| Spaceline("1",[A,B]); |\\ -\verb| println("PD="+Datalist2d());| +Draw a tetrahedron. + +\verb| Putpoint3d("A",2*[-1,-1/sqrt(3),0]);|\\ +\verb| Putpoint3d("B",2*[1,-1/sqrt(3),0]);|\\ +\verb| Putpoint3d("C",2*[0,sqrt(3)-1/sqrt(3),0]);|\\ +\verb| Putpoint3d("D",2*[0,0,sqrt(3)]);|\\ +\verb| phd=Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]);|\\ +\verb| VertexEdgeFace("1",phd);|\\ +\verb| Phparadata("1","1",["Hidden=do"]);|\\ + +A tetrahedron is drawn by VertexEdgeFace (), but it is hidden by Phparadata (). Since it is correctly output if it is drawn with the figure button, it is good to execute Phparadata () after confirming it by displaying it on the screen before executing Phparadata (). + +\vspace{\baselineskip} +Draw a truncated icosahedron of s06 (soccer ball type) using polyhedron data \verb|polyhedrons_obj| by Kobayashi, Suzuki, Mitani. +\verb|Setdirectory( Dirhead+"/data/polyhedrons_obj");| //Many polyhedron data exist in this directory.\\ +\verb|phd=Readobj("s06.obj",["size=3"]);| //"s06" is the name of truncated icosahedron data.\\ +\verb|Setdirectory(Dirwork);| //Chage work space.\\ +\verb|VertexEdgeFace("s06",phd);|\\ +\verb|Phparadata("1","s06");| //default usage, left figure\\ + +The last two lines we can write the following.\\ +\verb|VertexEdgeFace("1",phd);|\\ +\verb|Phparadata("1","1");| +\begin{center} + \includegraphics[bb=0 0 726.04 365.02 , width=10cm]{Fig/phparadata01.pdf} +\end{center} + +\verb|Phparadata("1","s06",["dr,2","Hidden=do"]);| //right figure + \begin{center} \input{Fig/phparadata02} \input{Fig/phparadata03} \end{center} \end{cmd} -%--------------Datalist3d------------------------------ -\begin{cmd}{Datalist3d}{datalist3d} +%--------------Nohiddenbyfaces------------------------------ +\begin{cmd}{Nohiddenbyfaces}{nohiddenbyfaces} -\itemket{Usage}Datalist3d() -\itemket{Details}Generic function to get a list of 3D-plotting data. +\itemket{Usage}Nohiddenbyfaces(name,PD1,PD2,option1,option2) +\itemket{Description}Generic function to draw hidden lines by the surfaces. +\itemket{Details}PD1 are hidden lines, PD2 are surfaces.\\ +If we omit PD1 then all lines are processing objects.\\ +By default, hidden lines are drawn with dotted lines.\\ +Option1=line type of PD2 and option2=line type of hidden lines.\\ +If we specify only option2 then option1 must be null list:[].\\ \itemket{Examples} \mbox{} -We execute the following program then the computer will display "PD=[ax3d,AB3d]" on the console.\\ +\begin{verbatim} +Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,4]"); +Putpoint3d("A",2*[-1,-1/sqrt(3),0]); +Putpoint3d("B",2*[1,-1/sqrt(3),0]); +Putpoint3d("C",2*[0,sqrt(3)-1/sqrt(3),0]); +Putpoint3d("D",2*[0,0,2*sqrt(6)/3]); +phd=Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]); +VertexEdgeFace("1",phd); +Nohiddenbyfaces("1","phf3d1"); +\end{verbatim} +(left figure) -\verb| Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]"); |\\ -\verb| Putpoint3d(["A",[0,-3,0],"B",[0,3,3]]); |\\ -\verb| Spaceline("1",[A,B]); |\\ -\verb| println("PD="+Datalist3d()); | +\verb|Nohiddenbyfaces("1","phe3d1","phf3d1",["dr,2"],["da"]); | +(right figure) + +\begin{center} \input{Fig/nohiddenbyfaces1} \input{Fig/nohiddenbyfaces2} \end{center} + +We draw hidden axes with broken line in the following example.\\ +\verb|Nohiddenbyfaces("1","ax3d","phf3d1",[],["da"]);| \end{cmd} -%--------------Dist3d------------------------------ +%================== 3D Surface =============== +\subsubsection{Surface} -\begin{cmd}{Dist3d}{dist3d} +There are wire frame models and surface models for drawing curved surfaces. The wire frame model represents a curved surface with stitches, and the surface model draws its contour as a stitch-free surface. -\itemket{Usage}Dist3d(a1,a2) -\itemket{Description}Generic function to get the 3D-distance of two points. +In KeTCindy, each drawing is done using the following function. +\begin{tabbing} +1234567890123456789012345678901234567890\=\kill +Wire frame model without hidden wire \>Sf3data(name,form,options)\\ +Surface model\>Sfbdparadata(name,form,options)\\ +Hidden-line wireframe model \>Wireparadata(name,PD,form,n1,n2,options) +\end{tabbing} + +However, in order to do hidden line processing, surface data is necessary, so after drawing with Sfbdparadata (), draw hidden lines with ireparadata (). + +Also, in the drawing of the surface model, it takes time to process the hidden line, so it is assumed to use the C language. Therefore, ExeccmdC () which draws using C language is used together. + + \begin{center} \input{Fig/surfacemodel} \end{center} + +The form of the argument is an equation and a list of character strings for the domain of the variable. There are three patterns of equations as follows. + +\vspace{\baselineskip} +(1) $z=f(x,y)$ + + \hspace{5mm} 【Example】formula : $z=x^2-y^2$ + + \hspace{15mm} range : $x=(-2,2) , y=(-2,2)$ + +(2) $z=f(x,y),x=g(r,t),y=h(r,t)$ + + \hspace{5mm} 【Example】formula : $z=4-(x^2+y^2) , x=r\cos t , y=r\sin t$ + +\hspace{15mm} range : $r=(0,2) , t=(0,2\pi)$ + +(3) $x=f(u,v),y=g(u,v),z=h(u,v),$ + +\hspace{5mm} 【Example】formula : $x=2\sin u \cos v , y=2\sin u \sin v , z=2\cos u $ + +\hspace{15mm} range : $u=(0,\pi) , v=(0,2\pi)$ + +\vspace{\baselineskip} + +Here, (2) and (3) are parametric types, each consisting of expressions of $ x, y, z $ and two domain of parametric variables. Since it is indistinguishable as it is, when giving it as an argument, "p" is added to the type of (3) as the identification character at the beginning. + +Regarding the domain of definition, there are cases where it is taken in the open section and in the closed section. The distinction is indicated by "ewsn" as boundary designation (both are closed segments). I think the meaning of "ewsn" as follows. + +\vspace{\baselineskip} +For variable $u,v$ , $a \leq u \leq b,c \leq v \leq d$ + + \begin{center} \input{Fig/ewsn} \end{center} + +This boundary designation is added at the end, but it can be omitted, and if omitted, it is the initial value "ewsn" (closed interval). + +To make both open segments, add "". However, do not perform hidden line processing +Sf3data () draws a line also on the boundary, so you can omit this specification. + +\vspace{\baselineskip} +\verb|fd=["p","x=r*cos(t)","y=r*sin(t)","z=2*(2-r)","r=[1,2]","t=[0,2*pi]","ew"]| + +\vspace{\baselineskip} +If this is "e", $ 1 <r \leq 2 $ is obtained, and the top face is not displayed. + +Also, if this is set to "w", $ 1 \leq r <2 $ and the bottom is not displayed. + +Furthermore, if you specify "ewn" or "ews" or abbreviate the initial value "ewsn", it will contain either the left or right value of $ t = (0, 2 \ pi) $, A border appears. + +\vspace{\baselineskip} +\hspace{12mm}"ew" \hspace{25mm}"e" \hspace{25mm}"w" \hspace{25mm}"ewn" + +\input{Fig/frustumew} \input{Fig/frustume} \input{Fig/frustumw} \input{Fig/frustumewn} + +%--------------Sf3data------------------------------ +\begin{cmd}{Sf3data}{sf3data} + +\itemket{Usage}Sf3data(name, list, list of options) +\itemket{Description}Generic function to draw the wire frame model of the surface. +\itemket{Details}Second argument is the list of equations and ranges. \\ +Options are the followings.\\ +"Num=[a,b]": x- and y-division number, default(or initial values) are a=b=25.\\ +"Wire=[a,b]": x- and y-wire number, default(or initial values) are a=b=20.\\ +"ewsn": From east to south, this indicates the boundary. \itemket{Examples} \mbox{} -Following three programs return the same result.\\ +\verb|Sf3data("1",["z=x^2-y^2","x=[-2,2]","y=[-2,2]"]);|\\ +\ \ //This is the first expression of the equation for the surface. Second argument is the list of equation, x-range and y-range. +\begin{center} \input{Fig/saddle1} \end{center} -\verb| Dist3d("A","B"); |\\ -\verb| Dist3d(A,B); |\\ -\verb| Dist3d(A3d,B3d); | +\verb|fd=["z=4-(x^2+y^2)","x=R*cos(T)","y=R*sin(T)","R=[0,2]","T=[0,2*pi]"];|\\ +\verb|Sf3data("1",fd);| //fd is the second argument.\\ +(left figure)\\ + +\verb|fd=["z=sin(sqrt(abs(x^2+y^2)))","x=r*cos(t)","y=r*sin(t)",|\\ +\verb|"r=[0,3]","t=[0,2*pi]"];|\\ +\verb|Sf3data("1",fd);|\\ +(right figure) +\begin{center} \input{Fig/parabola} \input{Fig/sf3ddata3} \end{center} + +\verb|fd=["p","x=2*sin(u)*cos(v)","y=2*sin(u)*sin(v)","z=2*cos(u)",|\\ +\verb|"u=[0,pi]","v=[0,2*pi]"];| //"p" indicates the 3D-parameter expression.\\ +\verb|Sf3data("1",fd);| +\begin{center} \input{Fig/sf3ddata4} \end{center} \end{cmd} -%--------------Drawpoint3d------------------------------ -\begin{cmd}{Drawpoint3d}{drawpoint3d} +%-------------Sfbdparadata------------------------------- +\begin{cmd}{Sfbdparadata}{sfbdparadata} -\itemket{Usage}Drawpoint3d(list of coordinates) -\itemket{Description}Generic function to draw 3D-points. -\itemket{Details}These points are not geometric point. -To convert the geometric point, use \hyperlink{putpoint3d}{Putpoint3d()}. -To output in the \TeX file, use \hyperlink{pointdata}{Pointdata()} or \hyperlink{drwpt}{Drawpoint()}. -\itemket{Examples} \mbox{} +\itemket{Usage}Sfbdparadata(name, list, list of options) +\itemket{Description}Generic function to make the surface by performing hidden line processing. +\itemket{Details}Second argument is the list of equations and ranges same as the function "Sf3data". \\ +options1=no option or " "(space) or "r" or "m" and "Wait=integer". Default value of Wait is 20.\\ +No option or " "(space) means\\ +(1) If there exist no deta then it make a new data file.\\ +(2) If there exist deta then it read the data file.\\ +"m" means that it remake the new data file.\\ +"r" means that it reread the existing data file.\\ -\verb| Drawpoint3d([1,1,1]); |\\ -\verb| Drawpoint3d([[1,1,1],[0,1,0]]); | +option2="nodisp" or line type of hidden line. Default is "nodisp". -\itemket{Remark} \hyperlink{mkpttable}{Comparative chart of drawing of points} +If we specify only option2 then we denote that option1 is empty list:[]. \end{cmd} -%--------------ExeccmdC------------------------------ +%--------------ExeccmdC------------------------------ \begin{cmd}{ExeccmdC}{execcmdc} \itemket{Usage}ExeccmdC(name,options1,options2) @@ -4350,6 +4704,146 @@ option2="nodisp" or line type of hidden line. Default is "do".\\ If we specify only option2 then we denote that option1 is empty list:[]. \itemket{Examples} \mbox{} +\begin{layer}{150}{0} +\putnotese{95}{0}{ \input{Fig/sfbdpara01}} +\putnotese{95}{45}{ \input{Fig/sfbdpara02}} +\end{layer} + +Delete hidden lines and display + +\verb| fd=["z=x^2-y^2","x=[-2,2]","y=[-2,2]"];|\\ +\verb| if(Isangle(),|\\ +\verb| Sf3data("1",fd);|\\ +\verb| ,|\\ +\verb| Startsurf();|\\ +\verb| Sfbdparadata("1",fd);|\\ +\verb| ExeccmdC("1",[],["nodisp"]);|\\ +\verb| );|\\ + +Make the whole thick with a solid line and + + display the hidden line with a dotted line. + +\verb| ExeccmdC("1",["dr,2"]);| + +\vspace{10mm} + +Paraboloid + +\verb| fd=["z=4-(x^2+y^2)","x=R*cos(T)","y=R*sin(T)","R=[0,2]","T=[0,2*pi]","e"];|\\ + +Delete hidden line ( left figure):\verb|ExeccmdC("1",[],["nodisp"]);| + +Hidden lines are indicated by broken lines ( right figure ):\verb|ExeccmdC("1",[],["da"]);| + + \begin{center} \input{Fig/sfbdpara03} \input{Fig/sfbdpara04} \end{center} + +When displaying two curved surfaces, name of Sfbdparadata () is set to "1" and "2", but it can be displayed together as \verb | ExeccmdC ("1") |. + +\verb| fd=[|\\ +\verb| "p",|\\ +\verb| "x=r*cos(t)","y=r*sin(t)","z=2*(2-r)",|\\ +\verb| "r=[1,2]","t=[0,2*pi]","ew"|\\ +\verb| ];|\\ +\verb| fd2=[|\\ +\verb| "p",|\\ +\verb| "x=r*cos(t)-3","y=r*sin(t)+3","z=2*(2-r)",|\\ +\verb| "r=[0,2]","t=[0,2*pi]","ew"|\\ +\verb| ];|\\ +\verb| if(!ptselected(),|\\ +\verb| Startsurf(); |\\ +\verb| Sfbdparadata("1",fd);|\\ +\verb| Sfbdparadata("2",fd2);|\\ +\verb| ExeccmdC("1");|\\ +\verb| );|\\ + +\begin{center} \input{Fig/sfbdpara05} \end{center} + +\end{cmd} +%-------------Wireparadata------------------------------- +\begin{cmd}{Wireparadata}{wireparadata} + +\itemket{Usage} Wireparadata(name, PD, formula, integer, integer, options) +\itemket{Description}Generic function to draw the surface by wire frame data with performing hidden line processing. +\itemket{Details}The second argument PD is the surface data made by Sfbdparadata function.\\ +options=no option or " "(space) or "r" or "m" and "Wait=integer". Default value of Wait is 30.\\ +No option or " "(space) means\\ +(1) If there exist no deta then it make a new data file.\\ +(2) If there exist deta then it read the data file.\\ +"m" means that it remake the new data file.\\ +"r" means that it reread the existing data file.\\ + +\itemket{Examples} \mbox{} + +\verb|fd=["z=x^2-y^2","x=[-2,2]","y=[-2,2]"]; |\\ +\verb|if(Isangle(), |\\ +\verb| Sf3data("1",fd); |\\ +\verb| , |\\ +\verb| Startsurf(); |\\ +\verb| Sfbdparadata("1",fd); | //We get the data named as "sfbd3d1".\\ +\verb| Wireparadata("1","sfbd3d1",fd,4,5,[""]); | //number of wires are 4 and 5.\\ +\verb| ExeccmdC("1"); | //draw the wires\\ +\verb|); | + +\begin{center} +\input{Fig/wirepara1} +\end{center} + +Change the following code. + +\verb|fd=["z=4-(x^2+y^2)","x=r*cos(t)","y=r*sin(t)","r=[0,2]","t=[0,2*pi]","e"];|\\ +\verb|Wireparadata("1","sfbd3d1",fd,5,7,[""]);| + +\begin{center} +\input{Fig/wirepara2} +\end{center} + +\verb|fd=["p","x=2*sin(u)*cos(v)","y=2*sin(u)*sin(v)","z=2*cos(u)","u=[0,pi]", |\\ +\verb| "v=[0,2*pi]","s"]; |\\ +\verb|Wireparadata("1","sfbd3d1",fd,12,12,[""]); | + +\begin{center} +\input{Fig/wirepara3} +\end{center} + +\begin{layer}{150}{0} +\putnotese{90}{15}{ \input{Fig/wirepara4}} +\end{layer} + +\verb|fd=["p","x=2*sin(u)*cos(v)","y=2*sin(u)*sin(v)","z=2*cos(u)","u=[0,pi]",|\\ +\verb| "v=[0,2*pi]","s"];|\\ +\verb|if(Isangle(),|\\ +\verb| Sf3data("1",fd);|\\ +\verb| ,|\\ +\verb| Startsurf();|\\ +\verb| Sfbdparadata("1",fd);|\\ +\verb| Wireparadata("1","sfbd3d1",fd,12,12,[""]);|\\ +\verb| Crvsfparadata("1","ax3d","sfbd3d1",fd);|\\ +\verb| ret=ExeccmdC("1");|\\ +\verb| forall(1..length(ret),|\\ +\verb| if(indexof(ret_#,"wireh")>0,|\\ +\verb| Changestyle3d([ret_#],["nodisp"]);|\\ +\verb| );|\\ +\verb| );|\\ +\verb|);| + +\vspace{\baselineskip} +\verb|fd=["p","x=(2+cos(u))*cos(v)","y=(2+cos(u))*sin(v)","z=sin(u)",|\\ +\verb| "u=[0,2*pi]","v=[0,2*pi]","s"];|\\ +\verb|Sfbdparadata("1",fd);|\\ +\verb|Wireparadata("1","sfbd3d1",fd,12,12,[""]); | + +\begin{center} \input{Fig/wirepara5} \end{center} + +\end{cmd} +%-------------Crvsfparadata------------------------------- + +\begin{cmd}{Crvsfparadata}{crvsfparadata} +\itemket{Usage}Crvsfparadata(name,PD1,PD2,formula) +\itemket{Description}Remove curves hidden by curved face. +%\itemket{Details} +\itemket{Examples} \mbox{} + left figure \verb| Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]"); |\\ @@ -4376,64 +4870,65 @@ The same as the return value is displayed as "readoutdata from template3D1.txt:" \hspace{20mm} \input{Fig/execcmdc1} -In addition, please refer to the next. \hyperlink{sfbdparadata}{Sfbdparadata()},\hyperlink{wireparadata}{Wireparadata()} +\end{cmd} + +%================== 3D Using Plot data =============== +\subsection{Using Plot data} + +%--------------Datalist2d------------------------------ + +\begin{cmd}{Datalist2d}{datalist2d} + +\itemket{Usage}Datalist2d() +\itemket{Description} Generic function to get a list of 2D-plotting data on the screen. +\itemket{Examples} \mbox{} + +We execute the following program then the computer will display "PD=[ax2d,AB2d]" on the console.\\ + +\verb| Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]"); |\\ +\verb| Putpoint3d(["A",[0,-3,0],"B",[0,3,3]]); |\\ +\verb| Spaceline("1",[A,B]); |\\ +\verb| println("PD="+Datalist2d());| \end{cmd} -%--------------Embed------------------------------ +%--------------Datalist3d------------------------------ -\begin{cmd}{Embed}{embed} -\itemket{Usage}Embed(name,PDlist,formula,varlist) -\itemket{Description}Embed plotting data of 2D in plane of 3D. -\itemket{Details}PDlist is list of plotting data of 2D. Plane of 3D is given by formula and varlist. +\begin{cmd}{Datalist3d}{datalist3d} + +\itemket{Usage}Datalist3d() +\itemket{Details}Generic function to get a list of 3D-plotting data. \itemket{Examples} \mbox{} -Embed an equilateral triangle and its circumscribed circle in a plane in 3D space. +We execute the following program then the computer will display "PD=[ax3d,AB3d]" on the console.\\ -(1) \verb|vo|, \verb|vx|, \verb|vy| are defined with function {\tt \hyperlink{defvar}{Defvar}} that uses R.\\ -\verb|Xyzax3data("","x=[-5,4]","y=[-10,4]","z=[-5,5]",["a","O"]);|\\ -\verb|Spaceline("1",[[3,0,0],[3,6,0],[3,6,6],[3,0,6],[3,0,0]]);|\\ -\verb|Defvar("vo=[3,3,3]");| // Defined in R\\ -\verb|Defvar("vx=[0,1,0]");| // Defined in R\\ -\verb|Defvar("vy=[0,0,1]");| // Defined in R\\ -\verb|Putpoint3d(["A",[3,3,3]]);|\\ -\verb|Circledata("1",[[0,0],[2,0]],["nodisp"]);|\\ -\verb|Listplot("1",[[0,2],[-sqrt(3),-1],[sqrt(3),-1],[0,2]],["nodisp"]);|\\ -\verb|Embed("1",["cr1","sg1"],"vo+x*vx+y*vy","[x,y]");|\\ -\verb|Ptsize(3);|\\ -\verb|Drawpoint(A);| +\verb| Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]"); |\\ +\verb| Putpoint3d(["A",[0,-3,0],"B",[0,3,3]]); |\\ +\verb| Spaceline("1",[A,B]); |\\ +\verb| println("PD="+Datalist3d()); | -Following view is as \verb|TH|=75,\verb|FI|=70. - \begin{center} \input{Fig/embed01} \end{center} +\end{cmd} -(2) A, B, and C are defined instead of vo, vx, vy defined by Defvar. But, in this case, points B and C are not drawn in the plane. So, the figure may be difficult to understand.\\ -\verb|Putpoint3d(["A",[3,3,3],"B",[0,1,0],"C",[0,0,1]]);|\\ -\verb|Embed("1",["cr1","sg1"],"A3d+x*B3d+y*C3d","[x,y]");|\\ -\begin{center} -\includegraphics[bb=0.00 0.00 477.02 383.02,width=8cm]{Fig/embed03.pdf} -\end{center} -To draw the B and C on the embedded figure, code changes as follows. -\verb|Putpoint3d(["A",[3,3,3],"B",[3,4,3],"C",[3,3,4]]);|\\ -\verb|Embed("1",["cr1","sg1"],"A3d+x*B3d+y*C3d","[x,y]");|\\ +%----------Changestyle3d---------------------------------- -(3) The function {\tt \hyperlink{perpplane}{Perpplane}} is used in next.\\ -\verb|Xyzax3data("","x=[-5,5]","y=[-8,5]","z=[-5,5]");|\\ -\verb|Putpoint3d(["O",[0,0,0],"P",[1,1,2]]);|\\ -\verb|Perpplane("E-F","P",P3d-O3d,"put");|\\ -\verb|vec1=3*(E3d-P3d);|\\ -\verb|vec2=3*(F3d-P3d);|\\ -\verb|Putpoint3d(["A",P3d+vec1+vec2]);|\\ -\verb|Putpoint3d(["B",P3d+vec1-vec2]);|\\ -\verb|Putpoint3d(["C",P3d-vec1-vec2]);|\\ -\verb|Putpoint3d(["D",P3d-vec1+vec2]);|\\ -\verb|Spaceline("1",[A,B,C,D,A]);|\\ -\verb|Circledata("1",[[0,0],[2,0]],["nodisp"]);|\\ -\verb|Listplot("1",[[0,2],[-sqrt(3),-1],[sqrt(3),-1],[0,2]],["nodisp"]);|\\ -\verb|Embed("1",["cr1","sg1"],"P3d+x*(E3d-P3d)+y*(F3d-P3d)","[x,y]");|\\ -\verb|Ptsize(3);|\\ -\verb|Drawpoint(P);|\\ -\verb|Skeletonparadata("1");| - \begin{center} \input{Fig/embed02} \end{center} +\begin{cmd}{Changestyle3d}{changestyle3d} +\itemket{Usage} Changestyle3d(PD,option) +\itemket{Description}Change the attribute of PD. +\itemket{Details}Change the attribute of PD to one with option specification. PD is a plotting data or a list of plotting data. +\itemket{Examples} \mbox{} + +Make a tetrahedron by four points of space.\\ +\verb|Spaceline("1",[A,B]);|\\ +\verb|Spaceline("2",[A,C]);|\\ +\verb|Spaceline("3",[B,C]);|\\ +\verb|Spaceline("4",[A,D]);|\\ +\verb|Spaceline("5",[B,D]);|\\ +\verb|Spaceline("6",[C,D]);|\\ +then\\ +\verb|Changestyle3d("sl3d1",["dr,3"]);| // one edge become thick.\\ +or\\ +\verb|edges=apply(1..6,"sl3d"+text(#));|\\ +\verb|Changestyle3d(edges,["notex"]);| // all edges become ``notex".\\ \end{cmd} %------------Intersectcrvsf-------------------------------- @@ -4467,14 +4962,65 @@ To draw the B and C on the embedded figure, code changes as follows. \begin{cmd}{IntersectsgpL}{intersectsgpL} \itemket{Usage}IntersectsgpL(name,segment,plane,option) \itemket{Description}Returns a intersection of a line segment and plane. -\itemket{Details}Specify a line segment with two endpoints. Specify the plane as three points that it contains. Options are ``put" or ``draw", and if omitted select ``draw".\\ +\itemket{Details}Specify a line segment with two endpoints. Specify the plane as three points that it contains. Options are "put" or "I" or "e" .\\ + +\hspace{10mm} put : Create geometric points + +\hspace{10mm} i : Draw a point if it is within a line segment + +\hspace{10mm} e : Draw a point if you meet on the plane + +\vspace{\baselineskip} Following two programs return the same result.\\ \verb| IntersectsgpL("P","A-B","C-D-E"); |\\ \verb| IntersectsgpL("P",[A3d,B3d],[C3d,D3d,E3d]); | +\vspace{\baselineskip} +Return value is [pt,flag1,flag2,val1,val2] + +pt : The coordinates of the intersection of the straight line and the plane. If the straight line and the plane are parallel and the intersection does not exist, the empty list []. + +flag1 : True if the intersection is within the line segment, false otherwise + +flag2 : True if intersection is in plane, false otherwise + +val1,val2 :Parameter values for line segments, parameter values for planes + % \verb|IntersectsgpL("P",[p1,p2],[p3,p4,p5],"draw");| \itemket{Examples} \mbox{} +Presence or absence of intersection and return value. + +The return value of \verb | flag 1, flag 2 | when changing \verb | p2 | with the following script + +\verb| p1=[1,-1,0];|\\ +\verb| p2=[0,0,1/2];|\\ +\verb| p3=[0,1,0];|\\ +\verb| p4=[-1,0,0];|\\ +\verb| p5=[0,0,1];|\\ +\verb| Spaceline("1",[p1,p2]);|\\ +\verb| Spaceline("2",[p3,p4,p5,p3]);|\\ +\verb| ret=IntersectsgpL("P",[p1,p2],[p3,p4,p5],"put");|\\ +\verb| println("flag1="+ret_2+": flag2="+ret_3);|\\ + +\begin{layer}{150}{0} +\putnotese{10}{20}{ \input{Fig/wire01}} +\putnotese{80}{20}{ \input{Fig/wire02}} +\end{layer} + +\verb| p2=[0,0,1/2]; p2=[-1,1,1];|\\ +\verb| flag1=false : flag2=true flag1=true : flag2=true |\\ + +\vspace{40mm} +\begin{layer}{150}{0} +\putnotese{10}{10}{ \input{Fig/wire03}} +\putnotese{80}{10}{ \input{Fig/wire04}} +\end{layer} +\verb| p2=[1,2,1]; p2=[1,0,1/2];|\\ +\verb| flag1=true : flag2=false flag1=false : flag2=false |\\ + +\vspace{30mm} + cutcube \verb| Hn=3; |\\ @@ -4505,146 +5051,28 @@ add next script (right figure) \begin{center} \input{Fig/IntersectsgpL1} \input{Fig/IntersectsgpL2} \end{center} \end{cmd} -%-------------Invparapt------------------------------- - -\begin{cmd}{Invparapt}{invparapt} -\itemket{Usage}Invparapt(coordinate,PD) -\itemket{Description}Returns the point on the curve that is corresponding to the coordinates on the Euclidean view. -\itemket{Details}Returns the 3D-coordinates of the point on the curve(\verb|PD|) from the \verb|coordinate| on the Euclidean view. -\itemket{Examples} \mbox{} - -Find on the screen (not in the space) intersection points (\verb|tmp_1|, \verb|tmp_2|, $\dots$) of the spiral curve and the space line. Draw a part of the spiral whose end points (\verb|p1| and \verb|p2|) are selected from the intersection points.\\ -\verb| Spaceline("1",[[-1,-1,-1],[1,2,3]]); |\\ -\verb| Spacecurve("1","[2*cos(t),2*sin(t),0.2*t]","t=[0,4*pi]",["do"]);|\\ -\verb| tmp=Intersectcrvs("sl2d1","sc2d1");|\\ -\verb| p1=Invparapt(tmp_1,"sc3d1");|\\ -\verb| p2=Invparapt(tmp_2,"sc3d1");|\\ -\verb| Partcrv3d("1",p1,p2,"sc3d1"); |\\ -\begin{center} \input{Fig/invparapt} \end{center} -\end{cmd} - -%---------Mkbezierptcrv3d----------------------------------- -\begin{cmd}{Mkbezierptcrv3d}{mkbezierptcrv3d} -\itemket{Usage}Mkbezierptcrv3d(list) -\itemket{Description}Draw a cubic B\'ezier curve from nodes. -\itemket{Details}Arrange the control points automatically. -After that, move the nodes and the control points and correct the cubic B\'ezier curve to what you want to draw. See the function {\tt \hyperlink{bezier}{Bezier3d}}. -\itemket{Examples} \mbox{} - -\verb|Mkbezierptcrv3d(["A","B","C","D"]);| -\end{cmd} - -%--------------Nohiddenbyfaces------------------------------ -\begin{cmd}{Nohiddenbyfaces}{nohiddenbyfaces} - -\itemket{Usage}Nohiddenbyfaces(name,PD1,PD2,option1,option2) -\itemket{Description}Generic function to draw hidden lines by the surfaces. -\itemket{Details}PD1 are hidden lines, PD2 are surfaces.\\ -If we omit PD1 then all lines are processing objects.\\ -By default, hidden lines are drawn with dotted lines.\\ -Option1=line type of PD2 and option2=line type of hidden lines.\\ -If we specify only option2 then option1 must be null list:[].\\ -\itemket{Examples} \mbox{} - -\begin{verbatim} -Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,4]"); -Putpoint3d("A",2*[-1,-1/sqrt(3),0]); -Putpoint3d("B",2*[1,-1/sqrt(3),0]); -Putpoint3d("C",2*[0,sqrt(3)-1/sqrt(3),0]); -Putpoint3d("D",2*[0,0,2*sqrt(6)/3]); -phd=Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]); -VertexEdgeFace("1",phd); -Nohiddenbyfaces("1","phf3d1"); -\end{verbatim} -(left figure) - -\verb|Nohiddenbyfaces("1","phe3d1","phf3d1",["dr,2"],["da"]); | -(right figure) - -\begin{center} \input{Fig/nohiddenbyfaces1} \input{Fig/nohiddenbyfaces2} \end{center} - -We draw hidden axes with broken line in the following example.\\ -\verb|Nohiddenbyfaces("1","ax3d","phf3d1",[],["da"]);| - -\end{cmd} -%-------------Parapt------------------------------- -\begin{cmd}{Parapt}{parapt(coordinate)} - -\itemket{Usage}Parapt(3D-coordinate) -\itemket{Description}Generic function to return the 2D-coordinate on the plane of projection for the 3D-point. -\itemket{Examples} \mbox{} +%-------------Sfcutparadatacdy------------------------------- -\verb|println(Parapt([2,1,5]));| -\end{cmd} -%--------------Perpplane------------------------------ -\begin{cmd}{Perpplane}{perpplane} - -\itemket{Usage}Perpplane(name, point, vector, option) -\itemket{Description}Generic function to return the two points on the plane which is passing through the point and orthogonal to the vector. -\itemket{Details}The name is the two points name such as the form "A-B".\\ -Point is the name or the coordinate of the point through which the plane is passing.\\ -The vector is the normal of the plane.\\ -If option is "put" then the function draw two geometric points. +\begin{cmd}{Sfcutparadatacdy}{sfcutparadatacdy} +\itemket{Usage}Sfcutparadatacdy(name,string,list,options) +\itemket{Description}Obtain a line of intersection between a plane and a curved surface. +\itemket{Details}string is equation of plane, list is equation of a surface. \itemket{Examples} \mbox{} +Cross section of cone. -Return the points A,B on the plane which is passing through the point P and orthogonal to the vector [1,1,1]\\. -\verb|Perpplane("A-B","P",[1,1,1],"put");|\\ - -Return the points A,B on the plane which is passing through the point P and orthogonal to the line segment OP. In this situation PA and PB is orthogonal and length of PA and PB are 1.\\. -\verb|Perpplane("A-B","P",P3d-O3d);|\\ - -Draw point A,B,C,D by draw tool of Cinderella. - -\begin{layer}{120}{0} -\putnotese{100}{20}{ \input{Fig/perpplane}} +\vspace{\baselineskip} +\begin{layer}{150}{0} +\putnotese{70}{0}{\input{Fig/sfcut}} \end{layer} - -\verb| Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,4]"); |\\ -\verb| Putpoint3d(["O",[0,0,0]]); |\\ -\verb| Putpoint3d(["P",[1,1,1]]); |\\ -\verb| Perpplane("E-F","P",P3d-O3d,"put"); |\\ -\verb| vec1=2*(E3d-P3d); |\\ -\verb| vec2=2*(F3d-P3d); |\\ -\verb| Putpoint3d(["A",P3d+vec1+vec2]); |\\ -\verb| Putpoint3d(["B",P3d+vec1-vec2]); |\\ -\verb| Putpoint3d(["C",P3d-vec1-vec2]); |\\ -\verb| Putpoint3d(["D",P3d-vec1+vec2]); |\\ -\verb| Spaceline("1",[A,B,C,D,A]); |\\ -\verb| Arrowdata([O,P],["dr,2"]); |\\ -\verb| Letter([P,"w","P",A,"ne","A",B,"e","B",C,"ws","C",D,"nw","D",]); |\\ -\verb| Skeletonparadata("1"); |\\ - -\end{cmd} -%-------------Perppt------------------------------- -\begin{cmd}{Perppt}{perppt} - -\itemket{Usage}Perppt(name, point, list of points, option) -\itemket{Description}Generic function to get the foot of a perpendicular for the plane from the point. -\itemket{Details}We specify the plane by the list of points.\\ -Option is the following.\\ -"draw": draw the point, don't make the geometric point(default).\\ -"put" : make the geometric point.\\ -"none": only make the data and don't draw. -\itemket{Examples} \mbox{} - -We get the coordinate of the point H in the variable H3d for the following examples.\\ -\verb|Perppt("H","O","A-B-C","none");|\\ -\verb|Perppt("H","O","A-B-C");|\\ -\verb|Perppt("H","O","A-B-C","put");|\\ - -Example - -\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,4]"); |\\ -\verb|Putpoint3d("O",[0,0,0]); |\\ -\verb|Putpoint3d("A",[3,0,0]); |\\ -\verb|Putpoint3d("B",[0,3,0]); |\\ -\verb|Putpoint3d("C",[0,0,3]); |\\ -\verb|Perppt("H","O","A-B-C","put"); |\\ -\verb|Spaceline("1",[A,B,C,A]); |\\ -\verb|Spaceline("2",[O,H]); |\\ -\verb|Letter([A,"nw","A",B,"ne","B",C,"ne","C",O,"nw","O",H,"ne","H"]); |\\ - -\begin{center} \input{Fig/perppt} \end{center} +\verb|fd=[|\\ +\verb| "p",|\\ +\verb| "x=r*cos(t)","y=r*sin(t)","z=2*(2-r)",|\\ +\verb| "r=[0,2]","t=[0,2*pi]","e"|\\ +\verb|];|\\ +\verb|Startsurf(); |\\ +\verb|Sfbdparadata("1",fd);|\\ +\verb|Sfcutparadatacdy("1","y+2*z=3",fd);|\\ +\verb|ExeccmdC("1");|\\ \end{cmd} %--------------Partcrv3d------------------------------ @@ -4669,130 +5097,6 @@ Example \end{cmd} -%--------------Phparadata------------------------------ -\begin{cmd}{Phparadata}{phparadata} - -\itemket{Usage}Phparadata(name, name2, list of options) -\itemket{Description}Generic function to draw the polyhedron by performing hidden line processing. -\itemket{Details}Name2 is the plotting data of polyhedron which we get form the function VertexEdgeFace(). -\itemket{Examples} \mbox{} - -\verb|Setdirectory( Dirhead+"/data/polyhedrons_obj");| //Many polyhedron data exist in this directory.\\ -\verb|phd=Readobj("s06.obj",["size=3"]);| //"s06" is the name of truncated icosahedron data.\\ -\verb|Setdirectory(Dirwork);| //Chage work space.\\ -\verb|VertexEdgeFace("s06",phd);|\\ -\verb|Phparadata("1","s06");| //default usage, left figure\\ - -The last two lines we can write the following.\\ -\verb|VertexEdgeFace("1",phd);|\\ -\verb|Phparadata("1","1");| -\begin{center} - \includegraphics[bb=0 0 1452 730 , width=10cm]{Fig/phparadata01.pdf} -\end{center} - -\verb|Phparadata("1","s06",["dr,2","Hidden=do"]);| //right figure - \begin{center} \input{Fig/phparadata02} \input{Fig/phparadata03} \end{center} -\end{cmd} - -%--------------Phparadata------------------------------ -\begin{cmd}{Pointdata3d}{pointdata3d} - -\itemket{Usage}Pointdata3d(name, point list, options) -\itemket{Description}Generic function to generate data of the point list. -\itemket{Details}Options are "Size=","Color=". -\itemket{Examples} \verb|Pointdata3d("1",[[0,1,0],[1,1,2]],["Size=2","Color=red"]);| -\end{cmd} - -%---------------Projcoordpara----------------------------- -\begin{cmd}{Projcoordpara}{projcoordpara} - -\itemket{Usage}Projcoordpara(3D-coordinate) -\itemket{Description}Generic function to get the projection coordinate on the Euclidean view coordinate system. -\itemket{Examples} \mbox{} - -\verb|println(Projcoordpara([3,1,2]));| //printed value is such as [-0.65, 1.7, 3.27] where the third element means the (signed) distance from the projection plane. -\end{cmd} -%-----------------Putaxes3d--------------------------- -\begin{cmd}{Putaxes3d}{putaxes3d} - -\itemket{Usage}Putaxes3d([x,y,z]) -\itemket{Description}Generic function to make the geometric points on the coordinate axis. -\itemket{Details}For the argument [x,y,x] we get the four geometric points X(x,0,0), Y(0,y,0), Z(0,0,z) and O(0,0,0). -\itemket{Examples} \mbox{} - -\verb|Putaxes3d([1,2,3]);|\\ -\verb|Putaxes3d(a);| //this equals to \verb|Putaxes3d([a,a,a]);| - -\end{cmd} -%--------------PutonCurve3d------------------------------ -\begin{cmd}{PutonCurve3d}{putonCurve3d} - -\itemket{Usage} PutonCurve3d(name, PD) -\itemket{Description}Generic function to make the geometric point on the 3D-curve. -\itemket{Details}This point moves along the curve by mouse dragging. -\itemket{Examples} \mbox{} - -Make reference to \hyperlink{partcrv3d}{Partcrv3d()} -\end{cmd} -%----------------Putonseg3d---------------------------- -\begin{cmd}{Putonseg3d}{putonseg3d} - -\itemket{Usage}Putonseg3d(name, point1, point2) -\itemket{Description}Generic function to make the geometric point on the 3D-segment. -\itemket{Details}We get the middle point between the two points. This point moves along the segment by mouse dragging. -\itemket{Examples} \mbox{} - -\verb|Putonseg3d("C",A,B);| //Put C on the center of A and B.\\ -\verb|Putonseg3d("C",[A,B]);| //same as above -\end{cmd} -%---------------Putpoint3d----------------------------- -\begin{cmd}{Putpoint3d}{putpoint3d} - -\itemket{Usage}Putpoint3d(list of 3D-points, option) -\itemket{Description}Generic function to draw the geometric point in the space. -\itemket{Details}Option is "free" or "fix"(default). -\itemket{Examples} \mbox{} - -\verb|Putpoint3d(["A",[2,1,3]]);|\\ -\verb|Putpoint3d(["A",[2,1,3]],"free");| \\ -\verb|Putpoint3d(["A",[1,1,1],"C",[1,0,1]]);|\\ - -These points don't output in the \TeX file. To output in the \TeX file use the following \hyperlink{pointdata}{Pointdata()} or \hyperlink{drwpt}{Drawpoint()} - -In the 3D-drawings the coordinate of the point name A is A3d. - -\itemket{Remark} \hyperlink{mkpttable}{Comparative chart of drawing of points} - -\end{cmd} -%-------------Readobj------------------------------- -\begin{cmd}{Readobj}{readobj} - -\itemket{Usage}Readobj(filename, option) -\itemket{Description}Read in the polyhedron data in the folder name \verb|polyhedrons_obj| -\itemket{Details}\mbox{} - -Data of all \verb|Johnson solid| can be downloaded from\\ -\hspace*{20mm}\url{http://mitani.cs.tsukuba.ac.jp/polyhedron/}\\ -Store the folder into the work folder of \ketcindy\ for example, and execute\\ -\verb| Setdirectory(gethome+"/ketcindy/polyhedrons_obj");|\\ -\verb| polydt=Readobj("r02.obj",["size=2"]);|\\ -\verb| Setdirectory(Dirwork);|\\ -Then the data of \verb|r02.obj| are assigned to the variable \verb|polydt|. - -Option is ["size=n"] then we get the magnification of n times. If n is negative value then we have the image of vertical inversion. -\itemket{Examples} \mbox{} - -\verb|VertexEdgeFace("1",polydt);| //output data name is phf3d1\\ -\verb|Nohiddenbyfaces("1","phf3d1");| - -\begin{center} \input{Fig/readobj} \end{center} - -The main polyhedral data is as follows. - - \input{Fig/kobayashiE} - -\end{cmd} - %---------------Reflectdata3d----------------------------- \begin{cmd}{Reflectdata3d}{reflectdata3d} @@ -4911,304 +5215,326 @@ Reflection on the plane BDE \end{cmd} -%--------------Sf3data------------------------------ -\begin{cmd}{Sf3data}{sf3data} +%---------------Translatedata3d----------------------------- +\begin{cmd}{Translatedata3d}{translatedata3d} -\itemket{Usage}Sf3data(name, list, list of options) -\itemket{Description}Generic function to draw the wire frame model of the surface. -\itemket{Details}Second argument is the list of equations and ranges. \\ -Options are the followings.\\ -"Num=[a,b]": x- and y-division number, default(or initial values) are a=b=25.\\ -"Wire=[a,b]": x- and y-wire number, default(or initial values) are a=b=20.\\ -"ewsn": From east to south, this indicates the boundary. +\itemket{Usage}Translatedata3d(name, PD, vector) +\itemket{Description}Generic function to translate plotting data. +%\itemket{Details} \itemket{Examples} \mbox{} -\verb|Sf3data("1",["z=x^2-y^2","x=[-2,2]","y=[-2,2]"]);|\\ -\ \ //This is the first expression of the equation for the surface. Second argument is the list of equation, x-range and y-range. -\begin{center} \input{Fig/saddle1} \end{center} +The curve sc3d1 is translated by 2 in the y axis direction. +As a result, two curves parallel to the original curves are drawn. -\verb|fd=["z=4-(x^2+y^2)","x=R*cos(T)","y=R*sin(T)","R=[0,2]","T=[0,2*pi]"];|\\ -\verb|Sf3data("1",fd);| //fd is the second argument.\\ -(left figure)\\ +\verb|Translatedata3d("1",["sc3d1"],[0,2,0]);|\\ -\verb|fd=["z=sin(sqrt(abs(x^2+y^2)))","x=r*cos(t)","y=r*sin(t)",|\\ -\verb|"r=[0,3]","t=[0,2*pi]"];|\\ -\verb|Sf3data("1",fd);|\\ -(right figure) -\begin{center} \input{Fig/parabola} \input{Fig/sf3ddata3} \end{center} +Since polygons drawn with VertexEdgeFace() can not be translated by this function, parallel movement is performed by directly manipulating the surface data. For example, to draw a regular octahedron using the polyhedron data obj of Kobayashi, Suzuki, and Mitani, do the following. This is the case of parallel movement by 2 in the y axis direction. -\verb|fd=["p","x=2*sin(u)*cos(v)","y=2*sin(u)*sin(v)","z=2*cos(u)",|\\ -\verb|"u=[0,pi]","v=[0,2*pi]"];| //"p" indicates the 3D-parameter expression.\\ -\verb|Sf3data("1",fd);| -\begin{center} \input{Fig/sf3ddata4} \end{center} +\verb|Setdirectory( Dirhead+"/data/polyhedrons_obj"); |\\ +\verb|phd=Readobj("r02.obj",["size=2"]); |\\ +\verb|Setdirectory(Dirwork); |\\ +\verb|dn=length(phd_1); |\\ +\verb|repeat(dn,s,phd_1_s=phd_1_s+[0,2,0]); |\\ +\verb|VertexEdgeFace("1",phd); |\\ + +\begin{center} +\input{Fig/translate01} +\end{center} \end{cmd} +%-------------Translatepoint3d------------------------------- +\begin{cmd}{Translatepoint3d}{translatepoint3d} -%-------------Sfbdparadata------------------------------- -\begin{cmd}{Sfbdparadata}{sfbdparadata} +\itemket{Usage}Translatepoint3d(coordinate,vector) +\itemket{Description}Return the translated coordinate for the point. +\itemket{Details}$\text{Translatepoint3d}([a_i],[v_i])=[a_i+v_i]$ +\itemket{Examples} \mbox{} -\itemket{Usage}Sfbdparadata(name, list, list of options) -\itemket{Description}Generic function to make the surface by performing hidden line processing. -\itemket{Details}Second argument is the list of equations and ranges same as the function "Sf3data". \\ -options1=no option or " "(space) or "r" or "m" and "Wait=integer". Default value of Wait is 20.\\ -No option or " "(space) means\\ -(1) If there exist no deta then it make a new data file.\\ -(2) If there exist deta then it read the data file.\\ -"m" means that it remake the new data file.\\ -"r" means that it reread the existing data file.\\ +\verb|Putpoint3d(["A",[1,0,0]]); |\\ +\verb|pt=Translatepoint3d(A3d,[-1,1,1]); |\\ +\verb|Putpoint3d(["B",pt]); | -option2="nodisp" or line type of hidden line. Default is "nodisp".\\ +\end{cmd} +% Others ================================== +\subsection{Others} +%--------------Perpplane------------------------------ +\begin{cmd}{Perpplane}{perpplane} -If we specify only option2 then we denote that option1 is empty list:[]. +\itemket{Usage}Perpplane(name, point, vector, option) +\itemket{Description}Generic function to return the two points on the plane which is passing through the point and orthogonal to the vector. +\itemket{Details}The name is the two points name such as the form "A-B".\\ +Point is the name or the coordinate of the point through which the plane is passing.\\ +The vector is the normal of the plane.\\ +If option is "put" then the function draw two geometric points. \itemket{Examples} \mbox{} -\verb|fd=["x=x^2-y^2","x=[-2,2]","y=[-2,2]"];|\\ -\verb|if(Isangle(),| //selecting the slider point, draw wire frame surfaces.\\ -\verb| Sf3data("1",fd);|\\ -\verb| ,|\\ -\verb| Startsurf();|\\ -\verb| Sfbdparadata("1",fd);|\\ -\verb| ExeccmdC("1",[],["nodisp"]);| //draw the surface\\ -\verb|);|\\ -(left figure)\\ +Return the points A,B on the plane which is passing through the point P and orthogonal to the vector [1,1,1]\\. +\verb|Perpplane("A-B","P",[1,1,1],"put");|\\ -\verb|ExeccmdC("1",["dr,2"],["do"]);| //the surface with thick line, hidden line with dotted line.\\ -(right figure) -\begin{center} \input{Fig/sfbdpara01} \input{Fig/sfbdpara02}\end{center} +Return the points A,B on the plane which is passing through the point P and orthogonal to the line segment OP. In this situation PA and PB is orthogonal and length of PA and PB are 1.\\. +\verb|Perpplane("A-B","P",P3d-O3d);|\\ + +Draw point A,B,C,D by draw tool of Cinderella. -\verb|fd=["z=4-(x^2+y^2)","x=R*cos(T)","y=R*sin(T)","R=[0,2]","T=[0,2*pi]","e"];|\\ -\ \ //"e"=east indicate the boundary line $R=2$, $0 < T < 2\pi$.\\ +\begin{layer}{120}{0} +\putnotese{100}{20}{ \input{Fig/perpplane}} +\end{layer} -\begin{center} \input{Fig/sfbdpara03} \input{Fig/sfbdpara04} \end{center} +\verb| Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,4]"); |\\ +\verb| Putpoint3d(["O",[0,0,0]]); |\\ +\verb| Putpoint3d(["P",[1,1,1]]); |\\ +\verb| Perpplane("E-F","P",P3d-O3d,"put"); |\\ +\verb| vec1=2*(E3d-P3d); |\\ +\verb| vec2=2*(F3d-P3d); |\\ +\verb| Putpoint3d(["A",P3d+vec1+vec2]); |\\ +\verb| Putpoint3d(["B",P3d+vec1-vec2]); |\\ +\verb| Putpoint3d(["C",P3d-vec1-vec2]); |\\ +\verb| Putpoint3d(["D",P3d-vec1+vec2]); |\\ +\verb| Spaceline("1",[A,B,C,D,A]); |\\ +\verb| Arrowdata([O,P],["dr,2"]); |\\ +\verb| Letter([P,"w","P",A,"ne","A",B,"e","B",C,"ws","C",D,"nw","D",]); |\\ +\verb| Skeletonparadata("1"); |\\ \end{cmd} -%-------------Skeletonparadata------------------------------- -\begin{cmd}{Skeletonparadata}{skeletonparadata} +%-------------Perppt------------------------------- +\begin{cmd}{Perppt}{perppt} -\itemket{Usage}Skeletonparadata(name, PDlist, PDlist, option) -\itemket{Description}Generic function to draw the lines by performing hidden line processing. -\itemket{Details}This function draw the second argument(the list of the lines) by performing hidden line processing which are hidden by the third argument(the list of the lines). If both arguments are omitted the function draw all lines by performing hidden line processing. +\itemket{Usage}Perppt(name, point, list of points, option) +\itemket{Description}Generic function to get the foot of a perpendicular for the plane from the point. +\itemket{Details}We specify the plane by the list of points.\\ +Option is the following.\\ +"draw": draw the point, don't make the geometric point(default).\\ +"put" : make the geometric point.\\ +"none": only make the data and don't draw. +\itemket{Examples} \mbox{} -Options:\\ -\hspace*{5mm}\verb|real number| gap of line\\ -\hspace*{5mm}\verb|"No=pointlist"| not executed when any point is selected\\ -\hspace*{5mm}\verb|"File=y/m/n(default:n)"| whether to make data file or not\\ -\hspace*{5mm}\verb|"Check=pointlist"| data file updated if any point is changed +We get the coordinate of the point H in the variable H3d for the following examples.\\ +\verb|Perppt("H","O","A-B-C","none");|\\ +\verb|Perppt("H","O","A-B-C");|\\ +\verb|Perppt("H","O","A-B-C","put");|\\ -\itemket{Examples} \mbox{} +Example -\verb| Xyzax3data("","x=[-5,5]","y=[-5,4]","z=[-5,3]");| //Data name is "ax3d".\\ -\verb| Putpoint3d(["A",[0,-2,-2]]);|\\ -\verb| Putpoint3d(["B",[-1,1,3]]);|\\ -\verb| Spaceline([A,B]);| //Data name is "AB3d".\\ -\verb| Spacecurve("1","[2*cos(t),2*sin(t),0.2*t]","t=[0,4*pi]",["Num=100"]);| //Data name is "sc3d1".\\ +\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,4]"); |\\ +\verb|Putpoint3d("O",[0,0,0]); |\\ +\verb|Putpoint3d("A",[3,0,0]); |\\ +\verb|Putpoint3d("B",[0,3,0]); |\\ +\verb|Putpoint3d("C",[0,0,3]); |\\ +\verb|Perppt("H","O","A-B-C","put"); |\\ +\verb|Spaceline("1",[A,B,C,A]); |\\ +\verb|Spaceline("2",[O,H]); |\\ +\verb|Letter([A,"nw","A",B,"ne","B",C,"ne","C",O,"nw","O",H,"ne","H"]); |\\ -\verb|Skeletonparadata("1");| //(left figure)\\ -\verb|Skeletonparadata("1",[2]);| //option\verb|=[2]|: gap of lines\verb|=2| (center figure)\\ -\verb|Skeletonparadata("1",["AB3d","ax3d"],["sc3d1"]);| //(right figure) -\begin{center} \input{Fig/skeletonparadata01} \input{Fig/skeletonparadata02} - \input{Fig/skeletonparadata03} \end{center} +\begin{center} \input{Fig/perppt} \end{center} \end{cmd} -%-------------Spacecurve------------------------------- -\begin{cmd}{Spacecurve}{spacecurve} +%---------------Projcoordpara----------------------------- +\begin{cmd}{Projcoordpara}{projcoordpara} -\itemket{Usage}Spacecurve(name, formula, domain, options) -\itemket{Description}Generic function to draw the space curve. +\itemket{Usage}Projcoordpara(3D-coordinate) +\itemket{Description}Generic function to get the projection coordinate on the Euclidean view coordinate system. \itemket{Examples} \mbox{} -\verb|Spacecurve("1","[2*cos(t),2*sin(t),0.2*t]","t=[0,4*pi]",["Num=100"]);|\\ -option=["Num=100"]: division number of the interval "t=[0,4*pi]" - \begin{center} \input{Fig/rasen} \end{center} + +\verb|println(Projcoordpara([3,1,2]));| //printed value is such as [-0.65, 1.7, 3.27] where the third element means the (signed) distance from the projection plane. \end{cmd} -%--------------Spaceline------------------------------ -\begin{cmd}{Spaceline}{spaceline} +%-------------Readobj------------------------------- +\begin{cmd}{Readobj}{readobj} -\itemket{Usage} Spaceline(name, list) -\itemket{Description}Generic function to draw the space polygonal lines. -\itemket{Details}Options are line type: "dr" or "da" or "do". +\itemket{Usage}Readobj(filename, option) +\itemket{Description}Read in the polyhedron data in the folder name \verb|polyhedrons_obj| +\itemket{Details}\mbox{} + +Data of all \verb|Johnson solid| can be downloaded from\\ +\hspace*{20mm}\url{http://mitani.cs.tsukuba.ac.jp/polyhedron/}\\ +Store the folder into the work folder of \ketcindy\ for example, and execute\\ +\verb| Setdirectory(gethome+"/ketcindy/polyhedrons_obj");|\\ +\verb| polydt=Readobj("r02.obj",["size=2"]);|\\ +\verb| Setdirectory(Dirwork);|\\ +Then the data of \verb|r02.obj| are assigned to the variable \verb|polydt|. + +Option is ["size=n"] then we get the magnification of n times. If n is negative value then we have the image of vertical inversion. \itemket{Examples} \mbox{} -\verb|Spaceline("1",[[2,5,1],[4,2,3]]);| //draw the line between two points\\ -\verb|Spaceline("2",[A,B,C,A]);| //draw the triangle ABC\\ +\verb|VertexEdgeFace("1",polydt);| //output data name is phf3d1\\ +\verb|Nohiddenbyfaces("1","phf3d1");| -\begin{layer}{150}{0} -\putnotese{100}{-5}{ \input{Fig/oresenex01}} -\end{layer} +\begin{center} \input{Fig/readobj} \end{center} -\verb|pt=[[2,0,0],[2,0,2],[2,2,2],[0,2,2],[0,4,2],[0,4,4]]; |\\ -\verb|Spaceline("1",pt); |\\ -\verb|Pointdata3d("1",pt,["Size=3"]);| +The main polyhedral data is as follows. + + \input{Fig/kobayashiE} -\vspace{30mm} \end{cmd} -%---------------Translatedata3d----------------------------- -\begin{cmd}{Translatedata3d}{translatedata3d} +%------------Xyzcoord-------------------------------- +\begin{cmd}{Xyzcoord}{xyzcoord} -\itemket{Usage}Translatedata3d(name, PD, vector) -\itemket{Description}Generic function to translate plotting data. -%\itemket{Details} +\itemket{Usage}\hspace{10mm} Xyzcoord(P.x, P.y, Pz.y) +\itemket{Description}Generic function to return the 3D-coordinate of the point P. +\itemket{Details}(P.x, P.y) is the coordinate of P in the mainarea and Pz.y is the y-coordinate of P in the subarea. \itemket{Examples} \mbox{} -The curve sc3d1 is translated by 2 in the y axis direction. -As a result, two curves parallel to the original curves are drawn. - -\verb|Translatedata3d("1",["sc3d1"],[0,2,0]);|\\ - -Since polygons drawn with VertexEdgeFace() can not be translated by this function, parallel movement is performed by directly manipulating the surface data. For example, to draw a regular octahedron using the polyhedron data obj of Kobayashi, Suzuki, and Mitani, do the following. This is the case of parallel movement by 2 in the y axis direction. +\verb|println(Xyzcoord(A.x,A.y,Az.y));| //print the 3D-coordinate of point A on the console. +\end{cmd} -\verb|Setdirectory( Dirhead+"/data/polyhedrons_obj"); |\\ -\verb|phd=Readobj("r02.obj",["size=2"]); |\\ -\verb|Setdirectory(Dirwork); |\\ -\verb|dn=length(phd_1); |\\ -\verb|repeat(dn,s,phd_1_s=phd_1_s+[0,2,0]); |\\ -\verb|VertexEdgeFace("1",phd); |\\ +%--------------Isangle------------------------------ +\begin{cmd}{Isangle}{isangle} -\begin{center} -\input{Fig/translate01} -\end{center} +\itemket{Usage}Isangle() +\itemket{Description}Decide the selection of the angle slider. +\itemket{Details}Returns ``true" if select slider, and ``false" if not.\\ +In drawing including hidden line processing, reaction is bad when recalculating while moving the viewpoint. With this function, you can write code that does not recalculate while moving the viewpoint. -\end{cmd} -%-------------Translatepoint3d------------------------------- -\begin{cmd}{Translatepoint3d}{translatepoint3d} +\itemket{Examples} \mbox{} -\itemket{Usage}Translatepoint3d(coordinate,vector) -\itemket{Description}Return the translated coordinate for the point. -\itemket{Details}$\text{Translatepoint3d}([a_i],[v_i])=[a_i+v_i]$ -\itemket{Examples} \mbox{} +\verb| fd=[ |\\ +\verb| "z=4-(x^2+y^2)",|\\ +\verb| "x=R*cos(T)","y=R*sin(T)",|\\ +\verb| "R=[0,2]","T=[0,2*pi]","e" \verb| ];|\\ +\verb| if(Isangle(),|\\ +\verb| Sf3data("1",fd);|\\ +\verb| ,|\\ +\verb| Startsurf();|\\ +\verb| Sfbdparadata("1",fd);|\\ +\verb| Crvsfparadata("1","ax3d","sfbd3d1",fd);|\\ +\verb| ExeccmdC("1");|\\ +\verb| );| -\verb|Putpoint3d(["A",[1,0,0]]); |\\ -\verb|pt=Translatepoint3d(A3d,[-1,1,1]); |\\ -\verb|Putpoint3d(["B",pt]); | \end{cmd} -%-------------Vertexedgeface------------------------------- -\begin{cmd}{Vertexedgeface}{vertexedgeface} +%--------------Dist3d------------------------------ -\itemket{Usage} VertexEdgeFace(name, list, options) -\itemket{Description}Generic function to draw the polyhedron. -\itemket{Details}We use the faces data of the polyhedron.\\ -The second argument is the list of vertexes list and the faces list.\\ -For example, the faces data of the tetrahedron is [[A,B,C,D],[[1,2,3],[1,2,4],[1,3,4],[2,3,4]]].\\ -%Option is the following.\\ +\begin{cmd}{Dist3d}{dist3d} +\itemket{Usage}Dist3d(a1,a2) +\itemket{Description}Generic function to get the 3D-distance of two points. \itemket{Examples} \mbox{} -\verb| Putpoint3d("A",2*[-1,-1/sqrt(3),0]); |\\ -\verb| Putpoint3d("B",2*[1,-1/sqrt(3),0]); |\\ -\verb| Putpoint3d("C",2*[0,sqrt(3)-1/sqrt(3),0]); |\\ -\verb| Putpoint3d("D",2*[0,0,sqrt(3)]); |\\ -\verb| phd=Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]); |\\ -\verb| VertexEdgeFace("1",phd); |\\ - //Three data lists are made, phv3d1:vertex, phe3d1:edge and phf3d1:face. - \begin{center} \input{Fig/vertex01} \end{center} -\end{cmd} -%-------------Wireparadata------------------------------- -\begin{cmd}{Wireparadata}{wireparadata} +Following three programs return the same result.\\ -\itemket{Usage} Wireparadata(name, PD, formula, integer, integer, options) -\itemket{Description}Generic function to draw the surface by wire frame data with performing hidden line processing. -\itemket{Details}The second argument PD is the surface data made by Sfbdparadata function.\\ -options=no option or " "(space) or "r" or "m" and "Wait=integer". Default value of Wait is 30.\\ -No option or " "(space) means\\ -(1) If there exist no deta then it make a new data file.\\ -(2) If there exist deta then it read the data file.\\ -"m" means that it remake the new data file.\\ -"r" means that it reread the existing data file.\\ +\verb| Dist3d("A","B"); |\\ +\verb| Dist3d(A,B); |\\ +\verb| Dist3d(A3d,B3d); | -\itemket{Examples} \mbox{} +\end{cmd} +%--------------Embed------------------------------ -\verb|fd=["z=x^2-y^2","x=[-2,2]","y=[-2,2]"]; |\\ -\verb|if(Isangle(), |\\ -\verb| Sf3data("1",fd); |\\ -\verb| , |\\ -\verb| Startsurf(); |\\ -\verb| Sfbdparadata("1",fd); | //We get the data named as "sfbd3d1".\\ -\verb| Wireparadata("1","sfbd3d1",fd,4,5,[""]); | //number of wires are 4 and 5.\\ -\verb| ExeccmdC("1"); | //draw the wires\\ -\verb|); | +\begin{cmd}{Embed}{embed} +\itemket{Usage}Embed(name,PDlist,formula,varlist) +\itemket{Description}Embed plotting data of 2D in plane of 3D. +\itemket{Details}PDlist is list of plotting data of 2D. Plane of 3D is given by formula and varlist. +\itemket{Examples} \mbox{} -\begin{center} -\input{Fig/wirepara1} -\end{center} +Embed an equilateral triangle and its circumscribed circle in a plane in 3D space. -Change the following code. +(1) \verb|vo|, \verb|vx|, \verb|vy| are defined with function {\tt \hyperlink{defvar}{Defvar}} that uses R.\\ +\verb|Xyzax3data("","x=[-5,4]","y=[-10,4]","z=[-5,5]",["a","O"]);|\\ +\verb|Spaceline("1",[[3,0,0],[3,6,0],[3,6,6],[3,0,6],[3,0,0]]);|\\ +\verb|Defvar("vo=[3,3,3]");| // Defined in R\\ +\verb|Defvar("vx=[0,1,0]");| // Defined in R\\ +\verb|Defvar("vy=[0,0,1]");| // Defined in R\\ +\verb|Putpoint3d(["A",[3,3,3]]);|\\ +\verb|Circledata("1",[[0,0],[2,0]],["nodisp"]);|\\ +\verb|Listplot("1",[[0,2],[-sqrt(3),-1],[sqrt(3),-1],[0,2]],["nodisp"]);|\\ +\verb|Embed("1",["cr1","sg1"],"vo+x*vx+y*vy","[x,y]");|\\ +\verb|Ptsize(3);|\\ +\verb|Drawpoint(A);| -\verb|fd=["z=4-(x^2+y^2)","x=r*cos(t)","y=r*sin(t)","r=[0,2]","t=[0,2*pi]","e"];|\\ -\verb|Wireparadata("1","sfbd3d1",fd,5,7,[""]);| +Following view is as \verb|TH|=75,\verb|FI|=70. + \begin{center} \input{Fig/embed01} \end{center} +(2) A, B, and C are defined instead of vo, vx, vy defined by Defvar. But, in this case, points B and C are not drawn in the plane. So, the figure may be difficult to understand.\\ +\verb|Putpoint3d(["A",[3,3,3],"B",[0,1,0],"C",[0,0,1]]);|\\ +\verb|Embed("1",["cr1","sg1"],"A3d+x*B3d+y*C3d","[x,y]");|\\ \begin{center} -\input{Fig/wirepara2} +\includegraphics[bb=0.00 0.00 477.02 383.02,width=8cm]{Fig/embed03.pdf} \end{center} +To draw the B and C on the embedded figure, code changes as follows. -\verb|fd=["p","x=2*sin(u)*cos(v)","y=2*sin(u)*sin(v)","z=2*cos(u)","u=[0,pi]", |\\ -\verb| "v=[0,2*pi]","s"]; |\\ -\verb|Wireparadata("1","sfbd3d1",fd,12,12,[""]); | - -\begin{center} -\input{Fig/wirepara3} -\end{center} +\verb|Putpoint3d(["A",[3,3,3],"B",[3,4,3],"C",[3,3,4]]);|\\ +\verb|Embed("1",["cr1","sg1"],"A3d+x*B3d+y*C3d","[x,y]");|\\ -\begin{layer}{150}{0} -\putnotese{90}{15}{ \input{Fig/wirepara4}} -\end{layer} +(3) The function {\tt \hyperlink{perpplane}{Perpplane}} is used in next.\\ +\verb|Xyzax3data("","x=[-5,5]","y=[-8,5]","z=[-5,5]");|\\ +\verb|Putpoint3d(["O",[0,0,0],"P",[1,1,2]]);|\\ +\verb|Perpplane("E-F","P",P3d-O3d,"put");|\\ +\verb|vec1=3*(E3d-P3d);|\\ +\verb|vec2=3*(F3d-P3d);|\\ +\verb|Putpoint3d(["A",P3d+vec1+vec2]);|\\ +\verb|Putpoint3d(["B",P3d+vec1-vec2]);|\\ +\verb|Putpoint3d(["C",P3d-vec1-vec2]);|\\ +\verb|Putpoint3d(["D",P3d-vec1+vec2]);|\\ +\verb|Spaceline("1",[A,B,C,D,A]);|\\ +\verb|Circledata("1",[[0,0],[2,0]],["nodisp"]);|\\ +\verb|Listplot("1",[[0,2],[-sqrt(3),-1],[sqrt(3),-1],[0,2]],["nodisp"]);|\\ +\verb|Embed("1",["cr1","sg1"],"P3d+x*(E3d-P3d)+y*(F3d-P3d)","[x,y]");|\\ +\verb|Ptsize(3);|\\ +\verb|Drawpoint(P);|\\ +\verb|Skeletonparadata("1");| + \begin{center} \input{Fig/embed02} \end{center} +\end{cmd} -\verb|fd=["p","x=2*sin(u)*cos(v)","y=2*sin(u)*sin(v)","z=2*cos(u)","u=[0,pi]",|\\ -\verb| "v=[0,2*pi]","s"];|\\ -\verb|if(Isangle(),|\\ -\verb| Sf3data("1",fd);|\\ -\verb| ,|\\ -\verb| Startsurf();|\\ -\verb| Sfbdparadata("1",fd);|\\ -\verb| Wireparadata("1","sfbd3d1",fd,12,12,[""]);|\\ -\verb| Crvsfparadata("1","ax3d","sfbd3d1",fd);|\\ -\verb| ret=ExeccmdC("1");|\\ -\verb| forall(1..length(ret),|\\ -\verb| if(indexof(ret_#,"wireh")>0,|\\ -\verb| Changestyle3d([ret_#],["nodisp"]);|\\ -\verb| );|\\ -\verb| );|\\ -\verb|);| -\vspace{\baselineskip} -\verb|fd=["p","x=(2+cos(u))*cos(v)","y=(2+cos(u))*sin(v)","z=sin(u)",|\\ -\verb| "u=[0,2*pi]","v=[0,2*pi]","s"];|\\ -\verb|Sfbdparadata("1",fd);|\\ -\verb|Wireparadata("1","sfbd3d1",fd,12,12,[""]); | +%-------------Parapt------------------------------- +\begin{cmd}{Parapt}{parapt(coordinate)} -\begin{center} \input{Fig/wirepara5} \end{center} +\itemket{Usage}Parapt(3D-coordinate) +\itemket{Description}Generic function to return the 2D-coordinate on the plane of projection for the 3D-point. +\itemket{Examples} \mbox{} +\verb|println(Parapt([2,1,5]));| \end{cmd} -%-------------Xyzax3data------------------------------- -\begin{cmd}{Xyzax3data}{xyzax3data} +%-------------Invparapt------------------------------- -\itemket{Usage} Xyzax3data(name, range of x, range of y, range of z, options) -\itemket{Description}Generic function to draw the coordinate axis. -\itemket{Details}Name can be null string.\\ -Options are the followings.\\ -"an": arrowhead, n is size.\\ -"Onesw": origin and its position. +\begin{cmd}{Invparapt}{invparapt} +\itemket{Usage}Invparapt(coordinate,PD) +\itemket{Description}Returns the point on the curve that is corresponding to the coordinates on the Euclidean view. +\itemket{Details}Returns the 3D-coordinates of the point on the curve(\verb|PD|) from the \verb|coordinate| on the Euclidean view. \itemket{Examples} \mbox{} -\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]");|\\ -\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]","a");| //arrowhead\\ -\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]",["a2"]);| //big arrowhead\\ -\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]",["O"]);|\\ -\verb|Xyzax3data("","x=[-5,5]","y=[-5,5]","z=[-5,5]",["a","Oe2n2"]);| //set origin upper right +Find on the screen (not in the space) intersection points (\verb|tmp_1|, \verb|tmp_2|, $\dots$) of the spiral curve and the space line. Draw a part of the spiral whose end points (\verb|p1| and \verb|p2|) are selected from the intersection points.\\ +\verb| Spaceline("1",[[-1,-1,-1],[1,2,3]]); |\\ +\verb| Spacecurve("1","[2*cos(t),2*sin(t),0.2*t]","t=[0,4*pi]",["do"]);|\\ +\verb| tmp=Intersectcrvs("sl2d1","sc2d1");|\\ +\verb| p1=Invparapt(tmp_1,"sc3d1");|\\ +\verb| p2=Invparapt(tmp_2,"sc3d1");|\\ +\verb| Partcrv3d("1",p1,p2,"sc3d1"); |\\ +\begin{center} \input{Fig/invparapt} \end{center} +\end{cmd} +%-----------Expr3d--------------------------------- +\begin{cmd}{Expr3D}{expr3d} +\itemket{Usage}Expr([position, direction, string],options) +\itemket{Description}Display the string. +\itemket{Details} The position is the space coordinate. Other than that it is the same as Expr(). \end{cmd} -%------------Xyzcoord-------------------------------- -\begin{cmd}{Xyzcoord}{xyzcoord} -\itemket{Usage}\hspace{10mm} Xyzcoord(P.x, P.y, Pz.y) -\itemket{Description}Generic function to return the 3D-coordinate of the point P. -\itemket{Details}(P.x, P.y) is the coordinate of P in the mainarea and Pz.y is the y-coordinate of P in the subarea. +%-----------Letter3d--------------------------------- +\begin{cmd}{Letter3D}{letter3d} +\itemket{Usage}Letter([position, direction, string],options) +\itemket{Description}Display the string. +\itemket{Details} The position is the space coordinate. Other than that it is the same as Letter(). \itemket{Examples} \mbox{} -\verb|println(Xyzcoord(A.x,A.y,Az.y));| //print the 3D-coordinate of point A on the console. -\end{cmd} +\begin{layer}{150}{0} +\putnotese{110}{10}{ \input{Fig/letter3d}} +\end{layer} + +\verb|Putpoint3d("A",2*[0,0,2*sqrt(6)/3]);|\\ +\verb|Putpoint3d("B",2*[1,-1/sqrt(3),0]);|\\ +\verb|Putpoint3d("C",2*[0,sqrt(3)-1/sqrt(3),0]);|\\ +\verb|Putpoint3d("D",2*[-1,-1/sqrt(3),0]);|\\ +\verb|Putpoint3d("M",(B3d+C3d)/2);|\\ +\verb|phd=Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]);|\\ +\verb|VertexEdgeFace("1",phd);|\\ +\verb|Spaceline("1",[A,M,D]);|\\ +\verb|Nohiddenbyfaces("1","phf3d1");|\\ +\verb|Letter3d([A3d,"ne","A",B3d,"w","B",C3d,"se","C",D3d,"e","D"]);|\\ +\verb|Letter3d(M3d,"sw","M",["Color=blue"]);|\\ + +\end{cmd} \newpage %-==Appendix ======================== @@ -5259,6 +5585,7 @@ Options are the followings.\\ \hyperlink{fontsize}{Fontsize} \> define the font size in the \TeX\ figure.\\ \hyperlink{ketinit}{Ketinit} \> initialize \ketcindy.\\ \hyperlink{ptsize}{Ptsize} \> set the size of points.\\ +\hyperlink{setarrow}{Setarrow} \> set the style of arrow.\\ \hyperlink{setax}{Setax} \> set the style of axis.\\ \hyperlink{setcolor}{Setcolor} \> set the color of figures and characters in the \TeX\ figure.\\ \hyperlink{setfiles}{Setfiles} \> set the name of texfile.\\ @@ -5289,7 +5616,7 @@ Options are the followings.\\ \hyperlink{deqplot}{Deqplot} \> draw the solution curve of a differential equation.\\ \hyperlink{dotfilldata}{Dotfilldata} \> fill a domain with dots.\\ \hyperlink{drwpt}{Drawppoint} \> draw a point. \\ -\hyperlink{drwpt}{Drwpt} \> draw a point. \\ +%\hyperlink{drwpt}{Drwpt} \> draw a point. \\ \hyperlink{drawsegmark}{Drawsegmark} \> Add a mark to a segment. \\ \hyperlink{ellipseplot}{Ellipseplot} \> draw ellipse.\\ \hyperlink{enclosing}{Enclosing} \> make a closed curve form the list of plotting data.\\ @@ -5327,8 +5654,6 @@ Options are the followings.\\ \hyperlink{putonline}{PutonLine} \> put a point on the line.\\ \hyperlink{putonSeg}{Putonseg} \> put a point on the segment.\\ \hyperlink{putpoint}{Putpoint} \> put a point.\\ -\hyperlink{readcsv}{Readcsv} \> read a file in csv format.\\ -\hyperlink{readlines}{Readlines} \> read a text file line by line.\\ \hyperlink{reflectdata}{Reflectdata} \> draw a reflective curve.\\ \hyperlink{reflectpoint}{Reflectpoint} \> return the reflect point.\\ \hyperlink{rotatedata}{Rotatedata} \> rotate plotting data.\\ @@ -5362,6 +5687,8 @@ Options are the followings.\\ \hyperlink{pointoncurve}{Pointoncurve} \> point which has the parameter value\\ \hyperlink{ptstart, ptend}{Ptstart, Ptend} \> returns start point and end point of PD.\\ \hyperlink{ptcrv}{Ptcrv} \> Returns n-th point from PD.\\ +\hyperlink{readcsv}{Readcsv} \> read a file in csv format.\\ +\hyperlink{readlines}{Readlines} \> read a text file line by line.\\ \hyperlink{readoutdata}{ReadOutData} \> read external data.\\ \hyperlink{sqr}{Sqr} \> return square root.\\ \hyperlink{writeoutdata}{WriteOutData} \> write out data in \ketcindy\ format.\\ @@ -5452,16 +5779,17 @@ Options are the followings.\\ \hyperlink{drawpoint3d}{Drawpoint3d} \> draw 3D-points.\\ \hyperlink{embed}{Embed} \> embed plotting data of 2D in plane of 3D.\\ \hyperlink{execcmdc}{ExeccmdC} \> draw 3D-surface.\\ +\hyperlink{expr3d}{Expr3d} \> display the string.\\ \hyperlink{intersectcrvsf}{Intersectcrvsf} \> return a list of intersects of a curve and curved face.\\ \hyperlink{intersectsgpL}{IntersectsgpL} \>return a intersection of a line segment and plane.\\ \hyperlink{invparapt}{Invparapt} \> return the point on the curve.\\ \hyperlink{ketinit3d}{Ketinit3d} \> declare the use of KeTCindy3D\\ +\hyperlink{letter3d}{Letter3d} \> display the string.\\ \hyperlink{mkbezierptcrv3d}{Mkbezierptcrv3d} \> draw a cubic Bezier curve from nodes.\\ \hyperlink{nohiddenbyfaces}{Nohiddenbyfaces} \> draw hidden lines by the surfaces.\\ \hyperlink{parapt}{Parapt} \> return the 2D-coodinate on the plane.\\ \hyperlink{partcrv3d}{Partcrv3d} \> draw the part curve of the curve PD.\\ -\hyperlink{perpplane}{Perpplane} \> return the two points which is passing through the point and\\ -\>orthogonal to the vector.\\ +\hyperlink{perpplane}{Perpplane} \> create a basic vector on a vertical plane\\ \hyperlink{perppt}{Perppt} \> get the foot of a perpendicular for the plane from the point.\\ \hyperlink{phparadata}{Phparadata} \> draw the polyhedron by performing hidden line processing.\\ \hyperlink{pointdata3d}{Pointdata3d} \> generate data of point list.\\ @@ -5479,6 +5807,7 @@ Options are the followings.\\ \hyperlink{scalepoint3d}{Scalepoint3d} \> execute scale transformation for the coordinate of the point.\\ \hyperlink{sf3data}{Sf3data} \> draw the wire frame model of the surface.\\ \hyperlink{sfbdparadata}{Sfbdparadata} \> draw the surface by performing hidden line processing.\\ +\hyperlink{sfcutparadatacdy}{Sfcutparadatacdy} \> Display intersection line of surface and surface.\\ \hyperlink{skeletonparadata}{Skeletonparadata} \> draw the lines by performing hidden line processing.\\ \hyperlink{spacecurve}{Spacecurve} \> draw the space curve.\\ \hyperlink{spaceline}{Spaceline} \> draw the space polygonal lines.\\ diff --git a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex index 933210c7afe..815762ae62c 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex @@ -51,8 +51,6 @@ \vspace{\baselineskip} 描画領域(TeXに出力する領域)は制御点SW(左下)とNE(右上)を対角とする矩形領域。描画領域を指定すると,制御点がなければその位置に作り,すでに存在する場合は何もしない。作成された制御点はドラッグして描画領域を変更することができる。倍率は,Setscaling(倍率)を実行するのと同じ。ただし,Cinderellaで作図した幾何要素に対しては無効。(\hyperlink{setscaling}{Setscaling()}の項参照) -%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} - \vspace{\baselineskip} \hypertarget{setfiles}{} \item[関数] Setfiles(filename) @@ -176,25 +174,15 @@ Parent ボタンで出力するファイル名は 初期設定がないので, 7. 原点名の位置 初期設定は \verb|"sw"| -<<<<<<< HEAD 8. 線種 -9. 色 +9. 線の色 -10. 文字の色 +10. ラベルの色 それぞれダブルクウォートでくくる。色は,色名が使える。"red" など。 10の引数のうちn番目だけを指定する場合は,[n,"内容"]で指定できる。 -======= -8. 線スタイル - -9. 線の色 ->>>>>>> 8640fc8c8ce40892b14715d7a28d85d1079ee61b - -10.ラベルの色 - -n番目以降を指定する場合は,[n,"内容"]で指定できる。 また,後方は省略できる。 @@ -232,13 +220,13 @@ options は次のリストである。\\ \begin{verbatim} Setax([7,"se"]); Setpt(5); - Drwpt([-pi,0],0); + Pointdata("1",[[-pi,0]],["Inside=0"]); Drwxy(); Plotdata("1","sin(x)","x",["dr","Num=200"]); - Drwpt([pi,0],0); + Pointdata("2",[[pi,0]],["Inside=0"]); \end{verbatim} - このスクリプトでは,Drwpt([-pi,0],0); を実行したのち座標軸を描き,次に,$y=\sin x$ のグラフを描いてから Drwpt([pi,0],0);を実行するので,点($-\pi$,0) の上を座標軸が通り,点($\pi$,0)は座標軸とグラフの上を通るので白抜きになる。\\ + このスクリプトでは,\verb| Pointdata("1",[[-pi,0]],["Inside=0"]);| を実行したのち座標軸を描き,次に,$y=\sin x$ のグラフを描いてから,再び \verb| ["Inside=0"]);|にして実行するので,点($-\pi$,0) の上を座標軸が通り,点($\pi$,0)は座標軸とグラフの上を通るので白抜きになる。\\ \begin{center} \input{Fig/drwxy}\end{center} @@ -354,8 +342,7 @@ Plotdata("1","f(x)","x"); 【例】作図ツールの「点を加える」で,A〜Gの点をとっておく。小さい方からいくつか表示する。 \begin{verbatim} - Ptsize(2); - Drawpoint([A,B,C,D,E,F,G]); + Pointdata("1",[A,B,C,D,E,F,G],["Size=2"]); Fontsize("t"); Letter([A,"s2","A"]); Fontsize("ss"); Letter([B,"s2","B"]); Fontsize("s"); Letter([C,"s2","C"]); @@ -420,13 +407,12 @@ Plotdata("1","f(x)","x"); \begin{verbatim} Setorigin([3,2]); Listplot([A,B,C,A]); - Ptsize(3); - Drawpoint([1,1]); + Pointdata("1",[1,1],["Size=3"]); Letter([[1,1],"s2","P"]); \end{verbatim} 左が実行時のCinderellaの画面,右が\TeX の結果。\\ -\hspace{10mm} \includegraphics[bb=0 0 227 205 , width=4cm]{Fig/setorigin.pdf} \input{Fig/setorigin} +\hspace{10mm} \includegraphics[bb=0 0 299.02 250.01, width=4cm]{Fig/setorigin.pdf} \input{Fig/setorigin} \vspace{\baselineskip} \hypertarget{setpen}{} @@ -511,7 +497,7 @@ Plotdata("1","f(x)","x"); である。 -nameは,プロットデータの名称で,関数ごとに決められた頭部のあとに付けられる。たとえば,線分を描く Listplot() でできるプロットデータは,頭部が"sg"であり,nameを"1"とすれば,"sg1" という名称のプロットデータができる。name指定は不要の場合もあり,その場合は \ketcindy が自動的に名称を作成する。 +nameは,プロットデータの名称で,関数ごとに決められた頭部のあとに付けられる。たとえば,線分を描く Listplot() でできるプロットデータは,頭部が"sg"であり,nameを"1"とすれば,"sg1" という名称のプロットデータができる。name指定は不要の場合もあり,その場合は \ketcindy が自動的に名称を作成する。なお,name に演算記号は使えないので,番号として負の数は使えない。 点リストなどには,点の座標,点の識別名,複数の点のリスト,複数の点を示す文字列などがあり,関数によって異なる。点はCinderellaで作図した幾何要素の点を利用できる。 @@ -562,7 +548,17 @@ optionsは,線種・表示する文字列・解像度・出力の有無など \hypertarget{pointdata}{} \item[関数] Pointdata(name , 点リスト , options) \item[機能] 点のデータを作成する。 -\item[説明] 与えられた座標の点データを作成する。オプションは"Size=","Color="。 +\item[説明] 与えられた座標の点データを作成する。オプションは"Size=","Color=","Inside"。 + +Inside オプションは,点の内部についての指定。ただし,Cinderellaの描画面には反映されない。 + +0 : 白抜き + +0から1まで : 濃度 + +-1 : 塗らない + +カラーコードまたは色名 : その色で塗る \vspace{\baselineskip} 【例】 @@ -585,7 +581,7 @@ optionsは,線種・表示する文字列・解像度・出力の有無など (4) 点データを作り,TeXにオプション0(白抜き)で描く -\hspace{10mm} \verb|Pointdata("1",[A,B],[0]);| +\hspace{10mm} \verb|Pointdata("1",[A,B],["Inside=0"]);| (5) 点データを作るが,TeXには出力しない @@ -610,50 +606,47 @@ optionsは,線種・表示する文字列・解像度・出力の有無など %\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} -\vspace{\baselineskip} -\hypertarget{drwpt}{} -\item[関数] Drwpt(点,option), Drawpoint(点,options) -\item[機能] 点を表示する -\item[説明] 座標または幾何点の識別名を与えて点を表示する。これだけではCinderellaの描画面には描かれないので,描画面にも表示するにはCinderellaの作図ツールで作図するか,Pointdata() または Putpoint() を用いる。 - -複数の点の場合は座標または識別名はリストで与える。 +%\vspace{\baselineskip} +%\hypertarget{drwpt}{} +%\item[関数] Drwpt(点,option), Drawpoint(点,options) +%\item[機能] 点を表示する +%\item[説明] 座標または幾何点の識別名を与えて点を表示する。これだけではCinderellaの描画面には描かれないので,描画面にも表示するにはCinderellaの作図ツールで作図するか,Pointdata() または Putpoint() を用いる。 -optionに数字 0 を入れると,白抜きで表示する。なお白抜きの場合は,Ptsize()で点の大きさを少し大きめにとるとよい。 +%複数の点の場合は座標または識別名はリストで与える。 -可読性を高めるときはDrawpointを推奨する。 +%optionに数字 0 を入れると,白抜きで表示する。なお白抜きの場合は,Ptsize()で点の大きさを少し大きめにとるとよい。 -\vspace{\baselineskip} -【例】座標(1,1)と(4,3)に点を表示する。Cinderellaの描画面には描かれない。 +%可読性を高めるときはDrawpointを推奨する。 -\hspace{10mm} \verb|Drwpt([[1,1],[4,3]]);| +%\vspace{\baselineskip} +%【例】座標(1,1)と(4,3)に点を表示する。Cinderellaの描画面には描かれない。 -\vspace{\baselineskip} -【例】Cinderellaで点A,B,Cを作図しておき,\TeX で表示する。 +%\hspace{10mm} \verb|Drwpt([[1,1],[4,3]]);| -\hspace{10mm} \verb|Drwpt([A,B,C]); | +%\vspace{\baselineskip} +%【例】Cinderellaで点A,B,Cを作図しておき,\TeX で表示する。 -\vspace{\baselineskip} -【例】線分ABの右端(B)を白抜きで表示する +%\hspace{10mm} \verb|Drwpt([A,B,C]); | -\begin{layer}{150}{0} -\putnotese{50}{8}{ \input{Fig/drawpoint}} -\end{layer} -\begin{verbatim} - Ptsize(5); - Listplot([A,B]); - Drawpoint(B,0); -\end{verbatim} +%\vspace{\baselineskip} +%【例】線分ABの右端(B)を白抜きで表示する -※ Drawpoint([A,B],0); とすれば,両端が白抜きになる。 +%\begin{layer}{150}{0} +%\putnotese{50}{8}{ \input{Fig/drawpoint}} +%\end{layer} +%\begin{verbatim} + % Ptsize(5); +% Listplot([A,B]); +% Drawpoint(B,0); +%\end{verbatim} -\vspace{\baselineskip} -{\bf 点の表示方法} +%※ Drawpoint([A,B],0); とすれば,両端が白抜きになる。 -点を表示する関数はいくつかある。Cinderellaの描画面上に単に点を表示するもの,幾何点を作るもの,TeXに出力するためのもの,と少しずつ意味が異なる。 +%\vspace{\baselineskip} +%{\bf 点の表示方法} -付録の「\hyperlink{mkpttable}{点の作図についての比較表}」を参照のこと。 -\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} \vspace{\baselineskip} \hypertarget{putpoint}{} @@ -1863,14 +1856,14 @@ Dis オプションにより,値がジャンプする不連続点を線で結 【例】ガウス記号 [$x$] で表される関数(床関数 : floor())のグラフ。 \begin{verbatim} Plotdata("1","floor(x)","x",["Num=100","Dis=0.9"]); - Ptsize(3); Drwxy(); repeat(7,s,start -> -2, - Drwpt([s+1,s],0); + Pointdata(text(s+3),[s+1,s],["Inside=0","Size=3"]); ); \end{verbatim} \hspace{40mm}\input{Fig/plotdata5} +なお,ここで,Pointdata() のname を text(s+3) としているのは,sが -2 から始まるので,name は1から始まるようにするためである。name に負の数は使えないので。 \vspace{\baselineskip} 関数に文字係数がついており,文字係数の値を変化させながらグラフを描くには,Assign を使うか,Defvar で変数を定義する。 @@ -3003,8 +2996,7 @@ Intersectcrvs() との違いは,パラメータがあるかどうかである A.xy=plist_1; B.xy=plist_3; Listplot([A,B],["do"]); - Ptsize(2); - Drwpt([A,B]); + Pointdata("1",[A,B],["Size=2"]); Letter([A,"n2w","A",B,"s2e","B",(A+B)/2,"e",text(plist_5)]); \end{verbatim} @@ -3198,6 +3190,50 @@ KeTCindy形式のデータとは の形式のテキストファイル。 +\hypertarget{readcsv}{} +\item[関数] Readcsv(path,filename,option) +\item[機能] csvファイルを読む。 +\item[説明] csvファイルを読みこむ。戻り値は読み込んだデータのリスト。 + +第1引数の path は,ファイルを作業フォルダ( 初期設定は fig )に置いた場合は省略することができる。そうでない場合は,フルパスで指定する。たとえば,"/Users/Hoge/Desktop" + +option は,"Flat=" で,"Flat=y" の場合は,読み込んだデータをリスト化したときに平滑化(1次元のリスト)にする。 初期設定は "Flat=n" + +【例】次のようなCSVファイル sample.csvを読み込むとする。 + +\begin{verbatim} + 12,14,15,18,13 + 9,13,17,21 +\end{verbatim} + +つまり,2行分のデータである。 + +\begin{verbatim} + data=Readcsv("sample.csv"); +\end{verbatim} + +とすると, +\begin{verbatim} + data=[[12,14,15,18,13],[9,13,17,21]] +\end{verbatim} + +となる。 + +したがって,1行目のデータだけ取り出したい場合は + +\begin{verbatim} + dt1=data_1; +\end{verbatim} + +とする。 + +\hypertarget{readlines}{} +\item[関数] Readlines(path,filename,option) +\item[機能] テキストファイルを1行ずつ読む。 +\item[説明] テキストファイルを1行ずつ読みこむ。戻り値は読み込んだ文字列のリスト。 + +第1引数の path は,ファイルを作業フォルダ( 初期設定は fig )に置いた場合は省略することができる。そうでない場合は,フルパスで指定する。たとえば,"/Users/Hoge/Desktop" + \vspace{\baselineskip} \hypertarget{writeoutdata}{} \item[関数] WriteOutData(ファイル名,PDリスト) @@ -3315,6 +3351,9 @@ end//// println(Integrate("gr1",[0,3])); \end{verbatim} +数値積分ではなく,数式処理として定積分の値を求める場合は,Maxima を利用する。\hyperlink{calcbyM}{CalcbyM} +を参照。 + \vspace{\baselineskip} \hypertarget{inversefun}{} \item[関数] Inversefun(関数 , 範囲 , 値) @@ -4408,50 +4447,6 @@ PlotdiscR("3","dgeom(k,0.3)","k=[0,10]"); %\vspace{\baselineskip} \begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} -\hypertarget{readcsv}{} -\item[関数] Readcsv(path,filename,option) -\item[機能] csvファイルを読む。 -\item[説明] csvファイルを読みこむ。戻り値は読み込んだデータのリスト。 - -第1引数の path は,ファイルを作業フォルダ( 初期設定は fig )に置いた場合は省略することができる。そうでない場合は,フルパスで指定する。たとえば,"/Users/Hoge/Desktop" - -option は,"Flat=" で,"Flat=y" の場合は,読み込んだデータをリスト化したときに平滑化(1次元のリスト)にする。 初期設定は "Flat=n" - -【例】次のようなCSVファイル sample.csvを読み込むとする。 - -\begin{verbatim} - 12,14,15,18,13 - 9,13,17,21 -\end{verbatim} - -つまり,2行分のデータである。 - -\begin{verbatim} - data=Readcsv("sample.csv"); -\end{verbatim} - -とすると, -\begin{verbatim} - data=[[12,14,15,18,13],[9,13,17,21]] -\end{verbatim} - -となる。 - -したがって,1行目のデータだけ取り出したい場合は - -\begin{verbatim} - dt1=data_1; -\end{verbatim} - -とする。 - -\hypertarget{readlines}{} -\item[関数] Readlines(path,filename,option) -\item[機能] テキストファイルを1行ずつ読む。 -\item[説明] テキストファイルを1行ずつ読みこむ。戻り値は読み込んだ文字列のリスト。 - -第1引数の path は,ファイルを作業フォルダ( 初期設定は fig )に置いた場合は省略することができる。そうでない場合は,フルパスで指定する。たとえば,"/Users/Hoge/Desktop" - \vspace{\baselineskip} \hypertarget{scatterplot}{} \item[関数] Scatterplot(name,filename/datalist,option1,option2) @@ -4576,7 +4571,7 @@ Maximaは数式処理ソフトで,\ketcindy においては微積分の計算 \vspace{\baselineskip} $f(x)=\dfrac{e^x+e^{-x}}{2}$ の,$x=a$における接線の方程式を作る。 -Maximaでその処理を行うコマンドを定義し,CalbyMで実行する。 +Maximaでその処理を行うコマンドを定義し,CalcbyMで実行する。 \begin{verbatim} fx="(exp(x)+exp(-x))/2"; cmdL=[ @@ -4594,7 +4589,7 @@ Maximaでその処理を行うコマンドを定義し,CalbyMで実行する (%e^a-%e^-a)*(x-a))/2+(%e^a+%e^-a)/2 \end{verbatim} が表示される。\\ - この,CalbyMの戻り値 tn1 を用いて,曲線上の1点Aにおける接線のグラフを描く。以下のスクリプトを追加する。なお,点AをCinderellaの作図ツールで適当なところにとっておく。 + この,CalcbyMの戻り値 tn1 を用いて,曲線上の1点Aにおける接線のグラフを描く。以下のスクリプトを追加する。なお,点AをCinderellaの作図ツールで適当なところにとっておく。 \begin{verbatim} tn1=Assign(tn1,["%e^a","exp(a)","%e^-a","exp(-a)"]); Plotdata("1",fx,"x"); @@ -4635,12 +4630,22 @@ Maximaでその処理を行うコマンドを定義し,CalbyMで実行する cmdLで定義しているMaximaのコマンド(trigsimp など)については,Maximaの解説書などを参照されたい。 -%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} -%\vspace{\baselineskip} -%\hypertarget{example}{} -%\item[関数] Example("Mxfun",文字) -%\item[機能] Mxfunの使用例を表示。文字は "a","b",など。 -%\item[説明] たとえば,\verb|Example("Mxfun","a")| とすると,Mxfunの使用例がコンソールに表示される。 +\vspace{\baselineskip} +【例】定積分の値を求める。 + +\vspace{\baselineskip} +$\displaystyle \int _{-1} ^2 (-x^3+3x+2)dx$ の値を求める。結果は val で受け取り,Mxtex() に渡して,TeX書式にして表示する。 + +\begin{verbatim} + cmdL=[ + "val:integrate",["-x^3+3*x+2,x,-1,2"], + "val",[] + ]; + CalcbyM("val",cmdL); + Mxtex("1",val); + Expr([[2,2],"e","S="+tx1]); +\end{verbatim} + \vspace{\baselineskip} \hypertarget{mxbatch}{} @@ -5950,7 +5955,9 @@ KeTCindy3Dでは,線や面についての陰線処理を行う。陰線処理 \item[機能] KeTCindy3Dの使用宣言 \item[説明] Cinderellaの画面を3Dモードにする。 -Cinderellaの描画面に,視点移動のための2つのスライダを作る。スライダは初期位置が左端になる。 +Cinderellaの描画面に,視点移動のための2つのスライダを作る。スライダは初期位置が左端になる。スライダTHで角THETAを,スライダFIで角PHIを内部変数として定義する。 + +引数に0を入れて \verb|Ketinit3d(0)| とすると,副画面を表示しない。 \textcolor{red}{<重要>} @@ -5967,7 +5974,7 @@ Cinderellaの作図ツールで,点・線分を作図すると,内部関数 作図した点の名称をインスペクタで変更した場合,新しい名称に対応する点を副画面上に作成するが,以前の点は消えないので要注意。たとえば,点Aを作図した後,主画面上の点Aをインスペクタで点Dに変えた場合,副画面上に新たにDzができるが,以前のAzも残る。残ったAzは,選択しておいて作図ツールの消去ボタン \includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/delete.pdf}で消すことができる。 -optionに,除外点のリストを与えると,その点は空間点としない。(始点を移動しても位置は変わらない) +optionに,除外点のリストを与えると,その点は空間点としない。(スライダで視点を移動しても位置は変わらない) %---------------- Startsurf -------------------------------------------- \vspace{\baselineskip} @@ -5990,7 +5997,7 @@ optionsがないときは,以下の 初期設定を用いる。 (3) ExeccmdC(); で,C言語を用いてまとめて描画する。 -%-------------------Xyzcoord ----------------------------------------------- +%-------------------Xyzaxdata3d ----------------------------------------------- \begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} \vspace{\baselineskip} \hypertarget{xyzax3data}{} @@ -6035,21 +6042,21 @@ optionsがないときは,以下の 初期設定を用いる。 \begin{description} %---------------- Drawpoint3d -------------------------------------------- -\hypertarget{drawpoint3d}{} -\item[関数] Drawpoint3d(座標) -\item[機能] 空間点を描く -\item[説明] 引数で与えた空間座標の点を描く。この点は幾何点ではない。また,TeX にも出力されない。幾何点にするには \hyperlink{putpoint3d}{Putpoint3d()} を用いる。TeXに点を出力するには,\hyperlink{pointdata3d}{Pointdata3d()} を用いる。 +%\hypertarget{drawpoint3d}{} +%\item[関数] Drawpoint3d(座標) +%\item[機能] 空間点を描く +%\item[説明] 引数で与えた空間座標の点を描く。この点は幾何点ではない。また,TeX にも出力されない。幾何点にするには \hyperlink{putpoint3d}{Putpoint3d()} を用いる。TeXに点を出力するには,\hyperlink{pointdata3d}{Pointdata3d()} を用いる。 -引数は,座標のリストにすることもできる。 +%引数は,座標のリストにすることもできる。 -\vspace{\baselineskip} -【例】 -\begin{verbatim} - Drawpoint3d([1,1,1]); - Drawpoint3d([[1,1,1],[0,1,0]]); -\end{verbatim} +%\vspace{\baselineskip} +%【例】 +%\begin{verbatim} +% Drawpoint3d([1,1,1]); +% Drawpoint3d([[1,1,1],[0,1,0]]); +%\end{verbatim} -\vspace{\baselineskip} +%\vspace{\baselineskip} %---------------- Pointdata3d -------------------------------------------- \hypertarget{pointdata3d}{} @@ -6088,7 +6095,7 @@ optionは,"fix"( 初期設定) または "free"。リスト ["free"] にして \verb|Putpoint3d(["A",[2,1,3]],"free");| \vspace{\baselineskip} - なお,この関数は幾何点を作るものであり,TeXには出力されない。TeXに点を出力するには,\hyperlink{pointdata}{Pointdata()} または \hyperlink{drwpt}{Drawpoint()}を併用する。 + なお,この関数は幾何点を作るものであり,TeXには出力されない。TeXに点を出力するには,\hyperlink{pointdata}{Pointdata()} を併用する。 空間における点の座標は,点名に"3d"を付加した名前の変数に代入される。たとえば,点Aの座標はA3dである。これにより,点の座標を取得できる。 @@ -6327,11 +6334,7 @@ Putpoint3d("D",2*[-1,-1/sqrt(3),0]); phd=Concatobj([[A,B,C],[A,B,D],[A,C,D],[B,C,D]]); VertexEdgeFace("1",phd); Skeletonparadata("1"); -pa=Parapt(A3d); -pb=Parapt(B3d); -pc=Parapt(C3d); -pd=Parapt(D3d); -Letter([pa,"ne","A",pb,"sw","B",pc,"se","C",pd,"e","D"]); +Letter3d([A3d,"ne","A",B3d,"sw","B",C3d,"se","C",D3d,"e","D"]); \end{verbatim} \begin{center} \input{Fig/concatobj} \end{center} @@ -6975,13 +6978,13 @@ ExeccmdC()の options2を ["nodisp"] にすると,陰線は非表示になる Intersectcrvsf("1","sl3d1",fd); ExeccmdC("1",[""]); println("Intersect="+intercrvsf1); - Drawpoint3d(intercrvsf1); + Pointdata3d("1",intercrvsf1); \end{verbatim} 実行すると,コンソールに \verb| Intersect=[[0,1.57,1.52],[0,-1.91,0.36]] | -のように表示され,画面には緑で交点が表示される。 +のように表示され,画面には交点が表示される。 %------------------- IntersectsgpL ----------------------------------------------- \vspace{\baselineskip} @@ -7029,18 +7032,17 @@ println("flag1="+ret_2+": flag2="+ret_3); \begin{layer}{150}{0} \putnotese{10}{20}{ \input{Fig/wire01}} \putnotese{60}{20}{ \input{Fig/wire02}} -\putnotese{10}{60}{ \input{Fig/wire03}} -\putnotese{60}{60}{ \input{Fig/wire04}} \end{layer} \begin{verbatim} p2=[0,0,1/2]; p2=[-1,1,1]; flag1=false : flag2=true flag1=true : flag2=true - - - - - - +\end{verbatim} +\vspace{30mm} +\begin{layer}{150}{0} +\putnotese{10}{20}{ \input{Fig/wire03}} +\putnotese{60}{20}{ \input{Fig/wire04}} +\end{layer} + \begin{verbatim} p2=[1,2,1]; p2=[1,0,1/2]; flag1=true : flag2=false flag1=false : flag2=false \end{verbatim} @@ -7568,12 +7570,11 @@ none:計算だけ行い,点は作図しない。 Defvar("vo=[3,3,3]"); Defvar("vx=[0,1,0]"); Defvar("vy=[0,0,1]"); - Putpoint3d(["A",[3,3,3]]); + Putpoint3d(["A",[3,3,3]],["fix"]); Circledata("1",[[0,0],[2,0]],["nodisp"]); Listplot("1",[[0,2],[-sqrt(3),-1],[sqrt(3),-1],[0,2]],["nodisp"]); Embed("1",["cr1","sg1"],"vo+x*vx+y*vy","[x,y]"); - Ptsize(3); - Drawpoint(A); + Pointdata("1",[A],["Size=3"]); \end{verbatim} \begin{center} \input{Fig/embed01} \end{center} @@ -7610,8 +7611,7 @@ none:計算だけ行い,点は作図しない。 Circledata("1",[[0,0],[2,0]],["nodisp"]); Listplot("1",[[0,2],[-sqrt(3),-1],[sqrt(3),-1],[0,2]],["nodisp"]); Embed("1",["cr1","sg1"],"P3d+x*(E3d-P3d)+y*(F3d-P3d)","[x,y]"); - Ptsize(3); - Drawpoint(P); + Pointdata("1",[P],["Size=3"]); Skeletonparadata("1"); \end{verbatim} \begin{center} \input{Fig/embed02} \end{center} @@ -7651,14 +7651,14 @@ none:計算だけ行い,点は作図しない。 \begin{center}\scalebox{0.8}{ \input{Fig/invparapt}} \end{center} ここで,sl2d1,sc2d1 は線分と螺旋の描画面上での(平面の)プロットデータである。Intersectcrvs() で平面上の交点の座標(複数あるのでリストが返る)を求め,Invparapt() で対応する螺旋上の点の座標を求めて部分曲線を描いている。実際に交わる点での部分曲線ではないことに注意。 - +%------------------- Expr3d ----------------------------------------------- \vspace{\baselineskip} \hypertarget{expr3d}{} \item[関数] Expr3d([位置, 方向, 文字列],option) \item[機能] 文字列を表示する \item[説明] Expr() と同じ書式。「位置(座標)」だけ,空間座標にする。 - +%------------------- Letter3d ----------------------------------------------- \vspace{\baselineskip} \hypertarget{letter3d}{} \item[関数] Letter3d([位置, 方向, 文字列],option) @@ -7809,8 +7809,8 @@ Cinderellaで使っている用語に次のものがある。 \hyperlink{deqplot}{Deqplot(name,式,変数名,初期値,options])} \>微分方程式の解曲線を描く\\ \hyperlink{dotfilldata}{Dotfilldata(name , 方向, PD , options)} \>領域に点を敷き詰める\\ \hyperlink{drawsegmark}{Drawsegmark(name,list,options)} \>線分に印をつける\\ -\hyperlink{drwpt}{Drawpoint([点,options])} \>点を表示する\\ -\hyperlink{drwpt}{Drwpt([点,options])} \>点を表示する\\ +%\hyperlink{drwpt}{Drawpoint([点,options])} \>点を表示する\\ +%\hyperlink{drwpt}{Drwpt([点,options])} \>点を表示する\\ \hyperlink{ellipseplot}{Ellipseplot(name,list,str,options)} \>楕円を描く\\ \hyperlink{enclosing}{Enclosing(name , [位置,方向,数式])} \>複数の曲線から閉曲線を描く\\ \hyperlink{expr}{Expr([座標,位置,文字列],options)} \>\TeX 数式を書く\\ @@ -7894,6 +7894,8 @@ Cinderellaで使っている用語に次のものがある。 \hyperlink{ptcrv}{Ptcrv(n,PD)} \>曲線PD のn 番目の節点を取得する\\ \hyperlink{ptstart}{Ptstart(PD)} \>プロットデータの始点・終点を取得する\\ \hyperlink{readoutdata}{ReadOutData(ファイル名)} \>外部データをPDとして読み込む\\ +\hyperlink{readcsv}{Readcsv(name,filename,option)} \>csvファイルを読む\\ +\hyperlink{readlines}{Readlines(name,filename,option)} \>テキストファイルを1行ずつ読む\\ \hyperlink{sqr}{Sqr(real)} \>平方根を返す\\ \hyperlink{viewtex}{Viewtex()} \>\TeX のソースファイルを書き出す。引数なし\\ \hyperlink{workprocess}{Workprocess()} \>作図の経過を取得する\\ @@ -7932,8 +7934,6 @@ Cinderellaで使っている用語に次のものがある。 \hyperlink{histplot}{Histplot(name,data)} \>ヒストグラムを描く\\ \hyperlink{plotdatar}{PlotdataR(name,式,変数)} \>Rの関数のグラフを描く\\ \hyperlink{plotdiscr}{PlotdiscR(name,式,変数)} \>離散型のグラフを描く\\ -\hyperlink{readcsv}{Readcsv(name,filename,option)} \>csvファイルを読む\\ -\hyperlink{readlines}{Readlines(name,filename,option)} \>テキストファイルを1行ずつ読む\\ \hyperlink{scatterplot}{Scatterplot(name,filename,option)} \>2次元データを読み込み,散布図を描く\\ \vspace{\baselineskip} 【Maximaとの連携】\\ @@ -7985,7 +7985,7 @@ Cinderellaで使っている用語に次のものがある。 \hyperlink{datalist}{Datalist2d()} \>画面に描かれているすべてのプロットデータ\\ \hyperlink{datalist}{Datalist3d()} \>画面に描かれているすべてのプロットデータ\\ \hyperlink{dist3d}{Dist3d(点名,点名)} \>空間の2点の距離\\ -\hyperlink{drawpoint3d}{Drawpoint3d(座標)} \>空間点を描く\\ +%\hyperlink{drawpoint3d}{Drawpoint3d(座標)} \>空間点を描く\\ \hyperlink{embed}{Embed(name,PD,式)} \>埋め込みデータ作成\\ \hyperlink{execcmdc}{ExeccmdC(name,options1,options2)} \>C言語で命令実行\\ \hyperlink{expr3d}{Expr3D([座標,位置,文字列],options)} \>文字列を表示する\\ diff --git a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxE.tex b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxE.tex index f567a0a9072..8145b7fb7a8 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxE.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxE.tex @@ -34,7 +34,8 @@ How to install KeTCindy(Mac) \begin{itemize} \item Files necessary for KeTCindy are already implemented (2018 or later). \end{itemize} - \item In case of other TeX, see {\bf 3.}(2). + \item KeTTeX is a light-weight version of TeXLive and downloadable from\\ + \hspace*{6mm}\url{https://www.dropbox.com/s/vg8p07832e9hzlk/KeTTeX-linux-20171022.tar.xz?dl=0} \end{enumerate} @@ -48,16 +49,10 @@ How to install KeTCindy(Mac) \hspace*{10mm}Clone or Download \verb|>| Download ZIP \end{itemize} \item Open ketcindy(-master)/forLinux. - \begin{itemize} - \item[Rem)]If you use TeX other than TeXLIve/KeTTeX, - \begin{itemize} - \item Open setketcindy.command with a text editor. - \item Edit paths in it. - \end{itemize} - \end{itemize} \item Open Terminal and execute setketcindy.sh with sh command \begin{itemize} - \item Control-click and select Terminal if necessary. + \item if some paths are wrong,\\ + \hspace*{5mm}open setketcindy.sh with a text editor, and edit paths written in it. \item Contents of scripts will be copied into TeX. \item ketcindystyle files will be copied and mktexlsr will be executed. \item In Cinderella/PlugIns\\ @@ -86,7 +81,7 @@ How to install KeTCindy(Mac) \item Test run of KeTCindy \begin{enumerate}[(1)] - \item Double-click "template1basic.cdy" in "ketcindy/ketfiles".\\ + \item Double-click "template1basic.cdy" in work directory "ketcindy".\\ \hspace*{10mm}Then a frame in white appear on the screen. \end{enumerate} \item Press "Figure" button at the top left, then the final PDF output is displayed. \begin{itemize} diff --git a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxJ.tex b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxJ.tex index 69784439e61..a7c876e09dd 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxJ.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeLinuxJ.tex @@ -35,7 +35,9 @@ KETCindyのインストール (Linux) \begin{itemize} \item 2018以降ではketcindyが既に入っている. \end{itemize} - \item 他のTeXの場合は,{\bf 3.}(2)を参照する. +\item KeTTeXはTeXLiveの軽量版で,以下からダウンロードできる.\\ + \hspace*{6mm}\url{https://www.dropbox.com/s/vg8p07832e9hzlk/KeTTeX-linux-20171022.tar.xz?dl=0} +% \item 他のTeXの場合は,{\bf 3.}(2)を参照する. \end{enumerate} \item KeTCindyのインストール @@ -50,15 +52,10 @@ KETCindyのインストール (Linux) \item[注)]この場合は,ketcindy-masterになる. \end{itemize} \item ketcindy(-master)/forLinuxを開く. - \begin{itemize} - \item[注)]他のTeXを使っている場合 - \begin{itemize} - \item setketcindy.shをテキストエディタで開く. - \item パスを修正する. - \end{itemize} - \end{itemize} \item ターミナルのshコマンドでsetketcindy.shを実行. \begin{itemize} + \item 表示されるパスが違っている場合\\ + \hspace*{10mm}setketcindy.shをテキストエディタで開いて,パスを修正する. \item scriptsの中身がTeXにコピーされる \item ketcindyのstyleファイルがTeXにコピーされmktexlsrが実行される. \item CinderellaのPluginsにKetcindyPlugin.jarをコピー,ketcindy.iniが作成される. diff --git a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeMacE.tex b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeMacE.tex index 880f70d9e54..bafe8c7c61c 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeMacE.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeMacE.tex @@ -94,7 +94,7 @@ How to install KeTCindy(Mac) \item Test run of KeTCindy \begin{enumerate}[(1)] - \item Double-click "template1basic.cdy" in "ketcindy/ketfiles".\\ + \item Double-click "template1basic.cdy" in work directory "ketcindy".\\ \hspace*{10mm}Then a frame in white appear on the screen. \end{enumerate} \item Press "Figure" button at the top left, then the final PDF output is displayed. \begin{itemize} diff --git a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeWinE.tex b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeWinE.tex index 60847ef8e23..eecd1de9e7b 100644 --- a/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeWinE.tex +++ b/Master/texmf-dist/doc/support/ketcindy/source/readme/ReadmeWinE.tex @@ -96,7 +96,7 @@ How to install KeTCindy(Windows) \item Test run of KeTCindy \begin{enumerate}[(1)] - \item Double-click "template1basic.cdy" in "ketcindy/ketfiles".\\ + \item Double-click "template1basic.cdy" in work directory "ketcindy".\\ \hspace*{10mm}Then a frame in white appear on the screen. \end{enumerate} \item Press "Figure" button at the top left, then the final PDF output is displayed. \begin{itemize} diff --git a/Master/texmf-dist/doc/support/ketcindy/source/spacekc/SpacekcReferenceE.tex b/Master/texmf-dist/doc/support/ketcindy/source/spacekc/SpacekcReferenceE.tex new file mode 100644 index 00000000000..642b5efe38a --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/spacekc/SpacekcReferenceE.tex @@ -0,0 +1,619 @@ +\documentclass[papersize,a4paper,12pt]{article} +\usepackage{ketpic,ketlayer} +\usepackage{amsmath} +\usepackage{graphicx,color} +\usepackage{wrapfig} +\usepackage[bookmarks=false,colorlinks=true,linkcolor=blue]{hyperref} +\setmargin{20}{20}{15}{25} +\usepackage{setspace} +\usepackage{comment} +\usepackage{bm,enumerate} +\begin{document} +\title{Spacekc Reference} +\author{CinderellaJapan} +\maketitle + +\tableofcontents + +\newpage + +% Section 1 Introduction ======================================= +\section{Introduction } +Spacekc is a function library on Ketcindy. To KeTCindy's 3D graphics, color with simple raytracing +be able to. In addition, several functions for calculating relating to space are prepared. + +%Section 2 ========================================== +\section{Constant} + +\begin{description} + +\hypertarget{lightpoint}{} +\item[Direction vector of light source] Lightpoint +\item[Description] Direction vector of light source for simplified ray tracing. Default is [-1,1,1]. + +\vspace{\baselineskip} +\hypertarget{contrast}{} +\item[Contrast] Contrast +\item[Description] Contrast in the direction of light when performing simple ray tracing. Standard is a real number between 0 and 1. + +\end{description} + +%Section 3 Value ========================================== +\section{Value} +\begin{description} + +\hypertarget{angle3pt}{} +\item[Function] angle3pt(coordinate1,coordinate2,coordinate3) +\item[Description] Find an angle on a 2D plane. +\item[Return value] This function is return ∠p1p2p3 for point p1,p2,p3. + +\vspace{\baselineskip} + +\hypertarget{pointindomain}{} +\item[Function] pointindomain(coordinate1,list of point) +\item[Description] Judgment whether or not there is a point in the closed curve. +\item[Return value] The judgment that this function has a point of coordinate1 in the closed curve of the list of points on a plane. The case in the domain return 1 , out of domain return 0, on a boundary line return 2. + +\vspace{\baselineskip} + +\hypertarget{crosssd}{} +\item[Function] crosssd(coordinate1,coordinate2,coordinate3,coordinate4) +\item[Description] determine whether two segments cross in 2D plane +\item[Description] judge it whether a segment of links coordinate 3, coordinate 4 to the segment of linking coordinate 1, coordinate 2 has a common point. +\item[Return value] When there is a common point, true is returned, and false is returned when there is not it. + +\vspace{\baselineskip} + +\hypertarget{interll}{} +\item[Function] interll(coordinate1,coordinate2,coordinate3,coordinate4) +\item[Description] Demand the point of intersection of the two straight lines +\item[Return value] Demand the coordinate of the point of intersection with the straight line via coordinate 1, coordinate 2 and coordinate 3, coordinate 4. When there is not a point of intersection, It return [i,i,i]. + +\vspace{\baselineskip} + +\hypertarget{interss}{} +\item[Function] interss(coordinate1,coordinate2,coordinate3,coordinate4) +\item[Description] Demand the point of intersection of the two segments. +\item[Return value]Demand the coordinate of the point of intersection with the segment via coordinate 1, coordinate 2 and coordinate 3, coordinate 4. + + When there is not a point of intersection, It return [i,i,i]. + +\vspace{\baselineskip} +\hypertarget{interpl}{} +\item[Function]interpl(list of coefficients ,coordinate1,coordinate2) +\item[Description] Demand a plane and the point of intersection of the straight line. +\item[Return value] Demand the coordinate of the point of intersection with the plane via coordinate 1, coordinate 2, coordinate 3 and line via coordinate 4 , coordinate 5. + + When there is not a point of intersection, It return [i,i,i]. + +\vspace{\baselineskip} +\hypertarget{interps}{} +\item[Function] interps(list of coefficients ,coordinate1,coordinate2) +\item[Description] Demand a plane and the point of intersection of the segment +\item[Return value] Demand the coordinate of the point of intersection with the plane via coordinate 1, coordinate 2, coordinate 3 and segment to link coordinate 4 to coordinate 5. + + When there is not a point of intersection, It return [i,i,i]. + +\hypertarget{distlp}{} +\item[Function] distlp(coordinate1,coordinate2,coordinate3) +\item[Description] Distance of a line to a point . +\item[Return value] It find a straight line via coordinate1 and coordinate2 and the distance with the point of coordinate3. The return value is distance. When coordinate 1 and coordinate 2 is equal, return imaginary unit i and display warning "Warning:p1 is same to p2" to a console. + +Example println(distlp([1,0],[0,1],[0,0])); \\ +In addition, 0.71 is displayed to a console by plintln(), but is displayed with 1/2*sqrt(2) by \\ + println(guess(distlp([1,0],[0,1],[0,0])));\\ + +Example println(distlp([1,1,0],[0,0,1],[0,0,0])); +In addition, 0.82 is displayed to a console by plintln(), but is displayed with 1/3*sqrt(6) by \\ + println(guess(distlp([1,1,0],[0,0,1],[0,0,0])));\\ + + +\vspace{\baselineskip} +\hypertarget{distpp}{} +\item[Function] distpp(coordinate1,coordinate2,coordinate3,coordinate4) +\item[Description] Distance of a plene and a point in 3D space +\item[Return value] It find a plane via coordinate1 ,coordinate2 and coordinate2 and the distance with the point of coordinate4. The return value is distance. + +Example distpp([2,0,0],[0,2,0],[0,0,2],[0,0,0]);\\ + return value is $\cfrac{2\sqrt{3}}{3}$ \\ + +\vspace{\baselineskip} +\hypertarget{map2d}{} +\item[Function] Coordinate of the point that projection of space +\item[Description] In a current screen set with a circular slider, It find the coordinate which performed a projection of a point on the space on a plane. +\item[Return value] coordinate + +Example : pt=map2d([1,2,3]); + +It is exactly the same as KeTindy's Parapt (). + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{normalvec}{} +\item[Function] normalvec(coordinate1,coordinate2,coordinate3) +\item[Description] It demand a plane unit normal vector via coordinate 1, coordinate 2, coordinate 3. +\item[Return value] normal vector. + + The direction of the vector is decided in order of a point.\\ +Exsample normalvec([2,0,0],[0,2,0],[0,0,2]);\\ + Result is $\left(\cfrac{\sqrt{3}}{3},\cfrac{\sqrt{3}}{3},\cfrac{\sqrt{3}}{3}\right)$\\ + normalvec([2,0,0],[0,0,2],[0,2,0]); \\ + Result is $\left(-\cfrac{\sqrt{3}}{3},-\cfrac{\sqrt{3}}{3},-\cfrac{\sqrt{3}}{3}\right)$\\ + +The vector of the perpendicular line which you gave to a plane is provided when you use distpp()\\ + + nv=normalvec([2,0,0],[0,2,0],[0,0,2]);\\ + dd=distpp([2,0,0],[0,2,0],[0,0,2],[0,0,0]);\\ + poly3d([[2,0,0],[0,2,0],[0,0,2]]);\\ + arrow3d([[0,0,0],dd*nv]);\\ + Letter3d([dd*nv,"e","H"]);\\ + + \input{3Dfig/nomalvec01}\\ + + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + + +\hypertarget{planecoeff}{} +\item[Function] planecoeff(coordinate1,coordinate2,coordinate3) +\item[Description] It demands coefficient $a,b,c$ of plane equation $ax+by+cz=1$ going along three points of coordinate 1 and coordinate 2 and coordinate 3. +\item[Return value] List [a,b,c]. When coefficiets not exist, "Warning! Cannot decide a coefficient." is displayed and return [i,i,i].\\ + + +\vspace{\baselineskip} +\hypertarget{reflect3d}{} +\item[Function] reflect3d(dlist,mirror) +\item[Description] Reflection of dlist. dlist is point or plot data or face data. +\item[Return value] Data of the same type as the first argument. + +\vspace{\baselineskip} + +\hypertarget{rotate3d}{} +\item[Function] rotate3d(dlist,vec,angle,center) +\item[Description] Rotaate of dlist. dlist is point or plot data or face data. +\item[Return value] Data of the same type as the first argument. + + +\hypertarget{translate3d}{} +\item[Function] rotate3d(dlist,vec,angle,center) +\item[Description] Translate of dlist. dlist is point or plot data or face data. +\item[Return value] Data of the same type as the first argument. + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\vspace{\baselineskip} +\hypertarget{rotmatrix}{} +\item[Function] rotmatrix(vec) +\item[Description] Make rotation matrix from normal vectors. +\item[Return value] List. + +\vspace{\baselineskip} + +\hypertarget{vertexrpolyhedron}{} +\item[Function] vertexrpolyhedron(n) +\item[Description] Acquire a list of tops of the regular polyhedron +\item[Description] The value of n is one of 4,6,8,12,20. +\item[Return value] list of vertexs of the regular polyhedron that touches the spherical surface of radius 1 internally. The turn of the vertexs are as follows. It is alphabetical order each. + +\input{3Dfig/vertex4} \input{3Dfig/vertex6} + +\input{3Dfig/vertex8} \input{3Dfig/vertex12} + +\input{3Dfig/vertex20} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{val2tex}{}\item[Function] val2tex(x) +\item[Description] Analyze numerical values with guess () +\item[Return value] TeX character string. + +Example +\begin{verbatim} + pa=[2,0,0]; + pb=[0,2,0]; + pc=[0,0,2]; + nv=normalvec(pa,pb,pc); + hv=distpp(pa,pb,pc,[0,0,0])*nv; + hvstr=apply(hv,val2tex(#)); + plate3d("1",[pa,pb,pc],["Color=skyblue","Rayoff"]); + poly3d("1",[pa,pb,pc]); + arrow3d("1",[[0,0,0],hv],["size=2"]); + letter3d([pa,"s2",text(pa_1),pb,"s2",text(pb_2),pc,"w2",text(pc_3), + hv,"ne2","H$\left( "+hvstr_1+","+hvstr_2+","+hvstr_3+" \right)$"]); +\end{verbatim} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\end{description} +\newpage + +%Section 4 Drawing ========================================= +\section{Drawing} + +\textbf{options} + +<Density of the mesh> The curved surface is described in mesh. This options appoints the number of process lines of this time. + +The density of the mesh is appointed like "Mesh=[10,15]". + +<Concentration>The concentration is appointed with real numbers from 0 to 1. + +\textbf{<Ray tracing>} + +Specify whether to add shadows in ray tracing. When shadowing "Rayon", do not shade when "Rayoff". The default setting is "Rayon" + +%\newpage +\begin{description} + +\hypertarget{grid}{} +\item[Function] grid(range1,range2,ne,option) +\item[Description] Display grid on $ xy $ plane. +\item[Description] Range 1 is the range of the $ x $ axis, and range 2 is the range of the $ y $ axis. +\item[Return value] none. + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{line3d}{} +\item[Function] line3d(name,list ,option) +\item[Description] This function draws a lint linking two points in list of the argument. +\item[Return value] list of 2nd argument. + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{arrow3d}{} +\item[Function] arrow3d(name,list,option) +\item[Description] This function draws an arrowed line by list of two points of coordinates. + \item[Return value] list of 2nd argument. + +\vspace{\baselineskip} + Example The next script draws an arrowed line linking two points of $(1,3,2), (-2,-1,-2)$. + +\hspace{10mm} \verb|arrow3d("1",[[1,3,2],[-2,-1,-2]])| + + Example The next script draw a straight line via two points of $(1,3,2), (-2,-1,-2)$ with 2 thickness red. + +\hspace{10mm} \verb|arrow3d("1",[[2,0,0],[-1,4,1]],[2,1,1,"dr,2","Color=red"])| + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{poly3d}{} +\item[Function] poly3d(name,list,option) +\item[Description] This function draws a polygon to link the point that I gave in list. + The point to give in list does not need to be closed. It is closed automatically and is drawn. +\item[Return value] Plot data of the drawn polygon. + + Example The next script draws a triangle to assume three points of $(1,1,1), (2,2,1),(0,1,-1)$ a top. +\begin{verbatim} + pd=[[1,1,1],[2,2,1],[0,1,-1]]; + poly3d("1",pd); +\end{verbatim} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{plate3d}{} +\item[Function] plate3d(name,list,option) +\item[Description] This function applies a polygon to link the point that I gave in list. +\item[Return value] Plot data of the drawn polygon. + +With the Rayoff option, ray tracing is not performed. + + Example : The next script applies a triangle to assume three points of $(1,1,1), (2,2,1),(0,1,-1)$ a top with red. +\begin{verbatim} + pd=[[1,1,1],[2,2,1],[0,1,-1]]; + plate3d("1",pd,["Color=Red"]); +\end{verbatim} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{circle3d}{} +\item[Function] circle3d(name,center,normal vector,radius,option) +\item[Description] This function gives the center, a radius and a normal vector and draws the circle. +\item[Return value] Plotdata of circle. + + Example : The next script describes the circle that central $(1,1,1)$, radius 2, a normal vector are (1,1,1) in thickness 2, red.\\ + +\verb| circle3d("1",[1,1,1],[1,1,1],2,["dr,2","Color=Red"]); | + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{drawarc3d}{} +\item[Function] drawarc3d(name,center,normal vector,radius,range,option) +\item[Description] Draw an arc as a part of the circle drawn by giving the center, radius and normal vector. +\item[Return value] Plotdata of arc. + + Example : Draw arc with center $ (1,1,1) $, radius 2, normal vector (-1, 1, 1). + +\verb| drawarc3d("1",[1,1,1],[-1,1,1],2,[0,2*pi/3]); | + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{disc3d}{} +\item[Function] disc3d(center,nomal vector,radius,options) +\item[Description] This function gives the center, a radius and a normal vector and draws a disk. +\item[Return value] Plotdata of circle. + +With the Rayoff option, ray tracing is not performed. + + Example : The next script draws the disk that central $(1,1,1)$, radius 2, a normal vector are (1,1,1) at red\\ + + \verb| disc3d("1",[1,1,1],[1,1,1],2,["Color=Red"]); | + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{drawsphere}{} +\item[Function] drawsphere(name,center,radius,opton) +\item[Description] This function describes the origin center, draw spherical surface of radius r. + +Draw a spherical surface with gradation by using simple ray tracing. The spheres are divided into meshes and coloring is done. + +The radius can also be specified as a list for the x axis, y axis, z axis direction. + +Drawing takes time. If it takes too much time, try drawing with "Mesh = [10, 10]" as an option. If you can draw it, make the mesh finer. The initial value is "Mesh = [30, 20]". + +\item[Return value] none + +\vspace{\baselineskip} +Example : Origin center, spherical surface with radius 2 (left figure) + +\verb|drawsphere("1",[0,0,0],2) | + +Draw a sphere with an ellipse shape in green (0, 0, 2) and a radius [1, 1, 2] in green ( right figure) + +\verb|drawsphere("1",[0,0,2],[1,1,2],["Color=green","Mesh=[20,20]"])| + + \input{3Dfig/sphere01} \hspace{10mm} \input{3Dfig/sphere02} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{quasisphere}{} +\item[Function] quasisphere(name,center,radius,fill,opton) +\item[Description] This function describes the origin center, draw a quasi spherical surface of radius r. + +fill is a flag indicating whether or not to color. If it is 1, it paints. If 0 it does not paint. This argument can be omitted. The default is 1. + +\item[Return value] Plotdata of circle. + +\vspace{\baselineskip} +Example \verb|quasisphere("1",[0,0,1],1]);| + + \input{3Dfig/sphere03} + +It is faster than drawing with Sfbdparadata () and ExeccmdC () because it does not handle hidden lines. By using this, if you make a script like the following, you can see that pseudo sphere is sufficient. + +\begin{verbatim} +pd1=quasisphere("1",[0,0,0],2,["nodisp"]); +pd2=circle3d("1",[0,0,0],[0,1,sqrt(3)],2,["nodisp"]); +pd3=circle3d("2",[0,0,-1],[0,0,1],sqrt(3),["nodisp"]); +sp=apply(pd1,map2d(#)); +su1=apply(pd2,map2d(#)); +su2=apply(pd3,map2d(#)); +Listplot("1",sp,["nodisp"]); +Listplot("2",su1); +Listplot("3",su2,["Color=blue"]); +int1=Intersectcrvs("sg1","sg2"); +int2=Intersectcrvs("sg1","sg3"); +println(int1); +println(int2); +p1=int1_1; +p2=int1_2; +p3=int2_1; +p4=int2_2; +Partcrv("1", p2, p1, "sg1"); +Partcrv("2", p3, p4, "sg3",["nodisp"]); +Partcrv("3", p4, p3, "sg1",["nodisp"]); +Joincrvs("1",["part2","part3"],["nodisp"]); +Shade(["join1"],["Color=[0.2,0,0,0]"]); +\end{verbatim} + + \input{3Dfig/sphere04} \hspace{10mm} \input{3Dfig/sphere05} + +When this script is executed, the number of intersection points int 1 and int 2 changes according to the viewpoint, so it is necessary to look at what is displayed on the console and set \verb | p1, p2, p3, p4 |. + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{polyhedron}{} +\item[Function] polyhedron(name,face data,option) +\item[Description] Drawing a polyhedron with colored surfaces. +\item[Return value] face data. + +With the Rayoff option, ray tracing is not performed. + +\vspace{\baselineskip} + Example : Cube ABCD - EFGH is drawn in green with the plane cut through B, D and G. + +\hspace{30mm}\input{3Dfig/polyhedron01} + +For the vertices B, C, D, G, make a surface list as follows. + +First, add numbers 1, 2, 3, 4 to vertices B, C, D and G. + +The plane BCG is B, C, G counterclockwise as seen from the outside, so [1, 2, 4] + +Since surface CDG is similarly C, D, G, [2, 3, 4] + +Since the planes DGB are similarly D, B, G, [3, 1, 4] + +Bottom BCD is B, D, C counterclockwise as seen from the outside [1, 3, 2] + + Therefore, with the coordinates of B, C, D, G as p1, p2, p3, p4, make surface data \verb | fd | as follows. + +\begin{verbatim} + p1=[2,0,0]; + p2=[2,2,0]; + p3=[0,2,0]; + p4=[2,2,2]; + fd=[[p1,p2,p3,p4],[[1,2,4],[2,3,4],[3,1,4],[1,3,2]]]; +\end{verbatim} + +Using this surface data, the cone is drawn as follows + + \verb| polyhedron("1",fd,["Color=Green"])| + +\hspace{30mm}\input{3Dfig/polyhedron02} + +Example : Draw polyhedron using polyhedrons obj polyhedron data by Kobayashi, Suzuki, Mitani. + Data is a regular polyhedron, semi-regular polyhedron, Johnson's solid, + +\url{http://mitani.cs.tsukuba.ac.jp/polyhedron/index.html } + +Specify the path to the folder polyhedrons obj storing this data with \verb| Setdirectory () |, and read it with \verb | Readobj () |. For example, when placed in a work directory (fig folder) + +\begin{layer}{150}{0} +\putnotese{90}{0}{\input{3Dfig/polyhedron03}} +\end{layer} + +\begin{verbatim} + Setdirectory(Dirwork+"/polyhedrons_obj"); + polydt=Readobj("s06.obj"); + Setdirectory(Dirwork); + fd=[2*polydt_1,polydt_2]; + polyhedron("1",fd); +\end{verbatim} + +Note that \verb| fd = [2 * polydt - 1, polydt - 2] | doubles the vertex coordinates. + +If you are drawing an edge, add the following. + +\begin{verbatim} +VertexEdgeFace("1",fd); +Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{convexhedron}{} +\item[Function] convexhedron(name,list ,magnification,option) +\item[Description] Draw a convex polyhedron with a vertex list and a surface painted. Magnification is the magnification to the size actually drawn for the vertex list. If it is 1 it can be omitted. +\item[Return value] face data + +\vspace{\baselineskip} +Example : A convex polyhedron whose bottom is a pentagon +\begin{verbatim} + th=2*pi/5; + pd=apply(1..5,[cos(#*th),sin(#*th),0]); + pd=pd++apply(1..5,[2*cos(#*th),2*sin(#*th),1]); + pd=append(pd,[0,0,2]); + println(pd); + fd=convexhedron("1",pd) +\end{verbatim} +\hspace{20mm}\input{3Dfig/convexhedron} + +If you are drawing an edge, use the return value as follows. + +\begin{verbatim} + fd=convexhedron("1",pd); + VertexEdgeFace("1",fd); + Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{rpolyhedron}{} +\item[Function] rpolyhedron(name, number of face ,radius,option) +\item[Description] Draw a regular polyhedron with a color-painted face. +There are five kinds of regular polyhedrons, and data is incorporated in Spacekc. \hyperlink {rpolydata} {vertex coordinates of regular polyhedron}. Using this, you can draw a regular polyhedron by specifying the number of faces and the radius of the circumscribed sphere. +\item[Return value] face data. + +\vspace{\baselineskip} + Example : Draw a regular dodecahedron painted with yellow face + +\verb| rpolyhedron("1",6,2,["Color=yellow"]);| + +\hspace{20mm}\input{3Dfig/rpolyhedron} + +If you are drawing an edge, use the return value as follows. +\begin{verbatim} +fd=rpolyhedron("1",12,2,["Color=yellow"]); +VertexEdgeFace("1",fd); +Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} + + +\vspace{\baselineskip} +Reference : Size of regular polyhedron + +In rpolyhedron (), draw with the size inscribed in the sphere of the specified radius. Here, the relationship between the radius and the side length is mentioned. $\phi=\cfrac{1+\sqrt{5}}{2}$ + + \input{3Dfig/rpolytable} + +Example : Draw a regular hexahedron with a side length of 2 +\begin{verbatim} + rpolyhedron(6,sqrt(3),["dr,2"]); +\end{verbatim} + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + + +\hypertarget{rfrustum}{} +\item[Function] frustum(name,n,r1,r2,h,option) +\item[Description] Put the face of a regular pyramid. +n : Number of corners + +r1,r2 : Radius of the circumscribed circle of the upper base and the lower base + +h : height + +\vspace{\baselineskip} + ExampleDraw a regular hexagonal pyramid + +\verb| frustum("1",6,1,2,3,["Color=yellow"]);| + +\hspace{20mm}\input{3Dfig/frustum01} + +If you are drawing an edge, use the return value as follows. + +\begin{verbatim} + fd=frustum("1",6,1,2,3,["Color=yellow"]); + VertexEdgeFace("1",fd); + Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} + + Example : + +\begin{verbatim} + fd=frustum("1",6,0,2,3,["Color=yellow"]); + VertexEdgeFace("1",fd); + Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} + +\hspace{20mm}\input{3Dfig/frustum02} + + Example : It becomes almost a cone when increasing the number of corners. The contour line is drawn as a curved surface with Sfbdparadata. + +\begin{layer}{150}{0} +\putnotese{90}{0}{\input{3Dfig/frustum03}} +\end{layer} + +\begin{verbatim} + frustum("1",108,0,2,4,["Color=yellow"]); + fd=[ + "p", + "x=r*cos(t)","y=r*sin(t)","z=2*(2-r)", + "r=[0,2]","t=[0,2*pi]","e" + ]; + Startsurf(); + Sfbdparadata("1",fd); + ExeccmdC("1"); +\end{verbatim} + +If it is the same size of the upper base and the lower base, it becomes a cylinder. + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$Function] list}\end{flushright} + +\hypertarget{hatch3d}{}\item[Function] hatch3d(name,方向,PD,option) +\item[Description] Hatch the closed curve. The closed curve is such as poly3d (), circle3d (); +Unlike KeTCindy 's Hatchdata (), only the closed curve is the target, so the direction is not in the argument. A color designation can be put in option, and if there is a color designation, hatch is applied with that color. You can not hatch multiple areas. +\item[Return value] none + +Example : Hatch the circle. +\begin{verbatim} + pd=circle3d("1",[1,1,1],[1,1,1],2,["dr,2"]); + hatch3d("1",pd,["Color=red"]); +\end{verbatim} + + \input{3Dfig/hatch1} + +\newpage +\end{description} + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/support/ketcindy/source/spacekc/SpacekcReferenceJ.tex b/Master/texmf-dist/doc/support/ketcindy/source/spacekc/SpacekcReferenceJ.tex new file mode 100644 index 00000000000..8895afad7f4 --- /dev/null +++ b/Master/texmf-dist/doc/support/ketcindy/source/spacekc/SpacekcReferenceJ.tex @@ -0,0 +1,831 @@ +\documentclass[papersize,a4paper,12pt,uplatex]{jsarticle} +\usepackage{ketpic,ketlayer} +\usepackage{amsmath,newtxmath} +\usepackage[dvipdfmx]{graphicx,color} +\usepackage{wrapfig} +\usepackage[dvipdfmx,bookmarks=false,colorlinks=true,linkcolor=blue]{hyperref} +\setmargin{20}{20}{15}{25} + +\begin{document} +\title{Spacekc リファレンスマニュアル} +\author{CinderellaJapan} +\maketitle + +\tableofcontents + +\newpage + +%第1節 序 ======================================= +\section{はじめに} +Spacekc は,KeTCindyのためのSpaceCindyである。KeTCindyの3Dグラフィクスに,簡易レイトレーシングで色付けをすることができる。また,KeTCindyで提供していない,空間に関する計算のためのいくつかの関数を用意している。配布はライブラリではなく,スクリプトを記述したテキストファイルあるいはCinderellaのファイルで行っている。 + +なお,SpaceCindykcを用いた作図【例】と配布は,KeTCindy のページに掲載している。アドレスは以下の通り。 + +\hspace{10mm} \url{https://sites.google.com/site/KETCindy/home/cindy3d2} + +%第2節 定数 ========================================== +\section{定数} + +\begin{description} +\hypertarget{rpolydata}{} +\item[正多面体の頂点座標] Rpolydata +\item[説明] 正多面体の頂点のリスト。内容は,φ=$\cfrac{1+\sqrt{5}}{2}$ を黄金比として次のようになっている。 + +正四面体:$(0,0,1),\left(\cfrac{2\sqrt{2}}{3},0,-\cfrac{1}{3} \right),\left(-\cfrac{\sqrt{2}}{3},\cfrac{\sqrt{6}}{3},-\cfrac{1}{3} \right),\left(-\cfrac{\sqrt{2}}{3},\cfrac{\sqrt{6}}{3},-\cfrac{1}{3}\right)$ + +正六面体:$(-1,-1,1),(1,-1,1),(1,1,1),(-1,1,1),(-1,-1,-1),(1,-1,-1),(1,1,-1),(-1,1,-1)$ + +正八面体:$(0,0,1),(0,-1,0),(1,0,0),(0,1,0),(-1,0,0),(0,0,-1)$ + +正十二面体:$(0,-1,-φ^2),(0,1,-φ^2),(0,-1,φ^2),(0,1,φ^2),(-1,-φ^2,0),(1,-φ^2,0) $ + +\hspace{15mm} $ (-1,φ^2,0),(1,φ^2,0),(-φ^2,0,-1),(-φ^2,0,1),(φ^2,0,-1),(φ^2,0,1), $ + +\hspace{15mm} $ (-φ,-φ,-φ),(-φ,-φ,φ),(-φ,φ,-φ),(-φ,φ,φ), $ + +\hspace{15mm} $ (φ,-φ,-φ),(φ,-φ,φ),(φ,φ,-φ),(φ,φ,φ)$ + +正二十面体:$(0,-1,-φ),(0,1,-φ),(0,-1,φ),(0,1,φ),(-φ,0,-1),(-φ,0,1) $ + +\hspace{15mm}$ (φ,0,-1),(φ,0,1),(-1,-φ,0),(1,-φ,0),(-1,φ,0),(1,φ,0)$ + +\vspace{\baselineskip} +\hypertarget{lightpoint}{} +\item[光源の方向ベクトル] Lightpoint +\item[説明] 簡易レイトレーシングを行う場合の光源の方向ベクトル。初期設定は[-1,1,1] + +\vspace{\baselineskip} +\hypertarget{contrast}{} +\item[コントラスト] Contrast +\item[説明] 簡易レイトレーシングを行う場合の,光のあたり方のコントラスト。標準は0以上1以下の実数。1を超えてもよいが,黒い部分が多くなる。描画関数の option で設定することもできる。 + + +\end{description} +\newpage +%第3節 値の取得 ========================================== +\section{値の取得} +\begin{description} + +\hypertarget{angle3pt}{} +\item[関数] angle3pt(座標1,座標2, 座標3) +\item[機能] 平面上で角を求める +\item[戻り値] 点 p1,p2,p3 に対し,∠p1p2p3を返す + +\vspace{\baselineskip} + +\hypertarget{pointindomain}{} +\item[関数] pointindomain(座標1,点リスト) +\item[機能] 平面上で点リストの閉曲線内に座標1の点があるかどうかの判定 +\item[戻り値] 領域内なら1,領域外なら0,境界線上なら2を返す。 + +\vspace{\baselineskip} + +\hypertarget{crosssd}{} +\item[関数] crosssd(座標1,座標2,座標3,座標4) +\item[機能] 座標平面において2本の線分か交わるかどうかを判断する +\item[説明] 座標1,座標2を結ぶ線分と,座標3,座標4を結ぶ線分が交わるかどうか(共有点を持つかどうか)を判定する。 +\item[戻り値] 交点がある場合は true ,ない場合は false を返す。 + +\vspace{\baselineskip} + +\hypertarget{interll}{} +\item[関数] interll(座標1,座標2,座標3,座標4) +\item[機能] 座標空間において2本の直線の交点の座標を求める +\item[戻り値] 座標1,座標2を通る直線と,座標3,座標4を通る直線との交点の座標を返す。 +交点がない場合は [i,i,i] を返す。 + +\vspace{\baselineskip} + +\hypertarget{interss}{} +\item[関数] interss(座標1,座標2,座標3,座標4) +\item[機能] 座標空間において2本の線分の交点の座標を求める +\item[戻り値] 座標1,座標2を結ぶ線分と,座標3,座標4を結ぶ線分との交点の座標を返す。 + 交点がない場合は [i,i,i] を返す。 + +\vspace{\baselineskip} +\hypertarget{interpl}{} +\item[関数] interpl(座標1,座標2,座標3,座標4,座標5) +\item[機能] 座標空間において平面と直線の交点の座標を求める +\item[戻り値] 座標1,座標2,座標3で決まる平面と,座標4,座標5を通る直線との交点の座標を返す。 + 交点がない場合は [i,i,i] を返す。 + +\vspace{\baselineskip} +\hypertarget{interps}{} +\item[関数] interps(座標1,座標2,座標3,座標4,座標5) +\item[機能] 座標空間において平面と線分の交点の座標を求める +\item[戻り値] 座標1,座標2,座標3で決まる平面と,座標4,座標5を通る線分との交点の座標を返す。 +交点がない場合は [i,i,i] を返す。 + + +\hypertarget{distlp}{} +\item[関数] distlp(座標1,座標2, 座標3) +\item[機能] 直線と点の距離を求める。(distance of line to point) +\item[説明] 座標1,座標2を通る直線と,座標3の点との距離を求める。 +\item[戻り値] 距離。 + + 平面上の点でも空間の点でもよい。座標1と座標2が等しいときは虚数単位 i を返すとともに,コンソールに警告「Warning:p1 is same to p2」を表示する。 +2点を結ぶ直線のベクトル方程式 $x=x_1+t(x_2-x_1) , y=y_1+t(y_2-y_1)$ を用い, +内積=0から t を求め距離を計算している。 + 垂線の足の位置ベクトルを$h(x,y)$ とすると, + + $(\vec{h}-\vec{p3})・(\vec{p2}-\vec{p1})=0$ + + から + + $t=\dfrac{(\vec{p2}-\vec{p1})・(\vec{p3}-\vec{p1})}{|\vec{p2}-\vec{p1}|^2}$ + + を得る。 + +【例】 println(distlp([1,0],[0,1],[0,0])); + +で$\cfrac{\sqrt{2}}{2}$ が表示される。なお,plintln() により,コンソールには 0.71 が表示されるが,内部的には四捨五入した値ではないので + + println(guess(distlp([1,0],[0,1],[0,0]))); + +とすると,1/2*sqrt(2) と表示される。 + +【例】 println(distlp([1,1,0],[0,0,1],[0,0,0])); で$\cfrac{\sqrt{6}}{3}$ が表示される。なお,plintln() により,コンソールには 0.82 が表示されるが,内部的には四捨五入した値ではないので + println(guess(distlp([1,1,0],[0,0,1],[0,0,0]))); +とすると,1/3*sqrt(6) と表示される。 + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} +\vspace{\baselineskip} +\hypertarget{distpp}{} +\item[関数] distpp(座標1,座標2, 座標3, 座標4) +\item[機能] 座標空間で3点を通る平面と点の距離を求める。 +\item[説明] 座標1,座標2,座標3を通る平面と,座標4の点との距離を求める。 +\item[戻り値] 距離 + +【例】 3点 (2,0,0),(0,2,0),(0,0,2) を通る平面と,原点との距離 + + distpp([2,0,0],[0,2,0],[0,0,2],[0,0,0]); 戻り値は $\cfrac{2\sqrt{3}}{3}$ + +\vspace{\baselineskip} +\hypertarget{map2d}{} +\item[関数] map2d(座標) +\item[機能] 座標空間の点を現在の座標平面に射影した点の座標を求める。 +\item[説明] 「現在の」とは,スライダで設定された軸設定(視点)による画面のことを指す。 + +【例】 pt=map2d([1,2,3]); + +なお,KeTCindyの Parapt() と全く同じ。 + +\item[戻り値] 平面座標 + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{normalvec}{} +\item[関数] normalvec(座標1,座標2, 座標3) +\item[機能] 3点を通る平面の単位法線ベクトルを求める。 +\item[説明] 座標1,座標2,座標3を通る平面の単位法線ベクトルを求める。 +\item[戻り値] 法線ベクトルを表すリスト。 + + ベクトルの向きは,点の順序による。 + +【例】 normalvec([2,0,0],[0,2,0],[0,0,2]); の結果は $\left(\cfrac{\sqrt{3}}{3},\cfrac{\sqrt{3}}{3},\cfrac{\sqrt{3}}{3}\right)$ + + normalvec([2,0,0],[0,0,2],[0,2,0]); の結果は $\left(-\cfrac{\sqrt{3}}{3},-\cfrac{\sqrt{3}}{3},-\cfrac{\sqrt{3}}{3}\right)$ + +平面と点の距離を求める distpp() を組み合わせると,平面に下した垂線のベクトルを表示できる。 +\begin{verbatim} + nv=normalvec([2,0,0],[0,2,0],[0,0,2]); + dd=distpp([2,0,0],[0,2,0],[0,0,2],[0,0,0]); + poly3d("1",[[2,0,0],[0,2,0],[0,0,2]]); + arrow3d("1",[[0,0,0],dd*nv]); + Letter3d([dd*nv,"e","H"]); +\end{verbatim} + + \input{3Dfig/nomalvec01} + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{onsameplane}{} +\item[関数] onsameplane(pa,pb,pc,pd) +\item[機能] 4点が同一平面上にあるかどうかの判定 +\item[説明] 引数は判定する4点の座標。外積と内積を用いた判定法による 。 +\item[戻り値] true / false + +%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} +\vspace{\baselineskip} +\hypertarget{perp}{} +\item[関数] perp(座標1,座標2, 座標3) +\item[機能] 2点を通る直線への垂線の足の座標を求める。 +\item[戻り値] 座標1,座標2の2点を通る直線に,座標3の点から下した垂線の足の座標を返す。 + +\hypertarget{perpvec}{} +\item[関数] perpvec(ベクトル,flag) +\item[機能] ベクトルに垂直な平面の基本ベクトルを作る。 +\item[説明] 第1引数のベクトルに垂直な平面上に2つの直交するベクトルを作り,リストにして返す。ひとつは,z成分を1として計算する。flag はオプションで,0にすると単位ベクトルにしない。デフォルトは単位ベクトル。 +\item[戻り値] ベクトル。 + +【例】perpvec([1,1,1]) の結果は [[-0.8165,0.4082,0.4082],[0,-0.7071,0.7071]] + + perpvec([1,1,1],0) の結果は [[-2,1,1],[0,-1,1]] + +\vspace{\baselineskip} + +\hypertarget{planecoeff}{} +\item[関数] planecoeff(座標1,座標2, 座標3) +\item[機能] 3点を通る平面の方程式の係数を求める。 +\item[説明] 座標1,座標2,座標3の3点を通る平面の方程式 $ax+by+cz=1$ の係数 $a,b,c$ を求める。 +\item[戻り値] リスト [a,b,c]。係数$a,b,c$が存在しない場合はコンソールに「Warning! Cannot decide a coefficient.」を表示し,[i,i,i] を返す。 + + +\vspace{\baselineskip} + +\hypertarget{reflect3d}{} +\item[関数] reflect3d(dlist,mirror) +\item[機能] dlistの鏡像を得る +\item[説明] 第1引数は,点,プロットデータ,面データのいずれか。第2引数の座標リストが,1つの点だけなら,点対称,2つの点なら,その 2点を結ぶ直線に関する対称点,3つの点なら,その3点で決まる平面に関する対称点となる。 +\item[戻り値] 第1引数と同じタイプのデータ + +KeTCindyのRefrectdata3d() との違いは,描画をしないこと,引数が,点,プロットデータ,面データのいずれでもよいことである。第2引数の形は同じ。 + +\vspace{\baselineskip} + +\hypertarget{rotate3d}{} +\item[関数] rotate3d(dlist,vec,angle,center) +\item[機能] dlistを指定した角だけcenterを始点とするベクトル周りに回転する。 +\item[説明] dlistは点,プロットデータ,面データのいずれか。 +\item[戻り値] dlistと同じ形式のデータ。 + +KeTCindyのRotatedata3d() との違いは,描画をしないこと,引数が,点,プロットデータ,面データのいずれでもよいことである。その他の引数の形式は同じ。 + +【例】 angle=[0,0,pi/4]; + p=[1,0,0]; + drawpt3d(rotate3d(p,angle)); + + により,点(1,0,0)をz軸回りに $\frac{\pi}{4}$ だけ回転した位置に点を打つ。 + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{translate3d}{} +\item[関数] translate3d(dlist,ベクトル) +\item[機能] dlistを指定したベクトルだけ平行移動。 +\item[説明] dlistは点,プロットデータ,面データのいずれか。 +\item[戻り値] dlistと同じ形式のデータ + +KeTCindyのTranslatedata3d() との違いは,描画をしないこと,引数が,点,プロットデータ,面データのいずれでもよいことである。その他の引数の形式は同じ。 + +\vspace{\baselineskip} +\hypertarget{rotmatrix}{} +\item[関数] rotmatrix(vec) +\item[機能] 法線ベクトルから回転行列を作る +\item[説明] 引数は法線ベクトル。 初め,法線ベクトルは[0,0,1]であるとする。これを回転して,引数の vec になるような回転行列を求める。y軸周り,z軸周りの順に回転する行列。 +\item[戻り値] 行列 + +\vspace{\baselineskip} + +\hypertarget{vertexrpolyhedron}{} +\item[関数] vertexrpolyhedron(n) +\item[機能] 正n面体の頂点リストを取得する +\item[説明] nの値は4,6,8,12,20 のいずれか。 +\item[戻り値] 半径1の球面に内接する正多面体の頂点リスト。 +頂点の順番は次のようになっている。それぞれアルファベット順。 + +\input{3Dfig/vertex4} \input{3Dfig/vertex6} +\input{3Dfig/vertex8} \input{3Dfig/vertex12} +\input{3Dfig/vertex20} + +なお,スクリプト内では,次のように定義されている。これを,半径1の球面に内接するように変換して戻り値としている。 + +φ=$\cfrac{1+\sqrt{5}}{2}$ は黄金比。 + +正四面体:$(0,0,1),\left(\cfrac{2\sqrt{2}}{3},0,-\cfrac{1}{3} \right),\left(-\cfrac{\sqrt{2}}{3},\cfrac{\sqrt{6}}{3},-\cfrac{1}{3} \right),\left(-\cfrac{\sqrt{2}}{3},\cfrac{\sqrt{6}}{3},-\cfrac{1}{3}\right)$ + +正六面体:$(-1,-1,1),(1,-1,1),(1,1,1),(-1,1,1),(-1,-1,-1),(1,-1,-1),(1,1,-1),(-1,1,-1)$ + +正八面体:$(0,0,1),(0,-1,0),(1,0,0),(0,1,0),(-1,0,0),(0,0,-1)$ + +正十二面体:$(0,-1,-φ^2),(0,1,-φ^2),(0,-1,φ^2),(0,1,φ^2),(-1,-φ^2,0),(1,-φ^2,0) $ + +\hspace{15mm}$ (-1,φ^2,0),(1,φ^2,0),(-φ^2,0,-1),(-φ^2,0,1),(φ^2,0,-1),(φ^2,0,1), $ + +\hspace{15mm} $ (-φ,-φ,-φ),(-φ,-φ,φ),(-φ,φ,-φ),(-φ,φ,φ), $ + +\hspace{15mm} $((φ,-φ,-φ),(φ,-φ,φ),φ,φ,-φ),(φ,φ,φ)$ + +正二十面体:$(0,-1,-φ),(0,1,-φ),(0,-1,φ),(0,1,φ),(-φ,0,-1),(-φ,0,1) $ + +\hspace{15mm} $ (φ,0,-1),(φ,0,1),(-1,-φ,0),(1,-φ,0),(-1,φ,0),(1,φ,0)$ + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{val2tex}{}\item[関数] val2tex(x) +\item[機能] 数値をguess()で解析して,分数,平方根のTeXの文字列にして返す +\item[説明] 分数,平方根でない場合はguess()の結果をそのまま返す。 + 計算結果が分数や平方根になる場合に,この関数を適用し,戻り値の前後にドルマークをつけて drawtext()で表示すれば分数や平方根の形で表示される。letter3d() でも利用できる。ただし,精度によっては変換できない場合もある。 + +\item[戻り値] TeXの文字列 + +【例】:原点から平面に下した垂線の足の座標を計算して表示する。 +\begin{verbatim} + pa=[2,0,0]; + pb=[0,2,0]; + pc=[0,0,2]; + nv=normalvec(pa,pb,pc); + hv=distpp(pa,pb,pc,[0,0,0])*nv; + hvstr=apply(hv,val2tex(#)); + plate3d("1",[pa,pb,pc],["Color=skyblue","Rayoff"]); + poly3d("1",[pa,pb,pc]); + arrow3d("1",[[0,0,0],hv],["size=2"]); + letter3d([pa,"s2",text(pa_1),pb,"s2",text(pb_2),pc,"w2",text(pc_3), + hv,"ne2","H$\left( "+hvstr_1+","+hvstr_2+","+hvstr_3+" \right)$"]); +\end{verbatim} + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\end{description} +\newpage +%第4節 描画 ========================================= +\section{描画関数} + +\textbf{options} + +直線・曲線を描く関数の引数には座標の他,オプションがある。KeTCindyのオプションの他,メッシュ密度,濃度,コントラスト,レイトレーシングの有無が指定できる。 + +\textbf{<メッシュ密度>} + +曲面を描くとき,網目状にして描く。このときの経緯線の数。 + +メッシュ密度指定は,"Mesh=[10,15]" のように与える。 + +\textbf{<濃度>} + +濃度は0から1までの実数。"Alpha=n" で,nは0以上1以下。たとえば,"Alpha=0.4"。初期設定は 0.3。 + +なお,「Alpha」は,CindyScriptの「透明度」と同じ語であるが,ここでは,濃淡を表し,1のときが指定した色で,0に近いと白に近くなる。向こう側が透けて見えるようになるわけではない。 + +\textbf{<レイトレーシング>} + +レイトレーシングで陰影をつけるかどうかの指定。"Rayon" のとき陰をつけ,"Rayoff" のときは陰影をつけない。初期設定は "Rayon" + +\textbf{<非表示>} + +戻り値がプロットデータの描画関数で,プロットデータだけを取得したい場合に,KeTCindyと同様,"nodisp" オプションをつける。 + +\vspace{\baselineskip} +\textbf{描画関数の戻り値} + + 描画関数の幾つかには戻り値がある。それぞれの関数の説明を参照のこと。 + +%\newpage +\begin{description} + +\hypertarget{grid}{} +\item[関数] grid(範囲1,範囲2,本数,option) +\item[機能] $xy$平面に方眼を表示する。 +\item[説明] 範囲1は$x$軸の範囲,範囲2は$y$軸の範囲。 +\item[戻り値] なし + +本数は,単位(1目盛)あたりの本数。 + +色,太さなど,通常のoptionが有効。 + +引数,optionともなしで,grid() とすることも可能で,その場合は,範囲をsetaxis() で指定した範囲とし,単位あたり1本と10本の方眼を描く。 + +方眼は描画面だけで,TeXには出力されない。 + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{line3d}{} +\item[関数] line3d(name,座標リスト ,option) +\item[機能] 2点を結ぶ直線を描く +\item[説明] 2点の座標をリストで与えて,3次元空間に直線を表示する。 +\item[戻り値] 2点の座標リストをそのまま返す。 + + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{arrow3d}{} +\item[関数] arrow3d(name,座標リスト ,option) +\item[機能] 2点を結ぶ矢線を描く +\item[説明] 2点の座標のリストを与えて,3次元空間に矢線を表示する 。 + option は,color指定以外は2次元の KeTCindy の Arrowdataと同様。 + ただし,矢じりについては,Cinderellaの画面上では大きさ以外のオプションは反映されない。 + また,矢じりについてのオプションは初めに書く必要がある。 + \item[戻り値] 2点の座標リストをそのまま返す。 + +\vspace{\baselineskip} + 【例】 2点$(1,3,2) , (-2,-1,-2)$ を結ぶ矢線を表示する。 + +\hspace{10mm} \verb|arrow3d("1",[[1,3,2],[-2,-1,-2]])| + + 【例】 矢じりの大きさを2にして,全体を赤で描く。 + +\hspace{10mm} \verb|arrow3d("1",[[2,0,0],[-1,4,1]],[2,1,1,"dr,2","Color=red"])| + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{poly3d}{} +\item[関数] poly3d(name,座標リスト,option) +\item[機能] 多角形を描く +\item[説明] リストで与えた点を結ぶ多角形を描く。リストで与えた点が同一平面上になくてもそれらの点を結んだ図形を描く。リストで与える点は閉じていなくてもよい。自動的に閉じて描く。 +\item[戻り値] 描画した多角形のプロットデータ。 + + + 【例】 3点$(1,1,1) , (2,2,1),(0,1,-1)$ を頂点とする三角形を描く。 +\begin{verbatim} + pd=[[1,1,1],[2,2,1],[0,1,-1]]; + poly3d("1",pd); +\end{verbatim} + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{plate3d}{} +\item[関数] plate3d(name,座標リスト,option) +\item[機能] 多角形を色塗りする +\item[説明] リストで与えた点を結ぶ多角形を色塗りする。縁取りはしない。 +\item[戻り値] 引数に与えた座標リストをそのまま返す + + Rayoff オプションをつけると,レイトレーシングを行わない。 + + 【例】:3点$(1,1,1) , (2,2,1),(0,1,-1)$ を頂点とする三角形を赤で塗る +\begin{verbatim} + pd=[[1,1,1],[2,2,1],[0,1,-1]]; + plate3d("1",pd,["Color=Red"]); +\end{verbatim} + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{circle3d}{} +\item[関数] circle3d(name,中心,法線ベクトル,半径,option) +\item[機能] 円を描く +\item[説明] 中心,半径と法線ベクトルを与えて円を描く。 +\item[戻り値] 円のプロットデータ + + 【例】:中心 $(1,1,1)$,半径2,法線ベクトルが(1,1,1)である円を太さ2,赤で描く。 + +\verb| circle3d("1",[1,1,1],[1,1,1],2,["dr,2","Color=Red"]); | + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{drawarc3d}{} +\item[関数] drawarc3d(name,中心,法線ベクトル,半径,範囲,option) +\item[機能] 弧を描く +\item[説明] 中心,半径と法線ベクトルを与えて描く円の一部として弧を描く。 + +円は,$x=r \cos \theta,y=r \sin \theta$ で描き,法線ベクトルで決まる回転行列で回転している。 + +\item[戻り値] 弧のプロットデータ + + 【例】:中心 $(1,1,1)$,半径2,法線ベクトルが(-1,1,1)である弧を描く。 + +\verb| drawarc3d("1",[1,1,1],[-1,1,1],2,[0,2*pi/3]); | + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{disc3d}{} +\item[関数] disc3d(name,中心,法線ベクトル,半径,option) +\item[機能] 中を色塗りした円盤を描く +\item[説明] 中心,半径と法線ベクトルを与えて円盤を描く。縁取りはしない。 +\item[戻り値] 円のプロットデータ + + Rayoff オプションをつけると,レイトレーシングを行わない。 + + 【例】:中心 $(1,1,1)$,半径2,法線ベクトルが(1,1,1)である円盤を赤,透明度0.4で描く。 + + \verb| disc3d("1",[1,1,1],[1,1,1],2,["Color=Red","Alpha=0.4"]); | + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{drawsphere}{} +\item[関数] drawsphere(name,中心,半径,opton) +\item[機能] 球面を描く +\item[説明] 中心と半径を指定して球面を描く。 +球面を簡易レイトレーシングを用いてグラデーションをかけて描く。 球面を網目状に分けて色塗りをしている。 + +引数は,中心の座標,半径,option。 + +半径は,x軸,y軸,z軸方向についてリストにして指定することもできる。 + +描画には時間がかかる。あまりにも時間がかかりすぎる場合は, "Mesh=[10,10]" をオプションにつけて描画してみる。これで描ければ編み目を細かくする。初期値は"Mesh=[30,20]"。 +\item[戻り値] なし + +\vspace{\baselineskip} +【例】原点中心,半径2の球面(下図左) + +\verb|drawsphere("1",[0,0,0],2) | + + 中心が(0,0,2),半径が [1,1,2] :楕円形の球を緑で描く(下図右) + +\verb|drawsphere("1",[0,0,2],[1,1,2],["Color=green","Mesh=[20,20]"])| + + \input{3Dfig/sphere01} \hspace{10mm} \input{3Dfig/sphere02} + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{quasisphere}{} +\item[関数] quasisphere(name,中心,半径,fill,option) +\item[機能] 疑似球面を描く +\item[説明] 中心と半径を指定して疑似球面を描く。 +座標軸を動かしても常に法線ベクトルが視点を向いた円を描くので,球面同様に見える。しかし実際には面ではない。 したがって,陰線処理はしない。 + +引数は,中心の座標,半径,fill , option。 + +fill は塗りつぶすかどうかで,1なら塗りつぶす(初期値),0 なら塗らない。 + +fill は省略可能。 + +\item[戻り値] 円のプロットデータ + +\vspace{\baselineskip} +【例】 \verb|quasisphere("1",[0,0,1],1,0]);| + + \input{3Dfig/sphere03} + +陰線処理をしない分,Sfbdparadata() と ExeccmdC() で描くより速い。これを用いて,次のようなスクリプトを作ると,疑似球面で十分であることがわかる。 + +\begin{verbatim} +pd1=quasisphere("1",[0,0,0],2,0,["nodisp"]); +pd2=circle3d("1",[0,0,0],[0,1,sqrt(3)],2,["nodisp"]); +pd3=circle3d("2",[0,0,-1],[0,0,1],sqrt(3),["nodisp"]); +sp=apply(pd1,map2d(#)); +su1=apply(pd2,map2d(#)); +su2=apply(pd3,map2d(#)); +Listplot("1",sp,["nodisp"]); +Listplot("2",su1); +Listplot("3",su2,["Color=blue"]); +int1=Intersectcrvs("sg1","sg2"); +int2=Intersectcrvs("sg1","sg3"); +println(int1); +println(int2); +p1=int1_1; +p2=int1_2; +p3=int2_1; +p4=int2_2; +Partcrv("1", p2, p1, "sg1"); +Partcrv("2", p3, p4, "sg3",["nodisp"]); +Partcrv("3", p4, p3, "sg1",["nodisp"]); +Joincrvs("1",["part2","part3"],["nodisp"]); +Shade(["join1"],["Color=[0.2,0,0,0]"]); +\end{verbatim} + +スライダを動かして視点を変えたとき,次のようになる。 + + \input{3Dfig/sphere04} \hspace{10mm} \input{3Dfig/sphere05} + + なお,このスクリプトを実行したとき,視点によって交点 int1 , int2 の数が変わるので,コンソールに表示されたものを見て,\verb|p1,p2,p3,p4| を設定する必要がある。 + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{polyhedron}{} +\item[関数] polyhedron(name,面データ,option) +\item[機能] 面を色塗りした多面体を描く +\item[説明] 縁取りはしない。 +\item[戻り値] 引数の面データをそのまま返す + + Rayoff オプションをつけると,レイトレーシングを行わない。 + +\vspace{\baselineskip} + 【例】 立方体ABCD-EFGHを,B,D,Gを通る平面で切ってできる錐体を緑で描く。 + +\hspace{30mm}\input{3Dfig/polyhedron01} + + 頂点B,C,D,Gに対し,面リストを次のように作る。 + + まず,頂点 B,C,D,G に番号1,2,3,4 をつける。 + + 面BCGは外側から見て反時計回りに B,C,G なので [1,2,4] + + 面CDGは同様に C,D,G なので [2,3,4] + + 面DGBは同様に D,B,G なので [3,1,4] + + 底面BCDは外側から見て反時計回りに B,D,C なので [1,3,2] + + そこで,B,C,D,G の座標をp1,p2,p3,p4として,次のようにして面データ \verb|fd| を作る。 +\begin{verbatim} + p1=[2,0,0]; + p2=[2,2,0]; + p3=[0,2,0]; + p4=[2,2,2]; + fd=[[p1,p2,p3,p4],[[1,2,4],[2,3,4],[3,1,4],[1,3,2]]]; +\end{verbatim} + +この面データを使って + + \verb| polyhedron("1",fd,["Color=Green"])| + +とすれば,錐体が描かれる。 + +\hspace{30mm}\input{3Dfig/polyhedron02} + +【例】小林・鈴木・三谷による 多面体データ polyhedrons\_obj を用いた多面体を描く。 + データは,正多面体,半正多面体,ジョンソンの立体で, + +\url{http://mitani.cs.tsukuba.ac.jp/polyhedron/index.html } + + にある。このデータを格納したフォルダ polyhedrons\_obj へのパスを \verb|Setdirectory()| で指定し,\verb|Readobj()| で読み込む。たとえば,ワークディレクトリ(figフォルダ)に置いた場合は, + +\begin{layer}{150}{0} +\putnotese{80}{0}{\input{3Dfig/polyhedron03}} +\end{layer} + +\begin{verbatim} + Setdirectory(Dirwork+"/polyhedrons_obj"); + polydt=Readobj("s06.obj"); + Setdirectory(Dirwork); + fd=[2*polydt_1,polydt_2]; + polyhedron("1",fd); +\end{verbatim} +で右のような図ができる。 + +なお,\verb|fd=[2*polydt_1,polydt_2]| で,頂点の座標を2倍にしている。 + +稜線を描くのであれば + +\begin{verbatim} +VertexEdgeFace("1",fd); +Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} +を追加すればよい。 + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{convexhedron}{} +\item[関数] convexhedron(name,頂点リスト,倍率,option) +\item[機能] 凸型多面体を描く +\item[説明] 頂点リストを与えて面を塗った凸型多面体を描く。倍率は,頂点リストに対して実際に描画するサイズへの倍率。1のときは省略できる。 +\item[戻り値] 描画した面データ。 + +\vspace{\baselineskip} +【例】底面が五角形の凸型多面体 +\begin{verbatim} + th=2*pi/5; + pd=apply(1..5,[cos(#*th),sin(#*th),0]); + pd=pd++apply(1..5,[2*cos(#*th),2*sin(#*th),1]); + pd=append(pd,[0,0,2]); + println(pd); + fd=convexhedron("1",pd) +\end{verbatim} +\hspace{20mm}\input{3Dfig/convexhedron} + +稜線を描くのであれば,戻り値を利用して + +\begin{verbatim} + fd=convexhedron("1",pd); + VertexEdgeFace("1",fd); + Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} +とすればよい。 + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{rpolyhedron}{} +\item[関数] rpolyhedron(name,面数,半径,option) +\item[機能] 面を色塗りした正多面体を描く +\item[説明] 正多面体は5種類あり,Spacekcにはデータが組み込まれている。\hyperlink{rpolydata}{正多面体の頂点座標}を参照のこと。これを用いて,面の数と外接球の半径を指定すれば正多面体を描くことができる。 +\item[戻り値] 描画した面データ + +\vspace{\baselineskip} + 【例】 面を黄色で塗った正十二面体を描く + +\verb| rpolyhedron("1",6,2,["Color=yellow"]);| + +\hspace{20mm}\input{3Dfig/rpolyhedron} + +稜線を描くのであれば,戻り値を利用して +\begin{verbatim} +fd=rpolyhedron("1",12,2,["Color=yellow"]); +VertexEdgeFace("1",fd); +Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} +とすればよい。 + +\vspace{\baselineskip} +<参考>正多面体のサイズ + +rpolyhedron() では,指定した半径の球面に内接するサイズで描画する。ここで,その半径と辺の長さの関係をあげておく。ここで,$\phi=\cfrac{1+\sqrt{5}}{2}$ + + \input{3Dfig/rpolytable} + +【例】 一辺の長さが2の正六面体を描く +\begin{verbatim} + rpolyhedron(6,sqrt(3),["dr,2"]); +\end{verbatim} + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + + +\hypertarget{rfrustum}{} +\item[関数] frustum(name,n,r1,r2,h,option) +\item[機能] 正角錐(台)の面を塗る +n:角の数 + +r1,r2:上底,下底の外接円の半径 + +h:高さ + +\vspace{\baselineskip} + 【例】 正六角錐台を描く + +\verb| frustum("1",6,1,2,3,["Color=yellow"]);| + +\hspace{20mm}\input{3Dfig/frustum01} + +稜線を描くのであれば,戻り値を利用して +\begin{verbatim} + fd=frustum("1",6,1,2,3,["Color=yellow"]); + VertexEdgeFace("1",fd); + Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} +とすればよい。 + + 【例】 上底の外接円の半径を0にすれば正六角錐になる。 (座標軸非表示) + +\begin{verbatim} + fd=frustum("1",6,0,2,3,["Color=yellow"]); + VertexEdgeFace("1",fd); + Nohiddenbyfaces("1","phe3d1","phf3d1"); +\end{verbatim} + +\hspace{20mm}\input{3Dfig/frustum02} + + 【例】 角数を多くするとほとんど円錐になる。輪郭線はSfbdparadataで曲面として描く。 + +\begin{verbatim} + frustum("1",108,0,2,4,["Color=yellow"]); + fd=[ + "p", + "x=r*cos(t)","y=r*sin(t)","z=2*(2-r)", + "r=[0,2]","t=[0,2*pi]","e" + ]; + Startsurf(); + Sfbdparadata("1",fd); + ExeccmdC("1"); +\end{verbatim} + +\hspace{20mm}\input{3Dfig/frustum03} + +上底と下底を同じサイズにすれば円柱になる。 + +\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright} + +\hypertarget{hatch3d}{}\item[関数] hatch3d(name,方向,PD,option) +\item[機能] 閉曲線にハッチをかける。 +\item[説明] 閉曲線は,poly3d() , circle3d(); で描いたものなど。 +KeTCindy のHatchdata() と異なり,閉曲線だけが対象なので,方向は引数にない。optionには色指定を入れることができ,色指定があればその色でハッチをかける。 複数の領域にハッチをかけることはできない。 +\item[戻り値] なし + +【例】 円にハッチをかける。 +\begin{verbatim} + pd=circle3d("1",[1,1,1],[1,1,1],2,["dr,2"]); + hatch3d("1",pd,["Color=red"]); +\end{verbatim} + + \input{3Dfig/hatch1} + +\newpage +\end{description} + + +% 関数一覧 ================================ +\hypertarget{functionlist}{} +\section{関数一覧} +KeTCindy の関数名が大文字で始まるのに対し,Spacekcの関数名は小文字で始まる。ただし,若干例外がある。\\ + +\begin{tabbing} +123456789012345678901234567890123456789\=\kill +【定数】\\ +\hyperlink{lightpoint}{Lightpoint} \> 光源の方向ベクトル\\ +\hyperlink{contrast}{Contrast} \> コントラスト\\ +\hyperlink{rpolydata}{Rpolydata} \> 正多面体の頂点リスト\\ + +【値の取得】\\ +\hyperlink{angle3pt}{angle3pt}(座標,座標,座標) \>平面上の3点p1,p2,p3 に対し角p1p2p3を返す\\ +\hyperlink{pointindomain}{pointindomain}(座標,点リスト) \> 平面上で点が閉曲線内にあるかどうかの判定\\ +\hyperlink{distlp}{distlp}(座標,座標,座標) \>2点を通る直線と点の距離を取得する\\ +\hyperlink{distpp3d}{distpp3d}(座標,座標,座標,座標) \>座標空間で3点を通る平面と点の距離を取得する\\ +\hyperlink{map2d}{map2d}(座標) \>空間座標を座標平面に射影した点の座標を取得する\\ +\hyperlink{nomalvec}{nomalvec}(座標,座標,座標) \>3点を通る平面の法線単位ベクトルを取得する\\ +\hyperlink{perp}{perp}(座標,座標,座標) \>座標空間で2点を通る直線への垂線の足の座標を取得する\\ +\hyperlink{perpvec}{perpvec}(ベクトル,flag) \>ベクトルに垂直な平面上に直交する基本ベクトルをとる\\ +\hyperlink{planecoeff}{planecoeff}(座標,座標,座標) \>座標空間で3点を通る平面の方程式の係数を取得する\\ +\hyperlink{crosssd}{crosssd}(座標,座標,座標,座標) \>座標平面で2つの線分が交わるかどうかの判断\\ +\hyperlink{interpl}{interpl}(座標,座標,座標,座標,座標) \>平面と直線の交点の座標を求める\\ +\hyperlink{interps}{interps}(座標,座標,座標,座標,座標) \>平面と線分の交点の座標を求める\\ +\hyperlink{reflect3d}{reflect3d}(リスト,リスト) \>データの鏡像を得る\\ +\hyperlink{rotate3d}{rotate3d}(座標,角リスト) \>データを回転する\\ +\hyperlink{translate3d}{translate3d}(リスト,ベクトル) \>データを平行移動する\\ +\hyperlink{vertexrpolyhedron}{vertexrpolyhedron}(数) \>正多面体の頂点リストを取得する\\ + +【描画】\\ +\hyperlink{grid}{grid}() \>$xy$平面の方眼の描画\\ +\hyperlink{line3d}{line3d}(name,list,option)\>2点を結ぶ直線を描く\\ +\hyperlink{arrow3d}{arrow3d}(name,list,option) \>2点を結ぶ矢線を描く\\ +\hyperlink{poly3d}{poly3d}(name,list,option) \>多角形を描く\\\hyperlink{circle3d}{circle3d}(name,center, r,vec,option) \>円を描く\\ +\hyperlink{drawarc3d}{circle3d}(name,center, r,vec,range,option) \>弧を描く\\ +\hyperlink{plate3d}{plate3d}(name,list,option) \>多角形を色塗りする\\ +\hyperlink{disc3d}{disc3d}(name,center, r, vec,option) \>中を塗った円盤を描く\\ +\hyperlink{drawsphere}{drawsphere}(name,center,r,option) \>球面を描く\\ +\hyperlink{quasisphere}{quasisphere}(name,center,r,option) \>球面のようなものを描く\\ +\hyperlink{frustum}{frustum}(name,fn,r1,r2,h, option) \>角錐台を描く\\ +\hyperlink{polyhedron}{polyhedron}(name,fd,option) \>面を色塗りした多面体を描く\\ +\hyperlink{rpolyhedron}{rpolyhedron}(name,fn,r,option) \>面を色塗りした正多面体を描く\\ +\hyperlink{convexhedron}{convexhedron}(name,pd,size,option) \>面を色ぬりした凸型多面体を描く\\ +\hyperlink{hatch3d}{hatch3d}(name,direc,PD,option) \> 閉曲線にハッチをかける\\ + +\end{tabbing} + +\end{document}
\ No newline at end of file |