R语言图形上下翻转:修改代码实现五角星翻转
R语言图形上下翻转:修改代码实现五角星翻转
本文将介绍如何使用R语言修改代码,将一个五角星图形上下翻转。
原代码
r = 2.568
x <- matrix()
y <- matrix()
for ( i in 1:10){
if( i %% 2 == 1)
{
k = (i+1)/2
x[i] <- cos((0.5 + k * 2/5) * pi)
y[i] <- sin((0.5 + k * 2/5) * pi)
}
else if(i %% 2 == 0)
{
k = i/2
x[i] <- (r * cos((0.7 + k * 2/5 ) *pi))
y[i] <- (r * sin((0.7 + k * 2/5 ) *pi))
}
}
# x <- (x * 6) + 9 # 将x的范围由[-1,1]变为[2.2,15]
# y <- (y * 6) + 9 # 将y的范围由[-1,1]变为[2.2,15]
# par(bg = "blue")
plot(x, y, xlab = '', ylab = '',
# xlim = c(0, 15),
# ylim = c(0, 15),
axes = T, type = "o")
polygon(x, y, col = "transparent", border = "black", lwd = 1.5) #为五角星填充颜色
text(x, y, labels= c("C", "B", "A", "J", "I", "H", "G", "F", "E", "D"), pos = 1)
修改后的代码
要实现图形的上下翻转,只需要将y坐标取反即可。修改后的代码如下:
r = 2.568
x <- matrix()
y <- matrix()
for ( i in 1:10){
if( i %% 2 == 1)
{
k = (i+1)/2
x[i] <- cos((0.5 + k * 2/5) * pi)
y[i] <- -sin((0.5 + k * 2/5) * pi) # 修改处
}
else if(i %% 2 == 0)
{
k = i/2
x[i] <- (r * cos((0.7 + k * 2/5 ) *pi))
y[i] <- -(r * sin((0.7 + k * 2/5 ) *pi)) # 修改处
}
}
# x <- (x * 6) + 9 # 将x的范围由[-1,1]变为[2.2,15]
# y <- (y * 6) + 9 # 将y的范围由[-1,1]变为[2.2,15]
# par(bg = "blue")
plot(x, y, xlab = '', ylab = '',
# xlim = c(0, 15),
# ylim = c(0, 15),
axes = T, type = "o")
polygon(x, y, col = "transparent", border = "black", lwd = 1.5) #为五角星填充颜色
text(x, y, labels= c("C", "B", "A", "J", "I", "H", "G", "F", "E", "D"), pos = 1)
修改位置
修改位置在第12行和第18行,将计算y坐标的代码中的正号改为负号即可。
总结
通过对代码的简单修改,我们成功实现了五角星图形的上下翻转。希望本文能帮助您更好地理解R语言图形操作的相关知识。
原文地址: https://www.cveoy.top/t/topic/lQfU 著作权归作者所有。请勿转载和采集!