我需要帮助以3D绘制矢量场, 我的问题是我有一张桌子
x, y, z, Vx, Vy, Vz
这些是每个向量的位置和组成部分,向量已归一化,因此其大小为1,这是问题所在,因为向量居中位于其上的晶胞是边长为5nm的立方体。 因此,在如此小的单元格上绘制大小为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
结果: