## DISLIN Beispiele / R

#### Demonstration of CURVE / R

source ("dislin.R")

n <- 300
fpi   <- 3.1415926 / 180
stp   <- 360.0 / (n - 1)
xray  <- double (n)
y1ray <- double (n)
y2ray <- double (n)

for (i in 1:n)
{ xray[i] <- (i - 1) * stp
x <- xray[i] * fpi
y1ray[i] <- sin (x)
y2ray[i] <- cos (x)
}

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, y1ray, n)
Dislin.color ("green")
Dislin.curve (xray, y2ray, n)
Dislin.disfin ()


#### Polar Plots / R

source ("dislin.R")

n  <- 300
m  <- 10
pi <- 3.1415926
f  <- pi / 180.0
step <- 360.0 /  (n - 1)

xray  <- double (n)
x1    <- double (n)
y1    <- double (n)

x2    <- double (m)
y2    <- double (m)

for (i in 1:n)
{ a <-  ((i  - 1) * step) * f
xray[i] <- i * step
x <- xray[i] * f
y1[i] <- a
x1[i] <- sin (5 * a)
}

for (i in 1:m)
{ x2[i] <- i
y2[i] <- i
}

Dislin.setpag ("da4p")
Dislin.scrmod ("revers")
Dislin.metafl ("cons")
Dislin.disini ()
Dislin.complx ()
Dislin.pagera ()

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, y1, 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, y2, m)

Dislin.disfin ()


#### Symbols / R

source ("dislin.R")

ctit <- "Symbols"

Dislin.scrmod ("revers")
Dislin.setpag ("da4p")
Dislin.metafl ("cons")

Dislin.disini ()
Dislin.pagera ()
Dislin.hwfont ()
Dislin.paghdr ("H. Michels  (", ")", 2, 0)

Dislin.height (60)
nl <- Dislin.nlmess (ctit)
Dislin.messag (ctit, (2100 - nl) / 2, 200)

Dislin.height (50)
Dislin.hsymbl (120)

ny <- 150
for (j in 1:24)
{ i <- j - 1
if ((i %% 4) == 0)
{ ny  <- ny + 400
nxp <- 550
}
else
{ nxp <- nxp + 350
}
nl <- Dislin.nlnumb (i, -1)
Dislin.number (i, -1, nxp - nl / 2, ny + 150)
Dislin.symbol (i, nxp, ny)
}
Dislin.disfin ()


#### Interpolation Methods / R

source ("dislin.R")

