%GCL // Demonstration of CURVE N=101 PI = 3.1415926 XRAY = FALLOC (N) // Allocates array and initializes with 0,1,..,n-1 XRAY = XRAY * 3.6 YRAY1 = SIN (XRAY * PI / 180.) YRAY2 = COS (XRAY * PI / 180.) METAFL ('CONS') DISINI () COMPLX () PAGERA () NAME ('X-axis', 'X') NAME ('Y-axis', 'Y') TITLIN ('Demostration of CURVE', 2) TICKS (10, 'X') DIGITS (-1, 'X') GRAF (0.,360.,0.,90.,-1.,1.,-1.,0.5) TITLE () COLOR ('RED') CURVE (xray, yray1, n) COLOR ('GREEN') CURVE (xray, yray2, n) COLOR ('FORE') DASH () XAXGIT () DISFIN ()
%GCL // Symbols CHAR CSTR[3] CTIT='Symbols' SETPAG ('DA4P') METAFL ('CONS') DISINI () PAGERA () COMPLX () HEIGHT (60) NL = NLMESS (CTIT) MESSAG (CTIT, (2100 - NL) / 2, 200) HEIGHT (50) HSYMBL (120) NY = 150 DO I=0,21 IF ((I % 4) == 0) NY = NY + 400 NXP = 550 ELSE NXP = NXP + 350 END IF SPRINTF (CSTR, '%d', I) NL = NLMESS (CSTR) MESSAG (CSTR, NXP - NL / 2, NY + 150) SYMBOL (I, NXP, NY) END DO DISFIN ()
%GCL // Interpolation Methods X = {0.,1.,3.,4.5,6.,8.,9.,11.,12.,12.5,13.,15.,16.,17.,19.,20.} Y = {2.,4.,4.5,3.,1.,7.,2.,3.,5.,2.,2.5,2.,4.,6.,5.5,4.} NYA = 2700 SETPAG ('DA4P') METAFL ('CONS') DISINI () COMPLX () PAGERA () INCMRK (1) HSYMBL (25) TITLIN ('Interpolation Methods',1) AXSLEN (1500,350) SETGRF ('LINE','LINE','LINE','LINE') DO I=0,5 IF (I == 0) CPOL = 'SPLINE' ELSE IF (I == 1) CPOL = 'STEM' ELSE IF (I == 2) CPOL = 'BARS' ELSE IF (I == 3) CPOL = 'STAIRS' ELSE IF (I == 4) CPOL = 'STEP' ELSE IF (I == 5) CPOL = 'LINEAR' END IF AXSPOS (350,NYA-I*350) POLCRV (CPOL) MARKER (0) GRAF (0.,20.,0.,5.,0.,10.,0.,5.) NX=NXPOSN (1.) NY=NYPOSN (8.) MESSAG (CPOL,NX,NY) CURVE (X,Y,16) COLOR ('WHITE') IF (I == 5) HEIGHT (50) TITLE () END IF ENDGRF () END DO DISFIN ()
%GCL // Bar Graphs N = 9 XRAY = { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0} YRAY1 = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} YRAY2 = { 1.0, 1.5, 2.5, 1.3, 2.0, 1.2, 0.7, 1.4, 1.1} YRAY3 = { 2.0, 2.7, 3.5, 2.1, 3.2, 1.9, 2.0, 2.3, 1.8} YRAY4 = { 4.0, 3.5, 4.5, 3.7, 4.0, 2.9, 3.0, 3.2, 2.6} SETPAG ('DA4P') METAFL ('CONS') DISINI () PAGERA () COMPLX () TICKS (1, 'X') INTAX () AXSLEN (1600, 700) TITLIN ('Bar Graphs', 3) LEGINI (CBUF, 3, 8) LEGLIN (CBUF, 'FIRST' , 1) LEGLIN (CBUF, 'SECOND', 2) LEGLIN (CBUF, 'THIRD' , 3) LEGTIT (' ') SHDPAT (5) AXSPOS (300, 2700) GRAF (0.,10.,0.,1.,0.,5.,0.,1.) BARGRP (3, 0.15) COLOR ('RED') BARS (XRAY, YRAY1, YRAY2, N) COLOR ('GREEN') BARS (XRAY, YRAY1, YRAY3, N) COLOR ('BLUE') BARS (XRAY, YRAY1, YRAY4, N) COLOR ('FORE') RESET ('BARGRP') LEGEND (CBUF, 7) ENDGRF () LABELS('NONE','X') AXSPOS (300, 1900) GRAF (0.,10.,0.,1.,0.,5.,0.,1.) HEIGHT (30) LABELS ('DELTA', 'BARS') LABPOS ('CENTER', 'BARS') COLOR ('RED') BARS (XRAY, YRAY1, YRAY2, N) COLOR ('GREEN') BARS (XRAY, YRAY2, YRAY3, N) COLOR ('BLUE') BARS (XRAY, YRAY3, YRAY4, N) COLOR ('FORE') HEIGHT (36) LEGEND (CBUF, 7) ENDGRF () AXSPOS (300, 1100) GRAF (0.,10.,0.,1.,0.,5.,0.,1.) LABELS ('SECOND', 'BARS') LABPOS ('OUTSIDE', 'BARS') COLOR ('RED') BARS (XRAY, YRAY1, YRAY2, N) COLOR ('FORE') HEIGHT (50) TITLE () ENDGRF () DISFIN ()
%GCL // Pie Charts (PIEGRF) n = 5 xray = {1.0, 2.5, 2.0, 2.7, 1.8} setpag ('da4p') metafl ('cons') disini () pagera () complx () axslen (1600,1000) titlin ('Pie Charts (PIEGRF)', 2) chnpie ('both') legini (cbuf, 5, 8) leglin (cbuf, 'FIRST', 1) leglin (cbuf, 'SECOND', 2) leglin (cbuf, 'THIRD', 3) leglin (cbuf, 'FOURTH', 4) leglin (cbuf, 'FIFTH', 5) patcyc (1, 7) patcyc (2, 4) patcyc (3, 13) patcyc (4, 3) patcyc (5, 5) axspos (250, 2800) piegrf (cbuf, 1, xray, n) endgrf () axspos (250, 1600) labels ('data', 'pie') labpos ('external', 'pie') piegrf (cbuf, 1, xray, n) height (50) title () disfin ()
%GCL // 3-D Bar Graph / 3-D Pie Chart CHAR CBUF[80] XRAY = {2.,4.,6.,8.,10.} Y1RAY = {0.,0.,0.,0.,0.} Y2RAY = {3.2,1.5,2.0,1.0,3.0} IC1RAY = {50,150,100,200,175} IC2RAY = {50,150,100,200,175} METAFL ('CONS') SETPAG ('DA4P') DISINI () PAGERA () HWFONT () TITLIN ('3-D Bar Graph / 3-D Pie Chart', 2) HTITLE (40) SHDPAT (16) AXSLEN (1500,1000) AXSPOS (300,1400) BARWTH (0.5) BARTYP ('3DVERT') LABELS ('SECOND','BARS') LABPOS ('OUTSIDE','BARS') LABCLR (255,'BARS') GRAF (0.,12.,0.,2.,0.,5.,0.,1.) TITLE () COLOR ('RED') BARS (XRAY,Y1RAY,Y2RAY,5) ENDGRF () SHDPAT (16) LABELS ('DATA','PIE') LABCLR (255,'PIE') CHNPIE ('NONE') PIECLR (IC1RAY,IC2RAY,5) PIETYP ('3D') AXSPOS (300,2700) PIEGRF (CBUF,0,Y2RAY,5) DISFIN ()
%GCL // Shading Patterns CHAR CSTR[3] IX = {0, 300, 300, 0} IY = {0, 0, 400, 400} CTIT = 'Shading Patterns (AREAF)' METAFL ('CONS') DISINI () SETVLT ('SMALL') PAGERA () COMPLX () HEIGHT (50) NL = NLMESS (CTIT) NX = (2970 - NL) / 2 MESSAG (CTIT, NX, 200) NX0 = 335 NY0 = 350 DO I=1,3 NY = NY0 + (I - 1) * 600 DO J=1,6 ICLR = (I - 1) * 6 + J - 1 ICLR = ICLR % 8 IF (ICLR == 0) ICLR = 8 SETCLR (ICLR) NX = NX0 + (J - 1) * 400 II = (I - 1) * 6 + J - 1 SHDPAT (II) SPRINTF (CSTR, '%2d', II) IXP = IX + NX IYP = IY + NY AREAF(IXP,IYP,4) NL = NLMESS (CSTR) NX = NX + (300 - NL) / 2 MESSAG (CSTR, NX, NY + 460) END DO END DO DISFIN ()
%GCL // 3-D Colour Plot N = 100 FLOAT ZMAT[N,N], XRAY[N] PI = 3.1415927 STEP = 2. * PI / (N - 1) DO I = 0, N - 1 XRAY[I] = SIN (I * STEP) END DO DO J = 0, N - 1 ZMAT[*,J] = 2 * XRAY * SIN (J * STEP) END DO METAFL ('CONS') DISINI () COMPLX () PAGERA () DIGITS (-1, 'XYZ') NAME ('X-Achse', 'X') NAME ('Y-Achse', 'Y') NAME ('Z-Achse', 'Z') TITLIN ('3-D Colour Plot of the Function', 1) TITLIN ('F(X,Y) = 2 * SIN(X) * SIN(Y)', 3) AUTRES (N, N) GRAF3 (0.,360.,0.,90.,0.,360.,0.,90.,-2.,2.,-2.,1.0) TITLE () CRVMAT (ZMAT, N, N, 1, 1) MPAEPL (3) DISFIN ()
%GCL // Surface Plot N = 100 FLOAT ZMAT[N,N], XRAY[N] PI = 3.1415927 STEP = 2. * PI / (N - 1) DO I = 0, N - 1 XRAY[I] = SIN (I * STEP) END DO DO J = 0, N - 1 ZMAT[*,J] = 2 * XRAY * SIN (J * STEP) END DO METAFL ('CONS') SETPAG ('DA4P') DISINI () COMPLX () PAGERA () AXSPOS (200, 2600) AXSLEN (1800, 1800) NAME ('X-axis', 'X') NAME ('Y-axis', 'Y') NAME ('Z-axis', 'Z') TITLIN ('Surface Plot (SURMAT)', 2) TITLIN ('F(X,Y) = 2 * SIN(X) * SIN(Y)', 4) VIEW3D (-5.,-5.,4.,'ABS') GRAF3D (0.,360.,0.,90.,0.,360.,0.,90.,-3.,3.,-3.,1.) HEIGHT (50) TITLE () COLOR ('GREEN') SHLSUR () SURMAT (ZMAT, N, N, 1, 1) DISFIN ()
%GCL // Contour Plot N = 100 FLOAT ZMAT[N,N], XRAY[N] FPI = 3.1415927 / 180. STEP = 360. / (N - 1) X = FALLOC (N) * STEP Y = FALLOC (N) * STEP DO J = 0, N - 1 ZMAT[*,J] = 2 * SIN (X * FPI) * SIN (Y[J] * FPI) END DO METAFL ('CONS') SETPAG ('DA4P') DISINI () COMPLX () PAGERA () INTAX () AXSPOS (450, 2670) NAME ('X-axis', 'X') NAME ('Y-axis', 'Y') TITLIN ('Contour Plot', 2) TITLIN ('F(X,Y) = 2 * SIN(X) * SIN(Y)', 4) GRAF (0.,360.,0.,90.,0.,360.,0.,90.) HEIGHT (30) DO I = 1,9 ZLEV = -2.0 + (I - 1) * 0.5 IF (I == 5) LABELS ('NONE', 'CONTUR') ELSE LABELS ('FLOAT', 'CONTUR') END IF CONTUR (X, N, Y, N, ZMAT, ZLEV) END DO HEIGHT (50) TITLE () DISFIN ()
%GCL // Shaded Contour Plot N = 100 FLOAT ZMAT[N,N], XRAY[N], YRAY[N], ZLEV[12] STEP = 1.6 / (N - 1) XRAY = FALLOC (N) * STEP YRAY = FALLOC (N) * STEP X = XRAY * XRAY - 1 DO J = 0, N - 1 Y=YRAY[J] * YRAY[J] - 1. ZMAT[*,J] = X * X + Y * Y END DO METAFL ('CONS') SETPAG ('DA4P') DISINI () COMPLX () PAGERA () NAME ('X-axis', 'X') NAME ('Y-axis', 'Y') MIXALF () TITLIN ('Shaded Contour Plot', 1) TITLIN ('F(X,Y) = (X[2$ - 1)[2$ + (y[2$ - 1)[2$', 3) SHDMOD ('POLY', 'CONTUR') AXSPOS (450, 2670) GRAF (0., 1.6, 0., 0.2, 0., 1.6, 0., 0.2) HEIGHT (30) DO I = 0, 11 ZLEV[11-I] = 0.1 + I * 0.1 END DO CONSHD (XRAY, N, YRAY, N, ZMAT, ZLEV, 12) HEIGHT (50) TITLE () DISFIN ()
%GCL // World Coastlines and Lakes METAFL ('CONS') DISINI () PAGERA () COMPLX () AXSPOS (400, 1850) AXSLEN (2400, 1400) NAME ('Longitude', 'X') NAME ('Latitude', 'X') TITLIN ('World Coastlines and Lakes', 3) LABELS ('MAP', 'XY') GRAFMP (-180.,180.,-180.,90.,-90.,90.,-90.,30.) GRIDMP (1, 1) COLOR ('GREEN') WORLD () COLOR ('FORE') HEIGHT (50) TITLE () DISFIN ()
%GCL CSTR='TeX Instructions for Mathematical Formulas' SETPAG('DA4P') DISINI() PAGERA() COMPLX() HEIGHT(40) NL=NLMESS(CSTR) MESSAG(CSTR, (2100 - nl)/2, 100) TEXMOD('ON') MESSAG('$\frac{1}{x+y}$', 150, 400) MESSAG('$\frac{a^2 - b^2}{a+b} = a - b$', 1200, 400) MESSAG('$r = \sqrt{x^2 + y^2}', 150, 700) MESSAG('$\cos \phi = \frac{x}{\sqrt{x^2 + y^2}}$', 1200, 700) MESSAG('$\Gamma(x) = \int_0^\infty e^{-t}t^{x-1}dt$', 150, 1000) MESSAG('$\lim_{x \to \infty} (1 + \frac{1}{x})^x = e$', 1200, 1000) MESSAG('$\mu = \sum_{i=1}^n x_i p_i$', 150, 1300) MESSAG('$\mu = \int_{-\infty}^ \infty x f(x) dx$', 1200, 1300) MESSAG('$\overline{x} = \frac{1}{n} \sum_{i=1}^n x_i$', 150, 1600) MESSAG('$s^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \overline{x})^2$',1200, 1600) MESSAG('$\sqrt[n]{\frac{x^n - y^n}{1 + u^{2n}}}$', 150, 1900) MESSAG('$\sqrt[3]{-q + \sqrt{q^2 + p^3}}$', 1200, 1900) MESSAG('$\int \frac{dx}{1+x^2} = \arctan x + C$', 150, 2200) MESSAG('$\int \frac{dx}{\sqrt{1+x^2}} = {\rm arsinh} x + C$', 1200, 2200) MESSAG('$\overline{P_1P_2} = \sqrt{(x_2-x_1)^2 + (y_2-y_1)^2}$', 150,2500) MESSAG('$x = \frac{x_1 + \lambda x_2}{1 + \lambda}$', 1200, 2500) DISFIN()