Gnuplot:带有来自文件的参数的球体

时间:2013-03-31 16:07:38

标签: 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(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"

1 个答案:

答案 0 :(得分:1)

您可以使用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