将 3D 线 (Plot3) 从 Matlab 导出到 U3D/LaTeX

Exporting a 3D Line (Plot3) from Matlab to U3D/LaTeX

我想做的是将图形导出为 STL、U3D,任何可以让我更进一步将这些图作为 3D PDF 包含在 LaTeX 文档中的东西。根据我所做的阅读,使用 this add-on or through a STL conversion.

可以直接将 surface/quiver 转换为 U3D

然而,这两种方法似乎都无法转换像我这样的三维线:

temp = [15.2697 671.323 -9.91231;
26.9127 766.25  -9.73684;
40.6373 863.993 -9.50037;
56.4426 963.955 -9.21152;
74.4579 1069    -8.96309;
94.902  1177    -8.75421;
117.824 1287    -8.48337;
143.176 1400    -8.20126;
171.07  1515    -7.93761;
201.032 1629    -7.66941;
232.849 1742    -7.57231;
265.95  1855    -7.5369;
298.406 1964    -7.4525;
334.686 2073    -7.3278;
294.999 1942    -7.4535;
235.956 1723    -7.90447;
203.222 1576    -8.31706;
180.908 1462    -8.70754];
plot3(temp(:,1),temp(:,2),temp(:,3));

首先,我听起来不可能使用 STL 方法,因为我必须对无法三角化的数据进行三角化(与表面相比)。

然而,我上面提到的第一个附加组件认为这是一个箭袋图,然后没有说它需要一个表面或一个补丁对象(尽管自述文件确实建议线条也是可能的)。

然而,总的来说,对于应该在 Matlab 中有驱动程序的东西来说,这两个感觉都太复杂了。我是否缺少针对此问题的明显简单的解决方案?

我设法通过使用 Export figure to 3D interactive PDFline 而不是 plot3 来解决这个问题。查看我的台词质量有相当大的损失,其中不常见的中断在 plot3 版本中不存在,但这至少解决了原来的问题。

现在,这将是我建议任何人处理此问题的方式。对于一个工作示例,以下应该有所帮助:

line(temp(:,1),temp(:,2),temp(:,3))

使用与之前相同的一组数据。

最后,请注意,至少在 Matlab R2016b 中,链接的 U3D 转换器无法正常工作,需要进行一些手动编辑(直到源代码得到修复)。作者的 Github 网站详细介绍了这些更改。