File: sgpk08.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 (58 lines) | stat: -rw-r--r-- 1,391 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
*-----------------------------------------------------------------------
      PROGRAM SGPK08

      REAL UPX3(3), UPY3(3), UPX6(6), UPY6(6), UPXS(61), UPYS(61)


      A = 0.8
      TH = 3.14159 * 2 / 3
      DO 100 I=1, 3
        UPX3(I) = A*SIN(TH*I)
        UPY3(I) = A*COS(TH*I)
  100 CONTINUE

      TH = 3.14159 * 2 / 6
      DO 200 I=1, 6
        UPX6(I) = A*SIN(TH*I)
        UPY6(I) = A*COS(TH*I)
  200 CONTINUE

      TH = 3.14159 * 4 / 60
      DO 300 I=1, 61
        UPXS(I) = A*(I-31) / 30.
        UPYS(I) = A*SIN(TH*(I-1))
  300 CONTINUE

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

      CALL SGOPN(IWS)

      CALL SGLSET('LSOFTF',.TRUE.)           ! <-- ソフトフィルの指定
      CALL SGFRM

      CALL SGSWND(-1., 1., -1., 1.)
      CALL SGSVPT(0., 0.5, 0., 0.5)
      CALL SGSTRN( 1)
      CALL SGSTRF

      CALL SGPLU(3, UPX3, UPY3)
      CALL SGTNU(3, UPX3, UPY3)              ! <-- 網かけ (左下)

      CALL SGSVPT(0., 0.5, 0.5, 1.)
      CALL SGSTRF
      CALL SGSTNP(101)
      CALL SGTNU(6, UPX6, UPY6)              ! <-- 横線 (左上)

      CALL SGSVPT(0.5, 1., 0., 0.5)
      CALL SGSTRF
      CALL SGTNZU(6, UPX6, UPY6, 201)        ! <-- 斜線 (右下)

      CALL SGSVPT(0.5, 1., 0.5, 1.)
      CALL SGSTRF
      CALL SGTNZU(61, UPXS, UPYS, 601)       ! <-- 横線 (右上)

      CALL SGCLS

      END