2010-10-14 97 views
1

我有一個奇怪的計劃問題。這是我幫助朋友的更大的一部分。計劃:將代碼轉換爲圖片

我需要將Tree:Data轉換爲準確表示樹的圖像(對不起,我還沒有示例圖像才能顯示)。

請讓我知道如果你有任何想法(和/或如果你有問題),所以我可以更新更多的信息。

謝謝

回答

1

這是我正在尋找的答案。我想我應該更好地闡明我的問題。非常感謝您的幫助反正,@EliBarzilay和@KevinHwang

(define (Tree:Data->Pict dt) 
    (if (DataTree? dt) 
     (frame 
     (vl-append 10 
        (Tree:Data->Pict (DataTree-data dt)) 
        (apply ht-append 10 
         (map Tree:Data->Pict (DataTree-children dt))))) 
     (code #,dt))) 
3

其中最常見的方式來繪製圖表等使用graphviz。您只需掃描樹並以非常簡單的語法打印出連接。

+0

我需要進行這項程序,使得它的工作原理正確的開箱即用,沒有任何依賴性。我之前和graphviz一起工作過,並且知道這將是一條路。不幸的是,我不能。任何想法如何在計劃內直接做到這一點? – inspectorG4dget 2010-10-15 00:30:22

+0

我會嘗試*真的*很難以某種方式將它與您的應用程序混在一起...也許作爲一個庫,或者甚至在某處放置一些cgi腳本以用作應用程序的服務。我試圖做類似的事情,但它本身非常毛茸茸,並且是一個巨大的項目,你仍然會做得比他們做的要少得多。如果你只有非常簡單的結構,你可能會逃脫 - 就像一些大多數已知形狀的樹木,但即使這樣也可能是具有挑戰性的。 – 2010-10-15 02:50:16

+0

我確實努力把它弄進去。我提出了所有可能的論點,但我得到了這樣的回答:「你說得對,但按我說的去做,反正」。我所要處理的只是「簡單」的樹木和矩形。我不想在這裏遇到任何複雜的事情。我知道這是一種痛苦,但是如果你有/什麼/,請讓我知道 – inspectorG4dget 2010-10-15 03:53:38

1

如果你真的,真的,真的要計劃內直接做了,然後讓我引導您的位置:

http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Drawing-Graphics.html

方案確實有一個內置的圖形庫,儘管這可能是奇特的只有麻省理工學院計劃。在伯克利,我們的介紹班使用SICP,並且我們確實有圖形,不管這些圖形是否內置或者教師是否爲我們添加了圖形,我都不太清楚。