2009-12-11 154 views
2

我试图制作一个看起来像这样的可视化文件http://www.gradient-da.com/img/temperature%20surface%20plot%20470x406.JPG http://www.gradient-da.com/img/temperature%20surface%20plot%20470x406.JPG结合3D/2D图

这个想法是有一个三维表面图重叠表面的2D表示。

我可以构建任意表面/多边形形状(如在http://addictedtor.free.fr/graphiques/graphcode.php?graph=135中),我可以制作相应的2D图。我似乎无法弄清楚的是将它们放在一起的方式(如上面jpg所示)。

我已经试过Google的答案,但我没有能够找到任何类似的做在R. 任何帮助将不胜感激!

编辑:2D部分不是2D的投影。我选择了这张具体的图片来说明这一点。例如,

  1. 这里2D部分是电路图像,3D部分是温度)。
  2. 在2D你可以有一个城市的交通和3D
  3. 等地图...

最佳,

布鲁诺

+0

不太清楚你在问什么 - 但是如果你可以生成3d表面,你可以使用相同的代码来生成2D图作为3d的退化情况(即 - 所有Z值恰好为0) – teapot7 2009-12-11 01:24:18

+0

我的困难是如何将两者(如图中所示),具有3D上面显示的曲面(与2D曲线有关)(2D不仅仅是3D的投影,而是相关的量) – bgoncalves 2009-12-11 01:28:44

+0

这可能没有帮助,但是挤出曲面真的是显示z轴的最佳方式 - 值?为什么不在二维图像上叠加颜色渐变? – 2009-12-11 02:11:26

回答

0

它看起来像2D情节是微电子电路的布局尽管略有细节,但3D图可能是同一电路的热图。

我对R的能力还不够了解,但我认为从表示布局信息的相同数据集(但是有或没有热数据)中分别生成两个R图,然后将其组合他们与图形处理程序。

2

我会给出一个理论概念,

在同一个3D图,选择平面垂直于3D表面(略低于3D面)和项目中的所有值它。您将只使用3D绘图,而不是2D 2D绘图,也绘制您的曲面。

HTH

+0

对不起,如果我不清楚。 2D部分*不是2D的投影。我选择了这张特定的图片来说明(在2D上你有电路的图像,在3D上你有温度)。 – bgoncalves 2009-12-11 01:51:05

+1

没问题。您可以在3D图的平面上绘制2D图。 – Alphaneo 2009-12-11 02:13:58

0

也许你应该尽量让一个OpenGL纹理你的2D画面和其映射在3D多边形被包含在你的场景图?

真的不明白,如果你想有R做具体,所以在OpenGL也许潜水对你是一个过低的水平。在情况下,你要做好准备,则可以重复使用一个简单的Java库,简化绘制三维曲面:http://code.google.com/p/jzy3d

希望帮助, 马丁

0

你要寻找的被称为纹理贴图 - - 如果没有在R图形软件包中提供,您可以“手动”完成。下面的建议可能不是快速或方便(或者甚至是有用的,因为我对R不是很熟悉),但它可能实际上工作...

既然你知道你可以绘制指定颜色的3D曲面图,您可以尝试使用图像的颜色绘制平面3D表面。

如果R还缺乏从图像格式中提取其数据的方法,则存在名为PPM(代表便携式PixMap)的图像格式,其中一种变体基本上是以空格分隔的十进制数。在将图像转换为此格式(使用Photoshop或某些专用图像转换程序)后,它应该比较容易输入R.