%!PS % Finding the Minimum Distance between a point and a cubic spline % ================================================================ % by Don Lancaster GG #80 CMINDIST.PSL /ggnum 80 store % Copyright c 2006 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % Linking welcome. Reposting expressly forbidden. % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. % Many routines removed and cleaned at #58 %%%%%%%%%%% links menu directory %%%%%%%%%%%% % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string % /black cvx 0 /setgray cvx % turn blue marker off % maintextcolor /setrgbcolor cvx % reset to main text color??? /aqua cvx /black cvx /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def /maintextcolor {0 0 0 } def % text link specific data -- use dictionary instead below { /cubic01 {(http://www.tinaja.com/cubic01.asp) eurl} def /hack62 {(http://www.tinaja.com/glib/hack62.pdf) eurl} def /increment {(http://www.tinaja.com/text/bezgen3.html) eurl} def /interpolate {(http://members.bellatlantic.net/~vze2vrva/design.html) eurl } def /bezmath {(http://www.tinaja.com/text/bezmath.html) eurl } def /table {(http://www.tinaja.com/psutils/imtable.psl) eurl } def } pop % zzz keep for search marker % dictionary method << % gg80 /kearney (http://www.cs.uiowa.edu/~kearney/pubs/CurvesAndSufacesClosestPoint.pdf) /cmindist.psl (http://www.tinaja.com/glib/cmindist.psl) /piecewise (http://delivery.acm.org/10.1145/810000/801153/p229-plass.pdf?key1=801153&key2=0010608811&coll=GUIDE&dl=&CFID=15151515&CFTOKEN=6184618) /nubzlen1.pdf (http://www.tinaja.com/glib/nubzlen1.pdf) /nubz4pts1.pdf (http://www.tinaja.com/glib/nubz4pts1.pdf) % entered during gg79 /gonzotut.pdf (http://www.tinaja.com/glib/gonzotut.pdf) /gonzotut.psl (http://www.tinaja.com/glib/gonzotut.psl) /bookcvr1.pdf (http://www.tinaja.com/glib/bookcvr1.pdf) /swingtlt.pdf (http://www.tinaja.com/glib/swingtlt.pdf) /curvetr2.pdf (http://www.tinaja.com/psutils/curvetr2.pdf) /curvetr2.psl (http://www.tinaja.com/psutils/curvetr2.psl) /blanksusa (http://www.blanksusa.com) /gonzotut.psl (http://www.tinaja.com/glib/gonzotut.psl) /ps8dprp1.pdf (http://www.tinaja.com/glib/ps8dprp1.pdf) /pdfedit1.pdf (/http://www.tinaja.com/glib/pdfedit1.pdf) % entered during gg78 /enhebay6.psl (http://www.tinaja.com/glib/enhebay6.psl) /enhebay6.pdf (http://www.tinaja.com/glib/enhebay6.pdf) /slashdot (http://www.slashdot.org) /blackrangelodge (http://www.blackrangelodge.com/) /kijiji (http://www.phoenix.kijiji.com) /aznews (http://www.usnpl.com/aznews.html) /azschools (http://www.ade.state.az.us/schools/schools/districts.asp) /azcounties (http://www.az.gov/webapp/portal/displaycontent.jsp?name=county) /aztowns( http://www.azleague.org/index.cfm?fuseaction=about.cities) /natuniv (http://www.utexas.edu/world/univ/state/) /natcc (http://www.50states.com/college/arizona.htm) /barbiecollect (http://www.barbiecollector.com/shop/dept.aspx?deptid=2&shelfid=02&view=all) /googlebarbie (http://www.google.com/search?q=barbie+doll&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official) /wikibarbie (http://en.wikipedia.org/wiki/Barbie) /countyourassests (http://www.soldyourway.com/) /christies (http://www.christies.com/home_page/home_page.asp) /sothebys (http://www.sothebys.com) /franklinmint (http://en.wikipedia.org/wiki/Franklin_Mint) /klausbarbie (http://en.wikipedia.org/wiki/Klaus_Barbie) /enhebay5.pdf (http://www.tinaja.com/glib/enhebay5.pdf) /whtnu06 (http://www.tinaja.com/whtnu07.asp) /whtnu07 (http://www.tinaja.com/whtnu07.asp) % entered during gg77 /fastmsol.pdf (http://www.tinaja.com/glib/fastmsol.pdf) % entered during gg76 /ieeefp (http://en.wikipedia.org/wiki/IEEE_754) /ps8dprpt.psl (http://www.tinaja.com/psutils/ps8dprpt.psl) % entered during gg75 /pstrans2.pdf (http://www.tinaja.com/glib/pstrans2.pdf) /ghostscript (http://pages.cs.wisc.edu/~ghost/doc/AFPL/index.htm) /PLRM (http://www.adobe.com/products/postscript/pdfs/PLRM.pdf) /pdfref (http://www.adobe.com/devnet/pdf/pdf_reference.html) % entered during gg 74 /ebaymktsearch (http://pages.ebay.com/marketplace%5Fresearch/) /ebaystat.psl (http://www.tinaja.com/glib/ebaystat.psl) /ebayadvsearch (http://search.ebay.com/ws/search/AdvSearch?sofindtype=13&_trksid=m37) /ebaystatservice (http://www.medved.net/cgi-bin/cal.exe?EIND) % entered during gg 73 /bridge701.psl (http://www.tinaja.com/magsn_5/bridge701.psl) /bridge701.pdf (http://www.tinaja.com/magsn_5/bridge701.pdf) /demo28a (http://www.tinaja.com/demo28a.asp) /gaussjordan (http://en.wikipedia.org/wiki/Gauss-Jordan_elimination) /sinseries (http://www.ucl.ac.uk/Mathematics/geomath/level2/series/ser11.html) /newtonmethod (http://en.wikipedia.org/wiki/Newton's_method) /trigidentity (http://www.sosmath.com/trig/Trig5/trig5/trig5.html) /demo28a.asp (http://www.tinaja.com/demo28a.asp) % entered during gg 71 /detmssol.pdf (http://www.tinaja.com/glib/detmssol.pdf) /detmssol.psl (http://www.tinaja.com/glib/detmssol.psl) /alvinpile (http://www.tinaja.com/glib/enhebay2.pdf) % duplicate name /dilbert (http://www.dilbert.com) /putty (http://www.putty.nl) /legible1.pdf (http://www.tinaja.com/glib/legible1.pdf) /muse144.pdf (http://www.tinaja.com/glib/muse144.pdf) /webcolr.pdf (http://www.tinaja.com/psutils/webcolor.pdf) /ifilter (http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611) /drmsbiz1 (http://reform.house.gov/UploadedFiles/MG%20Williams%20July%2025%20Testimony.pdf) /drmsbiz2 (http://www.gao.gov/new.items/d05277.pdf) /drmsclosed (http://www.drms.dla.mil/A76/transitionsitelistrevised.pdf) /drmsmap (http://www.drms.dla.mil/meo/routemap.htm) /drms (http://www.drms.dla.mil/) /enhebay4.pdf (http://www.tinaja.com/glib/enhebay4.pdf) % entered during gg 70 /insidegame (http://www.amazon.com/exec/obidos/ISBN%3D1585006246/donlancastersgurA/002-8267096-8078436) /auctionbytes (http://www.auctionbytes.com) /texasauctionlaw (Texas auction law: http://www.license.state.tx.us/auc/auction.htm) /shermananti (http://www.gamingip.com/Statutes/ShermanAct/ST-Sherman1-4.html) /mainantique (http://www.antiquedigest.com/articles/auclaw.htm) /finex1 (http://www.tinaja.com/images/bargs/pwrssrx3.jpg) /knockback.psl (http://www.tinaja.com/psutils/knockback.psl) /krylondull (http://www.krylon.com/main/product_template.cfm?levelid=5&sub_levelid=8&productid=1822&content=product_details) /adeptaabb (http://www.tinaja.com/images/bargs/araabbb.jpg) /bonnette (http://www.bonnetteauctions.com/) /walmartauctionsignup (mailto://Joan.Ramsey@Wal-Mart.com) /walmartauction (http://walmartstores.com/GlobalWMStoresWeb/navigate.do?catg=504&contId=49) /ucc (http://www.law.cornell.edu/ucc/) /whtnu06 (http://www.tinaja.com/whtnu06.asp) % entered during gg69 /wikicat (http://en.wikipedia.org/wiki/Catenary) /bezcat.psl (http://www.tinaja.com/glib/bezcat.psl) /nubz4pts1.pdf (http://www.tinaja.com/glib/nubz4pts1.pdf) % entered during gg68 /nobodydog (http://www.unc.edu/depts/jomc/academics/dri/idog.html) /kaizen (http://en.wikipedia.org/wiki/Kaizen) /circuitcellar (http://www.circuitcellar.com/guru/) /makemag (http://www.makezine.com/) /adamsadventures (http://www.msadams.com/downloads.htm) /linux (http://www.linux.org/) /opensource (http://www.opensource.org/) /craigslist (http://phoenix.craigslist.org/) /autotrader (http://www.autotrader.com/) /lulu (http://www.lulu.com/) /bookmarket (http://www.bookmarket.com/ondemand.html) /burgerking (http://www.bk.com) /newtek (http://www.newtek.com) /memsnet (http://www.memsnet.org/) /muse131.pdf (http://www.tinaja.com/glib/muse131.pdf) /muse120.pdf (http://www.tinaja.com/glib/muse120.pdf) /supercap (http://www.sciencemag.org/cgi/content/abstract/313/5794/1760?maxtoshow=&HITS=10&hits=10&RESULTFORMAT=&fulltext=carbon+pore+sizes&searchid=1&FIRSTINDEX=0&resourcetype=HWCIT) /quantumdots (http://www.google.com/search?q=%22quantum+dots%22+solar&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official) /datasheetarchive (http://www.datasheetarchive.com/chipPhotos/photosA.html) /googleearth (http://www.earth.google.com) /toystory (http://us.imdb.com/title/tt0114709/) /robotmovie (http://us.imdb.com/title/tt0358082/) /cars (http://us.imdb.com/title/tt0317219/) /netflix (http://www.netflix.com/) /blockbuster (http://www.blockbuster.com/online/) % entered during gg67 /puzz01.psl (http://www.tinaja.com/psutils/puzz01.psl) /alphamet1 ( http://www.tkcs-collins.com/truman/alphamet/alphamet.shtml) /alphamet2 (http://www.tkcs-collins.com/truman/alphamet/alpha_gen.shtml) /alphamet3 (http://users.aol.com/s6sj7gt/mikealp.htm) /msinexec.pdf (http://www.tinaja.com/glib/msinexec.pdf) /paradigm.pdf (http://www.tinaja.com/glib/paradigm.pdf) % entered during gg66 /thunderbird (http://www.thunderbird.com) /spysweeper (http://www.webroot.com/consumer/products/spysweeper/?rc=1651) /norton (http://www.symantec.com/index.htm) /pestpatrol (http://www.pestpatrol.com/) /firefox (http://www.firefox.com) /sciencemag (http://www.sciencemag.org/) /worldfact (http://www.cia.gov/cia/publications/factbook/) /internetdog (http://www.unc.edu/depts/jomc/academics/dri/idog.html) /zipcode (http://www.usps.com/ncsc/lookups/lookup_zip+4.html) /weather (http://www.weather.com/) /thomasreg (http://www.thomasregister.com/) /topozone (http://www.topozone.com/) /yahoostock (http://finance.yahoo.com/) /reversephone (http://www.reversephonedirectory.com/) /uspto (http://www.uspto.gov/patft/index.html) /msnbc (http://www.msnbc.com/) /imdb (http://us.imdb.com/) /loanamort (http://www.hsh.com/calc-amort.html) /kellybook (http://www.kbb.com/) /googlemaps (http://maps.google.com/) /newyorker (http://www.newyorker.com/) /currexch (http://www.xe.net/ucc/) /chemele (http://www.chemicalelements.com) /cnn (http://www.cnn.com) /areacodes (http://decoder.americom.com/cgi-bin/decoder.cgi) /tinajaoffsite (http://www.tinaja.com#offsite) /tinajaengines (http://www.tinja.com#engines) /walmart (http://www.walmart.com) /rssbook (http://www.amazon.com/exec/obidos/ISBN%3D0764588486/donlancastersgurA/002-5434897-4181636) /webwb01 (http://www.tinaja.com/webwb01.asp) /weblib01 (http://www.tinaja.com/weblib01.asp) /validator (http://rss.scripting.com/) /webbooks (http://www.tinaja.com/books/bkwbmast.asp) /golive (http://www.adobe.com/products/golive/) /frontpage (http://office.microsoft.com/en-us/FX010858021033.aspx) /htmlbooks (http://www.tinaja.com/books/bkhtml.asp) /htmldummybook (http://www.amazon.com/exec/obidos/ISBN=0764507230/donlancastersgurA/) /naa (http://www.auctioneers.org) /histolog.pdf (http://www.tinaja.com/glib/histolog.pdf) /analogeb.pdf (http://www.tinaja.com/glib/analogeb.pdf) /enhebay3.pdf (http://www.tinaja.com/glib/enhebay3.pdf) /ipswitch (http://www.ipswitch.com/Products/WS_FTP) /networksolutions (http://www.networksolutions.com) /whois (http://www.networksolutions.com/cgi-bin/whois/whois) % entered furing gg65 msexec summary /picpro (http://www.tinaja.com/glib/mspicpro.pdf) /fourier (http://www.tinaja.com/glib/muse90.pdf) % entered during GG64 log log graphs /pdfrm1 (http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/pdf_creation_apis_and_specs/pdfmarkReference.pdf) /loglog01.psl (http://www.tinaja.com/psutils/loglog01.psl) /loglog01.pdf (http://www.tinaja.com/glair/loglog01.pdf) /bookcvr1.psl (http://www.tinaja.com/psutils/bookcvr1.psl) /bookcvr1.pdf (http://www.tinaja.com/glair/bookcvr1.pdf) % entered during gg 63 two phase magic sinewaves /numschip.pdf (http://www.tinaja.com/glib/numschip.pdf) /mspicpro.pdf (http://www.tinaja.com/glib/mspicpro.pdf) % entered during gg 62 enhance III /analogeb.pdf (http://www.tinaja.com/glib/analogeb.pdf) /rss (http://www.tinaja.com/whtnu.xml) /oreproptable (http://www.tinaja.com/whtnu05.asp#rogue3) /javascriptslideshow (http://www.codelifter.com/main/javascript/slideshow4.html) /logrptx2.psl (http://www.tinaja.com/psutils/logrptx2.psl) % entered during GG61 /jpg2pdf.pdf (http://www.tinaja.com/glib/jpg2pdf.pdf) /barcodeonline (http://www.raise-the-bar.co.uk/cgi-bin/webbarcodegen.pl) /barcodegen (http://www.terryburton.co.uk/barcodewriter/) /barcodetutorial (http://www.barcode-us.com/info_center/bookinfo.htm) /isbn (http://www.isbn.org/standards/home/index.asp) /bookcovr.psl (http://www.tinaja.com/glib/bookcovr.psl) /bookcovr.pdf (http://www.tinaja.com/glib/bookcovr.pdf) /begstuff (http://www.tinaja.com/post01.asp#begstuff) /ghostscript (http://www.cs.wisc.edu/~ghost/) /bod01 (http://www.tinaja.com/bod01.asp) % entered during GG 60 /bezlenjf.pdf (http://www.tinaja.com/glib/bezlenjf.pdf) /bzlnsub1.psl (http://www.tinaja.com/psutils/bzlnsub1.psl) /cubemath.pdf (http://www.tinaja.com/glib/cubemath.pdf) % entered during GG 59 /imbz4p01.psl (http://www.tinaja.com/psutils/imbz4p01.psl) /cubemath.pdf (http://www.tinaja.com/glib/cubemath.pdf) /bernstein (http://graphics.idav.ucdavis.edu/education/CAGDNotes/Bernstein-Polynomials.pdf) /ellipse4.psl (http://www.tinaja.com/glib/ellipse4.psl) /wnhsl (http://www.tinaja.com/whatnu05.asp#hsl) /stalac.pdf (http://www.tinaja.com/glib/stalac.pdf) /santa01 (http://www.tinaja.com/santa01.asp) /imxytab.psl (http://www.tinaja.com/psutils/imxytab.psl) /nonlingr.pdf (http://www.tinaja.com/glib/nonlingr.pdf) /unibmm01.psl (http://www.tinaja.com/psutils/unibm01.psl) /webimage.pdf (http://www.tinaja.com/glib/webimage.pdf) /keycor01.pdf (http://www.tinaja.com/glib/keycor01.pdf) /nubkg01.psl (http://www.tinaja.com/psutils/nubkg01.psl) /basis.pdf (http://www.tinaja.com/glib/basis.pdf) /fixtlt01.psl (http://www.tinaja.com/psutils/fixtlt01.psl) /swingtlt.pdf (http://www.tinaja.com/glib/swingt01.pdf) /swingt01.psl (http://www.tinaja.com/glib/swingt01.psl) /perspec1.pdf (http://www.tinaja.com/glib/perspec1.pdf) /starwars.psl (http://www.tinaja.com/psutils/starwars.psl) /video901.jpg (http://www.tinaja.com/images/bargs/finalc9.jpg) /video901.bmp (http://www.tinaja.com/images/bargs/finalc9.bmp) /autobmf1.psl (http://www.tinaja.com/psutils/autobmf1.psl) /bmfauto1.pdf (http://www.tinaja.com/glib/bmfauto1.pdf) /autobm1.psl (http://www.tinaja.com/psutils/autobmf1.psl) /bmdemo1.bmp (http://www.tinaja.com/psutils/bmdemo1.bmp) /adobeifilter (http://www.adobe.com/support/downloads/product.jsp?product=1&platform=Windows) /myriadfont (http://store.adobe.com/type/browser/P/P_1706.html) /stonefont (http://store.adobe.com/type/browser/F/STAQ/F_STAQ-11705000.html) /cleartype (http://grc.com/cleartype.htm) /adobeacrobat (http://www.adobe.com/products/acrobat/main.html) /acroread (http://www.adobe.com/products/acrobat/readstep2.html) /dutchdare (http://www.darenet.nl/page/language.view/home) /sedn (news:///sci.electronics.design) /sern (news:///sci.electronics.repair) /mcmaster (http://www.mcmaster.com/ ) /smallparts (http://www.smallparts.com/ ) /grainger (http://www.grainger.com/Grainger/ ) /mouser (http://www.mouser.com/ ) /digikey (http://www.digikey.com/ ) /allied (http://www.alliedelec.com/ ) /newark (http://www.newark.com/) /thomasreg (http://www.thomasregister.com/) /whtnu05 (http://www.tinaja.com/whtnu05.asp) /refurblg.pdf (http://www.tinaja.com/glib/refurblg.pdf) /refurb.pdf (http://www.tinaja.com/glib/refurb.pdf) /advetorl.pdf (http://www.tinaja.com/glib/advetorl.pdf) /sotofamilia (http://cgi6.ebay.com/ws/eBayISAPI.dll?MfcISAPICommand=ViewListedItems&userid=sotofamilia&include=0&since=7&sort=3&rows=100) /marcia.pdf (http://www.tinaja.com/glib/marcia.pdf) /auctscne.pdf (http://www.tinaja.com/glib/auctscne.pdf) /ebaysell.pdf (http://www.tinaja.com/glib/ebaysell.pdf) /ebayspoof (mailto:spoof@ebay.com) /auct01links (http://www.tinaja.com/auct01.asp#links) /enhebay2.pdf (http://www.tinaja.com/glib/enhebay2.pdf) /enhebay1.pdf (http://www.tinaja.com/glib/enhebay1.pdf) /pdfflash.pdf(http://www.tinaja.com/glib/pdfflash.pdf) /adobejava (http://partners.adobe.com/public/developer/pdf/topic_js.html) /p3anim01.pdf (http://www.tinaja.com/glib/p3anim01.pdf) /xpdf (http://www.foolabs.com/xpdf/) /heapsort.pdf (http://www.tinaja.com/glib/heapsort.pdf) /strconv.pdf (http://www.tinaja.com/glib/strconv.pdf) /pdfrefman (http://partners.adobe.com/public/developer/pdf/index_reference.html) /uncompresspdf.api (http://www.tinaja.com/plugins/uncompressPDF.api) /adobeebooks (http://www.adobe.com/epaper/ebooks/main.html) /viewpdf1.psl (http://www.tinaja.com/psutils/viewpdf1.psl) /adobeacrobatsdk (http://partners.adobe.com/public/developer/acrobat/sdk/index_doc.html) /adobejavascriptguide (http://partners.adobe.com/public/developer/acrobat/sdk/index_doc.html#js) /wordfreq.pdf (http://www.tinaja.com/glib/wordfreq.pdf) /azauct01.pdf (http://www.tinaja.com/glib/azauct01.pdf) /startsdk.pdf (http://www.tinaja.com/glib/startsdk.pdf) /flatevue.pdf (http://www.tinaja.com/glib/flatvue.pdf) /wordfrq1.psl (http://www.tinaja.com/psutils/wordfrq1.psl) /otherwf (http://www.mytranslate.com/wordfrequency.htm) /homonyms (http://www.cooper.com/alan/homonym_list.html) /wrightauct (http://www.wrightbrosauctioneers.com/) /a1auct (http://www.a1auctionz.com/) /auctbroke (http://www.auctionbrokers.us/) /ronbrunk (http://www.brunksauction.com/) /americawest (http://www.yellowpages-ads.com/01231827) /azauctioneers (http://www.arizonaauctioneers.com/) /dickerson (http://www.cfdauction.com/) /wsmauct (http://www.westernsalesmanagement.com/) /asustore (http://property.asu.edu/) /uaauct (http://pacs.web.arizona.edu/pacs_home.html) /schoolauct (http://web.archive.org/web/20040229230404/http://www.dist.maricopa.edu/surplus/other.html) /haynieauct (http://www.chuckhaynieauctions.com/pages/1/index.htm) /crawfordauct (http://www.tumbleweedauction.com/) /mangold (http://www.azauctioneers.org/members/8402_OCMangold.asp) /tingle (http://brucetingleauctioneering.com/) /countass (http://www.soldyourway.com/) /southwestliq (http://www.swliquidators.com/) /maricopacoll (http://www.dist.maricopa.edu/surplus/) /sierraauct (http://www.sierraauction.com/) /cunninghamauct (http://www.auctionaz.com/) /auctappr (http://www.auctionandappraise.com/) /azauctionassn (http://www.azauctioneers.org/home.asp) /natauctionassn (http://www.auctioneers.org/) /azclassifieds (http://www.arizclassified.com/classifieds/index.inn) /azrepublic (http://www.azcentral.com/class/merch/) /tudailystar (http://classified.tucson.com/index.php?site_name=citizen) /enhebay1.pdf (http://www.tinaja.com/glib/enhebay1.pdf) /busonly.psl (http://www.tinaja.com/psutils/busonly.psl) /rebound1.psl (http://www.tinaja.com/glib/rebound1.psl) /rebound1.pdf (http://www.tinaja.com/glib/rebound1.pdf) /funfield.pdf (http://www.tinaja.com/glib/funfield.pdf) /psar2img.pdf (http://www.tinaja.com/glib/psar2img.pdf) /dovebid (http://www.dovebid.com) /michaelfox (http://www.michaelfox.com) /mjauctions (http://www.mjauctions.com) /ucc (http://www.law.cornell.edu/ucc/) /arizlaw (http://www.azleg.state.az.us/ArizonaRevisedStatutes.asp) /vickrey (http://www.vanderbilt.edu/econ/reiley/papers/VickreyHistory.pdf) /whtnu04 (http://www.tinaja.com/whtnu04.asp) /logrpt01.psl (http://www.tinaja.com/psutils/logrpt01.psl) /nutilt01.psl (http://www.tinaja.com/psutils/nutilt01.psl) /nubkg01.psl (http://www.tinaja.com/psutils/nubkg01.psl) /dodbur01.psl (http://www.tinaja.com/psutils/dodbur01.psl) /ebayphen.pdf (http://www.tinaja.com/glib/ebayphen.pdf) /gallery.pdf (http://www.tinaja.com/glib/gallery.pdf) /histolog (http://www.tinaja.com/glib/histolog.pdf) /bmfonts (http://www.tinaja.com/glib/bmfonts.pdf) /dodbur (http://www.tinaja.com/glib/dodgebur.pdf) /ebayphoto (http://www.tinaja.com/glib/ebayfoto.pdf) /auctscne (http://www.tinaja.com/glib/auctscne.pdf) /stepprep (http://www.tinaja.com/glib/stepprep.pdf) /phonenums (http://www.switchboard.com/bin/cgiqa.dll?MG=) /reversephone (http://www.reversephonedirectory.com/) /scholar (http://www.scholar.google.com/) /shieldsup (https://grc.com/x/ne.dll?bh0bkyd2) /sotofamilia (http://cgi6.ebay.com/ws/eBayISAPI.dll?MfcISAPICommand=ViewListedItems&userid=sotofamilia&include=0&since=7&sort=3&rows=100) /topozone (http://www.topozone.com/) /thomasreg (http://www.thomasregister.com/) /uhaul (http://www.uhaul.com/) /ups (http://www.ups.com/) /usps (http://www.usps.com/) /vrane (http://www.vrane.com) /wayback (http://web.archive.org/) /whois (http://www.networksolutions.com/cgi-bin/whois/whois) /grainger (http://www.grainger.com/) /zipcodes (http://www.usps.com/ncsc/lookups/lookup_zip+4.html) /mcmaster (http://www.mcmaster.com/) /mscsupply (http://www.mscdirect.com/) /natauctioneers (http://www.auctioneers.org/) /newspapers (http://www.usnpl.com/) /norfolk (http://www.norfolkandwaay.com) /quickphrase (http://www.typingmaster.com/index.asp?go=quickphrase) /myebays (http://www.tinaja.com/glib/myebays.pdf) /moreebay (http://www.tinaja.com/glib/moreebay.pdf) /mapsonus (http://www6.mapsonus.com/) /aafont01 (http://www.tinaja.com/aafont01.asp) /froogle (http://www.froogle.com) /govliquidation (http://www.govliquidation.com) /intershipper (http://www.intershipper.com) /kelly (http://www.kbb.com) /paypal (https://www.paypal.com/refer/pal=don%40tinaja.com) /ebaysell (http://www.tinaja.com/glib/ebaysell.pdf) /ebaybuy (http://www.tinaja.com/glib/ebaybuy.pdf) /deja (http://groups.google.com/googlegroups/deja_announcement.html) /drhtml (http://www2.imagiware.com/RxHTML/) /fedex (http://www.fedex.com/us/) /currency (http://www.xe.net/ucc/) /terraserver (http://terraserver-usa.com/) /areacode (http://decoder.americom.com/cgi-bin/decoder.cgi) /asiansources (http://www.asia.globalsources.com/HOMEPAGES/ASOL/HOME) /ebaystore (http://stores.ebay.com/synergeticsabeja) /amazon (http://www.amazon.com/exec/obidos/redirect-home/donlancastersgur/) /aucres01 (http://www.tinaja.com/aucres01.asp) /auctlinks (http://www.tinaja.com/auct01.asp#links) /wayback (http://www.archive.org/web/web.php) /agilent (http://www.agilent.com) /fields01.psl (http://www.tinaja.com/glib/fields01.psl) /fields01.pdf (http://www.tinaja.com/glib/fields01.pdf) /maxwells (http://hyperphysics.phy-astr.gsu.edu/hbase/electric/maxeq.html#c3) /muse121 (http://www.tinaja.com/glib/muse121.pdf) /maxwellbook (http://www.amazon.com/exec/obidos/ISBN=0486606368/donlancastersgurA) /transtronics (http://www.transtronics.com) /sigview.pdf (http://www.tinaja.com/glib/sigview.pdf) /mscal28nd.asp (http://www.tinaja.com/mscal28nd.asp) /microchip (http://www.microchip.com) /numschip.pdf (http://www.tinaja.com/glib/numschip.pdf) /numschip.psl (http://www.tinaja.com/glib/numschip.psl) /msd28a.asm (http://www.tinaja.com/glib/msd28a.asm) /lineartechnology (http://www.lineartechnology.com) /bmtypewr (http://www.tinaja/com/psutils/bmtypewr.psl) /distlang.pdf (http://www.tinaja.com/glib/distlang.pdf) /muse141 (http://www.tinaja.com/glib/muse141.pdf) /screenthief (http://www.keyscreen.com/KeyScreen(s)5/scrnthf.htm) /giffont (http://www.tinaja.com/bmfonts/giffont1.bmp) /f507bg.txt (http://www.tinaja.com/bmfonts/f507bg.txt) /f507bg.psl (http://www.tinaja.com/bmfonts/f507bg.psl) /f507bg.pdf (http://www.tinaja.com/bmfonts/f507bg.pdf) /f607bg.txt (http://www.tinaja.com/bmfonts/f607bg.txt) /f707bg.txt (http://www.tinaja.com/bmfonts/f707bg.txt) /imgwrds1.psl (http://www.tinaja.com/psutils/imgwrds1.psl) /bmfont01 (http://www.tinaja.com/bmfont01.asp) /expbmp.psl (http://www.tinaja.com/glib/expbmp.psl) /kikisu (http://www.tinaja.com/images/bargs/ki710101.jpg) /hp3336a (http://www.tinaja.com/images/bargs/hp333601.jpg) /bmtransfer (http://www.tinaja.com/bmfonts/lettex01.bmp) /histolog.pdf (http://www.tinaja.com/glib/histolog.pdf) /histolog.psl (http://www.tinaja.com/glib/histolog.psl) /site01 (http://www.tinaja.com/site01.asp) /dayproc1.psl (http://www.tinaja.com/psutils/dayproc1.psl) /trail30.psl (http://www.tinaja.com/psutils/trail30.psl) /logrptm1.psl (http://www.tinaja.com/psutils/logrptm1.psl) /logrpt01.psl (http://www.tinaja.com/psutils/logrpt01.psl) /powerfit (http://www.tinaja.com/glib/powerfit.pdf) /pssort (http://www.tinaja.com/glib/pssort.pdf) /heapsort (http://www.tinaja.com/glib/heapsort.pdf) /bashpseu (http://www.tinaja.com/glib/bashpseu.pdf) /pseudo01 (http://www.tinaja.com/pseudo01.asp) /muse112 (http://www.tinaja.com/glib/muse112.pdf) /muse113 (http://www.tinaja.com/glib/muse113.pdf) /muse89 (http://www.tinaja.com/glib/muse89.pdf) /muse151 (http://www.tinaja.com/glib/muse151.pdf) /muse153 (http://www.tinaja.com/glib/muse153.pdf) /pssecrets (http://www.tinaja.com/glib/pssecrets.pdf) /bouncy (http://www.tinaja.com/glib/bouncy.pdf) /vectstep (http://www.tinaja.com/glib/vectstep.pdf) /muse102 (http://www.tinaja.com/glib/muse102.pdf) /onesword (http://www.tinaja.com/text/onesword.html) /emergop2 (http://www.tinaja.com/glib/emergop2.pdf) /wave01 (http://www.tinaja.com/wave01.asp) /chaincode (http://www.tinaja.com/text/chain01.html) /muse152 (http://www.tinaja.com/glib/muse152.pdf) /atg1 (http://www.tinaja.com/glib/atg1.pdf) /hack62 (http://www.tinaja.com/glib/hack62.pdf) /psinscrt (http://www.tinaja.com/glib/psinscrt.pdf) /fern2img (http://www.tinaja.com/psutils/fern2img.psl) /thefern (http://www.tinaja.com/psutils/fern2img.pdf) /cmoscb (http://www.amazon.com/exec/obidos/ISBN%3D0750699434/donlancastersgurA/002-0496817-3688016) /activecb (http://www.amazon.com/exec/obidos/ISBN%3D075062986X/donlancastersgurA/002-0496817-3688016) /hack64 (http://www.tinaja.com/glib/hack64.pdf) /nss (http://www.caves.org) /sinquest (http://www.tinaja.com/glib/sinquest.pdf) /askguru (http://www.tinaja.com/glair01.asp) /assycb (http://www.amazon.com/exec/obidos/ISBN%3D0672223317/donlancastersgurA/002-3338585-9572047) /muse105 (http://www.tinaja.com/glib/muse105.pdf) /muse107 (http://www.tinaja.com/glib/muse107.pdf) /resbn90 (http://www.tinaja.com/glib/resbn90.pdf) /hackar3 (http://www.tinaja.com/glib/hackar3.pdf) /testdemo (http://www.tinaja.com/glib/FULL60-1.ASC) /mschips (http://www.tinaja.com/glib/mschips.pdf) /sigview (http://www.sigview.com) /ggsigview (http://www.tinaja.com/glib/sigview.pdf) /mock (http://www.technicalworks.com) /xtronics (http://www.xtronics.com/) /oshen (http://www.oshonsoft.com/pic.html) /heapps01 (http://www.tinaja.com/psutils/heapps01.psl) /distlangpdf (http://www.tinaja.com/glib/distlang.pdf) /strconv (http://www.tinaja.com/glib/strconv.pdf) /fancysort (http://linux.wku.edu/~lamonml/algor/sort) /presort (http://www.tinaja.com/psutils/presort1.psl) /psnt (http://www.tinaja.com/glib/psnt.pdf) /insort (http://www.tinaja.com/psutils/insort.ps) /bublsort (http://www.tinaja.com/psutils/bublsort.ps) /oldstrconv (http://www.tinaja.com/psutils/strconv.html) /psdisk03 (http://www.tinaja.com/glib/psdisk03.pdf) /muse01 (http://www.tinaja.com/muse01.asp) /gonzopow (http://www.tinaja.com/glib/gonzopow.pdf) /analogeb (http://www.tinaja.com/glib/analogeb.pdf) /psdisk03 (http://www.tinaja.com/glib/psdisk03.pdf) /flut01 (http://www.tinaja.com/flut01.asp) /clpng (news:///comp.lang.postscript) /ctpng (news:///comp.text.pdf) /yahoo (http://www.yahoo.com) /google (http://www.google.com) /scodes (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) /whois (http://www.networksolutions.com/en_US/whois/index.jhtml) /zekes (http://www.zekes.com) /logfileformat (http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/core/iicnvlg.htm) /logrpt01.psl (http://www.tinaja.com/psutils/logrpt01.psl) /logrpt01.log (http://www.tinaja.com/psutils/logrpt01.log) /ex031126 (http://www.tinaja.com/psutils/ex031126.log) /picup01 (http://www.tinaja.com/picup01.asp) /webwb01 (http://www.tinaja.com/webwb01.asp) /muse90 (http://www.tinaja.com/glib/muse90.pdf) /vismagsn (http://www.tinaja.com/glib/vismagsn.psl) /vismagsn.pdf (http://www.tinaja.com/glib/vismagsn.pdf) /msquant (http://www.tinaja.com/glib/msquant.psl) /optjit01 (http://www.tinaja.com/psutils/optjit01.psl) /optjit01demo (http://www.tinaja.com/psutils/optjit01.pdf) /qall01 (http://www.tinaja.com/psutils/qall01.psl) /deltapat (http://www.tinaja.com/psutils/deltapat.pdf) /deltapat.pdf (http://www.tinaja.com/psutils/deltapat.pdf) /deltapat.psl (http://www.tinaja.com/psutils/deltapat.psl) /mindist1 (http://www.tinaja.com/glib/mindist1.pdf) /deltams1 (http://www.tinaja.com/glib/deltams1.pdf) /grabjpg (http://www.tinaja.com/psutils/grabjpg.psl) /gallery (http://www.tinaja.com/glib/gallery.pdf) /nutour01 (http://wwww.tinaja.com/nutour01.pdf) /linkpdf1 (http://www.tinaja.com/glib/linkpdf1.html) /ebayfoto (http://www.tinaja.com/glib/ebayfoto.pdf) /jpeg2pdf.html (http://www.tinaja.com/text/jpeg2pdf.html) /pdf2bmp (http://www.tinaja.com/psutils/pdf2bmp.psl) /bitmfont (http://www.tinaja.com/psutils/bitmfont.txt) /antifontpsl (http://www.tinaja.com/psutils/antifont.psl) /antifonttxt (http://www.tinaja.com/psutils/antifont.txt) /histog01 (http://www.tinaja.com/psutils/histog01.psl) /swingtlt (http://www.tinaja.com/glib/swingtlt.pdf) /newsamoe (news:///alt.marketing/online.ebay) /webtrends (http://www.netiq.com/webtrends/default.asp) /stegan (http://63.140.207.28/books/bkwater.asp) /nodi (http://www.pages.ebay.com/help/community/notice-infringe2.pdf) /ebayvero (http://www.pages.ebay.com/help/community/vero-program.html) /aboutme (http://members.ebay.com/aboutme/abeja/) /magfill2 (http://www.tinaja.com/psutils/magfill2.psl) /bmprpt01 (http://www.tinaja.com/psutils/bmprpt01.psl) /waywere (http://www.tinaja.com/glib/waywere.pdf) /nikon (http://www.nikon.com) /bayer (http://www.coreco.com/Web/wbtools3.nsf/0/87fce126f109ea3a05256c7100591c9a?OpenDocument) /hewpack (http://www.hp.com) /auct01 (http://www.tinaja.com/auct01.asp) /blat01 (http://www.tinaja.com/blat01.asp) /moreebay (http://www.tinaja.com/glib/moreebay.pdf) /auctscne (http://www.tinaja.com/glib/auctscne.pdf) /autourl (http://www.tinaja.com/glib/autourl.pdf) /msintro1 (http://www.tinaja.com/glib/msintro1.pdf) /msintrosource (http://www.tinaja.com/glib/msintro1.psl) /knockout (http://www.tinaja.com/glib/knockout.bmp) /stepsynt (http://www.tinaja.com/glib/stepsynt.pdf) /msintro1 (http://www.tinaja.com/glib/msintro1.pdf) /msinprop (http://www.tinaja.com/glib/msinprop.pdf) /muse106 (http://www.tinaja.com/glib/muse106.pdf) /muse142 (http://www.tinaja.com/glib/muse142.pdf) /math01 (http://www.tinaja.com/math01.asp) /cubic01 (http://www.tinaja.com/cubic01.asp) /bez4pts (http://www.tinaja.com/glib/bez4pts.pdf) /muse145 (http://www.tinaja.com/glib/muse145.pdf) /muse148 (http://www.tinaja.com/glib/muse148.pdf) /curveft3 (http://www.tinaja.com/psutils/curveft3.psl) /fuzzybez (http://www.tinaja.com/glib/fuzzybez.pdf) /oldfuzzybez (http://www.tinaja.com/text/fuzzybez.html) /bmprpt01 (http://www.tinaja.com/psutils/bmprpt01.psl) /nowhit01 (http://www.tinaja.com/psutils/nowhit01.psl) /blender (http://www.tinaja.com/psutils/blender.psl) /speedup2 (http://www.tinaja.com/glib/speedup2.pdf) /histog01 (http://www.tinaja.com/psutils/histog01.psl) /imgviewer32 (http://www.arcatapet.net/imgv32.cfm) /basis (http://www.tinaja.com/glib/basis.pdf) /expbmp (http://www.tinaja.com/glib/expbmp.pdf) /dodbur01 (http://www.tinaja.com/psutils/dodbur01.psl) /dodgebur (http://www.tinaja.com/glib/dodgebur.pdf) /magfill1 (http://www.tinaja.com/psutils/magfill1.psl) /swingt01 (http://www.tinaja.com/psutils/swingt01.psl) /before01 (http://www.tinaja.com/images/bargs/marcon01.jpg) /during01 (http://www.tinaja.com/images/bargs/marcon01.bmp) /after01 (http://www.tinaja.com/images/bargs/marconz1.jpg) /repobmp (http://www.tinaja.com/glib/repobmp.pdf) /basis01 (http://www.tinaja.com/glib/basis.pdf) /arcata (http://www.arcatapet.net/imgv32.cfm) /comparebmp (http://www.designer-info.com/Writing/bmp_tiff_jpeg_gif.htm) /imagimag (http://www.tinaja.com/glib/imagimag.pdf) /myebays (http://www.tinaja.com/glib/myebays.pdf) /stepprep (http://www.tinaja.com/glib/stepprep.pdf) /aafont01 (http://www.tinaja.com/aafont01.asp) /here1 (http://village.infoweb.ne.jp/~fwhw1257/study/bmpform.htm) /here2 (http://www.daubnet.com/formats/BMP.html) /bittype (http://www.tinaja.com/psutils/pdf2bmp.psl) /photocombine (http://www.tinaja.com/psutils/blender.psl) /psl (http://www.tinaja.com/psutils/) % dummy temp /psl1 (http://www.tinaja.com/psutils/pdf2bmp.psl) /psl2 (http://www.tinaja.com/psutils/acatdata.psl) /psl3 (http://www.tinaja.com/psutils/catwords.psl) /psl4 (http://www.tinaja.com/psutils/graburls.psl) /psl5 (http://www.tinaja.com/psutils/blender.psl) /psl6 (http://www.tinaja.com/psutils/catools1.psl) /psl7 (http://www.tinaja.com/psutils/strconv.html) /psl8 (http://www.tinaja.com/psutils/bodcat.psl) /psl9 (http://www.tinaja.com/psutils/flatvue1.psl) /psl10 (http://www.tinaja.com/psutils/fern2img.psl) /psl11 (http://www.tinaja.com/psutils/flutools.psl) /psl12 (http://www.tinaja.com/psutils/mscal156q.psl) /psl13 (http://www.tinaja.com/psutils/weblogu2.psl) /psl14 (http://www.tinaja.com/psutils/pfa2pfb.psl) /psl15 (http://www.tinaja.com/psutils/pfb2pfa.psl) /psl16 (http://www.tinaja.com/glib/psdisk03.psl) /psl17 (http://www.tinaja.com/psutils/disktool.psl) /psl18 (http://www.tinaja.com/glib/psinscrt.psl) /psl19 (http://www.tinaja.com/glib/pssearch.psl) /psl20 (http://www.tinaja.com/text/refsum1.html) /psl21 (http://www.tinaja.com/text/reflog1.html) /psl22 (http://www.tinaja.com/psutils/reflog1.psl) /psl23 (http://www.tinaja.com/psutils/refsum1.psl) /psl24 (http://www.tinaja.com/psutils/searepl.psl) /psl25 (http://www.tinaja.com/psutils/weberru2.psl) /psl26 (http://www.tinaja.com/psutils/grabsrch.psl) /psl27 (http://www.tinaja.com/psutils/grabrefs.psl) /magsn01 (http://www.tinaja.com/magsn01.asp) /gonzoutils (http://www.tinaja.com/post01.asp#gonzo) /disktool (http://www.tinaja.com/psutils/disktool.ps) /elesimp (http://www.tinaja.com/glib/elesimp.pdf) /tn5603 (http://partners.adobe.com/asn/developer/pdfs/tn/TN5603.Filters.pdf) /fern2img (http://www.tinaja.com/psutils/fern2img.psl) /fern (http://www.tinaja.com/psutils/fern2img.pdf) /oldfern (http://www.tinaja.com/psutils/fernx1.pdf) /acrosdk (http://partners.adobe.com/asn/developer/acrosdk/main.html) /refman2 (http://partners.adobe.com/asn/developer/pdfs/tn/psrefman.pdf) /refman3 (http://partners.adobe.com/asn/developer/pdfs/tn/PLRM.pdf) /s3011 (http://partners.adobe.com/asn/developer/pdfs/tn/PS3010and3011.Supplement.pdf) /s2011 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2011.supplement.pdf) /s2012 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2012.supplement.pdf) /s2013 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2013.supplement.pdf) /s2014 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2014.supplement.pdf) /s2015 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2015.supplement.pdf) /s2016 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2016.supplement.pdf) /ghost (http://www.cs.wisc.edu/~ghost/) /distlang (http://www.tinaja.com/psutils/distlang.html) /adobepst (http://partners.adobe.com/asn/developer/technotes/) /maildon (mailto:don@tinaja.com) /tinaja (http://www.tinaja.com) /adobe (http://www.adobe.com) /adobesdk (http://partners.adobe.com/asn/developer/acrosdk/main.html) /pstrans (http://www.tinaja.com/glib/pstrans.pdf) /borland (http://www.borland.com/products/downloads/download_cbuilder.html) /ebay (http://cgi6.ebay.com/ws/eBayISAPI.dll?ViewSellersOtherItems&userid=abeja&completed=0&sort=2&since=-1&include=0&page=1&rows=100) /searepl (http://www.tinaja.com/psutils/searepl.psl) /aasdk (http://www.tinaja.com/plugins/AboutAcrobatSDK.api) /uncomp (http://www.tinaja.com/plugins/UncompressPDF.api) /addimage (http://www.tinaja.com/plugins/AddImage.api) /samplejpg (http://www.tinaja.com/plugins/sample.jpg) /transparency (http://www.tinaja.com/plugins/Transparency.api) /threerects (http://www.tinaja.com/plugins/threerects.pdf) /watermark (http://www.tinaja.com/plugins/Watermark.api) /verifyurls (http://www.tinaja.com/plugins/VerifyURLS.api) /flate (http://www.tinaja.com/glib/flatvue.pdf) /pstrans (http://www.tinaja.com/glib/pstrans.pdf) /advt01 (http://www.tinaja.com/advt01.asp) /amlink01 (http://www.tinaja.com/amlink01.asp) /ng1 (news:///comp.text.pdf) /ng2 (news:///comp.lang.postscript) /msc++ (http://msdn.microsoft.com/visualc/productinfo/default.asp) /degub (http://www.tinaja.com/glib/degub.pdf) % dead /ghostscript (http://www.artifex.com/pressreleases/GS70.htm) /demox.psl (http://www.tinaja.com/glib/g9demox.psl) /demox.pdf (http://www.tinaja.com/glib/g9demox.pdf) /demo.pdf (http://www.tinaja.com/glib/g9demo.pdf) /flatvue (http://www.tinaja.com/glib/flatvue.psl) /pdfrefman (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /psrefman (http://partners.adobe.com/asn/developer/technotes/postscript.html) /pdfmrm (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /tipdf (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /asdk (http://partners.adobe.com/asn/developer/acrosdk) /mtcr (http://support.adobe.com/devsup/devsup.nsf/docs/51864.htm) /flatvue1 (http://www.tinaja.com/psutils/flatvue1.psl) /acrob01 (http://www.tinaja.com/acrob01.asp) /post01 (http://www.tinaja.com/post01.asp) /info01 (http://www.tinaja.com/info01.asp) /gurgrm01 (http://www.tinaja.com/gurgrm01.asp) /energfun (http://www.tinaja.com/glib/energfun.pdf) { /tilley (http://www.tilleyfoundation.com) /mnglobal (http://www.mnglobal.com/energy/pg2.htm) /keely (http://www.keelynet.com) /evolve (http://www.evolvedtechnology.com) /hack64 (http://www.tinaja.com/glib/hack64.pdf) /hackar3 (http://www.tinaja.com/glib/hackar3.pdf) /resbn58 (http://www.tinaja.com/glib/resbn58.pdf) /bppt (http://www.batterypoweronline.com) /muse112 (http://www.tinaja.com/glib/muse112.pdf) /muse113 (http://www.tinaja.com/glib/muse113.pdf) /energfun (http://www.tinaja.com/glib/energfun.pdf) /bashpseu (http://www.tinaja.com/glib/bashpseu.pdf) /adobe (http://www.adobe.com) /netscape (http://www.netscape.com) /gallypsl (http://www.tinaja.com/galley1.psl) /gallypdf (http://www.tinaja.com/galley1.pdf) /atn5150 (http://partners.adobe.com/asn/developer/acrosdk/docs/createpdfapi/pdfmarkReference.pdf) /nutour (http://www.tinaja.com/bargains/nutour02.pdf) /nutoursource (http://www.tinaja.com/bargains/nutour02.psl) /bwhistle (http://www.tinaja.com/glib/bwhistle.pdf) /gonzo1 (http://www.tinaja.com/post01.asp#gonzo) /barg01 (http://www.tinaja.com/barg01.asp) /weblib01 (http://www.tinaja.com/weblib01.asp) /gurgrm01 (http://www.tinaja.com/gurgrm01.asp) /z1 (http://www.tinaja.com/bargains/thumb/albradz2.jpg) /z2 (http://www.tinaja.com/bargains/sbtesteq.asp) /z3 (http://www.tinaja.com/images/bargs/albrad02.jpg) /z4 (http://www.tinaja.com/bargains/thumb/tutenaz2.jpg) /z5 (http://www.tinaja.com/bargains/sbphone.asp) /z6 (http://www.tinaja.com/images/bargs/tutena02.jpg) /sourceme (http://www.tinaja.com/glib/gallery.psl) /sourceme2 (http://www.tinaja.com/glib/autourl.psl) } pop >> {mark exch /eurl cvx ] cvx def} forall %%%%%%%%%%%%%%%% New colorizer patches %%%%%%%%%%%%%%%%%% /boxgrays 0.899 def /grayshade boxgrays def /mastergray boxgrays def /staytint {0.33 setgray} def /staytint1 {0.25 setgray} def /showadgrays true def /red {0 settint} def /Zmacro {staytint /ypos ypos 2 add def 72 300 div setlinewidth xpos ypos moveto txtwide 0 rlineto stroke /ypos ypos -2 add def tintoff} def % hair rule /amacro {(zy0) stringmacro /ypos ypos ypara add def 0.33 setgray } def % start drop cap /bmacro {(iFy1) stringmacro /ypos ypos ypara add def black} def % finish drop cap % Gonzo character colorizer /blueon {mark /blue cvx 0.33 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /blueoff {mark /beige cvx 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton {mark 0.33 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1 {mark 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1b {mark beige cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1a {mark /aqua cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1p {mark /burple cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1r {mark /red cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1a {mark /aqua cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1b {mark /beige cvx % try for beige after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tintoff {mark 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def %%%%%%%%%%%%%% COMPACT VERSION OF COLORIZER II %%%%%%%%%%%%%%%%%%%%%% /settint {dup /currenttint exch store 5.999 mul dup floor cvi /&cbar exch store dup floor sub /&cwt exch store [ {/setgray [ /dup cvx 0.3 &cwt 0.59 mul add /ge cvx [1 /exch cvx &cwt 0.59 mul 0.30 add /sub cvx 1 &cwt sub 0.59 mul 0.11 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx /exch cvx ] cvx [ &cwt 0.59 mul 0.3 add /div cvx /dup cvx &cwt /mul cvx 0] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 1 &cwt sub 0.3 mul add /ge cvx [1 &cwt sub 0.3 mul 0.59 add /sub cvx &cwt 0.3 mul 0.11 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx /exch cvx 1 /exch cvx] cvx [1 &cwt sub 0.3 mul 0.59 add /div cvx /dup cvx 1 &cwt sub /mul cvx /exch cvx 0] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 &cwt 0.11 mul add /ge cvx [&cwt 0.11 mul 0.59 add /sub cvx 1 &cwt sub 0.11 mul 0.30 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx 1 /exch cvx] cvx [0 /exch cvx &cwt 0.11 mul 0.59 add /div cvx /dup cvx &cwt /mul cvx] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 1 &cwt sub mul 0.11 add /ge cvx [1 &cwt sub 0.59 mul 0.11 add /sub cvx &cwt 0.59 mul 0.30 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx 1] cvx [0 /exch cvx 1 &cwt sub 0.59 mul 0.11 add /div cvx /dup cvx 1 &cwt sub /mul cvx /exch cvx] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.11 &cwt 0.30 mul add /ge cvx[&cwt 0.30 mul 0.11 add /sub cvx 1 &cwt sub 0.30 mul 0.59 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx /exch cvx 1] cvx [ &cwt 0.30 mul 0.11 add /div cvx /dup cvx &cwt /mul cvx /exch cvx 0 /exch cvx ] cvx /ifelse cvx /setrgbcolor cvx ] cvx /def cvx} {/setgray [ /dup cvx 0.30 1 &cwt sub 0.11 mul add /ge cvx[ 1 /exch cvx 1 &cwt sub 0.11 mul 0.30 add /sub cvx &cwt 0.11 mul 0.59 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx ] cvx [ 1 &cwt sub 0.11 mul 0.30 add /div cvx /dup cvx 1 &cwt sub /mul cvx 0 /exch cvx] cvx /ifelse cvx /setrgbcolor cvx ] cvx /def cvx} ] &cbar get exec exec} bind def /beige {0.10 settint} def % examples of convenience operators /aqua {0.52 settint} def /blue {0.67 settint} def /lime {0.44 settint} def /burple {0.75 settint} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /guru { gonzo begin ps.util.1 begin printerror nuisance begin} def % guru % activate gonzo utilities 50 50 10 setgrid % create grid % 56 61 showgrid /setpagefonts { /cstretch 0.015 def /sstretch 0.015 def /font0 /StoneSans-Bold 1.6 gonzofont /font1 /StoneSans 0.95 gonzofont /font2 /StoneSans [0.95 0 0.25 0.95 0 0 ] gonzofont /font4 /StoneSans 0.85 gonzofont /font3 /StoneSans-Bold 0.85 gonzofont /font6 /StoneSans-Bold 0.85 gonzofont /font7 /StoneSans-Bold 1.05 gonzofont % subheaders /font8 /StoneSans-Bold [0.65 0 0 0.65 0 0.4] gonzofont /txtwide 36 store /yinc 1.2 store /kern 0.1 store /pm 1.5 store aqua 0.33 setgray font1 black /amacro { mark /aqua cvx 0.33 /setgray cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def /bmacro { mark /black cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def /shiftin {xpos /xposhold exch store /xpos xpos 3 add store} def /shiftout {/xpos xposhold store} def /texttop 51 store /textleft 3 store /cmacro {aqua 0.25 setgray (znhL7) stringmacro /xpos xpos 1.7 sub store /ypos ypos .1 sub def } def % left title /dmacro {black (pL1hz) stringmacro /xpos xpos 1.7 add store /ypos ypos .1 add def} def % normal text after centered title /fmacro % try and fake | {mark /gsave cvx /currentpoint cvx /moveto cvx 0.1 /setlinewidth cvx 0 0.65 /rlineto cvx /stroke cvx /grestore cvx ] cvx printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def } def setpagefonts % -2 50.5 (optional header here \274) cl %% Set document opening conventions. Note DOCVIEW limited. [/CropBox [0 0 520 620] % set the wierd size /PAGES pdfmark [ {Catalog} << /ViewerPreferences << /FitWindow true /CenterWindow true >> /PageLayout /OneColumn % continous /Pagemode /UseNone % no thumbs /View [/XYZ null null 1 ] % force 100% >> /PUT pdfmark %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page manager /pagenum 1 store /startnewpage { black beige 0.35 setgray 21 -2.5 (|3\320|j|j) ggnum 10 string cvs mergestr (|j.|j) mergestr pagenum 10 string cvs mergestr (|j|j\320) mergestr cc aqua showpage %% start next page /pagenum pagenum 1 add store 50 50 10 setgrid % create grid setpagefonts font1 textleft texttop } def /su {surl font6} store /to {tinton1 font6} store /tx {tintoff font1} store /tabs [7 20] store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % //// REVISED DIPDRAW PROC ///// electronics begin % dipdraw - draws a dip integrated circuit. (old code to be improved) % Enter with currentpoint set to pin 1 and scale % set so that 1.0 = distance between pins. Then % do a numpins-(name)-(hipins)-(lopins) dipdraw % Pin callouts preceeded by / will be complemented. % main dipdraw entry: /dipdraw { save /dipsnap exch def /hipins exch def /lopins exch def /chipname exch def /numpins exch def mark 0 0 0 0 0 0 0 0 0 0 0 0 % temp patch /howlong {numpins 2 div cvi 1 add} def /howhigh {4 numpins 36 ge {1 add} if} def /stub {howhigh 1.4 sub 2 div} def % internal service subs start here: /pinproc {numpins 2 div cvi{newpath 0 cpos 0.37 0 360 arc gsave 1 setgray fill grestore 0.067 setlinewidth stroke pin# 5 string cvs dup stringwidth pop 2 div neg cpos 0.2 sub moveto show 1 0 translate /pin# pin# dir add def} repeat } def /stretchprint { dup stringwidth pop 2 div neg exch length 1 sub stretch mul 2 div sub 0 moveto callout (/) anchorsearch true eq {currentpoint exch stretch add exch moveto pop dup /callout exch def stringwidth pop callout length 1 sub stretch mul add /barwide exch def 0.033 setlinewidth gsave currentpoint 0.55 add moveto barwide 0 rlineto stroke grestore} if stretch 0 callout ashow pop} def /pincallouts{0 vpos translate {workstring ( ) search true eq {/callout exch def pop /workstring exch def callout stretchprint 1 0 translate}{dup /callout exch def stretchprint exit } ifelse}loop} def % actual dipdraw process starts here: % ........ the outline: gsave 1 setlinecap 1 setlinejoin currentpoint translate newpath -1 howhigh 2 div 0.7 -90 90 arc 0 stub rlineto howlong 0 rlineto 0 howhigh neg rlineto howlong neg 0 rlineto closepath gsave grayshade setgray fill grestore grayshade dup 1 ne {0.33}{0} ifelse setgray 0.36 setlinewidth stroke newpath -.55 .45 0.15 0 360 arc fill black % ........ pin circles and numbers: /Helvetica-Bold findfont [0.4 0 0 0.55 0 0] makefont setfont gsave /pin# 1 def /dir 1 def /cpos 0 def pinproc grestore gsave /pin# numpins def /dir -1 def /cpos howhigh def pinproc grestore % pin callouts: /Helvetica findfont [0.35 0 0 0.6 0 0] makefont setfont /stretch 0.033 def gsave /workstring hipins def /vpos 0.6 def pincallouts grestore gsave /workstring lopins def /vpos howhigh 1.05 sub def pincallouts grestore % device number: grayshade 1 ne {0.33}{0} ifelse setgray /Helvetica-Bold findfont [1.4 0 0 1 0 0] makefont setfont /stretch 0.05 def gsave numpins 2 div 1 sub 2 div howhigh 2 div 0.33 sub translate chipname dup /callout exch def stretchprint grestore black % end cleanup: grestore grestore cleartomark dipsnap restore} def end % get out of electronics? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Burplebox routines /burpwide 29.5 store /burpcom {save /burpx exch store /bht exch store save /burp1 exch store xpos ypos translate -1 .2 mt bht yinc mul .4 add pd burpwide pr bht yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore} store /burpwidew 32 store /burpcomw {save /burpx exch store /bht exch store save /burp1 exch store xpos 1 sub ypos translate 0 .2 mt bht yinc mul .4 add pd burpwidew pr bht yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore} store { /burplebox1 {1.5 burpcom} store /burplebox1.5 {2 burpcom} store /burplebox2 {2.5 burpcom} store /burplebox2.5 {3 burpcom} store /burplebox3 {3.5 burpcom} store /burplebox3.5 {4 burpcom} store /burplebox4 {4.5 burpcom} store /burplebox4.5 {5 burpcom} store /burplebox5 {5.5 burpcom} store /burplebox5.5 {6 burpcom} store /burplebox6 {6.5 burpcom} store /burplebox6.5 {7 burpcom} store /burplebox7 {7.5 burpcom} store /burplebox7.5 {8 burpcom} store /burplebox8 {8.5 burpcom} store /burplebox8.5 {9 burpcom} store /burplebox9 {9.5 burpcom} store /burplebox9.5 {10 burpcom} store /burplebox10 {10.5 burpcom} store /burplebox10.5 {11 burpcom} store /burplebox11 {11.5 burpcom} store /burplebox11.5 {12 burpcom} store /burplebox12 {12.5 burpcom} store /burplebox11w {11.5 burpcomw} store /burplebox12.5 {13 burpcom} store /burplebox13 {13.5 burpcom} store /burplebox13.5 {14 burpcom} store /burplebox14 {14.5 burpcom} store /burplebox14.5 {15 burpcom} store /burplebox15{15.5 burpcom} store /burplebox15.5{16 burpcom} store /burplebox16 {16.5 burpcom} store /burplebox16.5 {17 burpcom} store /burplebox17 {17.5 burpcom} store /burplebox17.5 {18 burpcom} store /burplebox18 {18.5 burpcom} store /burplebox18.5 {19 burpcom} store /burplebox19 {19.5 burpcom} store /burplebox19.5 {20 burpcom} store /burplebox20 {20.5 burpcom} store /burplebox21.5 {22 burpcom} store /burplebox22{22.5 burpcom} store /burplebox22.5 {23 burpcom} store /burplebox23 {23.5 burpcom} store /burplebox23.5 {24 burpcom} store /burplebox24{24.5 burpcom} store /burplebox25{25.5 burpcom} store /burplebox25.5{26 burpcom} store /burplebox27{27.5 burpcom} store /burplebox28 {28.5 burpcom} store /burplebox28.5 {29 burpcom} store /burplebox30 {30.5 burpcom} store /burplebox31 {31.5 burpcom} store /burplebox31.5 {32 burpcom} store /burplebox33.5 {34 burpcom} store /burplebox34 {34.5 burpcom} store /burplebox38 {38.5 burpcom} store /burplebox38.5{39 burpcom} store /burplebox40{40.5 burpcom} store /burplebox40.5{41 burpcom} store /burplebox41.5{42 burpcom} store /burplebox42 {42.5 burpcom} store /burplebox42.5{43 burpcom} store % nearly a full page /burplebox43 {43.5 burpcom} store } pop 1 1 50 {cvi /size exch store % make all the burpleboxes (burplebox) size 20 string cvs mergestr cvn mark size 0.5 add /burpcom cvx ] cvx store (burplebox) size 0.5 add 20 string cvs mergestr cvn mark size 1 add /burpcom cvx ] cvx store } for /burplebox34w{34.5 burpcomw} store /burplebox34.5w{35 burpcomw} store /burplebox38w{38.5 burpcomw} store /burplebox38.5w{39 burpcomw} store /burplebox40w{40.5 burpcomw} store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % New sequence of auto positioning figures... % combined autopos jpeg conversion and hotlink: /autoimageandlink1 {save /af1 exch store xpos ypos yinc add translate 6.3 -14.1 684 384 .033 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/cabsvid1.jpg) % url first % (http://www.tinaja.com/images/bargs/ce47u25v.jpg) % url first (C:\\Documents and Settings\\don\\Desktop\\gurugrams\\78_ebayskill_VI\\cabsvid1.jpg) jpegimageprocwithlink af1 restore} store /autoimageandlink2 {save /af2 exch store xpos ypos yinc add translate 18 -11.8 684 487 .022 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/ce47u25v.jpg) % url first (C:\\Documents and Settings\\don\\Desktop\\gurugrams\\70_ebayskill_iv\\ce47u25v.jpg) jpegimageprocwithlink af2 restore} store /autoimageandlink3 {save /af1 exch store xpos ypos yinc add translate 1 -12 684 487 .022 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/pwrssrx3x.bmp) % url first (C:\\Documents and Settings\\don\\Desktop\\gurugrams\\70_ebayskill_iv\\origpwri.jpg) jpegimageprocwithlink af1 restore} store /autoimageandlink4 {save /af2 exch store xpos ypos yinc add translate 18 -12 -1.5 add 684 487 .022 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/pwrssrx3.bmp) % url first (C:\\Documents and Settings\\don\\Desktop\\gurugrams\\70_ebayskill_iv\\finpwri.jpg) jpegimageprocwithlink af2 restore} store /jpegimageprocwithlink { % hoffset voffset hres vres save /snap2 exch def /infilename exch store % grab passed pix file /inurllink exch store % grab link filename /photoscale exch store /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? inurllink setareaurl % autolink sizing /DeviceRGB setcolorspace % pick color model 0 0 translate % set page position hpixels vpixels scale % magnify unit square photoscale dup scale /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width hpixels % JPEG width in pixels /Height vpixels % JPEG height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator ypos snap2 restore /ypos exch def } def /setareaurl { % for auto include routine /cururlname exch store mark % start pdfmark /Rect [ 0 0 hpixels photoscale mul vpixels photoscale mul ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def %%%%%%%%%%%%% ordinary tracking figures /autofig1 { /figadvance 23 store save /snap1 exch store xpos 2 add ypos figadvance sub translate figure1 snap1 restore /ypos ypos figadvance sub yinc sub store } store /autofig2 { /figadvance 13 store save /snap2 exch store xpos 2 add ypos figadvance sub translate figure2 snap2 restore /ypos ypos figadvance sub yinc sub store } store /autofig3 { /figadvance 13 store save /snap2 exch store xpos 2 add ypos figadvance sub translate figure3 snap2 restore /ypos ypos figadvance sub yinc sub store } store /autofig4 { /figadvance 13 store save /snap2 exch store xpos 2 add ypos figadvance sub translate figure4 snap2 restore /ypos ypos figadvance sub yinc sub store } store %%%%%%%%%%%%%%% fixed position figures here %%%%%%%%%%%%%%% /figure1 {0 0 mt 10 pu 10 pr 10 pd closepath fill} store % temp tester /figure1 { save /f1snap exch store mark 5 12.2 translate -55 rotate 0.09 dup scale -100 -100 translate /solvexy {/ff exch store % grab values - not optimized /ee exch store /dd exch store /cc exch store /bb exch store /aa exch store cc aa dd div ff mul sub bb aa ee mul dd div sub div /yy exch store /xx cc bb yy mul sub aa div store xx yy } store /bez4ptsx1 {aload pop % unpack array /y3 exch store /x3 exch store % stash data. Strange /y5 exch store /x5 exch store % numbering is in use /y4 exch store /x4 exch store /y0 exch store /x0 exch store % find the chords /c1 x4 x0 sub dup mul y4 y0 sub dup mul add sqrt store /c2 x5 x4 sub dup mul y5 y4 sub dup mul add sqrt store /c3 x3 x5 sub dup mul y3 y5 sub dup mul add sqrt store % guess at the best t values % /t1 c1 dup c2 add c3 add div store % /t2 c1 c2 add dup c3 add div store /b0 {1 exch sub dup dup mul mul} store /b1 {dup 1 exch sub dup mul mul 3 mul} store /b2 {dup 1 exch sub exch dup mul mul 3 mul} store /b3 {dup dup mul mul} store % ai + bj = k t1 b1 t1 b2 x4 x0 t1 b0 mul sub x3 t1 b3 mul sub t2 b1 t2 b2 x5 x0 t2 b0 mul sub x3 t2 b3 mul sub solvexy /x2 exch store /x1 exch store t1 b1 t1 b2 y4 y0 t1 b0 mul sub y3 t1 b3 mul sub t2 b1 t2 b2 y5 y0 t2 b0 mul sub y3 t2 b3 mul sub solvexy /y2 exch store /y1 exch store x0 y0 moveto x1 y1 x2 y2 x3 y3 curveto } def /data [100 100 180 120 270 190 320 100 sub 300] store % /data [100 100 200 120 300 190 200.24 300] store /bdot {gsave 16 dup scale 0 0 dot grestore} store /bdot8 {gsave 6 dup scale 0 0 dot grestore} store data 0 get data 1 get mt bdot data 2 get data 3 get mt bdot data 4 get data 5 get mt bdot data 6 get data 7 get mt bdot /t1 0.33 store /t2 0.67 store 100 100 moveto % demo - comment before use data bez4ptsx1 0.35 setlinewidth stroke true { 1 0 0 setrgbcolor /t1 0.28 store /t2 0.72 store 100 100 moveto % demo - comment before use data bez4ptsx1 0.35 setlinewidth stroke 0 0 1 setrgbcolor /t1 0.37 store /t2 0.63 store 100 100 moveto % demo - comment before use data bez4ptsx1 0.35 setlinewidth stroke } if cleartomark f1snap restore } store /figure1 { save /f1snap exch store 5 -7.5 translate 0.1 dup scale /dots [0.0 0.0 0.264953 1.54495 0.604746 3.07298 1.03917 4.57484 1.59717 6.03836 2.31306 7.42849 3.22877 8.69581 4.37073 9.76335 5.71563 10.5583 7.19172 11.074 8.7265 11.3795 10.2797 11.5763 11.8334 11.7684 13.371 12.0601 14.8541 12.5554 16.2111 13.3298 17.3652 14.3824 18.2898 15.6429 19.0102 17.0323 19.5673 18.4938 20.0 20.0] store 0 0 10 setgrid 20 20 showgrid /x0 0 store /y0 0 store /x1 3 store /y1 20 store /x2 16 store /y2 4 store /x3 20 store /y3 20 store x0 y0 moveto x1 y1 x2 y2 x3 y3 curveto black line1 stroke 0 1 20 {2 mul /jj exch store dots jj get dots jj 1 add get mt dot } for f1snap restore } store %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% special figure one for gg61 book layout /figure1 { save /f1xsnap exch store gsave % temp 10.2 0.8 translate 0.4 dup scale % adjust fit on page % add an active link for expandion temporary /cururlname (http://www.tinaja.com/glib/loglog01.pdf) store mark % start pdfmark /Rect [ 0 0 30 30 ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators % Custom Engineering Graphs: A log log display % ================================== % by Don Lancaster % Copyright c 2006 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % An example of using my Gonzo Utilities to do a custom engineering graph. % Detailed example does a scatterplot on a 3x3 log graph. % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % This may be freely downloaded from http://www.tinaja.com/post01.asp#gonzo % To activate after obvious location mods, uncomment ONE of the following two lines: % (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % Plus the next line when Gonzo is to be activated... % gonzo begin ps.util.1 begin nuisance begin % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % To use this program, you modify your values and save it as an ordinary ASCII % textfile. That file is then sent to Acrobat Distiller for coversion to a .PDF % file format. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% Fixzed Input Data %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /backgroundcolor {0.8 1 1} store % background color of graph /graphlinecolor {0 0.8 0.8}store % line color of graph /datadotcolor {0.3 0.3 0.3} store % dot color % loglines establishes the fine line detail of the log plots % always refers to a 1,1 lower left axis and NOT to the actual % scaled data values /loglines [ 1 2 3 4 5 6 7 8 9 10 20 30 40 50 60 70 80 90 100 200 300 400 500 600 700 800 900 1000 ] store /xdatascale 1.0 store % scale factor to make left data = 1 /ydatascale 10 store % scale factor to make bottom data = 1 /xaxisname (TREES PER ACRE) store % x axis label /yaxisname (TREE DIAMETER IN INCHES) store % y axis label /xnums [1 10 100 1000] store % scaled x axis data /ynums [.1 1.0 10 100] store % scaled y axis data /maintitle (HULAPAI TIMBER ALLOTMENT\n( T20N R15E ) ) store % main title % /inputdata may be cut and pasted here or run as a separate textfile % below. Format is an array of [ x0, y0, x1, y1, .... xn, yn ] data % values. Limited to a maximum of 32767 data value pairs. Data is % ACTUAL values, not graph scaled ones. /inputdata [ 3.0634 0.3678 3 3 3 30 30 0.4 30 4 30 40 300 0.5 300 5 300 50 100 {90 random 10 add 90 random 10 add 10 div } repeat % fake some dense data ] store % Note: fonts must be defined BELOW and AFTER grid is established. % Availability of STONE font is recommended for this demo. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% File Read Input Data %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Any and all of the above data may optionally be read from a textfile. % If used, be sure to use a DOUBLE reverse % slash every time you want a single one in a PostScript string. % Be sure to provide complete, correct, and accurate location for access. % /datafilename (C:\\Documents and Settings\\don\\Desktop\\trees\\tree1.txt) store % Uncomment the following line ONLY if external data is to be disk read... % datafilename run % run additional data from external file. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% Low Level Graph Creating Code %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % /makeagrid establishes the grid size. Each 10 x 10 area will be one % decade. Also puts down edges and background of log display area /makeagrid { % 100 100 10 setgrid % establish xposn yposn size grid /cstretch 0.01 store % adjust font to grid /sstretch 0.01 store backgroundcolor setrgbcolor % paint background. Comment out 0 0 mt 30 pu 30 pr 30 pd % or use [1 1 1] for white closepath fill graphlinecolor setrgbcolor % paint decades heavier line2 1 setlinecap 1 setlinejoin [ {-0.3 0 mt 30.3 r}10 4 ] yrpt % [{action} spacing repeats ] [ {0 -0.3 mt 30.3 u}10 4 ] xrpt } store % /make3x3log provides the inside detail for the log graphs. Both axes % done separately just in case semilog is later needed /make3x3log { line1 % thin line 0 1 loglines length 1 sub % draw verticals {/ptr exch store loglines ptr get log 10 mul 0 mt 30 u } for 0 1 loglines length 1 sub % draw horizontals {/ptr exch store loglines ptr get 0 exch log 10 mul mt 30 r } for } store % /plotdata scales and plots the data points from the inputdata array /plotdata { datadotcolor setrgbcolor % set dot color 0 2 inputdata length 2 sub % go through plotdata list {/ptr1 exch store % save location inputdata ptr1 get % get x value xdatascale mul log 10 mul inputdata ptr1 1 add get % get y value ydatascale mul log 10 mul mt dot % and plot dot } for } store % /addaxis lables the axes /addaxis { /font1 /StoneSans-Bold 0.85 gonzofont % numeric value font /font2 /StoneSans-Bold 1.2 gonzofont % title value font font1 % pick numeric font black % and color 0 1 xnums length 1 sub { % show the x axis nums /ptr2 exch store ptr2 10 mul -1.5 xnums ptr2 get 20 string cvs cc } for 0 1 ynums length 1 sub { % show the y axis nums /ptr2 exch store -0.9 ptr2 10 mul 0.3 sub ynums ptr2 get 20 string cvs cr } for font2 15 -3.5 xaxisname cc gsave -3.5 15 translate 90 rotate 0 0 yaxisname cc grestore } store % /addboiler provides the main graph name, can later extensively annotate. /addboiler { /font3 /StoneSans-Bold 2 gonzofont % title value font font3 /yinc 2.2 store 15 35 maintitle cc % print main title } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% High Level Graph Creating Code %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This routine combines the needed steps for the complete log log plot. /makealogloggraph { makeagrid % sets up grid make3x3log % draws log graph addaxis % letters the axes plotdata % plots data points addboiler % adds title and desc } store % temp defaults. uncomment for debug % /make3x3log {} store % /addaxis {} store % /plotdata {} store /addboiler {} store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% Actual Graph Creator %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This routine actually draws the graph makealogloggraph grestore % undo translate and page positioning f1xsnap restore } store %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% specific to gg65 ms executive summary %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% specific figures for append %%%%%%%%%%%%%% /ms0360 { save /snapxx exch store 5 -2 translate % reposition absolute on page 0.76 dup scale /hh {32 mul 90 div 0.78 mul } store /uu 12.5 store /posninc 90 7.5 div store /p1s 11.086 store % best efficiency leans /p1e 12.913 store /p2s 22.211 store /p2e 25.788 store /p3s 33.416 store /p3e 38.583 store /p4s 44.733 store /p4e 51.266 store /p5s 56.192 store /p5e 63.807 store /p6s 67.819 store /p6e 76.180 store /p7s 79.628 store /p7e 88.371 store /msinplot {gsave translate 0.5 0 0.5 setrgbcolor line1 gsave % [{0 12 moveto 0.8 u} posninc hh 8] xrpt grestore 0 0 mt p1s hh pr uu pu p1e p1s sub hh pr uu pd p2s p1e sub hh pr uu pu p2e p2s sub hh pr uu pd p3s p2e sub hh pr uu pu p3e p3s sub hh pr uu pd p4s p3e sub hh pr uu pu p4e p4s sub hh pr uu pd p5s p4e sub hh pr uu pu p5e p5s sub hh pr uu pd p6s p5e sub hh pr uu pu p6e p6s sub hh pr uu pd p7s p6e sub hh pr uu pu p7e p7s sub hh pr uu pd 90 p7e sub hh pr gsave 0 0.83 0.83 setrgbcolor fill grestore line3 1 setlinecap 1 setlinejoin 0 0.33 0.33 setrgbcolor stroke grestore} store 0.8 1 scale % 40 100 showgrid /lilplot0 {gsave translate 0.5 0.5 scale 0 0 msinplot grestore} store /lilplot1 {gsave translate -0.5 0.5 scale 0 0 msinplot grestore} store /lilplot2 {gsave translate 0.5 -0.5 scale 0 0 msinplot grestore} store /lilplot3 {gsave translate -0.5 -0.5 scale 0 0 msinplot grestore} store 0 10 lilplot0 25 10 lilplot1 24.5 10 lilplot2 49.5 10 lilplot3 snapxx restore } store %%%%%%%%%%%%%%%%%%%%% /spectrumplot {save /snap3 exch store /cstretch 0.01 store /sstretch 0.01 store /font0 /StoneSans-Bold 1.2 gonzofont /font1 /StoneSans-Bold 1 gonzofont font1 /kern 0.1 store /yinc 1.1 store 7.5 5.8 translate % adjust position 0.7 dup scale gsave 0.75 1 1 setrgbcolor 0 0 mt 15 pu 36.5 pr 15 pd closepath fill grestore % 33 13 showgrid % uncomment to view gsave line1 [{0 0 mt 0.3 d} 2 19] xrpt grestore gsave line1 [{-0.4 3 mt 36.9 r} 3 5] yrpt grestore line1 36.5 0 mt 15 u 0 1 1 setrgbcolor 0 setlinecap line1 0.5 0 mt 15 pu 1 pr 15 pd gsave closepath fill grestore 0 0.33 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 28.5 0 mt 4.2 pu 1 pr 4.2 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 30.5 0 mt 2.25 pu 1 pr 2.25 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 32.5 0 mt 3 pu 1 pr 3 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 34.5 0 mt 0.5 pu 1 pr 0.5 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke black % /font1 /Helvetica 0.8 gonzofont font1 font1 /yinc 2 store /kern 0.1 store gsave 1.45 -0.9 translate 90 rotate black 0 0 (1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35) cr grestore font0 0.25 dup dup setrgbcolor % temp gray 12.5 -4 (HARMONIC NUMBER) cl font1 -1 -0.3 (0.0) cr -1 2.7 (0.2) cr -1 5.7 (0.4) cr -1 8.7 (0.6) cr -1 11.7 (0.8) cr -1 14.7 (1.0) cr gsave -3.5 4.0 translate 90 rotate % black font0 0 0 (AMPLITUDE) cl grestore black line2 0 0 mt -.5 0 mt 37 r 0 -.5 mt 16 u black font1 11 12.6 ((|jbest efficiency n|j=|j28|j a|j=|j0.97|j)) cl % flashtext font0 1 0 0 setrgbcolor 15 6.65 (All Intermediate\nHarmonics are ZERO|j!!!) cc snap3 restore } store %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% /plot2897 {save /snap4 exch store /cstretch 0.01 store /sstretch 0.01 store /font0 /StoneSans-Bold 1.2 gonzofont /font1 /StoneSans-Bold 1 gonzofont font1 /kern 0.1 store /yinc 1.1 store 3.2 14 translate % adjust position 0.85 dup scale %%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% pattern utilities %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% /bluerndcolor [153 215 230 40] store % random pattern colors [red blue green variance ] /slidewide 40 store /slidehigh 36.5 store /DeviceRGB setcolorspace % pick color model /hpixels 50 store % size of pattern image /vpixels 50 store /issize hpixels vpixels mul store % makestring converts a stack top array into a string... /makestring {dup length string dup /NullEncode filter 3 -1 roll {1 index exch write} forall pop} def % /buildpixels makes three nearby colors given [r b g texture] all 0-255 integers /buildpixels {aload pop /texture exch store /b0 exch store /g0 exch store /r0 exch store 123 srand /r1 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g1 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b1 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /r2 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g2 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b2 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /r3 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g3 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b3 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store } store % /makeimagestring creates a sting usable for a pattern image /makeimagestring { 12345 srand % make repeatable /iarray mark issize { r1 g1 b1} repeat ] store % fill all with color 1 issize 2 div cvi { iarray issize % fill half with color 2 random 3 mul cvi [ r2 g2 b2 ] putinterval} repeat issize 2 div cvi { iarray issize % fill third with color 3 random 3 mul cvi [ r3 g3 b3 ] putinterval} repeat iarray makestring } store % /rndimage shows the random string as a patternable image /bodyrandimage { gsave 5 dup scale << % start image dicationary /ImageType 1 % always one /Width hpixels % width in pixels /Height vpixels % height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource bodypatstring % proc to get string data /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image grestore } def /accentrandimage { gsave 5 dup scale << % start image dicationary /ImageType 1 % always one /Width hpixels % width in pixels /Height vpixels % height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource accentpatstring % proc to get string data /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image grestore } def % using a separate pattern dictionary for each pattern... /bodypatdict << /PatternType 1 % Tiling pattern /PaintType 1 % Colored /TilingType 1 /BBox [0 0 50 50] /XStep 5 /YStep 5 /PaintProc { begin bodyrandimage end} >> store /accentpatdict << /PatternType 1 % Tiling pattern /PaintType 1 % Colored /TilingType 1 /BBox [0 0 50 50] /XStep 5 /YStep 5 /PaintProc { begin accentrandimage end} >> store % /makepatternstrings generates the needed patterns /makepatternstrings { [230 100 230 120] pop bluerndcolor buildpixels makeimagestring /bodypatstring exch store } store bluerndcolor buildpixels makepatternstrings %%%%%%%% end pattern utils %%%%%%%% save /snap1 exch store % show the body background bodypatdict matrix % Identity matrix makepattern % Instantiate the pattern /bodypat exch def 0 0 % for the actual slide size slidewide slidehigh /Pattern setcolorspace bodypat setcolor rectfill % Fill rectangle with pattern snap1 restore %%%% end % 40 36 showgrid /cstretch 0.01 store /sstretch 0.01 store /font1 /StoneSans-Bold 0.95 gonzofont % parameter value font /font2 /StoneSans [0.85 0 0 1 0 0 ] gonzofont % numeric value font /orange { 241 255 div 158 255 div 30 255 div setrgbcolor } store /magenta { 254 255 div 156 255 div 255 236 div setrgbcolor } store /ltblue { 207 255 div 255 255 div 255 255 div setrgbcolor } store /white {1 1 1 setrgbcolor} store /lime { 54 255 div 255 255 div 52 255 div setrgbcolor } store /aqua { 102 255 div 255 255 div 201 255 div setrgbcolor } store orange %%%%%%%%%%%% orange series gsave .8 .8 translate [{orange 0 0 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 .2 mt 1.3 pu 8.2 pr 1.3 pd fill} 2.2 14] yrpt font1 0.33 dup dup setrgbcolor /dat1 [(p7e:) (p7s:) (p6e:) (p6s:) (p5e:) (p5s:) (p4e:) (p4s:) (p3e:) (p3s:) (p2e:) (p2s:) (p1e:) (p1s:)] store font1 0.12 dup dup setrgbcolor 0 1 dat1 length 1 sub {/ii exch store 1.23 0.6 ii 2.2 mul add dat1 ii get cc} for /dat2 [ (89.76625289081) (75.93480958918) (75.13315213749) (63.77803849250) (62.12795009229) (52.45588082770) (49.57368364472) (41.56706542527) (37.14383081926) (30.95837849073) (24.75285471101) (20.53940226898) (12.37453450377) (10.24045703622) ] store font2 0 1 dat2 length 1 sub {/ii exch store 3.7 0.55 ii 2.2 mul add dat2 ii get cl} for gsave 0 31.2 translate lime 0 0 mt 3.7 pu 12 pr 3.7 pd fill 13 0 mt 3.7 pu 25 pr 3.7 pd fill % right lime font1 0.12 dup dup setrgbcolor /yinc 1.2 store 6 2 (Pulse Positions\nin Degrees) cc 25 2.2 (Target Amplitude: ) cr 25 1.9 1.3 sub (Target Power: ) cr [{white 25.7 0.3 mt 1.3 pu 8.2 pr 1.3 pd fill} 1.7 2] yrpt font2 26 2.2 (0.970000000) cl 26 0.6 (0.9409 ) cl grestore % lime grestore % undo whole left %%%%%%%% %%%%%%%%%%%% mid blue series gsave 13.8 .8 translate [{ltblue 0 0 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 .2 mt 1.3 pu 8.2 pr 1.3 pd fill} 2.2 12] yrpt font1 0.33 dup dup setrgbcolor /dat3 [(h25:) (h23:) (h21:) (h19:) (h17:) (h15:) (h13:) (h11:) (h09:) (h07:) (h05:) (h03:) ] store font1 0.12 dup dup setrgbcolor 0 1 dat3 length 1 sub {/ii exch store 1.23 0.6 ii 2.2 mul add dat3 ii get cc} for /dat4 [ (-0.00000000014) (-0.00000000032) (-0.00000000004) (-0.00000000021) (-0.00000000022) (-0.00000000002) (-0.00000000024) ( 0.00000000044) (-0.00000000022) (-0.00000000011) (-0.00000000013) (0.000000000070) ] store font2 0 1 dat4 length 1 sub {/ii exch store 3.7 0.55 ii 2.2 mul add dat4 ii get cl} for gsave % magenta series magenta [{magenta 0 26.4 mt 1.7 pu 25.0 pr 1.7 pd closepath fill} 2.2 2 ] yrpt font1 0.12 dup dup setrgbcolor 0.8 26.8 (THD ) cl 0.8 6.2 add 26.8 (is ) cl 0.8 15.3 add 26.8 (percent.) cl 0.8 26.8 2.3 add (Fundamental Amplitude:) cl white 3.2 5.2 add 26.6 mt 1.3 pu 7.2 pr 1.3 pd fill white 14.2 28.8 mt 1.3 pu 7.2 pr 1.3 pd fill % fund amp box white 3.2 26.6 mt 1.3 pu 3.2 pr 1.3 pd fill 0.12 dup dup setrgbcolor font2 3.6 26.8 (2-28) cl 8.7 26.8 (0.00000006128) cl font2 14.7 27 2.1 add (0.97000000) cl grestore % burple grestore % whole middle %%%%%%%% %%%%%%%%%%%% right blue series gsave 26.8 .8 translate [{ltblue 0 0 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 .2 mt 1.3 pu 8.2 pr 1.3 pd fill} 2.2 12] yrpt [{aqua 0 19.8 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 20 mt 1.3 pu 8.2 pr 1.3 pd fill } 2.2 2] yrpt % emphasis font1 0.33 dup dup setrgbcolor /dat1 [(h49:) (h47:) (h45:) (h43:) (h41:) (h39:) (h37:) (h35:) (h33:) (h31:) (h29:) (h27:) ] store font1 0.12 dup dup setrgbcolor 0 1 dat1 length 1 sub {/ii exch store 1.23 0.6 ii 2.2 mul add dat1 ii get cc} for /dat6 [ (-0.00924395093) ( 0.00562585661) (-0.00342276346) ( 0.00211106203) (-0.00078946014) ( 0.00660309293) ( 0.04412815271) ( 0.17750740386) ( 0.20474366480) (-0.15202976905) (-0.28097991216) (-0.00000000009) ] store font2 0 1 dat6 length 1 sub {/ii exch store 3.7 0.55 ii 2.2 mul add dat6 ii get cl} for grestore snap4 restore } store %%%%%%%% /stalacs { %figadvance has to go in figuretwoauto save /snap3 exch def 11 10.3 translate % latest page positioner 0.8 dup scale -0.5 2.5 translate % reposition on page INTERACTS WITH FIGADVANCE 0 1 0 setrgbcolor % green grid /linestring 1000 string store /sdatproc { 0.0 0.7 0.1 setrgbcolor [ 0.4 7.33 0.38 6.36 -0.32 7.12 -0.04 7.33 -0.38 7.07 -0.07 7.26 -0.2 4.68 0.07 5.15 0.11 6.17 -0.27 4.26 0.01 6.32 -0.23 4.79 0.05 2.95 -0.29 6.05 -0.02 6.3 0.02 7.29 -0.09 7.37 -0.15 6.89 -0.12 6.19 0.16 5.06 -0.18 7.0 0.1 7.32 0.13 7.29 -0.71 7.44 -0.54 5.7 -0.26 7.38 -0.88 6.82 -0.6 4.84 -0.56 5.38 -0.29 5.67 -0.63 6.12 -0.49 7.26 -0.45 6.66 -0.17 7.01 -0.51 7.05 ] makedots 0.6 0.2 1.0 setrgbcolor [ 0.65 7.03 0.69 6.23 0.97 6.68 0.63 6.72 0.62 6.51 0.6 7.45 0.8 6.74 1.08 7.27 0.74 6.98 0.74 6.97 1.05 7.33 0.71 6.69 0.38 7.38 0.04 6.4 0.32 6.16 0.36 5.3 0.63 7.17 0.02 7.15 0.3 5.41 0.01 6.4 0.29 5.16 0.33 7.08 -0.05 7.19 0.23 7.39 0.26 5.94 0.47 5.9 0.13 7.29 0.41 5.73 0.44 7.34 0.13 6.76 0.4 5.73 0.44 6.52 0.72 7.49 0.07 7.3 0.1 7.49 0.38 4.95 0.66 7.44 ] makedots 0.6 0.4 0.0 setrgbcolor [ 1.63 6.68 0.93 5.94 1.21 6.41 1.25 7.01 0.87 6.21 0.91 6.32 1.19 5.19 1.05 5.6 1.33 6.22 1.36 5.73 0.99 5.61 1.26 7.47 1.02 4.35 1.3 2.75 1.33 6.82 0.96 6.06 1.24 6.51 1.27 6.22 1.41 6.99 0.6 6.37 0.54 6.21 0.58 6.38 0.85 6.71 0.72 6.05 0.38 7.2 0.65 5.61 0.69 4.44 0.97 5.07 0.63 5.68 0.9 7.44 0.94 7.24 ]makedots 0.0 0.6 0.5 setrgbcolor [ 1.94 5.77 2.22 6.47 1.88 6.61 2.19 7.1 1.88 6.99 1.91 7.36 2.19 7.2 1.85 6.98 1.5 6.84 1.44 7.42 1.3 6.69 1.57 6.66 1.33 7.31 1.61 4.16 1.89 6.58 1.27 6.45 1.55 4.73 1.58 6.33 1.86 6.88 1.27 6.28 1.54 5.29 1.58 5.83 1.86 7.0 1.2 7.36 1.24 7.32 1.52 4.83 1.79 7.44 1.72 6.96 1.66 7.1 1.7 7.36 1.69 7.14 1.63 6.09 0.94 7.5 1.19 7.27 ]makedots 1.0 0.0 0.9 setrgbcolor [ 2.77 7.47 2.19 5.69 2.47 6.39 2.5 5.62 2.13 6.29 2.16 4.87 2.44 3.68 2.47 6.99 2.1 6.96 2.38 7.43 2.41 6.96 2.3 7.28 2.61 6.33 2.27 5.22 2.55 4.32 2.59 6.34 2.21 6.99 2.53 6.05 1.86 5.69 2.17 7.05 1.52 7.32 1.79 5.86 1.83 4.38 2.11 5.13 1.77 6.23 1.97 7.29 1.91 7.2 1.94 4.78 2.22 5.62 2.26 7.34 1.88 6.26 1.92 7.41 2.19 6.71 ]makedots 0.3 0.5 0.0 setrgbcolor [ 3.08 6.71 3.36 7.4 3.2 6.33 3.47 7.16 3.13 7.36 3.17 7.34 3.45 6.83 3.17 7.46 3.44 7.49 3.1 7.36 2.44 7.31 2.71 7.35 2.75 4.87 3.03 7.12 2.41 7.35 2.69 5.99 2.72 7.09 2.68 6.84 2.72 7.03 2.66 6.77 2.59 7.22 2.86 4.34 3.14 6.88 3.18 7.38 2.52 6.65 2.8 5.26 2.84 5.32 3.11 6.18 2.52 7.09 2.8 6.44 2.83 5.51 3.11 6.94 2.49 7.14 2.77 4.86 2.53 7.25 2.19 7.45 2.44 6.93 ]makedots 0.0 0.5 1.0 setrgbcolor [ 3.64 7.35 3.3 7.22 3.58 6.56 3.76 7.24 3.44 6.46 3.72 7.27 3.48 7.12 3.75 5.15 3.38 7.25 3.41 4.44 3.69 3.51 3.73 5.53 4.01 7.05 3.35 6.95 3.67 5.83 3.53 6.9 3.8 6.46 3.84 6.79 3.78 6.81 3.0 7.19 2.97 6.5 3.25 7.11 3.11 6.04 3.15 6.8 3.42 6.27 3.05 6.49 3.08 3.17 3.36 4.46 3.4 6.24 3.02 5.79 3.06 6.77 3.33 6.1 3.2 6.17 3.47 7.04 3.51 7.39 3.45 7.05 2.75 7.44 ]makedots 1.0 0.1 0.3 setrgbcolor [ 4.34 6.3 4.61 7.2 4.65 7.42 4.59 7.15 4.7 7.4 3.89 7.33 3.73 6.72 4.0 3.61 4.28 6.52 4.04 7.22 4.32 6.81 3.66 6.66 3.94 5.38 3.98 5.13 4.25 6.11 3.66 7.44 3.94 6.92 3.97 5.78 4.25 7.24 3.91 5.82 4.12 5.7 4.43 7.33 4.05 6.71 4.09 5.35 4.37 6.42 4.09 6.24 4.02 6.0 4.06 7.23 4.34 7.37 3.67 6.43 3.33 7.09 3.61 7.22 3.65 7.09 3.58 7.28 3.76 7.26 3.69 7.43 ]makedots 0.0 0.7 0.0 setrgbcolor [ 4.58 7.35 4.89 6.06 4.56 6.0 4.83 5.44 4.87 6.67 4.81 7.43 5.01 7.15 4.73 7.42 5.01 5.81 4.67 5.29 4.95 4.82 4.98 4.94 5.26 6.8 4.64 7.41 4.92 5.63 4.25 6.6 4.29 7.06 4.56 6.64 4.22 4.58 4.5 5.64 4.54 6.9 4.16 7.17 4.47 7.29 4.36 7.28 4.4 6.74 4.68 6.43 4.34 3.63 4.61 5.07 4.37 7.09 4.65 5.26 4.27 6.35 4.31 5.98 4.59 5.46 4.0 7.29 ]makedots 0.4 0.3 1.0 setrgbcolor [ 5.59 6.81 5.9 6.88 5.56 7.13 5.84 6.87 5.14 5.55 5.08 7.33 5.12 6.93 5.32 7.37 4.98 6.64 5.26 3.82 5.53 6.82 5.29 6.04 5.57 5.79 4.92 6.85 5.19 5.84 5.23 3.83 5.51 5.32 5.23 5.46 5.5 7.18 5.16 5.83 5.2 6.85 5.48 7.09 5.34 6.4 5.62 7.5 4.81 7.33 4.65 7.07 4.93 6.14 4.59 6.91 4.86 7.21 4.9 5.77 4.9 7.0 4.56 7.36 4.83 6.93 ]makedots 0.7 0.3 0.0 setrgbcolor [ 6.15 6.63 5.87 7.2 6.15 5.63 5.81 5.65 6.09 5.32 6.12 5.13 6.4 7.02 6.06 6.39 6.26 7.28 5.92 6.94 6.2 6.79 6.23 5.51 6.51 7.41 6.17 6.43 5.36 7.43 5.51 7.44 5.82 6.75 5.5 6.91 5.54 6.08 5.82 5.82 5.48 3.44 5.75 5.04 5.51 6.75 5.79 4.91 5.41 6.78 5.45 6.19 5.73 5.79 5.93 7.45 5.59 5.32 5.87 6.59 5.63 6.95 5.9 5.34 5.56 6.13 5.84 5.86 5.14 6.82 ]makedots 0.0 0.6 0.4 setrgbcolor [ 7.04 7.5 7.15 7.2 7.09 7.43 6.46 7.26 6.12 6.97 6.4 4.49 6.67 7.28 6.43 6.23 6.71 6.08 6.33 6.83 6.37 4.92 6.65 6.23 6.37 6.64 6.3 7.44 6.23 7.41 6.51 5.31 6.55 5.76 6.82 5.74 6.45 7.15 6.48 3.87 6.76 5.59 6.8 6.77 6.48 6.19 6.42 6.79 6.45 6.5 6.73 6.95 5.79 7.0 6.07 6.14 5.73 7.34 6.04 6.11 5.9 7.47 6.18 6.79 6.21 7.19 6.15 5.33 6.15 7.25 6.09 7.43 6.12 7.21 ]makedots 0.9 0.1 1.0 setrgbcolor [ 7.29 7.27 7.26 7.18 7.4 6.53 7.4 6.23 7.06 6.33 7.34 6.24 7.1 7.48 7.37 4.5 7.65 6.77 7.31 6.19 7.49 6.95 6.68 7.19 6.96 7.05 6.62 5.82 6.89 6.95 6.93 6.63 6.8 6.9 7.07 6.24 6.79 6.03 7.07 6.0 6.73 3.87 7.01 5.57 6.77 5.63 7.04 3.61 7.32 7.46 6.67 7.25 6.7 5.31 6.98 5.09 7.02 7.24 6.84 7.45 7.16 6.44 6.82 7.17 7.09 7.13 6.4 6.67 6.37 7.3 ]makedots 0.4 0.5 0.0 setrgbcolor [ 8.3 6.97 7.54 6.99 7.71 7.12 7.37 6.89 7.65 4.65 7.69 4.84 7.96 4.92 7.59 7.18 7.62 3.54 7.9 5.44 7.94 6.42 7.62 6.36 7.56 7.43 7.59 6.95 7.87 7.45 7.76 7.33 7.8 6.47 8.08 6.65 7.74 5.22 8.01 6.78 8.05 6.63 7.71 7.03 7.04 6.54 7.32 5.84 7.35 6.05 7.63 7.38 6.98 7.16 7.02 6.9 7.29 4.53 7.57 7.39 7.29 7.02 7.26 7.27 7.47 7.44 7.41 5.97 7.37 7.37 ]makedots 0.0 0.5 0.8 setrgbcolor [ 8.55 6.85 8.54 6.92 8.2 7.43 8.48 7.42 8.51 5.78 8.66 7.29 8.63 5.12 8.9 7.37 8.56 6.9 7.94 6.75 8.21 6.14 7.93 6.24 8.21 6.29 7.87 4.98 8.15 6.45 7.91 6.19 8.18 4.55 7.84 6.49 8.12 6.39 8.05 7.12 8.33 6.67 8.3 7.32 8.05 6.91 8.32 7.08 8.36 7.49 7.98 5.47 8.26 6.96 8.02 5.46 8.3 3.73 7.96 5.48 8.23 5.51 8.27 6.33 7.54 6.99 7.65 7.38 7.69 7.42 7.96 7.49 7.62 7.08 ]makedots 1.0 0.1 0.5 setrgbcolor [ 9.55 7.28 8.79 6.18 8.83 6.08 9.1 6.22 8.76 5.77 9.04 7.15 8.9 5.93 8.94 4.5 9.22 4.86 8.6 7.37 8.88 3.59 9.15 5.69 8.91 6.5 9.19 5.24 8.85 7.26 9.13 7.36 8.87 6.98 8.85 6.6 9.12 7.3 8.99 7.17 9.3 7.34 8.18 7.28 8.46 6.72 8.5 6.68 8.43 5.98 8.29 6.98 8.57 6.52 8.61 5.32 8.89 6.97 8.27 6.34 8.55 3.98 8.82 7.23 8.58 6.78 8.86 6.94 8.52 7.17 8.54 7.26 8.52 6.56 8.66 7.4 ]makedots 0.2 0.6 0.0 setrgbcolor [ 9.8 6.75 9.8 7.41 9.77 5.22 10.05 7.5 9.71 7.47 9.88 6.62 9.32 7.17 9.53 7.16 9.19 6.04 9.47 5.59 9.5 6.83 9.44 6.68 9.19 6.2 9.46 6.45 9.5 6.67 9.12 5.26 9.4 6.86 9.16 4.95 9.44 3.11 9.71 7.46 9.1 5.65 9.37 5.75 9.41 6.32 9.27 6.32 9.55 5.18 9.21 6.6 9.49 6.82 9.52 6.3 8.79 6.84 8.83 6.66 9.1 6.81 8.76 6.83 ]makedots 0.3 0.3 1.0 setrgbcolor [ 10.04 6.29 10.08 4.67 10.36 5.1 10.02 4.64 10.29 6.46 10.05 6.92 10.33 5.84 10.19 5.38 10.47 5.91 10.51 7.32 10.13 5.0 10.41 6.84 10.17 6.14 10.44 5.06 10.1 7.19 10.38 7.45 10.1 7.11 9.44 6.85 9.71 6.44 9.75 4.93 10.03 6.74 9.41 6.52 9.69 4.36 9.96 7.5 9.72 6.79 10.0 7.02 9.66 7.4 9.86 5.66 10.14 7.41 9.52 6.69 9.8 4.79 9.83 6.04 10.11 6.42 9.77 6.74 9.77 6.73 ]makedots 1.0 0.2 0.0 setrgbcolor [ 10.91 7.16 11.05 7.48 11.09 7.36 11.02 5.75 10.99 7.38 10.67 7.33 10.33 6.74 10.61 6.39 10.64 7.3 10.33 7.2 10.6 7.48 10.64 7.47 10.26 6.95 10.3 6.49 10.58 5.31 10.78 7.3 10.44 6.28 10.72 6.05 10.76 5.96 10.69 6.07 10.44 7.06 10.72 7.46 10.75 6.48 10.38 6.52 10.41 4.77 10.69 3.24 10.73 6.4 11.0 7.45 10.35 5.79 10.63 6.1 10.66 5.26 10.8 7.17 10.78 7.14 10.08 6.13 10.36 6.5 10.02 6.58 10.33 7.42 ]makedots 0.0 0.6 0.3 setrgbcolor [ 11.22 6.79 11.5 7.15 11.16 7.28 11.3 7.27 11.33 4.31 11.61 5.03 11.65 6.41 11.27 4.66 11.55 6.65 11.31 5.62 11.58 4.51 11.24 7.26 11.24 7.46 11.45 7.04 11.38 6.98 11.42 6.71 11.7 5.95 10.89 6.57 10.83 6.71 10.69 7.26 10.97 7.05 10.73 7.28 11.0 4.02 11.28 6.31 10.66 5.93 10.94 3.77 11.22 7.33 10.98 4.98 11.25 5.52 10.91 6.4 10.91 6.71 11.11 6.91 11.05 6.47 11.09 6.23 11.37 6.8 11.03 7.15 ]makedots 0.7 0.1 1.0 setrgbcolor [ 12.23 7.39 12.16 6.71 12.28 7.1 11.92 6.63 11.58 6.05 11.86 5.86 11.9 5.52 12.17 7.41 11.83 6.25 11.58 7.16 11.89 6.42 11.52 7.14 11.55 5.33 11.83 4.13 11.87 6.67 11.49 6.8 11.77 7.12 11.8 6.21 11.7 7.37 11.97 7.33 12.01 6.03 11.95 6.4 12.01 7.16 11.67 5.73 11.94 4.82 11.98 6.09 12.26 7.36 11.6 6.84 11.88 7.28 11.64 7.4 11.92 5.21 11.25 7.01 11.22 6.15 11.5 6.58 11.16 7.12 11.33 6.54 11.61 7.07 11.27 7.2 11.58 7.05 ]makedots 0.5 0.4 0.0 setrgbcolor [ 12.47 5.57 12.75 6.2 12.79 7.17 12.41 6.42 12.45 6.95 12.72 6.15 12.59 5.22 12.86 6.04 12.9 5.99 12.52 5.79 12.56 5.2 12.84 4.29 12.5 7.17 12.14 4.79 12.42 6.88 11.8 6.96 12.08 5.31 12.12 6.0 12.39 6.51 11.98 7.36 12.26 4.46 12.53 6.78 12.29 7.33 12.57 6.79 11.92 6.3 12.19 4.6 12.23 3.93 12.51 4.85 12.17 5.9 12.16 6.86 12.34 7.28 ]makedots 0.0 0.6 0.6 setrgbcolor [ 13.48 6.98 13.42 7.11 13.0 7.4 13.04 6.94 12.97 6.79 13.18 6.79 12.84 6.28 13.11 6.29 12.87 7.27 13.15 4.42 13.43 6.8 13.15 6.22 12.81 5.16 13.08 4.22 13.12 5.37 13.4 6.84 13.26 6.99 12.92 7.39 13.2 6.9 13.23 6.71 12.5 6.86 12.82 6.67 12.47 5.58 12.75 6.26 12.79 7.14 ]makedots 1.0 0.0 0.7 setrgbcolor [ 13.73 5.27 14.01 6.14 14.04 5.86 13.67 6.41 13.7 5.65 13.98 4.9 13.84 6.91 14.15 6.51 13.81 5.86 14.09 5.3 14.13 7.43 13.28 7.23 13.12 6.95 13.4 3.86 13.67 6.45 13.43 6.76 13.71 6.24 13.06 6.41 13.33 4.82 13.37 3.84 13.65 4.86 13.51 5.96 13.54 7.26 13.82 6.91 13.17 7.47 13.45 6.31 13.48 4.22 13.76 5.33 13.06 7.49 13.04 7.19 13.15 7.44 ]makedots 0.3 0.5 0.0 setrgbcolor [ 14.73 7.37 14.32 6.89 13.98 6.88 14.25 6.93 14.29 5.03 14.57 7.26 14.23 6.65 14.29 6.97 13.95 6.55 14.22 5.9 14.26 6.56 14.2 6.9 14.09 7.35 14.13 7.16 14.4 4.51 14.68 7.03 14.06 7.1 14.34 5.93 14.38 6.55 14.65 7.37 14.4 6.93 14.06 6.05 14.34 5.5 14.37 5.0 14.65 6.75 14.03 7.05 14.31 5.06 13.65 7.02 13.96 6.69 13.62 6.48 13.89 7.12 13.79 7.39 14.07 6.36 13.73 6.99 14.01 7.09 13.73 6.03 14.01 6.84 14.04 6.5 13.67 7.45 13.7 6.72 13.98 6.15 ]makedots 0.2 0.4 1.0 setrgbcolor [ 14.87 7.12 15.18 7.42 15.12 7.21 14.98 6.03 15.26 6.97 15.02 7.07 15.29 5.4 14.92 7.25 14.95 5.24 15.23 4.68 15.27 6.81 15.07 7.28 15.34 7.03 14.54 5.67 14.85 7.36 14.47 6.9 14.51 6.04 14.79 6.79 14.65 7.5 14.37 7.04 14.65 4.32 14.93 6.9 14.69 5.74 14.96 5.37 14.31 6.73 14.59 5.47 14.35 7.36 14.62 2.32 14.9 4.09 14.94 6.47 14.56 5.92 14.6 7.38 14.87 6.93 14.74 5.65 15.01 6.7 14.32 7.41 14.29 6.11 ]makedots 1.0 0.1 0.2 setrgbcolor [ 15.88 7.35 15.43 7.31 15.57 7.05 15.61 7.05 15.23 7.08 15.51 7.28 15.27 6.68 15.54 3.8 15.82 6.64 15.86 7.41 15.2 7.14 15.48 6.02 15.52 6.44 15.79 7.31 15.54 6.79 15.2 6.4 15.48 5.95 15.51 5.24 15.79 6.98 15.45 5.93 15.66 5.73 15.59 7.11 15.63 6.5 15.91 7.49 15.59 7.37 15.63 5.74 15.9 7.48 15.56 6.04 14.9 6.86 14.94 6.5 15.21 5.37 14.87 6.61 15.15 6.76 15.19 7.19 14.87 5.94 15.15 6.81 15.18 6.26 14.84 6.97 15.12 6.48 15.33 6.93 15.3 7.3 14.98 7.29 15.3 6.74 14.96 6.99 15.23 6.64 ]makedots 0.0 0.7 0.1 setrgbcolor [ 16.12 6.88 16.44 6.17 16.1 6.55 16.37 6.17 16.27 7.35 16.55 5.97 16.21 5.87 16.49 5.61 16.52 6.31 15.51 7.37 15.79 4.91 16.07 7.32 15.83 5.97 16.1 5.68 15.73 6.51 15.76 3.92 16.04 5.22 16.08 7.06 15.9 5.84 15.94 5.68 16.22 5.53 15.84 6.94 15.6 7.34 15.88 2.78 16.15 4.63 15.91 7.06 16.19 5.52 15.46 7.4 15.43 6.46 15.54 5.9 ]makedots 0.5 0.2 1.0 setrgbcolor [ 16.69 5.54 16.66 7.21 16.86 6.88 16.52 6.55 16.8 3.9 17.08 6.86 16.83 6.56 17.11 6.48 16.46 7.23 16.73 6.32 16.77 5.41 17.05 6.6 16.79 7.44 16.45 7.12 16.73 6.89 16.77 4.86 17.05 6.87 16.43 7.42 16.7 5.86 16.74 7.37 16.88 7.29 16.88 7.24 16.08 7.23 16.35 6.28 16.19 5.98 16.47 4.97 16.5 7.3 16.13 6.35 16.4 6.67 16.44 5.88 16.12 6.35 16.4 7.33 16.16 7.07 16.44 5.53 16.1 6.36 16.37 6.03 ]makedots 0.6 0.4 0.0 setrgbcolor [ 17.38 7.47 17.41 7.11 17.69 5.74 17.35 6.19 17.63 5.98 17.66 6.46 17.8 7.33 17.46 7.28 17.74 7.23 17.78 6.69 16.93 7.18 16.9 6.89 17.11 7.45 17.05 7.22 17.36 7.11 16.77 7.45 17.04 5.26 17.08 4.82 17.36 4.71 16.98 6.99 16.74 7.17 17.02 2.45 17.29 4.49 17.05 6.74 17.33 5.17 17.19 6.57 17.47 6.63 17.13 4.65 17.41 6.13 17.17 6.9 17.44 5.55 16.71 7.31 16.75 7.05 16.69 5.24 16.8 6.64 ]makedots 0.0 0.6 0.5 setrgbcolor [ 18.0 6.69 17.66 6.85 17.94 4.45 18.22 7.21 17.97 6.71 18.25 6.68 17.88 7.17 17.91 6.21 18.19 7.3 17.91 6.03 17.85 7.36 17.77 7.27 18.05 5.25 18.09 6.27 18.36 6.39 17.99 7.41 18.02 5.35 18.3 6.72 18.02 5.6 17.96 6.7 17.99 7.0 17.67 7.31 17.33 5.84 17.61 4.86 17.64 7.04 17.27 6.77 17.54 7.1 17.58 6.18 17.26 7.03 17.58 6.15 17.24 7.37 17.51 7.12 17.44 6.4 17.72 5.68 17.76 6.69 17.38 6.95 17.66 7.4 17.42 7.44 17.69 5.39 17.41 7.11 17.69 5.81 17.35 6.64 17.63 6.51 17.66 6.86 ]makedots 1.0 0.0 0.9 setrgbcolor [ 18.83 7.22 18.67 7.39 18.94 6.27 18.6 6.72 18.88 6.71 18.92 5.92 18.19 6.58 18.22 6.02 18.5 5.98 18.16 5.12 18.44 6.39 18.47 6.71 18.34 7.18 18.61 6.59 18.3 6.56 18.33 4.74 18.61 4.89 18.65 7.25 17.99 7.15 18.27 2.87 18.55 4.97 18.31 5.61 18.58 3.93 18.38 6.85 18.7 6.52 17.83 6.49 18.0 6.65 17.66 7.16 17.94 5.0 17.98 7.0 18.25 7.03 ]makedots 0.4 0.5 0.0 setrgbcolor [ 19.08 6.8 19.26 6.53 18.92 6.73 19.19 4.53 19.47 7.41 19.23 5.46 19.51 5.64 19.13 7.4 19.17 5.12 19.44 6.58 19.16 5.7 19.1 7.29 19.14 7.4 19.31 7.17 19.34 6.87 19.62 7.15 19.28 6.27 19.28 7.12 19.25 7.42 18.47 7.38 18.75 6.66 18.92 6.82 18.58 5.26 18.86 4.41 18.9 5.43 19.17 6.93 18.52 6.49 18.8 7.0 18.56 6.84 18.83 4.59 19.11 7.39 18.52 7.37 18.55 6.74 18.83 5.41 18.49 6.79 18.77 6.71 18.8 6.88 18.97 7.17 19.01 6.92 18.95 5.92 18.94 6.96 18.92 6.97 ]makedots 0.0 0.5 1.0 setrgbcolor [ 20.08 6.85 20.06 6.88 20.17 6.32 19.5 7.21 19.48 7.02 19.76 6.44 19.44 6.84 19.48 4.88 19.75 5.08 19.79 7.2 19.41 4.09 19.69 5.8 19.45 6.13 19.73 4.7 19.59 7.32 19.87 6.91 19.59 5.78 19.87 6.1 19.9 7.06 19.52 4.68 19.8 6.37 19.56 5.41 19.84 3.96 19.14 6.31 18.8 7.32 19.08 5.28 19.12 7.02 19.39 7.1 19.26 7.1 19.19 5.83 19.23 6.48 19.51 6.71 ]makedots 1.0 0.1 0.4 setrgbcolor [ 20.4 7.09 20.33 5.94 20.37 6.49 20.65 6.68 20.31 6.77 20.3 7.44 20.51 7.22 20.17 7.42 20.45 5.71 20.48 5.11 20.76 5.53 20.42 5.04 20.7 6.68 20.73 7.05 20.42 6.33 20.39 7.02 20.07 6.95 19.72 6.03 20.0 5.34 20.04 6.0 20.32 7.42 19.97 5.91 19.97 6.82 20.18 7.16 19.84 5.73 20.11 5.19 20.15 4.59 20.43 6.48 19.77 7.07 19.81 6.23 20.09 3.94 20.36 7.16 20.12 7.31 19.81 6.78 20.09 5.68 19.74 7.03 20.02 7.11 20.06 6.11 20.2 7.24 ]makedots 0.1 0.7 0.0 setrgbcolor [ 21.34 7.29 21.31 6.37 21.42 7.49 20.62 6.84 20.89 7.02 20.55 6.85 20.87 7.1 20.76 7.45 21.07 6.9 20.73 6.31 21.01 5.86 20.73 4.81 21.01 5.23 21.04 6.13 20.67 4.33 20.94 6.15 20.7 4.87 20.98 3.28 20.64 6.17 20.92 6.31 20.84 7.47 20.78 6.85 20.81 6.2 21.09 5.23 20.75 6.95 21.03 7.2 21.06 7.42 20.22 7.24 20.4 7.0 20.4 5.86 20.67 7.43 20.06 6.97 20.33 5.02 20.37 5.56 20.65 5.86 20.31 6.35 20.45 7.37 20.48 6.83 20.76 7.21 20.42 7.18 ] makedots } store % Total count = 1282. /makedots {/curmat exch store 0 2 curmat length 2 sub {/cposn exch store curmat cposn get curmat cposn 1 add get mt dot } for } store % 100 100 10 setgrid % only when not standalone 1.15 dup scale 0.92 setgray 1 setlinewidth 0 setlinecap 0.5 0 mt 7 u 19.5 0 mt 7 u 2 setlinewidth 10 0 mt 7 u 20 7 showgrid black line1 10 -0.3 mt 7.8 u gsave 0 0 mt 7.5 pu 20 pr 7.5 pd closepath clip sdatproc grestore % get off clip /cstretch 0 store /sstretch 0.015 store /font1 /StoneSans-Bold 0.75 gonzofont font1 black line1 0 7.5 mt 20 r 0 -0.3 mt 7.8 u 20 -0.3 mt 7.8 u -0.3 0 mt 20.6 r 0 2.5 mt 0.3 l 0 5 mt 0.3 l 0 7.5 mt 0.3 l /kern 0.1 store 0.2 0.2 0.2 setrgbcolor 0 -1.5 (0.52) cc 10 -1.5 (0.53) cc 20 -1.5 (0.54) cc 10 -2.5 (amplitude) cc -1 0 0.2 sub(0.00|j%) cr -1 2.5 0.2 sub (0.05|j%) cr -1 5 0.2 sub (0.10|j%) cr -1 7.5 0.2 sub (0.15|j%) cr gsave -4.4 3.75 translate 90 rotate 0 0 (distortion 2-22) cc grestore % end ypos snap3 restore /ypos exch def } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /deltachip { %aaaaaaaaaaaa /figadvance 10 store save /snap3 exch def /linestring 1000 string store %%%%%%%%%%%%%%%%%%% electronics begin bestgray 8 37.5 translate % reposition on page 0.85 dup scale % 0 0 10 setgrid already there % 33 14 showgrid /cstretch 0.02 def /sstretch 0.0 def /kern 0.1 def /yinc 1.0 def /red {0 settint} def /blue {0.67 settint} def /purple {0.75 settint} def /font0 /Helvetica-Bold [1.2 0 0 1 0 -0.2] gonzofont /font0 /helvetica-bold [1 0 0 0.8 0 0 ] gonzofont /font1 /Helvetica 0.75 gonzofont /font4 /Helvetica 0.6 gonzofont /font3 /Helvetica-Bold 0.75 gonzofont /font2 /Helvetica-Oblique 0.75 gonzofont /font5 /Helvetica-Bold 1.1 gonzofont /font6 /Helvetica [2 0 0 1.4 0 0] gonzofont /font7 /Helvetica-Oblique 0.75 gonzofont /font8 /Symbol 0.75 gonzofont /font9 /Helvetica [.6 0 0 .6 -.15 .4] gonzofont /font- /Helvetica-Bold [0.4 0 0 0.55 0 0] gonzofont /kern 0.15 def /tabs [16.5] def /txtwide 29 def font1 /tabs [17.5] def font1 /yinc 0.9 def line1 bestgray black 22 6 mt 3 d 5 rx circ1 26 3 mt rarrow 21 6 mt 1 d 6 rx circ1 26 5 mt rarrow 20 6 mt 1.5 d 4 rx 2 ux 3 r circ1 26 6.5 mt rarrow 19 6 mt 2 d 5.5 rx 4 ux 2.5 r circ1 26 8 mt rarrow 17 10 mt 1 u 5 l 8 d 4 l circ1 9.5 3 mt rarrow % low priority 18 6 mt 1.5 d ground 17 6 mt 2.5 d 7 lx 1 u 2 l circ1 9.5 4.5 mt rarrow 16 6 mt 2 d 5.5 lx 2 u 2.5 l circ1 9.5 6 mt rarrow 15 6 mt 1.5 d 4 lx 3 u 3 l circ1 9.5 7.5 mt rarrow 14 6 mt 1 d 2.5 lx 4 u 3.5 l circ1 9.5 9 mt rarrow 21 10 mt 2 ux 3 r 2 d 3 r circ1 26 13 mt rarrow 20 10 mt 2.5 u 4.5 r 1 d 2.5 r circ1 26 11.5 mt rarrow 19 10 mt 3 u 8 r circ1 26 10 mt rarrow 18 10 mt 1.5 u circ1 % +5v 16 10 mt 3 ux circ1 16 12.3 mt darrow 15 10 mt 2 ux 7 l circ1 9.5 12 mt rarrow 14 10 mt 1.5 ux 2.5 l 1 d 3.5 l circ1 9.5 10.5 mt rarrow beige 14 6 moveto 18 (MS28D-05X) (IN1 IN0 XIN IN6 +5V /DA /DB /DC NC) (IN2 IN3 IN4 IN5 GND DA DB DC SYNC) dipdraw font4 22 10.65 (NC) cc font1 18 12 (+5V) cc font1 /overstrikeht 0.55 store 27.7 13 0.3 sub (Delta "A" complement) cl 27.7 11.5 0.3 sub (Delta "B" complement) cl 27.7 10 0.3 sub (Delta "C" complement) cl 27.7 8 0.3 sub (Delta "A" true output) cl 27.7 6.5 0.3 sub (Delta "B" true output) cl 27.7 5 0.3 sub (Delta "C" true output) cl 27.7 3 0.3 sub (Zero degrees sync) cl 16 14.7 (10 MHz per 60 Hz) cc 16 13.8 (input clock ref) cc 7.3 2.7 (high ~|jOR|j~ 0-100 amp bit 6) cr 7.3 4.2 (high ~|jOR|j~ 0-100 amp bit 5) cr 7.3 5.7 (high ~|jOR|j~ 0-100 amp bit 4) cr 7.3 7.2 (slew up ~|jOR|j~ 0-100 amp bit 3) cr 7.3 8.7 (slew down ~|jOR|j~ 0-100 amp bit 2) cr 7.3 10.2 (step up ~|jOR|j~ 0-100 amp bit 1) cr 7.3 11.7 (step down ~|jOR|j~ 0-100 amp bit 0) cr end ypos snap3 restore /ypos exch def } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fig3 for fastmsol2 /figure3 { % transfer of angles vs ampliude for gg72 % save /snap3 exch def %%%%%%%%%%%%%%%%%%% 11.5 5 translate % position on page % capture the 28 best efficiency data set to .01 detail... % truncated for gg /angs0 [ 12.00 12.00 24.00 24.00 36.00 36.00 48.00 48.00 60.00 60.00 72.00 72.00 84.00 84.00 ] store /coss0 mark angs0 {cos} forall ] store /angs1 [ 11.98 12.01 23.97 24.02 35.96 36.03 47.95 48.04 59.94 60.05 71.94 72.05 83.94 84.05 ] store /angs2 [ 11.974847054192383 % a=p1s 12.024744017679858 % a=p1e 23.950819469133126 % a=p2s 24.048433365709524 % a=p2e 35.9289889953262 % a=p3s 36.07005477232906 % a=p3e 47.910323239760814 % a=p4s 48.088676789078065 % a=p4e 59.89564103809268 % a=p5s 60.10348816058274 % a=p5e 71.88557608883967 % a=p6s 72.11383286811898 % a=p6e 83.88055055992965 % a=p7s 84.11924037287778 % a=p7e ] store /angs3 [ 11.962118915829903 % a=p1s 12.03696090624807 % a=p1e 23.92595162929968 % a=p2s 24.07236703949866 % a=p2e 35.893127245474595 % a=p3s 36.10472087707484 % a=p3e 47.86511076741572 % a=p4s 48.13263882275228 % a=p4e 59.84313379542474 % a=p5s 60.15490640171296 % a=p5e 71.8281392839728 % a=p6s 72.17053048401827 % a=p6e 83.82074309176468 % a=p7s 84.17878636192533 % a=p7e ] store /angs4 [ 11.949290517283893 % a=p1s 12.049073387651642 % a=p1e 23.900900022994463 % a=p2s 24.096110421824473 % a=p2e 35.85702905846874 % a=p3s 36.13914449836989 % a=p3e 47.81964912772209 % a=p4s 48.17634896136679 % a=p4e 59.790407132381254 % a=p5s 60.20610752850041 % a=p5e 71.7705506598397 % a=p6s 72.22708352375918 % a=p6e 83.76087805625558 % a=p7s 84.23828505542117 % a=p7e ] store /angs5 [ 11.936362466871577 % a=p1s 12.06108068586895 % a=p1e 23.875665544479162 % a=p2s 24.119662226290405 % a=p2e 35.820695114855724 % a=p3s 36.173324291962636 % a=p3e 47.77393833539115 % a=p4s 48.21980630146989 % a=p4e 59.737460197319905 % a=p5s 60.25709145625097 % a=p5e 71.71280864356133 % a=p6s 72.28349283843973 % a=p6e 83.70095359631462 % a=p7s 84.29773803842423 % a=p7e ] store /angs6 [ 11.92333534962837 % a=p1s 12.072981999867295 % a=p1e 23.850249033990785 % a=p2s 24.14302110761017 % a=p2e 35.78412600358127 % a=p3s 36.20725881394451 % a=p3e 47.72797828072875 % a=p4s 48.263009807514656 % a=p4e 59.68429200398899 % a=p5s 60.30785796415633 % a=p5e 71.65491155362278 % a=p6s 72.33975917878625 % a=p6e 83.64096780758828 % a=p7s 84.35714686441895 % a=p7e ] store /angs7 [ 11.910209727377705 % a=p1s 12.084776503234172 % a=p1e 23.824651278023655 % a=p2s 24.166185660657497 % a=p2e 35.747322222396384 % a=p3s 36.24094651910828 % a=p3e 47.68176872964642 % a=p4s 48.30595830989897 % a=p4e 59.63090143051986 % a=p5s 60.35840669388239 % a=p5e 71.59685759776832 % a=p6s 72.3958831951506 % a=p6e 83.58091873602368 % a=p7s 84.41651305690237 % a=p7e ] store /angs8 [ 11.896986138776953 % a=p1s 12.096463343780352 % a=p1e 23.798873009544423 % a=p2s 24.1891544194381 % a=p2e 35.71028417813772 % a=p3s 36.27438575915712 % a=p3e 47.635309323468576 % a=p4s 48.348650502768294 % a=p4e 59.577287218151646 % a=p5s 60.40873714787044 % a=p5e 71.53864487064128 % a=p6s 72.45186543727682 % a=p6e 83.52080437530424 % a=p7s 84.47583811090627 % a=p7e ] store /angs9 [ 11.883665099327878 % a=p1s 12.10804164310246 % a=p1e 23.77291490813462 % a=p2s 24.21192585597619 % a=p2e 35.673012186877045 % a=p3s 36.30757478075494 % a=p3e 47.58859957853082 % a=p4s 48.39108494156987 % a=p4e 59.52344796968203 % a=p5s 60.45884868734144 % a=p5e 71.4802713511592 % a=p6s 72.50770635383223 % a=p6e 83.46062266414432 % a=p7s 84.53512349445879 % a=p7e ] store /angs10 [ 11.870247101357558 % a=p1s 12.119510496110177 % a=p1e 23.746777600061925 % a=p2s 24.23449837911455 % a=p2e 35.63550647394103 % a=p3s 36.34051172341407 % a=p3e 47.541638885569256 % a=p4s 48.43326004035069 % a=p4e 59.469382147639834 % a=p5s 60.50874052999415 % a=p5e 71.42173489961449 % a=p6s 72.56340629169891 % a=p6e 83.4003714834328 % a=p7s 84.59437064998934 % a=p7e ] store /angs11 [ 11.856732613966773 % a=p1s 12.130868970513701 % a=p1e 23.720461658280186 % a=p2s 24.2568703332254 % a=p2e 35.59776717380025 % a=p3s 36.37319461721436 % a=p3e 47.49442650889857 % a=p4s 48.475174068789634 % a=p4e 59.41508807217332 % a=p5s 60.55841174738708 % a=p5e 71.36303325448995 % a=p6s 72.61896549501986 % a=p6e 83.34004865321407 % a=p7s 84.65358099568142 % a=p7e ] store /angs12 [ 11.843122082945142 % a=p1s 12.142116106270509 % a=p1e 23.693967602355304 % a=p2s 24.279039996827304 % a=p2e 35.55979432982573 % a=p3s 36.405621380346524 % a=p3e 47.44696158537543 % a=p4s 48.516825148952385 % a=p4e 59.360563918645916 % a=p5s 60.6078612619903 % a=p5e 71.30416402897619 % a=p6s 72.67438410399262 % a=p6e 83.2796519294945 % a=p7s 84.71275592677652 % a=p7e ] store /angs13 [ 11.82941593065426 % a=p1s 12.153250914990615 % a=p1e 23.667295898318045 % a=p2s 24.3010055811062 % a=p2e 35.52158789391118 % a=p3s 36.43778981647274 % a=p3e 47.39924312314353 % a=p4s 48.558211251757726 % a=p4e 59.305807714931596 % a=p5s 60.65708784389479 % a=p5e 71.24512470717748 % a=p6s 72.72966215340223 % a=p6e 83.21917900086149 % a=p7s 84.7718968168333 % a=p7e ] store /angs14 [ 11.815614555875824 % a=p1s 12.164272379297325 % a=p1e 23.6404469584398 % a=p2s 24.322765228334127 % a=p2e 35.48314772595886 % a=p3s 36.469697611896315 % a=p3e 47.351270000155424 % a=p4s 48.599330193141476 % a=p4e 59.25081733839909 % a=p5s 60.70609010716251 % a=p5e 71.1859126399899 % a=p6s 72.78479957088365 % a=p6e 83.15862748490005 % a=p7s 84.83100501894486 % a=p7e ] store /angs15 [ 11.801718333625152 % a=p1s 12.175179452142526 % a=p1e 23.613421140931536 % a=p2s 24.344317010183318 % a=p2e 35.4444735932256 % a=p3s 36.50134233253178 % a=p3e 47.3030409624662 % a=p4s 48.640179629904 % a=p4e 59.19559051257442 % a=p5s 60.75486650580041 % a=p5e 71.12652504063502 % a=p6s 72.83979617490274 % a=p6e 83.09799492439242 % a=p7s 84.89008186691791 % a=p7e ] store /angs16 [ 11.787727614929405 % a=p1s 12.18597105607372 % a=p1e 23.586218749562654 % a=p2s 24.36565892592901 % a=p2e 35.40556516952632 % a=p3s 36.53272142066584 % a=p3e 47.25455462229148 % a=p4s 48.680757055225016 % a=p4e 59.14012480346797 % a=p5s 60.80341532933896 % a=p5e 71.06695897982998 % a=p6s 72.89465167244286 % a=p6e 83.03727878328297 % a=p7s 84.94912867641655 % a=p7e ] store /angs17 [ 11.77364272656729 % a=p1s 12.196646082450007 % a=p1e 23.55884003319776 % a=p2s 24.386788900536796 % a=p2e 35.36642203429076 % a=p3s 36.56383219149893 % a=p3e 47.205809455823555 % a=p4s 48.721059793828665 % a=p4e 59.08441761555297 % a=p5s 60.85173469799367 % a=p5e 71.00721138057251 % a=p6s 72.94936565638254 % a=p6e 82.97647644239078 % a=p7s 85.00814674607393 % a=p7e ] store /angs18 [ 11.759463970771552 % a=p1s 12.207203390605802 % a=p1e 23.531285185248322 % a=p2s 24.407704782627324 % a=p2e 35.32704367146845 % a=p3s 36.59467182945564 % a=p3e 47.15680380079669 % a=p4s 48.761084996779495 % a=p4e 59.02846618737822 % a=p5s 60.89982255738604 % a=p5e 70.94727901251849 % a=p6s 73.00393760254836 % a=p6e 82.91558519484946 % a=p7s 85.06713735857441 % a=p7e ] store /angs19 [ 11.745191624890726 % a=p1s 12.217641806957563 % a=p1e 23.503554343036566 % a=p2s 24.428404342313463 % a=p2e 35.28742946827808 % a=p3s 36.625237384252536 % a=p3e 47.107535853792385 % a=p4s 48.80082963588889 % a=p4e 58.972267586798715 % a=p5s 60.94767667279787 % a=p5e 70.88715848592577 % a=p6s 73.05836686642435 % a=p6e 82.85460224125279 % a=p7s 85.12610178170924 % a=p7e ] store /angs20 [ 11.730825941009456 % a=p1s 12.227960124052048 % a=p1e 23.47564758706738 % a=p2s 24.448885268901304 % a=p2e 35.247578713793736 % a=p3s 36.65552576670891 % a=p3e 47.05800366727401 % a=p4s 48.84029049770906 % a=p4e 58.91581870580349 % a=p5s 60.995294622930274 % a=p5e 70.82684624513675 % a=p6s 73.11265267949769 % a=p6e 82.79352468448211 % a=p7s 85.18504126940833 % a=p7e ] store /angs21 [ 11.71636714552474 % a=p1s 12.238157099551403 % a=p1e 23.44756494020518 % a=p2s 24.469145168448645 % a=p2e 35.20749059736334 % a=p3s 36.68553374428745 % a=p3e 47.008205146339535 % a=p4s 48.87946417709021 % a=p4e 58.859116254920146 % a=p5s 61.04267379313565 % a=p5e 70.76633856156903 % a=p6s 73.16679414521796 % a=p6e 82.73234952418977 % a=p7s 85.24395706275082 % a=p7e ] store /angs22 [ 11.701815438676984 % a=p1s 12.248231455152272 % a=p1e 23.419306366750394 % a=p2s 24.489181561171776 % a=p2e 35.167164206850316 % a=p3s 36.71525793634734 % a=p3e 46.958138045178856 % a=p4s 48.91834707027344 % a=p4e 58.8021567571719 % a=p5s 61.089811368087894 % a=p5e 70.70563152617991 % a=p6s 73.22079023454442 % a=p6e 82.67107365091016 % a=p7s 85.30285039095683 % a=p7e ] store /angs23 [ 11.687170994032428 % a=p1s 12.258181875434113 % a=p1e 23.390871771411508 % a=p2s 24.50899187869209 % a=p2e 35.126598526691865 % a=p3s 36.744694809094355 % a=p3e 46.907799963221834 % a=p4s 48.956935367490466 % a=p4e 58.74493654156117 % a=p5s 61.13670432385263 % a=p5e 70.64472104136836 % a=p6s 73.27463978105305 % a=p6e 82.60969383976686 % a=p7s 85.36172247236334 % a=p7e ] store /angs24 [ 11.672433957915235 % a=p1s 12.26800700663286 % a=p1e 23.362260998166978 % a=p2s 24.528573461112185 % a=p2e 35.085792435764034 % a=p3s 36.773840670208166 % a=p3e 46.85718834096131 % a=p4s 48.99522504503821 % a=p4e 58.68745173605153 % a=p5s 61.18334941931543 % a=p5e 70.58360281227317 % a=p6s 73.3283414755723 % a=p6e 82.54820674374241 % a=p7s 85.42057451538614 % a=p7e ] store /angs25 [ 11.657604448786142 % a=p1s 12.277705455334987 % a=p1e 23.33347382901136 % a=p2s 24.547923553911666 % a=p2e 35.04474470504407 % a=p3s 36.80269166312757 % a=p3e 46.80630045543359 % a=p4s 49.03321185679282 % a=p4e 58.62969826001678 % a=p5s 61.2297431869218 % a=p5e 70.52227233742346 % a=p6s 73.38189386031235 % a=p6e 82.48660888647268 % a=p7s 85.47940771947097 % a=p7e ] store /angs26 [ 11.642682556563992 % a=p1s 12.287275787086035 % a=p1e 23.304509982578292 % a=p2s 24.567039304649334 % a=p2e 35.00345399505897 % a=p3s 36.83124376097095 % a=p3e 46.75513341533713 % a=p4s 49.07089132512581 % a=p4e 58.57167181612225 % a=p5s 61.27588192267824 % a=p5e 70.4607248986916 % a=p6s 73.43529532244932 % a=p6e 82.4248966545247 % a=p7s 85.5382232760357 % a=p7e ] store /angs27 [ 11.62766834188761 % a=p1s 12.29671652490895 % a=p1e 23.275369112634362 % a=p2s 24.585917759460802 % a=p2e 34.961918853108216 % a=p3s 36.859492760068704 % a=p3e 46.703684155768975 % a=p4s 49.10825873117987 % a=p4e 58.51336788160183 % a=p5s 61.32176167535815 % a=p5e 70.3989555504958 % a=p6s 73.48854408712174 % a=p6e 82.36306628911284 % a=p7s 85.5970223694067 % a=p7e ] store /angs28 [ 11.61256183531389 % a=p1s 12.306026147724955 % a=p1e 23.246050806434955 % a=p2s 24.6045558593367 % a=p2e 34.920137710247616 % a=p3s 36.88743427308142 % a=p3e 46.651949432555526 % a=p4s 49.14530910446015 % a=p4e 58.45478169888876 % a=p5s 61.36737823485163 % a=p5e 70.33695910819229 % a=p6s 73.54163820979106 % a=p6e 82.30111387720302 % a=p7s 85.6558061777513 % a=p7e ] store /angs29 [ 11.59736303644711 % a=p1s 12.315203088670305 % a=p1e 23.21655458293341 % a=p2s 24.622950436166153 % a=p2e 34.87810887801911 % a=p3s 36.91506372167538 % a=p3e 46.5999258161524 % a=p4s 49.18203721169034 % a=p4e 58.39590826555562 % a=p5s 61.41272711959097 % a=p5e 70.27473013559283 % a=p6s 73.594575567914 % a=p6e 82.23903534194987 % a=p7s 85.71457587400957 % a=p7e ] store /angs30 [ 11.582071912996428 % a=p1s 12.324245733302025 % a=p1e 23.186879890834618 % a=p2s 24.64109820852994 % a=p2e 34.83583054491118 % a=p3s 36.94237632872516 % a=p3e 46.54760968508595 % a=p4s 49.21843754488009 % a=p4e 58.336742323513874 % a=p5s 61.45780356297762 % a=p5e 70.21226293153529 % a=p6s 73.64735385186718 % a=p6e 82.17682643240578 % a=p7s 85.77333262682737 % a=p7e ] store /angs31 [ 11.566688399755103 % a=p1s 12.333152417683447 % a=p1e 23.157026106481293 % a=p2s 24.65899577722405 % a=p2e 34.793300772531175 % a=p3s 36.96936711000882 % a=p3e 46.49499721890572 % a=p4s 49.254504308544554 % a=p4e 58.27727834741927 % a=p5s 61.502602498728 % a=p5e 70.14955151542911 % a=p6s 73.69997055505918 % a=p6e 82.11448271243431 % a=p7s 85.83207760149402 % a=p7e ] store /angs32 [ 11.55121239749649 % a=p1s 12.341921426340825 % a=p1e 23.12699253156217 % a=p2s 24.676639620494885 % a=p2e 34.750517491470966 % a=p3s 36.996030865359884 % a=p3e 46.44208439061452 % a=p4s 49.29023140601078 % a=p4e 58.21751053222307 % a=p5s 61.54711854504793 % a=p5e 70.08658961168794 % a=p6s 73.75242296315676 % a=p6e 82.05199954875309 % a=p7s 85.89081196088709 % a=p7e ] store /angs33 [ 11.535643771780839 % a=p1s 12.35055099008155 % a=p1e 23.09677839062888 % a=p2s 24.6940260889639 % a=p2e 34.7074784968436 % a=p3s 37.02236216923542 % a=p3e 46.388866958539694 % a=p4s 49.32561242474032 % a=p4e 58.15743277980454 % a=p5s 61.5913459875349 % a=p5e 70.02337063295417 % a=p6s 73.80470814234442 % a=p6e 81.98937209802318 % a=p7s 85.94953686642697 % a=p7e ] store /angs34 [ 11.519982351665762 % a=p1s 12.359039283662634 % a=p1e 23.066382828406926 % a=p2s 24.711151400217876 % a=p2e 34.66418144346757 % a=p3s 37.04835536065633 % a=p3e 46.33534045760484 % a=p4s 49.360640620589926 % a=p4e 58.09703868461281 % a=p5s 61.63527876069768 % a=p5e 69.95988766200874 % a=p6s 73.8568229265267 % a=p6e 81.92659529289242 % a=p7s 86.00825347904505 % a=p7e ] store /angs35 [ 11.504227928312746 % a=p1s 12.367384423297112 % a=p1e 23.03580490688566 % a=p2s 24.728011633039017 % a=p2e 34.62062384067247 % a=p3s 37.0740045324722 % a=p3e 46.2815001899581 % a=p4s 49.39530890092468 % a=p4e 58.03632151823934 % a=p5s 61.67891042797037 % a=p5e 69.8961334322492 % a=p6s 73.90876390337225 % a=p6e 81.86366382688989 % a=p7s 86.06696296016798 % a=p7e ] store /angs36 [ 11.488380253482298 % a=p1s 12.375584463986224 % a=p1e 23.00504360216978 % a=p2s 24.744602721245936 % a=p2e 34.57680304669713 % a=p3s 37.09930351989759 % a=p3e 46.22734121490803 % a=p4s 49.42960980648992 % a=p4e 57.975274212834535 % a=p5s 61.722234160085286 % a=p5e 69.83210030660594 % a=p6s 73.96052739908667 % a=p6e 81.80057213805719 % a=p7s 86.12566647272173 % a=p7e ] store /angs37 [ 11.472439037907781 % a=p1s 12.383637396662037 % a=p1e 22.974097801072595 % a=p2s 24.760920447114106 % a=p2e 34.53271626264794 % a=p3s 37.12424588826167 % a=p3e 46.17285833811334 % a=p4s 49.46353549193782 % a=p4e 57.91388934327296 % a=p5s 61.765242711653386 % a=p5e 69.76778025475258 % a=p6s 74.01210946178786 % a=p6e 81.73731439118794 % a=p7s 86.18436518215925 % a=p7e ] store /angs38 [ 11.456403949537945 % a=p1s 12.391541145124311 % a=p1e 22.94296629743082 % a=p2s 24.776960434340847 % a=p2e 34.48836052598261 % a=p3s 37.14882491990828 % a=p3e 46.11804609996735 % a=p4s 49.497077704895275 % a=p4e 57.85215910796204 % a=p5s 61.80792839578511 % a=p5e 69.7031648284505 % a=p6s 74.06350584334204 % a=p6e 81.67388445853271 % a=p7s 86.24306025751534 % a=p7e ] store /angs39 [ 11.440274611637554 % a=p1s 12.399293562754744 % a=p1e 22.91164778811647 % a=p2s 24.792718140516374 % a=p2e 34.443732703479476 % a=p3s 37.17303360017536 % a=p3e 46.06289876311179 % a=p4s 49.530227763446774 % a=p4e 57.79007530817778 % a=p5s 61.850283056564976 % a=p5e 69.63824513484936 % a=p6s 74.1147119795016 % a=p6e 81.6102758988087 % a=p7s 86.30175287249307 % a=p7e ] store /angs40 [ 11.424050600733594 % a=p1s 12.406892428988357 % a=p1e 22.880140868720527 % a=p2s 24.80818884905887 % a=p2e 34.39882948364979 % a=p3s 37.19686460237714 % a=p3e 46.0074102990076 % a=p4s 49.562976531893824 % a=p4e 57.727629325799626 % a=p5s 61.89229803917272 % a=p5e 69.57301180754612 % a=p6s 74.16572296816564 % a=p6e 81.54648193433371 % a=p7s 86.36044420658635 % a=p7e ] store /angs41 [ 11.407731444392123 % a=p1s 12.414335445520077 % a=p1e 22.848444028878745 % a=p2s 24.82336766056565 % a=p2e 34.35364736854382 % a=p3s 37.22031027170321 % a=p3e 45.95157437348261 % a=p4s 49.595314394636866 % a=p4e 57.664812099301635 % a=p5s 61.93396415741885 % a=p5e 69.50745497518102 % a=p6s 74.21653354556209 % a=p6e 81.48249542608227 % a=p7s 86.4191354462431 % a=p7e ] store /angs42 [ 11.391316618812636 % a=p1s 12.421620232222997 % a=p1e 22.816555647207974 % a=p2s 24.838249483529232 % a=p2e 34.30818266489811 % a=p3s 37.24336260794033 % a=p3e 45.89538433116774 % a=p4s 49.62723122800976 % a=p4e 57.60161409784311 % a=p5s 61.975271658436604 % a=p5e 69.44156422732436 % a=p6s 74.2671380601239 % a=p6e 81.4183088464351 % a=p7s 86.47782778607522 % a=p7e ] store /angs43 [ 11.374805546220893 % a=p1s 12.428744322751362 % a=p1e 22.784473985816735 % a=p2s 24.852829024359778 % a=p2e 34.26243147456385 % a=p3s 37.26601324691203 % a=p3e 45.83883317872304 % a=p4s 49.65871636987805 % a=p4e 57.53802529328333 % a=p5s 62.01621018424045 % a=p5e 69.37532857737801 % a=p6s 74.31753044380257 % a=p6e 81.35391424936446 % a=p7s 86.53652243012 % a=p7e ] store /angs44 [ 11.35819759204244 % a=p1s 12.435705159797667 % a=p1e 22.75219718435015 % a=p2s 24.86710077664962 % a=p2e 34.21638968414958 % a=p3s 37.28825344052012 % a=p3e 45.78191356674409 % a=p4s 49.6897585867911 % a=p4e 57.474035129926285 % a=p5s 62.05676872982675 % a=p5e 69.30873642218249 % a=p6s 74.36770418052814 % a=p6e 81.28930323776372 % a=p7s 86.59522059316049 % a=p7e ] store /angs45 [ 11.34149206183451 % a=p1s 12.442500089971064 % a=p1e 22.719723253524165 % a=p2s 24.881059009607743 % a=p2e 34.17005295380453 % a=p3s 37.31007403525855 % a=p3e 45.72461777022698 % a=p4s 49.72034603845508 % a=p4e 57.40963249177892 % a=p5s 62.096935597452855 % a=p5e 69.24177549798291 % a=p6s 74.41765227148547 % a=p6e 81.2244669275907 % a=p7s 86.65392350211121 % a=p7e ] store /angs46 [ 11.324688197954293 % a=p1s 12.449126358260662 % a=p1e 22.687050068099666 % a=p2s 24.894697755584264 % a=p2e 34.12341670505911 % a=p3s 37.33146544905604 % a=p3e 45.66693766745586 % a=p4s 49.75046623926626 % a=p4e 57.3448056670816 % a=p5s 62.13669834668453 % a=p5e 69.17443283236364 % a=p6s 74.46736719683196 % a=p6e 81.15939590844944 % a=p7s 86.7126323974769 % a=p7e ] store /angs47 [ 11.30778517593426 % a=p1s 12.45558110203941 % a=p1e 22.654175359239318 % a=p2s 24.908010796594976 % a=p2e 34.07647610762935 % a=p3s 37.352417646286725 % a=p3e 45.60886471716075 % a=p4s 49.780106016614425 % a=p4e 57.2795423098412 % a=p5s 62.176043739750995 % a=p5e 69.10669469171246 % a=p6s 74.51684087342855 % a=p6e 81.09408020018329 % a=p7s 86.77134853489343 % a=p7e ] store /angs48 [ 11.290782100537243 % a=p1s 12.46186134456465 % a=p1e 22.6210967061847 % a=p2s 24.92099164974485 % a=p2e 34.02922606508087 % a=p3s 37.37292011076909 % a=p3e 45.55038993377577 % a=p4s 49.809251465631526 % a=p4e 57.21382939806499 % a=p5s 62.214957681686315 % a=p5e 69.03854652371888 % a=p6s 74.56606460809658 % a=p6e 81.02850920499182 % a=p7s 86.83007318675996 % a=p7e ] store /angs49 [ 11.273678001455522 % a=p1s 12.467963987920319 % a=p1e 22.58781152718225 % a=p2s 24.93363355143764 % a=p2e 33.981661199234416 % a=p3s 37.39296181655209 % a=p3e 45.49150386060608 % a=p4s 49.83788790002112 % a=p4e 57.14765318835708 % a=p5s 62.25342515466871 % a=p5e 68.96997289434539 % a=p6s 74.61502904584103 % a=p6e 80.96267165451394 % a=p7s 86.888807643973 % a=p7e ] store /angs50 [ 11.256471828616469 % a=p1s 12.473885805342528 % a=p1e 22.55431706957733 % a=p2s 24.945929440243628 % a=p2e 33.93377583318008 % a=p3s 37.412531196262016 % a=p3e 45.43219654068899 % a=p4s 49.86599979855995 % a=p4e 57.08099916649744 % a=p5s 62.29143014589003 % a=p5e 68.90095741863797 % a=p6s 74.66372411239975 % a=p6e 80.89655555123879 % a=p7s 86.94755321777491 % a=p7e ] store /angs51 [ 11.239162447052136 % a=p1s 12.47962343286081 % a=p1e 22.520610398986634 % a=p2s 24.95787193828209 % a=p2e 33.88556397275016 % a=p3s 37.43161610675572 % a=p3e 45.372457485106786 % a=p4s 49.8935707468113 % a=p4e 57.01385199357515 % a=p5s 62.32895556819798 % a=p5e 68.83148268465389 % a=p6s 74.7121389503812 % a=p6e 80.83014810350937 % a=p7s 87.00631124172916 % a=p7e ] store /angs52 [ 11.221748631282578 % a=p1s 12.48517336017917 % a=p1e 22.486688387444715 % a=p2s 24.969453330954863 % a=p2e 33.83701928628069 % a=p3s 37.4502037917929 % a=p3e 45.31227563847723 % a=p4s 49.92058337353123 % a=p4e 56.94619544719365 % a=p5s 62.36598317264838 % a=p5e 68.76153016968738 % a=p6s 74.76026184814054 % a=p6e 80.76343565327369 % a=p7s 87.06508307383864 % a=p7e ] store /angs53 [ 11.20422905915866 % a=p1s 12.490531920710476 % a=p1e 22.452547700408434 % a=p2s 24.98066554484676 % a=p2e 33.788135082467825 % a=p3s 37.46828084140232 % a=p3e 45.25163934131193 % a=p4s 49.94701928118102 % a=p4e 56.87801235720142 % a=p5s 62.402493451983915 % a=p5e 68.6910801478577 % a=p6s 74.8080801604117 % a=p6e 80.69640359560516 % a=p7s 87.12387009882286 % a=p7e ] store /angs54 [ 11.186602305099901 % a=p1s 12.495695280665814 % a=p1e 22.418184782485486 % a=p2s 24.991500123582217 % a=p2e 33.73890428609978 % a=p3s 37.4858331475734 % a=p3e 45.19053628888994 % a=p4s 49.97285896988131 % a=p4e 56.80928453532971 % a=p5s 62.43846553391484 % a=p5e 68.62011158799075 % a=p6s 74.85558021955563 % a=p6e 80.62903628886036 % a=p7s 87.18267373057436 % a=p7e ] store /angs55 [ 11.168866832655869 % a=p1s 12.50065942708694 % a=p1e 22.38359584173527 % a=p2s 25.001948201398868 % a=p2e 33.689319411412896 % a=p3s 37.50284585585413 % a=p3e 45.128953486246175 % a=p4s 49.99808175405332 % a=p4e 56.739992698034094 % a=p5s 62.47387706291255 % a=p5e 68.54860204056897 % a=p6s 74.90274723610061 % a=p6e 80.56131695415807 % a=p7s 87.24149541481523 % a=p7e ] store /angs56 [ 11.151020986307298 % a=p1s 12.505420154692983 % a=p1e 22.348776832366852 % a=p2s 25.012000474163663 % a=p2e 33.63937253278393 % a=p3s 37.51930331237692 % a=p3e 45.06687719881598 % a=p4s 50.02266567088745 % a=p4e 56.670116381738616 % a=p5s 62.50870406903544 % a=p5e 68.476527512343 % a=p6s 74.94956518702878 % a=p6e 80.49322756264593 % a=p7s 87.30033663197948 % a=p7e ] store /angs57 [ 11.13306298241263 % a=p1s 12.50997305139454 % a=p1e 22.31372343563443 % a=p2s 25.02164716751755 % a=p2e 33.58905525242943 % a=p3s 37.535189005766014 % a=p3e 45.0042928982123 % a=p4s 50.046587379658476 % a=p4e 56.599633849567944 % a=p5s 62.54292082208086 % a=p5e 68.4038623269841 % a=p6s 74.9960166900026 % a=p6e 80.42474870876194 % a=p7s 87.35919890034931 % a=p7e ] store /angs58 [ 11.114990899189143 % a=p1s 12.514313482305218 % a=p1e 22.27843103869883 % a=p2s 25.030878001786867 % a=p2e 33.53835866473104 % a=p3s 37.550485503298596 % a=p3e 44.94118520253261 % a=p4s 50.06982205076392 % a=p4e 56.52852198851917 % a=p5s 62.576499669092854 % a=p5e 68.33057896990591 % a=p6s 75.04208286140883 % a=p6e 80.35585946738757 % a=p7s 87.41808377947804 % a=p7e ] store /angs59 [ 11.096802665602791 % a=p1s 12.51843657205544 % a=p1e 22.24289471118855 % a=p2s 25.039682153244534 % a=p2e 33.4872733167486 % a=p3s 37.56517438059821 % a=p3e 44.877537810502034 % a=p4s 50.092343243195536 % a=p4e 56.45675619586943 % a=p5s 62.60941085294281 % a=p5e 68.25664791508777 % a=p6s 75.0877431557225 % a=p6e 80.28653723241713 % a=p7s 87.47699287393749 % a=p7e ] store /angs60 [ 11.078496049018788 % a=p1s 12.522337185180852 % a=p1e 22.207109179150628 % a=p2s 25.048048211237965 % a=p2e 33.435789164411744 % a=p3s 37.57923614402594 % a=p3e 44.813333428650054 % a=p4s 50.114122768958474 % a=p4e 56.38431025343144 % a=p5s 62.6416223093306 % a=p5e 68.18203743138122 % a=p6s 75.13297518323725 % a=p6e 80.2167575338191 % a=p7s 87.53592783743304 % a=p7e ] store /angs61 [ 11.060068641441879 % a=p1s 12.52600990432232 % a=p1e 22.171068796031477 % a=p2s 25.055964130622204 % a=p2e 33.38389552379846 % a=p3s 37.59265014480355 % a=p3e 44.748553690590235 % a=p4s 50.135130542720844 % a=p4e 56.311156188052415 % a=p5s 62.67309943911543 % a=p5e 68.1067133653657 % a=p6s 75.17775450265952 % a=p6e 80.14649382972333 % a=p7s 87.59489037733685 % a=p7e ] store /angs62 [ 11.041517844146707 % a=p1s 12.52944900592984 % a=p1e 22.134767510267338 % a=p2s 25.063417178844876 % a=p2e 33.331581016809906 % a=p3s 37.60539448374439 % a=p3e 44.68317906731879 % a=p4s 50.15533441470291 % a=p4e 56.23726411649478 % a=p5s 62.70380485236126 % a=p5e 68.03063889732242 % a=p6s 75.22205438439424 % a=p6e 80.07571726940691 % a=p7s 87.65388225969777 % a=p7e ] store /angs63 [ 11.022840850463098 % a=p1s 12.532648433109795 % a=p1e 22.09819882899121 % a=p2s 25.070393876915794 % a=p2e 33.278833510432506 % a=p3s 37.61744590527948 % a=p3e 44.617188767265105 % a=p4s 50.17469998448852 % a=p4e 56.16260207253044 % a=p5s 62.73369807985659 % a=p5e 67.95377426630246 % a=p6s 75.26584553953315 % a=p6e 80.00439642224802 % a=p7s 87.71290531479623 % a=p7e ] store /angs64 [ 11.004034626440033 % a=p1s 12.535601765191819 % a=p1e 22.06135577727643 % a=p2s 25.076879933362243 % a=p2e 33.225640048635384 % a=p3s 37.628779679240274 % a=p3e 44.55056062460701 % a=p4s 50.1931903930522 % a=p4e 56.08713581371444 % a=p5s 62.76273524711508 % a=p5e 67.87607645955154 % a=p6s 75.30909580855457 % a=p6e 79.93249696672828 % a=p7s 87.77196144332437 % a=p7e ] store /angs65 [ 10.985095889062986 % a=p1s 12.538302183515828 % a=p1e 22.024230852231366 % a=p2s 25.08286017010714 % a=p2e 33.17198677577882 % a=p3s 37.63936946858586 % a=p3e 44.483270974097714 % a=p4s 50.21076608982633 % a=p4e 56.01082860486339 % a=p5s 62.790868704955884 % a=p5e 67.7974988606935 % a=p6s 75.35176980250732 % a=p6e 79.85998133234801 % a=p7s 87.83105262328567 % a=p7e ] store /angs66 [ 10.966021081636118 % a=p1s 12.540742432845043 % a=p1e 21.986815971131573 % a=p2s 25.0883184390112 % a=p2e 33.11785885020017 % a=p3s 37.64918718093233 % a=p3e 44.415294510329325 % a=p4s 50.227384571068235 % a=p4e 55.93364097473211 % a=p5s 62.818046609661955 % a=p5e 67.71799085003121 % a=p6s 75.39382848791966 % a=p6e 79.78680828581052 % a=p7s 87.89018091772554 % a=p7e ] store /angs67 [ 10.94680634586756 % a=p1s 12.54291477769846 % a=p1e 21.94910241261885 % a=p2s 25.093237527579294 % a=p2e 33.06324034638662 % a=p3s 37.658202801337055 % a=p3e 44.34660412896331 % a=p4s 50.243000085101365 % a=p4e 55.85553044173637 % a=p5s 62.84421244437447 % a=p5e 67.6374973490548 % a=p6s 75.43522870476507 % a=p6e 79.7129324509537 % a=p7s 87.94934848342535 % a=p7e ] store /angs68 [ 10.927447490103745 % a=p1s 12.544810952756503 % a=p1e 21.91108074980412 % a=p2s 25.09759905203626 % a=p2e 33.008114143830355 % a=p3s 37.66638420329706 % a=p3e 44.27717074697666 % a=p4s 50.257563299167835 % a=p4e 55.77645120378118 % a=p5s 62.869304471741685 % a=p5e 67.55595829969172 % a=p6s 75.47592260442312 % a=p6e 79.63830374955334 % a=p7s 88.00855758071803 % a=p7e ] store /angs69 [ 10.907939953044973 % a=p1s 12.54642210632034 % a=p1e 21.872740773873115 % a=p2s 25.101383335613146 % a=p2e 32.95246180027236 % a=p3s 37.673696934309646 % a=p3e 44.20696309837506 % a=p4s 50.271020921603245 % a=p4e 55.69635378628597 % a=p5s 62.893255105823094 % a=p5e 67.4733080669238 % a=p6s 75.51585699155763 % a=p6e 79.56286674715845 % a=p7s 88.06781058461439 % a=p7e ] store /angs70 [ 10.88827876213401 % a=p1s 12.547738735592494 % a=p1e 21.834071406497248 % a=p2s 25.104569269430915 % a=p2e 32.89626340655733 % a=p3s 37.680103971586306 % a=p3e 44.13594750108554 % a=p4s 50.283315271777106 % a=p4e 55.615184641300885 % a=p5s 62.915990188754535 % a=p5e 67.38947475103117 % a=p6s 75.55497255000346 % a=p6e 79.48655988435449 % a=p7s 88.12710999746892 % a=p7e ] store /angs71 [ 10.868458485630846 % a=p1s 12.548750612276178 % a=p1e 21.795060598981305 % a=p2s 25.10713415280293 % a=p2e 32.83949741971713 % a=p3s 37.6855654425648 % a=p3e 44.06408758981432 % a=p4s 50.29438378866586 % a=p4e 55.53288568912042 % a=p5s 62.93742815457482 % a=p5e 67.30437939278238 % a=p6s 75.59320292786317 % a=p6e 79.40931456904917 % a=p7s 88.18645846346183 % a=p7e ] store /angs72 [ 10.848473177165172 % a=p1s 12.54944669665458 % a=p1e 21.755695215611905 % a=p2s 25.10905350906351 % a=p2e 32.78214047013667 % a=p3s 37.690038303674356 % a=p3e 43.99134400849086 % a=p4s 50.30415846695302 % a=p4e 55.44939379193438 % a=p5s 62.95747905872753 % a=p5e 67.2179350512085 % a=p6s 75.63047365071941 % a=p6e 79.33105409919511 % a=p7s 88.24585878523492 % a=p7e ] store /angs73 [ 10.82831631127428 % a=p1s 12.54981503788168 % a=p1e 21.715960898076432 % a=p2s 25.110300872123222 % a=p2e 32.724167137687495 % a=p3s 37.693475969299065 % a=p3e 43.91767405444072 % a=p4s 50.312565207062136 % a=p4e 55.364640146702015 % a=p5s 62.9760434468519 % a=p5e 67.13004572895788 % a=p6s 75.66670082371068 % a=p6e 79.25169237736007 % a=p7s 88.30531394309575 % a=p7e ] store /angs74 [ 10.807980708069964 % a=p1s 12.54984265766669 % a=p1e 21.675841907060825 % a=p2s 25.11084753779409 % a=p2e 32.66554969047322 % a=p3s 37.69582788095825 % a=p3e 43.84303126453871 % a=p4s 50.31952306236405 % a=p4e 55.2785495814377 % a=p5s 62.993011030256994 % a=p5e 67.04060511433761 % a=p6s 75.70178957255598 % a=p6e 79.17113236809766 % a=p7s 88.36482711730189 % a=p7e ] store /angs75 [ 10.787458444709657 % a=p1s 12.549515413826098 % a=p1e 21.635320936152468 % a=p2s 25.11066227243144 % a=p2e 32.606257778229484 % a=p3s 37.697039004236025 % a=p3e 43.76736493115638 % a=p4s 50.324943362741315 % a=p4e 55.19103973524946 % a=p5s 63.008259127518066 % a=p5e 66.94949510161331 % a=p6s 75.7356321595626 % a=p6e 79.08926423529904 % a=p7s 88.42440171406147 % a=p7e ] store /angs76 [ 10.76674075073603 % a=p1s 12.54881783925506 % a=p1e 21.59437889189328 % a=p2s 25.109710969494113 % a=p2e 32.54625807033505 % a=p3s 37.69704923776268 % a=p3e 43.69061953254325 % a=p4s 50.328728688439405 % a=p4e 55.10202009748705 % a=p5s 63.0216508213731 % a=p5e 66.8565840414203 % a=p6s 75.76810569196802 % a=p6e 79.00596307839702 % a=p7s 88.48404139604865 % a=p7e ] store /angs77 [ 10.745817883542566 % a=p1s 12.547732950655154 % a=p1e 21.552994632142486 % a=p2s 25.107956242064812 % a=p2e 32.48551382564454 % a=p3s 37.6957927143048 % a=p3e 43.612734058110654 % a=p4s 50.33077166126485 % a=p4e 55.011390874833026 % a=p5s 63.03303276674643 % a=p5e 66.76172466049388 % a=p6s 75.79906931487801 % a=p6e 78.92108616172325 % a=p7s 88.54375011844128 % a=p7e ] store /angs78 [ 10.724678979154362 % a=p1s 12.546242019744097 % a=p1e 21.511144652666793 % a=p2s 25.10535693597329 % a=p2e 32.42398437770426 % a=p3s 37.693196968388726 % a=p3e 43.53364120354497 % a=p4s 50.3309535111145 % a=p4e 54.91904164654285 % a=p5s 63.042232568185476 % a=p5e 66.66475157331087 % a=p6s 75.82836074703079 % a=p6e 78.83446949800086 % a=p7s 88.6035321717656 % a=p7e ] store /angs79 [ 10.703311872070397 % a=p1s 12.544324297503936 % a=p1e 21.468802708860174 % a=p2s 25.10186754359615 % a=p2e 32.36162451400444 % a=p3s 37.6891819373172 % a=p3e 43.453266403232774 % a=p4s 50.32914236368454 % a=p4e 54.824849756494636 % a=p5s 63.04905562170921 % a=p5e 66.565478286174 % a=p6s 75.85579197093445 % a=p6e 78.74592360127376 % a=p7s 88.66339223320006 % a=p7e ] store /angs80 [ 10.681702875954299 % a=p1s 12.541956679075694 % a=p1e 21.42593935538871 % a=p2s 25.097437492192512 % a=p2e 32.29838372123975 % a=p3s 37.68365875215961 % a=p3e 43.3715266573525 % a=p4s 50.32519117878111 % a=p4e 54.728678375066174 % a=p5s 63.053281284795474 % a=p5e 66.46369356464169 % a=p6s 75.881143824128 % a=p6e 78.6552281611952 % a=p7s 88.72333542848413 % a=p7e ] store /angs81 [ 10.659836514247882 % a=p1s 12.539113292836335 % a=p1e 21.382521380886654 % a=p2s 25.092010272063927 % a=p2e 32.23420525933059 % a=p3s 37.67652826113121 % a=p3e 43.28832909702567 % a=p4s 50.31893524611107 % a=p4e 54.63037414236975 % a=p5s 63.054658195711696 % a=p5e 66.35915699490941 % a=p6s 75.90415914721605 % a=p6e 78.5621253015316 % a=p7s 88.78336740724937 % a=p7e ] store /angs82 [ 10.637695185993898 % a=p1s 12.535764991504823 % a=p1e 21.33851110689382 % a=p2s 25.085522357840425 % a=p2e 32.16902501405345 % a=p3s 37.66767920798015 % a=p3e 43.203569211389976 % a=p4s 50.310189114033676 % a=p4e 54.529764274421154 % a=p5s 63.05289850477063 % a=p5e 66.2515935141803 % a=p6s 75.92453401446242 % a=p6e 78.46631095883205 % a=p7s 88.84349443551498 % a=p7e ] store /angs83 [ 10.61525874674933 % a=p1s 12.531878715022073 % a=p1e 21.293865508926707 % a=p2s 25.077901859150412 % a=p2e 32.102770059768275 % a=p3s 37.656985959876216 % a=p3e 43.1171286326933 % a=p4s 50.29874278230683 % a=p4e 54.42665297137745 % a=p5s 63.047670698031496 % a=p5e 66.14068660725404 % a=p6s 75.94190638480522 % a=p6e 78.36742373365804 % a=p7s 88.90372351038114 % a=p7e ] store /angs84 [ 10.592503976654715 % a=p1s 12.527416683236392 % a=p1e 21.248535101219208 % a=p2s 25.069066812278805 % a=p2e 32.035356837154495 % a=p3s 37.64430563864088 % a=p3e 43.028872335345895 % a=p4s 50.28435692581228 % a=p4e 54.32081690576332 % a=p5s 63.03859057713544 % a=p5e 66.02606975574359 % a=p6s 75.95584123474288 % a=p6e 78.26503029691146 % a=p7s 88.9640625037828 % a=p7e ] store /angs85 [ 10.569403896174823 % a=p1s 12.522335359137418 % a=p1e 21.202462502516937 % a=p2s 25.058922988051854 % a=p2e 31.966688811640243 % a=p3s 37.62947444923545 % a=p3e 42.93864504562983 % a=p4s 50.2667568221177 % a=p4e 54.21199947856619 % a=p5s 63.02520978945754 % a=p5e 65.90731556547105 % a=p6s 75.96581082065448 % a=p6e 78.15860602993351 % a=p7s 89.02452034480287 % a=p7e ] store /angs86 [ 10.545926872605126 % a=p1s 12.516584097323948 % a=p1e 21.155580563877532 % a=p2s 25.04736103638729 % a=p2e 31.89665341905499 % a=p3s 37.612302909182475 % a=p3e 42.846266569495306 % a=p4s 50.24562451436328 % a=p4e 54.09990339572997 % a=p5s 63.007001051557715 % a=p5e 65.78392175908459 % a=p6s 75.97116808614204 % a=p6e 78.0475089606994 % a=p7s 89.0851072539084 % a=p7e ] store /angs87 [ 10.522035433517816 % a=p1s 12.510103352160264 % a=p1e 21.10780988314357 % a=p2s 25.034252703364917 % a=p2e 31.825118013673226 % a=p3s 37.59256954340369 % a=p3e 42.75152560808503 % a=p4s 50.22058852343689 % a=p4e 53.98418090914118 % a=p5s 62.9833388276552 % a=p5e 65.65529285871052 % a=p6s 75.9711102439751 % a=p6e 77.93094409735356 % a=p7s 89.14583504825299 % a=p7e ] store /angs88 [ 10.497684660592489 % a=p1s 12.502822256276911 % a=p1e 21.059055441433046 % a=p2s 25.019445722575252 % a=p2e 31.75192438887398 % a=p3s 37.570012388417375 % a=p3e 42.654171412167706 % a=p4s 50.19121007951041 % a=p4e 53.86442073640436 % a=p5s 62.95347363033468 % a=p5e 65.52071581820768 % a=p6s 75.96462798667281 % a=p6e 77.8079137255463 % a=p7s 89.20671754601857 % a=p7e ] store /angs89 [ 10.472819967382202 % a=p1s 12.494655275793896 % a=p1e 21.00920195089533 % a=p2s 25.00275676337861 % a=p2e 31.676881203639077 % a=p3s 37.54431728967448 % a=p3e 42.55390226966079 % a=p4s 50.15696428250893 % a=p4e 53.74013013574648 % a=p5s 62.9164971546799 % a=p5e 65.37932695490305 % a=p6s 75.95043319432422 % a=p6e 77.67714671916806 % a=p7s 89.267771111587 % a=p7e ] store /angs90 [ 10.44737394623543 % a=p1s 12.485497472250978 % a=p1e 20.95810725568375 % a=p2s 24.98396144813609 % a=p2e 31.599753247054046 % a=p3s 37.51510136707036 % a=p3e 42.45034921663944 % a=p4s 50.1172136554016 % a=p4e 53.610709704045156 % a=p5s 62.87129386468458 % a=p5e 65.23006601413964 % a=p6s 75.92685363715245 % a=p6e 77.53699566206811 % a=p7s 89.32901540553087 % a=p7e ] store /angs91 [ 10.421261761253758 % a=p1s 12.475217590906341 % a=p1e 20.905592692739635 % a=p2s 24.962779798689688 % a=p2e 31.520245767122837 % a=p3s 37.48188895354737 % a=p3e 42.34305230016192 % a=p4s 50.071169894367095 % a=p4e 53.47541687050413 % a=p5s 62.816471889197054 % a=p5e 65.07161056727695 % a=p6s 75.89167552706655 % a=p6e 77.38528314961515 % a=p7s 89.39047444015759 % a=p7e ] store /angs92 [ 10.39437418034958 % a=p1s 12.463647623808814 % a=p1e 20.851428517050195 % a=p2s 24.93885427281721 % a=p2e 31.437980790359042 % a=p3s 37.4440753432555 % a=p3e 42.23142476643647 % a=p4s 50.01783657095724 % a=p4e 53.33331112576324 % a=p5s 62.75026106623974 % a=p5e 64.90227915475951 % a=p6s 75.84190088464126 % a=p6e 77.21906515428934 % a=p7s 89.4521781042207 % a=p7e ] store /angs93 [ 10.366566594024654 % a=p1s 12.450566387400894 % a=p1e 20.7953109387511 % a=p2s 24.91171522392829 % a=p2e 31.352459835082556 % a=p3s 37.40086986833539 % a=p3e 42.11469675473716 % a=p4s 49.95591963617774 % a=p4e 53.183168342405175 % a=p5s 62.67035634556985 % a=p5e 64.71988238764112 % a=p6s 75.77336031510298 % a=p6e 77.03425376248032 % a=p7s 89.51416443218523 % a=p7e ] store /angs94 [ 10.337640827583373 % a=p1s 12.43567236437918 % a=p1e 20.736824100778414 % a=p2s 24.880723810756752 % a=p2e 31.263002207045993 % a=p3s 37.351201943985174 % a=p3e 41.99182224402634 % a=p4s 49.88368040256907 % a=p4e 53.02333981853951 % a=p5s 62.573665066453344 % a=p5e 64.52148239066106 % a=p6s 75.68006906658896 % a=p6e 76.82499053487105 % a=p7s 89.57648310092486 % a=p7e ] store /angs95 [ 10.3073131210325 % a=p1s 12.418535962 % a=p1e 20.675373157115303 % a=p2s 24.84497168741433 % a=p2e 31.168636456211317 % a=p3s 37.29355619650331 % a=p3e 41.861315568140476 % a=p4s 49.79867863856155 % a=p4e 52.85150561997737 % a=p5s 62.45587317977757 % a=p5e 64.30297938970263 % a=p6s 75.55310227890614 % a=p6e 76.58255351663618 % a=p7s 89.639201041776 % a=p7e ] store /angs96 [ 10.27515327329313 % a=p1s 12.398508906273932 % a=p1e 20.610057118365663 % a=p2s 24.80309072406826 % a=p2e 31.0678942534632 % a=p3s 37.22566008831809 % a=p3e 41.72094132649595 % a=p4s 49.69728761978492 % a=p4e 52.66420838116201 % a=p5s 62.3106404326897 % a=p5e 64.05834364726535 % a=p6s 75.37850966942737 % a=p6e 76.2933344097417 % a=p7s 89.70241189457685 % a=p7e ] store /angs97 [ 10.240457014776476 % a=p1s 12.374534483857923 % a=p1e 20.539402258496843 % a=p2s 24.752854701221814 % a=p2e 30.958378485619786 % a=p3s 37.143830811962594 % a=p3e 41.567065421883505 % a=p4s 49.57368363983764 % a=p4e 52.45588082398579 % a=p5s 62.12795008488131 % a=p5e 63.77803848358542 % a=p6s 75.13315211918425 % a=p6e 75.93480957381597 % a=p7s 89.7662528933324 % a=p7e ] store /angs98 [ 10.201940783287087 % a=p1s 12.344694343661418 % a=p1e 20.460724780181135 % a=p2s 24.69022861634551 % a=p2e 30.835731476098257 % a=p3s 37.041418581955604 % a=p3e 41.393107024755516 % a=p4s 49.41744597628106 % a=p4e 52.2165341809466 % a=p5s 61.8902485673239 % a=p5e 63.445327791130374 % a=p6s 74.77556573610576 % a=p6e 75.46672987115005 % a=p7s 89.83093728039667 % a=p7e ] store /angs99 [ 10.156863514538578 % a=p1s 12.304906380898949 % a=p1e 20.368298086378783 % a=p2s 24.6066397184238 % a=p2e 30.690671442542342 % a=p3s 36.90434732074166 % a=p3e 41.185102323629934 % a=p4s 49.206715079304736 % a=p4e 51.92516721537275 % a=p5s 61.561627576755996 % a=p5e 63.025927609896144 % a=p6s 74.22325640356571 % a=p6e 74.80934874610683 % a=p7s 89.89682247726977 % a=p7e ] store /angs100 [ 10.097664637482845 % a=p1s 12.243948888604791 % a=p1e 20.2463452806097 % a=p2s 24.478569462863145 % a=p2e 30.49768963075752 % a=p3s 36.69417993773908 % a=p3e 40.904866750365436 % a=p4s 48.88245951368224 % a=p4e 51.525008083759836 % a=p5s 61.048280116916224 % a=p5e 62.43026757621404 % a=p6s 73.28583530820094 % a=p6e 73.77999848960131 % a=p7s 89.9645717192571 % a=p7e ] store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /masterangs [ angs0 angs1 angs2 angs3 angs4 angs5 angs6 angs7 angs8 angs9 angs10 angs11 angs12 angs13 angs14 angs15 angs16 angs17 angs18 angs19 angs20 angs21 angs22 angs23 angs24 angs25 angs26 angs27 angs28 angs29 angs30 angs31 angs32 angs33 angs34 angs35 angs36 angs37 angs38 angs39 angs40 angs41 angs42 angs43 angs44 angs45 angs46 angs47 angs48 angs49 angs50 angs51 angs52 angs53 angs54 angs55 angs56 angs57 angs58 angs59 angs60 angs61 angs62 angs63 angs64 angs65 angs66 angs67 angs68 angs69 angs70 angs71 angs72 angs73 angs74 angs75 angs76 angs77 angs78 angs79 angs80 angs81 angs82 angs83 angs84 angs85 angs86 angs87 angs88 angs89 angs90 angs91 angs92 angs93 angs94 angs95 angs96 angs97 angs98 angs99 angs100 ] store %% grab individual angle reports /p1sangs mark masterangs {0 get} forall ] store /p2sangs mark masterangs {2 get} forall ] store /p3sangs mark masterangs {4 get} forall ] store /p4sangs mark masterangs {6 get} forall ] store /p5sangs mark masterangs {8 get} forall ] store /p6sangs mark masterangs {10 get} forall ] store /p7sangs mark masterangs {12 get} forall ] store %% grab angle diffrences from carrier impulse /p1sdangs mark p1sangs {12 sub} forall ] store /p2sdangs mark p2sangs {24 sub} forall ] store /p3sdangs mark p3sangs {36 sub} forall ] store /p4sdangs mark p4sangs {48 sub} forall ] store /p5sdangs mark p5sangs {60 sub} forall ] store /p6sdangs mark p6sangs {72 sub} forall ] store /p7sdangs mark p7sangs {84 sub} forall ] store %% calculate cosine half differences... /p1sdcos mark p1sangs {cos 12 cos sub } forall ] store /p2sdcos mark p2sangs {cos 24 cos sub } forall ] store /p3sdcos mark p3sangs {cos 36 cos sub } forall ] store /p4sdcos mark p4sangs {cos 48 cos sub } forall ] store /p5sdcos mark p5sangs {cos 60 cos sub } forall ] store /p6sdcos mark p6sangs {cos 72 cos sub } forall ] store /p7sdcos mark p7sangs {cos 84 cos sub } forall ] store % get normalized max values /normp1s p1sdcos 100 get store /normp2s p2sdcos 100 get store /normp3s p3sdcos 100 get store /normp4s p4sdcos 100 get store /normp5s p5sdcos 100 get store /normp6s p6sdcos 100 get store /normp7s p7sdcos 100 get store %% find fractional tota;s /fractot 12 sin 24 sin add 36 sin add 48 sin add 60 sin add 72 sin add 84 sin add store /fracts [ 12 sin fractot div 24 sin fractot div 36 sin fractot div 48 sin fractot div 60 sin fractot div 72 sin fractot div 84 sin fractot div ] store % calculate cosine contributed half fractions /fract12 fracts 0 get 2 div store /fract24 fracts 1 get 2 div store /fract36 fracts 2 get 2 div store /fract48 fracts 3 get 2 div store /fract60 fracts 4 get 2 div store /fract72 fracts 6 get 2 div store /fract84 fracts 6 get 2 div store % use reminder % /data [ 0 0 0.5 0.7 1 1 ] store solvelineq plotit showpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% zzz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % do a total plot and compare against existing and better guesses % 150 100 10 setgrid 0 0 mt 45 pu 20 pr 45 pd closepath 0.8 1 1 setrgbcolor fill 20 45 showgrid % two degrees per v block black % p7s 0 84 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 12 get 2 div lineto } for 20 84 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill 0 84 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 13 get 2 div lineto } for 20 84 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill % p6s %%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 72 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 10 get 2 div lineto } for 20 72 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill 0 72 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 11 get 2 div lineto } for 20 72 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill % p5s %%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 60 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 8 get 2 div lineto } for 20 60 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill 0 60 2 div mt % center of p5 0 1 100 {/jj exch store jj 5 div masterangs jj get 9 get 2 div lineto } for 20 60 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill % p4s %%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 48 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 6 get 2 div lineto } for 20 48 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill 0 48 2 div mt % center of p5 0 1 100 {/jj exch store jj 5 div masterangs jj get 7 get 2 div lineto } for 20 48 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill % p3s %%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 36 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 4 get 2 div lineto } for 20 36 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill 0 36 2 div mt % center of p5 0 1 100 {/jj exch store jj 5 div masterangs jj get 5 get 2 div lineto } for 20 36 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill % p2s %%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 24 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 2 get 2 div lineto } for 20 24 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill 0 24 2 div mt % center of p5 0 1 100 {/jj exch store jj 5 div masterangs jj get 3 get 2 div lineto } for 20 24 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill % p1s %%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 12 2 div mt % center of p7 0 1 100 {/jj exch store jj 5 div masterangs jj get 0 get 2 div lineto } for 20 12 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill 0 12 2 div mt % center of p5 0 1 100 {/jj exch store jj 5 div masterangs jj get 1 get 2 div lineto } for 20 12 2 div lineto closepath 1 0.4 0.4 setrgbcolor fill line1 [{0.2 6 mt 19.6 r} 6 7 ] yrpt black line1 0 84 2 div mt 20 masterangs 1 get 13 get 84 sub 2 div 100 mul rlineto 20 0 masterangs 1 get 13 get 84 sub 100 mul neg rlineto closepath stroke 0 72 2 div mt 20 masterangs 1 get 11 get 72 sub 2 div 100 mul rlineto 20 0 masterangs 1 get 11 get 72 sub 100 mul neg rlineto closepath stroke 0 60 2 div mt 20 masterangs 1 get 9 get 60 sub 2 div 100 mul rlineto 20 0 masterangs 1 get 9 get 60 sub 100 mul neg rlineto closepath stroke 0 48 2 div mt 20 masterangs 1 get 7 get 48 sub 2 div 100 mul rlineto 20 0 masterangs 1 get 7 get 48 sub 100 mul neg rlineto closepath stroke 0 36 2 div mt 20 masterangs 1 get 5 get 36 sub 2 div 100 mul rlineto 20 0 masterangs 1 get 5 get 36 sub 100 mul neg rlineto closepath stroke 0 24 2 div mt 20 masterangs 1 get 3 get 24 sub 2 div 100 mul rlineto 20 0 masterangs 1 get 3 get 24 sub 100 mul neg rlineto closepath stroke 0 12 2 div mt 20 masterangs 1 get 1 get 12 sub 2 div 100 mul rlineto 20 0 masterangs 1 get 1 get 12 sub 100 mul neg rlineto closepath stroke { 0 0 1 setrgbcolor 0 36 2 div mt 20 masterangs 1 get 5 get 36 sub 2 div 100 mul 0.6000 sub rlineto 20 0 masterangs 1 get 5 get 36 sub 100 mul neg rlineto closepath stroke } pop black line1 -0.4 0 mt 20.4 r 0 0 mt 0.4 d 10 0 mt 0.4 d 20 0 mt 0.4 d /cstretch 0.02 store /sstretch 0.02 store /font1 /Helvetica-Bold 0.85 gonzofont font1 0 -1.3 (0.0) cc 10 -1.3 (0.5) cc 20 -1.3 (1.0) cc 10 -2.7 (input amplitude) cc 10 3.5 (best efficiency 7 pulse per quadrant magic sinewave pulse positions) cc -1.3 -0.3 (0.0000) cr -1.3 6 0.3 sub (12.000) cr -1.3 12 0.3 sub (24.000) cr -1.3 18 0.3 sub (36.000) cr -1.3 24 0.3 sub (48.000) cr -1.3 30 0.3 sub (60.000) cr -1.3 36 0.3 sub (72.000) cr -1.3 42 0.3 sub (84.000) cr -1.3 45 0.3 sub (90.000) cr [{0 0 mt 0.4 l}6 8 ] yrpt 0 45 mt 0.4 l 0 0 mt 45 u 20 r 45 d 18 42 0.3 sub (P7) cc 18 36 0.3 sub (P6) cc 18 30 0.3 sub (P5) cc 18 24 0.3 sub (P4) cc 18 18 0.3 sub (P3) cc 18 12 0.3 sub (P2) cc 18 6 0.3 sub (P1) cc gsave -5.5 22.5 translate 90 rotate 0 0 (pulse starting or ending angle position in degrees) cc grestore snap3 restore } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % figure1 for detmssol 72 /figure1 { save /snapxxx exch def %%%%%%%%%%%%%%%%%%% -0.3 -2.5 translate % position on box 1.5 dup scale 0 1 0 setrgbcolor line1 gsave 0 0 mt 10 pu 20 pr 10 pd closepath 0.8 1 1 setrgbcolor fill grestore 20 10 showgrid 0 1 1 setrgbcolor line2 10 0 mt 10 u 0 10 mt 20 r 0 0 mt 10 pu 20 pr 10 pd closepath stroke newpath 0 0 mt 10 pu 20 pr 10 pd closepath clip newpath 10 0 translate black /f1 { /b1 exch store /m1 exch store % capture slope and error -11 11 mt line1 0.07 setlinewidth -10 0.1 10 {/x1 exch store % plotting loop for linear x1 m1 mul b1 add abs x1 exch lineto } for stroke -11 11 mt line1 0.07 setlinewidth -10 0.1 10 {/x1 exch store % plotting loop for square x1 m1 mul b1 add dup mul % sqrt % find rms x1 exch % 2 copy == == (\n) print flush % gsave black 2 copy mt dot grestore lineto } for stroke 1 0 0 setrgbcolor % verify and plot minimum b1 m1 div neg 0 mt 20 u 0 b1 mt dot % plot initial y value } def 2 3 f1 % and do it slope - offset f1 snapxxx restore } store %%%%%%%%%%%%%%%% % figure2 for gonzotut 79 /figure2 { save /snapxxx exch def %%%%%%%%%%%%%%%%%%% 9 8 translate % position on box 1.5 dup scale electronics begin beige 0 0 moveto 18 (MS28D-05X) (IN1 IN0 XIN IN6 +5V /DA /DB /DC NC) (IN2 IN3 IN4 IN5 GND DA DB DC SYNC) dipdraw snapxxx restore } store %% figure 1 for gonzotut80 /figure1 { save /snapxxx exch def %%%%%%%%%%%%%%%%%%% 6 3 translate % position on box 1 dup scale % reduce size % 150 150 10 setgrid % (A) CALCULATE SPLINE OLD WAY ROUTINES /findAH { /x0 curspline 0 get store /y0 curspline 1 get store /x1 curspline 2 get store /y1 curspline 3 get store /x2 curspline 4 get store /y2 curspline 5 get store /x3 curspline 6 get store /y3 curspline 7 get store /A x3 x2 3 mul sub x1 3 mul add x0 sub store /E y3 y2 3 mul sub y1 3 mul add y0 sub store /B x2 3 mul x1 6 mul sub x0 3 mul add store /F y2 3 mul y1 6 mul sub y0 3 mul add store /C x1 3 mul x0 3 mul sub store /G y1 3 mul y0 3 mul sub store /D x0 store /H y0 store } store /findx {/ttt exch store A ttt mul B add ttt mul C add ttt mul D add /curx exch store} store /findy {/ttt exch store E ttt mul F add ttt mul G add ttt mul H add /cury exch store} store /finds {/curs curx xx sub dup mul cury yy sub dup mul add sqrt store} store % curves are At^3 + Bt^2 + Ct + D and Et^3 + Ft^2 + Gt + H % slopes are 3At^2 + 2Bt + C and 3Et^2 + 2Ft + H % slopslop is 6at + 2B and 6Et + 2F /findslopes { /xslop tt dup mul 3 mul A mul tt 2 mul B mul add C add store /xslopslop tt 6 mul A mul B 2 mul add store /yslop tt dup mul 3 mul E mul tt 2 mul F mul add G add store /yslopslop tt 6 mul E mul F 2 mul add store } store /magiccalc { findslopes /deltax curx xx sub store /deltay cury yy sub store deltax xslop mul deltay yslop mul add xslop dup mul yslop dup mul add deltax xslopslop mul add deltay yslopslop mul add div /tadj exch store } store % (H) FIND DISTANCE FROM POINT TO CUBIC SPLINE % demo -- remove before use /curspline [0 0 5 0 3 12 20 20 ] store % 50 50 10 setgrid gsave 0 0 mt 20 pu 20 pr 20 pd closepath 0.8 1 1 setrgbcolor fill grestore 20 20 showgrid 0.1 1 1 setrgbcolor line3 1 setlinejoin 0 0 mt 20 u 20 r 20 d 20 l black % draw the spline 0 0 mt curspline 2 get curspline 3 get curspline 4 get curspline 5 get curspline 6 get curspline 7 get curveto line1 stroke curspline 2 get curspline 3 get mt dot curspline 4 get curspline 5 get mt dot % draw the point 3,5 /xx 3 store /yy 5 store 1 0 0 setrgbcolor xx yy mt dot /tt 0.1 store 0.3 0.033 0.5 {/tt exch store findAH tt findx tt findy 0 0 1 setrgbcolor curx cury mt dot finds curs == } for % something like .406 should be the minimum. { % unproc to report (\n\nstarting magic test...\n\n) print flush /tt 0.3 store findAH tt findx tt findy finds curs == tt == magiccalc tadj == (\n\nsecond pass... \n\n) print flush /tt tt tadj sub store % add or sub??? findAH tt findx tt findy finds curs == tt == magiccalc tadj == (\n\nthird pass... \n\n) print flush /tt tt tadj sub store % add or sub??? findAH tt findx tt findy finds curs == magiccalc tt == tadj == (\n\ntfourth pass... \n\n) print flush /tt tt tadj sub store % add or sub??? findAH tt findx tt findy finds curs == magiccalc tt == tadj == (\n\ntfifth pass... \n\n) print flush /tt tt tadj sub store % add or sub??? sub because should decrease in orig findAH tt findx tt findy finds curs == magiccalc tt == tadj == } pop % unproc to report 1 0 0 setrgbcolor 3 5 1.283 0 360 arc 0 setlinewidth stroke black x0 y0 mt dot x1 y1 mt dot x2 y2 mt dot x3 y3 mt dot snapxxx restore } store /figure2x { save /snapxxx exch def %%%%%%%%%%%%%%%%%%% 4.5 -0.4 translate % position on box % new data for 800 to 5000 has been modified to include two additional points /data1k5k [ 800 118 50 900 100 39 1000 93.50 73 1100 82 77 1200 75 21 1300 70 26 1400 63 37 1500 59 53 1600 53 52 1700 50 16 1800 50 36 1900 47 61 2000 45 25 2100 41 98 2200 40 20 2300 39 40 2400 36 89 2500 35 15 2600 33.39 52 2700 31.49 67 2800 30 42 2900 30 36 3000 29 63 3100 27.63 84 3200 26 95 3300 25 49 3400 25 13 3500 25 30 3600 24.95 38 3700 24 38 3800 23 30 3900 22 54 4000 21 67 4100 20.50 99 4200 20 33 4300 19.99 15 4400 19.99 23 4500 19.99 25 4600 19.95 41 4700 18.99 7 4800 18.45 57 4900 17.99 27 5000 17.12 90 ] store % generate new data files /functbb {/curbucks exch store /yy 1 curbucks 120 div sub 0.85 div store yy 11 exp 0.55 mul yy 2 exp 0.35 mul add yy 1 exp 0.07 mul add 4200 mul 800 add } store /binsperbuck [ 18 1 120 {/bucks exch store bucks bucks functbb bucks 1 sub functbb bucks 1 add functbb sub 2 div } for ] store % binsperbuck == % 150 150 10 setgrid gsave 0 0 mt 15 pu 24 pr 15 pd closepath 0.7 1 1 setrgbcolor fill grestore 24 15 showgrid 0 1 1 setrgbcolor line2 0 -0.60 mt 15.6 u 20 r 15.6 d 4 15 mt 15.6 d 8 15 mt 15.6 d 12 15 mt 15.6 d 16 15 mt 15.6 d 24 15 mt 15.6 d 24 0 mt 24.6 l 24 5 mt 24.6 l 24 10 mt 24.6 l 24 15 mt 24.6 l % plot the bins versus dollars 0.3 0.3 0.3 setrgbcolor 0 3 binsperbuck length 3 sub {/ii exch store binsperbuck ii get % the dollars 120 div 24 mul binsperbuck ii 2 add get % the bins 20 div mt dot } for /cstretch 0.02 store /sstretch 0.05 store /font1 /Helvetica-bold 0.85 gonzofont font1 black 0 -1.8 ($0) cc 4 -1.8 ($20) cc 8 -1.8 ($40) cc 12 -1.8 ($60) cc 16 -1.8 ($80) cc 20 -1.8 ($100) cc 24 -1.8 ($120) cc 12 -3.1 (price in integer dollars ) cc gsave 0 -0.3 translate -1.3 0 (0) cr -1.3 5 (100) cr -1.3 10 (200) cr -1.3 15 (300) cr grestore % 15 18 (total bins = 18,400) cc gsave -3.7 7.5 translate 90 rotate 0 0 (gross bin count per integer dollar) cc grestore /yinc 1.2 store /kern 0.1 store 15.5 12.5 (An |jinteger |jprice |jof\n"$34" represents all\nof the prices from\n$33.50 to $34.49.) cc snapxxx restore } store /figure3 { % for gg79 save /snapxxx exch def %%%%%%%%%%%%%%%%%%% -18.3 -18 translate % position on box 0.085 dup scale /q {gsave} store /Q {grestore} store /J {setlinecap} store /j {setlinejoin} store /m {moveto} store /f {fill} store /l {lineto} store /h {closepath} store /W {clip} store /n {newpath} store /w {setlinewidth} store /c {curveto} store /S {stroke} store /setSA {setstrokeadjust} store /cs {setcolorspace} store /sc {setcolor} store black % /W {} store % save %%%%%%%%%%%%%%%%%%%%%%%%% q % 252.0 99.0 m % 531.0 99.0 l % 531.0 387.0 l % 252.0 387.0 l % h % black 0 0 mt 1000 1000 lineto stroke % W n n true setSA 0.8 w 0.5 w 16.0 w 1.2 w 0.5 w n 392.5 92.0 m 231.1 92.0 l 231.045 92.0 231.0 92.045 231.0 92.1 c 231.0 398.4 l 231.0 398.455 231.045 398.5 231.1 398.5 c 553.9 398.5 l 553.955 398.5 554.0 398.455 554.0 398.4 c 554.0 92.1 l 554.0 92.045 553.955 92.0 553.9 92.0 c 392.5 92.0 l [/DeviceGray] cs 0.0 sc % S n q % problem above here n 417.8 198.52 m 428.487 196.636 437.684 212.313 435.8 223.0 c 434.362 231.155 425.235 238.118 417.08 236.68 c 419.358 238.958 421.778 241.0 425.0 241.0 c 439.585 241.0 449.853 221.164 447.32 206.8 c 445.282 195.244 439.626 183.813 428.6 179.8 c W n n 428.6 176.2 m 440.597 181.794 446.6 195.363 446.6 208.6 c 446.6 217.871 441.331 228.59 432.2 230.2 c 419.164 232.499 400.963 197.8 414.2 197.8 c 423.471 197.8 425.429 184.912 428.6 176.2 c [/DeviceRGB] cs 1.0 0.884 0.711 sc f Q q n 428.6 176.2 m 440.597 181.794 446.6 195.363 446.6 208.6 c 446.6 217.871 441.331 228.59 432.2 230.2 c 419.164 232.499 400.963 197.8 414.2 197.8 c 423.471 197.8 425.429 184.912 428.6 176.2 c W n n 417.8 198.52 m 428.487 196.636 437.684 212.313 435.8 223.0 c 434.362 231.155 425.235 238.118 417.08 236.68 c 419.358 238.958 421.778 241.0 425.0 241.0 c 439.585 241.0 449.853 221.164 447.32 206.8 c 445.282 195.244 439.626 183.813 428.6 179.8 c W n n 435.8 183.4 m 435.8 189.15 431.475 192.82 428.6 197.8 c 433.788 199.688 441.321 196.037 442.28 190.6 c [/DeviceRGB] cs 0.506 0.304 0.0 sc f n 443.72 196.0 m 442.196 200.187 438.939 202.772 435.08 205.0 c 438.866 207.186 443.971 207.81 447.32 205.0 c f n 447.32 211.12 m 445.221 213.219 442.368 213.64 439.4 213.64 c 441.517 216.163 443.506 218.274 446.6 219.4 c f n 443.72 220.12 m 441.92 220.12 440.371 220.736 438.68 220.12 c 439.768 223.109 437.851 227.672 440.84 228.76 c f Q q n 417.8 198.52 m 428.487 196.636 437.684 212.313 435.8 223.0 c 434.362 231.155 425.235 238.118 417.08 236.68 c 419.358 238.958 421.778 241.0 425.0 241.0 c 439.585 241.0 449.853 221.164 447.32 206.8 c 445.282 195.244 439.626 183.813 428.6 179.8 c W n 1 J 1 j 0.18 w n 428.6 176.2 m 440.597 181.794 446.6 195.363 446.6 208.6 c 446.6 217.871 441.331 228.59 432.2 230.2 c 419.164 232.499 400.963 197.8 414.2 197.8 c 423.471 197.8 425.429 184.912 428.6 176.2 c S Q 1 J 1 j 0.72 w n 417.8 198.52 m 428.487 196.636 437.684 212.313 435.8 223.0 c 434.362 231.155 425.235 238.118 417.08 236.68 c 419.358 238.958 421.778 241.0 425.0 241.0 c 439.585 241.0 449.853 221.164 447.32 206.8 c 445.282 195.244 439.626 183.813 428.6 179.8 c 422.12 144.16 m 420.498 139.704 421.647 134.553 425.0 131.2 c 430.385 125.815 437.184 123.28 444.8 123.28 c 447.91 123.28 452.36 124.49 452.36 127.6 c 452.36 133.448 444.506 137.11 438.68 136.6 c 452.36 127.6 m 454.232 125.728 458.84 128.553 458.84 131.2 c 458.84 135.474 454.328 138.374 450.2 139.48 c 458.84 130.12 m 461.242 129.0 464.6 132.149 464.6 134.8 c 464.6 138.916 460.965 141.742 457.4 143.8 c 452.911 146.391 448.104 144.7 443.0 145.6 c 440.317 146.073 437.726 146.194 435.8 148.12 c S n 383.96 151.0 m 394.859 156.082 402.581 162.118 413.48 167.2 c 404.354 163.878 394.891 159.104 386.48 163.96 c 380.248 167.558 376.758 172.848 373.16 179.08 c 369.6 171.445 366.68 164.824 366.68 156.4 c 366.68 150.331 371.504 145.754 376.76 142.72 c 380.706 140.442 384.443 139.12 389.0 139.12 c 392.293 139.12 396.2 141.587 396.2 144.88 c 396.2 148.874 392.371 150.968 390.08 154.24 c [/DeviceRGB] cs 1.0 0.884 0.711 sc f q n 383.96 151.0 m 394.859 156.082 402.581 162.118 413.48 167.2 c 404.354 163.878 394.891 159.104 386.48 163.96 c 380.248 167.558 376.758 172.848 373.16 179.08 c 369.6 171.445 366.68 164.824 366.68 156.4 c 366.68 150.331 371.504 145.754 376.76 142.72 c 380.706 140.442 384.443 139.12 389.0 139.12 c 392.293 139.12 396.2 141.587 396.2 144.88 c 396.2 148.874 392.371 150.968 390.08 154.24 c W n n 373.88 144.52 m 377.613 146.675 381.349 146.646 385.4 148.12 c 385.4 145.013 383.354 142.891 381.8 140.2 c 0.506 0.304 0.0 sc f n 366.68 150.64 m 371.363 147.936 377.256 151.496 381.08 155.32 c 375.44 155.32 370.668 157.812 366.68 161.8 c f n 367.4 165.4 m 372.183 162.639 377.33 160.271 382.52 162.16 c 377.674 165.553 373.238 168.197 370.28 173.32 c f Q n 383.96 151.0 m 394.859 156.082 402.581 162.118 413.48 167.2 c 404.354 163.878 394.891 159.104 386.48 163.96 c 380.248 167.558 376.758 172.848 373.16 179.08 c 369.6 171.445 366.68 164.824 366.68 156.4 c 366.68 150.331 371.504 145.754 376.76 142.72 c 380.706 140.442 384.443 139.12 389.0 139.12 c 392.293 139.12 396.2 141.587 396.2 144.88 c 396.2 148.874 392.371 150.968 390.08 154.24 c 371.0 135.52 m 366.94 134.042 363.8 130.12 363.8 125.8 c 363.8 122.116 369.116 120.76 372.8 120.76 c 374.796 120.76 376.671 120.917 378.2 122.2 c 383.882 126.968 389.798 128.952 395.48 133.72 c 397.42 135.348 398.8 137.706 398.36 140.2 c 398.06 141.899 397.062 143.026 396.2 144.52 c 365.24 122.56 m 362.368 121.515 357.32 122.744 357.32 125.8 c 357.32 130.829 360.525 135.165 364.88 137.68 c 356.96 125.8 m 354.568 125.8 353.0 128.808 353.0 131.2 c 353.0 136.565 358.435 141.64 363.8 141.64 c 368.564 141.64 372.428 141.533 377.12 142.36 c [/DeviceGray] cs 0.0 sc S n 403.4 180.88 m 403.4 170.178 412.449 163.869 417.8 154.6 c 419.986 150.814 419.337 144.931 423.56 143.8 c 428.56 142.46 435.83 142.536 437.6 147.4 c 443.52 163.666 437.24 181.96 425.0 194.2 c 415.031 204.169 406.169 211.231 396.2 221.2 c 391.454 225.946 377.035 222.41 378.2 215.8 c 379.718 207.189 381.028 199.972 385.4 192.4 c 389.949 184.52 395.16 176.7 404.12 175.12 c [/DeviceRGB] cs 1.0 0.884 0.711 sc f q n 403.4 180.88 m 403.4 170.178 412.449 163.869 417.8 154.6 c 419.986 150.814 419.337 144.931 423.56 143.8 c 428.56 142.46 435.83 142.536 437.6 147.4 c 443.52 163.666 437.24 181.96 425.0 194.2 c 415.031 204.169 406.169 211.231 396.2 221.2 c 391.454 225.946 377.035 222.41 378.2 215.8 c 379.718 207.189 381.028 199.972 385.4 192.4 c 389.949 184.52 395.16 176.7 404.12 175.12 c W n n 438.68 150.28 m 433.17 148.275 426.986 150.454 422.84 154.6 c 428.686 152.472 434.635 156.001 439.4 160.0 c 0.506 0.304 0.0 sc f n 439.4 164.68 m 431.503 163.288 424.385 165.351 417.44 169.36 c 424.862 169.36 431.173 170.689 437.6 174.4 c f n 435.8 179.8 m 426.973 176.587 418.771 179.249 409.52 180.88 c 416.571 184.951 423.462 188.414 431.48 187.0 c f n 426.8 193.12 m 416.904 191.375 408.032 190.964 399.8 185.2 c 402.754 193.316 409.6 197.801 417.08 202.12 c f n 415.64 202.84 m 406.686 202.84 399.994 198.317 392.24 193.84 c 398.374 199.974 402.58 207.075 410.96 209.32 c f n 407.0 211.48 m 399.879 207.369 393.601 205.151 386.48 201.04 c 390.437 207.894 394.746 213.283 401.6 217.24 c f Q n 403.4 180.88 m 403.4 170.178 412.449 163.869 417.8 154.6 c 419.986 150.814 419.337 144.931 423.56 143.8 c 428.56 142.46 435.83 142.536 437.6 147.4 c 443.52 163.666 437.24 181.96 425.0 194.2 c 415.031 204.169 406.169 211.231 396.2 221.2 c 391.454 225.946 377.035 222.41 378.2 215.8 c 379.718 207.189 381.028 199.972 385.4 192.4 c 389.949 184.52 395.16 176.7 404.12 175.12 c [/DeviceGray] cs 0.0 sc S n 327.8 277.0 m 331.14 275.071 337.798 273.227 338.6 277.0 c 344.577 305.121 347.023 328.079 353.0 356.2 c 353.873 360.306 349.574 364.471 345.44 365.2 c 339.89 366.179 332.775 361.827 332.48 356.2 c 330.997 327.904 329.283 305.296 327.8 277.0 c [/DeviceRGB] cs 0.0 0.544 0.716 sc q f Q 0.0 0.34 0.447 sc S n 336.8 354.76 m 340.997 352.803 345.967 351.744 349.76 354.4 c S n 320.6 229.48 m 320.6 232.479 324.801 233.8 327.8 233.8 c 331.014 233.8 335.0 231.614 335.0 228.4 c 335.0 226.008 331.992 224.44 329.6 224.44 c 325.916 224.44 320.6 225.796 320.6 229.48 c 0.0 0.544 0.716 sc q f Q 0.0 0.34 0.447 sc S n 324.2 230.2 m 326.376 228.374 329.944 227.654 332.12 229.48 c 332.781 233.23 333.619 236.17 334.28 239.92 c 334.944 243.685 324.2 247.343 324.2 243.52 c 324.2 238.763 324.2 234.957 324.2 230.2 c 0.0 0.544 0.716 sc q f Q 0.0 0.34 0.447 sc S n 356.6 279.52 m 366.711 279.52 374.382 270.302 377.84 260.8 c 379.426 256.442 370.799 247.784 368.48 251.8 c 365.388 257.156 362.785 264.4 356.6 264.4 c 351.107 264.4 346.957 261.746 342.2 259.0 c 338.202 256.692 342.432 267.819 345.08 271.6 c 347.944 275.69 351.607 279.52 356.6 279.52 c 1.0 0.884 0.711 sc f q n 356.6 279.52 m 366.711 279.52 374.382 270.302 377.84 260.8 c 379.426 256.442 370.799 247.784 368.48 251.8 c 365.388 257.156 362.785 264.4 356.6 264.4 c 351.107 264.4 346.957 261.746 342.2 259.0 c 338.202 256.692 342.432 267.819 345.08 271.6 c 347.944 275.69 351.607 279.52 356.6 279.52 c W n n 346.88 274.48 m 349.395 271.965 349.658 268.262 349.04 264.76 c 351.613 269.217 354.853 274.343 352.28 278.8 c 0.506 0.304 0.0 sc f n 355.16 279.16 m 358.438 275.882 356.685 270.765 355.88 266.2 c 359.277 270.249 363.203 275.663 360.56 280.24 c f n 361.28 262.96 m 362.919 265.799 364.32 268.679 367.4 269.8 c 364.825 265.341 366.68 260.549 366.68 255.4 c f Q n 356.6 279.52 m 366.711 279.52 374.382 270.302 377.84 260.8 c 379.426 256.442 370.799 247.784 368.48 251.8 c 365.388 257.156 362.785 264.4 356.6 264.4 c 351.107 264.4 346.957 261.746 342.2 259.0 c 338.202 256.692 342.432 267.819 345.08 271.6 c 347.944 275.69 351.607 279.52 356.6 279.52 c 326.36 277.72 m 321.988 276.949 321.061 268.619 324.2 265.48 c 325.669 264.011 327.523 263.32 329.6 263.32 c 332.965 263.32 335.787 266.808 336.08 270.16 c 323.12 267.28 m 321.629 264.697 321.915 260.917 324.2 259.0 c 325.69 257.749 327.654 258.28 329.6 258.28 c 333.337 258.28 337.407 262.59 336.44 266.2 c 0.505 0.303 0.0 sc S n 328.16 283.12 m 328.551 280.905 329.81 279.31 331.4 277.72 c 333.076 276.044 336.44 275.771 336.44 273.4 c 336.44 270.238 331.259 267.859 328.52 269.44 c 326.627 270.533 326.564 272.859 325.64 274.84 c 324.334 277.641 325.628 281.347 328.16 283.12 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S n 340.4 261.16 m 344.143 263.321 346.52 267.278 346.52 271.6 c 346.52 275.92 343.64 281.32 339.32 281.32 c 335.349 281.32 333.92 275.571 333.92 271.6 c 333.92 269.523 334.003 266.2 336.08 266.2 c 338.995 266.2 340.974 269.449 341.48 272.32 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S n 335.0 243.16 m 331.652 241.227 326.933 241.147 324.2 243.88 c 322.328 245.752 319.276 248.067 320.6 250.36 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S n 322.76 248.92 m 320.632 251.048 317.752 254.712 319.88 256.84 c 322.04 263.68 m 319.256 262.073 319.578 256.746 322.04 254.68 c 340.76 248.2 m 341.121 250.246 340.399 252.561 338.6 253.6 c S n 340.4 252.52 m 342.197 254.028 342.282 256.795 341.48 259.0 c 340.693 261.161 337.985 261.481 335.72 261.88 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S q n 373.16 179.08 m 364.174 194.645 356.6 208.628 356.6 226.6 c 356.6 236.263 359.363 246.996 368.12 251.08 c 370.042 251.976 371.887 251.795 373.88 252.52 c 374.68 255.506 375.6 257.814 376.4 260.8 c 462.8 419.2 l W n 0.18 w n 369.56 179.8 m 365.522 194.87 361.72 207.458 363.08 223.0 c 363.77 230.891 364.159 237.74 368.12 244.6 c 369.885 247.657 376.092 246.483 376.4 250.0 c 376.827 254.877 381.373 257.723 381.8 262.6 c 383.112 277.592 327.151 248.2 342.2 248.2 c 367.914 248.2 316.486 176.2 342.2 176.2 c 1.0 0.884 0.711 sc q f Q 0.505 0.303 0.0 sc S Q n 373.16 179.08 m 364.174 194.645 356.6 208.628 356.6 226.6 c 356.6 236.263 359.363 246.996 368.12 251.08 c 370.042 251.976 371.887 251.795 373.88 252.52 c 374.68 255.506 375.6 257.814 376.4 260.8 c S n 332.84 242.08 m 336.27 232.655 341.717 225.847 349.4 219.4 c 359.444 210.972 372.288 212.2 385.4 212.2 c 391.327 212.2 396.971 217.163 398.0 223.0 c 398.893 228.065 398.893 232.335 398.0 237.4 c 397.368 240.981 394.437 244.6 390.8 244.6 c 383.966 244.6 380.537 236.622 378.2 230.2 c 371.235 231.428 365.365 229.332 358.4 230.56 c 352.035 236.925 345.563 240.827 340.4 248.2 c 336.926 248.2 334.028 245.344 332.84 242.08 c 1.0 0.884 0.711 sc f q n 332.84 242.08 m 336.27 232.655 341.717 225.847 349.4 219.4 c 359.444 210.972 372.288 212.2 385.4 212.2 c 391.327 212.2 396.971 217.163 398.0 223.0 c 398.893 228.065 398.893 232.335 398.0 237.4 c 397.368 240.981 394.437 244.6 390.8 244.6 c 383.966 244.6 380.537 236.622 378.2 230.2 c 371.235 231.428 365.365 229.332 358.4 230.56 c 352.035 236.925 345.563 240.827 340.4 248.2 c 336.926 248.2 334.028 245.344 332.84 242.08 c W n n 333.56 238.12 m 337.185 240.213 340.894 240.28 345.08 240.28 c 341.515 238.222 338.726 236.233 336.08 233.08 c 0.506 0.304 0.0 sc f n 340.04 228.76 m 342.168 232.446 346.584 233.8 350.84 233.8 c 346.956 231.557 345.859 227.057 345.08 222.64 c f n 349.4 219.4 m 351.311 222.711 354.689 224.009 356.6 227.32 c 356.6 223.386 355.785 220.216 354.44 216.52 c f n 358.4 214.36 m 360.723 218.384 363.963 222.936 361.64 226.96 c 366.152 224.355 366.505 218.051 365.6 212.92 c f n 370.28 211.48 m 374.103 215.303 372.849 221.52 371.0 226.6 c 376.374 223.498 378.598 218.031 380.72 212.2 c f n 384.68 211.12 m 384.68 213.566 384.615 215.551 385.04 217.96 c 388.243 218.525 390.863 216.706 393.68 215.08 c f n 397.28 219.4 m 390.929 220.52 385.66 222.455 380.72 226.6 c 387.26 224.22 393.773 227.08 399.8 230.56 c f n 399.08 231.64 m 395.096 234.983 389.567 235.579 384.68 233.8 c 387.481 238.651 393.149 244.881 398.0 242.08 c f Q n 332.84 242.08 m 336.27 232.655 341.717 225.847 349.4 219.4 c 359.444 210.972 372.288 212.2 385.4 212.2 c 391.327 212.2 396.971 217.163 398.0 223.0 c 398.893 228.065 398.893 232.335 398.0 237.4 c 397.368 240.981 394.437 244.6 390.8 244.6 c 383.966 244.6 380.537 236.622 378.2 230.2 c 371.235 231.428 365.365 229.332 358.4 230.56 c 352.035 236.925 345.563 240.827 340.4 248.2 c 336.926 248.2 334.028 245.344 332.84 242.08 c 0.505 0.303 0.0 sc S n 403.4 295.0 m 410.901 301.294 419.399 302.451 428.6 305.8 c 434.16 297.86 423.367 288.995 418.52 280.6 c q f Q S 0.18 w n 414.2 291.4 m 418.776 295.976 422.276 300.045 427.88 303.28 c 430.319 296.578 423.104 291.103 418.52 285.64 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S n 362.36 287.08 m 365.147 271.271 374.378 258.386 388.28 250.36 c 393.703 247.229 398.673 243.513 404.84 244.6 c 409.124 245.355 413.027 245.764 416.36 248.56 c 421.818 248.56 425.852 254.345 426.8 259.72 c 426.598 262.029 424.529 263.221 423.2 265.12 c 425.891 272.515 425.335 280.265 421.4 287.08 c 415.741 296.881 402.515 302.471 391.88 298.6 c 382.348 295.131 376.932 287.669 367.4 284.2 c 365.702 285.389 364.058 285.891 362.36 287.08 c 1.0 0.884 0.711 sc f q n 362.36 287.08 m 365.147 271.271 374.378 258.386 388.28 250.36 c 393.703 247.229 398.673 243.513 404.84 244.6 c 409.124 245.355 413.027 245.764 416.36 248.56 c 421.818 248.56 425.852 254.345 426.8 259.72 c 426.598 262.029 424.529 263.221 423.2 265.12 c 425.891 272.515 425.335 280.265 421.4 287.08 c 415.741 296.881 402.515 302.471 391.88 298.6 c 382.348 295.131 376.932 287.669 367.4 284.2 c 365.702 285.389 364.058 285.891 362.36 287.08 c W n n 404.48 299.68 m 407.059 295.214 408.139 289.746 405.56 285.28 c 409.406 288.507 411.31 294.612 408.8 298.96 c 0.506 0.304 0.0 sc f n 409.52 297.88 m 412.738 290.978 413.176 284.586 413.84 277.0 c 416.724 283.186 416.105 289.358 414.92 296.08 c f n 414.56 296.44 m 417.448 290.247 418.52 284.554 418.52 277.72 c 419.72 282.198 420.045 286.115 419.24 290.68 c f n 367.76 285.28 m 369.237 279.768 369.845 274.555 373.88 270.52 c 371.937 275.858 372.44 280.68 372.44 286.36 c f n 372.8 287.8 m 374.702 283.722 378.11 281.617 380.36 277.72 c 382.12 282.554 380.72 286.976 380.72 292.12 c f n 381.8 254.68 m 377.904 257.949 375.877 262.991 376.76 268.0 c 377.794 273.866 386.237 280.828 390.8 277.0 c 395.43 273.115 394.618 266.754 397.64 261.52 c 399.05 259.078 400.75 257.084 403.4 256.12 c 406.918 254.839 412.83 262.687 413.48 259.0 c 413.927 256.468 419.394 256.773 420.68 259.0 c 421.229 259.951 422.854 260.922 423.56 260.08 c 426.046 257.117 424.03 251.574 420.68 249.64 c 413.194 245.318 408.444 237.4 399.8 237.4 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S Q 0.72 w n 362.36 287.08 m 365.147 271.271 374.378 258.386 388.28 250.36 c 393.703 247.229 398.673 243.513 404.84 244.6 c 409.124 245.355 413.027 245.764 416.36 248.56 c 421.818 248.56 425.852 254.345 426.8 259.72 c 426.598 262.029 424.529 263.221 423.2 265.12 c 425.891 272.515 425.335 280.265 421.4 287.08 c 415.741 296.881 402.515 302.471 391.88 298.6 c 382.348 295.131 376.932 287.669 367.4 284.2 c 365.702 285.389 364.058 285.891 362.36 287.08 c 382.88 265.48 m 386.046 266.956 389.739 266.403 392.6 264.4 c 387.56 266.2 m 389.89 257.506 396.199 248.2 405.2 248.2 c 408.712 248.2 411.323 250.146 414.2 252.16 c 412.797 251.506 415.532 248.92 417.08 248.92 c 0.505 0.303 0.0 sc S n 386.48 284.56 m 376.67 290.224 390.71 307.336 400.52 313.0 c 404.592 305.946 404.49 298.794 405.2 290.68 c q f Q S 0.18 w n 389.72 284.92 m 390.553 294.44 394.378 302.08 400.52 309.4 c 402.747 303.282 403.4 297.91 403.4 291.4 c 399.577 287.577 395.126 284.92 389.72 284.92 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S n 414.2 258.28 m 414.925 259.535 419.6 258.649 419.6 257.2 c 419.6 255.524 416.596 252.88 414.92 252.88 c 413.486 252.88 413.483 257.038 414.2 258.28 c f 0.72 w n 398.0 277.72 m 402.657 273.063 406.038 267.905 412.4 266.2 c 410.835 263.489 407.062 262.249 404.12 263.32 c 400.069 264.794 399.771 270.595 400.52 274.84 c 1.0 1.0 1.0 sc q f Q 0.505 0.303 0.0 sc S n 417.8 266.2 m 419.573 269.272 422.867 270.328 424.64 273.4 c 424.399 270.641 424.158 267.585 421.76 266.2 c 420.535 265.493 419.025 265.493 417.8 266.2 c 1.0 1.0 1.0 sc f q n 417.8 266.2 m 419.573 269.272 422.867 270.328 424.64 273.4 c 424.399 270.641 424.158 267.585 421.76 266.2 c 420.535 265.493 419.025 265.493 417.8 266.2 c W n n 420.68 267.64 m 421.278 269.283 423.125 269.646 424.64 270.52 c 424.428 269.319 423.56 268.5 423.56 267.28 c 422.539 267.1 421.578 267.122 420.68 267.64 c 0.505 0.303 0.0 sc f Q n 417.8 266.2 m 419.573 269.272 422.867 270.328 424.64 273.4 c 424.399 270.641 424.158 267.585 421.76 266.2 c 420.535 265.493 419.025 265.493 417.8 266.2 c 0.505 0.303 0.0 sc S n 401.24 283.48 m 403.52 284.31 405.787 281.981 407.0 279.88 c 408.501 277.281 409.939 272.733 412.76 273.76 c 410.812 273.051 408.795 273.443 407.0 274.48 c 403.695 276.388 404.699 281.867 401.24 283.48 c 0.459 0.275 0.0 sc f n 418.52 272.68 m 420.339 275.831 422.978 277.805 423.92 281.32 c 424.362 280.106 424.28 279.012 424.28 277.72 c 422.913 275.353 421.089 273.615 418.52 272.68 c f n 405.92 264.4 m 405.622 266.089 406.413 267.468 407.0 269.08 c 408.514 268.206 409.317 266.798 410.96 266.2 c 409.445 265.494 408.211 264.972 406.64 264.4 c 0.382 0.229 0.0 sc f 0.36 w n 381.8 245.32 m 390.12 250.124 398.112 252.52 407.72 252.52 c 380.0 249.64 m 389.893 253.241 398.672 254.878 409.16 253.96 c 420.68 253.96 m 429.543 252.397 436.88 253.96 445.88 253.96 c 422.12 256.12 m 430.023 258.238 436.742 257.939 444.8 259.36 c 423.2 257.92 m 430.181 261.175 436.842 260.686 444.08 263.32 c S 0.72 w n 391.16 244.96 m 392.96 247.48 l S Q snapxxx restore } store /figure4 { % for gg74 save /snapxxx exch def %%%%%%%%%%%%%%%%%%% 7 -8 translate % position on box %%%%%%%%%%%%%%%%%%%%%%% % new data for 800 to 5000 has been modified to include two additional points /data1k5k [ 800 118 50 900 100 39 1000 93.50 73 1100 82 77 1200 75 21 1300 70 26 1400 63 37 1500 59 53 1600 53 52 1700 50 16 1800 50 36 1900 47 61 2000 45 25 2100 41 98 2200 40 20 2300 39 40 2400 36 89 2500 35 15 2600 33.39 52 2700 31.49 67 2800 30 42 2900 30 36 3000 29 63 3100 27.63 84 3200 26 95 3300 25 49 3400 25 13 3500 25 30 3600 24.95 38 3700 24 38 3800 23 30 3900 22 54 4000 21 67 4100 20.50 99 4200 20 33 4300 19.99 15 4400 19.99 23 4500 19.99 25 4600 19.95 41 4700 18.99 7 4800 18.45 57 4900 17.99 27 5000 17.12 90 ] store % generate new data files /functbb {/curbucks exch store /yy 1 curbucks 120 div sub 0.85 div store yy 11 exp 0.55 mul yy 2 exp 0.35 mul add yy 1 exp 0.07 mul add 4200 mul 800 add } store % this curve peaks a little high... use it anyway for now /functst { /curbucks exch store /yy curbucks 120 div store 1 yy sub 3 exp -2.9 mul 1 yy sub 2 exp 2.9 mul add yy 0.4 mul add } store /binsperbuck [ 18 1 100 {/bucks exch store mark bucks bucks functbb bucks 1 sub functbb bucks 1 add functbb sub 2 div /bins exch store bins bucks functst /sellthru exch store sellthru bucks bins mul sellthru mul 100 mul /rawdol exch store rawdol % 30:1 bucks 0.97 mul 10 sub bins mul sellthru mul 100 mul /dol30 exch store dol30 % 10:1 bucks 0.9 mul 10 sub bins mul sellthru mul 100 mul /dol10 exch store dol10 % 3:1 bucks 0.67 mul 10 sub bins mul sellthru mul 100 mul /dol3 exch store dol3 ] } for ] store binsperbuck == % 150 150 10 setgrid gsave 0 0 mt 20 pu 20 pr 20 pd closepath 0.7 1 1 setrgbcolor fill grestore 20 20 showgrid 0 1 1 setrgbcolor line2 0 -0.60 mt 20.6 u 20 r 20.6 d 4 20 mt 20.6 d 8 20 mt 20.6 d 12 20 mt 20.6 d 16 20 mt 20.6 d 20 0 mt 20.6 l 20 5 mt 20.6 l 20 10 mt 20.6 l 20 15 mt 20.6 l % plot the bins versus dollars % binsperbuck format is [ dollars bin# bins sellthru rawcash dol30 dol3 ] 0.3 0.3 0.3 setrgbcolor % black net gain 0 1 binsperbuck length 1 sub {binsperbuck exch get /curarray exch store curarray 0 get 5 div % the price curarray 4 get 10000 div mt dot } for 1 0 0 setrgbcolor % plot 30:1 % black net gain 0 1 binsperbuck length 1 sub {binsperbuck exch get /curarray exch store curarray 0 get 5 div % the price curarray 5 get 10000 div mt dot } for 1 0 1 setrgbcolor % plot 10:1 % black net gain 0 1 binsperbuck length 1 sub {binsperbuck exch get /curarray exch store curarray 0 get 5 div % the price curarray 6 get 10000 div mt dot } for 0 0 1 setrgbcolor % plot 3:1 0 1 binsperbuck length 1 sub {binsperbuck exch get /curarray exch store curarray 0 get 5 div % the price curarray 7 get 10000 div mt dot } for /cstretch 0.02 store /sstretch 0.05 store /font1 /Helvetica-bold 0.85 gonzofont font1 black 0 -1.8 ($0) cc 4 -1.8 ($20) cc 8 -1.8 ($40) cc 12 -1.8 ($60) cc 16 -1.8 ($80) cc 20 -1.8 ($100) cc 10 -3.1 (price in integer dollars ) cc gsave 0 -0.3 translate -1.3 0 ($0) cr -1.3 5 ($50,000) cr -1.3 10 ($100,000) cr -1.3 15 ($150,000) cr -1.3 20 ($200,000) cr grestore % 15 18 (total bins = 18,400) cc gsave -6.7 12.5 translate 90 rotate 0 0 (total sales per integer dollar) cc grestore /yinc 1.0 store /kern 0.1 store gsave % make it smaller and less obnoxious 3.3 3.5 translate 0.8 dup scale 9.5 18 (black = zero process,\n infinite SBR) cl 9.5 15.5 (red = $10 process,\n 30:1 SBR) cl 9.5 13 (magenta = $10 process,\n 10:1 SBR) cl 9.5 10.5 (blue = $10 process,\n 3:1 SBR) cl grestore snapxxx restore } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Specific file info here /font; /Helvetica [0.7 0 0 0.7 0 0.4] gonzofont font1 /font- /Symbol 0.85 gonzofont aqua 0.33 setgray font0 /narrowx {/txtwide txtwide 8.5 sub store} store /widenx {/txtwide txtwide 8.5 add store} store /burpon {mark /burple cvx 0.33 /setgray cvx ] cvx % additional internal gonzo printlist exch 3 index exch put exch 1 add exch} def /burpoff {mark /aqua cvx 0 /setgray cvx ] cvx printlist exch 3 index exch put exch 1 add exch} def /darkenheader {save /headsnap exch store xpos 1 sub ypos 0.2 add translate 0.3 1 1 setrgbcolor 0 0 mt 3.2 pd burpwide pr 3.2 pu closepath fill headsnap restore} store % sssssssssssssssssssss % start marker % Finding the Minimum Distance between a point and a cubic spline % ================================================================ % by Don Lancaster GG #80 CMINDIST.PSL /tabs [14] store 20 48.3 0.7 add % 1 sub (Finding |jthe |jMinimum |jDistance)cc 20 46.3 0.7 add % 1 sub (Between |ja |jPoint |jand |ja |jCubic |jSpline) cc black font2 textleft 43 0.3 add % this one only need |h below (|h|/aqua |/staytint1 |3Don Lancaster Synergetics, Box 809, Thatcher, AZ 85552 copyright c2007 as |/surl |6GuruGram|1|/gurgrm01 |/tinton1 |6#80 |/surl http://www.tinaja.com|/tinaja |/surl don@tinaja.com|/maildon (928) 428-4073 |/aqua |/black |a|0A|b|1s we have seen |/su here|1|/cubic01 , |/su here|1|/nubzlen1.pdf , |/su here|1|/nubz4pts1.pdf , |/su here|1|/gonzotut.pdf and |/su here|1|/cubemath.pdf , |/to cubic splines|/tx and their |/to Bezier |/to Curve|/tx variants are a very efficient, very sparse, and very powerful way to draw smooth continuous curves essential for typography, animation, and graphics. |h An essential recurring question is how you quickly |/to find the minimum distance |/to between a point in a plane and a given cubic spline|/tx . This becomes important when |/su least squares fitting fuzzy data|1|/oldfuzzybez or when modifying a spline to guarantee it eventually passes through a given point. |h There is no known single pass deterministic solution to this problem, so repeated approximations have to be used. What follows is based on |/su this paper|1|/piecewise . A typical minimum distance problem might look something like this.\274 |/autofig1 ) cl startnewpage (|1We see a single cubic spline going from |/to x=0, y=0|/tx to |/to x=20, y=20|/tx as its |/to t|/tx value ranges from |/to t=0|/tx to |/to t=1|/tx . The control points appear as black dots. |h We also see a red point at |/to 3, 5|/tx whose nearest distance we seek. To keep things simple, we will assume that the point is |/to very near|/tx the curve. And that it has only |/to one|/tx minimum distance which lies somewhere between |/to t=0|/tx and |/to t=1|/tx . And that we are not yet excessively concerned about speed or algorithm efficiency. |h We might simply guess |/to t=0.3|/tx as a good minimum, as per the lowest blue dot. You would then find |/to x(t)|/tx and |/to y(t)|/tx . And then subtract them to find both the current |/to x|/tx distance and the |/to y|/tx distance to the point being measured. The vector distance will be the square root of the sum of the squares of the |/to x|/tx and the |/to y|/tx errors. |h Doing so would give us a distance of |/to 2.214|/tx . Which is not half bad, but obviously not the minimum. We could then continue increasing |/to t|/tx till we pass the minimum, reverse our path with smaller |/to t|/tx increments, and keep going till we get near our correct distance value of |/to 1.28305|/tx . At |/to t=0.384982|/tx . |h Instead, we can work much smarter and greatly reduce the number of trips we will need. Minimizing the distance squared does the same thing as minimizing the distance and eliminates any nasty square root radicals. We can find the expression for the current distance as a function of |/to t|/tx and then find its derivative slope. Setting this slope to zero would give us our needed minimum. |h Unfortunately, the slope expression is a directly unsolvable fifth order polynomial. Fortunately, we have a sneaky trick called |/to Newton's Method|/tx to deal with it. |h Newton's Method works well whenever you are already |/to very near|/tx to the solution of a |/to well behaved|/tx function\274 |6|/shiftin |/aqua |/burplebox3.5 |/staytint1 |h NEWTON'S METHOD OF SOLVING UGLY EQUATIONS \320 |h Better guess = good guess - (function)/(function slope) |h |1|/shiftout |/aqua |/black |h Which leads to this easy-to-use minimum distance guess improver\274 |6|/shiftin |/aqua |/burplebox6.5 |/staytint1 |h TO IMPROVE A MINIMUM DISTANCE SPLINE GUESS \320 |h Better t guess = present t guess - |h [ (deltax)*x'(t) + (deltay)*y'(t)] / |h [ (x'(t))^2 + (y'(t))^2 + (deltax)*x'|k'(t) + (deltay)*y'|k'(t) ] |h |1|/shiftout |/aqua |/black |h Where |/to deltax|/tx and |/to deltay|/tx are the present error distances. |/to x(t)|/tx is |/to At^3 + Bt^2 + Ct |/to + D|/tx , |/to x'(t) is |/to 3At2 + 2Bt + C|/tx , and |/to x'|k'(t) is |/to 6At + 2B|/tx . |h ) cl startnewpage /tabs [16] store (|1Similarly, |/to y(t)|/tx is |/to Et^3 + Ft^2 +Gt + H|/tx , |/to y'(t) is |/to 3Et2 + 2Ft + G|/tx , and |/to y'|k'(t)|/tx is |/to 6Et + 2F|/tx . |h Huh? Let's try to repeat this in English\274 |6|/shiftin |/aqua |/burplebox12.5 |/staytint1 |h TO IMPROVE A MINIMUM DISTANCE SPLINE GUESS \320 |h To make a better guess of the t value needed for a minimum distance to a point, REDUCE t by a fraction\274 |h whose numerator is the present x error times the present x'(t) slope PLUS the present y error times the present y('t) slope. |h and whose denominator consists of four summed terms of x'(t) slope squared PLUS y'(t) slope squared PLUS the x error times the present x'|k'(t)slope-of-slope PLUS the y error times the present y'|k'(t) slope-of-slope. |h |1|/shiftout |/aqua |/black |h BTW, equation |/to (5)|/tx in the |/su original paper|1|/piecewise is not nearly as scary and obtuse as it looks. This is simply the function divided by its slope. As to the mystery terms in the denominator, note that the derivative of |/to x*y|/tx is |/to x(dy) + y(dx)|/tx . And that |/to x'(t)|/tx times the derivative of a function which coincidentally also is |/to x'(t)|/tx produces an |/to x'(t)^2|/tx term. And the same goes for |/to y|/tx . |h When you make this improved guess, you will find convergence to be very fast if you are already very close. in this case, an initial guess and repeated improved guesses give us results of\274 |h|6|/staytint1 t = 0.30000 |t s = 2.21409 t = 0.41878 |t s = 1.51473 t = 0.38769 |t s = 1.28461 t = 0.38498 |t s = 1.28305 t = 0.38496 |t s = 1.28305 |h|/black |1 Thus, a single pass is "good enough" if you are already really close, but five or more passes might be needed on a poorer first guess. And a really bad guess might not even converge at all. |h I've added a red checking circle of radius |/to 1.28305|/tx to our test point. On extreme magnification, it seems to verify these equations by exactly hitting our spline curve precisely and tangentially at the expected |/to t|/tx value. |h |c Some |jCode |d What we have seen so far can be calculated manually or in most any computer language. Naturally, I overwhelmingly prefer use of the exceptionally versatile |/su PostScript|1|/post01 general purpose computing language and my |/su Gonzo Utilities|1|/gonzotut.pdf . |h ) cl startnewpage (|1Detailed code examples appear in figure1 (|jfor gg80|j) of the |/su sourcecode|1|/cmindist.psl to this |/su GuruGram|1|/gurgrm01 . We will only excerpt some key code concepts here. |h Here is the derivation of how you |/su relate spline power coefficients to control|/cubemath.pdf |/su points|1|/cubemath.pdf . The code to do so might go like this\274 |6|/shiftin |/burple |/burplebox10 |/staytint1 |h /findAH { /A x3 x2 3 mul sub x1 3 mul add x0 sub store /E y3 y2 3 mul sub y1 3 mul add y0 sub store /B x2 3 mul x1 6 mul sub x0 3 mul add store /F y2 3 mul y1 6 mul sub y0 3 mul add store /C x1 3 mul x0 3 mul sub store /G y1 3 mul y0 3 mul sub store /D x0 store /H y0 store } store |h |1|/shiftout |/aqua |/black |h And here is the "cubeless" method of finding x(t) and y(t) and their derivatives\274 |6|/shiftin |/burple |/burplebox16 |/staytint1 |h /findx {/ttt exch store A ttt mul B add ttt mul C add ttt mul D add /curx exch store} store |h /findy {/ttt exch store E ttt mul F add ttt mul G add ttt mul H add /cury exch store} store |h /finds {/curs curx xx sub dup mul cury yy sub dup mul add sqrt store} store |h /xslope {tt dup mul 3 mul A mul tt 2 mul B mul add C add} store |h /xslopeslope {tt 6 mul A mul B 2 mul add} store |h /yslope {tt dup mul 3 mul E mul tt 2 mul F mul add G add} store |h /yslopeslope {tt 6 mul E mul F 2 mul add store} |h |1|/shiftout |/aqua |/black |h Note that you do not have to recalculate intermediate distances if you know ahead of time that you are going to make five successive |/to t|/tx improvements. You need only make the |/to finds|/tx calculation |/to after|/tx your best guess. |h The code is reasonably fast and can be further improved. Some |/su alternative|/kearney |/su enhancements|1|/kearney are available if you need extreme speed for real time animation. |h Finally, here is the |/to t guess improver|/tx code\274 ) cl startnewpage (|6|/shiftin |/burple |/burplebox16.5 |/staytint1 |h /makebetterguess { xslope xslopeslope yslope yslopeslope /deltax curx xx sub store /deltay cury yy sub store |h deltax xslope mul deltay yslope mul add |h xslope dup mul yslope dup mul add deltax xslopeslope mul add deltay yslopeslope mul add div |h /tadj exch store /tt tt tadj sub store } store |h |1|/shiftout |/aqua |/black |h |c For |jMore |jHelp |d Similar tutorials and additional support materials are found on our |/su Cubic Spline|1|/cubic01 , |/su PostScript|1|/post01 and our |/su GurGram|1|/gurgrm01 library pages. As always, |/su Custom Consulting|1|/info01 is available on a cash and carry or contract basis. As are seminars. |h For details, you can email |/su don@tinaja.com|1|/maildon . Or call |/to (928) 428-4073|/tx . ) cl startnewpage % EOF % remaining: ebay assortments; mining company data; best selling price; paint hints % image step by step