🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.grafika
2 messages
2 total messages Started by $tipa Tue, 20 Dec 2011 19:20
Crosspost: sposób opisu krzywej w pliku EPS?
#222735
Author: $tipa
Date: Tue, 20 Dec 2011 19:20
36 lines
1797 bytes
Chcę sobie napisać programik Deformujący krzywą, a dokładniej 
"naklejający" ją na sferę. Ale nie wszystkie liczby, którymi jest ona 
opisana w pliku eps rozumiem.

Przykład krzywej 4-punktowej:


@rax %Note: Object
2.13987 1.19509 7.65383 8.47814 @E
/$fm 0 def
0 J 0 j 22.925585626053735 setmiterlimit
[] 0 d 0 R 0 @G
[ 1.00 0.00 1.00 0.00 0.00 null ] set_outline_color
0 0.56693 0.56693 0.00000 @w
2.37685 8.34094 m
3.00019 9.00057 9.00057 7.00044 7.37717 8.34094 C
6.00038 7.00044 6.00038 4.00025 7.37717 3.34063 C
6.00038 0.00000 1.00006 1.00006 2.37685 3.34063 C
4.00025 5.00031 2.00013 7.00044 2.37685 8.34094 C
@c
S

Nie wiem co znaczy ten wiersz:
2.13987 1.19509 7.65383 8.47814 @E

bo, gdy zmieniłem powyższe liczby, krzywa po zaimportowaniu do corela 
wyglądała tak samo.

Nie wiem też, co oznacza ten wiersz:
0 J 0 j 22.925585626053735 setmiterlimit

Bo gdy zmieniłem 22.92... na coś innego, też nic się nie stało.

Ale jednak po coś one chyba są

$tipa
Re: Crosspost: sposób opisu krzywej w pliku EPS?
#222736
Author: Stefan Nawrocki
Date: Tue, 20 Dec 2011 19:50
53 lines
2644 bytes

>
> @rax %Note: Object
> 2.13987 1.19509 7.65383 8.47814 @E
> /$fm 0 def
> 0 J 0 j 22.925585626053735 setmiterlimit
> [] 0 d 0 R 0 @G
> [ 1.00 0.00 1.00 0.00 0.00 null ] set_outline_color
> 0 0.56693 0.56693 0.00000 @w
> 2.37685 8.34094 m
> 3.00019 9.00057 9.00057 7.00044 7.37717 8.34094 C
> 6.00038 7.00044 6.00038 4.00025 7.37717 3.34063 C
> 6.00038 0.00000 1.00006 1.00006 2.37685 3.34063 C
> 4.00025 5.00031 2.00013 7.00044 2.37685 8.34094 C
> @c
> S
>

> Nie wiem co znaczy ten wiersz:
> 2.13987 1.19509 7.65383 8.47814 @E

To co pokazałeś wyżej jest fragmentem programu PostScriptowego. W
PostScripcie obowiązuje ONP (odwrotna notacja polska), a więc najpierw na
stos odkładane są parametry, a potem jakieś polecenie (komenda) pobiera
odpowiednią liczbę parametrów ze stosu i wykonuje na nich operację.
Część poleceń w powyższym fragmencie, to bezpośrednie polecenia PostScriptu
(np. setmiterlimit, def), inne natomiast są nazwami procedur (@E, @w, C, m,
itd.)
Wiersz
/$fm 0 def
przypisuje zmiennej $fm wartość zero. Analogicznie (gdzieś wyżej w
programie) powinno być:
/@E
{
% tu treść procedury
} def
Od tego momentu @E oznacza wywołanie tej procedury.


Pełną dokumentację PostScriptu znajdziesz tu:
www.adobe.com/products/postscript/pdfs/PLRM.pdf

Natomiast na mojej stronie znajdziesz wersję demo interpretera PostScriptu:
http://3n.com.pl/ftp/kombi_8_ps_demo_.exe
W tym interpreterze jest tryb pracy krokowej, można też podglądać słowniki,
zmienne i procedury. Co prawda jest to dość stara wersja (z 2009 roku), ale
może ułatwi Ci rozgryzanie tematu.


-- 
Stefan
http://foto.3n.com.pl/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads