File: sgpk06.f

package info (click to toggle)
dcl 7.5.2-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 21,008 kB
  • sloc: fortran: 48,433; f90: 12,803; ansic: 6,513; makefile: 4,738; ruby: 184; sh: 153
file content (87 lines) | stat: -rw-r--r-- 2,515 bytes parent folder | download | duplicates (12)
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
*-----------------------------------------------------------------------
      PROGRAM SGPK06

      PARAMETER(N=37)
      DIMENSION X(N), Y(N)


      DT = 2.* 3.14159 / (N-1)
      R = 0.2
      DO 10 I=1, N
        X(I) = R*SIN(DT*(I-1)) + 0.5
        Y(I) = R*COS(DT*(I-1)) + 0.5
   10 CONTINUE

      XC = 0.5
      YC = 0.5

      CALL SWCSTX('FNAME','SGPK06')
      CALL SWLSTX('LSEP',.TRUE.)

      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
      CALL SGPWSN
      READ(*,*) IWS

      CALL SGOPN(IWS)
*----------------------------- page 1 ---------------------------------
      CALL SGFRM
      CALL SGSTXI(3)
      CALL SGSPLI(2)

*                XMIN, XMAX, YMIN, YMAX
      CALL SGSWND( 0.,   1.,   0.,   1.)
      CALL SGSVPT( 0.,   1.,   0.,   1.)
      CALL SGSTRN( 1)
      CALL SGSTRF

      CALL SLPVPR(1)
      CALL SGPLU(N, X, Y)                      ! <-- 円描画
      CALL SGTXU(XC, YC, 'SGTXU')              ! <-- テキスト

*----------------------------- page 2 ---------------------------------
      CALL SGFRM

*                 XMIN, XMAX, YMIN, YMAX
      CALL SGSWND( 0.0,  1.0,  0.0,  1.0)      ! <-- 1x1
      CALL SGSVPT( 0.1,  0.4,  0.6,  0.9)      ! <-- 小さな view port
      CALL SGSTRN( 1)
      CALL SGSTRF

      CALL SLPVPR(1)
      CALL SGPLU(N, X, Y)                      ! <-- 円描画
      CALL SGTXU(XC, YC, 'SGTXU')              ! <-- テキスト

*                XMIN, XMAX, YMIN, YMAX
      CALL SGSWND( 0.0,  1.0,  0.3,  0.7)      ! <-- ゆがんだ window
      CALL SGSVPT( 0.6,  0.9,  0.6,  0.9)
      CALL SGSTRN( 1)
      CALL SGSTRF

      CALL SLPVPR(1)
      CALL SGPLU(N, X, Y)                      ! <-- 円描画
      CALL SGTXU(XC, YC, 'SGTXU')              ! <-- テキスト

*                XMIN, XMAX, YMIN, YMAX
      CALL SGSWND( 0.0,  1.0, -0.5,  0.5)      ! <-- はみ出し window
      CALL SGSVPT( 0.1,  0.4,  0.1,  0.4)
      CALL SGSTRN( 1)
      CALL SGSTRF

      CALL SLPVPR(1)
      CALL SGPLU(N, X, Y)                      ! <-- 円描画
      CALL SGTXU(XC, YC, 'SGTXU')              ! <-- テキスト

      CALL SGLSET('LCLIP', .TRUE.)             ! <-- クリッピング
*                XMIN, XMAX, YMIN, YMAX
      CALL SGSWND( 0.0,  1.0, -0.5,  0.5)
      CALL SGSVPT( 0.6,  0.9,  0.1,  0.4)
      CALL SGSTRN( 1)
      CALL SGSTRF

      CALL SLPVPR(1)
      CALL SGPLU(N, X, Y)                      ! <-- 円描画
      CALL SGTXU(XC, YC, 'SGTXU')              ! <-- テキスト

      CALL SGCLS

      END