我想要做的是导出一个STL,U3D的图形,任何能让我更进一步地将这些图作为3D PDF包含在LaTeX文档中的东西。从我所做的阅读来看,使用这个附加的或通过STL变换将表面/箭镜转换为STL变换是很简单的。
然而,这两种方法似乎都无法转换像我这样的三维线条:
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中应该有一个驱动程序。对于这个问题,我是否遗漏了一个显而易见的简单解决方案?
发布于 2016-12-01 12:30:08
通过使用导出图形到三维交互式PDF和line而不是plot3,我成功地解决了这个问题。通过查看我的代码行,会有相当大的质量损失,在plot3版本中并不存在不常见的中断,但这至少解决了原来的问题。
现在,这将是我建议任何人处理这件事的方式。作为一个有用的例子,以下内容应该是有帮助的:
line(temp(:,1),temp(:,2),temp(:,3))使用与以前相同的数据集。
最后,请注意,至少在Matlab R2016b中,链接的U3D转换器不能正常工作,需要进行一些手动编辑(直到源代码被修复)。作者的Github网站详细介绍了这些更改。
https://stackoverflow.com/questions/40854896
复制相似问题