I need to make this draw using pstricks:

enter image description here

So far I managed to draw this little part

\psline[linecolor=blue](-0.5, 3)(9.5, 3)
\psdot*(4, 3)
\uput[d](4, 3){K}
\psdot*(1.2, 3)
\uput[u](1.2, 3){S}
\psdot*(9.3, 3)
\uput[d](9.3, 3){S'}
\psline[linestyle=dotted, linecolor=red](4, 5)(4, 3)
\uput[u](4, 5){P}
\uput[r](4, 4){h}

Which only produces a small part of the draw (that is the plane and few things).

The real problem is: how do I draw the three curves? It has to appear like a spherical mirror in perspective. I just need the three curves, the other things I can add!

Thank you so much!

1 Answer 1


With TikZ it is rather easy to draw such a diagram. (This is not to say that it is hard with PSTricks, I just happen to have forgotten the PSTricks syntax almost completely.)

\begin{tikzpicture}[tdplot_main_coords,line join=round,
    bullet/.style={circle,inner sep=1.5pt,fill},
    declare function={a=5;h=3;}]
 \draw (-a,-h,0) -- (a,-h,0) -- (a,h,0) -- (-a,h,0) -- cycle;
  \path (0,{cos(\pftnum)},{sin(\pftnum)});
 \draw[left color=gray!20,right color=gray,name path=outer lens]        
 \draw[inner color=white,outer color=gray!50] plot[variable=\t,domain=0:360,smooth cycle]
 \draw (-a,-h,0) -- (a,-h,0);    
 \path[name path=hori] (-a,0,0) -- (a,0,0);
 \draw[name intersections={of=outer lens and hori}] 
 (intersection-2) -- (-a,0,0) node[pos=0.7,bullet,label=below:$S$] (S){}
 (intersection-1) -- (a,0,0) node[pos=0.9,bullet,label=below:$S'$] (S'){};
 \draw[dashed] (0,-h,0) node[bullet,label=below right:$B$] (B){}
  -- (0,h,0) node[bullet,label=below right:$B'$] (B'){}
  (0,0,0) node[bullet,label=below:$K$] (K){}
  -- (0,0,h) node[bullet,label=above:$P$] (P){} node[pos=0.5,right]{$h$}; 

enter image description here

  • Oh my god! It's amazing! Thank you infinitely much!
    – Henry
    Mar 1, 2020 at 18:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .