1

在过去的几个小时里,我一直在尝试制作一个看起来可以接受的 3D 对象图。现在我完全坚持以某种方式让 Gnuplot 以正确的方式绘制关于我的 3D 对象的边界。我使用的代码是这样的:

reset

set term pngcairo enhanced size 800,600
set output "plot.png"

set grid xtics ytics ls 3 lw 1 lc rgb 'gray'

set xzeroaxis
set yzeroaxis

set samples 30,30
set isosamples 30,30

set style line 100 lt 5 lw 0.5 lc black
set palette gray
set cbrange [-1:1]
unset colorbox

set pm3d depthorder hidden3d implicit
set pm3d lighting primary 0.50 specular 0.6

set parametric

set urange [0:2*pi]
set vrange [0:2*pi]
set xrange [-3.1:3.1]
set yrange [-3.1:3.1]
set zrange [-1.1:1.1]

set xyplane at -1
set view 121,115
set xtics offset first 0,0, -0.1
set ytics offset first 0,0, -0.1
set ytics -2,1,2
set xtics -2,1,2

unset border
set border 4095 front lt black linewidth 2.000 dashtype solid

splot (2+cos(u))*cos(v),(2+cos(u))*sin(v),1*sin(v) lc rgb '#666666'

set output

如果您绘制该代码,它会产生如下图像:

3D对象图

正如你所看到的,Borders/Axes 和 Graph 的分层不知何故搞砸了。我花了一些时间玩弄不同的终端类型,或者set border back / front / behind,或者基本上所有其他选项,但我无法成功地让 Gnuplot 以正确的方式绘制它,这意味着边框围绕着我的对象。我能找到的唯一折衷解决方案是,如果我选择某些不同的观点,Gnuplot 就可以了。但是对于我想要的绘图不起作用..我会很高兴任何建议或提示!

4

0 回答 0