Los gráficos vectoriales son ideales para fines ilustrativos. Las moléculas están formadas por átomos unidos por enlaces. Me gustaría que las operaciones de edición de un dibujo de una estructura química se realizaran según la estructura física de las moléculas: seleccionar un átomo, transferirlo, rotar un fragmento de una molécula, firmar ... Casi todos los visualizadores de estructuras atómicas exportan la vista a una trama, lo que complica la preparación de ilustraciones. En esta publicación, explicaré cómo renderizar estructuras 3D en formato vectorial y cómo PostScript puede ayudarlo con esto .
Muchos programas pueden exportar estructura a gráficos vectoriales: SVG, PDF, EPS. Sin embargo, esto a menudo se hace solo de manera formal: las imágenes resultantes consisten en muchas primitivas, es casi imposible desensamblarlas por átomos y enlaces. El tamaño de un archivo vectorial de este tipo también es grande, en una palabra, es un desastre. De los muchos constructores moleculares, solo dos satisfacen la calidad del código de imagen vectorial: GaussView y Molden . Este último programa está disponible para todos, por lo que los ejemplos se construyen con su ayuda, sin embargo, todas las recetas a continuación son aplicables (con algunas modificaciones) a las ilustraciones vectoriales realizadas por el programa GaussView. ¡Tan Molden!
, PostScript.
PostScript
:
%!PS-Adobe-2.0 EPSF-2.0
%%Title: Molden
%%For: Schaft
%%Creator: Drs G Schaftenaar
%%DocumentFonts: Courier
%%Pages (atend)
%%BoundingBox: 0 0 612 792
%%EndComments
%
%###### User Preferences ############
%
%---- SIZE AND ORIENTATION OF THE PLOT ---
%
/size { 0.24 } def
%---- These number can be negative -------
/originx { 39.0 } def
/originy { 753.0 } def
/angle { -90.0 } def
%For Portrait use
%/originx { 40.0 } def
%/originy { 240.0 } def
%/angle { 0.0 } def
%and BoundingBox: 25 255 535 765
- \doatom
, - \dorod
. Molden.
%---- Include Tabel & Logo, Fontsize -----
/tabel {true} def
/titleandlogo {true} def % false!
, 4082 . .
.
%---- SET BOND RENDERING: ---------------
%---- shadedrod, whiterod, blackrod -----
%
/doatom { dosketchysmoothatom } def
/dorod { sketchyshadedrod } def
%
% ( )
/dosketchysmoothatom % doatom
{ gsave
rx ry translate
90 -15 1 % 90 1 1 -
{ gsave
dup cos hue exch satu exch sethsbcolor sin dup scale
newpath
0 0 rad 0 360 arc
closepath fill grestore } for
grestore } def
/sketchyshadedrod
{ gsave
x1 y1 translate
x2 x1 neg add
y2 y1 neg add
{atan neg rotate} stopped not {
85 -15 0 % 87 -3 0 -
{dup
gsave
newpath
cos 1.0 cosb 0.5 mul neg add mul
hue exch satu exch sethsbcolor
sin 1.0 scale
1 cosb scale
0 0 hd 0 180 arcn
x2 x1 neg add dup mul
y2 y1 neg add dup mul
add sqrt
0 cosb eq {/cosb 1.0 def} if 0 exch cosb div translate
0 0 hd 180 360 arc
closepath fill
grestore } for
} if
grestore } def
!
/doatom { docirclecoloratom } def
/dorod { dostick } def
% , ,
/stickwidth {16} def
/stickgreycolor {0} def
/strokelinewidth {4} def
/docirclecoloratom
{ gsave
strokelinewidth setlinewidth
rx ry translate
newpath 0 0 rad 0 360 arc closepath
gsave
hue satu 1.0 sethsbcolor fill
grestore
stroke
0 0 rad 0.75 mul -60 0 arc
stroke
grestore
} def
% dostick Molden
:
, . - 3 . , , . - . .
/docircleatom
{ gsave
strokelinewidth setlinewidth
rx ry translate
newpath 0 0 rad 0 360 arc closepath
gsave
1 setgray fill
grestore
stroke
gsave
1.00 0.55 scale
0 0 rad 0 180 arc
stroke
grestore
0.55 1.00 scale
0 0 rad -90 90 arcn
stroke
grestore
} def
Este código reducirá radicalmente el dibujo a blanco y negro. Como en libros antiguos.
Conclusión
PostScript es sorprendentemente bueno para crear ilustraciones. Es fácil de aprender. En esta publicación, di una forma de hacer cosas simples, pero a veces muy, muy necesarias al preparar una publicación o póster para una conferencia. Sin embargo, ¡puedes ir más allá! Recomiendo encarecidamente el libro Mathematical Illustrations .