2009-12-11 147 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.