Date: Thu, 01 Apr 1999 From: Harald Finster finster@ave.ac.agit.de To: Robert Monaghan Subject: Re: Should I buy a fisheye lens??? Hi Robert, you will find the postscript-description attached to this message. Yes, you may publish it on your web-site. (I will have a look, maybe, I will find something useful for me too?) Please note, that my solution has a few drawbacks: - the rear filter will touch the mirror (at least, if you use the 2000 FC/M as I do) Solution 1: remove the filter (which has very little impact on image quality) Solution 2: focus correctly and remember distance focus to 0.3 m pre-release mirror focus to correct distance release shutter focus to 0.3 m put mirror back - my solution does not close the diaphragma automatically - my solution needs a focal-plane shutter (because the Kiev-lens has no shutter) Feel free to ask, if anything is not clear! Greetings Harald -- Windows is not the answer. Windows is the question. The answer is LINUX! Harald Finster --------------1FC720ACE48131EB7C8DF363 Content-Type: application/postscript; name="hassi-adapter.ps" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="hassi-adapter.ps" %!PS-Adobe-2.0 %%Title: hassi-adapter.fig %%Creator: fig2dev Version 3.1 Patchlevel 2 %%CreationDate: Wed Apr 23 13:49:23 1997 %%For: finster@alfred.ave.ac.agit.de (Harald Finster,4.17,Telephone 1533,84075) %Magnification: 0.70 %%Orientation: Landscape %%BoundingBox: 23 156 590 636 %%Pages: 1 %%BeginSetup %%IncludeFeature: *PageSize Letter %%EndSetup %%EndComments /MyAppDict 100 dict dup begin def /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -4.5 81.0 translate 90 rotate 1 -1 scale .9 .9 scale % to make patterns same scale as in xfig % This junk string is used by the show operators /PATsstr 1 string def /PATawidthshow { % cx cy cchar rx ry string % Loop over each character in the string { % cx cy cchar rx ry char % Show the character dup % cx cy cchar rx ry char char PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) false charpath % cx cy cchar rx ry char /clip load PATdraw % Move past the character (charpath modified the % current point) currentpoint % cx cy cchar rx ry char x y newpath moveto % cx cy cchar rx ry char % Reposition by cx,cy if the character in the string is cchar 3 index eq { % cx cy cchar rx ry 4 index 4 index rmoveto } if % Reposition all characters by rx ry 2 copy rmoveto % cx cy cchar rx ry } forall pop pop pop pop pop % - currentpoint newpath moveto } bind def /PATcg { 7 dict dup begin /lw currentlinewidth def /lc currentlinecap def /lj currentlinejoin def /ml currentmiterlimit def /ds [ currentdash ] def /cc [ currentrgbcolor ] def /cm matrix currentmatrix def end } bind def % PATdraw - calculates the boundaries of the object and % fills it with the current pattern /PATdraw { % proc save exch PATpcalc % proc nw nh px py 5 -1 roll exec % nw nh px py newpath PATfill % - restore } bind def % PATfill - performs the tiling for the shape /PATfill { % nw nh px py PATfill - PATDict /CurrentPattern get dup begin setfont % Set the coordinate system to Pattern Space PatternGState PATsg % Set the color for uncolored pattezns PaintType 2 eq { PATDict /PColor get PATsc } if % Create the string for showing 3 index string % nw nh px py str % Loop for each of the pattern sources 0 1 Multi 1 sub { % nw nh px py str source % Move to the starting location 3 index 3 index % nw nh px py str source px py moveto % nw nh px py str source % For multiple sources, set the appropriate color Multi 1 ne { dup PC exch get PATsc } if % Set the appropriate string for the source 0 1 7 index 1 sub { 2 index exch 2 index put } for pop % Loop over the number of vertical cells 3 index % nw nh px py str nh { % nw nh px py str currentpoint % nw nh px py str cx cy 2 index show % nw nh px py str cx cy YStep add moveto % nw nh px py str } repeat % nw nh px py str } for 5 { pop } repeat end } bind def % PATkshow - kshow with the current pattezn /PATkshow { % proc string exch bind % string proc 1 index 0 get % string proc char % Loop over all but the last character in the string 0 1 4 index length 2 sub { % string proc char idx % Find the n+1th character in the string 3 index exch 1 add get % string proe char char+1 exch 2 copy % strinq proc char+1 char char+1 char % Now show the nth character PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) false charpath % string proc char+1 char char+1 /clip load PATdraw % Move past the character (charpath modified the current point) currentpoint newpath moveto % Execute the user proc (should consume char and char+1) mark 3 1 roll % string proc char+1 mark char char+1 4 index exec % string proc char+1 mark... cleartomark % string proc char+1 } for % Now display the last character PATsstr dup 0 4 -1 roll put % string proc (char+1) false charpath % string proc /clip load PATdraw neewath pop pop % - } bind def % PATmp - the makepattern equivalent /PATmp { % patdict patmtx PATmp patinstance exch dup length 7 add % We will add 6 new entries plus 1 FID dict copy % Create a new dictionary begin % Matrix to install when painting the pattern TilingType PATtcalc /PatternGState PATcg def PatternGState /cm 3 -1 roll put % Check for multi pattern sources (Level 1 fast color patterns) currentdict /Multi known not { /Multi 1 def } if % Font dictionary definitions /FontType 3 def % Create a dummy encoding vector /Encoding 256 array def 3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop /FontMatrix matrix def /FontBBox BBox def /BuildChar { mark 3 1 roll % mark dict char exch begin Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] PaintType 2 eq Multi 1 ne or { XStep 0 FontBBox aload pop setcachedevice } { XStep 0 setcharwidth } ifelse currentdict % mark [paintdata] dict /PaintProc load % mark [paintdata] dict paintproc end gsave false PATredef exec true PATredef grestore cleartomark % - } bind def currentdict end % newdict /foo exch % /foo newlict definefont % newfont } bind def % PATpcalc - calculates the starting point and width/height % of the tile fill for the shape /PATpcalc { % - PATpcalc nw nh px py PATDict /CurrentPattern get begin gsave % Set up the coordinate system to Pattern Space % and lock down pattern PatternGState /cm get setmatrix BBox aload pop pop pop translate % Determine the bounding box of the shape pathbbox % llx lly urx ury grestore % Determine (nw, nh) the # of cells to paint width and height PatHeight div ceiling % llx lly urx qh 4 1 roll % qh llx lly urx PatWidth div ceiling % qh llx lly qw 4 1 roll % qw qh llx lly PatHeight div floor % qw qh llx ph 4 1 roll % ph qw qh llx PatWidth div floor % ph qw qh pw 4 1 roll % pw ph qw qh 2 index sub cvi abs % pw ph qs qh-ph exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph % Determine the starting point of the pattern fill %(px, py) 4 2 roll % nw nh pw ph PatHeight mul % nw nh pw py exch % nw nh py pw PatWidth mul exch % nw nh px py end } bind def % Save the original routines so that we can use them later on /oldfill /fill load def /oldeofill /eofill load def /oldstroke /stroke load def /oldshow /show load def /oldashow /ashow load def /oldwidthshow /widthshow load def /oldawidthshow /awidthshow load def /oldkshow /kshow load def % These defs are necessary so that subsequent procs don't bind in % the originals /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def /PATredef { MyAppDict begin { /fill { /clip load PATdraw newpath } bind def /eofill { /eoclip load PATdraw newpath } bind def /stroke { PATstroke } bind def /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def /ashow { 0 0 null 6 3 roll PATawidthshow } bind def /widthshow { 0 0 3 -1 roll PATawidthshow } bind def /awidthshow { PATawidthshow } bind def /kshow { PATkshow } bind def } { /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def } ifelse end } bind def false PATredef % Conditionally define setcmykcolor if not available /setcmykcolor where { pop } { /setcmykcolor { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor - pop } bind def } ifelse /PATsc { % colorarray aload length % c1 ... cn length dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse } bind def /PATsg { % dict begin lw setlinewidth lc setlinecap lj setlinejoin ml setmiterlimit ds aload pop setdash cc aload pop setrgbcolor cm setmatrix end } bind def /PATDict 3 dict def /PATsp { true PATredef PATDict begin /CurrentPattern exch def % If it's an uncolored pattern, save the color CurrentPattern /PaintType get 2 eq { /PColor exch def } if /CColor [ currentrgbcolor ] def end } bind def % PATstroke - stroke with the current pattern /PATstroke { countdictstack save mark { currentpoint strokepath moveto PATpcalc % proc nw nh px py clip newpath PATfill } stopped { (*** PATstroke Warning: Path is too complex, stroking with gray) = cleartomark restore countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse gsave 0.5 setgray oldstroke grestore } { pop restore pop } ifelse newpath } bind def /PATtcalc { % modmtx tilingtype PATtcalc tilematrix % Note: tiling types 2 and 3 are not supported gsave exch concat % tilingtype matrix currentmatrix exch % cmtx tilingtype % Tiling type 1 and 3: constant spacing 2 ne { % Distort the pattern so that it occupies % an integral number of device pixels dup 4 get exch dup 5 get exch % tx ty cmtx XStep 0 dtransform round exch round exch % tx ty cmtx dx.x dx.y XStep div exch XStep div exch % tx ty cmtx a b 0 YStep dtransform round exch round exch % tx ty cmtx a b dy.x dy.y YStep div exch YStep div exch % tx ty cmtx a b c d 7 -3 roll astore % { a b c d tx ty } } if grestore } bind def /PATusp { false PATredef PATDict begin CColor PATsc end } bind def % right30 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 32 16 true [ 32 0 0 -16 0 16 ] {<00030003000c000c0030003000c000c0030003000c000c00 30003000c000c00000030003000c000c0030003000c000c0 030003000c000c0030003000c000c000>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P2 exch def 1.1111 1.1111 scale %restore scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /reencdict 12 dict def /ReEncode { reencdict begin /newcodesandnames exch def /newfontname exch def /basefontname exch def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName newfontname put newcodesandnames aload pop 128 1 255 { newfont /Encoding get exch /.notdef put } for newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /isovec [ 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron 8#220 /dotlessi 8#230 /oe 8#231 /OE 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot 8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def /Times-Roman /Times-Roman-iso isovec ReEncode /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 10 setmiterlimit n 0 612 m 0 0 l 792 0 l 792 612 l cp clip 0.04200 0.04200 sc %%Page: 1 1 45.000 slw % Ellipse n 7500 9600 4275 4275 0 360 DrawEllipse gs col-1 s gr 7.500 slw % Polyline gs clippath 3147 4455 m 3027 4425 l 3147 4395 l 2985 4395 l 2985 4455 l cp clip n 7800 4425 m 3000 4425 l gs col-1 s gr gr % arrowhead n 3147 4455 m 3027 4425 l 3147 4395 l 3147 4425 l 3147 4455 l cp gs 0.00 setgray ef gr col-1 s % Polyline n 5025 1425 m 5025 3675 l gs col-1 s gr % Polyline n 3150 1425 m 3150 4275 l gs col-1 s gr % Polyline n 3375 1425 m 3375 3975 l gs col-1 s gr % Polyline gs clippath 3297 4155 m 3177 4125 l 3297 4095 l 3135 4095 l 3135 4155 l cp clip n 7800 4125 m 3150 4125 l gs col-1 s gr gr % arrowhead n 3297 4155 m 3177 4125 l 3297 4095 l 3297 4125 l 3297 4155 l cp gs 0.00 setgray ef gr col-1 s % Polyline gs clippath 3522 3855 m 3402 3825 l 3522 3795 l 3360 3795 l 3360 3855 l cp clip n 7800 3825 m 3375 3825 l gs col-1 s gr gr % arrowhead n 3522 3855 m 3402 3825 l 3522 3795 l 3522 3825 l 3522 3855 l cp gs 0.00 setgray ef gr col-1 s % Polyline gs clippath 5172 3555 m 5052 3525 l 5172 3495 l 5010 3495 l 5010 3555 l cp clip n 7800 3525 m 5025 3525 l gs col-1 s gr gr % arrowhead n 5172 3555 m 5052 3525 l 5172 3495 l 5172 3525 l 5172 3555 l cp gs 0.00 setgray ef gr col-1 s % Polyline n 1800 3225 m 5025 3225 l gs col-1 s gr % Polyline n 1800 1875 m 5025 1875 l gs col-1 s gr % Polyline n 2100 2100 m 5025 2100 l gs col-1 s gr % Polyline n 2400 2325 m 5025 2325 l gs col-1 s gr 45.000 slw % Polyline n 5025 1875 m 3150 1875 l 3150 2100 l 3375 2100 l 3375 2325 l 3000 2325 l 3000 3225 l 5025 3225 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P2 [16 0 0 -8 200.00 125.00] PATmp PATsp ef gr PATusp gs col-1 s gr 7.500 slw % Polyline gs clippath 2280 3078 m 2250 3198 l 2220 3078 l 2220 3240 l 2280 3240 l cp clip 2220 2247 m 2250 2127 l 2280 2247 l 2280 2085 l 2220 2085 l cp clip n 2250 2100 m 2250 3225 l gs col-1 s gr gr % arrowhead n 2220 2247 m 2250 2127 l 2280 2247 l 2250 2247 l 2220 2247 l cp gs 0.00 setgray ef gr col-1 s % arrowhead n 2280 3078 m 2250 3198 l 2220 3078 l 2250 3078 l 2280 3078 l cp gs 0.00 setgray ef gr col-1 s % Polyline gs clippath 2730 3078 m 2700 3198 l 2670 3078 l 2670 3240 l 2730 3240 l cp clip 2670 2472 m 2700 2352 l 2730 2472 l 2730 2310 l 2670 2310 l cp clip n 2700 2325 m 2700 3225 l gs col-1 s gr gr % arrowhead n 2670 2472 m 2700 2352 l 2730 2472 l 2700 2472 l 2670 2472 l cp gs 0.00 setgray ef gr col-1 s % arrowhead n 2730 3078 m 2700 3198 l 2670 3078 l 2700 3078 l 2730 3078 l cp gs 0.00 setgray ef gr col-1 s % Polyline gs clippath 1905 3078 m 1875 3198 l 1845 3078 l 1845 3240 l 1905 3240 l cp clip 1845 2022 m 1875 1902 l 1905 2022 l 1905 1860 l 1845 1860 l cp clip n 1875 1875 m 1875 3225 l gs col-1 s gr gr % arrowhead n 1845 2022 m 1875 1902 l 1905 2022 l 1875 2022 l 1845 2022 l cp gs 0.00 setgray ef gr col-1 s % arrowhead n 1905 3078 m 1875 3198 l 1845 3078 l 1875 3078 l 1905 3078 l cp gs 0.00 setgray ef gr col-1 s 45.000 slw % Polyline n 9975 1875 m 11850 1875 l 11850 2100 l 11625 2100 l 11625 2325 l 12000 2325 l 12000 3225 l 9975 3225 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P2 [16 0 0 -8 665.00 125.00] PATmp PATsp ef gr PATusp gs col-1 s gr 7.500 slw % Polyline n 5025 1875 m 9975 1875 l gs col-1 s gr % Polyline n 5025 3225 m 9975 3225 l gs col-1 s gr /Times-Roman-iso ff 180.00 scf sf 8025 4500 m gs 1 -1 sc (\370 75) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 8025 4200 m gs 1 -1 sc (\370 72) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 8025 3900 m gs 1 -1 sc (\370 68,2) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 8025 3600 m gs 1 -1 sc (\370 42) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 2700 3525 m gs 1 -1 sc (8) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 2175 3525 m gs 1 -1 sc (9,3) col-1 sh gr % Polyline [66.7] 0 sd n 7500 1200 m 7500 4800 l gs col-1 s gr [] 0 sd /Times-Roman-iso ff 180.00 scf sf 1800 3525 m gs 1 -1 sc (11) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 3870 9255 m gs 1 -1 sc (positions of screw-holes taken from original bajonet) col-1 sh gr 45.000 slw % Polyline n 5625 5775 m 5887 5887 l gs col-1 s gr % Polyline n 9625 5915 m 9375 6000 l gs col-1 s gr % Arc gs n 7507.0 9652.1 4102.1 -113.1 -62.9 arc gs col-1 s gr gr /Times-Roman-iso ff 180.00 scf sf 6780 6030 m gs 1 -1 sc ("noses" must be milled) col-1 sh gr % Arc gs n 7437.3 9615.9 3986.3 156.5 -152.5 arc gs col-1 s gr gr % Polyline n 3676 11470 m 3788 11212 l gs col-1 s gr % Polyline n 3816 7530 m 3901 7776 l gs col-1 s gr % Arc gs n 7578.7 9615.9 3986.3 23.5 -27.5 arcn gs col-1 s gr gr % Polyline n 11340 11470 m 11228 11212 l gs col-1 s gr % Polyline n 11200 7530 m 11115 7776 l gs col-1 s gr % Arc gs [15 125.0] 125.0 sd n 7515.3 9522.7 4197.7 -115.9 -60.6 arc gs col-1 s gr gr [] 0 sd % Ellipse n 7500 9600 2475 2475 0 360 DrawEllipse gs col-1 s gr 15.000 slw % Ellipse n 3817 9577 218 218 0 360 DrawEllipse gs col-1 s gr % Ellipse n 10057 6862 218 218 0 360 DrawEllipse gs col-1 s gr % Ellipse n 10072 12247 218 218 0 360 DrawEllipse gs col-1 s gr 7.500 slw % Polyline n 3000 1425 m 3000 4725 l gs col-1 s gr 45.000 slw % Ellipse n 7500 9600 4500 4500 0 360 DrawEllipse gs col-1 s gr [15 125.0] 125.0 sd 1 slc % Ellipse n 7500 9600 4050 4050 0 360 DrawEllipse gs col-1 s gr [] 0 sd 0 slc 7.500 slw % Polyline [66.7] 0 sd n 7500 5100 m 7500 10500 l gs col-1 s gr [] 0 sd % Polyline [66.7] 0 sd n 2100 9600 m 13200 9600 l gs col-1 s gr [] 0 sd /Times-Roman-iso ff 240.00 scf sf 1800 825 m gs 1 -1 sc (Hasselblad-Adapter for Kiev 30mm 3.5) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 9975 3900 m gs 1 -1 sc (cross-section) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 9955 5305 m gs 1 -1 sc (view from camera-side) col-1 sh gr /Times-Roman-iso ff 180.00 scf sf 6780 6255 m gs 1 -1 sc (according to camera-bajonet) col-1 sh gr showpage $F2psEnd rs end --------------1FC720ACE48131EB7C8DF363--