Here's a code example for a revolving door image I created with TikZ. How can I convert this code into code for asymptote?
\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage[top=1.5cm, bottom=1.5cm, left=1.5cm, right=1.5cm]{geometry}
\usetikzlibrary{intersections,shadings,calc}
\begin{document}
\begin{center}
\begin{tikzpicture}[line cap=round, line join=round,x=2mm,y=2mm]
\tikzset{
CungElip/.style args={#1:#2:#3}{
insert path={+ (#1:#3) arc (#1:#2:#3)}
}
}
\definecolor{nauden}{RGB}{52,32,0}
\definecolor{vangxam}{RGB}{190,155,100}
\fill[cyan!30] (-9,-2)rectangle(9,16);
\clip (8,0) arc (0:-180:16mm and 3.2mm) -- (-8,14) arc (180:0:16mm and 3.2mm) --cycle;
\shade[bottom color=vangxam!50!white,top color=vangxam!50!black] (0,0) [CungElip=0:360:16mm and 3.2mm];
\shade[yshift=23.2mm,bottom color=black,top color=gray!70] (0,0) [CungElip=0:360:16mm and 3.2mm];
\begin{scope}[even odd rule, overlay]
\clip (8,11.6) arc (0:-50:16mm and 3.2mm)--++(0,-9.2) arc (50:0:16mm and 3.2mm)--cycle
($(8,11.6)+(0,-0.5)$) arc (3:-47:16mm and 3.2mm)--++($(0,-9.2)+(0,1)$) arc (47:-3:16mm and 3.2mm)--cycle;
\fill[gray!80] (8,11.6) arc (0:-60:16mm and 3.2mm)--++(0,-9.2) arc (60:0:16mm and 3.2mm)--cycle;
\end{scope}
\begin{scope}[even odd rule, overlay]
\clip (-8,11.6) arc (-180:-130:16mm and 3.2mm)--++(0,-9.2) arc (130:180:16mm and 3.2mm)--cycle
($(-8,11.6)+(0,-0.5)$) arc (-177:-133:16mm and 3.2mm)--++($(0,-9.2)+(0,1)$) arc (133:177:16mm and 3.2mm)--cycle;
\fill[gray!80] (-8,11.6) arc (-180:-130:16mm and 3.2mm)--++(0,-9.2) arc (130:180:16mm and 3.2mm)--cycle;
\end{scope}
\fill[gray!50,opacity=0.3] ($(8,11.6)+(0,-0.5)$) arc (3:32:16mm and 3.2mm)--++($(0,-13.5)+(0,1.5)$) arc (-32:-3:16mm and 3.2mm)--cycle;
\fill[gray!50,opacity=0.3] ($(-8,11.6)+(0,-0.5)$) arc (177:148:16mm and 3.2mm)--++($(0,-13.5)+(0,1.5)$) arc (-148:-177:16mm and 3.2mm)--cycle;
\draw[gray!50,line width=1pt] (8,11.6) arc (0:35:16mm and 3.2mm)--++(0,-13.5) arc (-35:0:16mm and 3.2mm)--cycle;
\draw[gray!50,line width=1pt] (-8,11.6) arc (180:145:16mm and 3.2mm)--++(0,-13.5) arc (-145:-180:16mm and 3.2mm)--cycle;
\begin{scope}[even odd rule, overlay]
\clip (8,11.6) arc (0:35:16mm and 3.2mm)--++(0,-13.5) arc (-35:0:16mm and 3.2mm)--cycle
($(8,11.6)+(0,-0.5)$) arc (3:32:16mm and 3.2mm)--++($(0,-13.5)+(0,1.5)$) arc (-32:-3:16mm and 3.2mm)--cycle;
\fill[gray!50] (8,11.6) arc (0:35:16mm and 3.2mm)--++(0,-13.5) arc (-35:0:16mm and 3.2mm)--cycle;
\end{scope}
\begin{scope}[even odd rule, overlay]
\clip (-8,11.6) arc (180:145:16mm and 3.2mm)--++(0,-13.5) arc (-145:-180:16mm and 3.2mm)--cycle
($(-8,11.6)+(0,-0.5)$) arc (177:148:16mm and 3.2mm)--++($(0,-13.5)+(0,1.5)$) arc (-148:-177:16mm and 3.2mm)--cycle;
\fill[gray!50] (-8,11.6) arc (180:145:16mm and 3.2mm)--++(0,-13.5) arc (-145:-180:16mm and 3.2mm)--cycle;
\end{scope}
\begin{scope}[overlay]
\clip (8,11.6) arc (0:180:16mm and 3.2mm)--++(0,2.4) arc (180:0:16mm and 3.2mm)--++(0,-2.4)--cycle;
\shade[left color=white, right color=gray] (0,11)rectangle(8,17);
\shade[left color=gray, right color=white] (-8,11)rectangle(0,17);
\end{scope}
\coordinate (B) at ($(0,0)+(50:16mm and 3.2mm)$);
\coordinate (A) at ($(0,0)+(215:16mm and 3.2mm)$);
\coordinate (C) at ($(0,0)+(130:16mm and 3.2mm)$);
\coordinate (D) at ($(0,0)+(-35:16mm and 3.2mm)$);
\coordinate[yshift=23.2mm] (D1) at ($(0,0)+(35:16mm and 3.2mm)$);
\coordinate[yshift=23.2mm] (C1) at ($(0,0)+(-130:16mm and 3.2mm)$);
\coordinate[yshift=23.2mm] (B1) at ($(0,0)+(-50:16mm and 3.2mm)$);
\coordinate[yshift=23.2mm] (A1) at ($(0,0)+(-215:16mm and 3.2mm)$);
\path[name path=ab] (A)--(B);
\path[name path=cd] (C)--(D);
\path[name path=a1b1] (A1)--(B1);
\path[name path=c1d1] (C1)--(D1);
\path[name intersections={of=ab and cd,by=M}];
\path[name intersections={of=a1b1 and c1d1,by=N}];
\begin{scope}[even odd rule, overlay]
\clip (B)--(M)--(N)--(B1)--cycle ($(B)+(-.3,.6)$)--($(M)+(.3,.7)$)--($(N)+(.3,-.7)$)--($(B1)+(-.3,-.6)$)--cycle;
\fill[white] (B)--(M)--(N)--(B1)--cycle;
\end{scope}
\begin{scope}[even odd rule, overlay]
\clip (C)--(M)--(N)--(C1)--cycle ($(C)+(.3,.6)$)--($(M)+(-.3,.7)$)--($(N)+(-.3,-.7)$)--($(C1)+(.3,-.6)$)--cycle;
\fill[white] (C)--(M)--(N)--(C1)--cycle;
\end{scope}
\fill[gray!50,opacity=0.3] (C)--(M)--(N)--(C1)--cycle ($(C)+(.3,.6)$)--($(M)+(-.3,.7)$)--($(N)+(-.3,-.7)$)--($(C1)+(.3,-.6)$)--cycle;
\fill[gray!50,opacity=0.3] (B)--(M)--(N)--(B1)--cycle ($(B)+(-.3,.6)$)--($(M)+(.3,.7)$)--($(N)+(.3,-.7)$)--($(B1)+(-.3,-.6)$)--cycle;
\draw[line width=.4pt,nauden] ($(B)+(-.3,.6)$)--($(M)+(.3,.7)$)--($(N)+(.3,-.7)$)--($(B1)+(-.3,-.6)$)--cycle;
\draw[line width=.4pt,nauden] ($(C)+(.3,.6)$)--($(M)+(-.3,.7)$)--($(N)+(-.3,-.7)$)--($(C1)+(.3,-.6)$)--cycle;
\draw[line width=1.2pt,nauden] (M)--(B)--(B1)--(N) (M)--(C)--(C1)--(N);
\begin{scope}[even odd rule, overlay]
\clip (D)--(M)--(N)--(D1)--cycle ($(D)+(-.45,.8)$)--($(M)+(.3,.7)$)--($(N)+(.3,-.7)$)--($(D1)+(-.45,-.8)$)--cycle;
\fill[white] (D)--(M)--(N)--(D1)--cycle;
\end{scope}
\begin{scope}[even odd rule, overlay]
\clip (A)--(M)--(N)--(A1)--cycle ($(A)+(.45,.8)$)--($(M)+(-.3,.7)$)--($(N)+(-.3,-.7)$)--($(A1)+(.45,-.8)$)--cycle;
\fill[white] (A)--(M)--(N)--(A1)--cycle;
\end{scope}
\fill[gray!50,opacity=0.3] ($(D)+(-.45,.8)$)--($(M)+(.3,.7)$)--($(N)+(.3,-.7)$)--($(D1)+(-.45,-.8)$)--cycle;
\fill[gray!50,opacity=0.3] ($(A)+(.45,.8)$)--($(M)+(-.3,.7)$)--($(N)+(-.3,-.7)$)--($(A1)+(.45,-.8)$)--cycle;
\draw[line width=.4pt,nauden] ($(D)+(-.45,.8)$)--($(M)+(.3,.7)$)--($(N)+(.3,-.7)$)--($(D1)+(-.45,-.8)$)--cycle;
\draw[line width=.4pt,nauden] ($(A)+(.45,.8)$)--($(M)+(-.3,.7)$)--($(N)+(-.3,-.7)$)--($(A1)+(.45,-.8)$)--cycle;
\draw[line width=1.2pt,nauden] (M)--($(A)+(.2,0)$)--($(A1)+(.2,0)$)--(N)--cycle (M)--($(D)+(-.2,0)$)--($(D1)+(-.2,0)$)--(N);
\draw[line width=1pt,gray,rounded corners=1.2pt] ($(M)!.45!(N)+(-.1,-.2)$)--($(C)!.45!(C1)+(.2,-.2)$)--++(120:.05mm) ($(M)!.45!(N)+(.1,-.2)$)--($(B)!.45!(B1)+(-.2,-.2)$)--++(60:.05mm);
\draw[line width=1pt,gray!60,rounded corners=1.2pt] ($(M)!.45!(N)+(-.1,-.2)$)--($(A)!.45!(A1)+(.5,-.2)$)--++(120:.2mm) ($(M)!.45!(N)+(.1,-.2)$)--($(D)!.45!(D1)+(-.5,-.2)$)--++(60:.2mm);
\fill[gray!50] (0,12.5) ellipse (.3mm and .15 mm);
\fill[white] (0,12.5) ellipse (.15mm and .075 mm);
\fill[black!50] (-.3,14.2)--(.3,14.2)--(.4,14.6)--(-.4,14.6)--cycle ;
\fill[red!50!gray] (0,14.4) circle (.3pt);
\draw[gray!30,line width=1pt] (6.5,-1.2)--(6.5,15.5) (-6.5,-1.2)--(-6.5,15.5);
\end{tikzpicture}
\end{center}
\end{document}


