[cstex] Zapeklita grafika

Luboš Kloc kloc at ipm.cz
Thu May 17 18:41:32 CEST 2007


jirka.cech at gmail.com wrote:
> Ahoj,
> rad bych se poradil s dvema malymy problemy okolo grafiky. Tusim, ze
> resenim by mohl byt postscript nebo TeX, proto pisu sem.
>
> Prvni vec je vygenerovani cernobileho, stredove symetrickeho obrazku,
> kde bych nejak (bud funkci nebo sadou datovych bodu x,y) zadal
> vzdalenost od stredu(x) a stupen sedi(y). Pro priklad, kdyby zadana
> funkce byla vzestupne schodovita, byl by pozadovany obrazek sadou
> soustrednych kruznic s bilou uprostred a cernou na vnejsim okraji.
> Kdyby byla vstupni sada rada "pulsu" (|_|_|_|_||_) vypadal by obrazek
> jako terc s cernym bodem uprostred a dvojitou cernou carou na vnejsim
> okraji....
>
> druhy, mozna i jednodussi problem je vygenerovat testovaci obrazec pro
> mikrofotografii, takze bych chtel nejak rozhazet na a4 255 ctvercu,
> kazdy by mel opet jiny stupen sedi. Je nejaky rozumne jednoduchy
> zpusob jak to udelat?
>
> O postscriptu vim jen ze existuje a ze je to neco jako mezikrok nez mi
> pdfLaTeX udela pdf (a nekamenujte mne, tusim, ze to je az vulgarne
> zjednodusene)
>
>   
No, to neni zjednodusene, to neni pravda. pdfLaTeX generuje PDF primo, 
bez mezikroku.
"Klasicky" LaTeX generuje DVI, a to pak lze prevest opet primo do PDF 
nebo s mezikrokem
pres PS.

PostScript je v podstate jakymsi predchudcem PDF, urcenym pro tiskarny. 
Je to jazyk pro popis stranky, obsahuje plnohodnotne programovaci 
konstrukce (ty v PDF nejsou) a je ASCII, tedy
lidsky citelny a editovatelny (i kdyz nekdy to muze byt dost obtizne). 
Dulezita vlastnost je, ze pozdeji nakresleny objekt vzdy zcela prekryva 
objekty nakreslene drive.

Pro vase problemy potrebujete vektorovy graficky editor, ve kterem se 
obrazek nekresli, ale programuje.
Bylo by mozne pouzit primo PostScript, ale jeho syntaxe neni zrovna na 
prvni pohled jasna,
takze to nedoporucuji. Lepsi je pouzit treba MetaPost nebo PStricks v TeXu.

Nemam ted cas napsat  a odzkouset cely priklad, ale ta prvni uloha by 
mohla vypadat v MetaPostu nejak takhle:

draw fullcircle scaled n withcolor s[n]*white;
a to cele v sestupnem cyklu pro n, vase bodova funkce by byla v poli s[n].
Vyslo by to tak na tri radky.

S pranim uspechu,

Lubos Kloc




More information about the csTeX mailing list