Crtanje u postscriptu II, 13. svibnja 2013. godine

Nakon >> prvog dijela uvoda u postscript, evo i drugog. Ovdje ću objasniti kako se
u postscriptu "slika", tj. kako se, pored linija koje sam objasnio u >> prethodnom postu,
dobivaju obojene plohe. Najprije načinimo zaglavlje PS datoteke:
%!PS-Adobe-2.0
gsave
1 setlinejoin
1 setlinecap
newpath
Obojenu plohu u postscriptu možemo najjednostavnije zamisliti kao poligon obojene unutrašnjosti. Najprije postavimo boju unutrašnjosti
(u ovom slučaju nijansu sive):
0.75 0.75 0.75 setrgbcolor
A onda pomaknemo (moveto) "kursor" na jednu od točaka poligona:
274.5 312.1 moveto
Sa lineto komandama pomičemo se po vrhovima poligona koji ćemo obojiti, sve to točke prije one početne, na koju
smo otišli s moveto komandom:
275.2 312.6 lineto
276.2 312.0 lineto
276.4 310.9 lineto
275.7 310.5 lineto
274.7 310.9 lineto
I na kraju, s naredbom fill ispunjavamo poligon bojom koju smo postavili (0.75, 0.75, 0.75):
fill
Naredba fill boji i zatvara poligon, spajajući zadnju točku poligona (274.7, 310.9) s prvom (274.5, 312.1), kako je
ilustrirano na slici koja je otvorila post.
Ovu proceduru ponavljamo onoliko puta koliko poligona želimo nacrtati. Na kraju datoteku zatvaramo:
grestore
showpage
Postscript datoteku iz koje je nastala slika koja je otvorila ovaj post možete
>> downloadirati OVDJE.
Osim poligona, u postscriptu je vrlo jednostavno crtati krugove, odn. dijelove kruga, tj. kružne lukove / isječke uporabom naredbe arc.
Sliku ispod načinio sam isključivo planiranim pozicioniranjem različito obojenih krugova tako da se dobije trodimenzionalna reprezentacija
virusa. Krugovi, koji predstavljaju amino-kiseline, različito su obojeni ovisno o njihovoj (trodimenzionalnoj) udaljenosti od (trodimenzionalnog)
centra oblika / virusa.

Krug crtamo tako da mu najprije specificiramo boju:
0.999 0.649 0.0513 setrgbcolor
A onda ga nacrtamo naredbom:
309.37 366.75 2.39 0 360 arc fill
Prva dva broja (309.37, 366.75) specificiraju centar kruga, treći broj (2.39) specificira njegov radijus, a četvrti i peti broj
(0, 360) specificiraju početni i finalni kut kružnog luka - za pune krugove ovi su brojevi uvijek 0 i 360, ali se zanimljivi oblici
(polukugovi, četvrtkrugovi i slično) mogu dobiti smanjenjem finalnog kuta. Uporabom isključivo arc naredbi mogu se lako
dobiti pie-chart dijagrami. Konačno, naredba arc povlači kružni luk,
a naredba fill ga zatvara i ispunjava zadanom bojom.
Kad se u postscriptu mnogi oblici međusobno prekrivaju, kao što je slučaj s prikazanim virusom, treba imati u vidu da postscript
crta preko onoga što je već nacrtao, tj. oblici koji se specificiraju u PS datoteci kasnije, crtaju se preko onih specificiranih
ranije.
Premda postscript po svojoj zamisli nije (prije svega) namijenjen 3D vizualizaciji, gornji primjer, a i primjeri iz
>> prethodnog posta pokazuju da se on u te svrhe može koristiti te da su rezultati
zadovoljavajući. Za uporabu postscripta u ove svrhe ključno je matematičko razumijevanje perspektive o kojem ću uskoro objaviti
jedan post.
Slika ispod prikazuje isti virus vizualiziran u POV-Rayu - vidi se koliko sjene na objektu doprinose poimanju
njegove trodimenzionalnosti. Također jasno uočavamo periodičnost proteinske strukture (heksamere) virusnog omotača te vidimo
da se radi o T=21 virusu (vidi >> poster o T broju za detalje).

NADOPUNA (21. svibnja 2013.): A >> evo i trećeg dijela uvoda u postscript.
<< Mi ljudi | >> Drawing with postscript III |
Zadnji put osvježeno: 21. svibnja 2013. godine.