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 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
Upgrade 11.3.1
25. April 2020
Support for Go
31. March 2020
DISLIN Book Version 11 is available
8. March 2017
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
Upgrade 11.3.1
25. April 2020
Support for Go
31. March 2020
DISLIN Book Version 11 is available
8. March 2017