我已经在这种情况下挣扎已经好几天了,我真的很感激你的建议。
我在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)走过数据表中时间的路径。另外,我也希望时间的(对数)和颜色标度一样,表示函数的演化路径。
我尝试了几个选项,但没有一个真正按照我的意图。你能帮帮我吗?
谢谢!
答案 0 :(得分:0)
这最容易直接作为Line
图形执行:
data = Table[ { t, Sin[t] , Cos[t] , (t/20)^2 } , {t, 0, 20, .5 }];
Graphics3D@Line[ data[[All, 2 ;; 4]]]
您可以使用VertexColors
您也可以进行插值,然后使用ParametricPlot3D
interp = Table[ Interpolation[data[[All, i]]] , {i, 2, 4}]
ParametricPlot3D[Through@interp[t], {t, 1, 40}]
有了这个,您可以使用InterpolationOrder
选项来控制平滑。
彩色(和InterpolationOrder->1
)
ParametricPlot3D[Through@interp[t], {t, 1, 40},
ColorFunction -> Function[{x, y, z, t}, Hue[t]]]