3D矢量场

时间:2020-01-27 18:07:19

标签: plot 3d gnuplot vector-graphics

我需要帮助以3D绘制矢量场, 我的问题是我有一张桌子

x, y, z, Vx, Vy, Vz

这些是每个向量的位置和组成部分,向量已归一化,因此其大小为1,这是问题所在,因为向量居中位于其上的晶胞是边长为5nm的立方体。 因此,在如此小的单元格上绘制大小为1的向量将不起作用。

所以我的问题是,如果可能的话,如何将向量归一化为单元格的大小?

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您的问题。请提供更多信息,数据和一些代码。

我的猜测:您想将向量的长度缩放5倍(或5e-9?)。请澄清。

代码:

### scale vectors
reset session
set view equal xyz

# example data
$Data <<EOD
0.0 0.0 0.0 1.0000 0.0000 0.0000
0.0 0.0 0.0 0.0000 1.0000 0.0000
0.0 0.0 0.0 0.7071 0.7071 0.0000
0.0 0.0 0.0 0.5773 0.5773 0.5773
EOD

myFactor = 5    # or do you mean 5e-9 ???
set view 70,45

splot $Data u 1:2:3:($4*myFactor):($5*myFactor):($6*myFactor) w vectors notitle

### end of code

结果:

enter image description here