ctit <- "Interpolation Methods"
xray <- c(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)
yray <- c (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 <- c ("SPLINE", "STEM", "BARS", "STAIRS", "STEP", "LINEAR")

Dislin.scrmod ("revers")
Dislin.setpag ("da4p")
Dislin.metafl ("cons")

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")

nya <- 2700
for  (i in 0:5)
{ Dislin.axspos (350, nya - i * 350)
Dislin.polcrv (cpol[i+1])
Dislin.marker (0)
Dislin.graf (0.0, 20.0, 0.0, 5.0, 0.0, 10.0, 0.0, 5.0)
nx <- Dislin.nxposn (1.0)
ny <- Dislin.nyposn (8.0)
Dislin.messag (cpol[i+1], nx, ny)
Dislin.curve (xray, yray, 16)

if  (i == 5)
{ Dislin.height (50)
Dislin.title ()
}

Dislin.endgrf ()
}

Dislin.disfin ()


#### Bar Graphs / R

source  ("dislin.R")

x  <- c(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0)
y  <- c(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
y1 <- c(1.0, 1.5, 2.5, 1.3, 2.0, 1.2, 0.7, 1.4, 1.1)
y2 <- c(2.0, 2.7, 3.5, 2.1, 3.2, 1.9, 2.0, 2.3, 1.8)
y3 <- c(4.0, 3.5, 4.5, 3.7, 4.0, 2.9, 3.0, 3.2, 2.6)

cbuf <- raw (24)
nya  <- 2700
ctit <- "Bar Graphs (BARS)"

Dislin.scrmod ("revers")
Dislin.setpag ("da4p")
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 in 0:2)
{ if (i > 0)
{ Dislin.labels ("none", "x")
}

Dislin.axspos (300, nya - i * 800)
Dislin.graf   (0.0, 10.0, 0.0, 1.0, 0.0, 5.0, 0.0, 1.0)

if (i == 0)
{ Dislin.bargrp (3, 0.15)
Dislin.color  ("red")
Dislin.bars   (x, y, y1, 9)
Dislin.color  ("green")
Dislin.bars   (x, y, y2, 9)
Dislin.color  ("blue")
Dislin.bars   (x, y, y3, 9)
Dislin.color  ("fore")
Dislin.reset  ("bargrp")
}
else if (i == 1)
{ Dislin.height (30)
Dislin.labels ("delta","bars")
Dislin.labpos ("center","bars")
Dislin.color  ("red")
Dislin.bars   (x, y, y1, 9)
Dislin.color  ("green")
Dislin.bars   (x, y1, y2, 9)
Dislin.color  ("blue")
Dislin.bars   (x, y2, y3, 9)
Dislin.color  ("fore")
Dislin.reset  ("height")
}
else if (i == 2)
{ Dislin.labels ("second", "bars")
Dislin.labpos ("outside", "bars")
Dislin.color  ("red")
Dislin.bars   (x, y, y1, 9)
Dislin.color  ("fore")
}

if (i != 2)
{ Dislin.legend (cbuf, 7)
}

if (i == 2)
{ Dislin.height (50)
Dislin.title  ()
}
Dislin.endgrf ()
}
Dislin.disfin ()


#### Pie Charts / R

source ("dislin.R")

xray <- c(1.0, 2.5, 2.0, 2.7, 1.8)
ctit <- "Pie Charts (PIEGRF)"
rray <- raw (40)

Dislin.scrmod ("revers")
Dislin.setpag ("da4p")
Dislin.metafl ("cons")
Dislin.disini ()
Dislin.pagera ()
Dislin.complx ()
Dislin.chnpie ("BOTH")

Dislin.axslen (1600, 1000)
Dislin.titlin (ctit, 2)

Dislin.legini (rray, 5, 8)
Dislin.leglin (rray, "FIRST",  1)
Dislin.leglin (rray, "SECOND", 2)
Dislin.leglin (rray, "THIRD",  3)
Dislin.leglin (rray, "FOURTH", 4)
Dislin.leglin (rray, "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 (rray, 1, xray, 5)
Dislin.endgrf ()

Dislin.axspos (250, 1600)
Dislin.labels ("DATA", "PIE")
Dislin.labpos ("EXTERNAL", "PIE")
Dislin.piegrf (rray, 1, xray, 5)

Dislin.height (50)
Dislin.title ()
Dislin.disfin ()


#### 3-D Bar Graph / 3-D Pie Chart / R

source ("dislin.R")

xray  <- c(2.0, 4.0, 6.0, 8.0, 10.0)
y1ray <- c(0.0, 0.0, 0.0, 0.0, 0.0)
y2ray <- c(3.2, 1.5, 2.0, 1.0, 3.0)

ic1ray  <- c(50, 150, 100, 200, 175)
ic2ray  <- c(50, 150, 100, 200, 175)

Dislin.scrmod ("revers")
Dislin.metafl ("cons")
Dislin.setpag ("da4p")
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.0, 12.0, 0.0, 2.0, 0.0, 5.0, 0.0, 1.0)
Dislin.title  ()
Dislin.color  ("red")
Dislin.bars   (xray, y1ray, y2ray, 5)
Dislin.endgrf ()

Dislin.shdpat (16)
Dislin.labels ("data", "pie")
Dislin.labclr (255, "pie")
Dislin.chnpie ("none")
Dislin.pieclr (ic1ray, ic2ray, 5)
Dislin.pietyp ("3d")
Dislin.axspos (300, 2700)
cbuf <- raw (10)
Dislin.piegrf (cbuf, 0, y2ray, 5)
Dislin.disfin ()


#### 3-D Bars / BARS3D / R

source ("dislin.R")

n <- 18

xray  <-  c(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  <-  c(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 <-  c(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 <-  c(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 <-  c(30, 30, 30, 30, 30, 30, 100, 100, 100, 100,
100, 100, 170, 170, 170, 170, 170, 170)

xwray <- double (n)
ywray <- double (n)
for (i in 1:n)
{ xwray[i] <- 0.5
ywray[i] <- 0.5
}

Dislin.scrmod ("revers")
Dislin.metafl ("xwin")
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.0,10.0,0.0,2.0,0.0,10.0,0.0,2.0,0.0,5.0,0.0,1.0)
Dislin.grid3d (1, 1, "bottom")

Dislin.bars3d (xray, yray, z1ray, z2ray, xwray, ywray, icray, n)

cbuf <- raw (60)
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 ()


source ("dislin.R")

ix   <- c(0, 300, 300,  0)
iy   <- c(0,   0, 400, 400)
ixp  <- c(0, 0, 0, 0)
iyp  <- c(0, 0, 0, 0)

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 in 1:3)
{ ny <- ny0 + (i - 1) * 600
for (j in 1:6)
{ nx <- nx0 + (j - 1) * 400
ii <- (i - 1) * 6 + j - 1
Dislin.shdpat (ii)
iclr <- iclr %% 8
iclr <- iclr + 1
Dislin.setclr (iclr)
for (k in 1:4)
{ ixp[k] <- ix[k] + nx
iyp[k] <- iy[k] + ny
}

Dislin.areaf (ixp, iyp, 4)
nl <- Dislin.nlnumb (ii, -1)
nx <- nx + (300 - nl) / 2
Dislin.color ("foreground")
v <- ii
Dislin.number (v, -1, nx, ny + 460)
}
}
Dislin.disfin ()


#### 3-D Colour Plot / R

source ("dislin.R")

n <- 100
zmat <- matrix (0, n, n)

fpi <- 3.1415926 / 180
stp <- 360.0 / (n - 1)

for (i in 1:n)
{ x <- (i - 1) * stp
for (j in 1:n)
{ y <- (j - 1) * stp
zmat [i,j] <- 2 * sin (x * fpi) * sin (y * fpi)
}
}

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, n, n, 1, 1)

Dislin.height (50)
Dislin.title  ()
Dislin.disfin ()


#### Surface Plot / R

source ("dislin.R")

ctit1 <- "Surface Plot of the Function"
ctit2 <- "F(X,Y) = 2 * SIN(X) * SIN(Y)"

n <- 50
m <- 50
zmat <- matrix (0, n, m)

fpi <- 3.1415926 / 180
stpx <- 360.0 / (n - 1)
stpy <- 360.0 / (m - 1)

for (i in 1:n)
{ x <- (i - 1) * stpx
for (j in 1:m)
{ y <- (j - 1) * stpy
zmat [i,j] <- 2 * sin (x * fpi) * sin (y * fpi)
}
}

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 (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, n, m, 1, 1)
Dislin.disfin ()


#### Shaded Surface Plot / R

source  ("dislin.R")

ctit1 <- "Surface Plot of the Function"
ctit2 <- "F (X,Y) = 2 * SIN (X) * SIN (Y)"

n <- 50
m <- 50
xray <- double (n)
yray <- double (m)
zmat <- matrix (0, n, m)

fpi   <- 3.1415927 / 180.0
stepx <- 360.0 / (n - 1)
stepy <- 360.0 / (m - 1)

for (i in 1:n)
{ x <- (i - 1) * stepx
xray[i] <- x
for (j in 1:m)
{ y <- (j - 1) * stepy
yray[j] <- y
zmat[i,j] <- 2 * sin (x * fpi) * sin (y * fpi)
}
}

Dislin.metafl ("cons")
Dislin.scrmod ("revers")
Dislin.setpag ("da4p")
Dislin.disini ()
Dislin.pagera ()
Dislin.complx ()

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.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,n,yray,n,zmat)
Dislin.disfin ()


#### Contour Plot / R

source  ("dislin.R")

ctit1 <- "Contour Plot"
ctit2 <- "F (X,Y) = 2 * SIN (X) * SIN (Y)"

n <- 50
m <- 50
xray <- double (n)
yray <- double (m)
zmat <- matrix (0, n, m)

fpi <- 3.1415926 / 180
stpx <- 360.0 / (n - 1)
stpy <- 360.0 / (m - 1)

for (i in 1:n)
{ xray[i] <- (i - 1) * stpx
}

for (i in 1:m)
{ yray[i] <- (i - 1) * stpy
}

for (i in 1:n)
{ x <- (i - 1) * stpx
for (j in 1:m)
{ y <- (j - 1) * stpy
zmat [i,j] <- 2 * sin (x * fpi) * sin (y * fpi)
}
}

Dislin.scrmod ("revers")
Dislin.metafl ("cons")
Dislin.setpag ("da4p")
Dislin.disini ()
Dislin.pagera ()
Dislin.complx ()

Dislin.titlin (ctit1, 1)
Dislin.titlin (ctit2, 3)

Dislin.intax ()
Dislin.axspos (450, 2650)

Dislin.name ("X-axis", "X")
Dislin.name ("Y-axis", "Y")

Dislin.graf (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0)
Dislin.height (50)
Dislin.title ()

Dislin.height (30)
for (i in 0:8)
{ zlev <- -2.0 + i * 0.5
if (i == 4)
{ Dislin.labels ("NONE", "CONTUR")
}
else
{ Dislin.labels ("FLOAT", "CONTUR")
}

Dislin.setclr ( (i+1) * 28)
Dislin.contur (xray, n, yray, m, zmat, zlev)
}

Dislin.disfin ()


#### Shaded Contour Plot / R

source ("dislin.R")

ctit2 <- "F (X,Y) = (X[2$- 1)[2$ + (Y[2$- 1)[2$"

n <- 50
m <- 50
xray <- double (n)
yray <- double (m)
zlev <- double (12)
zmat <- matrix (0, n, m)

stpx <- 1.6 / (n - 1)
stpy <- 1.6 / (m - 1)

for (i in 1:n)
{ xray[i] <- (i - 1) * stpx
}

for (i in 1:m)
{ yray[i] <- (i - 1) * stpy
}

for (i in 1:n)
{ x <- xray[i] * xray[i] - 1.0
x <- x * x
for (j in 1:m)
{ y <- yray[j] * yray[j] - 1.0
zmat[i,j] <- x + y * y
}
}

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.0, 1.6, 0.0, 0.2, 0.0, 1.6, 0.0, 0.2)

