我想要做的是将图形导出为STL,U3D,这些将使我更进一步将这些图包含在LaTeX文档中作为3D PDF。从我所做的阅读中,可以直接使用this add-on或a STL conversion将表面/箭袋转换为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中应该有驱动程序的东西感觉太复杂了。我错过了一个明显的简单解决方案吗?答案 0 :(得分:0)
我设法通过Export figure to 3D interactive PDF使用line
代替plot3
来解决这个问题。通过查看我的线条会有相当大的质量损失,plot3
版本中没有不常见的断点,但这至少解决了原来的问题。
现在,这将是我建议任何人接近这个的方式。对于一个工作示例,以下内容应该是有帮助的:
line(temp(:,1),temp(:,2),temp(:,3))
使用与以前相同的数据集。
最后请注意,至少在Matlab R2016b中,链接的U3D转换器无法正常工作,并且需要进行一些手动编辑(直到源代码得到修复)。作者的Github网站详细介绍了这些变化。