我一直在使用几年前发布的关于如何从2D函数获取数据点的命令:
f = Sin[t];
plot = Plot[f, {t, 0, 10}]
points = Cases[
Cases[InputForm[plot], Line[___],
Infinity], {_?NumericQ, _?NumericQ}, Infinity];
并将其导出到数据文件:
Export["data2/name_"<>ToString[N[index]]<>"&"<>ToString[N[a]]<>".dat",points1,"Table","FieldSeparators"->" "];
但是,现在我必须对3Dplot案例概括这个命令,我试图查看有关Cases和List3Dplot命令的文档,但不幸的是我无法弄明白。有人有建议吗? 我很欣赏它。谢谢。
答案 0 :(得分:1)
使用Cases
:
Flatten[Cases[
InputForm@Normal@Plot3D[Sin[x y], {x, -1, 1}, {y, -1, 1}] ,
Polygon[x_, ___] -> x, Infinity], 1] // Union
使用EvaluationMonitor
:
Reap[Plot3D[z = Sin[x y], {x, -1, 1}, {y, -1, 1},
EvaluationMonitor :> Sow[{x, y, z}]]][[2, 1]];