for (i in 0:11)
{ zlev[12-i] <- 0.1 + i * 0.1
}

Dislin.conshd (xray, n, yray, m, zmat, zlev, 12)

Dislin.height (50)
Dislin.title ()

Dislin.disfin ()


#### Shaded Surface / Contour Plot / R

source ("dislin.R")

ctit1 <- 'Shaded Surface / Contour Plot'
ctit2 <- 'F(X,Y) = 2 * SIN(X) * SIN(Y)'

n <- 50
m <- 50
nlev <- 20

zmat <- matrix (0, n, m)
xray <- double (n)
yray <- double (m)
zlev <- double (nlev)

fpi   <- 3.1415927 / 180.0
stepx <- 360.0 /(n - 1)
stepy <- 360.0 /(m - 1)

for (i in 1:n)
{ x <- (i - 1) * stepx
xray[i] <- x
for (j in 1:m)
{ y <- (j - 1)  * stepy
yray[j] <- y
zmat[i,j] <- 2 * sin(x * fpi) * sin(y * fpi)
}
}

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.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0,
-2.0, 2.0, -2.0, 1.0)
Dislin.height (50)
Dislin.title  ()

Dislin.grfini (-1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0)
Dislin.nograf ()
Dislin.graf   (0.0, 360.0, 0.0, 90.0, 0.0, 360.0, 0.0, 90.0)

