set parametric

January 18, 2018 ยท View on GitHub

transparent solids

Original Demo

1

# set title "Interlocking Tori - PM3D surface with depth sorting and transparency"
#
# unset border
# unset key
# set object 1 rect from screen 0, 0, 0 to screen 1, 1, 0 behind
# set object 1 rect fc  rgb "gray"  fillstyle solid 1.0  border -1
# set view 64, 345, 1.24375, 0.995902
# set isosamples 50, 20
# unset xtics
# unset ytics
# unset ztics
# set parametric
# set dummy u,v
# set urange [ -pi : pi ]
# set vrange [ -pi : pi ]
#
# set pm3d depthorder hidden3d 2
# set palette rgbformulae 8, 9, 7
# set style line 2  linetype 2 linecolor rgb "#a0a0f0"  linewidth 0.5
# set style fill  transparent solid 0.30 border
#
# splot cos(u)+.5*cos(u)*cos(v),sin(u)+.5*sin(u)*cos(v),.5*sin(v) with pm3d, \
#     1+cos(u)+.5*cos(u)*cos(v),.5*sin(v),sin(u)+.5*sin(u)*cos(v) with pm3d

Numo.gnuplot do
  set title:"Interlocking Tori - PM3D surface with depth sorting and transparency"
  unset :border
  unset :key
  set :object, 1, "rect", from_screen:[0,0,0], to_screen:[1,1,0], behind:true
  set :object, 1, "rect", fc_rgb:"gray", fillstyle_solid:1.0, border:-1
  set view:[64,345,1.24375,0.995902]
  set isosamples:[50,20]
  unset :xtics
  unset :ytics
  unset :ztics
  set :parametric
  set dummy:"u,v"
  set urange:"[-pi:pi]"
  set vrange:"[-pi:pi]"
  set :pm3d, "depthorder", hidden3d:2
  set :palette, rgbformulae:[8,9,7]
  set :style, :line, 2, linetype:2, linecolor_rgb:"#a0a0f0", linewidth:0.5
  set :style, fill:"transparent", solid:0.30, border:true
  splot "cos(u)+.5*cos(u)*cos(v)",
    "sin(u)+.5*sin(u)*cos(v)",
    [".5*sin(v)", with:"pm3d"],
    "1+cos(u)+.5*cos(u)*cos(v)",
    ".5*sin(v)",
    ["sin(u)+.5*sin(u)*cos(v)", with:"pm3d"]
end

905transparent_solids/001

2

# unset title
# set label 1 "Kuen's Surface" at screen 0.57, 0.9
# set label 1 font "frscript,20"
# set style line 3  linetype -1 linewidth 0.5
# set pm3d depthorder hidden3d 3
# set style fill  transparent solid 0.65 border
# set palette
# set hidden3d
#
# set ticslevel 0
# unset xtics ; unset ytics ; unset ztics
# unset border ; unset colorbox ; unset key
# set lmargin at screen 0.1
# set bmargin at screen 0.1
# set rmargin at screen 0.9
# set tmargin at screen 0.9
#
# set parametric
# set dummy u,v
# set urange [-4.5:4.5]
# set vrange [0.05:pi-0.05]
# set isosamples 51,51
# set view 122, 357, 1.35, 1.08
#
# a = 1.0
#
# x(u,v) = 2.*a*(cos(u)+u*sin(u))*sin(v) / (1+u**2.*(sin(v))**2)
# y(u,v) = 2.*a*(sin(u)-u*cos(u))*sin(v) / (1+u**2.*(sin(v))**2)
# z(u,v) = a*log(tan(v/2.))+2.*cos(v)/(1+u**2.*(sin(v))**2)
#
# splot x(u,v), y(u,v), z(u,v) with pm3d

Numo.gnuplot do
  unset :title
  set :label, 1, "Kuen's Surface", at_screen:[0.57,0.9]
  set :label, 1, font:"frscript,20"
  set :style, :line, 3, linetype:-1, linewidth:0.5
  set :pm3d, "depthorder", hidden3d:3
  set :style, fill:"transparent", solid:0.65, border:true
  set :palette
  set :hidden3d
  set ticslevel:0
  unset :xtics; unset :ytics; unset :ztics
  unset :border; unset :colorbox; unset :key
  set :lmargin, :at, screen:0.1
  set :bmargin, :at, screen:0.1
  set :rmargin, :at, screen:0.9
  set :tmargin, :at, screen:0.9
  set :parametric
  set dummy:"u,v"
  set urange:-4.5..4.5
  set vrange:"[0.05:pi-0.05]"
  set isosamples:[51,51]
  set view:[122,357,1.35,1.08]
  run "a = 1.0"
  run "x(u,v) = 2.*a*(cos(u)+u*sin(u))*sin(v) / (1+u**2.*(sin(v))**2)"
  run "y(u,v) = 2.*a*(sin(u)-u*cos(u))*sin(v) / (1+u**2.*(sin(v))**2)"
  run "z(u,v) = a*log(tan(v/2.))+2.*cos(v)/(1+u**2.*(sin(v))**2)"
  splot "x(u,v)",
    "y(u,v)",
    ["z(u,v)", with:"pm3d"]
end

905transparent_solids/002