DISLIN Examples / FreeBASIC
Demonstration of CURVE / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 300 DIM AS SINGLE xray(n), y1ray(n), y2ray(n) DIM AS SINGLE x, stp, fpi DIM AS INTEGER i, ic fpi = 3.1415926 / 180 stp = 360.0f / n FOR i = 0 TO n xray(i) = i * stp x = xray(i) * fpi y1ray(i) = sin (x) y2ray(i) = cos (x) NEXT i Dislin.scrmod ("revers") Dislin.metafl ("xwin") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.axspos (450, 1800) Dislin.axslen (2200, 1200) Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.labdig (-1, "X") Dislin.ticks (10, "Y") Dislin.ticks (9, "X") Dislin.titlin ("Demonstration of CURVE", 1) Dislin.titlin ("SIN(X), COS(X)", 3) ic = Dislin.intrgb (0.95, 0.95, 0.95) Dislin.axsbgd (ic) Dislin.graf (0.0, 360.0, 0.0, 90.0, -1.0, 1.0, -1.0, 0.5) Dislin.setrgb (0.7, 0.7, 0.7) Dislin.grid (1, 1) Dislin.color ("fore") Dislin.height (50) Dislin.title () Dislin.color ("red") Dislin.curve (@xray(0), @y1ray(0), n + 1) Dislin.color ("green") Dislin.curve (@xray(0), @y2ray(0), n + 1) Dislin.disfin () END
Polar Plots / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 300 - 1 DIM AS INTEGER m = 10 - 1 DIM AS SINGLE pi = 3.1415926 DIM AS SINGLE xray(n), x1(n), y1(n) DIM AS SINGLE x2(m), y2(m) DIM AS SINGLE a, x, f, stp DIM AS INTEGER i, ic f = pi / 180.0 stp = 360.0 / n FOR i = 0 TO n a = i * stp * f xray(i) = i * stp x = xray(i) * f y1(i) = a x1(i) = sin (5 * a) NEXT i FOR i = 0 TO m x2(i) = i + 1 y2(i) = i + 1 NEXT i Dislin.setpag ("da4p") Dislin.metafl ("cons") Dislin.scrmod ("revers") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.titlin ("Polar Plots", 2) Dislin.ticks (3, "Y") Dislin.axends ("NOENDS", "X") Dislin.labdig (-1, "Y") Dislin.axslen (1000, 1000) Dislin.axsorg (1050, 900) ic = Dislin.intrgb (0.95, 0.95, 0.95) Dislin.axsbgd (ic) Dislin.grafp (1.0, 0.0, 0.2, 0.0, 30.0) Dislin.color ("blue") Dislin.curve (@x1(0), @y1(0), n) Dislin.color ("fore") Dislin.htitle (50) Dislin.title () Dislin.endgrf () Dislin.labdig (-1, "X") Dislin.axsorg (1050, 2250) Dislin.labtyp ("VERT", "Y") Dislin.grafp (10.0, 0.0, 2.0, 0.0, 30.0) Dislin.barwth (-5.0) Dislin.polcrv ("FBARS") Dislin.color ("blue") Dislin.curve (@x2(0), @y2(0), m) Dislin.disfin () END
Symbols / FreeBASIC
#INCLUDE "dislin.bi" DIM AS STRING ctit = "Symbols" DIM AS INTEGER i, nl, ny, nxp DIM AS SINGLE v Dislin.scrmod ("revers") Dislin.setpag ("da4p") Dislin.metafl ("cons") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.height (60) nl = Dislin.nlmess (ctit) Dislin.messag (ctit, (2100 - nl)/2, 200) Dislin.height (50) Dislin.hsymbl (120) ny = 150 FOR i = 0 TO 23 IF (i MOD 4) = 0 THEN ny += 400 nxp = 550 ELSE nxp += 350 END IF v = i nl = Dislin.nlnumb (v, -1) Dislin.number (v, -1, nxp - nl/2, ny + 150) Dislin.symbol (i, nxp, ny) NEXT i Dislin.disfin () END
Interpolation Methods / FreeBASIC
#INCLUDE "dislin.bi" DIM AS SINGLE xray(15) = {0., 1., 3., 4.5, 6., 8., 9., 11., 12., 12.5, _ 13., 15., 16., 17., 19., 20.} DIM AS SINGLE yray(15) = {2., 4., 4.5, 3., 1., 7., 2., 3., 5., 2., 2.5, _ 2., 4., 6., 5.5, 4.} DIM AS STRING ctit = "Interpolation Methods" DIM AS STRING cpol(5) = {"SPLINE", "STEM", "BARS", "STAIRS", "STEP", "LINEAR"} DIM AS INTEGER ic, i, nya, nx, ny Dislin.setpag ("da4p") Dislin.scrmod ("reverse") Dislin.metafl ("xwin") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.incmrk (1) Dislin.hsymbl (25) Dislin.titlin (ctit, 1) Dislin.axslen (1500, 350) Dislin.setgrf ("LINE", "LINE", "LINE", "LINE") ic = Dislin.intrgb (1.0, 1.0, 0.0) Dislin.axsbgd (ic) nya = 2700 FOR i = 0 TO 5 Dislin.axspos (350, nya - i * 350) Dislin.polcrv (cpol(i)) Dislin.marker (0) Dislin.graf (0., 20., 0., 5., 0., 10., 0., 5.) nx = Dislin.nxposn (1.) ny = Dislin.nyposn (8.) Dislin.messag (cpol(i), nx, ny) Dislin.color ("red") Dislin.curve (@xray(0), @yray(0), 16) Dislin.color ("fore") IF i = 5 THEN Dislin.height (50) Dislin.title () END IF Dislin.endgrf () NEXT i Dislin.disfin () END
Bar Graphs / FreeBASIC
#INCLUDE "dislin.bi" DIM AS SINGLE x(8) = {1., 2., 3., 4., 5., 6., 7., 8., 9.} DIM AS SINGLE y(8) = {0., 0., 0., 0., 0., 0., 0., 0., 0.} DIM AS SINGLE y1(8) = {1., 1.5, 2.5, 1.3, 2.0, 1.2, 0.7, 1.4, 1.1} DIM AS SINGLE y2(8) = {2., 2.7, 3.5, 2.1, 3.2, 1.9, 2.0, 2.3, 1.8} DIM AS SINGLE y3(8) = {4., 3.5, 4.5, 3.7, 4., 2.9, 3.0, 3.2, 2.6} DIM AS INTEGER nya = 2700, i DIM AS STRING ctit = "Bar Graphs (BARS)" DIM cbuf AS ZSTRING * 80 Dislin.setpag ("da4p") Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.ticks (1, "x") Dislin.intax () Dislin.axslen (1600, 700) Dislin.titlin (ctit, 3) Dislin.legini (cbuf, 3, 8) Dislin.leglin (cbuf, "FIRST", 1) Dislin.leglin (cbuf, "SECOND", 2) Dislin.leglin (cbuf, "THIRD", 3) Dislin.legtit (" ") Dislin.shdpat (5) FOR i = 1 TO 3 IF i > 1 THEN Dislin.labels ("none","x") END IF Dislin.axspos (300, nya-(i-1)*800) Dislin.graf (0., 10., 0., 1., 0., 5., 0., 1.) IF i = 1 THEN Dislin.bargrp (3, 0.15) Dislin.color ("red") Dislin.bars (@x(0), @y(0), @y1(0), 9) Dislin.color ("green") Dislin.bars (@x(0), @y(0), @y2(0), 9) Dislin.color ("blue") Dislin.bars (@x(0), @y(0), @y3(0), 9) Dislin.color ("fore") Dislin.reset ("bargrp") ELSEIF i = 2 THEN Dislin.height (30) Dislin.labels ("delta","bars") Dislin.labpos ("center","bars") Dislin.color ("red") Dislin.bars (@x(0), @y(0), @y1(0), 9) Dislin.color ("green") Dislin.bars (@x(0), @y1(0), @y2(0), 9) Dislin.color ("blue") Dislin.bars (@x(0), @y2(0), @y3(0), 9) Dislin.color ("fore") Dislin.reset ("height") ELSEIF i = 3 THEN Dislin.labels ("second", "bars") Dislin.labpos ("outside", "bars") Dislin.color ("red") Dislin.bars (@x(0), @y(0), @y1(0), 9) Dislin.color ("fore") END IF IF i <> 3 THEN Dislin.legend (cbuf, 7) END IF IF i = 3 THEN Dislin.height (50) Dislin.title () END IF Dislin.endgrf () NEXT i Dislin.disfin () END
Pie Charts / FreeBASIC
#INCLUDE "dislin.bi" DIM AS SINGLE xray(4) = {1., 2.5, 2., 2.7, 1.8} DIM AS STRING ctit DIM cbuf AS ZSTRING * 80 ctit = "Pie Charts (PIEGRF)" Dislin.setpag ("da4p") Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.chnpie ("BOTH") Dislin.axslen (1600, 1000) Dislin.titlin (ctit, 2) Dislin.legini (cbuf, 5, 8) Dislin.leglin (cbuf, "FIRST", 1) Dislin.leglin (cbuf, "SECOND", 2) Dislin.leglin (cbuf, "THIRD", 3) Dislin.leglin (cbuf, "FOURTH", 4) Dislin.leglin (cbuf, "FIFTH", 5) Dislin.patcyc (1, 7) Dislin.patcyc (2, 4) Dislin.patcyc (3, 13) Dislin.patcyc (4, 3) Dislin.patcyc (5, 5) Dislin.axspos (250, 2800) Dislin.piegrf (cbuf, 1, @xray(0), 5) Dislin.endgrf () Dislin.axspos (250, 1600) Dislin.labels ("DATA", "PIE") Dislin.labpos ("EXTERNAL", "PIE") Dislin.piegrf (cbuf, 1, @xray(0), 5) Dislin.height (50) Dislin.title () Dislin.disfin () END
3-D Bar Graph / 3-D Pie Chart / FreeBASIC
#INCLUDE "dislin.bi" DIM AS SINGLE xray(4) = {2., 4., 6., 8., 10.} DIM AS SINGLE y1ray(4) = {0., 0., 0., 0., 0.} DIM AS SINGLE y2ray(4) = {3.2, 1.5, 2.0, 1.0, 3.0} DIM AS INTEGER ic1ray(4) = {50, 150, 100, 200, 175} DIM AS INTEGER ic2ray(4) = {50, 150, 100, 200, 175} DIM cbuf AS ZSTRING * 80 Dislin.metafl ("cons") Dislin.setpag ("da4p") Dislin.scrmod ("revers") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.titlin ("3-D Bar Graph / 3-D Pie Chart", 2) Dislin.htitle (40) Dislin.shdpat (16) Dislin.axslen (1500, 1000) Dislin.axspos (300, 1400) Dislin.barwth (0.5) Dislin.bartyp ("3dvert") Dislin.labels ("second", "bars") Dislin.labpos ("outside", "bars") Dislin.labclr (255, "bars") Dislin.graf (0., 12., 0., 2., 0., 5., 0., 1.) Dislin.title () Dislin.color ("red") Dislin.bars (@xray(0), @y1ray(0), @y2ray(0), 5) Dislin.endgrf () Dislin.shdpat (16) Dislin.labels ("data", "pie") Dislin.labclr (255, "pie") Dislin.chnpie ("none") Dislin.pieclr (@ic1ray(0), @ic2ray(0), 5) Dislin.pietyp ("3d") Dislin.axspos (300, 2700) Dislin.piegrf (cbuf, 0, @y2ray(0), 5) Dislin.disfin () END
3-D Bars / BARS3D / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 17 DIM AS SINGLE xray(17) = {1., 3., 8., 1.5, 9., 6.3, 5.8, 2.3, 8.1, 3.5, _ 2.2, 8.7, 9.2, 4.8, 3.4, 6.9, 7.5, 3.8} DIM AS SINGLE yray(17) = {5., 8., 3.5, 2., 7., 1.,4.3, 7.2, 6.0, 8.5, _ 4.1, 5.0, 7.3, 2.8, 1.6, 8.9, 9.5, 3.2} DIM AS SINGLE z1ray(17) = {0., 0., 0., 0., 0., 0., 0., 0., 0., 0., _ 0., 0., 0., 0., 0., 0., 0., 0.} DIM AS SINGLE z2ray(17) = {4., 5., 3., 2., 3.5, 4.5, 2., 1.6, 3.8, 4.7, _ 2.1, 3.5, 1.9, 4.2, 4.9, 2.8, 3.6, 4.3} DIM AS INTEGER icray(17) = {30, 30, 30, 30, 30, 30, 100, 100, 100, 100, _ 100, 100, 170, 170, 170, 170, 170, 170} DIM AS SINGLE xwray(17), ywray(17) DIM cbuf AS ZSTRING * 80 DIM AS INTEGER i FOR i = 0 TO n xwray(i) = 0.5 ywray(i) = 0.5 NEXT i Dislin.metafl ("xwin") Dislin.scrmod ("revers") Dislin.setpag ("da4p") Dislin.disini () Dislin.hwfont () Dislin.pagera () Dislin.axspos (200, 2600) Dislin.axslen (1800, 1800) Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.name ("Z-axis", "Z") Dislin.titlin ("3-D Bars / BARS3D",3) Dislin.labl3d ("hori") Dislin.graf3d (0.,10.,0.,2.,0.,10.,0.,2.,0.,5.,0.,1.) Dislin.grid3d (1,1, "bottom") Dislin.bars3d (@xray(0), @yray(0), @z1ray(0), @z2ray(0), @xwray(0), _ @ywray(0), @icray(0), n + 1) Dislin.legini (cbuf, 3, 20) Dislin.legtit (" ") Dislin.legpos (1350, 1150) Dislin.leglin (cbuf, "First", 1) Dislin.leglin (cbuf, "Second", 2) Dislin.leglin (cbuf, "Third", 3) Dislin.legend (cbuf, 3) Dislin.height (50) Dislin.title () Dislin.disfin () END
Shading Patterns / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER ix(3) = {0, 300, 300, 0} DIM AS INTEGER iy(3) = {0, 0, 400, 400} DIM AS INTEGER ixp(3) = {0, 0, 0, 0} DIM AS INTEGER iyp(3) = {0, 0, 0, 0} DIM AS STRING ctit = "Shading patterns (AREAF)" DIM AS INTEGER i, j, k, ii, nl, nx0, ny0, iclr, nx, ny DIM AS SINGLE v Dislin.metafl ("cons") Dislin.scrmod ("revers") Dislin.disini () Dislin.setvlt ("small") Dislin.pagera () Dislin.complx () Dislin.height (50) nl = Dislin.nlmess (ctit) Dislin.messag (ctit, (2970 - nl)/2, 200) nx0 = 335 ny0 = 350 iclr = 0 FOR i = 0 TO 2 ny = ny0 + i * 600 FOR j = 0 TO 5 nx = nx0 + j * 400 ii = i * 6 + j Dislin.shdpat (ii) iclr = iclr MOD 8 iclr = iclr + 1 Dislin.setclr (iclr) FOR k = 0 TO 3 ixp(k) = ix(k) + nx iyp(k) = iy(k) + ny NEXT k Dislin.areaf (@ixp(0), @iyp(0), 4) nl = Dislin.nlnumb (ii, -1) nx += (300 - nl) / 2 Dislin.color ("foreground") v = ii Dislin.number (v, -1, nx, ny + 460) NEXT j NEXT i Dislin.disfin () END
3-D Colour Plot / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 100 DIM AS SINGLE zmat(n,n) DIM AS SINGLE x, y, stp, fpi DIM AS INTEGER i, j fpi = 3.1415926 / 180 stp = 360.0f / n FOR i = 0 TO n x = i * stp FOR j = 0 TO n y = j * stp zmat (i,j) = 2 * sin (x * fpi) * sin (y * fpi) NEXT j NEXT i Dislin.scrmod ("revers") Dislin.metafl ("xwin") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.titlin ("3-D Colour Plot of the Function", 1) Dislin.titlin ("F(X,Y) = 2 * SIN(X) * SIN(Y)", 3) Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.name ("Z-axis", "Z") Dislin.axspos (300, 1850) Dislin.ax3len (2200, 1400, 1400) Dislin.intax () Dislin.autres (n, n) Dislin.graf3 (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0, _ -2.0, 2.0, -2.0, 1.0) Dislin.crvmat (@zmat(0,0), n + 1, n + 1, 1, 1) Dislin.height (50) Dislin.title () Dislin.disfin () END
Surface Plot / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 50 DIM AS SINGLE zmat(n,n) DIM AS SINGLE x, y, stp, fpi DIM AS INTEGER i, j fpi = 3.1415926 / 180 stp = 360.0f / n FOR i = 0 TO n x = i * stp FOR j = 0 TO n y = j * stp zmat (i,j) = 2 * sin (x * fpi) * sin (y * fpi) NEXT j NEXT i Dislin.scrmod ("revers") Dislin.metafl ("xwin") Dislin.setpag ("da4p") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.titlin ("Surface Plot of the Function", 2) Dislin.titlin ("F(X,Y) = 2 * SIN(X) * SIN(Y)", 4) Dislin.axspos (200, 2600) Dislin.axslen (1800, 1800) Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.name ("Z-axis", "Z") Dislin.view3d (-5.0, -5.0, 4.0, "ABS") Dislin.graf3d (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0, _ -3.0, 3.0, -3.0, 1.0) Dislin.height (50) Dislin.title () Dislin.color ("green") Dislin.surmat (@zmat(0,0), n + 1, n + 1, 1, 1) Dislin.disfin () END
Shaded Surface Plot / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 50 DIM AS SINGLE zmat(n,n) DIM AS SINGLE xray(n), yray (n) DIM AS SINGLE x, y, stp, fpi DIM AS INTEGER i, j fpi = 3.1415926 / 180 stp = 360.0f / n FOR i = 0 TO n x = i * stp xray(i) = x FOR j = 0 TO n y = j * stp yray(j) = y zmat (i,j) = 2 * sin (x * fpi) * sin (y * fpi) NEXT j NEXT i Dislin.metafl ("xwin") Dislin.setpag ("da4p") Dislin.scrmod ("revers") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.titlin ("Shaded Surface Plot", 2) Dislin.titlin ("F(X,Y) = 2 * SIN(X) * SIN(Y)", 4) Dislin.axspos (200, 2600) Dislin.axslen (1800, 1800) Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.name ("Z-axis", "Z") Dislin.view3d (-5.0, -5.0, 4.0, "ABS") Dislin.graf3d (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0, _ -3.0, 3.0, -3.0, 1.0) Dislin.height (50) Dislin.title () Dislin.shdmod ("smooth", "surface") Dislin.surshd (@xray(0), n + 1, @yray(0), n + 1, @zmat(0,0)) Dislin.disfin () END
Contour Plot / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 60, m = 50 DIM AS SINGLE xray(n), yray(m),zmat(n,m) DIM AS STRING ctit1 = "Contour Plot" DIM AS STRING ctit2 = "F(X,Y) = 2 * SIN(X) * SIN (Y)" DIM AS SINGLE fpi, stpx, stpy, zlev DIM AS INTEGER i, j fpi = 3.1415927 / 180.0 stpx = 360.0 / n stpy = 360.0 / m FOR i = 0 TO n xray(i) = i * stpx FOR j = 0 TO m yray(j) = j * stpy zmat(i,j) = 2 * sin(xray(i) * fpi) * sin(yray(j) * fpi) NEXT j NEXT i Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.setpag ("da4p") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.titlin (ctit1, 2) Dislin.titlin (ctit2, 4) Dislin.axspos (450, 2670) Dislin.intax () Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.graf (0., 360., 0., 90., 0., 360., 0., 90.) Dislin.height (30) FOR i = 0 TO 8 zlev = -2. + i * 0.5 IF i = 4 THEN Dislin.labels ("NONE", "CONTUR") ELSE Dislin.labels ("FLOAT", "CONTUR") END IF Dislin.setclr ((i+1) * 28) Dislin.contur (@xray(0), n + 1, @yray(0), m + 1, @zmat(0,0), zlev) NEXT i Dislin.color ("FORE") Dislin.height (50) Dislin.title () Dislin.disfin () END
Shaded Contour Plot / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 50, m = 80 DIM AS STRING ctit1 = "Shaded Contour Plot" DIM AS STRING ctit2 = "F(X,Y) = (X[2$ - 1)[2$ + (Y[2$ - 1)[2$" DIM AS SINGLE xray(n), yray(m), zmat(n,m), zlev(11) DIM AS SINGLE stpx, stpy, x, x2, y, y2 DIM AS INTEGER i, j stpx = 1.6 / n stpy = 1.6 / n FOR i = 0 TO n xray(i) = i * stpx x = xray(i) * xray(i) - 1.0 x2 = x * x FOR j = 0 TO m yray(j) = j * stpy y = yray(j) * yray(j) - 1.0 y2 = y * y zmat(i,j) = x2 + y2 NEXT j NEXT i Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.setpag ("da4p") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.mixalf () Dislin.titlin (ctit1, 1) Dislin.titlin (ctit2, 3) Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.axspos (450, 2670) Dislin.shdmod ("poly", "contur") Dislin.graf (0., 1.6, 0., 0.2, 0., 1.6, 0., 0.2) FOR i = 0 TO 11 zlev(11-i) = 0.1 + i * 0.1 NEXT i Dislin.conshd (@xray(0), n + 1, @yray(0), m + 1, @zmat(0,0), @zlev(0), 12) Dislin.height (50) Dislin.title () Dislin.disfin () END
Shaded Surface / Contour Plot / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER n = 50, m = 50, nlev = 19 DIM AS SINGLE x(n), y(m), zmat(n,m), zlev (nlev) DIM AS STRING ctit1 = "Shaded Surface / Contour Plot" DIM AS STRING ctit2 = "F(X,Y) = 2 * SIN(X) * SIN (Y)" DIM AS SINGLE fpi, stpx, stpy, stp DIM AS INTEGER i, j fpi = 3.1415927 / 180.0 stpx = 360.0 / n stpy = 360.0 / m FOR i = 0 TO n x(i) = i * stpx FOR j = 0 TO m y(j) = j * stpy zmat(i,j) = 2 * sin(x(i) * fpi) * sin(y(j) * fpi) NEXT j NEXT i Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.setpag ("da4p") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.titlin (ctit1, 2) Dislin.titlin (ctit2, 4) Dislin.axspos (200, 2600) Dislin.axslen (1800, 1800) Dislin.name ("X-axis", "X") Dislin.name ("Y-axis", "Y") Dislin.name ("Z-axis", "Z") Dislin.graf3d (0., 360., 0., 90., 0., 360., 0., 90., _ -2., 2., -2., 1.) Dislin.height (50) Dislin.title () Dislin.grfini (-1., -1., -1., 1., -1., -1., 1., 1., -1.) Dislin.nograf () Dislin.graf (0., 360., 0., 90., 0., 360., 0., 90.) stp = 4.0 / nlev FOR i = 0 TO nlev zlev(i) = -2.0 + i * stp NEXT i Dislin.conshd (@x(0), n + 1, @y(0), m + 1, @zmat(0,0), @zlev(0), nlev + 1) Dislin.box2d () Dislin.reset ("nograf") Dislin.grffin () Dislin.shdmod ("smooth", "surface") Dislin.surshd (@x(0), n + 1, @y(0), m + 1, @zmat(0,0)) Dislin.disfin () END
Spheres and Tubes / FreeBASIC
#INCLUDE "dislin.bi" DIM AS SINGLE x(16) = {10., 20., 10., 20., 5., 15., 25., 5., 15., 25., _ 5., 15., 25., 10., 20., 10., 20.} DIM AS SINGLE y(16) = {10., 10., 20., 20., 5., 5., 5., 15., 15., 15., _ 25., 25., 25., 10., 10., 20., 20.} DIM AS SINGLE z(16) = {5., 5., 5., 5., 15., 15., 15., 15., 15., 15., _ 15., 15., 15., 25., 25., 25., 25.} DIM AS INTEGER idx(55) = {1, 2, 1, 3, 3, 4, 2, 4, 5, 6, 6, 7, 8, 9, 9, 10, _ 11, 12, 12, 13, 5, 8, 8, 11, 6, 9, 9, 12, 7, 10, _ 10, 13, 14, 15, 16, 17, 14, 16, 15, 17, _ 1, 5, 2, 7, 3, 11, 4, 13, 5, 14, 7, 15, 11, 16, 13, 17} DIM AS INTEGER iret, i, j1, j2 Dislin.setpag ("da4p") Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.light ("on") Dislin.matop3 (0.02, 0.02, 0.02, "specular") Dislin.clip3d ("none") Dislin.axspos (0, 2500) Dislin.axslen (2100, 2100) Dislin.htitle (50) Dislin.titlin ("Spheres and Tubes", 4) Dislin.name ("X-axis", "x") Dislin.name ("Y-axis", "y") Dislin.name ("Z-axis", "z") Dislin.labdig (-1, "xyz") Dislin.labl3d ("hori") Dislin.graf3d (0., 30., 0., 5., 0., 30., 0., 5., 0., 30., 0., 5.) Dislin.title () Dislin.shdmod ("smooth", "surface") iret = Dislin.zbfini() Dislin.matop3 (1.0, 0.0, 0.0, "diffuse") FOR i = 0 TO 16 Dislin.sphe3d (x(i), y(i), z(i), 2.0, 50, 25) NEXT i Dislin.matop3 (0.0, 1.0, 0.0, "diffuse") FOR i = 0 TO 55 STEP 2 j1 = idx(i) - 1 j2 = idx(i+1) - 1 Dislin.tube3d (x(j1), y(j1), z(j1), _ x(j2), y(j2), z(j2), 0.5, 5, 5) NEXT i Dislin.zbffin () Dislin.disfin () END
Some Solids / FreeBASIC
#INCLUDE "dislin.bi" DIM AS INTEGER iret Dislin.setpag ("da4p") Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.disini () Dislin.pagera () Dislin.hwfont () Dislin.light ("on") Dislin.litop3(1,0.5,0.5,0.5,"ambient") Dislin.clip3d ("none") Dislin.axspos (0, 2500) Dislin.axslen (2100, 2100) Dislin.htitle (60) Dislin.titlin ("Some Solids", 4) Dislin.nograf () Dislin.graf3d (-5., 5., -5., 2., -5., 5., -5., 2., -5., 5., -5., 2.) Dislin.title () Dislin.shdmod ("smooth", "surface") iret = Dislin.zbfini() Dislin.matop3 (1.0, 0.5, 0.0, "diffuse") Dislin.tube3d (-3., -3., 8.0, 2., 3., 5.5, 1., 40, 20) Dislin.rot3d (-60., 0., 0.) Dislin.matop3 (1.0, 0.0, 1.0, "diffuse") Dislin.setfce ("bottom") Dislin.matop3 (1.0, 0.0, 0.0, "diffuse") Dislin.cone3d (-3., -3., 3.5, 2., 3., 3., 40, 20) Dislin.setfce ("top") Dislin.rot3d (0., 0., 0.) Dislin.matop3 (0.0, 1.0, 1.0, "diffuse") Dislin.plat3d (4., 4., 3., 3., "icos") Dislin.rot3d (0., 0., 0.) Dislin.matop3 (1.0, 1.0, 0.0, "diffuse") Dislin.sphe3d (0., 0., 0., 3., 40, 20) Dislin.rot3d (0., 0., -20.) Dislin.matop3 (0.0, 0.0, 1.0, "diffuse") Dislin.quad3d (-4., -4., -3., 3., 3., 3.) Dislin.rot3d (0., 0., 30.) Dislin.matop3 (1.0, 0.3, 0.3, "diffuse") Dislin.pyra3d (-2., -5., -10., 3., 5., 5., 4) Dislin.rot3d (0., 0., 0.) Dislin.matop3 (1.0, 0.0, 0.0, "diffuse") Dislin.torus3d (7., -3., -2., 1.5, 3.5, 1.5, 0., 360., 40, 20) Dislin.rot3d (0., 90., 0.) Dislin.matop3 (0.0, 1.0, 0.0, "diffuse") Dislin.torus3d (7., -5., -2., 1.5, 3.5, 1.5, 0., 360., 40, 20) Dislin.zbffin () Dislin.disfin () END
Map Plot / FreeBASIC
#INCLUDE "dislin.bi" Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.axspos (400, 1850) Dislin.axslen (2400, 1400) Dislin.name ("Longitude", "X") Dislin.name ("Latitude", "Y") Dislin.titlin ("World Coastlines and Lakes", 3) Dislin.labels ("MAP", "XY") Dislin.labdig (-1, "XY") Dislin.grafmp (-180.0, 180.0, -180.0, 90.0, _ -90.0, 90.0, -90.0, 30.0) Dislin.gridmp (1,1) Dislin.color ("green") Dislin.world () Dislin.color ("fore") Dislin.height (50) Dislin.title () Dislin.disfin () END
TeX Instructions for Mathematical Formulas / FreeBASIC
#INCLUDE "dislin.bi" DIM AS STRING cstr DIM AS INTEGER nl Dislin.setpag ("da4p") Dislin.scrmod ("revers") Dislin.metafl ("cons") Dislin.disini () Dislin.pagera () Dislin.complx () Dislin.height (40) cstr = "TeX Instructions for Mathematical Formulas" nl = Dislin.nlmess (cstr) Dislin.messag (cstr, (2100 - nl)/2, 100) Dislin.texmod ("on") Dislin.messag ("$\frac{1}{x+y}$", 150, 400) Dislin.messag ("$\frac{a^2 - b^2}{a+b} = a - b$", 1200, 400) Dislin.messag ("$r = \sqrt{x^2 + y^2}$", 150, 700) Dislin.messag ("$\cos \phi = \frac{x}{\sqrt{x^2 + y^2}}$", 1200, 700) Dislin.messag ("$\Gamma(x) = \int_0^\infty e^{-t}t^{x-1}dt$", 150, 1000) Dislin.messag ("$\lim_{x \to \infty} (1 + \frac{1}{x})^x = e$", _ 1200, 1000) Dislin.messag ("$\mu = \sum_{i=1}^n x_i p_i$", 150, 1300) Dislin.messag ("$\mu = \int_{-\infty}^ \infty x f(x) dx$", 1200, 1300) Dislin.messag ("$\overline{x} = \frac{1}{n} \sum_{i=1}^n x_i$", 150, 1600) Dislin.messag ("$s^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \overline{x})^2$", _ 1200, 1600) Dislin.messag ("$\sqrt[n]{\frac{x^n - y^n}{1 + u^{2n}}}$", 150, 1900) Dislin.messag ("$\sqrt[3]{-q + \sqrt{q^2 + p^3}}", 1200, 1900) Dislin.messag ("$\int \frac{dx}{1+x^2} = \arctan x + C$", 150, 2200) Dislin.messag ("$\int \frac{dx}{\sqrt{1+x^2}} = {\rm arsinh} x + C", _ 1200, 2200) Dislin.messag ("$\overline{P_1P_2} = \sqrt{(x_2-x_1)^2 + (y_2-y_1)^2}$", _ 150,2500) Dislin.messag ("$x = \frac{x_1 + \lambda x_2}{1 + \lambda}$", 1200, 2500) Dislin.disfin ()

News
Support for Python 3.11 and Windows
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
Release 11.4
15. March 2021
Support for Free Pascal 64-bit on Windows
22. July 2020
Upgrade 11.3.3
28. June 2020
Upgrade 11.3.2
19. May 2020
DISLIN Book Version 11 is available
8. March 2017
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
Release 11.4
15. March 2021
Support for Free Pascal 64-bit on Windows
22. July 2020
Upgrade 11.3.3
28. June 2020
Upgrade 11.3.2
19. May 2020
DISLIN Book Version 11 is available
8. March 2017