step <- 4.0 / nlev
for (i in 0:nlev-1)
{ zlev[i+1] <- -2.0 + i * step
}
Dislin.conshd (xray, n, yray, n, zmat, zlev, nlev)

Dislin.box2d  ();
Dislin.reset  ("nograf");
Dislin.grffin ();

Dislin.shdmod ("smooth", "surface")
Dislin.surshd (xray, n, yray, m, zmat)
Dislin.disfin ()


#### Spheres and Tubes / R

source ("dislin.R")

x <- c(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 <- c(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 <- c(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 <- c(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)

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.0, 30.0, 0.0, 5.0, 0.0, 30.0, 0.0, 5.0, 0.0, 30.0, 0.0, 5.0)
Dislin.title  ()

Dislin.shdmod ("smooth", "surface")

iret <- Dislin.zbfini ()
Dislin.matop3 (1.0, 0.0, 0.0, "diffuse")
for (i in 1:17)
{ Dislin.sphe3d (x[i], y[i], z[i], 2.0, 50, 25)
}

Dislin.matop3 (0.0, 1.0, 0.0, "diffuse")
for (i in 1:28)
{ j  <- 2 * (i - 1)
j1 <- idx[j+1]
j2 <- idx[j+2]
Dislin.tube3d (x[j1], y[j1], z[j1],
x[j2], y[j2], z[j2], 0.5, 5, 5)
}

Dislin.zbffin ()
Dislin.disfin ()


#### Some Solids / R

source  ("dislin.R")

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.0, 5.0, -5.0, 2.0, -5.0, 5.0, -5.0, 2.0,
-5.0, 5.0, -5.0, 2.0)
Dislin.title  ()

Dislin.shdmod ("smooth", "surface")
iret <- Dislin.zbfini ()
Dislin.matop3 (1.0, 0.5, 0.0, "diffuse")
Dislin.tube3d (-3.0, -3.0, 8.0, 2.0, 3.0, 5.5, 1.0, 40, 20)

Dislin.rot3d  (-60.0, 0.0, 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.0, -3.0, 3.5, 2.0, 3.0, 3.0, 40, 20)
Dislin.setfce ("top")

Dislin.rot3d  (0.0, 0.0, 0.0)
Dislin.matop3 (0.0, 1.0, 1.0, "diffuse")
Dislin.plat3d (4.0, 4.0, 3.0, 3.0, "icos")

Dislin.rot3d  (0.0, 0.0, 0.0)
Dislin.matop3 (1.0, 1.0, 0.0, "diffuse")
Dislin.sphe3d (0.0, 0.0, 0.0, 3.0, 40, 20)

Dislin.rot3d  (0.0, 0.0, -20.0)
Dislin.matop3 (0.0, 0.0, 1.0, "diffuse")
Dislin.quad3d (-4.0, -4.0, -3.0, 3.0, 3.0, 3.0)

Dislin.rot3d  (0.0, 0.0, 30.0)
Dislin.matop3 (1.0, 0.3, 0.3, "diffuse")
Dislin.pyra3d (-2.0, -5.0, -10.0, 3.0, 5.0, 5.0, 4)

Dislin.rot3d  (0.0, 0.0, 0.0)
Dislin.matop3 (1.0, 0.0, 0.0, "diffuse")
Dislin.torus3d (7.0, -3.0, -2.0, 1.5, 3.5, 1.5, 0.0, 360.0, 40, 20)
Dislin.rot3d  (0.0, 90.0, 0.0)

Dislin.matop3 (0.0, 1.0, 0.0, "diffuse")
Dislin.torus3d (7.0, -5.0, -2.0, 1.5, 3.5, 1.5, 0.0, 360.0, 40, 20)
Dislin.zbffin ()
Dislin.disfin ()


#### Map Plot / R

source ("dislin.R")

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 ()


#### Tex Instructions for Mathematical Formulas / R

source  ("dislin.R")

Dislin.scrmod ("reverse")
Dislin.setpag ("da4p")
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 ()