2014-03-27 32 views
0

我試圖找到的PostScript等效代碼爲我的LOGO程序:LOGO爲PostScript

PROC FRACTAL(SIZE) 
IF SIZE < 1 THEN 
FORWARD 5 
ELSE 
LEFT 90 
RIGHT 90 
RIGHT 90 
RIGHT 90 
RIGHT 90 
RIGHT 90 
FORWARD 60 
ENDIF 

PROC MAIN(VOID) 
FRACTAL(5) 

到目前爲止我

%! 
%(debug.ps/db5.ps)run traceon stepon currentfile cvx debug 
/Xpos { 300 } def 
/Ypos { 500 } def 
/Heading { 0 } def 
/Arg { 0 } def 
/RIGHT { 
Heading exch add Trueheading 
/Heading exch store 
} def 
/LEFT { 
Heading exch sub Trueheading 
/Heading exch store 
} def 
/Trueheading { 
360 mod dup 
0 lt { 360 add } if 
} def 
/FORWARD { 
dup Heading sin mul 
exch Heading cos mul 
2 copy Newposition 
rlineto 
} def 
/Newposition { 
Heading 180 gt Heading 360 lt 
and { neg } if exch 
Heading 90 gt Heading 270 lt 
and { neg } if exch 
Ypos add /Ypos exch def 
Xpos add /Xpos exch def 
} def 
/SIZE { 5 } def 
/FRACTAL{ 
1 dict begin 
/SIZE exch def 
SIZE 
1 
lt 
{ 
5 
FORWARD 
}{ 
90 
LEFT 
90 
RIGHT 
90 
RIGHT 
90 
RIGHT 
90 
RIGHT 
90 
RIGHT 
60 
FORWARD 
} ifelse 
end 
} def 
/MAIN{ 
5 
FRACTAL 
} def 
Xpos Ypos moveto 
MAIN 
stroke 
showpage 

該解決方案是基於這裏這個問題:Logo to PostScript mini-Compiler

這段代碼對我來說看起來不錯,但是由於某些原因PS不想顯示圖片。

+0

你是直接發送給打印機嗎?你有沒有在ghostscript中試過它? – Luis

+0

@Luis,我創建了一個文件.ps並嘗試在OSX中使用預覽打開 – user1806258

+0

您確定LOGO程序執行您的想法嗎?看起來它只是繪製一條較短的垂直線,這與ghostscript爲PS程序提供的輸出相同。順便說一句,「左90右90」是一個沒有操作,正如「右90右90右90 90」。 –

回答

1

後記翻譯是正確的。問題在於Logo程序沒有做任何有趣的事情。