DISLIN Examples / Tcl
Demonstration of CURVE / Tcl
load dislin.so
set n 101
set pi 3.1415926
set f [expr $pi / 180]
set step [expr 360.0 / ($n - 1)]
for { set i 0 } { $i < $n } { incr i } {
lappend xray [expr $i * $step]
set x [expr $i * $step * $f]
lappend y1ray [expr sin ($x)]
lappend y2ray [expr cos ($x)]
}
Dislin::metafl cons
Dislin::scrmod revers
Dislin::disini
Dislin::complx
Dislin::pagera
Dislin::name X-axis X
Dislin::name Y-axis Y
Dislin::axspos 450 1800
Dislin::axslen 2200 1200
Dislin::labdig -1 X
Dislin::ticks 10 XY
Dislin::titlin "Demonstration of CURVE" 1
Dislin::titlin "SIN (X), COS (X)" 3
set ic [Dislin::intrgb 0.95 0.95 0.95]
Dislin::axsbgd $ic
Dislin::graf 0 360 0 90 -1 1 -1 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 / Tcl
load dislin.so
set n 300
set m 10
set f [expr 3.1415927 / 180.]
set step [expr 360. / ($n - 1)]
for { set i 0 } { $i < $n } { incr i } {
set a [expr ($i * $step) * $f]
lappend y1 $a
set a [expr 5 * $a]
lappend x1 [expr sin ($a)]
}
for { set i 1 } { $i <= $m } { incr i } {
lappend x2 $i
lappend y2 $i
}
Dislin::scrmod revers
Dislin::setpag da4p
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
set ic [Dislin::intrgb 0.95 0.95 0.95]
Dislin::axsbgd $ic
Dislin::grafp 1 0 0.2 0 30
Dislin::curve $x1 $y1 $n
Dislin::htitle 50
Dislin::title
Dislin::endgrf
Dislin::labdig -1 X
Dislin::axsorg 1050 2250
Dislin::labtyp VERT Y
Dislin::grafp 10 0 2 0 30
Dislin::barwth -5
Dislin::polcrv FBARS
Dislin::curve $x2 $y2 $m
Dislin::disfin
Symbols / Tcl
load dislin.so
set ctit Symbols
Dislin::scrmod revers
Dislin::setpag da4p
Dislin::metafl cons
Dislin::disini
Dislin::pagera
Dislin::complx
Dislin::paghdr "H. Michels (" ")" 2 0
Dislin::height 60
set nl [Dislin::nlmess $ctit]
Dislin::messag $ctit [expr (2100 - $nl) / 2] 200
Dislin::height 50
Dislin::hsymbl 120
set ny 150
for { set i 0 } { $i < 24 } { incr i } {
set nl [Dislin::nlnumb $i -1]
set j [expr $i % 4]
if {$j == 0} {
set ny [expr $ny + 400]
set nxp 550
} else {
set nxp [expr $nxp + 350]
}
Dislin::number $i -1 [expr $nxp - $nl/2] [expr $ny + 150]
Dislin::symbol $i $nxp $ny
}
Dislin::disfin
Interpolation Methods / Tcl
load dislin.so
set ctit "Interpolation Methods"
set xray [list 0. 1. 3. 4.5 6. 8. 9. 11. 12. 12.5 13. 15. 16. 17. 19. 20.]
set yray [list 2. 4. 4.5 3. 1. 7. 2. 3. 5. 2. 2.5 2. 4. 6. 5.5 4.]
set cpol [list SPLINE STEM BARS STAIRS STEP LINEAR]
Dislin::setpag da4p
Dislin::scrmod revers
Dislin::metafl cons
Dislin::disini
Dislin::pagera
Dislin::complx
Dislin::incmrk 1
Dislin::hsymbl 20
Dislin::titlin $ctit 1
Dislin::axslen 1500 350
Dislin::setgrf LINE LINE LINE LINE
set ic [Dislin::intrgb 1.0 1.0 0.0]
Dislin::axsbgd $ic
set nya 2700
for { set i 0 } { $i < 6 } { incr i } {
Dislin::axspos 350 [expr $nya - $i * 350]
Dislin::polcrv [lindex $cpol $i]
Dislin::marker 0
Dislin::graf 0 20 0 5 0 10 0 5
set nx [Dislin::nxposn 1.0]
set ny [Dislin::nyposn 8.0]
Dislin::messag [lindex $cpol $i] $nx $ny
Dislin::color red
Dislin::curve $xray $yray 16
Dislin::color fore
if {$i == 5} {
Dislin::height 50
Dislin::title
}
Dislin::endgrf
}
Dislin::disfin
Bar Graphs / Tcl
load dislin.so
set x [list 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0]
set y [list 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0]
set y1 [list 1.0 1.5 2.5 1.3 2.0 1.2 0.7 1.4 1.1]
set y2 [list 2.0 2.7 3.5 2.1 3.2 1.9 2.0 2.3 1.8]
set y3 [list 4.0 3.5 4.5 3.7 4.0 2.9 3.0 3.2 2.6]
set nya 2700
set 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
set cbuf " "
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 { set i 0 } { $i < 3 } { incr i } {
if {$i > 0} {
Dislin::labels none X
}
Dislin::axspos 300 [expr $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
} elseif {$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
} elseif {$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 / Tcl
load dislin.so set xray [list 1. 2.5 2. 2.7 1.8] set ctit "Pie Charts (PIEGRF)" 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 set cbuf " " 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 5 Dislin::endgrf Dislin::axspos 250 1600 Dislin::labels DATA PIE Dislin::labpos EXTERNAL PIE Dislin::piegrf $cbuf 1 $xray 5 Dislin::height 50 Dislin::title Dislin::disfin
3-D Bar Graph / 3-D Pie Chart / Tcl
load dislin.so set xray [list 2.0 4.0 6.0 8.0 10.] set y1ray [list 0.0 0.0 0.0 0.0 0.0] set y2ray [list 3.2 1.5 2.0 1.0 3.0] set ic1ray [list 50 150 100 200 175] set ic2ray [list 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. 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 set cbuf " " Dislin::piegrf $cbuf 0 $y2ray 5 Dislin::disfin
3-D Bars / BARS3D / Tcl
load dislin.so
set n 18
set xray [list 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]
set yray [list 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]
set z1ray [list 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]
set z2ray [list 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]
set icray [list 30 30 30 30 30 30 100 100 100 100 \
100 100 170 170 170 170 170 170]
for { set i 0 } { $i < $n } { incr i } {
lappend xwray 0.5
lappend ywray 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
set cbuf " "
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
Shading Patterns / Tcl
load dislin.so
set ctit "Shading Patterns (AREAF)"
Dislin::scrmod revers
Dislin::metafl cons
Dislin::disini
Dislin::setvlt small
Dislin::pagera
Dislin::complx
Dislin::height 50
set nl [Dislin::nlmess ($ctit)]
Dislin::messag $ctit [expr (2970 - $nl) / 2] 200
set nx0 335
set ny0 350
set iclr 0
for { set i 0 } { $i < 3 } { incr i } {
set ny [expr $ny0 + $i * 600]
for { set j 0 } { $j < 6 } { incr j } {
set nx [expr $nx0 + $j * 400]
set ii [expr $i * 6 + $j]
Dislin::shdpat $ii
set iclr [expr $iclr + 1]
Dislin::setclr $iclr
set ixp [list $nx [expr $nx + 300] [expr $nx + 300] $nx]
set iyp [list $ny $ny [expr $ny + 400] [expr $ny + 400]]
Dislin::areaf $ixp $iyp 4
set nl [Dislin::nlnumb $ii -1]
set nx [expr $nx + (300 - $nl) / 2]
Dislin::color foreground
Dislin::number $ii -1 $nx [expr $ny + 460]
}
}
Dislin::disfin
3-D Colour Plot / Tcl
load dislin.so
set ctit1 "3-D Colour Plot of the Function"
set ctit2 "F(X,Y) = 2 * SIN(X) * SIN (Y)"
set n 50
set m 50
set fpi [expr 3.1415927 / 180]
set stepx [expr 360. / ($n - 1)]
set stepy [expr 360. / ($m - 1)]
for { set i 0 } { $i < $n } { incr i } {
set x [expr $i * $stepx * $fpi]
for { set j 0 } { $j < $m } { incr j } {
set y [expr $j * $stepy * $fpi]
lappend zmat [expr 2 * sin ($x) * sin ($y)]
}
}
Dislin::scrmod revers
Dislin::metafl xwin
Dislin::disini
Dislin::pagera
Dislin::complx
Dislin::titlin $ctit1 1
Dislin::titlin $ctit2 3
Dislin::name X-axis X
Dislin::name Y-axis Y
Dislin::name Z-axis Z
Dislin::intax
Dislin::autres $n $m
Dislin::axspos 300 1850
Dislin::ax3len 2200 1400 1400
Dislin::graf3 0 360 0 90 0 360 0 90 -2 2 -2 1
Dislin::crvmat $zmat $n $m 1 1
Dislin::height 50
Dislin::title
Dislin::disfin
Surface Plot / Tcl
load dislin.so
set ctit1 "Surface Plot of the Function"
set ctit2 "F(X,Y) = 2 * SIN(X) * SIN (Y)"
set n 50
set m 50
set fpi [expr 3.1415927 / 180]
set stepx [expr 360. / ($n - 1)]
set stepy [expr 360. / ($m - 1)]
for { set i 0 } { $i < $n } { incr i } {
set x [expr $i * $stepx * $fpi]
for { set j 0 } { $j < $m } { incr j } {
set y [expr $j * $stepy * $fpi]
lappend zmat [expr 2 * sin ($x) * sin ($y)]
}
}
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 -5 4 ABS
Dislin::graf3d 0 360 0 90 0 360 0 90 -3 3 -3 1
Dislin::height 50
Dislin::title
Dislin::color green
Dislin::surmat $zmat $n $m 1 1
Dislin::disfin
Shaded Surface Plot / Tcl
load dislin.so
set ctit1 "Shaded Surface Plot"
set ctit2 "F(X,Y) = 2 * SIN(X) * SIN (Y)"
set n 50
set m 50
set fpi [expr 3.1415927 / 180]
set stepx [expr 360. / ($n - 1)]
set stepy [expr 360. / ($m - 1)]
for { set i 0 } { $i < $n } { incr i } {
set x [expr $i * $stepx]
lappend xray $x
set x [expr $x * $fpi]
for { set j 0 } { $j < $m } { incr j } {
set y [expr $j * $stepy]
if {$i == 0} {
lappend yray $y
}
set y [expr $y * $fpi]
lappend zmat [expr 2 * sin ($x) * sin ($y)]
}
}
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 -5 4 ABS
Dislin::graf3d 0 360 0 90 0 360 0 90 -3 3 -3 1
Dislin::height 50
Dislin::title
Dislin::shdmod smooth surface
Dislin::surshd $xray $n $yray $m $zmat
Dislin::disfin
Contour Plot / Tcl
load dislin.so
set ctit1 "Contour Plot"
set ctit2 "F(X,Y) = 2 * SIN(X) * SIN (Y)"
set n 50
set m 50
set fpi [expr 3.1415927 / 180]
set stepx [expr 360. / ($n - 1)]
set stepy [expr 360. / ($m - 1)]
for { set i 0 } { $i < $n } { incr i } {
lappend xray [expr $i * $stepx]
}
for { set i 0 } { $i < $m } { incr i } {
lappend yray [expr $i * $stepy]
}
for { set i 0 } { $i < $n } { incr i } {
set x [expr [lindex $xray $i] * $fpi]
for { set j 0 } { $j < $m } { incr j } {
set y [expr [lindex $yray $j] * $fpi]
lappend zmat [expr 2 * sin ($x) * sin ($y)]
}
}
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 360 0 90 0 360 0 90
Dislin::height 50
Dislin::title
Dislin::height 30
for { set i 0 } { $i < 9 } { incr i } {
set zlev [expr -2. + $i * 0.5]
if {$i == 4} {
Dislin::labels NONE CONTUR
} else {
Dislin::labels FLOAT CONTUR
}
Dislin::setclr [expr ($i + 1) * 28]
Dislin::contur $xray $n $yray $m $zmat $zlev
}
Dislin::disfin
Shaded Contour Plot / Tcl
load dislin.so
set ctit1 "Shaded Contour Plot"
set ctit2 "F(X,Y) = (X^2% - 1)^2% + (Y^2% - 1)^2%"
set n 50
set m 50
set stepx [expr 1.6 / ($n - 1)]
set stepy [expr 1.6 / ($m - 1)]
for { set i 0 } { $i < $n } { incr i } {
lappend xray [expr $i * $stepx]
}
for { set i 0 } { $i < $m } { incr i } {
lappend yray [expr $i * $stepy]
}
for { set i 0 } { $i < $n } { incr i } {
set x [lindex $xray $i]
set x [expr $x * $x - 1]
set x [expr $x * $x]
for { set j 0 } { $j < $m } { incr j } {
set y [lindex $yray $j]
set y [expr $y * $y - 1]
set y [expr $y * $y]
lappend zmat [expr $x + $y]
}
}
Dislin::scrmod revers
Dislin::metafl cons
Dislin::setpag da4p
Dislin::disini
Dislin::pagera
Dislin::complx
Dislin::mixalf
Dislin::newmix
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 { set i 0 } { $i < 12 } { incr i } {
lappend zlev [expr 0.1 + (11 - $i) * 0.1]
}
Dislin::conshd $xray $n $yray $m $zmat $zlev 12
Dislin::height 50
Dislin::title
Dislin::disfin
Shaded Surface / Contour Plot / Tcl
load dislin.so
set ctit1 "Shaded Surface / Contour Plot"
set ctit2 "F(X,Y) = 2 * SIN(X) * SIN (Y)"
set n 50
set m 50
set nlev 20
set fpi [expr 3.1415927 / 180]
set stepx [expr 360. / ($n - 1)]
set stepy [expr 360. / ($m - 1)]
for { set i 0 } { $i < $n } { incr i } {
set x [expr $i * $stepx]
lappend xray $x
set x [expr $x * $fpi]
for { set j 0 } { $j < $m } { incr j } {
set y [expr $j * $stepy]
if {$i == 0} {
lappend yray $y
}
set y [expr $y * $fpi]
lappend zmat [expr 2 * sin ($x) * sin ($y)]
}
}
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::graf3d 0 360 0 90 0 360 0 90 -2 2 -2 1
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
set step [expr 4.0 / $nlev]
for { set i 0 } { $i < $n } { incr i } {
lappend zlev [expr -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 / Tcl
load dislin.so
set x [list 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]
set y [list 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]
set z [list 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.]
set idx [list 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
set iret [Dislin::zbfini]
Dislin::matop3 1.0 0.0 0.0 diffuse
for { set i 0 } { $i < 17 } { incr i } {
Dislin::sphe3d [lindex $x $i] [lindex $y $i] [lindex $z $i] 2.0 50 25
}
Dislin::matop3 0.0 1.0 0.0 diffuse
for { set i 0 } { $i < 28 } { incr i } {
set j [expr 2 * $i]
set j1 [expr [lindex $idx $j] - 1]
set j [expr $j + 1]
set j2 [expr [lindex $idx $j] - 1]
Dislin::tube3d [lindex $x $j1] [lindex $y $j1] [lindex $z $j1] \
[lindex $x $j2] [lindex $y $j2] [lindex $z $j2] 0.5 5 5
}
Dislin::zbffin
Dislin::disfin
Some Solids / Tcl
load dislin.so 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 set 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. 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 / Tcl
load dislin.so Dislin::scrmod revers Dislin::metafl xwin 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 180 -180 90 -90 90 -90 30 Dislin::gridmp 1 1 Dislin::color green Dislin::world Dislin::color foreground Dislin::height 50 Dislin::title Dislin::disfin
Tex Instructions for Mathematical Formulas / Tcl
load dislin.so
Dislin::scrmod revers
Dislin::setpag da4p
Dislin::metafl cons
Dislin::disini
Dislin::pagera
Dislin::complx
Dislin::height 40
set cstr "TeX Instructions for Mathematical Formulas"
set nl [Dislin::nlmess $cstr]
Dislin::messag $cstr [expr (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
DISLIN manual as eBook from Amazon
5. April 2025
Support for OpenBSD 64-bit
17. January 2025
Support for Python 3.13 and Windows
17. January 2025
Updated PDF manual of the DISLIN book
8. January 2025
Upgrade 11.5.2
8. April 2024
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
DISLIN Book Version 11 is available
8. March 2017
5. April 2025
Support for OpenBSD 64-bit
17. January 2025
Support for Python 3.13 and Windows
17. January 2025
Updated PDF manual of the DISLIN book
8. January 2025
Upgrade 11.5.2
8. April 2024
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
DISLIN Book Version 11 is available
8. March 2017