一. 空间曲线
1. 空间曲线的参数方程为 , 画出简图。
library(plot3D) #加载包“plot3D”,如果没有,先安装.
t <- seq(0, 2, length.out = 100)
x <- 2*t # 曲线的参数方程的坐标
y <- 3*t*t
z <- 4*t*t*t
scatter3D(x, y, z, col = "red" ) # 使用scatter3D函数画空间曲线
2. 空间曲线的参数方程为 , 画出简图。
library(plot3D)
t <- seq(0, 2*pi, length.out = 100)
x <- cos(t)+sin(t)*sin(t) # 曲线的参数方程的坐标
y <- sin(t)*(1-cos(t))
z <- cos(t)
scatter3D(x, y, z, col = "red" )# 使用scatter3D函数画空间曲线
二.空间曲面
1. 平面
library(plot3Drgl)
par(mai=c(1,1,0,0))
x<-seq(0,4,length=100)
y<-seq(0,2,length=100)
f<-function(x,y) 1/3*(4-x-2*y)
z<-outer(x,y,f)
persp3Drgl(z=z,ticktype = "detailed") #ticktype = "detailed"绘制正常刻度
planes3d(0,0,1,0, col = "grey") # 平面z=0,xoy坐标面
2. 马鞍面
library(plot3Drgl)
par(mai=c(0.8,0.8,0,0))
x<-seq(-4,4,length=100)
y<-seq(-3,3,length=100)
f<-function(x,y) x*x/16-y*y/9
z<-outer(x,y,f)
persp3Drgl(z=z,ticktype = "detailed")
3. 球面
library(plot3Drgl)
M = mesh(
x = seq(0, 2*pi, length.out = 100),
y = seq(0, pi, length.out = 100)
)
phi = M$x
theta = M$y
r = 2
x = r*sin(theta)*cos(phi)
y = r*sin(theta)*sin(phi)
z = r*cos(theta)
surf3D(x,y,z, colvar = z)
4. 曲面和曲面相交
例: 曲面 和 曲面 相交的立体。
library(plot3Drgl)
x<-seq(-2,2,length.out=150)
y<-seq(-2,2,length.out=150)
f1<-function(x,y) x*x+2*y*y # 椭圆抛物面
z1<-outer(x,y,f1)
f2<-function(x,y) 2-x*x # 抛物柱面
z2<-outer(x,y,f2)
persp3Drgl(z=z1,col="orange") # 绘制橘色的曲面
persp3Drgl(z=z2,add=T,col="blue") # 绘制蓝色的抛物柱面
planes3d(0,0,1,0, col = "grey") # 绘制xoy坐标面