我正在阅读RobertSedwick在以下链接中的算法
页码:218图5.13
以下声明在PostScript中意味着什么。
2 copy ge {dup 0 rlineto}
{
...
} ifelse
以下是什么意思
2 copy KochR
我第一次在这里看PostScript。
答案 0 :(得分:2)
您应首先参考以下四本书/资源:
"Blue Book"(PDF 0.9 MByte) PostScript语言教程和食谱,Adobe Systems,Addison-Wesley 1985;国际标准书号0201101793。
这是对PostScript语言的最佳介绍。 PostScript操作符以简单快节奏的方式引入。示例程序易于阅读,可打印精美图片。这本书只描述了1级PostScript的一小部分。这本身就不足以进行专业工作。
"Green Book"(PDF 0.9 MByte) PostScript语言程序设计,Adobe Systems,Addison-Wesley,1988;国际标准书号0201143968。
本书介绍了如何在现实世界中使用PostScript。虽然这本书基于1级PostScript,但良好的编程实践并没有像语言本身那样发生变化。
"Red Book"(PDF 7.6 MByte) PostScript语言参考手册,Adobe Systems Addison-Wesley,1999;国际标准书号0201379228)912页。
这是PostScript语言的官方说明。书中的一切都很重要;一切都只解释一次。对于那些喜欢在床上阅读的人来说,红皮书也可以在纸上找到。不需要在Adobe的合作伙伴计划之一中注册的旧版本(日期为1999年)可用here。
Thinking in PostScript(PDF 0.8 MByte)。
作者:Glenn C. Reid,Addison-Wesley,1990;国际标准书号0201523728。
这本书是对PostScript的一个很好的介绍。这本书是免费提供的。为什么不尝试一下?
(以上信息主要取自PostScript FAQ。我拥有并使用上述所有书籍,并完全同意给定的评估。)
答案 1 :(得分:1)
请参阅Kurt Pfeifle的回答here,以获得此仓促答案的更正版本。希望我在followup question
中有点赎回自己要更直接地回答您的问题,很难解释代码的作用,因为它不完整。
两个片段的开头都是2 copy
,它会推动堆栈顶部两件事的重复。这些是什么东西? ??!
嗯,他们可能是数字。在第一个例子中,它们几乎肯定是一个坐标对:x和y。如果y大于2,则绘制一条线到(current-x + y-from-stack,0)。为什么这样? ??!
在第二个例子中,KochR
很可能是绘制Koch曲线的递归过程,其中一个参数几乎肯定是递归级别,另一个可能是单个线段的长度(除非它真的很复杂,并提供全局缩放控制。)
这就是所示的所有可以从代码中猜到的。 HTH。
答案 2 :(得分:1)
(这个答案基于luser droog的答案,对我给出的代码有不同的理解。)
要更直接地回答您的问题,很难解释代码的作用,因为它不完整。
两个片段的开头都是2 copy
,它会推动堆栈顶部两件事的重复。这些是什么东西? ??! (重复此后,2
不再在堆栈中。)
嗯,他们可能是数字。在第一个例子中,它们几乎肯定是一个坐标对:x和y:
如果 y 更大大于或等于 2 x ,然后从当前位置到(y,0)绘制一条到(current-x + y-from-stack,0)。为什么这样? ??!
其他执行省略号{ ... }
在第二个例子中,KochR
很可能是绘制Koch曲线的递归过程,其中一个参数几乎肯定是递归级别,另一个可能是单个线段的长度(除非它真的很复杂,并提供全局缩放控制。)
这就是所显示的所有可以从代码中猜到的。