写一个函数: regular_polygon(n, x, y, col, border), 能绘制出正n边形, 且多边形中心默认在原点, 通过col和border可以设置正多边形内部和边框的颜色,在调用画出图形
时间: 2023-06-23 14:09:44 浏览: 146
下面是使用Python的turtle库实现的代码:
```python
import turtle
def regular_polygon(n, x, y, col, border):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.fillcolor(col)
turtle.begin_fill()
for i in range(n):
turtle.forward(100)
turtle.right(360 / n)
turtle.end_fill()
turtle.pencolor(border)
for i in range(n):
turtle.forward(100)
turtle.right(360 / n)
turtle.done()
# 测试代码
regular_polygon(5, 0, 0, 'red', 'blue')
```
函数接受五个参数,分别为多边形边数n、中心点坐标x和y、内部填充颜色col、边框颜色border。
在函数内部,我们使用turtle库来绘制多边形。首先把画笔移动到中心点,然后开始填充内部颜色,接着绘制多边形的边界。
最后,我们调用turtle.done()函数来保持窗口打开状态,直到手动关闭。测试代码中,我们绘制了一个5边形,并设置了红色填充和蓝色边框。
相关问题
用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`函数并传入相应的参数,可以绘制出具有不同边数、中心坐标以及填充颜色和边框颜色的正多边形。
阅读全文