DISLIN Beispiele / Free Pascal
Demonstration of CURVE / Free Pascal
program dislin_curve; uses dislin; const n = 100; var i, ic : int32; fpi, step, x : double; xray, y1ray, y2ray : array[0..n-1] of double; begin fpi := 3.1415926 / 180.0; step := 360.0 / (n - 1); for i:= 0 to n - 1 do begin xray[i] := i * step; x := xray[i] * fpi; y1ray[i] := sin (x); y2ray[i] := cos (x); end; metafl ('cons'); scrmod ('reverse'); 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[0], @y1ray[0], n); color ('green'); curve (@xray[0], @y2ray[0], n); disfin (); end. }
Polar Plots / Free Pascal
program dislin_polar; uses dislin; const n = 300; m = 10; var i, ic : int32; f, step, a : double; xray, yray : array[0..n-1] of double; x2, y2 : array[0..m-1] of double; begin f := 3.1415926 / 180.0; step := 360.0 / (n - 1); for i:= 0 to n - 1 do begin a := i * step * f; yray[i] := a; xray[i] := sin (5 * a); end; for i:= 0 to m - 1 do begin x2[i] := i + 1; y2[i] := i + 1; end; 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[0], @yray[0], 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[0], @y2[0], m); disfin (); end.
Symbols / Free Pascal
program dislin_symbols; uses dislin; var nl, ny, i, nxp : int32; ctit, cstr : AnsiString; begin ctit := 'Symbols'; SetLength (cstr, 80); scrmod ('revers'); setpag ('da4p'); metafl ('cons'); disini (); pagera (); complx (); height (60); nl := nlmess (ctit); nxp := (2100 - nl) div 2; messag (ctit, nxp, 200); height (50); hsymbl (120); ny := 150; for i := 0 to 23 do begin if (i mod 4) = 0 then begin ny := ny + 400; nxp := 550; end else begin nxp := nxp + 350; end; nl := intcha (i, cstr); nl := nlmess (cstr) div 2; messag (cstr, nxp - nl, ny + 150); symbol (i, nxp, ny); end; disfin (); end.
Interpolation Methods / Free Pascal
program dislin_intpol; uses dislin; const n = 16; var nya : int32 = 2700; i, nx, ny, ic : int32; x : array[0..n-1] of double = (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 : array[0..n-1] of double = (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); cpol : array[0..5] of ansistring = ('SPLINE', 'STEM', 'BARS', 'STAIRS', 'STEP', 'LINEAR'); ctit : ansistring = 'Interpolation Methods'; begin 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 to 5 do begin 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 then begin height (50); title (); end; endgrf (); end; disfin (); end.
Bar Graphs / Free Pascal
program dislin_bars; uses dislin; var nya, i : int32; ctit : ansistring = 'Bar Graphs (BARS)'; cbuf : ansistring; x : array[0..8] of double = (1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0); y : array[0..8] of double = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); y1 : array[0..8] of double = (1.0, 1.5, 2.5, 1.3, 2.0, 1.2, 0.7, 1.4, 1.1); y2 : array[0..8] of double = (2.0, 2.7, 3.5, 2.1, 3.2, 1.9, 2.0, 2.3, 1.8); y3 : array[0..8] of double = (4.0, 3.5, 4.5, 3.7, 4.0, 2.9, 3.0, 3.2, 2.6); begin nya := 2700; SetLength (cbuf, 25); 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 to 3 do begin if i > 1 then 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 then begin bargrp (3, 0.15); color ('red'); bars (@x[0], @y[0], @y1[0], 9); color ('green'); bars (@x[0], @y[0], @y2[0], 9); color ('blue'); bars (@x[0], @y[0], @y3[0], 9); color ('fore'); reset ('bargrp'); end else if i = 2 then begin height (30); labels ('delta', 'bars'); labpos ('center', 'bars'); color ('red'); bars (@x[0], @y[0], @y1[0], 9); color ('green'); bars (@x[0], @y1[0], @y2[0], 9); color ('blue'); bars (@x[0], @y2[0], @y3[0], 9); color ('fore'); reset ('height'); end else if i = 3 then begin labels ('second', 'bars'); labpos ('outside', 'bars'); color ('red'); bars (@x[0], @y[0], @y1[0], 9); color ('fore'); end; if i <> 3 then legend (cbuf, 7); if i = 3 then begin height (50); title (); end; endgrf (); end; disfin (); end.
Pie Charts / Free Pascal
program dislin_piegrf; uses dislin; var nya : int32 = 2800; i : int32; ctit : ansistring = 'Pie Charts (PIEGRF)'; cbuf : ansistring; xray : array[0..4] of double = (1.0, 2.5, 2.0, 2.7, 1.8); begin SetLength (cbuf, 41); 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 to 1 do begin axspos (250, nya - i * 1200); if i = 1 then begin labels ('data', 'pie'); labpos ('external', 'pie'); end; piegrf (cbuf, 1, xray, 5); if i = 1 then begin height (50); title (); end; endgrf (); end; disfin (); end.
3-D Bar Graph / 3-D Pie Chart / Free Pascal
program dislin_pie3d; uses dislin; var cbuf : ansistring; xray : array[0..4] of double = (2.0, 4.0, 6.0, 8.0, 10.0); y1ray : array[0..4] of double = (0.0, 0.0, 0.0, 0.0, 0.0); y2ray : array[0..4] of double = (3.2, 1.5, 2.0, 1.0, 3.0); ic1ray : array[0..4] of int32 = (50, 150, 100, 200, 175); ic2ray : array[0..4] of int32 = (50, 150, 100, 200, 175); begin SetLength (cbuf, 80); 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[0], @y1ray[0], @y2ray[0], 5); endgrf (); shdpat (16); labels ('data', 'pie'); labclr (255, 'pie'); chnpie ('none'); pieclr (@ic1ray[0], @ic2ray[0], 5); pietyp ('3d'); axspos (300, 2700); piegrf (cbuf, 0, @y2ray[0], 5); disfin (); end.
3-D Bars / BARS3D / Free Pascal
program dislin_bars3d; uses dislin; const n = 18; var i : int32; cbuf : ansistring; xray : array[0..n-1] of double = (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); yray : array[0..n-1] of double = (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); z1ray : array[0..n-1] of double = (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); z2ray : array[0..n-1] of double = (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); icray : array[0..n-1] of int32 = (30, 30, 30, 30, 30, 30, 100, 100, 100, 100, 100, 100, 170, 170, 170, 170, 170, 170); xwray : array[0..n-1] of double; ywray : array[0..n-1] of double; begin SetLength (cbuf, 80); for i := 0 to n - 1 do begin xwray[i] := 0.5; ywray[i] := 0.5; end; 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[0], @yray[0], @z1ray[0], @z2ray[0], @xwray[0], @ywray[0], @icray[0], 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 (); end.
Shading Patterns / Free Pascal
program dislin_patterns; uses dislin; var ctit : ansistring = 'Shading Patterns (AREAF)'; cstr : ansistring; nx, nl : int32; ny, i, j : int32; ii, k, iclr : int32; nx0 : int32 = 335; ny0 : int32 = 350; ixp : array[0..3] of int32; iyp : array[0..3] of int32; ix : array[0..3] of int32 = (0, 300, 300, 0); iy : array[0..3] of int32 = (0, 0, 400, 400); begin SetLength (cstr, 80); scrmod ('revers'); metafl ('cons'); disini (); pagera (); complx (); setvlt ('small'); height (50); nl := nlmess (ctit); nx := (2970 - nl) div 2; messag (ctit, nx, 200); iclr := 0; for i := 0 to 2 do begin ny := ny0 + i * 600; for j := 0 to 5 do begin nx := nx0 + j * 400; ii := i * 6 + j; nl := intcha (ii, cstr); shdpat (ii); iclr := iclr mod 8; iclr := iclr + 1; setclr (iclr); for k := 0 to 3 do begin ixp[k] := ix[k] + nx; iyp[k] := iy[k] + ny; end; areaf (@ixp[0], @iyp[0], 4); nl := nlmess (cstr); nx := nx + (300 - nl) div 2; messag (cstr, nx, ny + 460); end; end; disfin (); end.
3-D Colour Plot / Free Pascal
program dislin_color3d; uses dislin; const n = 100; m = 100; var i, j : int32; fpi, stepx, stepy, x, y : double; zmat : array[0..n*m-1] of double; begin stepx := 360.0 / (n - 1); stepy := 360.0 / (m - 1); fpi := 3.1415926 / 180.0; for i:= 1 to n do begin x := (i - 1) * stepx; for j:= 1 to m do begin y := (j - 1) * stepy; zmat[i - 1 + (j - 1) * m] := 2 * sin (x * fpi) * sin (y * fpi); end; end; 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 (zmat, n, m, 1, 1); height (50); title (); disfin (); end.
Surface Plot / Free Pascal
program dislin_surface; uses dislin; const n = 50; m = 50; var i, j : int32; fpi, stepx, stepy, x, y : double; zmat : array[0..n*m-1] of double; ctit1 : ansistring = 'Surface Plot (SURMAT)'; ctit2 : ansistring = 'F(X,Y) = 2*SIN(X)*SIN(Y)'; begin stepx := 360.0 / (n - 1); stepy := 360.0 / (m - 1); fpi := 3.1415926 / 180.0; for i:= 1 to n do begin x := (i - 1) * stepx; for j:= 1 to m do begin y := (j - 1) * stepy; zmat[i - 1 + (j - 1) * m] := 2 * sin (x * fpi) * sin (y * fpi); end; end; 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 (@zmat[0], n, m, 1, 1); disfin (); end.
Shaded Surface Plot / Free Pascal
program dislin_surshd; uses dislin; const n = 50; m = 50; var i, j : int32; fpi, stepx, stepy, x, y : double; zmat : array[0..n*m-1] of double; xray : array[0..n-1] of double; yray : array[0..m-1] of double; ctit1 :ansistring = 'Shaded Surface Plot'; ctit2 : ansistring = 'F(X,Y) = 2*SIN(X)*SIN(Y)'; begin stepx := 360.0 / (n - 1); stepy := 360.0 / (m - 1); fpi := 3.1415926 / 180.0; for i:= 1 to n do begin x := (i - 1) * stepx; xray[i] := x; for j:= 1 to m do begin y := (j - 1) * stepy; yray[j] := y; zmat[i - 1 + (j - 1) * m] := 2 * sin (x * fpi) * sin (y * fpi); end; end; 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[0], n, @yray[0], n, @zmat[0]); disfin (); end.
Contour Plot / Free Pascal
program dislin_contour; uses dislin; const n = 50; m = 50; var i, j : int32; fpi, stepx, stepy, x, y, zlev : double; zmat : array[0..n*m-1] of double; xray : array[0..n-1] of double; yray : array[0..m-1] of double; begin stepx := 360.0 / (n - 1); stepy := 360.0 / (m - 1); fpi := 3.1415926 / 180.0; for i := 0 to n - 1 do xray[i] := i * stepx; for j := 0 to m - 1 do yray[j] := j * stepy; for i := 1 to n do begin x := xray[i-1] * fpi; for j := 1 to m do begin y := yray[j-1] * fpi; zmat[i - 1 + (j - 1) * m] := 2 * sin (x) * sin (y); end; end; 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 to 8 do begin zlev := -2.0 + i * 0.5; setclr ((i + 1) * 25); if i = 4 then labels ('none', 'contur') else labels ('float', 'contur'); contur (@xray[0], n, @yray[0], m, @zmat[0], zlev); end; height (50); color ('fore'); title (); disfin (); end.
Shaded Contour Plot / Free Pascal
program dislin_conshd; uses dislin; const n = 50; m = 50; var i, j : int32; stepx, stepy, x, y : double; zmat : array[0..n*m-1] of double; xray : array[0..n-1] of double; yray : array[0..m-1] of double; zlev : array[0..11] of double; begin stepx := 1.6 / (n - 1); stepy := 1.6 / (m - 1); for i := 0 to n - 1 do begin x := 0.0 + i * stepx; xray[i] := x; for j := 0 to m - 1 do begin y := 0.0 + j * stepy; yray[j] := y; zmat[i + j * m] := (x * x - 1.0) * (x * x - 1.0) + (y * y - 1.0) * (y * y - 1.0); end; end; 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 to 12 do zlev[12-i] := 0.1 + (i - 1) * 0.1; conshd (@xray[0], n, @yray[0], n, @zmat[0], @zlev[0], 12); height (50); title (); disfin (); end.
Shaded Surface / Contour Plot / Free Pascal
program dislin_surcon uses dislin; const n = 50; m = 50; nlev = 20; var i, j : int32; fpi, step, stepx, stepy, x, y : double; zmat : array[0..n*m-1] of double; xray : array[0..n-1] of double; yray : array[0..m-1] of double; zlev : array[0..nlev-1] of double; ctit1 : ansistring = 'Shaded Surface / Contour Plot'; ctit2 : ansistring = 'F(X,Y) = 2*SIN(X)*SIN(Y)'; begin stepx := 360.0 / (n - 1); stepy := 360.0 / (m - 1); fpi := 3.1415926 / 180.0; for i:= 1 to n do begin x := (i - 1) * stepx; xray[i-1] := x; for j:= 1 to m do begin y := (j - 1) * stepy; yray[j] := y; zmat[i - 1 + (j - 1) * m] := 2 * sin (x * fpi) * sin (y * fpi); end; end; 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 to nlev - 1 do zlev[i] := -2.0 + i * step; conshd (@xray[0], n, @yray[0], n, @zmat[0], @zlev[0], nlev); box2d (); reset ('nograf'); grffin (); shdmod ('smooth', 'surface'); surshd (@xray[0], n, @yray[0], n, @zmat[0]); disfin (); end.
Spheres and Tubes / Free Pascal
Some Solids / Free Pascal
program dislin_spheres; uses dislin; var i, j1, j2 : int32; x : array[0..16] of double = (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); y : array[0..16] of double = (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); z : array[0..16] of double = (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); idx : array[0..55] of int32 = (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); begin 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'); i := zbfini (); matop3 (1.0, 0.0, 0.0, 'diffuse'); for i := 0 to 16 do sphe3d (x[i], y[i], z[i], 2.0, 50, 25); matop3 (0.0, 1.0, 0.0, 'diffuse'); i := 0; while (i < 56) do begin 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); i := i + 2; end; zbffin (); disfin (); end.
Map Plot / Free Pascal
program dislin_map; uses dislin; begin 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 (); end.
TeX Instructions for Mathematical Formulas / Free Pascal
program dislin_tex; uses dislin; var cstr : ansistring = 'TeX Instructions for Mathematical Formulas'; nl : int32; begin scrmod ('revers'); setpag ('da4p'); metafl ('cons'); disini (); pagera (); complx (); height (40); nl := nlmess (cstr); messag (cstr, (2100 - nl) div 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 (); end.
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