DISLIN Examples / C
Demonstration of CURVE / C
#include <stdio.h> #include <math.h> #include "dislin.h" int main () { int n = 100, i, ic; double fpi = 3.1415926 / 180.0, step, x; float xray[100], y1ray[100], y2ray[100]; step = 360. / (n - 1); for (i = 0; i < n; i++) { xray[i] = (float) (i * step); x = xray[i] * fpi; y1ray[i] = (float) sin (x); y2ray[i] = (float) cos (x); } metafl ("cons"); scrmod ("revers"); disini (); pagera (); complx (); axspos (450, 1800); axslen (2200, 1200); name ("X-axis", "x"); name ("Y-axis", "y"); labdig (-1, "x"); ticks (9, "x"); ticks (10, "y"); titlin ("Demonstration of CURVE", 1); titlin ("SIN(X), COS(X)", 3); ic = intrgb (0.95,0.95,0.95); axsbgd (ic); graf (0.0, 360.0, 0.0, 90.0, -1.0, 1.0, -1.0, 0.5); setrgb (0.7, 0.7, 0.7); grid (1, 1); color ("fore"); height (50); title (); color ("red"); curve (xray, y1ray, n); color ("green"); curve (xray, y2ray, n); disfin (); return 0; }
Polar Plots / C
#include <stdio.h> #include <math.h> #include "dislin.h" int main () { int n = 300, m = 10, i, ic; double f = 3.1415926 / 180.0, step, a; float xray[300], yray[300], x2[10], y2[10]; step = 360. / (n - 1); for (i = 0; i < n; i++) { a = i * step * f; yray[i] = (float) a; xray[i] = (float) sin (5 * a); } for (i = 0; i < m; i++) { x2[i] = i + 1; y2[i] = i + 1; } setpag ("da4p"); metafl ("cons"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (450,1800); titlin ("Polar Plots", 2); ticks (3, "Y"); axends ("NOENDS", "X"); labdig (-1, "Y"); axslen (1000, 1000); axsorg (1050, 900); ic = intrgb (0.95, 0.95, 0.95); axsbgd (ic); grafp (1.0, 0.0, 0.2, 0.0, 30.0); color ("blue"); curve (xray, yray, n); color ("fore"); htitle (50); title (); endgrf (); labdig (-1, "X"); axsorg (1050, 2250); labtyp ("VERT", "Y"); grafp (10.0, 0.0, 2.0, 0.0, 30.0); barwth (-5.0); polcrv ("FBARS"); color ("blue"); curve (x2, y2, m); disfin (); return 0; }
Symbols / C
#include <stdio.h> #include "dislin.h" int main () { int nl, ny, i, nxp; char ctit[] = "Symbols", cstr[80]; scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); complx (); height (60); nl = nlmess (ctit); messag (ctit, (2100 - nl) / 2, 200); height (50); hsymbl (120); ny = 150; for (i = 0; i < 24; i++) { if ((i % 4) == 0) { ny += 400; nxp = 550; } else { nxp += 350; } nl = intcha (i, cstr); nl = nlmess (cstr) / 2; messag (cstr, nxp - nl, ny + 150); symbol (i, nxp, ny); } disfin (); return 0; }
Interpolation Methods / C
#include <stdio.h> #include "dislin.h" int main () { int nya = 2700, i, nx, ny, ic; float x[] = {0.0, 1.0, 3.0, 4.5, 6.0, 8.0, 9.0, 11.0, 12.0, 12.5, 13.0, 15.0, 16.0, 17.0, 19.0, 20.0}, y[] = {2.0, 4.0, 4.5, 3.0, 1.0, 7.0, 2.0, 3.0, 5.0, 2.0, 2.5, 2.0, 4.0, 6.0, 5.5, 4.0}; char *cpol[6] = {"SPLINE", "STEM", "BARS", "STAIRS", "STEP", "LINEAR"}; char *ctit = "Interpolation Methods"; setpag ("da4p"); metafl ("cons"); scrmod ("revers"); disini (); complx (); pagera (); incmrk (1); hsymbl (25); titlin (ctit, 2); axslen (1500, 350); setgrf ("line", "line", "line", "line"); ic = intrgb (1.0, 1.0, 0.0); axsbgd (ic); for (i = 0; i < 6; i++) { axspos (350, nya - i * 350); polcrv (cpol[i]); marker(16); graf (0.0, 20.0, 0.0, 5.0, 0.0, 10.0, 0.0, 5.0); nx = nxposn (1.0); ny = nyposn (8.0); messag (cpol[i], nx, ny); color ("red"); curve (x, y, 16); color ("fore"); if (i == 5) { height (50); title (); } endgrf (); } disfin (); return 0; }
Bar Graphs / C
#include <stdio.h> #include "dislin.h" int main () { int nya = 2700, i; char *ctit = "Bar Graphs (BARS)", cbuf[25]; float x[9] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0}, y[9] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, y1[9] = {1.0, 1.5, 2.5, 1.3, 2.0, 1.2, 0.7, 1.4, 1.1}, y2[9] = {2.0, 2.7, 3.5, 2.1, 3.2, 1.9, 2.0, 2.3, 1.8}, y3[9] = {4.0, 3.5, 4.5, 3.7, 4.0, 2.9, 3.0, 3.2, 2.6}; scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); complx (); ticks (1, "x"); intax ();; axslen (1600, 700); titlin (ctit, 3); legini (cbuf, 3, 8); leglin (cbuf, "FIRST", 1); leglin (cbuf, "SECOND", 2); leglin (cbuf, "THIRD", 3); legtit (" "); shdpat (5); for (i = 1; i <= 3; i++) { if (i > 1) labels ("none", "x"); axspos (300, nya - (i - 1) * 800); graf (0.0, 10.0, 0.0, 1.0, 0.0, 5.0, 0.0, 1.0); if (i == 1) { bargrp (3, 0.15); color ("red"); bars (x, y, y1, 9); color ("green"); bars (x, y, y2, 9); color ("blue"); bars (x, y, y3, 9); color ("fore"); reset ("bargrp"); } else if (i == 2) { height (30); labels ("delta", "bars"); labpos ("center", "bars"); color ("red"); bars (x, y, y1, 9); color ("green"); bars (x, y1, y2, 9); color ("blue"); bars (x, y2, y3, 9); color ("fore"); reset ("height"); } else if (i == 3) { labels ("second", "bars"); labpos ("outside", "bars"); color ("red"); bars (x, y, y1, 9); color ("fore"); } if (i != 3) legend (cbuf, 7); if (i == 3) { height (50); title (); } endgrf (); } disfin (); return 0; }
Pie Charts / C
#include <stdio.h> #include "dislin.h" int main () { int nya = 2800, i; char *ctit = "Pie Charts (PIEGRF)", cbuf[41]; float xray[5] = {1.0, 2.5, 2.0, 2.7, 1.8}; scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); complx (); axslen (1600, 1000); titlin (ctit, 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); for (i = 0; i < 2; i++) { axspos (250, nya - i * 1200); if (i == 1) { labels ("data", "pie"); labpos ("external", "pie"); } piegrf (cbuf, 1, xray, 5); if (i == 1) { height (50); title (); } endgrf (); } disfin (); return 0; }
3-D Bar Graph / 3-D Pie Chart / C
#include <stdio.h> #include "dislin.h" int main () { char cbuf[80]; float xray[5] = {2.0, 4.0, 6.0, 8.0, 10.0}, y1ray[5] = {0.0, 0.0, 0.0, 0.0, 0.0}, y2ray[5] = {3.2, 1.5, 2.0, 1.0, 3.0}; int ic1ray[5] = {50, 150, 100, 200, 175}, ic2ray[5] = {50, 150, 100, 200, 175}; scrmod ("revers"); setpag ("da4p"); metafl ("cons"); 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.0, 12.0, 0.0, 2.0, 0.0, 5.0, 0.0, 1.0); 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 (); return 0; }
3-D Bars / BARS3D / C
#include <stdio.h> #include "dislin.h" #define N 18 int main () { float xwray[N],ywray[N]; int i; char cbuf[80]; float xray[N] = {1.0, 3.0, 8.0, 1.5, 9.0, 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}; float yray[N] = {5.0, 8.0, 3.5, 2.0, 7.0, 1.0, 4.3, 7.2, 6.0, 8.5, 4.1, 5.0, 7.3, 2.8, 1.6, 8.9, 9.5, 3.2}; float z1ray[N] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; float z2ray[N] = {4.0, 5.0, 3.0, 2.0, 3.5, 4.5, 2.0, 1.6, 3.8, 4.7, 2.1, 3.5, 1.9, 4.2, 4.9, 2.8, 3.6, 4.3}; int icray[N] = {30, 30, 30, 30, 30, 30, 100, 100, 100, 100, 100, 100, 170, 170, 170, 170, 170, 170}; for (i = 0; i < N; i++) { xwray[i] = (float) 0.5; ywray[i] = (float) 0.5; } scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); hwfont (); axspos (200, 2600); axslen (1800, 1800); name ("X-axis", "x"); name ("Y-axis", "y"); name ("Z-axis", "z"); titlin ("3-D Bars / BARS3D", 3); labl3d ("hori"); graf3d (0.0, 10.0, 0.0, 2.0, 0.0, 10.0, 0.0, 2.0, 0.0, 5.0, 0.0, 1.0); grid3d (1, 1, "bottom"); bars3d (xray, yray, z1ray, z2ray, xwray, ywray, icray, N); legini (cbuf, 3, 20); legtit (" "); legpos (1350, 1150); leglin (cbuf, "First", 1); leglin (cbuf, "Second", 2); leglin (cbuf, "Third", 3); legend (cbuf, 3); height (50); title (); disfin (); return 0; }
Shading Patterns / C
#include <stdio.h> #include "dislin.h" int main () { int ixp[4], iyp[4], nl, nx, nx0 = 335, ny0 = 350, ny, i, j, ii, k, iclr; int ix[4] = {0, 300, 300, 0}, iy[4] = {0, 0, 400, 400}; char *ctit = "Shading Patterns (AREAF)", cstr[80]; scrmod ("revers"); metafl ("cons"); disini (); pagera (); complx (); setvlt ("small"); height (50); nl = nlmess (ctit); nx = (2970 - nl) / 2; messag (ctit, nx, 200); iclr = 0; for (i = 0; i < 3; i++) { ny = ny0 +i * 600; for (j = 0; j < 6; j++) { nx = nx0 + j * 400; ii = i * 6 + j; nl = intcha (ii, cstr); shdpat (ii); iclr = iclr % 16; iclr++; setclr (iclr); for (k = 0; k < 4; k++) { ixp[k] = ix[k] + nx; iyp[k] = iy[k] + ny; } areaf (ixp, iyp, 4); nl = nlmess (cstr); nx += (300 - nl) / 2; messag (cstr, nx, ny + 460); } } disfin (); return 0; }
3-D Colour Plot / C
#include <stdio.h> #include <math.h> #include "dislin.h" float zmat[100][100]; int main () { int n = 100, i, j; double fpi = 3.1415927 / 180.0, step, x, y; step = 360.0 / (n - 1); for (i = 0; i < n; i++) { x = i * step; for (j = 0; j < n; j++) { y = j * step; zmat[i][j] = (float) (2 * sin (x * fpi) *sin (y * fpi)); } } scrmod ("revers"); metafl ("cons"); disini (); pagera (); hwfont (); titlin ("3-D Colour Plot of the Function", 2); titlin ("F(X,Y) = 2 * SIN(X) * SIN(Y)", 4); name ("X-axis", "x"); name ("Y-axis", "y"); name ("Z-axis", "z"); intax (); autres (n, n); axspos (300, 1850); ax3len (2200, 1400, 1400); 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); crvmat ((float *) zmat, n, n, 1, 1); height (50); title (); disfin (); return 0; }
Surface Plot / C
#include <stdio.h> #include <math.h> #include "dislin.h" float zmat[50][50]; int main () { int n = 50 ,i, j; double fpi = 3.1415927 / 180.0, step, x, y; char *ctit1 = "Surface Plot (SURMAT)", *ctit2 = "F(X,Y) = 2*SIN(X)*SIN(Y)"; step = 360.0 / (n - 1); for (i = 0; i < n; i++) { x = i * step; for (j = 0; j < n; j++) { y = j * step; zmat[i][j] = (float) (2 * sin (x * fpi) * sin (y * fpi)); } } scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); complx (); axspos (200, 2600); axslen (1800, 1800); name ("X-axis", "x"); name ("Y-axis", "y"); name ("Z-axis", "z"); titlin (ctit1, 2); titlin (ctit2, 4); view3d (-5.0, -5.0, 4.0, "abs"); 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); height (50); title (); color ("green"); surmat ((float *) zmat, 50, 50, 1, 1); disfin (); return 0; }
Shaded Surface Plot / C
#include <stdio.h> #include <math.h> #include "dislin.h" float zmat[50][50], xray[50], yray[50]; int main () { int n = 50 ,i, j; double fpi = 3.1415927 / 180.0, step, x, y; char *ctit1 = "Shaded Surface Plot", *ctit2 = "F(X,Y) = 2*SIN(X)*SIN(Y)"; step = 360.0/ (n - 1); for (i = 0; i < n; i++) { x = i * step; xray[i] = x; for (j = 0; j < n; j++) { y = j * step; yray[j] = y; zmat[i][j] = (float) (2 * sin (x * fpi) * sin (y * fpi)); } } scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); complx (); axspos (200, 2600); axslen (1800, 1800); name ("X-axis", "x"); name ("Y-axis", "y"); name ("Z-axis", "z"); titlin (ctit1, 2); titlin (ctit2, 4); view3d (-5.0, -5.0, 4.0, "abs"); 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); height (50); title (); shdmod ("smooth", "surface"); surshd (xray, n, yray, n, (float *) zmat); disfin (); return 0; }
Contour Plot / C
#include <stdio.h> #include <math.h> #include "dislin.h" float xray[50], yray[50], zmat[50][50]; int main () { int n = 50, i, j; double fpi = 3.14159 / 180.0, step, x, y; float zlev; step = 360.0/ (n - 1); for (i = 0; i < n; i++) { xray[i] = (float) (i * step); yray[i] = (float) (i * step); } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { x = xray[i] * fpi; y = yray[j] * fpi; zmat[i][j] = (float) (2 * sin (x) * sin (y)); } } scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); complx (); pagera (); titlin ("Contour Plot", 1); titlin ("F(X,Y) = 2 * SIN(X) * SIN(Y)", 3); name ("X-axis", "x"); name ("Y-axis", "y"); intax (); axspos (450, 2670); graf (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0); height (30); for (i = 0; i < 9; i++) { zlev = (float) (-2.0 + i * 0.5); setclr ((i + 1) * 25); if (i == 4) labels ("none", "contur"); else labels ("float", "contur"); contur (xray, n, yray, n,(float *) zmat, zlev); } height (50); color ("fore"); title (); disfin (); return 0; }
Shaded Contour Plot / C
#include <stdio.h> #include <math.h> #include "dislin.h" float xray[50], yray[50], zmat[50][50]; int main () { int n = 50, i, j; double step, x, y; float zlev[12]; step = 1.6 / (n - 1); for (i = 0; i < n; i++) { x = 0.0 + i * step; xray[i] = (float) x; for (j = 0; j < n; j++) { y = 0.0 + j * step; yray[j] = (float) y; zmat[i][j] = (float) ((x * x - 1.0) * (x * x - 1.0) + (y * y - 1.0) * (y * y - 1.0)); } } scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); complx (); mixalf (); titlin ("Shaded Contour Plot", 1); titlin ("F(X,Y) = (X[2$ - 1)[2$ + (Y[2$ - 1)[2$", 3); name ("X-axis", "x"); name ("Y-axis", "y"); shdmod ("poly", "contur"); axspos (450, 2670); graf (0.0, 1.6, 0.0, 0.2, 0.0, 1.6, 0.0, 0.2); for (i = 1; i <= 12; i++) zlev[12-i] = (float) (0.1 + (i - 1) * 0.1); conshd (xray, n, yray, n, (float *) zmat, zlev, 12); height (50); title (); disfin (); return 0; }
Shaded Surface / Contour Plot / C
#include <stdio.h> #include <math.h> #include "dislin.h" float zmat[50][50], xray[50], yray[50], zlev[20]; int main () { int n = 50 ,i, j, nlev = 20; double fpi = 3.1415927 / 180.0, step, x, y; char *ctit1 = "Shaded Surface / Contour Plot", *ctit2 = "F(X,Y) = 2*SIN(X)*SIN(Y)"; step = 360.0 / (n - 1); for (i = 0; i < n; i++) { x = i * step; xray[i] = (float) x; for (j = 0; j < n; j++) { y = j * step; yray[j] = (float) y; zmat[i][j] = (float) (2 * sin (x * fpi) * sin (y * fpi)); } } scrmod ("revers"); setpag ("da4p"); metafl ("cons"); disini (); pagera (); hwfont (); axspos (200, 2600); axslen (1800, 1800); name ("X-axis", "x"); name ("Y-axis", "y"); name ("Z-axis", "z"); titlin (ctit1, 2); titlin (ctit2, 4); graf3d (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0, -2.0, 2.0, -2.0, 1.0); height (50); title (); grfini (-1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0); nograf (); graf (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0); step = 4.0 / nlev; for (i = 0; i < nlev; i++) zlev[i] = (float) (-2.0 + i * step); conshd (xray, n, yray, n, (float *) zmat, zlev, nlev); box2d (); reset ("nograf"); grffin (); shdmod ("smooth", "surface"); surshd (xray, n, yray, n, (float *) zmat); disfin (); return 0; }
Spheres and Tubes / C
#include <stdio.h> #include "dislin.h" int main () { int i, j1, j2, iret; float x[17] = {10.0, 20.0, 10.0, 20.0, 5.0, 15.0, 25.0, 5.0, 15.0, 25.0, 5.0, 15.0, 25.0, 10.0, 20.0, 10.0, 20.0}; float y[17] = {10.0, 10.0, 20.0, 20.0, 5.0, 5.0, 5.0, 15.0, 15.0, 15.0, 25.0, 25.0, 25.0, 10.0, 10.0, 20.0, 20.0}; float z[17] = {5.0, 5.0, 5.0, 5.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 25.0, 25.0, 25.0, 25.0}; int idx[] = {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}; setpag ("da4p"); scrmod ("revers"); metafl ("cons"); disini (); pagera (); hwfont (); light ("on"); matop3 (0.02, 0.02, 0.02, "specular"); clip3d ("none"); axspos (0, 2500); axslen (2100, 2100); htitle (50); titlin ("Spheres and Tubes", 4); name ("X-axis", "x"); name ("Y-axis", "y"); name ("Z-axis", "z"); labdig (-1, "xyz"); labl3d ("hori"); graf3d (0.0, 30.0, 0.0, 5.0, 0.0, 30.0, 0.0, 5.0, 0.0, 30.0, 0.0, 5.0); title (); shdmod ("smooth", "surface"); iret = zbfini (); matop3 (1.0, 0.0, 0.0, "diffuse"); for (i = 0; i < 17; i++) sphe3d (x[i], y[i], z[i], 2.0, 50, 25); matop3 (0.0, 1.0, 0.0, "diffuse"); for (i = 0; i < 56; i += 2) { j1 = idx[i] - 1; j2 = idx[i+1] - 1; tube3d (x[j1], y[j1], z[j1], x[j2], y[j2], z[j2], 0.5, 5, 5); } zbffin (); disfin (); return 0; }
Some Solids / C
#include <stdio.h> #include "dislin.h" int main () { int iret; setpag ("da4p"); scrmod ("revers"); metafl ("cons"); disini (); pagera (); hwfont (); light ("on"); litop3 (1, 0.5, 0.5, 0.5, "ambient"); clip3d ("none"); axspos (0, 2500); axslen (2100, 2100); htitle (60); titlin ("Some Solids", 4); nograf (); graf3d (-5.0, 5.0, -5.0, 2.0, -5.0, 5.0, -5.0, 2.0, -5.0, 5.0, -5.0, 2.0); title (); shdmod ("smooth", "surface"); iret = zbfini (); matop3 (1.0, 0.5, 0.0, "diffuse"); tube3d (-3.0, -3.0, 8.0, 2.0, 3.0, 5.5, 1.0, 40, 20); rot3d (-60.0, 0.0, 0.0); matop3 (1.0, 0.0, 1.0, "diffuse"); setfce ("bottom"); matop3 (1.0, 0.0, 0.0, "diffuse"); cone3d (-3.0, -3.0, 3.5, 2.0, 3.0, 3.0, 40, 20); setfce ("top"); rot3d (0.0, 0.0, 0.0); matop3 (0.0, 1.0, 1.0, "diffuse"); plat3d (4.0, 4.0, 3.0, 3.0, "icos"); rot3d (0.0, 0.0, 0.0); matop3 (1.0, 1.0, 0.0, "diffuse"); sphe3d (0.0, 0.0, 0.0, 3.0, 40, 20); rot3d (0.0, 0.0, -20.0); matop3 (0.0, 0.0, 1.0, "diffuse"); quad3d (-4.0, -4.0, -3.0, 3.0, 3.0, 3.0); rot3d (0.0, 0.0, 30.0); matop3 (1.0, 0.3, 0.3, "diffuse"); pyra3d (-2.0, -5.0, -10.0, 3.0, 5.0, 5.0, 4); rot3d (0.0, 0.0, 0.0); matop3 (1.0, 0.0, 0.0, "diffuse"); torus3d (7.0, -3.0, -2.0, 1.5, 3.5, 1.5, 0.0, 360.0, 40, 20); rot3d (0.0, 90.0, 0.0); matop3 (0.0, 1.0, 0.0, "diffuse"); torus3d (7.0, -5.0, -2.0, 1.5, 3.5, 1.5, 0.0, 360.0, 40, 20); zbffin (); disfin (); return 0; }
Map Plot / C
#include <stdio.h> #include "dislin.h" int main () { scrmod ("revers"); metafl ("cons"); disini (); pagera (); complx (); frame (3); axspos (400, 1850); axslen (2400, 1400); name ("Longitude", "x"); name ("Latitude", "y"); titlin ("World Coastlines and Lakes", 3); labels ("map", "xy"); grafmp (-180.0, 180.0, -180.0, 90.0, -90.0, 90.0, -90.0, 30.0); gridmp (1, 1); color ("green"); world (); color ("fore"); height (50); title (); disfin (); return 0; }
TeX Instructions for Mathematical Formulas / C
#include <stdio.h> #include "dislin.h" int main () { char cstr[80] = "TeX Instructions for Mathematical Formulas"; int nl; scrmod ("revers"); setpag ("da4p"); metafl ("cons"); 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 (); return 0; }

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