- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在后记中,roll
运算符非常笼统,难以形象化。你如何确保你在正确的方向上滚动?
我想在 roll
上得到一个可靠的句柄因为我希望能够使用变量来转换函数
/f { % x y z
/z exch def
/y exch def
/x exch def
x dup mul
y dup mul
z dup mul add add % x^2+y^2+z^2
} def
/f { % x y z
3 1 roll dup mul % y z x^2
3 1 roll dup mul % z x^2 y^2
3 1 roll dup mul % x^2 y^2 z^2
add add % x^2+y^2+z^2
} def
/f { % x y z
3 { 3 1 roll dup mul } repeat
2 { add } repeat % x^2+y^2+z^2
} bind def
roll
我总是要测试一下;我通常
最佳答案
我在很长一段时间内都难以滚动。我记得现在使用这些方式,它们都是等价的:
韵 (-ish)
n j roll
7 8 9 3 1 roll
% 9 7 8
% 9 7 8
3 -1 roll
% 7 8 9
for j number of times pick up n books put the top one on the bottom (shifting the substack "up") put them back down
And a negative roll goes down:
for j number of times pick up n books put the bottom one on top (shifting the substack "down") put them back down
But I usually picture the stack sideways, the way the objectswould look in a file as a sequence of literals. So I think ofthe positive roll as stashing the top j things behind the nththing; and the negative roll as snagging j things startingwith the nth thing. Give and Take.
Away.
n j roll
__ j > 0 __ move top j elements to the bottom of n
n TOS
-------------|
| j |
| -----|
| | |
V V |
a b c d e f g h
^ | |
| |-------|
^ |
-<-<-<-<-<-
move
然后回来。
__ j < 0 __ move j elements from the bottom of n to the top
n TOS
-------------|
| j |
|----- |
| | |
V V |
a b c d e f g h
| | ^
|-------| |
| ^
->->->->->-
move
(a) (b) (c) (d) (e) 5 3 roll _______ / \ | 3 | | / | \ | \_______/ (a) (b) (c) (d) (e)
Then a positive roll goes counterclockwisejust like arc and rotate.
_______ (e) / / \ | 3 --| (d) | \ | \_______/ (c) (a) (b) (e)__(d)__(c) /\ | /\ | 3 | | | \_______/ (a) (b) (c)_______ /\ \ (d) |-- 3 | |/ | \_______/ (e) (a) (b) _______ / \ | 3 | | / | \ | \_______/ (c) (d) (e) (a) (b)
And a negative roll goes clockwiselike arcn and a negative rotation.
_______ / \ | 3 | | / | \ | \_______/ (a) (b) (c) (d) (e) (a)_______ /\ \ (b) |-- 3 | |/ | \_______/ (c) (d) (e) (c)__(b)__(a) /\ | /\ | 3 | | | \_______/ (d) (e) _______ (c) / / \ | 3 --| (b) | \ | \_______/ (a) (d) (e) _______ / \ | 3 | | / | \ | \_______/ (d) (e) (a) (b) (c)
It shouldn't be difficult to see that negative rolls are entirely unnecessary because if j<0, it can be replaced by n-j. eg.
3 -1 roll % roll bottom 1 element from 3 to the top
3 2 roll % roll top 2 elements behind the 3rd
是一样的。
16 -4 roll % roll bottom 4 elements from 16 to the top
16 12 roll % roll top 12 elements behind the 16th
是一样的。
g h i j k l m n o p q r s t u v w x y z a b c d e f $TOS$
向上(向下)计数 n 和 j。
g h i j k l m n o p q r s t u v w x y z a b c d e f
26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
| | j = 6 . . . .
| n = 26 . . . . . . . . . . . . . . . . . . . . . . .
> 26 6 roll pstack
a b c d e f g h i j k l m n o p q r s t u v w x y z
j 的负值只是将分割线相对于 n 个元素中最深的元素定位(它从下面开始计数)。
t u v w x y z a b c d e f g h i j k l m n o p q r s
26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
. . . . j = -7 | |
. . . . . . . . . . . . . . . . . . . . . . . n = 26 |
> 26 -7 roll pstack
a b c d e f g h i j k l m n o p q r s t u v w x y z
% r0..rN s0..sM N M swap s0..sM r0..rN
% a gentler interface to the power of roll
/swap {
exch 1 index add exch
roll
} def
0 1 2 3 /a /b /c 4 3 swap pstack
输出:
GPL Ghostscript 8.62 (2008-02-29)
Copyright (C) 2008 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
3
2
1
0
/c
/b
/a
GS<7>GS<7>
关于postscript - 您如何保持 `roll` 运算符的正确性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15997536/
下面的代码绘制了一条宽虚线曲线。曲线太宽以至于虚线重叠。在黑色虚线重叠的某些地方,输出似乎是错误的。我已经在 Mac OS X 和 Ghostscript 的预览版中对此进行了测试。谁能解释一下? %
例如,我以编程方式构造了一个字符串 (/r1 [256 782 502] def) 然后我想按照 PostScript 指令执行字符串,以便将数组放在堆栈上。 如何执行字符串对象? 最佳答案 正如 K
我正在寻找一种交叉影线各种基本形状的方法。是否有我找不到的填充样式,或者我应该使用剪裁? 最佳答案 查看第 4.9 章:Patterns of the PostScript Language Refe
按给定字符将字符串拆分为数组的最简单方法是什么?例如,通过空间分割来制作一个单词数组;甚至制作一个包含字符串所有字符的数组。 我能想到的唯一方法是使用 search在一个循环中。由于所有语言都有用于此
我正在尝试将两个或多个 postscript 文件合并为一个。我尝试了连接,但它不起作用,因为每个 postscript 文件可能有不同的资源头。 以前有人这样做过吗?是否有任何图书馆(商业或开源)?
我想达到与此相同的目的: 4 1 1 [1 0 0 1 0 0] {} image 但使用基数表示: 4 1 1 [1 0 0 1 0 0] 2#0100 image %this one does n
我需要在 postscript 中确定字符串的高度(以给定的比例和字体)。 /Helvetic-Oblique findfont 10 scalefont setfont 10 10 1 0 360
我确实有以下由 Ghostscript 生成的 PostScript 代码内容Windows XP 上的打印机。 /Euro /Times-BoldItalic /Times-BoldItalic-C
目标是使这条线正常工作: (árvíztűrő tükörfúrógép,ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP) show 所有这些字符都在 中CE 编码矢量 . 这些链接可能有助于找到答案:
我真的很纠结于 postscript 中的语法。该程序在堆栈中给出了 6 个值,并且需要以相同的顺序返回堆栈,每个项目都添加 1。我在这一点上迷路了,下面的程序是我能得到的最接近的程序。这当前需要一个
我正在寻找一种方法将一堆连接线渲染为 postscript 中的一条漂亮的连续曲线。渲染曲线穿过我所有的点很重要。 curveto似乎是绘制曲线的唯一可用方法,但该功能需要贝塞尔控制点,而我没有。 那
这个问题的目的是从编程的角度更好地理解 PostScript。下面描述的目标只是一个用于说明的示例。 在 PostScript 语言中,我可以定义一个程序来设置当前图形颜色,如下所示: /cRED {
我正在使用带有以下内容的 postscript 绘制一个简单的矩形 1 -1 scale 0 -300 translate newpath 88.9 117.25 moveto 131.6 117.2
我是 PostScript 语言的新手。现在我正在使用 ps 打印点的缩放图像。 ps默认的dpi是72dpi,不知道怎么改成600dpi。 我写的代码如下,是一个点的正方形。 %%Dot_unit
我希望能够将条形码添加到生成的 postscript 文件中。 postscript 文件是由另一个程序生成的,我无法更改该程序的工作方式。 我发现几个线程表明这可以通过将 Postscript 文件
我有一个带有两个变量的简单函数 /func { /var1 exch def /var2 exch def ... process ... } def (var2)(var1)func 我想让 var
我有一个 pdf 文件或该 pdf 的后脚本文件。我的要求是将此文件转换为 ZPL 代码,以便我的热敏打印机可以打印它。我在谷歌上搜索了很多但找不到任何可以满足我要求的解决方案。如果您以前遇到过这种情
我有一个 pdf 文件或该 pdf 的后脚本文件。我的要求是将此文件转换为 ZPL 代码,以便我的热敏打印机可以打印它。我在谷歌上搜索了很多但找不到任何可以满足我要求的解决方案。如果您以前遇到过这种情
在运行时之前已知值为 10 和 20 的示例,以便更好地理解以下实际问题: /point1 { 10 20 } def 将数字 10 和 20 放入(匿名)过程然后将其分配给名称 point1(因此它
我正在尝试使用 pathforall 为路径中绘制的每条线应用不同的颜色。当我把“描边”放在末尾时,它显然只会用最近的颜色绘制形状。每次颜色变化后如何执行笔画?/lineto 的功能 block 不接
我是一名优秀的程序员,十分优秀!