Convertido a partir del siguiente código PostScript:
%!/archimdoble{%%%%%%%%%%%%%%%%% Programa PostScript para mostrar una espiral de Arquímedes mediante la aproximación% con curvas de Bézier. Puede mostrar una espiral doble (dos espirales)% girados 180 grados entre sí).%%% Parámetros: % centerx = coordenada horizontal del centro de la espiral % centery = coordenada vertical del centro de la espiral % rotf = grados a rotar/sepwid 110 def % ancho que separa vueltas sucesivas de espiral % (la mitad si se selecciona espiral doble)/incrm 15 def % inserta un punto de curva después de este número de grados/sweeps 2 def % número de giros de 360 grados para mostrar/double 1 def % cambia a 0 para mostrar una sola espiral%%% Procedimientos:/pi 3,1415926535898 def/radianes 57,295779513082 def/sepwid sepwid pi div 2 definición de divgsave centerx centery traducir rotf rotar/aspiral{/prevbezy 0 def 0 0 mover a 0 incrm barre 360 mul{7{dup}repetir fase añadir cos/costo cambio definición fase añadir seno/sinth intercambio def costo mul radianes div/thcosto cambio def sinth mul radianes div/thsinth exch def thcost sepwid mul/x cambio def este sepwid mul/y cambio def /pendiente sinth thcosth añadir costh thsinth sub div def sinth 0 gt sinth 0 eq costh -1 eq y o{/flag -1 def}{/flag 1 def}ifelse /Un cambio def A 49,29348 lt A 180 gt A 196,273450852 lt y A 360 gt A 368.8301 lt y A 540 gt A 545.9907 lt y A 720 gt A 724.5217 lt y A 900 gt A 903.6281968 lt y o o o o o{/bandera bandera neg def}si incrm sub 3{dup}repetir fase agregar cos sepwid mul mul radianes div /prevx exch def fase add sin sepwid mul mul radianes div /def. de intercambio anterior incrm add 3{dup}repetir fase agregar cos sepwid mul mul radianes div /nextx exch def fase suma seno sepwid mul mul radianes div /próxima definición de cambio /prevdist x prevx sub dup mul y prevy sub dup mul suma sqrt pi definición div /nextdist x nextx sub dup mul y nexty sub dup mul agregar sqrt pi definición div /normaliz pendiente pendiente mul 1 add sqrt def 0 eq{/prevbezx fase cos nextdist mul def}{prevbezx prevbezy x 1 bandera mul normalizar div prevdist mul sub y pendiente bandera mul normalizar div prevdist mul sub curva xy /prevbezx x 1 bandera mul normalizar div nextdist mul agregar def /prevbezy y pendiente bandera mul normalizar div nextdist mul agregar def} si no} para trazo}def/fase 0 def aspiral%%% Si hay diferentes parámetros de barrido para la segunda espiral, defínalos aquí:/barre 1.67 def%%%doble 0 ne{/fase 180 def aspiral}si grestore%%%%%%%%%%%%%%%%}definiciónguardar712 -134 traducir -.75 .75 escalar -3 rotar/centerx 304 def/centery 550 def/rotf 0 def archimdouble/centerx 707.333 def/centery 550 def/rotf 120 def archimdouble/centerx 505.667 def/centery 899.2967 def/rotf 240 def archimdoubleRestauraciónpágina de presentación% EFF