使用CSV数据在3D空间中着色曲线

时间:2015-03-31 12:10:24

标签: csv plot colors 3d wolfram-mathematica

我已经在这种情况下挣扎已经好几天了,我真的很感激你的建议。

我在C ++中运行模拟,最后得到一个包含4列的.csv文件:t,L_1(t),L_2(t),L_3(t)。

我要绘制的函数是L(t)= L_1(t) i + L_2(t) j + L_3(t) k < / strong>,L(0)=(0,0,0)。

我想在3D图表中绘制函数L(t)走过数据表中时间的路径。另外,我也希望时间的(对数)和颜色标度一样,表示函数的演化路径。

我尝试了几个选项,但没有一个真正按照我的意图。你能帮帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这最容易直接作为Line图形执行:

 data = Table[ { t, Sin[t] , Cos[t] , (t/20)^2 } , {t, 0, 20, .5 }];
 Graphics3D@Line[ data[[All, 2 ;; 4]]]

enter image description here

您可以使用VertexColors

对此进行着色

您也可以进行插值,然后使用ParametricPlot3D

 interp = Table[ Interpolation[data[[All, i]]] , {i, 2, 4}]
 ParametricPlot3D[Through@interp[t], {t, 1, 40}]

enter image description here

有了这个,您可以使用InterpolationOrder选项来控制平滑。

彩色(和InterpolationOrder->1

 ParametricPlot3D[Through@interp[t], {t, 1, 40},
       ColorFunction -> Function[{x, y, z, t}, Hue[t]]]

enter image description here