0

我正在尝试在 R 中做一个极地旋转实体,但我在 R 3.0.2 中找不到任何工作例如,我需要围绕 x 轴做这个函数的旋转实体,然后有一个名为 parametric3d 的包,但它仅适用于笛卡尔。你有什么建议?

示例 2D。

library(plotrix)
b=seq(0,359,by=1)
c=(b)*pi/180  
a=(cos(c))^2*sin(c)
polar.plot(a,b,main="Test Polar Plot",lwd=2,line.col=4,rp.type="p")
4

2 回答 2

2

最后我用 RGL 解决了这个问题,非常感谢你的帮助。最终代码是:

#####  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")

在此处输入图像描述

于 2014-01-20T22:51:48.020 回答
0

你想用固体做什么?就画出来?或者是其他东西?

如果您只想绘制它,那么这里有一些选项:

将极坐标转换为笛卡尔坐标并使用您之前所做的包。

查看 rgl 包,用于通过 R 表示 3d 中的实体(可能需要转换为笛卡尔坐标)。

使用 gnuplot 程序而不是 R。

于 2014-01-16T15:46:51.077 回答