\documentclass[pstricks]{standalone}
\makeatletter
\pst@addfams{pst-padovanspiral}
\define@key[psset]{pst-padovanspiral}{nPadovan}{\edef\psk@nPadovan{#1 }}
\psset{nPadovan=9}%
%% 2 couleurs qui peuvent être re-definies par l'utilisateur
\define@key[psset]{pst-padovanspiral}{color1}{\pst@getcolor{#1}\pscolora}
\psset[pst-padovanspiral]{color1=cyan!50}
%
\define@key[psset]{pst-padovanspiral}{color2}{\pst@getcolor{#1}\pscolorb}
\psset[pst-padovanspiral]{color2=yellow!50}

\def\psPadovanSpiral{\def\pst@par{}\pst@object{psPadovanSpiral}}
\def\psPadovanSpiral@i{{%
\begin@SpecialObj
\addto@pscode{
15 dict begin
% pour la récursivité en postscript consultez :
% https://staff.science.uva.nl/a.j.p.heck/Courses/Mastercourse2005/tutorial.pdf
/Padovan {
	2 dict begin
		/n exch def
		n 3 gt {
			n 3 sub Padovan n 2 sub Padovan add
		}{
			n 1 eq n 2 eq or n 3 eq or {1} if
		} ifelse
	end
} bind def
/Triangle {
2 dict begin
/y exch def
/x exch def
 x y
 x l a cos mul add
 y l a sin mul add
 x l a 60 sub cos mul add
 y l a 60 sub sin mul add
 end
} def
% choix unité
 /cm  {\pst@number\psunit mul} bind def
% numéro d'ordre de la suite de Padovan
/n \psk@nPadovan def
% angle initial
/a 0 def
% premier sommet du premier triangle
/x 0 def /y 0 def
/Points [
1 1 n {/i exch def
/l i  Padovan def
x y Triangle
2 copy
/y exch def /x exch def
/a a 60 add def
} for
] def
/color1 {\pst@usecolor\pscolora } def
/color2 {\pst@usecolor\pscolorb } def
/bicolor 0 def
0 6 Points length 6 sub {/i exch def
/DessineTriangle {
  newpath
	Points i get cm Points i 1 add get cm moveto
	Points i 2 add get cm Points i 3 add get cm lineto
	Points i 4 add get cm Points i 5 add get cm lineto
	closepath
	} def
	bicolor 2 mod 0 eq {color1}{color2} ifelse
	DessineTriangle \psk@opacityalpha .setopacityalpha fill
	0.19 0.16 0 setrgbcolor DessineTriangle stroke
	/bicolor bicolor 1 add def
	} for
% les centres
/CdG [
0 6 Points length 6 sub {/i exch def
	Points i get       Points i 2 add get add Points i 4 add get add 3 div cm
    Points i 1 add get Points i 3 add get add Points i 5 add get add 3 div cm
	} for
	] def
% les arcs de la spirale
1 0 0 setrgbcolor
2 setlinewidth
/a 180 def
/p 1 def
0 6 Points length 6 sub {/i exch def
	Points i 2 add get cm Points i 3 add get cm
	p Padovan cm
	a a 60 add
	arc
	stroke
	/p p 1 add def
	/a a 60 add def
	} for
% les nombres de la suite
/chaine 5 string def
gsave
0 0 1 setrgbcolor
/pPad 1 def
0 2 CdG length 2 sub {/i exch def
/leNombre pPad Padovan chaine cvs def
/Times-Roman findfont
  pPad Padovan 1 eq {4 scalefont}{  i 2 add scalefont} ifelse setfont
	CdG i get CdG i 1 add get moveto	
% https://stackoverflow.com/questions/12717457/how-to-center-rotated-text-on-page-in-postscript
gsave
0 0 moveto
leNombre false charpath flattenpath pathbbox % llX llY urX urY
grestore
exch     % llX llY urY urX
4 1 roll % urX llX llY urY
exch sub % urX llX urY-llY
3 1 roll % urY-llY urX llX
sub exch % urX-llX urY-llY
-.5 mul exch -.5 mul exch % -wid/2 -ht/2
rmoveto
leNombre show
/pPad pPad 1 add def
} for
grestore
% les sommets
/pixel {/y exch def /x exch def
        1 0 0 setrgbcolor x y 2.5 0 360 arc fill
        0 setgray 0.8 setlinewidth x y 2.5 0 360 arc stroke
        } def
0 6 Points length 6 sub {/i exch def
	Points i get cm Points i 1 add get cm pixel
	Points i 2 add get cm Points i 3 add get cm pixel
	Points i 4 add get cm Points i 5 add get cm pixel
	} for
end
}%
\use@pscode%
\end@SpecialObj
  }\ignorespaces}
\makeatother
\begin{document}
\begin{pspicture}[showgrid](-6,-12)(10,5)
\psPadovanSpiral[opacity=0.7]
\end{pspicture}
\begin{pspicture}[showgrid](-10,-6)(9,13)
\psPadovanSpiral[nPadovan=17,unit=0.2,opacity=0.7]
\end{pspicture}
\end{document} 