Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

cube_mag.ps 22 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
  1. %!PS-Adobe-3.0
  2. %%BoundingBox: 0 0 612 792
  3. %%HiResBoundingBox: 0 0 612.0000 792.0000
  4. %%Title: GMT v6.2.0_280a2c9-dirty_2020.12.14 [64-bit] [MP] Document from grdimage
  5. %%Creator: GMT6
  6. %%For: unknown
  7. %%DocumentNeededResources: font Helvetica
  8. %%CreationDate: Wed Dec 16 20:43:32 2020
  9. %%LanguageLevel: 2
  10. %%DocumentData: Clean7Bit
  11. %%Orientation: Portrait
  12. %%Pages: 1
  13. %%EndComments
  14. %%BeginProlog
  15. 250 dict begin
  16. /! {bind def} bind def
  17. /# {load def}!
  18. /A /setgray #
  19. /B /setdash #
  20. /C /setrgbcolor #
  21. /D /rlineto #
  22. /E {dup stringwidth pop}!
  23. /F /fill #
  24. /G /rmoveto #
  25. /H /sethsbcolor #
  26. /I /setpattern #
  27. /K /setcmykcolor #
  28. /L /lineto #
  29. /M /moveto #
  30. /N /newpath #
  31. /P /closepath #
  32. /R /rotate #
  33. /S /stroke #
  34. /T /translate #
  35. /U /grestore #
  36. /V /gsave #
  37. /W /setlinewidth #
  38. /Y {findfont exch scalefont setfont}!
  39. /Z /show #
  40. /FP {true charpath flattenpath}!
  41. /MU {matrix setmatrix}!
  42. /MS {/SMat matrix currentmatrix def}!
  43. /MR {SMat setmatrix}!
  44. /edef {exch def}!
  45. /FS {/fc edef /fs {V fc F U} def}!
  46. /FQ {/fs {} def}!
  47. /O0 {/os {N} def}!
  48. /O1 {/os {P S} def}!
  49. /FO {fs os}!
  50. /Sa {M MS dup 0 exch G 0.726542528 mul -72 R dup 0 D 4 {72 R dup 0 D -144 R dup 0 D} repeat pop MR FO}!
  51. /Sb {M dup 0 D exch 0 exch D neg 0 D FO}!
  52. /SB {MS T /BoxR edef /BoxW edef /BoxH edef BoxR 0 M
  53. BoxW 0 BoxW BoxH BoxR arct BoxW BoxH 0 BoxH BoxR arct 0 BoxH 0 0 BoxR arct 0 0 BoxW 0 BoxR arct MR FO}!
  54. /Sc {N 3 -1 roll 0 360 arc FO}!
  55. /Sd {M 4 {dup} repeat 0 G neg dup dup D exch D D FO}!
  56. /Se {N MS T R scale 0 0 1 0 360 arc MR FO}!
  57. /Sg {M MS 22.5 R dup 0 exch G -22.5 R 0.765366865 mul dup 0 D 6 {-45 R dup 0 D} repeat pop MR FO}!
  58. /Sh {M MS dup 0 G -120 R dup 0 D 4 {-60 R dup 0 D} repeat pop MR FO}!
  59. /Si {M MS dup neg 0 exch G 60 R 1.732050808 mul dup 0 D 120 R 0 D MR FO}!
  60. /Sj {M MS R dup -2 div 2 index -2 div G dup 0 D exch 0 exch D neg 0 D MR FO}!
  61. /Sn {M MS dup 0 exch G -36 R 1.175570505 mul dup 0 D 3 {-72 R dup 0 D} repeat pop MR FO}!
  62. /Sp {N 3 -1 roll 0 360 arc fs N}!
  63. /SP {M {D} repeat FO}!
  64. /Sr {M dup -2 div 2 index -2 div G dup 0 D exch 0 exch D neg 0 D FO}!
  65. /SR {MS T /BoxR edef /BoxW edef /BoxH edef BoxR BoxW -2 div BoxH -2 div T BoxR 0 M
  66. BoxW 0 BoxW BoxH BoxR arct BoxW BoxH 0 BoxH BoxR arct 0 BoxH 0 0 BoxR arct 0 0 BoxW 0 BoxR arct MR FO}!
  67. /Ss {M 1.414213562 mul dup dup dup -2 div dup G 0 D 0 exch D neg 0 D FO}!
  68. /St {M MS dup 0 exch G -60 R 1.732050808 mul dup 0 D -120 R 0 D MR FO}!
  69. /SV {0 exch M 0 D D D D D 0 D FO}!
  70. /Sv {0 0 M D D 0 D D D D D 0 D D FO}!
  71. /Sw {2 copy M 5 2 roll arc FO}!
  72. /Sx {M 1.414213562 mul 5 {dup} repeat -2 div dup G D neg 0 G neg D S}!
  73. /Sy {M dup 0 exch G dup -2 mul dup 0 exch D S}!
  74. /S+ {M dup 0 G dup -2 mul dup 0 D exch dup G 0 exch D S}!
  75. /S- {M dup 0 G dup -2 mul dup 0 D S}!
  76. /sw {stringwidth pop}!
  77. /sh {V MU 0 0 M FP pathbbox N 4 1 roll pop pop pop U}!
  78. /sd {V MU 0 0 M FP pathbbox N pop pop exch pop U}!
  79. /sH {V MU 0 0 M FP pathbbox N exch pop exch sub exch pop U}!
  80. /sb {E exch sh}!
  81. /bl {}!
  82. /bc {E -2 div 0 G}!
  83. /br {E neg 0 G}!
  84. /ml {dup 0 exch sh -2 div G}!
  85. /mc {dup E -2 div exch sh -2 div G}!
  86. /mr {dup E neg exch sh -2 div G}!
  87. /tl {dup 0 exch sh neg G}!
  88. /tc {dup E -2 div exch sh neg G}!
  89. /tr {dup E neg exch sh neg G}!
  90. /mx {2 copy lt {exch} if pop}!
  91. /PSL_xorig 0 def /PSL_yorig 0 def
  92. /TM {2 copy T PSL_yorig add /PSL_yorig edef PSL_xorig add /PSL_xorig edef}!
  93. /PSL_reencode {findfont dup length dict begin
  94. {1 index /FID ne {def}{pop pop} ifelse} forall
  95. exch /Encoding edef currentdict end definefont pop
  96. }!
  97. /PSL_eps_begin {
  98. /PSL_eps_state save def
  99. /PSL_dict_count countdictstack def
  100. /PSL_op_count count 1 sub def
  101. userdict begin
  102. /showpage {} def
  103. 0 setgray 0 setlinecap 1 setlinewidth
  104. 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
  105. /languagelevel where
  106. {pop languagelevel 1 ne {false setstrokeadjust false setoverprint} if} if
  107. }!
  108. /PSL_eps_end {
  109. count PSL_op_count sub {pop} repeat
  110. countdictstack PSL_dict_count sub {end} repeat
  111. PSL_eps_state restore
  112. }!
  113. /PSL_transp {
  114. /PSL_BM_arg edef /PSL_S_arg edef /PSL_F_arg edef
  115. /.setfillconstantalpha where
  116. { pop PSL_BM_arg .setblendmode PSL_S_arg .setstrokeconstantalpha PSL_F_arg .setfillconstantalpha }
  117. { /pdfmark where {pop [ /BM PSL_BM_arg /CA PSL_S_arg /ca PSL_F_arg /SetTransparency pdfmark} if }
  118. ifelse
  119. }!
  120. /Standard+_Encoding [
  121. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  122. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  123. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  124. /.notdef /threequarters /threesuperior /trademark /twosuperior /yacute /ydieresis /zcaron
  125. /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
  126. /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
  127. /zero /one /two /three /four /five /six /seven
  128. /eight /nine /colon /semicolon /less /equal /greater /question
  129. /at /A /B /C /D /E /F /G
  130. /H /I /J /K /L /M /N /O
  131. /P /Q /R /S /T /U /V /W
  132. /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
  133. /quoteleft /a /b /c /d /e /f /g
  134. /h /i /j /k /l /m /n /o
  135. /p /q /r /s /t /u /v /w
  136. /x /y /z /braceleft /bar /braceright /asciitilde /florin
  137. /Atilde /Ccedilla /Eth /Lslash /Ntilde /Otilde /Scaron /Thorn
  138. /Yacute /Ydieresis /Zcaron /atilde /brokenbar /ccedilla /copyright /degree
  139. /divide /eth /logicalnot /lslash /minus /mu /multiply /ntilde
  140. /onehalf /onequarter /onesuperior /otilde /plusminus /registered /scaron /thorn
  141. /.notdef /exclamdown /cent /sterling /fraction /yen /florin /section
  142. /currency /quotesingle /quotedblleft /guillemotleft /guilsinglleft /guilsinglright /fi /fl
  143. /Aacute /endash /dagger /daggerdbl /periodcentered /Acircumflex /paragraph /bullet
  144. /quotesinglbase /quotedblbase /quotedblright /guillemotright /ellipsis /perthousand /Adieresis /questiondown
  145. /Agrave /grave /acute /circumflex /tilde /macron /breve /dotaccent
  146. /dieresis /Eacute /ring /cedilla /Ecircumflex /hungarumlaut /ogonek /caron
  147. /emdash /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute
  148. /Ocircumflex /Odieresis /Ograve /Uacute /Ucircumflex /Udieresis /Ugrave /aacute
  149. /acircumflex /AE /adieresis /ordfeminine /agrave /eacute /ecircumflex /edieresis
  150. /egrave /Oslash /OE /ordmasculine /iacute /icircumflex /idieresis /igrave
  151. /oacute /ae /ocircumflex /odieresis /ograve /dotlessi /uacute /ucircumflex
  152. /udieresis /oslash /oe /germandbls /ugrave /Aring /aring /ydieresis
  153. ] def
  154. /PSL_font_encode 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 array astore def
  155. /F0 {/Helvetica Y}!
  156. /F1 {/Helvetica-Bold Y}!
  157. /F2 {/Helvetica-Oblique Y}!
  158. /F3 {/Helvetica-BoldOblique Y}!
  159. /F4 {/Times-Roman Y}!
  160. /F5 {/Times-Bold Y}!
  161. /F6 {/Times-Italic Y}!
  162. /F7 {/Times-BoldItalic Y}!
  163. /F8 {/Courier Y}!
  164. /F9 {/Courier-Bold Y}!
  165. /F10 {/Courier-Oblique Y}!
  166. /F11 {/Courier-BoldOblique Y}!
  167. /F12 {/Symbol Y}!
  168. /F13 {/AvantGarde-Book Y}!
  169. /F14 {/AvantGarde-BookOblique Y}!
  170. /F15 {/AvantGarde-Demi Y}!
  171. /F16 {/AvantGarde-DemiOblique Y}!
  172. /F17 {/Bookman-Demi Y}!
  173. /F18 {/Bookman-DemiItalic Y}!
  174. /F19 {/Bookman-Light Y}!
  175. /F20 {/Bookman-LightItalic Y}!
  176. /F21 {/Helvetica-Narrow Y}!
  177. /F22 {/Helvetica-Narrow-Bold Y}!
  178. /F23 {/Helvetica-Narrow-Oblique Y}!
  179. /F24 {/Helvetica-Narrow-BoldOblique Y}!
  180. /F25 {/NewCenturySchlbk-Roman Y}!
  181. /F26 {/NewCenturySchlbk-Italic Y}!
  182. /F27 {/NewCenturySchlbk-Bold Y}!
  183. /F28 {/NewCenturySchlbk-BoldItalic Y}!
  184. /F29 {/Palatino-Roman Y}!
  185. /F30 {/Palatino-Italic Y}!
  186. /F31 {/Palatino-Bold Y}!
  187. /F32 {/Palatino-BoldItalic Y}!
  188. /F33 {/ZapfChancery-MediumItalic Y}!
  189. /F34 {/ZapfDingbats Y}!
  190. /F35 {/Ryumin-Light-EUC-H Y}!
  191. /F36 {/Ryumin-Light-EUC-V Y}!
  192. /F37 {/GothicBBB-Medium-EUC-H Y}!
  193. /F38 {/GothicBBB-Medium-EUC-V Y}!
  194. /PSL_pathtextdict 26 dict def
  195. /PSL_pathtext
  196. {PSL_pathtextdict begin
  197. /ydepth exch def
  198. /textheight exch def
  199. /just exch def
  200. /offset exch def
  201. /str exch def
  202. /pathdist 0 def
  203. /setdist offset def
  204. /charcount 0 def
  205. /justy just 4 idiv textheight mul 2 div neg ydepth sub def
  206. V flattenpath
  207. {movetoproc} {linetoproc}
  208. {curvetoproc} {closepathproc}
  209. pathforall
  210. U N
  211. end
  212. } def
  213. PSL_pathtextdict begin
  214. /movetoproc
  215. { /newy exch def /newx exch def
  216. /firstx newx def /firsty newy def
  217. /ovr 0 def
  218. newx newy transform
  219. /cpy exch def /cpx exch def
  220. } def
  221. /linetoproc
  222. { /oldx newx def /oldy newy def
  223. /newy exch def /newx exch def
  224. /dx newx oldx sub def
  225. /dy newy oldy sub def
  226. /dist dx dup mul dy dup mul add sqrt def
  227. dist 0 ne
  228. { /dsx dx dist div ovr mul def
  229. /dsy dy dist div ovr mul def
  230. oldx dsx add oldy dsy add transform
  231. /cpy exch def /cpx exch def
  232. /pathdist pathdist dist add def
  233. {setdist pathdist le
  234. {charcount str length lt
  235. {setchar} {exit} ifelse}
  236. { /ovr setdist pathdist sub def
  237. exit}
  238. ifelse
  239. } loop
  240. } if
  241. } def
  242. /curvetoproc
  243. { (ERROR: No curveto's after flattenpath!)
  244. print
  245. } def
  246. /closepathproc
  247. {firstx firsty linetoproc
  248. firstx firsty movetoproc
  249. } def
  250. /setchar
  251. { /char str charcount 1 getinterval def
  252. /charcount charcount 1 add def
  253. /charwidth char stringwidth pop def
  254. V cpx cpy itransform T
  255. dy dx atan R
  256. 0 justy M
  257. char show
  258. 0 justy neg G
  259. currentpoint transform
  260. /cpy exch def /cpx exch def
  261. U /setdist setdist charwidth add def
  262. } def
  263. end
  264. /PSL_set_label_heights
  265. {
  266. /PSL_n_labels_minus_1 PSL_n_labels 1 sub def
  267. /PSL_heights PSL_n_labels array def
  268. 0 1 PSL_n_labels_minus_1
  269. { /psl_k exch def
  270. /psl_label PSL_label_str psl_k get def
  271. PSL_label_font psl_k get cvx exec
  272. psl_label sH /PSL_height edef
  273. PSL_heights psl_k PSL_height put
  274. } for
  275. } def
  276. /PSL_curved_path_labels
  277. { /psl_bits exch def
  278. /PSL_placetext psl_bits 2 and 2 eq def
  279. /PSL_clippath psl_bits 4 and 4 eq def
  280. /PSL_strokeline false def
  281. /PSL_fillbox psl_bits 128 and 128 eq def
  282. /PSL_drawbox psl_bits 256 and 256 eq def
  283. /PSL_n_paths1 PSL_n_paths 1 sub def
  284. /PSL_usebox PSL_fillbox PSL_drawbox or def
  285. PSL_clippath {clipsave N clippath} if
  286. /psl_k 0 def
  287. /psl_p 0 def
  288. 0 1 PSL_n_paths1
  289. { /psl_kk exch def
  290. /PSL_n PSL_path_n psl_kk get def
  291. /PSL_m PSL_label_n psl_kk get def
  292. /PSL_x PSL_path_x psl_k PSL_n getinterval def
  293. /PSL_y PSL_path_y psl_k PSL_n getinterval def
  294. /PSL_node_tmp PSL_label_node psl_p PSL_m getinterval def
  295. /PSL_angle_tmp PSL_label_angle psl_p PSL_m getinterval def
  296. /PSL_str_tmp PSL_label_str psl_p PSL_m getinterval def
  297. /PSL_fnt_tmp PSL_label_font psl_p PSL_m getinterval def
  298. PSL_curved_path_label
  299. /psl_k psl_k PSL_n add def
  300. /psl_p psl_p PSL_m add def
  301. } for
  302. PSL_clippath {PSL_eoclip} if N
  303. } def
  304. /PSL_curved_path_label
  305. {
  306. /PSL_n1 PSL_n 1 sub def
  307. /PSL_m1 PSL_m 1 sub def
  308. PSL_CT_calcstringwidth
  309. PSL_CT_calclinedist
  310. PSL_CT_excludelabels
  311. PSL_CT_addcutpoints
  312. /PSL_nn1 PSL_nn 1 sub def
  313. /n 0 def
  314. /k 0 def
  315. /j 0 def
  316. /PSL_seg 0 def
  317. /PSL_xp PSL_nn array def
  318. /PSL_yp PSL_nn array def
  319. PSL_xp 0 PSL_xx 0 get put
  320. PSL_yp 0 PSL_yy 0 get put
  321. 1 1 PSL_nn1
  322. { /i exch def
  323. /node_type PSL_kind i get def
  324. /j j 1 add def
  325. PSL_xp j PSL_xx i get put
  326. PSL_yp j PSL_yy i get put
  327. node_type 1 eq
  328. {n 0 eq
  329. {PSL_CT_drawline}
  330. { PSL_CT_reversepath
  331. PSL_CT_textline} ifelse
  332. /j 0 def
  333. PSL_xp j PSL_xx i get put
  334. PSL_yp j PSL_yy i get put
  335. } if
  336. } for
  337. n 0 eq {PSL_CT_drawline} if
  338. } def
  339. /PSL_CT_textline
  340. { PSL_fnt k get cvx exec
  341. /PSL_height PSL_heights k get def
  342. PSL_placetext {PSL_CT_placelabel} if
  343. PSL_clippath {PSL_CT_clippath} if
  344. /n 0 def /k k 1 add def
  345. } def
  346. /PSL_CT_calcstringwidth
  347. { /PSL_width_tmp PSL_m array def
  348. 0 1 PSL_m1
  349. { /i exch def
  350. PSL_fnt_tmp i get cvx exec
  351. PSL_width_tmp i PSL_str_tmp i get stringwidth pop put
  352. } for
  353. } def
  354. /PSL_CT_calclinedist
  355. { /PSL_newx PSL_x 0 get def
  356. /PSL_newy PSL_y 0 get def
  357. /dist 0.0 def
  358. /PSL_dist PSL_n array def
  359. PSL_dist 0 0.0 put
  360. 1 1 PSL_n1
  361. { /i exch def
  362. /PSL_oldx PSL_newx def
  363. /PSL_oldy PSL_newy def
  364. /PSL_newx PSL_x i get def
  365. /PSL_newy PSL_y i get def
  366. /dx PSL_newx PSL_oldx sub def
  367. /dy PSL_newy PSL_oldy sub def
  368. /dist dist dx dx mul dy dy mul add sqrt add def
  369. PSL_dist i dist put
  370. } for
  371. } def
  372. /PSL_CT_excludelabels
  373. { /k 0 def
  374. /PSL_width PSL_m array def
  375. /PSL_angle PSL_m array def
  376. /PSL_node PSL_m array def
  377. /PSL_str PSL_m array def
  378. /PSL_fnt PSL_m array def
  379. /lastdist PSL_dist PSL_n1 get def
  380. 0 1 PSL_m1
  381. { /i exch def
  382. /dist PSL_dist PSL_node_tmp i get get def
  383. /halfwidth PSL_width_tmp i get 2 div PSL_gap_x add def
  384. /L_dist dist halfwidth sub def
  385. /R_dist dist halfwidth add def
  386. L_dist 0 gt R_dist lastdist lt and
  387. {
  388. PSL_width k PSL_width_tmp i get put
  389. PSL_node k PSL_node_tmp i get put
  390. PSL_angle k PSL_angle_tmp i get put
  391. PSL_str k PSL_str_tmp i get put
  392. PSL_fnt k PSL_fnt_tmp i get put
  393. /k k 1 add def
  394. } if
  395. } for
  396. /PSL_m k def
  397. /PSL_m1 PSL_m 1 sub def
  398. } def
  399. /PSL_CT_addcutpoints
  400. { /k 0 def
  401. /PSL_nc PSL_m 2 mul 1 add def
  402. /PSL_cuts PSL_nc array def
  403. /PSL_nc1 PSL_nc 1 sub def
  404. 0 1 PSL_m1
  405. { /i exch def
  406. /dist PSL_dist PSL_node i get get def
  407. /halfwidth PSL_width i get 2 div PSL_gap_x add def
  408. PSL_cuts k dist halfwidth sub put
  409. /k k 1 add def
  410. PSL_cuts k dist halfwidth add put
  411. /k k 1 add def
  412. } for
  413. PSL_cuts k 100000.0 put
  414. /PSL_nn PSL_n PSL_m 2 mul add def
  415. /PSL_xx PSL_nn array def
  416. /PSL_yy PSL_nn array def
  417. /PSL_kind PSL_nn array def
  418. /j 0 def
  419. /k 0 def
  420. /dist 0.0 def
  421. 0 1 PSL_n1
  422. { /i exch def
  423. /last_dist dist def
  424. /dist PSL_dist i get def
  425. k 1 PSL_nc1
  426. { /kk exch def
  427. /this_cut PSL_cuts kk get def
  428. dist this_cut gt
  429. { /ds dist last_dist sub def
  430. /f ds 0.0 eq {0.0} {dist this_cut sub ds div} ifelse def
  431. /i1 i 0 eq {0} {i 1 sub} ifelse def
  432. PSL_xx j PSL_x i get dup PSL_x i1 get sub f mul sub put
  433. PSL_yy j PSL_y i get dup PSL_y i1 get sub f mul sub put
  434. PSL_kind j 1 put
  435. /j j 1 add def
  436. /k k 1 add def
  437. } if
  438. } for
  439. dist PSL_cuts k get le
  440. {PSL_xx j PSL_x i get put PSL_yy j PSL_y i get put
  441. PSL_kind j 0 put
  442. /j j 1 add def
  443. } if
  444. } for
  445. } def
  446. /PSL_CT_reversepath
  447. {PSL_xp j get PSL_xp 0 get lt
  448. {0 1 j 2 idiv
  449. { /left exch def
  450. /right j left sub def
  451. /tmp PSL_xp left get def
  452. PSL_xp left PSL_xp right get put
  453. PSL_xp right tmp put
  454. /tmp PSL_yp left get def
  455. PSL_yp left PSL_yp right get put
  456. PSL_yp right tmp put
  457. } for
  458. } if
  459. } def
  460. /PSL_CT_placelabel
  461. {
  462. /PSL_just PSL_label_justify k get def
  463. /PSL_height PSL_heights k get def
  464. /psl_label PSL_str k get def
  465. /psl_depth psl_label sd def
  466. PSL_usebox
  467. {PSL_CT_clippath
  468. PSL_fillbox
  469. {V PSL_setboxrgb fill U} if
  470. PSL_drawbox
  471. {V PSL_setboxpen S U} if N
  472. } if
  473. PSL_CT_placeline psl_label PSL_gap_x PSL_just PSL_height psl_depth PSL_pathtext
  474. } def
  475. /PSL_CT_clippath
  476. {
  477. /H PSL_height 2 div PSL_gap_y add def
  478. /xoff j 1 add array def
  479. /yoff j 1 add array def
  480. /angle 0 def
  481. 0 1 j {
  482. /ii exch def
  483. /x PSL_xp ii get def
  484. /y PSL_yp ii get def
  485. ii 0 eq {
  486. /x1 PSL_xp 1 get def
  487. /y1 PSL_yp 1 get def
  488. /dx x1 x sub def
  489. /dy y1 y sub def
  490. }
  491. { /i1 ii 1 sub def
  492. /x1 PSL_xp i1 get def
  493. /y1 PSL_yp i1 get def
  494. /dx x x1 sub def
  495. /dy y y1 sub def
  496. } ifelse
  497. dx 0.0 eq dy 0.0 eq and not
  498. { /angle dy dx atan 90 add def} if
  499. /sina angle sin def
  500. /cosa angle cos def
  501. xoff ii H cosa mul put
  502. yoff ii H sina mul put
  503. } for
  504. PSL_xp 0 get xoff 0 get add PSL_yp 0 get yoff 0 get add M
  505. 1 1 j {
  506. /ii exch def
  507. PSL_xp ii get xoff ii get add PSL_yp ii get yoff ii get add L
  508. } for
  509. j -1 0 {
  510. /ii exch def
  511. PSL_xp ii get xoff ii get sub PSL_yp ii get yoff ii get sub L
  512. } for P
  513. } def
  514. /PSL_CT_drawline
  515. {
  516. /str 20 string def
  517. PSL_strokeline
  518. {PSL_CT_placeline S} if
  519. /PSL_seg PSL_seg 1 add def
  520. /n 1 def
  521. } def
  522. /PSL_CT_placeline
  523. {PSL_xp 0 get PSL_yp 0 get M
  524. 1 1 j { /ii exch def PSL_xp ii get PSL_yp ii get L} for
  525. } def
  526. /PSL_draw_path_lines
  527. {
  528. /PSL_n_paths1 PSL_n_paths 1 sub def
  529. V
  530. /psl_start 0 def
  531. 0 1 PSL_n_paths1
  532. { /psl_k exch def
  533. /PSL_n PSL_path_n psl_k get def
  534. /PSL_n1 PSL_n 1 sub def
  535. PSL_path_pen psl_k get cvx exec
  536. N
  537. PSL_path_x psl_start get PSL_path_y psl_start get M
  538. 1 1 PSL_n1
  539. { /psl_i exch def
  540. /psl_kk psl_i psl_start add def
  541. PSL_path_x psl_kk get PSL_path_y psl_kk get L
  542. } for
  543. /psl_xclose PSL_path_x psl_kk get PSL_path_x psl_start get sub def
  544. /psl_yclose PSL_path_y psl_kk get PSL_path_y psl_start get sub def
  545. psl_xclose 0 eq psl_yclose 0 eq and { P } if
  546. S
  547. /psl_start psl_start PSL_n add def
  548. } for
  549. U
  550. } def
  551. /PSL_straight_path_labels
  552. {
  553. /psl_bits exch def
  554. /PSL_placetext psl_bits 2 and 2 eq def
  555. /PSL_rounded psl_bits 32 and 32 eq def
  556. /PSL_fillbox psl_bits 128 and 128 eq def
  557. /PSL_drawbox psl_bits 256 and 256 eq def
  558. /PSL_n_labels_minus_1 PSL_n_labels 1 sub def
  559. /PSL_usebox PSL_fillbox PSL_drawbox or def
  560. 0 1 PSL_n_labels_minus_1
  561. { /psl_k exch def
  562. PSL_ST_prepare_text
  563. PSL_usebox
  564. { PSL_rounded
  565. {PSL_ST_textbox_round}
  566. {PSL_ST_textbox_rect}
  567. ifelse
  568. PSL_fillbox {V PSL_setboxrgb fill U} if
  569. PSL_drawbox {V PSL_setboxpen S U} if
  570. N
  571. } if
  572. PSL_placetext {PSL_ST_place_label} if
  573. } for
  574. } def
  575. /PSL_straight_path_clip
  576. {
  577. /psl_bits exch def
  578. /PSL_rounded psl_bits 32 and 32 eq def
  579. /PSL_n_labels_minus_1 PSL_n_labels 1 sub def
  580. N clipsave clippath
  581. 0 1 PSL_n_labels_minus_1
  582. { /psl_k exch def
  583. PSL_ST_prepare_text
  584. PSL_rounded
  585. {PSL_ST_textbox_round}
  586. {PSL_ST_textbox_rect}
  587. ifelse
  588. } for
  589. PSL_eoclip N
  590. } def
  591. /PSL_ST_prepare_text
  592. {
  593. /psl_xp PSL_txt_x psl_k get def
  594. /psl_yp PSL_txt_y psl_k get def
  595. /psl_label PSL_label_str psl_k get def
  596. PSL_label_font psl_k get cvx exec
  597. /PSL_height PSL_heights psl_k get def
  598. /psl_boxH PSL_height PSL_gap_y 2 mul add def
  599. /PSL_just PSL_label_justify psl_k get def
  600. /PSL_justx PSL_just 4 mod 1 sub 2 div neg def
  601. /PSL_justy PSL_just 4 idiv 2 div neg def
  602. /psl_SW psl_label stringwidth pop def
  603. /psl_boxW psl_SW PSL_gap_x 2 mul add def
  604. /psl_x0 psl_SW PSL_justx mul def
  605. /psl_y0 PSL_justy PSL_height mul def
  606. /psl_angle PSL_label_angle psl_k get def
  607. } def
  608. /PSL_ST_textbox_rect
  609. {
  610. psl_xp psl_yp T psl_angle R psl_x0 psl_y0 T
  611. PSL_gap_x neg PSL_gap_y neg M
  612. 0 psl_boxH D psl_boxW 0 D 0 psl_boxH neg D P
  613. psl_x0 neg psl_y0 neg T psl_angle neg R psl_xp neg psl_yp neg T
  614. } def
  615. /PSL_ST_textbox_round
  616. {
  617. /psl_BoxR PSL_gap_x PSL_gap_y lt {PSL_gap_x} {PSL_gap_y} ifelse def
  618. /psl_xd PSL_gap_x psl_BoxR sub def
  619. /psl_yd PSL_gap_y psl_BoxR sub def
  620. /psl_xL PSL_gap_x neg def
  621. /psl_yB PSL_gap_y neg def
  622. /psl_yT psl_boxH psl_yB add def
  623. /psl_H2 PSL_height psl_yd 2 mul add def
  624. /psl_W2 psl_SW psl_xd 2 mul add def
  625. /psl_xR psl_xL psl_boxW add def
  626. /psl_x0 psl_SW PSL_justx mul def
  627. psl_xp psl_yp T psl_angle R psl_x0 psl_y0 T
  628. psl_xL psl_yd M
  629. psl_xL psl_yT psl_xR psl_yT psl_BoxR arct psl_W2 0 D
  630. psl_xR psl_yT psl_xR psl_yB psl_BoxR arct 0 psl_H2 neg D
  631. psl_xR psl_yB psl_xL psl_yB psl_BoxR arct psl_W2 neg 0 D
  632. psl_xL psl_yB psl_xL psl_yd psl_BoxR arct P
  633. psl_x0 neg psl_y0 neg T psl_angle neg R psl_xp neg psl_yp neg T
  634. } def
  635. /PSL_ST_place_label
  636. {
  637. V psl_xp psl_yp T psl_angle R
  638. psl_SW PSL_justx mul psl_y0 M
  639. psl_label dup sd neg 0 exch G show
  640. U
  641. } def
  642. /PSL_nclip 0 def
  643. /PSL_clip {clip /PSL_nclip PSL_nclip 1 add def} def
  644. /PSL_eoclip {eoclip /PSL_nclip PSL_nclip 1 add def} def
  645. /PSL_cliprestore {cliprestore /PSL_nclip PSL_nclip 1 sub def} def
  646. %%EndProlog
  647. %%BeginSetup
  648. /PSLevel /languagelevel where {pop languagelevel} {1} ifelse def
  649. PSLevel 1 gt { << /WhiteIsOpaque true >> setpagedevice } if
  650. PSLevel 1 gt { << /PageSize [612 792] /ImagingBBox null >> setpagedevice } if
  651. %%EndSetup
  652. %%Page: 1 1
  653. %%BeginPageSetup
  654. V 0.06 0.06 scale
  655. %%EndPageSetup
  656. /PSL_page_xsize 10200 def
  657. /PSL_page_ysize 13200 def
  658. /PSL_plot_completion {} def
  659. /PSL_movie_label_completion {} def
  660. /PSL_movie_prog_indicator_completion {} def
  661. %PSL_End_Header
  662. gsave
  663. 0 A
  664. FQ
  665. O0
  666. 1200 1200 TM
  667. % PostScript produced by:
  668. %@GMT: gmt grdimage cube_mag.grd -Cm.cpt -JX12c -Ba -P
  669. %@PROJ: xy -15.00000000 15.00000000 -15.00000000 15.00000000 -15.000 15.000 -15.000 15.000 +xy
  670. %GMTBoundingBox: 72 72 340.157480315 340.157480315
  671. %%BeginObject PSL_Layer_1
  672. 0 setlinecap
  673. 0 setlinejoin
  674. 3.32550952342 setmiterlimit
  675. 0 A
  676. clipsave
  677. 0 0 M
  678. 5669 0 D
  679. 0 5669 D
  680. -5669 0 D
  681. P
  682. PSL_clip N
  683. V N -94 -94 T 5858 5858 scale [/Indexed /DeviceRGB 17 <
  684. 2FB3F34391FE4770E8424BB638266B1AD2D375FE5CE4DA38F8BF39A2FC3C1DE7B1EB500E910B01D53406FE9D2FB71D02
  685. C6F03442F788>] setcolorspace
  686. << /ImageType 1 /Decode [0 255] /Width 31 /Height 31 /BitsPerComponent 8
  687. /ImageMatrix [31 0 0 -31 0 31] /DataSource currentfile /ASCII85Decode filter /FlateDecode filter
  688. >> image
  689. G[B4O@1pKi%#/1kUI;0<s0=0&l&><"!VZJ'49B$l+kq@M`;r%'p!X$"d7M.NXP6pfcbiM'>P!8'@Oo'FaIp<6%f&9SOibD-
  690. VW/'m-]\!`Y$<GsiYk0Fe!b[k\NSeoE[#*;9.A7uQ>rnpK"4LJPEWQ^<*9b("m2^i*duJa!Ln:]*$aeXdTZp_~>
  691. U
  692. PSL_cliprestore
  693. 25 W
  694. 0 A
  695. /PSL_slant_y 0 def
  696. 2 setlinecap
  697. N 0 5669 M 0 -5669 D S
  698. /PSL_A0_y 83 def
  699. /PSL_A1_y 0 def
  700. 8 W
  701. N 0 945 M -83 0 D S
  702. N 0 2835 M -83 0 D S
  703. N 0 4724 M -83 0 D S
  704. /MM {neg exch M} def
  705. /PSL_AH0 0
  706. PSL_font_encode 0 get 0 eq {Standard+_Encoding /Helvetica /Helvetica PSL_reencode PSL_font_encode 0 1 put} if
  707. 200 F0
  708. (”10) sw mx
  709. (0) sw mx
  710. (10) sw mx
  711. def
  712. /PSL_A0_y PSL_A0_y 83 add def
  713. 945 PSL_A0_y MM
  714. (”10) mr Z
  715. 2835 PSL_A0_y MM
  716. (0) mr Z
  717. 4724 PSL_A0_y MM
  718. (10) mr Z
  719. /PSL_A0_y PSL_A0_y PSL_AH0 add def
  720. /PSL_LH 0 def /PSL_L_y PSL_A0_y PSL_A1_y mx def
  721. 5669 0 T
  722. 25 W
  723. N 0 5669 M 0 -5669 D S
  724. /PSL_A0_y 83 def
  725. /PSL_A1_y 0 def
  726. 8 W
  727. N 0 945 M 83 0 D S
  728. N 0 2835 M 83 0 D S
  729. N 0 4724 M 83 0 D S
  730. /MM {exch M} def
  731. /PSL_AH0 0
  732. (”10) sw mx
  733. (0) sw mx
  734. (10) sw mx
  735. def
  736. /PSL_A0_y PSL_A0_y 83 add PSL_AH0 add def
  737. 945 PSL_A0_y MM
  738. (”10) mr Z
  739. 2835 PSL_A0_y MM
  740. (0) mr Z
  741. 4724 PSL_A0_y MM
  742. (10) mr Z
  743. /PSL_LH 0 def /PSL_L_y PSL_A0_y PSL_A1_y mx def
  744. -5669 0 T
  745. 25 W
  746. N 0 0 M 5669 0 D S
  747. /PSL_A0_y 83 def
  748. /PSL_A1_y 0 def
  749. 8 W
  750. N 945 0 M 0 -83 D S
  751. N 2835 0 M 0 -83 D S
  752. N 4724 0 M 0 -83 D S
  753. /MM {neg M} def
  754. /PSL_AH0 0
  755. (”10) sh mx
  756. (0) sh mx
  757. (10) sh mx
  758. def
  759. /PSL_A0_y PSL_A0_y 83 add PSL_AH0 add def
  760. 945 PSL_A0_y MM
  761. (”10) bc Z
  762. 2835 PSL_A0_y MM
  763. (0) bc Z
  764. 4724 PSL_A0_y MM
  765. (10) bc Z
  766. /PSL_LH 0 def /PSL_L_y PSL_A0_y PSL_A1_y mx def
  767. 0 5669 T
  768. 25 W
  769. N 0 0 M 5669 0 D S
  770. /PSL_A0_y 83 def
  771. /PSL_A1_y 0 def
  772. 8 W
  773. N 945 0 M 0 83 D S
  774. N 2835 0 M 0 83 D S
  775. N 4724 0 M 0 83 D S
  776. /MM {M} def
  777. /PSL_AH0 0
  778. (”10) sh mx
  779. (0) sh mx
  780. (10) sh mx
  781. def
  782. /PSL_A0_y PSL_A0_y 83 add def
  783. 945 PSL_A0_y MM
  784. (”10) bc Z
  785. 2835 PSL_A0_y MM
  786. (0) bc Z
  787. 4724 PSL_A0_y MM
  788. (10) bc Z
  789. /PSL_A0_y PSL_A0_y PSL_AH0 add def
  790. /PSL_LH 0 def /PSL_L_y PSL_A0_y PSL_A1_y mx def
  791. 0 -5669 T
  792. 0 setlinecap
  793. %%EndObject
  794. grestore
  795. PSL_movie_label_completion /PSL_movie_label_completion {} def
  796. PSL_movie_prog_indicator_completion /PSL_movie_prog_indicator_completion {} def
  797. %PSL_Begin_Trailer
  798. %%PageTrailer
  799. U
  800. showpage
  801. %%Trailer
  802. end
  803. %%EOF
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...