我被RobertSedwick讀取算法在以下鏈接複製命令中的PostScript
頁碼:218圖5.13
是什麼遵循的PostScript語句的意思。
2 copy ge {dup 0 rlineto}
{
...
} ifelse
而且也沒有什麼下列手段
2 copy KochR
我期待到的PostScript第一次來這裏。
我被RobertSedwick讀取算法在以下鏈接複製命令中的PostScript
頁碼:218圖5.13
是什麼遵循的PostScript語句的意思。
2 copy ge {dup 0 rlineto}
{
...
} ifelse
而且也沒有什麼下列手段
2 copy KochR
我期待到的PostScript第一次來這裏。
您應該參考以下四個書籍/資源第一:
的"Blue Book"(PDF 0.9兆字節)。
PostScript語言教程和食譜,Adobe Systems,Addison-Wesley 1985; ISBN 0201101793.
這是對PostScript語言的最好介紹。 PostScript操作符以簡單且步調良好的方式引入。示例程序易於閱讀,並可打印精美的圖片。這本書只描述了1級PostScript的一小部分。對於專業工作本身來說是不夠的。
The "Green Book"(PDF 0.9 MByte)。
PostScript語言程序設計,Adobe Systems,Addison-Wesley,1988; ISBN 0201143968.
這本書展示瞭如何在現實世界中使用PostScript。儘管本書基於1級PostScript,但良好的編程實踐並沒有像語言本身那麼改變。
"Red Book"(PDF 7.6 MByte)。
PostScript語言參考手冊,Adobe Systems Addison-Wesley,1999; ISBN 0201379228)912頁。
這是PostScript語言的官方描述。書中的一切都很重要。一切都只解釋一次。對於那些喜歡在牀上閱讀的人來說,紅皮書也可以在紙上找到。一個較舊的版本(日期爲1999年),無需在Adobe的合作伙伴計劃之一註冊,可用here。
Thinking in PostScript(PDF 0.8 MByte)。
Glenn C. Reid,Addison-Wesley,1990; ISBN 0201523728.
這本書是對PostScript的一個很好的介紹。這本書是免費的。爲什麼不試試呢?
(以上信息大多是從PostScript FAQ服用。我自己和所有的上述圖書的工作,並能與給定的評估完全同意。)
請參閱Kurt Pfeifle的回答here這個草率的答案的更正版本。但願,我已經有點贖回自己在followup question
更直接地回答你的問題,這是很難解釋的代碼做什麼,因爲它是不完整的。
這兩個片段的開始是2 copy
這將堆棧中的前兩項重複。這些是什麼? ??!
嗯,他們可能是數字。在第一個例子中,它們幾乎肯定是一個座標對:x和y。如果y大於2,則繪製一條線(current-x + y-stack,0)。爲什麼要這樣做? ??!
在第二個例子中,KochR
最有可能是繪製Koch曲線的遞歸過程,其中一個參數幾乎肯定是遞歸級別,另一個可能是單個線段的長度(除非它是真的複雜並提供全局縮放控制)。
這就是所有可以從代碼中猜出的結果。 HTH。
我有完整的代碼在http://stackoverflow.com/questions/12381887/recurssion-in-postscript – venkysmarty
在上面的描述中提到,y大於2,你能否詳細說明我們爲什麼要檢查2? – venkysmarty
@luser droog:這不完全是我對代碼的理解。在將2個當前頂層元素複製到堆棧後,'2'不再存在。 –
(這個答案是基於luser楚格設計的一個,用不同的理解我所提供的代碼。)
更直接地回答你的問題,這是很難解釋代碼不會因爲它不是不完整。
這兩個片段的開始是2 copy
這將堆棧中的前兩項重複。這些是什麼? ??! (重複之後,2
不再在堆棧上。)
嗯,它們可能是數字。在第一示例中,他們幾乎絕對座標對:x和y:
如果 y是大於
更大
大於或等於X,然後畫一條從當前位置到(y,0)的行
到(current-x + y-stack-0)
。爲什麼要這樣做? ??!
否則執行該年代由省略號{ ... }
在第二示例中所表示的代碼,KochR
是最有可能是遞歸過程來繪製科赫曲線,其中的參數之一是幾乎可以肯定的遞歸級別,另一個可能是單個線段的長度(除非它非常複雜並提供全局縮放控制)。
這就是所有可以從代碼中猜出的結果。
其實這裏我沒有試圖去學習這門語言。我正在尋找上述命令在鏈接程序中的含義,因爲我是一名C++程序員。 – venkysmarty