【发布时间】:2012-09-19 03:10:27
【问题描述】:
我正在以下链接阅读 RobertSedwick 的算法
页码:218 图5.13
以下语句在 PostScript 中是什么意思。
2 copy ge {dup 0 rlineto}
{
...
} ifelse
还有什么意思
2 copy KochR
我第一次在这里研究 PostScript。
【问题讨论】:
标签: postscript
我正在以下链接阅读 RobertSedwick 的算法
页码:218 图5.13
以下语句在 PostScript 中是什么意思。
2 copy ge {dup 0 rlineto}
{
...
} ifelse
还有什么意思
2 copy KochR
我第一次在这里研究 PostScript。
【问题讨论】:
标签: postscript
你应该先参考以下四本书/资源:
"Blue Book"(PDF 0.9 MByte)。
PostScript 语言教程和食谱,Adobe Systems,Addison-Wesley 1985; ISBN 0201101793。
这是对 PostScript 语言的最佳介绍。 PostScript 运算符以一种简单而有节奏的方式引入。示例程序易于阅读,并且可以打印出精美的图片。这本书只描述了 1 级 PostScript 的一小部分。就其本身而言,它不足以用于专业工作。
"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 语言的官方描述。书中的一切都很重要;一切只解释一次。喜欢在床上阅读的人也可以使用纸质版的红皮书。无需在 Adobe 的合作伙伴计划中注册的旧版本(1999 年)可通过here 获得。
Thinking in PostScript(PDF 0.8 MByte)。
作者:Glenn C. Reid,Addison-Wesley,1990; ISBN 0201523728。
这本书很好地介绍了 PostScript。这本书是免费提供的。为什么不试试呢?
(以上信息主要来自PostScript FAQ。我拥有并使用过以上所有书籍,并且完全同意给定的评估。)
【讨论】:
(这个答案基于 luser droog 的答案,我对给出的代码有不同的理解。)
为了更直接地回答您的问题,很难解释代码的作用,因为它不完整。
两个 sn-ps 的开头都是 2 copy,它将顶部两个东西的副本推入堆栈。这些是什么东西? ??? (在此复制之后,2 不再在堆栈中。)
嗯,它们可能是数字。在第一个示例中,它们几乎肯定是一个坐标对:x 和 y:
如果 y 大于 大于或等于 2 x,然后从当前位置到 (y,0) 画一条线 to (current-x + y-from-stack, 0)。为什么要这样做? ??!
Else执行由省略号{ ... }表示的代码
在第二个示例中,KochR 很可能是绘制科赫曲线的递归过程,其中一个参数几乎可以肯定是递归级别,另一个可能是单个线段的长度(除非它是非常复杂并提供全局缩放控制)。
这就是从代码中可以猜到的所有内容。
【讨论】:
请参阅 Kurt Pfeifle 的回答 here 以获得这个仓促回答的更正版本。希望我在followup question
中有所救赎为了更直接地回答您的问题,很难解释代码的作用,因为它不完整。
两个 sn-ps 的开头都是 2 copy,它将顶部两个东西的副本推入堆栈。这些是什么东西? ??!
嗯,它们可能是数字。在第一个示例中,它们几乎肯定是一个坐标对:x 和 y。如果 y 大于 2,则画一条线到 (current-x + y-from-stack, 0)。为什么要这样做? ??!
在第二个示例中,KochR 很可能是绘制科赫曲线的递归过程,其中一个参数几乎可以肯定是递归级别,另一个可能是单个线段的长度(除非它是非常复杂并提供全局缩放控制)。
这就是从代码中可以猜到的所有内容,如图所示。 HTH。
【讨论】:
2 不再存在。