Postscript programozás probléma

Ez a téma lezárásra került a moderátor által. A lezárás oka: L�gysz�ves tanulj meg a t�m�nak norm�lis, a probl�m�t j�l k�r�l�r� c�met adni!
Postscript programozás probléma
2011-07-27T11:32:31+02:00
2011-07-27T11:32:32+02:00
2022-08-04T11:45:29+02:00
Otomatik Guru
Sajnos nem találtam kimondottan postscript prograozással kapcsolatos témát, ezért itt teszem fel a kérdésemet.

Írtam egy C++ progit, amely fraktálokat generál postscript nyelven. Tehát a kimenet egy szöveges postscript nyelvű file. A fraktált ún. DOL-system szerű módon generálom, de ez lényegtelen. A lényeg az, hogy a felbontást, azaz a rekurziók számát egy egész számmal adom meg. Ha növelem a számot, akkor a fraktál egyre részletgazdagabb lesz, és persze a postscript file-ban egyre több vonalat húzok. A Koch-görbén próbáltam ki a programomat. N=0-ra a görbe csak egy háromszög. N=1-re az alábbi a postscript file, amit generáltam:

/path
{
newpath
0 0 moveto
1 0 rlineto
0.5 -0.866026 rlineto
0.5 0.866026 rlineto
1 0 rlineto
0.5 0.866026 rlineto
1 0 rlineto
-0.500001 0.866025 rlineto
0.5 0.866026 rlineto
-0.500001 0.866025 rlineto
0.5 0.866026 rlineto
-1 -1.34641e-006 rlineto
-0.500001 0.866025 rlineto
-1 -1.34641e-006 rlineto
-0.500001 0.866025 rlineto
-0.499998 -0.866026 rlineto
-1 -1.34641e-006 rlineto
-0.499998 -0.866026 rlineto
-1 -1.34641e-006 rlineto
0.500002 -0.866024 rlineto
-0.499998 -0.866026 rlineto
0.500002 -0.866024 rlineto
-0.499998 -0.866026 rlineto
1 2.69282e-006 rlineto
0.500002 -0.866024 rlineto
} def
157.181 177.667 translate
93.6378 93.6378 scale
path
0 setlinewidth
stroke
showpage

Ha növeljük az N-et, akkor a def részen belül kell egyre több vonalat elképzelni. N=5-ig minden rendben is van, és megkapjuk a kívánt ábrát. De N-6-ra hibát ír ki a GSview. A file mérte csak 600 KB, ami nem túl sok. Nem tudom mi lehet a hiba. Van valami korlátozás a postscript nyelvben a file méretben, vagy a vonalak számában, vagy a def-en belül van korlátozás?

A hibaüzenet vége egyébként ilyesmi:

...
0.500002 -0.866024 rlineto
-0.499998 -0.86
--- End offending input ---
file offset = 541696
gsapi_run_string_continue returns -15
Mutasd a teljes hozzászólást!

Ez a téma lezárásra került a moderátor által. A lezárás oka: L�gysz�ves tanulj meg a t�m�nak norm�lis, a probl�m�t j�l k�r�l�r� c�met adni!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd