编程怎么画实心五角星

时间:2025-01-28 17:39:35 网络游戏

在不同的编程语言中,绘制实心五角星的方法有所不同。以下是几种常见编程语言中绘制实心五角星的示例代码:

C语言

在C语言中,可以使用图形库如`Graphics.h`或绘图API如OpenGL、SDL等来绘制实心五角星。以下是一个使用`Graphics.h`库的示例代码:

```c

include

int main() {

int gd = DETECT, gm;

initgraph(&gd, &gm, "");

setfillcolor(RED);

solidrectangle(50, 50, 200, 150); // 画一个大的红色矩形作为五角星的背景

setfillcolor(WHITE);

setcolor(RED);

for (int i = 0; i < 5; i++) {

line(100 + 100 * cos(i * 2 * M_PI / 5), 100 + 100 * sin(i * 2 * M_PI / 5),

100 + 100 * cos((i + 1) * 2 * M_PI / 5), 100 + 100 * sin((i + 1) * 2 * M_PI / 5));

}

getch();

closegraph();

return 0;

}

```

Python

在Python中,可以使用`turtle`库来绘制实心五角星。以下是一个示例代码:

```python

import turtle

def draw_star(x0, y0, r):

turtle.penup()

turtle.goto(x0, y0 - r)

turtle.pendown()

for i in range(5):

turtle.goto(x0 + r * turtle.cos(2 * i * turtle.pi / 5), y0 - r * turtle.sin(2 * i * turtle.pi / 5))

turtle.speed(1)

draw_star(0, 0, 100)

turtle.done()

```

Java

在Java中,可以使用`Swing`库中的`JPanel`和`Graphics`类来绘制实心五角星。以下是一个示例代码:

```java

import javax.swing.*;

import java.awt.*;

public class StarPanel extends JPanel {

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.setColor(Color.RED);

g.fillOval(50, 50, 200, 150); // 画一个大的红色矩形作为五角星的背景

g.setColor(Color.WHITE);

g.setColor(Color.RED);

for (int i = 0; i < 5; i++) {

int x = (int) (100 + 100 * Math.cos(i * 2 * Math.PI / 5));

int y = (int) (100 + 100 * Math.sin(i * 2 * Math.PI / 5));

int nextX = (int) (100 + 100 * Math.cos((i + 1) * 2 * Math.PI / 5));

int nextY = (int) (100 + 100 * Math.sin((i + 1) * 2 * Math.PI / 5));

g.drawLine(x, y, nextX, nextY);

}

}

public static void main(String[] args) {

JFrame frame = new JFrame("Star");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.add(new StarPanel());

frame.setSize(300, 200);

frame.setVisible(true);

}

}

```

Scratch

在Scratch中,可以通过绘制多个小五角星并逐渐缩小它们的边长来填充内部,从而实现实心五角星的绘制。以下是一个示例代码: