DISLIN Beispiele / 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
Update 11.5.2
8. April 2024
Support für Python 3.11 und Windows
28. Juli 2023
Bugfix für die X11-Distributionen
22. Juli 2023
Update 11.5.1
25. April 2023
Support für Linux 64-bit auf IBM z Rechnern
30. Oktober 2022
Support für MingW 64-bit mit UCRT Runtime-Umgebung
28. September 2022
Release 11.5
15. März 2022
Release 11.4
15. März 2021
Support für Free Pascal 64-bit unter Windows
22. Juli 2020
Upgrade 11.3.3
28. Juni 2020
DISLIN-Buch Version 11 ist erhältlich
8. März 2017
8. April 2024
Support für Python 3.11 und Windows
28. Juli 2023
Bugfix für die X11-Distributionen
22. Juli 2023
Update 11.5.1
25. April 2023
Support für Linux 64-bit auf IBM z Rechnern
30. Oktober 2022
Support für MingW 64-bit mit UCRT Runtime-Umgebung
28. September 2022
Release 11.5
15. März 2022
Release 11.4
15. März 2021
Support für Free Pascal 64-bit unter Windows
22. Juli 2020
Upgrade 11.3.3
28. Juni 2020
DISLIN-Buch Version 11 ist erhältlich
8. März 2017