File Gnuplot:sphere,带有文件中的参数

File Gnuplot:sphere,带有文件中的参数,file,geometry,gnuplot,File,Geometry,Gnuplot,我试图在gnuplot的帮助下用文件中给出的X,Y,Z,R来画一个球体 sphere1.dat: # X Y Z R 219.3 342.5 3153.2 213.08 在大多数示例中,球体是这样绘制的: set parametric set angle degree set urange [0:360] set vrange [-90:90] set isosample 72,36 splot cos(u)*cos(v),sin(u)*cos(v),sin

我试图在gnuplot的帮助下用文件中给出的X,Y,Z,R来画一个球体

sphere1.dat:

# X     Y      Z       R
219.3  342.5  3153.2  213.08
在大多数示例中,球体是这样绘制的:

set parametric
set angle degree
set urange [0:360]
set vrange [-90:90]
set isosample 72,36
splot cos(u)*cos(v),sin(u)*cos(v),sin(v)
有没有办法将u、v值与文件中的值结合起来? 诸如此类:

set angle degree
set urange [0:360]
set vrange [-90:90]
set isosample 72,36
splot 'sphere1.dat' using ($4*cos(u)*cos(v)+$1):($4*sin(u)*cos(v)+$2):($4*sin(v)+$3) title "Sphere1"

您可以使用tail和awk从数据文件中获取x、y、z、r

tail -1 data
打印最后一行数据

awk '{print $i}'
返回行的第i个空格分隔部分

x = "`tail -1 sphere1.dat| awk '{print $1}'`"
y = "`tail -1 sphere1.dat| awk '{print $2}'`"
z = "`tail -1 sphere1.dat| awk '{print $3}'`"
r = "`tail -1 sphere1.dat| awk '{print $4}'`"

set parametric
set angle degree
set urange [0:360]
set vrange [-90:90]
set isosample 30,30
splot r*cos(u)*cos(v)+x,r*sin(u)*cos(v)+y,r*sin(v)+z

您可以使用tail和awk从数据文件中获取x、y、z、r

tail -1 data
打印最后一行数据

awk '{print $i}'
返回行的第i个空格分隔部分

x = "`tail -1 sphere1.dat| awk '{print $1}'`"
y = "`tail -1 sphere1.dat| awk '{print $2}'`"
z = "`tail -1 sphere1.dat| awk '{print $3}'`"
r = "`tail -1 sphere1.dat| awk '{print $4}'`"

set parametric
set angle degree
set urange [0:360]
set vrange [-90:90]
set isosample 30,30
splot r*cos(u)*cos(v)+x,r*sin(u)*cos(v)+y,r*sin(v)+z

谢谢,可以在windows上运行吗?“警告:MS Windows 32位不支持系统评估”我不擅长Windows Shell,所以我不能告诉您Windows等效程序。幸运的是有明。它提供了大部分nix命令,谢谢,可以在windows上运行吗?“警告:MS Windows 32位不支持系统评估”我不擅长Windows Shell,所以我不能告诉您Windows等效程序。幸运的是有明。它提供了大多数nix命令