R语言绘制五角星

1.采用简单的连线

n <- seq(1,11,2) #R语言环境
x <- sin(0.4*n*pi)
y <- cos(0.4*n*pi)
plot(x,y,type = 'l',xlim = c(-1,1),ylim = c(-1,1),xlab="", ylab="", axes=F)

R语言绘制五角星_第1张图片

 

2. 采用长短轴的点的拼接

# 给定一些初始的值
r <- sin(0.1*pi) / cos(0.2*pi)  #五角星短轴的长度
x <- matrix()
y <- matrix()
for ( i in 1:12){
  if( i %% 2 == 1)
  { k = (i+1)/2
  x[i] <- cos((0.5 + k * 0.4) * pi)
  y[i] <- sin((0.5 + k * 0.4) * pi)
  }
  else if(i %% 2 == 0)
  {
    k = i/2
    x[i] <- (r * cos((0.7 + k * 0.4 ) *pi))
    y[i] <- (r * sin((0.7 + k * 0.4 ) *pi))
  }
}
# 注意polygon函数画图好像必须先有一个plot函数
plot(x,y,type='l', xlab = '', ylab = '', xlim =c(-1,1), ylim = c(-1,1),axes = F)

R语言绘制五角星_第2张图片

polygon(x, y, col = "red", border = "red") #为五角星填充颜色

R语言绘制五角星_第3张图片

 3. 进阶的填充分割画法

# 根据本周所学,制作一个五角星,并保存至相应路径,比如D:\5star.jpg文件中
r <- sin(0.1*pi) / cos(0.2*pi) #获得长短轴的比例
# 利用外接圆原理来画五角星
x <- matrix()
y <- matrix()
for ( i in 1:12){
  if( i %% 2 == 1)
  { 
    k = (i+1)/2
    x[i] <-  cos((0.5 + 0.4*k)*pi)
    y[i] <-  sin((0.5 + 0.4*k)*pi)
  }
  else if(i %% 2 == 0)
  { 
    k = i/2
    x[i] <-  r*cos((0.7 + 0.4*k)*pi)
    y[i] <-  r*sin((0.7 + 0.4*k)*pi)
  }
}

# 保存为png格式,因为其精度高
# jpeg() 用于保存图形,file为需要保存的地方
jpeg(file="F:/IMPORTANT/本科三年级下/R语言环境/5stars.png", width=1000, height=1000)  
getwd() #得出需要保存的地方
# 开始五角星
plot(x,y,type='l',xlab = '',ylab = '',axes = F) # points(0,0)
p <- matrix()
h <- matrix()
for ( m in 1:10){
  p[1]<-x[m]
  p[2]<-x[m+1]
  p[3]<-0
  p[4]<-x[m]
  h[1]<-y[m]
  h[2]<-y[m+1]
  h[3]<-0
  h[4]<-y[m]
  if( m %% 2 == 1)
  { polygon(p, h, col = "yellow", border = "red")}
  else if(m %% 2 == 0)
  { polygon(p, h, col = "red", border = "red")}
}
dev.off() #关闭图形设备,前后两行不可省略
# 然后在你保存的路径里面就能找到方正漂亮的五角星啦~~~

R语言绘制五角星_第4张图片

——Written in BTBU

你可能感兴趣的:(R语言基础汇编)