unitsize(1cm); import solids; import math; currentprojection=orthographic(0,100,25); real r=4, h=7; triple pO=(0,0,0); triple pOprime=(0,0,3); triple pS=(0,0,h); triple pA=(r,0,0); revolution rC=cone(pO,r,h,Z); rC.draw(); skeleton s; real tOprime=abs(pOprime)/h; rC.transverse(s,reltime(rC.g,tOprime)); triple pAprime=relpoint(pA--pS,tOprime); rC.longitudinal(s); draw(s.back,dashed); draw(s.front); label("$S$",pS,N); dot(Label("$O$",align=SE),pO); dot(Label("$O'$",align=SE),pOprime); dot(Label("$A$",align=W),pA); dot(Label("$A'$",align=W),pAprime); draw(pS--pO^^pO--pA^^pOprime--pAprime,dashed);