2016-11-28 137 views
0

我想要做的是将图形导出为STL,U3D,任何会让我更进一步将这些图形作为3D PDF包含在LaTeX文档中。从我已经完成的读物中,使用this add-on或通过a STL conversion将表面/颤抖转换为U3D非常简单。从Matlab导出3D线(Plot3)到U3D/LaTeX

然而,这两种方法似乎无法转换三维线的,如我有:

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

我设法通过使用Export figure to 3D interactive PDFline而不是plot3来解决这个问题。看着我的生产线质量有相当大的损失,在plot3版本中并不存在罕见的突破,但这至少解决了原来的问题。

现在,这将是我建议任何人来解决这个问题的方式。对于一个工作示例,下面应该是有帮助的:

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

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

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