首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Mathematica:如何获取3Dplot命令绘制的数据点?

Mathematica:如何获取3Dplot命令绘制的数据点?
EN

Stack Overflow用户
提问于 2016-07-25 17:18:14
回答 1查看 53关注 0票数 1

我一直在使用几年前在这里发布的关于如何从2D函数获取数据点的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f = Sin[t];
plot = Plot[f, {t, 0, 10}]
points = Cases[
   Cases[InputForm[plot], Line[___], 
    Infinity], {_?NumericQ, _?NumericQ}, Infinity]; 

并将其导出到数据文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Export["data2/name_"<>ToString[N[index]]<>"&"<>ToString[N[a]]<>".dat",points1,"Table","FieldSeparators"->" "];

然而,现在我必须将这个命令推广到3Dplot的情况下,我已经尝试查看了关于case和List3Dplot命令的文档,但不幸的是我还不能弄清楚。有谁有建议吗?我会很感激的。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-07-25 18:01:53

使用Cases

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Flatten[Cases[
   InputForm@Normal@Plot3D[Sin[x y], {x, -1, 1}, {y, -1, 1}]  , 
   Polygon[x_, ___] -> x, Infinity], 1] // Union

使用EvaluationMonitor

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Reap[Plot3D[z = Sin[x y], {x, -1, 1}, {y, -1, 1}, 
   EvaluationMonitor :> Sow[{x, y, z}]]][[2, 1]];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38573854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文