finally I'm solve this problem with RGL, thanks you a lot for your help. The final code is:
##### 2D #####
library(plotrix)
grad=seq(0,359,by=1)
rad=grad*pi/180 # degrees to radian
func=(cos(rad))^2*sin(rad)
func=abs(func) # to plot negative numbers
polar.plot(func,grad,rp.type="p",radial.lim=c(0,1),
lwd=2,line.col=4,main="Polar Plot")
##### 3D #####
### Polar to Cartesians ###
x=func*cos(rad)
y=func*sin(rad)
y=abs(y) # eliminate symmetrics ones (only y>=0)
library(rgl)
shade3d(turn3d(x, y), col = "green")