r语言用polygon()函数添加多边形
时间: 2023-12-16 20:06:43 浏览: 52
是的,R语言中的`polygon()`函数可以用于添加多边形。该函数需要输入多边形的顶点坐标。例如,以下代码可以绘制一个三角形:
```
x <- c(1, 3, 5)
y <- c(1, 4, 1)
plot(x, y, type="n")
polygon(x, y, col="blue")
```
其中,`x`和`y`分别是三角形的三个顶点的横坐标和纵坐标。`plot()`函数用于创建一个空的坐标系,`type="n"`表示不画点和线,只画坐标系。`polygon()`函数用于绘制多边形,`col="blue"`表示填充颜色为蓝色。
相关问题
r语言用polygon()函数添加多个多边形
R语言中的`polygon()`函数可以用于绘制多个多边形,可以通过在输入中传递多个点集来实现。以下是一个绘制两个三角形的例子:
```
x1 <- c(1, 3, 5)
y1 <- c(1, 4, 1)
x2 <- c(2, 4, 6)
y2 <- c(2, 5, 2)
plot(c(x1, x2), c(y1, y2), type="n")
polygon(x1, y1, col="blue")
polygon(x2, y2, col="red")
```
其中,`x1`和`y1`是第一个三角形的顶点坐标,`x2`和`y2`是第二个三角形的顶点坐标。`plot()`函数用于创建一个空的坐标系,`type="n"`表示不画点和线,只画坐标系。`polygon()`函数用于绘制多边形,`col="blue"`表示填充颜色为蓝色,`col="red"`表示填充颜色为红色。`c(x1, x2)`和`c(y1, y2)`用于将两个三角形的顶点坐标合并成一个点集,从而使得两个三角形可以共用一个坐标系。
用R语言写一个函数: regular_polygon(n, x, y, col, border), 能绘制出正n边形, 且多边形中心默认在原点, 通过col和border可以设置正多边形内部和边框的颜色,用polygon函数绘制多边形
### 回答1:
好的,以下是实现该函数的代码:
```
regular_polygon <- function(n, x = 0, y = 0, col = "black", border = "black") {
angles <- seq(0, 2*pi, length.out = n+1)[-1]
x_coords <- x + cos(angles)
y_coords <- y + sin(angles)
polygon(x_coords, y_coords, col = col, border = border)
}
```
这个函数接受五个参数:n表示正多边形的边数,x和y表示多边形中心的坐标,col表示多边形内部的颜色,border表示多边形边框的颜色。默认情况下,多边形中心在原点(x=0, y=0),内部和边框的颜色都是黑色。
函数的实现比较简单,首先根据正多边形的边数计算出各个顶点的坐标,然后调用R语言自带的polygon函数绘制多边形。
### 回答2:
下面是用R语言编写的函数 `regular_polygon(n, x, y, col, border)`,它可以绘制出一个正n边形。该多边形的中心默认为原点,可以通过参数col和border设置多边形的内部颜色和边框颜色,函数内部调用了`polygon`函数来绘制多边形。
```R
regular_polygon <- function(n, x, y, col, border) {
angles <- seq(0, 2 * pi, length.out = n + 1)[-1]
coordinates <- cbind(x + cos(angles), y + sin(angles))
polygon(coordinates, col = col, border = border)
}
```
函数接受以下参数:
- `n`: 一个数字,代表正n边形的边数。
- `x`和`y`: 用于确定多边形中心的坐标。
- `col`: 一个字符串,指定多边形内部的颜色。
- `border`: 一个字符串,指定多边形的边框颜色。
函数首先使用`seq`函数创建一个包含从0到2π的角度向量,并将其分成n个等分。然后使用`cos`和`sin`函数将这些角度转换为对应的多边形顶点的x和y坐标。最后,使用`polygon`函数绘制多边形,并根据参数设置内部颜色和边框颜色。
### 回答3:
下面是一个使用R语言编写的函数,名为`regular_polygon`,它可以绘制一个正n边形,其中多边形中心默认在原点。函数利用`col`参数设置正多边形的填充颜色,`border`参数设置多边形的边框颜色,并利用`polygon`函数绘制多边形。
```R
regular_polygon <- function(n, x, y, col, border) {
angle <- 2 * pi / n
# 计算多边形的顶点坐标
vertices <- matrix(0, n, 2)
for (i in 1:n) {
vertices[i,1] <- x + cos(angle * i)
vertices[i,2] <- y + sin(angle * i)
}
# 绘制多边形
polygon(vertices, col = col, border = border)
}
```
使用示例:
```R
# 绘制一个5边形,中心在原点,填充颜色为红色,边框颜色为蓝色
regular_polygon(5, 0, 0, "red", "blue")
# 绘制一个7边形,中心坐标为(1, 2),填充颜色为绿色,边框颜色为黄色
regular_polygon(7, 1, 2, "green", "yellow")
```
通过调用`regular_polygon`函数并传入相应的参数,可以绘制出具有不同边数、中心坐标以及填充颜色和边框颜色的正多边形。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)