导入turtle库
```python
import turtle
```
定义绘制五角星的函数
```python
def draw_star(size):
angle = 144
for _ in range(5):
turtle.forward(size)
turtle.right(angle)
```
设置绘图环境
```python
turtle.speed(1) 设置绘制速度
turtle.penup() 抬起画笔
turtle.goto(-50, 0) 移动画笔的起始位置
turtle.pendown() 放下画笔
```
调用绘制函数
```python
draw_star(100) 绘制大小为100的五角星
```
保持绘图窗口不关闭
```python
turtle.done()
```
将以上代码放入一个Python文件中并运行,你将看到一个绘制了五角星的图形。
解释
导入turtle库:turtle库是Python中用于绘图的库,提供了丰富的绘图功能。
定义绘制五角星的函数:`draw_star`函数接受一个参数`size`,表示五角星的大小。函数内部使用一个循环来绘制五条边,每条边的长度为`size`,转角为144度。
设置绘图环境:通过`turtle.speed(1)`设置绘制速度,`turtle.penup()`和`turtle.pendown()`分别用于抬起和放下画笔,`turtle.goto(-50, 0)`设置画笔的起始位置。
调用绘制函数:在`main`函数中调用`draw_star(100)`来绘制一个大小为100的五角星。
保持绘图窗口不关闭:`turtle.done()`函数用于在绘图完成后保持窗口不关闭,以便观察绘制结果。
其他编程语言示例
Java
```java
import javax.swing.*;
import java.awt.*;
public class Star {
public static void main(String[] args) {
JFrame frame = new JFrame("Star");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.add(new StarPanel());
frame.setVisible(true);
}
}
class StarPanel extends JPanel {
public StarPanel() {
setPreferredSize(new Dimension(400, 400));
setBackground(Color.white);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.red);
int size = 100;
int x = (getWidth() - size) / 2;
int y = (getHeight() - size) / 2;
for (int i = 0; i < 5; i++) {
g2d.drawLine(x + size * Math.cos(Math.toRadians(360 / 5 * i)), y + size * Math.sin(Math.toRadians(360 / 5 * i)),
x + size * Math.cos(Math.toRadians(360 / 5 * (i + 1))), y + size * Math.sin(Math.toRadians(360 / 5 * (i + 1))));
}
}
}
```
C++